Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeGetting StartedGetting StartedInstalling DNN ...Installing DNN ...DNN development environmentDNN development environment
Previous
 
Next
New Post
2/10/2009 10:08 PM
 

Hi,

I've successfully installed DNN.  Here is my setup: VS2005 Professional with source code and SQL 2005 Enterprise. The production server has IIS6, NET framework 2 and AJAX.  SQL server is a remote instance.

Here is my problem.  On my desktop machine, I have IIS 5 and DNN installed as a solution in VS2005.  The DNN instance on my desktop talks to a dev database on the production server.  The production DNN website talks to a production database different than that of the dev database. 

Typically, a module or skin will be developed and tested on the desktop environment, then deployed to the production web server.  This involves registering these modules to the dev database. However, at the time of testing, they are not registered to the production database.  Once pass testing, they are deployed to the production server, then the developer will need to go through the whole process of registering them with the production server. 

The other side of the problem would be the editors of the production web site.  Their change will not be reflected in the dev database, therefore, the developers won't see these content changes. 

I can't have both groups of users connecting to the same database because that will be risky in that not fully tested modules might become available to users. 

The source of the problem is a disconnected state between the dev and production database.

Any suggestions will be greatly appreciated.

Best,

Kevin

 
New Post
2/11/2009 8:08 AM
 

 Hey Temp,

I don't know how you're using DotNetNuke so this configuration may not work for you, however, here's how we handle things:

When working with DotNetNuke, many times people essentially set up a development (code-writing) environment then they have a "testing" environment and then a production environment.  However, what I've seen many people do is that each environment really just started out as a fresh install and what makes it "development", "test", or "production" isn't the content that is in the install, it is how it is used.

With us, we treat the website as an actual software development process.  Except under rare circumstances, no live changes are ever made to our production website.  Let's say that we have a website called "PowerDNN.com" and our internal version number for the website is "7.3.1"  Please note that this is not the version of DotNetNuke that the site is running, this is just a number that we attach to our website so that our developers, project managers, and graphics artists have a roadmap.

When it comes time to start working on PowerDNN.com release 7.3.2, we take an exact copy of the production website and "Clone" it into a website named "development.PowerDNN.com".  We then start making all of our content changes, graphics changes, structure changes, etc.  If at any time we need to install a new module, we first install the new module into "playground.PowerDNN.com" and test it out to make sure it installs nicely, uninstalls nicely, and does what it is supposed to.  If it does, then we install it into Development.PowerDNN.com .

Once we have the development website where we want it, we take a complete backup of the website (website and DB) and then restore it over the production website.  This brings all of our changes live, in batch.

Essentially, If teh production website is Version X, then our development version is always Version X + 1.  If someone ever happened to see our development website, in the worst case scenerio, they're going to see content that that isn't ready to be released yet, for example, announcing a new version of DotNetNuke is available, etc.

I hope this helps.

 
New Post
2/11/2009 9:52 AM
 

Hi Tony,

Thank you very much for your reply. 

Your setup is very good in that it simplies a lot of the problems that might have been caused by the discrepancy between the production and development. Your version control is also a very good practice.

We are still new in our use of DNN.  My concern is, as a content management system, the power of DNN is to give it to the editors/users who can then regularly go in the site and update the content of pages.  When they do it, then the pages content will be written into the database causing disparity between production db and development db.  The pain will be these content will be changing constantly and sync-ing the two dbs will be a lot of overhead.  Furthermore, the editors will work within the framework of the DNN site.  For instance, they won't have access to a not fully tested module.  So developers/coders will have to be separated from the production site and db.  Thus, unless I can sync the dbs with ease, there will always be differences between them.

But I guess there is no easy way out in this regard.  I still very much like your practice and it gives me a lot of good ideas. Instead of syc-ing all the time, I can sync on a regular basis, less frequently, for the developers so they can have a good taste on how the production site looks like. I will look into ways of mirroring the database, if it is not too much stress on the database server.

Thanks again for your advice,

Kevin

 
New Post
2/11/2009 10:00 AM
 

Tony,

Regarding your comment below, I have a question: you seem to say the developers/graphic artists work in the development.com and test everything out.  When done, you clone the code and db over to production.com.  Would that mean, however, you will step on to the content changes that happened between the testing and deployment, that are made by the page editors? My understanding of DNN is, its db keeps track of two things: one is content, the other one is "framework", things such as module registration, skins etc.  The frame work is taken care of by developers, the content is done by editors/users.  So clonging between dev db and production db will result in you losing either one of them. Unless, you tell your content editors not to update the pages unless you are ready to roll the new framework out, or vice versa.

Tony Valenti wrote
...

new module, we first install the new module into "playground.PowerDNN.com" and test it out to make sure it installs nicely, uninstalls nicely, and does what it is supposed to.  If it does, then we install it into Development.PowerDNN.com .

Once we have the development website where we want it, we take a complete backup of the website (website and DB) and then restore it over the production website.  This brings all of our changes live, in batch.

Essentially, If teh production website is Version X, then our development version is always Version X + 1.  If someone ever happened to see our development website, in the worst case scenerio, they're going to see content that that isn't ready to be released yet, for example, announcing a new version of DotNetNuke is available, etc.

...

 
New Post
2/11/2009 10:07 PM
 

 Hey Temp,

When we make content changes, we make all of the content changes in the development site.  The live site is _NEVER_ changed unless we have an "emergency" content update that has to be made (for example, a new version of DotNetNuke comes out).  When we have to do an emergency content update, we make the change on the live site and then we go and make the exact same change on our development site.

The development version of our website is always a future version of our production website.  Our production website is always a "snapshot in time" of our development website.

I hope this clears things up.

 
Previous
 
Next
HomeHomeGetting StartedGetting StartedInstalling DNN ...Installing DNN ...DNN development environmentDNN development environment


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out