What do we mean by a development environment? Well it's a separate instance of NetCommunity & The Raiser's Edge that is probably a snapshot of your production database. The idea being you want to re-create your production environment closely so you can develop against real data.
There are really two options Local development & Server development
Local Development: an instance of RE and NetCommunity installed locally on your computer.
- Deployment is faster
- Setup is a bit easier
- De-bugging is a bit easier
- Remote development is easier
- There can be resource issues especially if you have large databases
- Not the best representation of a server environment
- You may need to run a server operating system
- True representation of a production environment
- Less resources are used
- More Stable
- Multiple people can develop on the same server
- You can physically secure you development database
- Deployment is a bit slower
- Remote development would require a VPN or Terminal Service connection
DO NOT setup local development up on a laptop if you are developing against real constituent data! It amazes me that companies are still getting burned because they put sensitive info on laptops that gets stolen.
A development server isn't a test server. I could write a whole post about test environments and I may do that but I don't recommend using your development environment for testing.
It doesn't' take a BEEFY server to run NetCommunity or RE for development purposes since the load is low. We use an old HP desktop with 4GB of RAM and about a 2.0Gig processor. That works fine for 1 developer. It has our entire database for RE and NetCommunity and it is secured in our server room.
Thats it for now, remember to subscribe to this blog with RSS if you enjoy reading.