DNN DEPLOYMENT... PLEASE ADDRESS THIS FOR US
Last Post 09/13/2007 7:03 AM by Joseph Craig. 14 Replies.
Author Messages
Raymond Collins
Nuker
Nuker
Posts:13


--
09/06/2007 1:32 PM


    Im new to DNN.  Ive been looking at and planning my DNN project for a while, but Ive sort of run into a wall before I even begin.

    After reading books and bbs postings for weeks, I see wonderful discussion about everything except one: real world deployment.

    PLEASE CREATE A TUTORIAL OR SERIES ON METHODS TO HANDLE DEVELOPMENT/DEPLOYMENT OF A SITE THAT IS ONLINE!
     
    Ive already been treated like a wierdo by a couple of hosts for trying to setup a traditional "development" environment on my PC and just upload the files.  Clearly, in the DNN world that is for people with very serious levels of experience beyond what would be needed for such a setup in straight HTML, or even ASP.Net (which I already use a lot).

    Im used to the idea of developing in one environment and then uploading versions to production when they are ready.

    If you think the whole world is crazy, then usually you are the one who is crazy. And since everyone is happily deploying DNN somehow, I will accept that Im the one who is probably wrong... but to me DNN seems like it must be very very difficult to deploy and update.

    For the life of me, I cant figure out how anyone produces a production site in DNN.  It seems like you iether work live in your production environment, or you are privy to some secret formula that nobody discusses.  I did find a reference to some discussion of this on dotnetnuke.com, but the link was broken. 

    How on earth do people deploy DNN in the real world, how do you start with a simple site and then keep working on it and expanding it, while people are using it, and storing their preferences and data in your database...... The data and the design are in the same database???

    Im afraid to  put anything online, because once I do, assuming I actually have traffic... how will I ever upgrade it ?????    Do  you use portal templates? How does that affect data someone has in the DB? What if you are using some 3rd party thing like a gallery module that has both DB changes and hard files... what if you are using something with lots of complex db stuff like Xmod... what happens when you just want to add a new page, not a whole module... what do people do?

    Joseph Craig
    DNN MVP
    Posts:11667


    --
    09/06/2007 7:37 PM
    You raise and important issue, and I think that it's one on which there will be multiple preferences.

    Lee's Issue 24 shows a way that pages developed on a development site can be moved to a production site, but with some issues.

    If you site has use generated content, forums, blogs, etc. it's hard to have a dev site and a production site.

    I prefer to prototype in a development environment, and then move the results to the production site. Still, the easiest way to do this involves bringing up hidden pages, getting them right, and then turning them live.

    As for upgrading, there will be periods when you'll need to take down the site to do an upgrade. If you do this rarely, test ahead of time, etc, you can minimize the downtime.

    I'd love to hear how others do it.

    Joe Craig, Patapsco Research Group
    Complete DNN Support
    Lee Sykes
    DNN Creative Staff
    Nuke Master VI
    Nuke Master VI
    Posts:4945


    --
    09/07/2007 2:28 AM
    This is a really good question, I use a mixture of keeping a local host working copy of my live site on my computer, the steps for this outlined here:
    Issue no 22

     and updating the content live on the site (keeping pages only accessible to admins while creating the pages).

    If I need to do an upgrade, I run this through first on my localhost installation. - You then have two options: to run the upgrade process on a live website exactly as you did it for the local website, or to transfer your local host upgraded site to your live site.

    I am going to be looking at using the red gate software which synchronises a live database and a local database which could make life a lot easier, but it maybe quite complex to setup, I haven't had a chance to look at it yet.

    Issue 22 may offer you a solution for getting started with deployment, thanks,
    Lee Sykes
    Site Administrator
    Subscribe to the website : DotNetNuke Video Tutorials : The Skinning Toolkit : DotNetNuke Podcasts

    Twitter: www.twitter.com/DNNCreative

    Lee Sykes's Facebook Profile
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    09/07/2007 12:21 PM
    By coincidence, Mitchel Sellers addresses this issue in his most recent blog entry.

    Joe Craig, Patapsco Research Group
    Complete DNN Support
    Raymond Collins
    Nuker
    Nuker
    Posts:13


    --
    09/07/2007 3:01 PM
    RE: LeeSykes,

    Thanks for your post.

    I assume you mean SQL toolkit from red-gate.com. Thats $600! ouch!... Of course its a bit cheaper in the Queen's currency with the Dollar in the doldrums .

    Ive been trying to think of the upgrade scenarios in more detail, since we started this. Forgetting the complex set of DNN tables for the moment, and just concentrating on tables in a module or something I might have made myself, do you know of any way to update an SQL database if the only thing you really need to update are the stored procedures? Is there some kind of way to do that... without buying and setting up a $600 product? I took the advice of the instructor in a class I took (to prepare for this), and Ive set up much of my code using SQL stored procedures. Now, it suddently appears to me, that just to change a line of code, Ive got to update my database! How will I do I do that, if the live DB already has user data in it????

    RE: JnCraig:

    Yes, Michael Sellers post did address this sort of issue, but the problem with his post, is that its a bit above my level at this time. He is specifically talking about how to upgrade modules that you have created and deploy them to a live site that already has users, possibly with data in those modules.

    I have a task on my calendar to look into his suggestions, but its really down the road. In particular he seems to talk about creating a separate SQL data provider for each SQL stored procedure in the newly deployed database... thats way over my head...Im not even sure how to create one SQL data provider, much less many, and I thought that if you were creating a module for DNN 4 and above and using SQL server, you didnt even need to bother with creating one.
    Raymond Collins
    Nuker
    Nuker
    Posts:13


    --
    09/07/2007 8:13 PM
    LeeSykes,

    Mitchel Sellers pointed me to the following program for SQL synchronization:

    http://www.adeptsql.com/

    Its about 1/3 the price of the one you are currently looking at.

    I dont know enough to know how much better one is than the other, but I thought you might be interested.

    Ray
    Lee Sykes
    DNN Creative Staff
    Nuke Master VI
    Nuke Master VI
    Posts:4945


    --
    09/10/2007 5:42 AM
    Hello,

    Thanks for the info, if you experiment with this program let us know how you get on,

    Lee Sykes
    Site Administrator
    Subscribe to the website : DotNetNuke Video Tutorials : The Skinning Toolkit : DotNetNuke Podcasts

    Twitter: www.twitter.com/DNNCreative

    Lee Sykes's Facebook Profile
    larryreader
    Nuke Newbie
    Nuke Newbie
    Posts:8


    --
    09/11/2007 7:08 PM
    Good to see I am not alone -I suppose- in struggling with setting up a development environment. I would like to launch my new dnn site, (due sept 1) but not without a local development environment. Issue 22 is helpful but there are lots of complications out there. I guessing this problem turns many away from adopting DNN. Perhaps it should have it's own Forum topic ?
    My status
    PowerDNN's site backup seems broken, waiting on a tech ticket as I messed up the last backup (repository) they created for me and my localhost and http alias is now on a different version name (trying again from the start) Looking at other hosts, watching issue 22 repeatedly. In a fog of Under Construction, URL Alias SQL logins denied and web config files. Sorry for complaining, I'll try to post something usefull when I find it. Wanted to get in on this thread.
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    09/11/2007 9:08 PM
    I think that the minimum requirements for a good host include (a) ability to ftp directly to your DNN directory, (2) ability to backup and restore your database, and (3) ability to use something like SQL Server Management Studio to look at your database.

    I'm less concerned with development/test/staging/live sites, but I do appreciate that people like/want them. I'm happy with the ability to move entire sites from one site to another.

    I agree that for sites with user contributed content that things become harder ... as is the case with one of the sites that I have responsibility for managing.

    Joe Craig, Patapsco Research Group
    Complete DNN Support
    larryreader
    Nuke Newbie
    Nuke Newbie
    Posts:8


    --
    09/11/2007 9:33 PM
    You said "I'm happy with the ability to move entire sites from one site to another." hmmm processing ... ... ... ... ...
    You mean make a backup/working site/portal at the web host ? That sounds interesting. Mostly I'm concerned with trashing my production site with the new x module, particularly if I wrote it If I could restore from somewhere, anywhere, are you suggesting a mirror portal at my host ? Any further reference for such a strategy
    Thanks
    Lee Sykes
    DNN Creative Staff
    Nuke Master VI
    Nuke Master VI
    Posts:4945


    --
    09/12/2007 2:58 AM
    This is a good discussion. Re:mirror portal - I transferred the www.skinningtoolkit.com from a hosting provider to power DNN and I was able to have the current site running while transferring all data to Power DNN. Power DNN gave me some details on how to access the version stored on their site, so I browsed through the site checked everything was running ok and then switched the DNS settings on the domain name to PowerDNN.

    So, I'm sure it is possible to have a mirror which you can switch in if something goes wrong, but you will probably need to speak direct with your hosting provider to see if they can set it up for you.

    If approaching this I would probably take a copy of all files of the original site, set up the copy version so that the portal alias now has reference to an ip address rather than the original URL and then if need to you can switch across to that version by changing the ip address to the url and removing the old version. - Again though you would need to contact your hosting provider to see what they can provide and you would somehow need to ensure the copy version was kept up to date.

    Personally I have managed to get along with just running tests on a localhost version and then applying it to the live site. - Problems can be however in that when you restore you need to send a support ticket  to your hosting provider to reset permissions and this can result in downtime or potential lost data switching from one version to the next. - www.resellerchoice.com are the hosting providers I used in the transfer tutorials.

    SO - let's try to work through a method that is the ideal and I will see if I can work out the details / put a tutorial together. - I really am leaning to a method using something like the red gate software but I haven't used it yet, I've just read around that people have used it. - It seems ideal in that the hosting provider is taken out of the loop and you can control easily syncing a local and live DNN installation together. Does the cost put you all off? I guess it depends whether you are running multiple sites for clients or just your own single projects. - If you are potentially interested in Red Gate I will take the plunge and see if I can work it out.

    In an ideal world how would you like DNN deployment / management to work?

    Cheers,
    Lee Sykes
    Site Administrator
    Subscribe to the website : DotNetNuke Video Tutorials : The Skinning Toolkit : DotNetNuke Podcasts

    Twitter: www.twitter.com/DNNCreative

    Lee Sykes's Facebook Profile
    Raymond Collins
    Nuker
    Nuker
    Posts:13


    --
    09/12/2007 4:23 PM
    In an ideal world, there would be some kind of software like Redgate that doesnt cost $700.

    There is a blog entry on the dnn site that talks about deployment at length. In the end, he says he uses Red Gate as well. Here is the link:
    (http://www.dotnetnuke.com/Products/...ault.aspx)


    SQL compare = $396
    SQL Data compare = $295

    but allowed you to update from a local site with confidence.

    $700 is a lot for a guy like me who is just starting out at the hobby level, hoping to maybe make a profit one day in a couple years if lucky. For all I know, Ill never have even one user.

    From a tutorial point of view, I guess it is really about the audience. For any on-going business that is making a profit with DNN, the benefits of something that allows you to easily develop and deploy in a traditional manner would be well worth the money. But for the hobbyists, and those who are just starting out... it is sort of an irresponsible investment.

    In fact, something else to look into might be automation software. The best free one is (I think AutoIT), the best one for pay ($100) is probably WinBatch. Add that to a migration software that works, and you could create a one button deployment strategy. Then you could happily work in development and upload with the ease of Visual Studio's publish button....

    hey, you asked what the perfect world would be

    I will try the $70 alternative to redgate ( http://dbconvert.com/convert-access-to-mssql-sync.php ), when the time comes that I am ready ... until then, Im going to go with editing in place.

    Does anyone know anywhere that rates synchronization software? I cant seem to find anywhere that has any evaluations of them.
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    09/12/2007 7:56 PM
    I have a "beta" site that is periodically updated to mimic the live site.  Any changes, modules, etc. are first loaded to the beta site.  Then, it's duplicated on the production site.

    There is also an alpha site for really messing around.

    Joe Craig, Patapsco Research Group
    Complete DNN Support
    larryreader
    Nuke Newbie
    Nuke Newbie
    Posts:8


    --
    09/12/2007 8:47 PM
    So Joe
    Regarding your beta and alpha sites are they copies on hosts or local ? Also are they "periodically updated" manually or via one of the synch software packages mentioned ?
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    09/13/2007 7:03 AM
    By periodic updating, I mean that I make backups of the site's web directory and the database and move them to the beta site. Basically, I do what Lee outlines in the live to localhost and vice versa tutorials. I don't do the localhost (beta) to live migration because the live site has user-contributed content - mostly forums - so that won't work.

    Also, before making major changes to the live site, I do a complete backup so that I can restore is something fails. But, having tested on the beta site, this isn't a real issue.

    For some things, I may also start to use the page template method, especially for pages that can be completely migrated that way.

    Joe Craig, Patapsco Research Group
    Complete DNN Support


    ---