Tuesday, January 29, 2008

Post III: prerequisites for customizing NetCommunity

We have established that customizing NetCommunity has many benefits for an organization. Before your organization makes the decision to venture down this path it’s very important to have a clear understanding of what is required to actually accomplish this. Developing custom parts in-house isn’t really that hard but there is a bit of a learning curve and a minimal skill set required.

In order to customize, the person responsible should be a web developer or have comparable experience. You really need someone who has working knowledge creating web applications in some type of web-based programming language, preferably ASP.net or other object oriented language.

One pitfall I have commonly seen is a new client who expects their current ‘webmaster’ to be able to hit the ground running with customization. The title of ‘webmaster’ is a bit vague but unless he/she already has some type of solid development experience that may not be a good option. It’s important to setup the right person with this task so they are in a position where success is possible.

It's also important to point out that there is a learning curve that needs to be met when developing custom parts and even seasoned developers with the latest developers resources from Blackbaud will need some time to get up to speed.

I tossed around the idea of putting up a specific set of technical minimum requirements for a web developer who will be customizing NetCommunity. For the most part any web developer now matter what their experience could probably figure this out if they have at least a few years of experience and ample time. That’s to say it’s not really that hard and once you understand the concepts and the basics of how NetCommunity and RE talk to each other you can use the various resources out there to start to make things happens. That being said, for the non-technical folks out there who just want a list, here are my minimum suggestions.
  • ASP.net 2.0 or comparable object oriented language
  • Visual Studio 2005
  • Working knowledge of APIs
  • Working knowledge of webservices
A skilled developer with these minimal skills sets should have no problems learning to customize NetCommunity.

That’s pretty much it for this post. I’m not really sure what I’ll have in store for you next time so if anyone has any suggestions I’m all ears. Just drop me an email. Don’t forget to subscribe to this Blog with RSS.

Friday, January 18, 2008

Post II: define: customizing NetCommunity

When we talk about customizing NetCommunity what we are really doing is designing a piece of functionality or custom parts that fits into NetCommunity and interacts with The Raiser's Edge via the API or re7service. These custom parts can look and feel almost identical to the core NetCommunity parts that ship with the product.

Custom parts are technically web user control designed in Visual Studio. They have have two main components; the Display and the Editor. The Display is the front end that is web facing. This is what the website user interacts with. The Editor allows a content administrator to set specific options unique to that instance of the custom part. The Editor resides in the back end admin area of NetCommunity.

They can integrate back to The Raiser's Edge via the API or the re7service. This allows you to insert data right back into The Raiser's Edge if you wish or into a plug-in interface first for approval before the transactions is committed to the database. I will probably cover the plug-in in more detail in a later post.

Obviously the most important aspect of a custom part is the fact that it's custom. You can create a piece of functionality that meets your specific, unique business needs. There isn't any need to compromise or modify your internal processes so you can use a core part in NetCommunity. It's a difficult task for Blackbaud to design all of it's core parts to meet the requirements of every single one of their clients, 100% of the time. There will be times when the NetCommunity solution just won't work for your organization and thats OK. NetCommunity does most of the core requirements of a CMS well and the ability to create custom solutions that integrate into everything is the best possible way to cover those requirements that are too specific to your organization for NetCommunity to realistically meet.

So that's the basics of what we mean when we talk about customizing NetCommunity.
The next post will probably cover some of the prerequisites for developing customizations. Expect that to get a bit technical.
If you enjoy this blog please subscribe to it and if you have a topic you'd like me to cover don't hesitate to email me.

Post I: introduction

I originally intended this blog to be a technical one about customizing Blackbaud's NetCommunity. Blackbaud has however officially released their developer's Wiki and they are doing a lot of similar things that I had intended to cover. That's good though, I think that is a better forum for posting the more technical elements of BBNC customization. More on the Wiki later.

About This Blog
So, what can you expect from this blog? We'll right now I expect this it to compliment much of the work that Blackbaud and it's developers are doing on the Blackbaud Wiki. I think initally I'm going to do that by demonstrating some of the business cases for customizing BBNC but who knows where it will go from there.

About Me
I am from the Annapolis MD area and I am a web developer for the U.S. Naval Academy Alumni Association & Foundation. I have been working on BBNC customizations since July of 2006. We have pumped out probably a dozen 'custom parts' for BBNC with varying levels of complexity. We are among the growing number of Blackbaud clients that are customizing NetCommunity to meet their specific and unique needs.

Who is this blog for?
I am a technical person and while I'm not intending this blog to be technical from the stand point that there will be code snippets throughout there will references and discussions about web technologies. So this blog is for a semi-technical person who wants to learn about how customizing BBNC can help your organization's cause. Whatever that may be.

So thats it for the first post. I'm not sure on the frequency of these moving forward but I hope to be able to post something about twice a month. If you are interested in this blog please subscribe to it. If you have any questions or would like me to discuss a particular topic please feel free to contact me.