Web-app deployment and multiple versions [closed] - database

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed last month.
Improve this question
I'm curious to know how other developers deal with versioning of web-apps and deploying different versions. The fundamental problem is that someone might be using your web-app when you deploy a new version, at which point the Javascript etc they have not he client-side is out of date.
Versioning the media on the client-side is easy enough, but if you version that you also need to version your business logic and the database, which is where things could get messy...
So I see a couple of ways of dealing with this:
Display a "Upgrading" notice on the site when deploying a new version.
Version tag client-side and reject any submissions to the new version from old client-side sources. Fair enough, but it doesn't really go hand in hand with continuous deployment.
Continuous DB migration - running multiple version of the app at the same time (migrating users to the new version when possible). This would need any updates on the old DB schema to be "forward ported" to the new schema. Seems the most attractive for deployment, but also could be horribly complex.
Somewhere in the middle of all three.
I should note that I know worrying about this kind of thing is beyond the needs of most apps, but I was thinking about it and I'm curious to know how others deal with it.

This is really an amazing question.
Most important and effective tool is Git that is currently used for versioning tool though there are many tools but I found git the most efficient as it tracks the working of every employee.We can also took suggestions from public contributors for testing purpose. We can make different branches from main that help us to keep our code present in all versions with or without new features. And auto deployment is not a positive step you should test that several times and use different test cases for that.

There are plenty of tools available for your exact requirements. Like Phing, and Phingistrano. Git also makes it simple but that wont display offline notice and DB deployment . I recommend dont go for auto deployment on live server, use auto deployment on staging and manual deployment on live. Also look for continuous integration on google and try teamcity

Related

Static Comments System for Jekyll [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
My blog currently runs Jekyll and the Minimal Mistakes theme, and uses the theme's built in functionality to add the Disqus comments system.
This JavaScript-based commenting system, to me sort of defeats the purpose of having a static blog in Jekyll, considering:
Its JavaScript creates a decisively non-static page.
Comments are not stored with the website.
Comments are stored in some database instead of flat-text files.
My question is, therefore: What is a suitable system for comments that stays as close to the Jekyll philosophy as possible (an ideally runs on gh-pages)?
I found several possible candidates:
Isso is a comments system which is looks similar to Disqus, it works with a SQLite database
Jekyll::StaticComments seems pretty suitable, but it means you have to manually add the comments from emails.
Are there any other options? If so, what would work with gh-pages, and what would work on a self-hosted Jekyll blog?
Here's another solution which is dynamic and uses JavaScript, but doesn't store the comments at a 3rd party provider:
This guy made a static website with Jekyll, but uses GitHub's issue tracker to create his comments.
He uses GitHub Pages to host his blog, and for each new post, he creates a new issue in his blog's repository.
Then, he uses JavaScript to get the issue's comments from the GitHub API and show it on the page.
Here's a blog post which explains how to set this up:
GitHub hosted comments for GitHub hosted blogs
Whether a javascript loaded, externally hosted comment system "defeats the purpose" of a static site is a matter of opinion.
For me, the point is to be able to host the site as entirely static resources, to take advantage of caching, CDN, distributed hosting, etc. I have seen huge advantages to that, and externally hosting my comments doesn't conflict at all.
That being said, it's an interesting question.
Isso (like Disqus) uses JS on the client side and requires server side software (Python based) that you have to manage, so it doesn't seem like this is any closer to your ideal.
Jekyll::StaticComments is in the right direction, but it's not supported on gh-pages if you have GitHub processing your Jekyll site (you can of course generate the static site yourself and then host it on GitHub Pages).
You also need a way for users to submit comments, and then to get those comments into a file that can be used by the generation process (not necessarily via email as you thought though).
So you need to take comments from somewhere, possibly email, possibly yet another third party hosted app (SimpleForm maybe).
And then you need to manually put them into the YAML site, regenerate, then publish, or, you can set up an automated build process for your site, which can pull the user submitted content when available and build and publish automatically.
Other than manually accepting comments through an off-site medium, you're going to deal with something dynamic somewhere.

Creating custom order system [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
The question i have is many fold.
So I work IT for this company. It’s a small company. Very small. They have an ancient ordering system that uses MSACCESS and was built in Visual Basic. I’ve been tasked with developing a new ordering system that processes orders as well as take in orders online.
I’ve created an order form in Excel with all the proper calculations that need to be made as sort of a foundation. I’ve found a service called SpreadsheetConverter that converts it to HTML or if I’d like Node.JS. But to be completely honest I have no idea what to do with Node.JS. I have some knowledge of VB and i’m (sort of) starting to understand databases.
My question is where would the best place to start if I wanted to build an application that can take in orders, store/retrieve customer data (autofill?), store order information into a database so i can retrieve them. The order system has to customly tailored to this company, they make Doors, so the calculations deal a lot with sizes and styles.
I have all the calculations i need. Basically where should i start if I want to build a UI, write simple code, and have it interact with a database. I’ve checked out Xojo, I have a Mac so i cant use Visual Basic. Where should i look to start a database?
Or is it possible to connect the Node.JS that spreadsheetconverter creates and connect it to something like Firebase?
I’m sorry if this all seems confusing, I basically don’t know where to start and a push in the right direction is all i need so i can narrow my focus.
Xojo might indeed be a good start for this.
Xojo includes access to a sqlite database, and you can add new records rather easily. You do need to know how to design and query an SQL db, though.
The biggest question is probably how to implement the user interface. This will be the biggest task. With Xojo, you can design it fairly easily, using its window layout editor.
Then you can either develop a monolithic desktop app, i.a. a Mac or Windows app that runs and maintains its database all on the same, single, computer. Or, if you want to allow multiple users access the database from different computers, consider writing a Web application in Xojo, which will be used through a web browser then. Most code will be the same, but testing will be a bit more complex and slower for a Web app, probably.
You would have to re-implement all your calculations in Xojo, though, as Xojo has no way to use or import Excel sheets this way.
Also, have a look at FileMaker. I have never used it but it may fit your needs.

Sitecore more for corporate users? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
First, I've looked at every other stack site and I can't seem to find an very appropriate place to ask this. It's a pretty general questions, but basically, I'm wondering if Sitecore is targeted mainly at corporate users?
I've done a bit with Drupal and because it's open source of course you can install it on any shared host (at least LAMP but I guess Windows as well). I can't seem to find a lot of sites that advertize hosting for Sitecore other than the limited number on the SiteCore hosting site.
The only ones I see prices for tend to be WAY more than what you get from a shared host. IE, $100+ per month vs. ~$10-20 for your typical LAMP Shared host.
I'm about to get some Sitecore work at my company, and wondering if I'm going to be able to do any playing on my own with Sitecore outside of work, but it seems this is something you don't play with unless you have an actual license and host, unless there's some test environment one can set up on your local box, or is this not feasible?
As you can see, these are fairly basic questions, but I could not find good immediate answers to them while searching, so any good basic primer or info would be great!
Sitecore is an enterprise level web content management system (or Customer Engagement Platform as they call it).
The license fees vary per country and setup, but start at around $20k.
If you want to play with Sitecore as a developer, you can ask them for the Sitecore Xpress edition.
It's a free, limited release for developers.
You need to contact Sitecore and they will give it to you.
For non-commercial use you can use Sitecore Express. You'll have to contact Sitecore to get this.
This is a scaled back version though.
From their site:
Xpress is a version of Sitecore’s CMS that has been seriously scaled
back, but is ideal for developers wanting a no cost version and are OK
with the restrictions. While the enterprise scalability and
performance power has been pulled out, as well as the business
user/marketing capabilities, the developer flexibility remains.
I don't know about the cost of hosting it.
As the others have mentioned, there are ways to get the software without a license, but traditionally developers work with this with a license.
At that point, you do not need to worry about hosting, as long as you can run a .NET web application on your machine. Sitecore runs in IIS with SQL Server or Oracle databases. This allows you to do all your development and playing around on your local machine without needing to have it hosted.
In my experience, your best bet for short term hosting of Sitecore is a service like Amazon EC2. A service like this gives to access to remote server space where you can install Sitecore and all the extras you may need.
This sounds like a good fit in your case since you can start and stop the service whenever you need. This will allow you to play around with Sitecore without a large upfront investment. Also, you can always start up a new server instance whenever you need an outward facing site to show clients.

NuGet feed hosting options including MyGet [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have been investigating options for NuGet feed hosts.
Currently, we use TeamCity to build/publish packages to TC's built-in server. For a Visual Studio package-source pointed to TC, we've found that the subscription/update process to be painfully slow -- even though our developer workstations are within the same local subnet and we have only a few dozen packages.
Other package-feed options I know about :
nw share
internal web-server(s) based on NuGet.Server
MyGet
ProGet
Does anyone have enterprise-level experience with any of these solutions ?
MyGet looks very promising, but one cause for concern is that ( at least according to their website ) only around 1500 feeds are active. If MyGet had truly caught on, it would seem that this should be 150,000 or so.
Also: is there anything in the NuGet world similar to Maven's concept of a local-only "snapshot" package engine and feed server ?
Thanks.
As one of the founders of MyGet let me take this question :-) We indeed have around 1.500 feeds hosted on our public website, we also have some enterprise users who have their own domains and are not listed here. Feel free to contact us if you require more info or want to be in touch with one of them. We're also open for just a chat so feel free.
In the Gallery (http://www.myget.org/gallery) we have famous projects like SignalR, RavenDB, Glimpse and the ASP.NET team is pushing their nightlies as well.
In the field, we see a lot of "self hosted" solutions based on NuGet.Server but these are typically smaller installations. Just as with network shares, it lacks a bit in performance when too many packages are in that feed.
Speaking to performance, our newest 2.0 release of ProGet underwent some performance enhancements, mainly caching of LDAP credentials and the fact that package data is now cached in the database, so adding packages doesn't have to rebuild the full index of packages (where previously if combined with something like 1000s of packages stored by RedGate's Deployment Manager, it would have slowed things a bit).
I'd like to add two products to the list.
Sonatype's Nexus pro - If you are running a mixed Java/.NET shop it might be a good
alternative. http://www.sonatype.com/nexus/features. I'm not sure here but since Nexus is a maven tool from beginning it would be plausible that it has some kind of snapshot support for nuget feeds as well, however not local.
Teamcity - it has built in support for nuget that integrates and works well with teamcity but it (version 7.1.4) does not support all native nuget operations like managing packages from outside teamcity and there is no easy way to proxy other feeds nor support for multiple feeds. http://jetbrains.com/teamcity

How do database driven blog-style websites work? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Before I start: I know this is a very broad question, but it is the best way I could phrase it, I have searched around a lot and can only seem to find generic explanations. I searched SO and didn't find much. I have also skimmed through some pages in the wordpress codex, and didn't find anything really useful.
I would like to create a simple database driven blog-style website, it will really only consist of stories (their title, date, content, etc), I just began teaching myself web development and my idea of how database driven websites work has proven to be completely wrong. I figured you would always need a file connecting to the database for each article, but the more I read I learn about mark up being generated on request, and so on, so the actual /year/month/day/article doesn't actually have to exist on the server, or that may be wrong, that is why I am here.
As I said I cannot find much on this topic that isn't a generic graphic of a server interacting with a web page. How does one go about creating a database driven website of this style? Are the files/directories not actually on the server but only created on a case by case basis as someone requests it? If so, then why can you type out a complete url and it be there with out throwing a 404? I have a lot of questions, really all I need is a strong explanation of how these sites work, code examples, and so on. Could someone explain how they work or point me to information (recommended articles, examples or books)?
EDIT: Please don't recommend a framework, I want to understand how these sites work and build one myself.
It's actually quite simple. Wordpress's index page calls wp-blog-header.php. That file calls for other files, and those files call for other files. It goes on for some time until all the contents of the page are actually loaded.
The databases come in when you start thinking about having users. Obviously the user information is stored in the database. Beyond that, Wordpress keeps post titles, dates, and other information in the database for easy loading later on.
Comments are also stored in the database. Each comment is associated with a number, and in the database, just like the posts, the dates/times as well as the usernames associated with the comments are kept.
Further exploration in the actual Wordpress files will reveal a lot of interesting features.
You might want to check out Django. It is an open source Python web framework that provides a lot of the functionality you are talking about. It also has a lot of very good high-level documentation with even a free e-book. It is centered a bit more on newspaper type sites than blogging, but most of the same principles apply. If you are new to python and like to use IDEs I would recommend checking out PyCharm. It has tight Django integration and makes for simple project setup and debugging.
Generally speaking, you'll use a framework that will take input parameters (year/month/day/article), run some code to fetch data from the database, and dynamically create the webpage. There isn't an actual .html file sitting on the webserver. One of the most popular frameworks to do websites like you're describing is Ruby on Rails, which makes it incredibly simple to do.

Resources