Friday, February 22, 2008

Post V: your NetCommunity development environment

This post is meant to illustrate some important consideration when you are setting up an environment to develop NetCommunity custom parts. There are many options here and each have their own benefits and drawbacks. I'm not recommending one method over another just pointing out some options and considerations.

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.
Pros:
  • Deployment is faster
  • Setup is a bit easier
  • De-bugging is a bit easier
  • Remote development is easier
Cons:
  • 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
Server development: an instance of NetCommunity and RE are setup on a 'server' that is separate from where you develop
Pros:
  • 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
Cons:
  • Deployment is a bit slower
  • Remote development would require a VPN or Terminal Service connection
A few additional points.

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.

No comments: