CTO Blog

December 21 2005

We've had some questions recently about what technologies are used to build GiftWorks. Good question, let me explain. This might get a little technical but it's worth a shot. If you want more specifics or a better explanation, please leave me a comment and I will try to clear it up.

graphite

As mentioned in previous articles, GiftWorks is built on a proprietary application framework nick-named GRAPHITE. GRAPHITE allows us to rapidly build software to target specific uses. GRAPHITE knows nothing about non-profits or fundraising. It does know how to behave like a modern Windows program though. The entire user interface (UI) is drawn using HTML (like the webpage you are looking at now). It provides windows, dialogs, internet updates, context-sensitive help, scripting and a lot more of the features expected in todays software. It also provides a lot of the UI elements used like listboxes, button and menus.

The core of GRAPHITE is written in C++. GRAPHITE hosts Internet Explorer to render the UI. Some of the UI elements are written using a combination of ATL (Active Template Library) and MFC (Microsoft Foundation Classes). The entire framework is built around Microsoft's COM (Component Object Model) which allows programs like GiftWorks to be built using various programming languages and technologies. It also enables developers to easily add functionality to GiftWorks that is specific to their uses. This blog will talk more specifically about addins in the future.

giftworks

The GiftWorks "code" is what makes GRAPHITE useful for non-profits. It provides the SmartLists, the donor and donation management and the reporting. That stuff is written Visual Basic and the user interface is written using DHTML (Dynamic HTML). Some of you may have already dug into the GiftWorks directories and saw a bunch of *.htm files in there. Each of those .htm files is a different screen in GiftWorks (play at your own risk).

There are some other third-party technologies used within GiftWorks to do reporting, name parsing, word-processing and displaying lists.

data

Currently GiftWorks uses a file-based database technology called JET. It is the same database technology used by some Microsoft products including Microsoft Access. In the near future, GiftWorks will also work with a client-server database (possibly Microsoft SQL Server) to allow better scalability for bigger organizations.

.net

We have refrained from using any Microsoft .NET technologies in GiftWorks. It is a great technology and we will be using it for some of the online services we will be providing for GiftWorks customers. We started GiftWorks prior to .NET being mainstream (is it mainstream yet?), and don't particularly like the thought of shipping the .NET Framework with our downloads.

questions

Like I said, this post is probably a little technical for our current customers, but maybe I touched on something that gets you engaged. Please send your questions and let me know what you would like me to write about in future posts.

« Unhelpful Help | Where Is Your Data? »
Want More? Try browsing our other Mission Research developer blogs...
Steve Fafel, Mike Greineder, Jonny Leaman

Search


Article Tags


Other Mission Blogs


Past Articles


Ads



Other Links