Mission Research CTO Bloghttp://daveweaver.net/(none)en-usTue, 15 Apr 2008 15:48:35 GMTConnectServer Sites 1.8.5223.2david.weaver@missionresearch.comdavid.weaver@missionresearch.comhttp://daveweaver.net/mission,trackback,GiftWorks2008StandardShipshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorks2008StandardShipshttp://daveweaver.net/mission,commentview,GiftWorks2008StandardShipshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=567e46d2-830a-41cc-8f92-0cd10306198e

image It's been roughly three years since we shipped the first version of GiftWorks (then GiftWorks 2006). We put out a bunch of free updates to that product but never sold an upgrade until now. The upgrade comes in three parts. In March we released GiftWorks 2008 Standard to new customers. In April we shipped the first update to GiftWorks 2008 Standard that included a database upgrader so existing customers could start moving over to 2008 Standard. Finally in the next couple months we will be releasing GiftWorks 2008 Premium which is what the product team is working on now. I would like to do several posts on how GiftWorks 2008 came to be and how it's turned out, but for right now just jump on over to the website and check it out.

GiftWorks 2008 Standard Shipshttp://daveweaver.net/mission,permalink,GiftWorks2008StandardShipshttp://daveweaver.net/mission,permalink,GiftWorks2008StandardShipsTue, 15 Apr 2008 15:48:35 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorks2008StandardShips_A5FD/image_2.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 20px 20px 0px; border-left: 0px; border-bottom: 0px" height="84" alt="image" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorks2008StandardShips_A5FD/image_thumb.png" width="240" align="left" border="0" /></a> It's been roughly three years since we shipped the first version of GiftWorks (then GiftWorks 2006). We put out a bunch of free updates to that product but never sold an upgrade until now. The upgrade comes in three parts. In March we released GiftWorks 2008 Standard to new customers. In April we shipped the first update to GiftWorks 2008 Standard that included a database upgrader so existing customers could start moving over to 2008 Standard. Finally in the next couple months we will be releasing GiftWorks 2008 Premium which is what the product team is working on now. I would like to do several posts on how GiftWorks 2008 came to be and how it's turned out, but for right now just jump on over to the <a title="GiftWorks 2008" href="http://www.missionresearch.com/giftworks/" target="_blank">website and check it out</a>. </p>http://daveweaver.net/mission,commentview,GiftWorks2008StandardShipsgiftworks
http://daveweaver.net/mission,trackback,GiftWorksOnTechSouphttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksOnTechSouphttp://daveweaver.net/mission,commentview,GiftWorksOnTechSouphttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=51b2a6b4-8b63-476f-b225-8e43a5d760b5

image We've made GiftWorks available for a low fee on TechSoup Stock. Depending on the size of your non-profit, the software is discounted or will be donated to your organization. I think the quantities are limited, so get them while they last.

GiftWorks on TechSouphttp://daveweaver.net/mission,permalink,GiftWorksOnTechSouphttp://daveweaver.net/mission,permalink,GiftWorksOnTechSoupThu, 20 Dec 2007 15:34:03 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksonTechSoup_9515/image_2.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="73" alt="image" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksonTechSoup_9515/image_thumb.png" width="192" align="right" border="0"></a> We've made GiftWorks available for a low fee on <a title="TechSoup Stock" href="http://www.techsoup.org/stock/Category.asp?catalog_name=TechSoupMain&amp;category_name=MissionResearch&amp;Page=1&amp;visit=1" target="_blank">TechSoup Stock</a>. Depending on the size of your non-profit, the software is discounted or will be donated to your organization. I think the quantities are limited, so get them while they last. </p>http://daveweaver.net/mission,commentview,GiftWorksOnTechSoupgiftworks
http://daveweaver.net/mission,trackback,NewMissionResearchGiftWorksConsultantPartnerProgramhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,NewMissionResearchGiftWorksConsultantPartnerProgramhttp://daveweaver.net/mission,commentview,NewMissionResearchGiftWorksConsultantPartnerProgramhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e6a049c6-cddf-43d5-a7ee-810f2282b484

Yesterday we launched our new Consultant Partner Program on the Mission research web site. If you are a consultant you can sign up with the program and take advantage of the benefits which include up to 5 free licenses of GiftWorks, phone support, co-marketing opportunities, training and you will be listed in our consultant directory. More information about the program is here.

If you are a consumer and are interested in finding a consultant to get your organization up and running, you can find a consultant near you by entering your state into the Consultant Directory search.

New Mission Research GiftWorks Consultant Partner Programhttp://daveweaver.net/mission,permalink,NewMissionResearchGiftWorksConsultantPartnerProgramhttp://daveweaver.net/mission,permalink,NewMissionResearchGiftWorksConsultantPartnerProgramTue, 06 Feb 2007 13:29:26 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/NewMissionResearchGiftWorksConsultantPar_76E4/image%7B0%7D%5B3%5D.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="43" src="http://daveweaver.net/media/blog/WindowsLiveWriter/NewMissionResearchGiftWorksConsultantPar_76E4/image%7B0%7D_thumb%5B1%5D.png" width="375" align="right" border="0"></a> Yesterday we launched our new <a title="Consultant Partner Program" href="http://www.missionresearch.com/cpp_landing.html" target="_blank">Consultant Partner Program on the Mission research web site</a>. If you are a consultant you can sign up with the program and take advantage of the benefits which include up to 5 free licenses of GiftWorks, phone support, co-marketing opportunities, training and you will be listed in our consultant directory. More information about the program is <a title="Consultant Partner Program info" href="http://www.missionresearch.com/partner_program_no_pw.html" target="_blank">here</a>. </p> <p>If you are a consumer and are interested in finding a consultant to get your organization up and running, you can find a consultant near you by entering your state into the <a title="Consultant Directory search" href="http://www.missionresearch.com/cpp_landing.html" target="_blank">Consultant Directory search</a>. </p>http://daveweaver.net/mission,commentview,NewMissionResearchGiftWorksConsultantPartnerProgramgiftworks;misc
http://daveweaver.net/mission,trackback,GiftWorksReportsSDKBETAPartIListReportshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksReportsSDKBETAPartIListReportshttp://daveweaver.net/mission,commentview,GiftWorksReportsSDKBETAPartIListReportshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7a6a607f-32b1-4144-8abe-37e12522ac08232

I know I've been promising an SDK for some time now, but we've finally had some movement on that front. Some of you may have received an email announcing the first release. We've started a new web site to host all-things-SDK. Check out DevHero.com for everything you need to know to get started.

We plan to release the SDK in small pieces as beta downloads. We want to crawl before we run and we want your feedback all along the way. At some point, when the small pieces become mature and stable enough, we will add them to the release version of the grand SDK.  The first download is some code and examples to create your own reports inside of GiftWorks. A recent survey of our customers indicated that reporting was a big part of what you'd like to customize. This should get you started. Please let us know what you think via the DevHero forums. Thanks.

GiftWorks Reports SDK BETA Part I: List Reportshttp://daveweaver.net/mission,permalink,GiftWorksReportsSDKBETAPartIListReportshttp://daveweaver.net/mission,permalink,GiftWorksReportsSDKBETAPartIListReportsTue, 30 Jan 2007 23:11:35 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksReportsSDKBETAPartIListReports_FFD2/reportshot%5B1%5D%5B2%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 20px 20px 0px; border-left: 0px; border-bottom: 0px" height="214" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksReportsSDKBETAPartIListReports_FFD2/reportshot%5B1%5D_thumb.jpg" width="240" align="left" border="0"></a> I know I've been <a title="Follow-up On Our First GiftWorks Example" href="http://daveweaver.net/mission,permalink,FollowupOnOurFirstGiftWorksExample?q=SDK">promising an SDK for some time now</a>, but we've finally had some movement on that front. Some of you may have received an email announcing the first release. We've started a new web site to host all-things-SDK. Check out <a title="DevHero.com" href="http://www.devhero.com" target="_blank">DevHero.com</a> for everything you need to know to get started. </p> <p>We plan to release the SDK in small pieces as beta downloads. We want to crawl before we run and we want your feedback all along the way. At some point, when the small pieces&nbsp;become mature and stable enough, we will add them to the&nbsp;release version of the grand SDK.&nbsp;&nbsp;The first download is some code and examples to create your own reports inside of GiftWorks. A recent survey of our customers indicated that reporting was a big part of what you'd like to customize. This should get you started. Please let us know&nbsp;what you think via the <a title="DevHero forums" href="http://devhero.com/forums/default.aspx" target="_blank">DevHero forums</a>. Thanks. </p>http://daveweaver.net/mission,commentview,GiftWorksReportsSDKBETAPartIListReportsaddins;giftworks;graphite
http://daveweaver.net/mission,trackback,AccessYourGiftWorksDatabaseRemotelyhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,AccessYourGiftWorksDatabaseRemotelyhttp://daveweaver.net/mission,commentview,AccessYourGiftWorksDatabaseRemotelyhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6683d871-ddb9-4080-be2d-85384f804d41

A common question we get from customers is "how do I access my GiftWorks database from outside the office?" We decided on using a file-based database for GiftWorks early on. We chose to go that path (instead of using a client/server database) to make installation, management and the user experience in general, very simple. I think the path we chose was a good one but it's not perfect. We knew that a file-based database would not address the needs of a small portion of of our customers. One of those needs is remote access. While remote access cannot be as good as if we had built GiftWorks using a client/server database, there are options available to you.

One solution is to use a Virtual Private Network (VPN) to connect your remote computer to your organizations internal network. If you have a VPN connection you can connect to your organization's network shares anytime and anywhere you have an Internet connection. It's basically the same way you would connect when you're in the office except the files and folders will be shared across the VPN connection. The two biggest problems with this solution is that your connection will likely be slower and it's not the easiest thing to setup a VPN for your office.

Because you will be connecting to your office network over the internet, the throughput and response of your connection will depend on the quality of your internet connection. It will never be as fast as when you're in the office -- you will have to adjust to the somewhat slower user experience when on the road, but it will let you access your donors and donations remotely. 

I have never had a lot of luck setting up a VPN connection. Microsoft Windows has VPN software built into it, but because of the common use of firewalls and shared internet connections through routers, it is very tricky if not impossible to make that software work. The good news is that there is a free alternative that is easy to setup and it works great. This "zero-configuration" VPN program is called LogMeIn by Hamachi.

LogMeIn is available as a free download. It's very simple! You download and install it to the computer that has your GiftWorks database on it (this will be in your office). Then you download and install it on the computers that need remote access to your database (likely a laptop or your home PC). Once installed you create a virtual network and give it a password. From your remote computers you connect to that new virtual network and enter the same password. At that point you can browse your office computer from your remote computers. You'll be able to see all your shared folders and files. Run GiftWorks on your remote computers and tell it to open an existing database. 

It may take a little bit to understand what's actually happening. Just think of it like your remote computer is actually on your office network. The main LogMeIn window shows the other computers in your network. Look at the image to the left. It should resemble the window on your remote computer. The office computer should be listed there. Just right click on it to bring up a menu and choose to Browse that computers files. That should open a window of shared folder on that computer. Click through the shared folder that contains your GiftWorks database. Once you see your database (the file with a .gds extension) you should  be able to get the information needed to open that file within GiftWorks.

In that browse window (as shown to the right) you'll see the path and filename that you'll want to tell GiftWorks about. As an example, the screenshot shows the path and filename \\5.118.37.163\giftworks\my-donor-data.gds. Give that path to GiftWorks when you choose to open an existing database.

Like I said earlier, the experience could be slow depending on your internet connection, but it should work. I have used LogMeIn on several occasions with good results. Let me know how it turns out for you. 

Access Your GiftWorks Database Remotelyhttp://daveweaver.net/mission,permalink,AccessYourGiftWorksDatabaseRemotelyhttp://daveweaver.net/mission,permalink,AccessYourGiftWorksDatabaseRemotelyMon, 22 Jan 2007 18:51:50 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/AccessYourGiftWorksDatabaseRemotely_BFE7/image%7B0%7D%5B10%5D.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="126" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AccessYourGiftWorksDatabaseRemotely_BFE7/image%7B0%7D_thumb%5B4%5D.png" width="240" align="right" border="0"></a> A common question we get from customers is "how do I access my GiftWorks database from outside the office?" We decided on using a file-based database for GiftWorks early on. We chose to go that path (instead of using a client/server database) to make installation, management and the user experience in general, very simple. I think the path we chose was a good one but it's not perfect. We knew that a file-based database would not address the needs of a small portion of of our customers. One of those&nbsp;needs is remote access. While remote access cannot be as good as if we had built GiftWorks&nbsp;using a client/server database, there are options available to you. </p> <p><strong>One solution is to use a Virtual Private Network (VPN)</strong> to connect your remote computer to your organizations internal network.&nbsp;If you have a VPN connection you can&nbsp;connect to your organization's network shares anytime and anywhere you have an Internet connection.&nbsp;It's basically the same way you would connect when you're in the office except the files and folders&nbsp;will be shared across the VPN connection. The two biggest problems with this solution is that your connection will likely be slower and it's&nbsp;not the easiest thing to setup a VPN for your office. </p> <p>Because you will be connecting to your office network over the internet, the throughput and response of your connection will depend on the quality of your internet connection. It will never be as fast as when you're in the office -- you will have to adjust to the somewhat slower user experience when on the road, but it will let you access your donors and donations remotely.&nbsp; </p> <p><img style="margin: 0px 0px 20px 20px" height="203" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AccessYourGiftWorksDatabaseRemotely_BFE7/shot-4%5B1%5D%5B4%5D.png" width="240" align="right">I have never had a lot of luck setting up a VPN connection. Microsoft Windows has VPN software built into it, but because of the common use of firewalls and shared internet connections through routers, it is very tricky if not impossible to make that software work. <strong>The good news is that there is a free alternative that is easy to setup and it works great.</strong> This "zero-configuration" VPN program is called LogMeIn by Hamachi. </p> <p><a title="LogMeIn by Hamachi" href="http://www.hamachi.cc/download/" target="_blank">LogMeIn is available as a free download</a>. It's very simple! You download and install it to the computer that has your GiftWorks database on it (this will be in your office). Then you download and install it on the computers that need remote access to your database (likely a laptop or your home PC). Once installed you create a virtual network and give it a password. From your remote computers you connect to that new virtual network and enter the same password. <img style="margin: 20px 20px 20px 0px" height="240" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AccessYourGiftWorksDatabaseRemotely_BFE7/image%7B0%7D%5B11%5D.png" width="144" align="left"> At that point you can browse your office computer from your remote computers. You'll be able to see all your shared folders and files. Run GiftWorks on your remote computers and tell it to open an existing database.&nbsp; </p> <p>It may take a little bit to understand what's actually happening. Just think of it like your remote computer is actually on your office network. The main LogMeIn window shows the other computers in your network. Look at the image to the left. It should resemble&nbsp;the window on your remote computer. The&nbsp;office computer should be listed there. Just right click on it to bring up a menu and choose&nbsp;to Browse that computers files. That should open a window of shared folder on that computer. Click through the shared folder&nbsp;that contains&nbsp;your GiftWorks database.&nbsp;Once you see your database (the file with a .gds extension) you should&nbsp; be able to get the information needed to open that file within GiftWorks. </p> <p><img style="margin: 20px 0px 20px 20px" height="133" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AccessYourGiftWorksDatabaseRemotely_BFE7/image%7B0%7D%5B12%5D.png" width="240" align="right"> In that browse window (as shown to the right) you'll see the path and filename that you'll want to tell GiftWorks about.&nbsp;As an example, the&nbsp;screenshot shows&nbsp;the path and filename <a href="$my-donor-data.gds">\\5.118.37.163\giftworks\my-donor-data.gds</a>.&nbsp;Give that path to GiftWorks when you&nbsp;choose to open an existing database. </p> <p>Like I said earlier,&nbsp;the experience could be slow depending on your internet connection, but it&nbsp;should work. I have used LogMeIn on several occasions with good results. Let me know how it turns out for you.&nbsp; </p>http://daveweaver.net/mission,commentview,AccessYourGiftWorksDatabaseRemotelygiftworks
http://daveweaver.net/mission,trackback,GiftWorksAndTheFundraisingEffectivenessProjecthttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksAndTheFundraisingEffectivenessProjecthttp://daveweaver.net/mission,commentview,GiftWorksAndTheFundraisingEffectivenessProjecthttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e36f14c9-2042-4423-8f22-c1876f8a83bf3

In November, the Fundraising Effectiveness Project (FEP) launched their annual Fundraising Effectiveness Survey. This survey asks charities to compare their 2004 and 2005 fundraising results. The results of the survey are intended to enable non-profits "to compare their growth-in-giving results across a variety of measures with the performance of similar organizations." Russ Burke has published an article about how this helps your organization.

FEP partnered with over one dozen software firms in assisting their clients with the survey. Here at Mission Research, Chris Walker, a Product Manager donated some time to building a GiftWorks add-in that would automatically gather and send the survey data for GiftWorks users. This is a great example of how GiftWorks can be extended to support additional functionality. And truly it's not very difficult to do given the proper documentation (which is only available internally right now).

I'm very curious how the FEP survey was exposed by the other partnering software makers. If any readers have used the software by the other partners, please let me know your experiences.

GiftWorks and the Fundraising Effectiveness Projecthttp://daveweaver.net/mission,permalink,GiftWorksAndTheFundraisingEffectivenessProjecthttp://daveweaver.net/mission,permalink,GiftWorksAndTheFundraisingEffectivenessProjectFri, 19 Jan 2007 19:02:05 GMT<p>In November, the&nbsp;<a title="Charities and Software Firms Partner on Groundbreaking Charitable Giving Survey" href="http://www.betanews.com/newswire/pr/Charities_and_Software_Firms_Partner_on_Groundbreaking_Charitable_Giving_Survey/32919" target="_blank">Fundraising Effectiveness Project (FEP) launched their annual Fundraising Effectiveness Survey</a>.&nbsp;This survey asks charities to compare their 2004 and 2005 fundraising results. The results of the survey are intended to&nbsp;enable non-profits&nbsp;"to compare their growth-in-giving results across a variety of measures with the performance of similar organizations." <a title="FEP and You Article by Russ Burke" href="http://blog.missionresearch.com/2006/11/fep_and_you.html" target="_blank">Russ Burke has published an article</a> about how this helps your organization. </p> <p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksandtheFundraisingEffectivenessP_C4D9/image%7B0%7D%5B3%5D.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 20px 20px 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksandtheFundraisingEffectivenessP_C4D9/image%7B0%7D_thumb%5B1%5D.png" width="240" align="left" border="0"></a> FEP partnered with over one dozen software firms in assisting their clients with the survey. Here at Mission Research, Chris Walker, a&nbsp;Product Manager donated some time to building a <a title="GiftWorks and the Fundraising Effectiveness Project" href="http://www.missionresearch.com/fep/" target="_blank">GiftWorks add-in</a> that would automatically gather and send the survey data for GiftWorks users. This is a great example of how GiftWorks can be extended to support&nbsp;additional functionality. And truly it's not very difficult to do given the proper documentation (which is only available internally right now). </p> <p>I'm very curious how the FEP survey was exposed by the other partnering software makers. If any readers have used the software by the other partners, please let me know your experiences. </p>http://daveweaver.net/mission,commentview,GiftWorksAndTheFundraisingEffectivenessProjectaddins;giftworks;misc
http://daveweaver.net/mission,trackback,AddDonorPicturesToGiftWorksRecordshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,AddDonorPicturesToGiftWorksRecordshttp://daveweaver.net/mission,commentview,AddDonorPicturesToGiftWorksRecordshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cf80cfee-a326-425e-8c2e-b9deeea7ccc41355

In a lot of organizations, the fundraising is at a very personal level. In those cases you might find it useful to keep photos of your donors in your records. A new GiftWorks add-in will now enable you to do that for your donors.

Steve Fafel has created a sample add-in to demonstrate some of the extensibility of GiftWorks and it has turned out to be a very popular add-in. Please download and try it out. The source code comes with it, so check that out too.

Add Donor Pictures To GiftWorks Recordshttp://daveweaver.net/mission,permalink,AddDonorPicturesToGiftWorksRecordshttp://daveweaver.net/mission,permalink,AddDonorPicturesToGiftWorksRecordsThu, 04 Jan 2007 17:25:52 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/AddDonorPicturesToGiftWorksRecords_AEC8/image%7B0%7D%5B2%5D.png" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 20px 20px; border-right-width: 0px" height="191" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AddDonorPicturesToGiftWorksRecords_AEC8/image%7B0%7D_thumb.png" width="240" align="right" border="0"></a> In&nbsp;a lot of&nbsp;organizations, the fundraising is at a very personal level. In those cases you might find it useful to keep photos of your donors in your records. A new GiftWorks add-in will now enable you to do that for your donors. </p> <p><a title="Steve &quot;Sally&quot; Fafel's Website" href="http://www.stevefafel.com" target="_blank">Steve Fafel</a> has created a sample add-in to demonstrate some of the extensibility of GiftWorks and it has turned out to be a very popular add-in. <a title="Download DonorPics" href="http://www.stevefafel.com/mission,permalink,DonorPicsForGiftWorksASampleAddin" target="_blank">Please download and try it out</a>. The source code comes with it, so check that out too. </p>http://daveweaver.net/mission,commentview,AddDonorPicturesToGiftWorksRecordsaddins;giftworks
http://daveweaver.net/mission,trackback,GiftWorksTipsAndTrickshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksTipsAndTrickshttp://daveweaver.net/mission,commentview,GiftWorksTipsAndTrickshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=be6d3bf4-3b78-48be-94e9-89836236913f

This post is just a quick roundup of some other Mission Research blogs.

Add Attachments to GiftWorks' Emails
Steve explains how we've added attachment support in GiftWorks' mailings and how you can use them in your own mailings.

Create a SmartList of Individuals and Organizations
Mike explains some hidden functionality that allows you to create SmartLists that contain both organizations and individuals.

Help Define the Next Generation of GiftWorks Integration with QuickBooks
Jonny explains how you can help define the upcoming project to make GiftWorks better integrate with QuickBooks.

Also, for those of you that are having some problems getting GiftWorks to run properly, Steve introduces an online support tool you can run yourself to help diagnose the problems you are having. Please check that out if you are having problems.

GiftWorks Tips and Trickshttp://daveweaver.net/mission,permalink,GiftWorksTipsAndTrickshttp://daveweaver.net/mission,permalink,GiftWorksTipsAndTricksWed, 06 Dec 2006 15:03:09 GMT<p>This post&nbsp;is just a quick roundup of some other Mission Research blogs. </p> <p><a title="Add Attachments to GiftWorks' Emails" href="http://stevefafel.com/mission,permalink,EmailingThroughGiftWorksplus" target="_blank">Add Attachments to GiftWorks' Emails</a> <br><a title="SteveFafel.com" href="http://stevefafel.com/mission" target="_blank">Steve</a> explains how we've added attachment support in GiftWorks' mailings and how you can use them in your own mailings. </p> <p><a title="Create a GiftWorks SmartList of Individuals and Organizations" href="http://www.mikegreineder.com/PermaLink,guid,743fb026-df4d-4e19-a0bd-dcb02033d594.aspx" target="_blank">Create a SmartList of Individuals and Organizations</a> <br><a title="MikeGreineder.com" href="http://mikegreineder.com/" target="_blank">Mike</a> explains some hidden functionality that allows you to create SmartLists that contain both organizations and individuals. </p> <p><a title="Help Define the Next Generation of GiftWorks Integration with QuickBooks" href="http://jonathanleaman.com/general,permalink,HelpDefineTheNextGenerationOfGiftWorksIntegrationWithQuickBooks" target="_blank">Help Define the Next Generation of GiftWorks Integration with QuickBooks</a> <br><a title="JonathanLeaman.com" href="http://jonathanleaman.com/" target="_blank">Jonny</a> explains how you can help define the upcoming project to make GiftWorks better integrate with QuickBooks. </p> <p>Also, for those of you that are having some problems getting GiftWorks to run properly, Steve <a title="GiftWorks Online Support Tool" href="http://stevefafel.com/mission,permalink,HelpIsOnTheWay" target="_blank">introduces an online support tool you can run yourself</a> to help diagnose the problems you are having. Please check that out if you are having problems. </p>http://daveweaver.net/mission,commentview,GiftWorksTipsAndTricksgiftworks;misc
http://daveweaver.net/mission,trackback,GiftWorksUpdate5HasBeenReleasedhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5HasBeenReleasedhttp://daveweaver.net/mission,commentview,GiftWorksUpdate5HasBeenReleasedhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cec29762-cb16-43ec-aef5-07250fcb1b1f2350

Many of you have probably received the latest GiftWorks update automatically. If you have GiftWorks set to check automatically (recommended because we only support the latest update) it would have notified you already and hopefully it updated you without problems. If you don't have GiftWorks set to check automatically or you didn't get notified yet, just click the Check For Updates link at the bottom of GiftWorks and follow along. The update should bring you to version 2.1.112.00 which can be seen in the Help>About GiftWorks window. The official release notes have been published at missionresearch.com. Check them out to see what's been updated. One item that made it into the update at the last minute but is not in the release notes is described on Steve Fafel's website.

GiftWorks Update 5 Has Been Releasedhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5HasBeenReleasedhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5HasBeenReleasedFri, 17 Nov 2006 22:36:49 GMT<p>Many of you have probably received&nbsp;the latest&nbsp;GiftWorks update automatically. If you have GiftWorks set to check automatically (recommended because we only support the latest update) it would have notified you already and hopefully it updated you without problems. If you don't have GiftWorks set to check automatically or you didn't get notified yet, just click the Check For Updates link at the bottom of GiftWorks and follow along. The update should bring you to version 2.1.112.00 which can be seen in the Help&gt;About GiftWorks window. The official <a href="http://blog.missionresearch.com/2006/11/giftworks_updat.html" target="_blank">release notes</a> have been published at <a href="http://blog.missionresearch.com/" target="_blank">missionresearch.com</a>. Check them out to see what's been updated. One item that made it into the update at the last minute but is not in the release notes is <a href="http://www.stevefafel.com/mission,permalink,EmailingThroughGiftWorksplus" target="_blank">described on Steve Fafel's website</a>. </p>http://daveweaver.net/mission,commentview,GiftWorksUpdate5HasBeenReleasedgiftworks
http://daveweaver.net/mission,trackback,GiftWorksOnWindowsVistahttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksOnWindowsVistahttp://daveweaver.net/mission,commentview,GiftWorksOnWindowsVistahttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b1bcdf52-599b-45c7-b489-cf2f8ee7f3e3

Vista is not officially released yet. Until then we cannot officially support customers running GiftWorks on the new operating system. However, we have been doing some testing with the latest release candidates of Vista and it looks like we shouldn't have too many problems (if any) adding support. If anyone is daring enough to try GiftWorks on Vista, make sure you are using the latest update that has been built to support Internet Explorer 7 and turn of Data Execution Protection. If you run into any problems please let us know via feedback to this blog. Please don't contact customer support with the issues because they won't be able to help you yet.

GiftWorks On Windows Vistahttp://daveweaver.net/mission,permalink,GiftWorksOnWindowsVistahttp://daveweaver.net/mission,permalink,GiftWorksOnWindowsVistaTue, 14 Nov 2006 22:03:46 GMT<p><img style="margin: 0px 20px 20px 0px" height="133" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksOnWindowsVista_EFF5/wv_home_nav_pearl%5B5%5D.png" width="90" align="left"> Vista is not officially released yet. Until then we cannot officially support customers running GiftWorks on the new operating system. However, we have been doing some testing with the latest release candidates of Vista and it looks like we shouldn't have too many problems (if any) adding support. If anyone is daring enough to try GiftWorks on Vista, make sure you are using the latest update that has been built to support <a href="http://daveweaver.net/mission,permalink,GiftWorksUpdate5ThisWeek">Internet Explorer 7</a> and turn of <a href="http://www.stevefafel.com/mission,permalink,MoreSecurityDataExecutionPreventionAndGiftWorks" target="_blank">Data Execution Protection</a>. If you run into any problems please let us know via feedback to this blog. Please don't contact customer support with the issues because they won't be able to help you yet. </p>http://daveweaver.net/mission,commentview,GiftWorksOnWindowsVistagiftworks
http://daveweaver.net/mission,trackback,AddANewReportToGiftWorkshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,AddANewReportToGiftWorkshttp://daveweaver.net/mission,commentview,AddANewReportToGiftWorkshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=78314933-aede-4d05-b96a-f1143ab1e5ec1

In this post I present an example add-in that adds a new report category and one new report to GiftWorks. Unfortunately there is way too much stuff going on here to explain everything, but the ambitious user should be able to make some headway with adding custom reports to GiftWorks. There are two files that are necessary to add a new report. You need to write an add-in file (newreport.xml) that defines the add-in and tells GiftWorks about the new report category and the new report. The other file (GRDF-donors-by-number.xml) tells GiftWorks what to display in the report. For this example to work, both files need to reside in the same directory.

newreport.xml 

   1:  <gmlid="missionresearch_newreport">
   2:  <info>
   3:  <title>New Report</title>
   4:  <versions>
   5:  <versionmatch="2.0"module="version2"/>
   6:  </versions>
   7:  </info>
   8:  <moduleid="version2">
   9:  <objects>
  10:  <objectid="Handler"type="vbscript">
  11:  <![CDATA[
  12:                      Const CategoryKey = "my-reports"
  13:                      Sub AddNewReportCategory()
  14:                          Dim oCat
  15:                          Set oCat = App.Modules.GiftWorks.Reports.GetNewCategory
  16:                          oCat.Key = CategoryKey
  17:                          oCat.Name = "My Reports"
  18:                          oCat.Description = "These are my reports that I have built."
  19:                          App.Modules.GiftWorks.Reports.Categories.Add oCat
  20:                      End Sub
  21:                      Sub AddNewReport()
  22:                          Dim oReport, oCat
  23:                          For Each oCat In App.Modules.GiftWorks.Reports.Categories
  24:                              If oCat.Key = CategoryKey Then
  25:                                  Set oReport = App.Modules.GiftWorks.Reports.GetNewReport
  26:                                  oReport.Key = "donors-by-number"
  27:                                  oReport.Name = "Donors By Number Of Donations"
  28:                                  oReport.Description = "This report let's me filter my donors by the number of gifts they have given."
  29:                                  oReport.Path = App.Modules.missionresearch_newreport.Path
  30:                                  oCat.Reports.Add oReport
  31:                              End If
  32:                          Next
  33:                      End Sub
  34:                      Sub EventHandler(Ev)
  35:                          Select Case Ev.Key
  36:                              Case "reports-categories"
  37:                                  AddNewReportCategory
  38:                              Case "reports-categories-reports"
  39:                                  AddNewReport
  40:                          End Select
  41:                      End Sub
  42:                  ]]>
  43:  </object>
  44:  </objects>
  45:  <taskmenu/>
  46:  <handlers>
  47:  <handlerid="reports-categories"object="Handler"/>
  48:  <handlerid="reports-categories-reports"object="Handler"/>
  49:  </handlers>
  50:  </module>
  51:  </gml>


This file should look familiar to those that have been following along with my blog. You can view previous posts to see how to install add-ins with GiftWorks. There are two lines that I'll explain. Line 26 assigns a key to the new report. This key corresponds to the filename of the GRDF report. Line 29 tells GiftWorks where to look for the report definition file. In this case it uses the Path property for the current module. "missionresearch_newreport" is the Id of this module as identified on Line 1.

download files

You can download both files: newreport.xml, GRDF-donors-by-number.xml

what's next

Like I said, I don't go into a lot of detail. The GRDF file can be very confusing so I'll wait for interest and/or feedback before I spend too much time describing its functionality. Please let me know if you want to see more about either file.

Add A New Report To GiftWorkshttp://daveweaver.net/mission,permalink,AddANewReportToGiftWorkshttp://daveweaver.net/mission,permalink,AddANewReportToGiftWorksTue, 14 Nov 2006 21:47:37 GMT<p>In this post I present an example add-in that adds a new report category and one new report to GiftWorks. Unfortunately there is way too much stuff going on here to explain everything, but the ambitious user should be able to make some headway with adding custom reports to GiftWorks. There are two files that are necessary to add a new report. You need to write an add-in file (newreport.xml) that defines the add-in and tells GiftWorks about the new report category and the new report. The other file (GRDF-donors-by-number.xml) tells GiftWorks what to display in the report. For this example to work, both files need to reside in the same directory. </p> <p><strong>newreport.xml</strong>&nbsp; </p> <div class="csharpcode"><pre><span class="lnum"> 1: </span><span class="kwrd">&lt;</span><span class="html">gml</span> <span class="attr">id</span><span class="kwrd">="missionresearch_newreport"</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 2: </span> <span class="kwrd">&lt;</span><span class="html">info</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 3: </span> <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>New Report<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 4: </span> <span class="kwrd">&lt;</span><span class="html">versions</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 5: </span> <span class="kwrd">&lt;</span><span class="html">version</span> <span class="attr">match</span><span class="kwrd">="2.0"</span> <span class="attr">module</span><span class="kwrd">="version2"</span> <span class="kwrd">/&gt;</span></pre><pre><span class="lnum"> 6: </span> <span class="kwrd">&lt;/</span><span class="html">versions</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 7: </span> <span class="kwrd">&lt;/</span><span class="html">info</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 8: </span> <span class="kwrd">&lt;</span><span class="html">module</span> <span class="attr">id</span><span class="kwrd">="version2"</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 9: </span> <span class="kwrd">&lt;</span><span class="html">objects</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 10: </span> <span class="kwrd">&lt;</span><span class="html">object</span> <span class="attr">id</span><span class="kwrd">="Handler"</span> <span class="attr">type</span><span class="kwrd">="vbscript"</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 11: </span> <span class="kwrd">&lt;!</span>[CDATA[</pre><pre><span class="lnum"> 12: </span> Const CategoryKey = "my-reports"</pre><pre><span class="lnum"> 13: </span> Sub AddNewReportCategory()</pre><pre><span class="lnum"> 14: </span> Dim oCat</pre><pre><span class="lnum"> 15: </span> Set oCat = App.Modules.GiftWorks.Reports.GetNewCategory</pre><pre><span class="lnum"> 16: </span> oCat.Key = CategoryKey</pre><pre><span class="lnum"> 17: </span> oCat.Name = "My Reports"</pre><pre><span class="lnum"> 18: </span> oCat.Description = "These are my reports that I have built."</pre><pre><span class="lnum"> 19: </span> App.Modules.GiftWorks.Reports.Categories.Add oCat</pre><pre><span class="lnum"> 20: </span> End Sub</pre><pre><span class="lnum"> 21: </span> Sub AddNewReport()</pre><pre><span class="lnum"> 22: </span> Dim oReport, oCat</pre><pre><span class="lnum"> 23: </span> For Each oCat In App.Modules.GiftWorks.Reports.Categories</pre><pre><span class="lnum"> 24: </span> If oCat.Key = CategoryKey Then</pre><pre><span class="lnum"> 25: </span> Set oReport = App.Modules.GiftWorks.Reports.GetNewReport</pre><pre><span class="lnum"> 26: </span> oReport.Key = "donors-by-number"</pre><pre><span class="lnum"> 27: </span> oReport.Name = "Donors By Number Of Donations"</pre><pre><span class="lnum"> 28: </span> oReport.Description = "This report let's me filter my donors by the number of gifts they have given."</pre><pre><span class="lnum"> 29: </span> oReport.Path = App.Modules.missionresearch_newreport.Path</pre><pre><span class="lnum"> 30: </span> oCat.Reports.Add oReport</pre><pre><span class="lnum"> 31: </span> End If</pre><pre><span class="lnum"> 32: </span> Next</pre><pre><span class="lnum"> 33: </span> End Sub</pre><pre><span class="lnum"> 34: </span> Sub EventHandler(Ev)</pre><pre><span class="lnum"> 35: </span> Select Case Ev.Key</pre><pre><span class="lnum"> 36: </span> Case "reports-categories"</pre><pre><span class="lnum"> 37: </span> AddNewReportCategory</pre><pre><span class="lnum"> 38: </span> Case "reports-categories-reports"</pre><pre><span class="lnum"> 39: </span> AddNewReport</pre><pre><span class="lnum"> 40: </span> End Select</pre><pre><span class="lnum"> 41: </span> End Sub</pre><pre><span class="lnum"> 42: </span> ]]<span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 43: </span> <span class="kwrd">&lt;/</span><span class="html">object</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 44: </span> <span class="kwrd">&lt;/</span><span class="html">objects</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 45: </span> <span class="kwrd">&lt;</span><span class="html">taskmenu</span><span class="kwrd">/&gt;</span></pre><pre><span class="lnum"> 46: </span> <span class="kwrd">&lt;</span><span class="html">handlers</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 47: </span> <span class="kwrd">&lt;</span><span class="html">handler</span> <span class="attr">id</span><span class="kwrd">="reports-categories"</span> <span class="attr">object</span><span class="kwrd">="Handler"</span> <span class="kwrd">/&gt;</span></pre><pre><span class="lnum"> 48: </span> <span class="kwrd">&lt;</span><span class="html">handler</span> <span class="attr">id</span><span class="kwrd">="reports-categories-reports"</span> <span class="attr">object</span><span class="kwrd">="Handler"</span> <span class="kwrd">/&gt;</span> </pre><pre><span class="lnum"> 49: </span> <span class="kwrd">&lt;/</span><span class="html">handlers</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 50: </span> <span class="kwrd">&lt;/</span><span class="html">module</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 51: </span><span class="kwrd">&lt;/</span><span class="html">gml</span><span class="kwrd">&gt;</span></pre> </div> <p> <br>This file should look familiar to those that have been following along with my blog. You can view previous posts to see <a href="http://daveweaver.net/mission,permalink,HelloWorld">how to install add-ins with GiftWorks</a>. There are two lines that I'll explain. Line 26 assigns a key to the new report. This key corresponds to the filename of the GRDF report. Line 29 tells GiftWorks where to look for the report definition file. In this case it uses the Path property for the current module. "missionresearch_newreport" is the Id of this module as identified on Line 1. </p> <p><strong>download files</strong> </p> <p>You can download both files: <a href="http://daveweaver.net/media/downloads/newreport.xml">newreport.xml</a>, <a href="http://daveweaver.net/media/downloads/GRDF-donors-by-number.xml">GRDF-donors-by-number.xml</a> </p> <p><strong>what's next</strong> </p> <p>Like I said, I don't go into a lot of detail. The GRDF file can be very confusing so I'll wait for interest and/or feedback before I spend too much time describing its functionality. Please let me know if you want to see more about either file. </p>http://daveweaver.net/mission,commentview,AddANewReportToGiftWorksaddins;giftworks
http://daveweaver.net/mission,trackback,ExplainingGiftWorksPermissionProblemshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,ExplainingGiftWorksPermissionProblemshttp://daveweaver.net/mission,commentview,ExplainingGiftWorksPermissionProblemshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7a8db65e-624f-4a6a-b4d2-90d044be7848

Steve Fafel, our development lead for GiftWorks, explains the best way to run GiftWorks under a limited user account in Windows XP.

Explaining GiftWorks Permission Problemshttp://daveweaver.net/mission,permalink,ExplainingGiftWorksPermissionProblemshttp://daveweaver.net/mission,permalink,ExplainingGiftWorksPermissionProblemsSun, 12 Nov 2006 16:47:55 GMT<p>Steve Fafel, our development lead for GiftWorks, <a href="http://www.stevefafel.com/mission,permalink,GiftWorksAndTheLimitedUser" target="_blank">explains the best way to run GiftWorks under a limited user account</a> in Windows XP. </p>http://daveweaver.net/mission,commentview,ExplainingGiftWorksPermissionProblemsgiftworks
http://daveweaver.net/mission,trackback,GiftWorksUpdate5ThisWeekhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5ThisWeekhttp://daveweaver.net/mission,commentview,GiftWorksUpdate5ThisWeekhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bd389b2a-3e59-4777-b528-190052915f88

This week we will being posting an automatic update for GiftWorks (the 5th update for GiftWorks 2006). The timing of the update is to prepare customers for downloading Internet Explorer 7 which will be sent out to Windows customers in upcoming weeks. Besides working with IE7, the update includes some bug fixes and a functional change to the way GiftWorks interacts with QuickBooks. Here are the major bugs that were fixed:

  • For some customers, saved SmartList settings created in previous versions were causing errors.
  • Labels and envelopes printing blanks has been fixed.
  • In some cases, the importer would cause the database checkup to fail. This has been fixed.
  • Database compacting errors have been resolved.

The functional changes to QuickBooks integration are summarized as follows:

  • Individual Donors that have transactions will be posted to QuickBooks as customers.
  • Accounts used in the posted transactions will be added to QuickBooks if they do not already exist in QuickBooks.
  • Each journal entry will now consolidate the donation transactions, posting one line per asset account and one line per fund for each income account.

We will be detailing all the specific changes when the update has been released which will be this week. When we release updates to customers we do so gradually. This means some customers may get updates a day or two before others. You can avoid the wait and download the full, updated release from our website.

GiftWorks Update 5 This Weekhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5ThisWeekhttp://daveweaver.net/mission,permalink,GiftWorksUpdate5ThisWeekTue, 07 Nov 2006 12:43:11 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksUpdate5ThisWeek_6AAD/updates%5B9%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="150" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksUpdate5ThisWeek_6AAD/updates_thumb%5B7%5D.jpg" width="240" align="right" border="0"></a> This week we will being posting an automatic update&nbsp;for GiftWorks (the 5th update for GiftWorks 2006). The timing of the update is to prepare customers for downloading Internet Explorer 7 which will be sent out to Windows customers in upcoming weeks. Besides working with IE7, the update includes some bug fixes and a functional change to the way GiftWorks interacts with QuickBooks. Here are the major bugs that were fixed: </p> <ul> <li>For some customers, saved SmartList settings created in previous versions were causing errors.</li> <li>Labels and envelopes printing blanks has been fixed.</li> <li>In some cases, the importer would cause the database checkup to fail. This has been fixed.</li> <li>Database compacting errors have been resolved.</li> </ul> <p>The functional changes to QuickBooks integration&nbsp;are summarized&nbsp;as follows: </p> <ul> <li>Individual Donors that have transactions will be posted to QuickBooks as customers.</li> <li>Accounts used in the posted transactions will be added to QuickBooks if they do not already exist in QuickBooks.</li> <li>Each journal entry will now consolidate the donation transactions, posting one line per asset account and one line per fund for each income account.</li> </ul> <p>We will be detailing all the specific changes when the update has been released which will be this week. When we release updates to customers we do so gradually. This means some customers may get updates a day or two before others. You can avoid the wait and download the full, updated release from our website. </p>http://daveweaver.net/mission,commentview,GiftWorksUpdate5ThisWeekgiftworks
http://daveweaver.net/mission,trackback,GiftWorksAtTheQuickBooksConsultingConferencehttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksAtTheQuickBooksConsultingConferencehttp://daveweaver.net/mission,commentview,GiftWorksAtTheQuickBooksConsultingConferencehttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=34afb3e2-5660-421e-8cb2-ce3396a84ee1

This week (November 7th - 10th) in Las Vegas, Mission Research will be exhibiting GiftWorks at The Sleeter Group 2006 QuickBooks Consultant's Conference. As I mentioned before, we have been named as one of the conference's Awesome QuickBooks Add-Ons for 2007.

Doug SleeterI found a nice write-up about GiftWorks from Doug Sleeter in The CPA Technology Advisor. I've re-printed some of that article here...

GiftWorks by Mission Research is one of the most well-designed applications I’ve seen in a long time. This product does a great job of providing for virtually all of the donor-tracking features demanded by nonprofit organizations. GiftWorks manages donors, fundraising efforts and volunteers through a simple, well-designed user interface. Designed specifically for small to medium-sized nonprofit organizations, GiftWorks provides data management capabilities that are complete and far-reaching. The software meets and exceeds the administration needs of nonprofit organizations with donor tracking and mail production functionality and serves the needs of board members by generating insightful donor and donation reports. The unique “SmartLists” feature of GiftWorks allows customers to create lists of donors and donations based on sets of data criteria that the user defines. This feature makes it easy to create quick, automatically updating mailing lists and custom reports.

GiftWorks At The QuickBooks Consulting Conferencehttp://daveweaver.net/mission,permalink,GiftWorksAtTheQuickBooksConsultingConferencehttp://daveweaver.net/mission,permalink,GiftWorksAtTheQuickBooksConsultingConferenceSun, 05 Nov 2006 16:48:12 GMT<p>This week (November 7th - 10th) in Las Vegas, Mission Research will be exhibiting GiftWorks at <a href="http://www.sleeter.com/seminars/2006_QCC/main.html" target="_blank">The Sleeter Group 2006 QuickBooks Consultant's Conference</a>. As I <a href="http://daveweaver.net/mission,permalink,GiftWorksNamedAwesomeQuickBooksAddOn">mentioned before</a>, we&nbsp;have been&nbsp;named as one of the conference's Awesome QuickBooks Add-Ons for 2007. </p> <p><a href="http://www.sleeter.com/about" target="_new" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 20px 20px; border-right-width: 0px" height="150" alt="Doug Sleeter" src="http://daveweaver.net/media/blog/WindowsLiveWriter/DougSleeter_7903/dougsleeter%5B8%5D.jpg" width="100" align="right"></a>I found a nice write-up about GiftWorks from <a href="http://www.sleeter.com/about" target="_blank">Doug Sleeter</a> in <a href="http://www.cpatechnologyadvisor.com/article/article.jsp?siteSection=19&amp;id=1382" target="_blank">The CPA Technology Advisor</a>. I've re-printed some of that article here... </p> <blockquote> <p>GiftWorks by Mission Research is one of the most well-designed applications I’ve seen in a long time. This product does a great job of providing for virtually all of the donor-tracking features demanded by nonprofit organizations. GiftWorks manages donors, fundraising efforts and volunteers through a simple, well-designed user interface. Designed specifically for small to medium-sized nonprofit organizations, GiftWorks provides data management capabilities that are complete and far-reaching. The software meets and exceeds the administration needs of nonprofit organizations with donor tracking and mail production functionality and serves the needs of board members by generating insightful donor and donation reports. The unique “SmartLists” feature of GiftWorks allows customers to create lists of donors and donations based on sets of data criteria that the user defines. This feature makes it easy to create quick, automatically updating mailing lists and custom reports. </p></blockquote>http://daveweaver.net/mission,commentview,GiftWorksAtTheQuickBooksConsultingConferencegiftworks;misc
http://daveweaver.net/mission,trackback,PositiveFeedbackAboutGiftWorkshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,PositiveFeedbackAboutGiftWorkshttp://daveweaver.net/mission,commentview,PositiveFeedbackAboutGiftWorkshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c49ac8de-9fa3-42cc-8395-4bd4bbc18ed6

I've recently corresponded with a GiftWorks consultant Joel Schuman about using the GiftWorks API's to do some batch updating of his client's records and wanted to post a cool quote he allowed me to use.

"BTW, I don't think I've told you directly how much I appreciate and admire GiftWorks. In 33 years as a designer, developer, and consultant I've done many systems and installed or modified dozens of packages, and GW might present the best user experience I've seen."

Thanks Joel.

Positive Feedback About GiftWorkshttp://daveweaver.net/mission,permalink,PositiveFeedbackAboutGiftWorkshttp://daveweaver.net/mission,permalink,PositiveFeedbackAboutGiftWorksFri, 03 Nov 2006 19:36:59 GMT<p>I've&nbsp;recently corresponded&nbsp;with a GiftWorks consultant Joel Schuman about using the GiftWorks API's to do some batch updating of his client's records and wanted to post a cool quote he allowed me to use. </p> <blockquote> <p>"BTW, I don't think I've told you directly how much I appreciate and admire GiftWorks. In 33 years as a designer, developer, and consultant I've done many systems and installed or modified dozens of packages, and GW might present the best user experience I've seen." </p></blockquote> <p>Thanks Joel. </p>http://daveweaver.net/mission,commentview,PositiveFeedbackAboutGiftWorksgiftworks;misc
http://daveweaver.net/mission,trackback,GiftWorksCustomerInterviewedByTechSouphttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksCustomerInterviewedByTechSouphttp://daveweaver.net/mission,commentview,GiftWorksCustomerInterviewedByTechSouphttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=ec4b2d57-c6f6-4dec-bbe1-245780759ca2

TechSoup.com - GiftWorks Review We recently found an article on TechSoup.com which told the stories of three different donor database users. One of them uses GiftWorks for their donor data. She says GiftWorks is great for the non-technical crowd. This is one of the keys to GiftWorks. We realize there is high turnover in non-profit orgs and getting new employees or volunteers up to speed is important. We try to make GiftWorks intuitive and usable without having to trudge through documentation. We mostly get it right. Marcie (from the article) also mentioned our technical support a couple times. We get a lot of compliments on our technical support. We have a great group of people in support.

GiftWorks Customer Interviewed By TechSouphttp://daveweaver.net/mission,permalink,GiftWorksCustomerInterviewedByTechSouphttp://daveweaver.net/mission,permalink,GiftWorksCustomerInterviewedByTechSoupWed, 01 Nov 2006 21:03:29 GMT<p><img style="margin: 0px 0px 20px 20px" height="71" alt="TechSoup.com - GiftWorks Review" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksCustomerInterviewedByTechSoup_DFDD/tech-soup-logo%5B5%5D.gif" width="59" align="right"> We recently found an <a href="http://www.techsoup.org/learningcenter/databases/page5957.cfm" target="_blank">article on TechSoup.com</a> which told the stories of three different donor database users. One of them uses GiftWorks for their donor data. She says GiftWorks is great for the non-technical crowd. This is one of the keys to GiftWorks. We realize there is high turnover in non-profit orgs and getting new employees or volunteers up to speed is important. We try to make GiftWorks intuitive and usable without having to trudge through documentation. We mostly get it right. Marcie (from the article)&nbsp;also mentioned our technical support a couple times. We get a lot of compliments on our technical support. We have a great group of people in support. </p>http://daveweaver.net/mission,commentview,GiftWorksCustomerInterviewedByTechSoupgiftworks;misc
http://daveweaver.net/mission,trackback,GiftWorksNamedAwesomeQuickBooksAddOnhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksNamedAwesomeQuickBooksAddOnhttp://daveweaver.net/mission,commentview,GiftWorksNamedAwesomeQuickBooksAddOnhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b3bd7905-9aa5-409c-bdb9-2ff7ca694584524

Sleeter Group - Awesome QuickBooks Add-ons GiftWorks has been named one of 13 Awesome QuickBooks Add-Ons for 2007 by the Sleeter Group. GiftWorks was chosen from over 400 QuickBooks add-ons that are now a part of the Intuit Developer Network. Below are the reasons GiftWorks made the list:

  • The product shows superior design, implementation, and features.
  • The product has superior integration with QuickBooks.  It passes
    data to and from QuickBooks using best practices of the QuickBooks SDK
    programming interface.
  • The product uses appropriate transaction types and field
    population for recording data into QuickBooks so as to preserve and/or
    enhance the standard reporting features in QuickBooks.
  • The product conforms to good accounting and operating standards.
  • Your company has shown outstanding customer support.  Your firm
    provides the highest level of support to both end users and consultants.
    This area is a key element to the overall satisfaction of an add-on
    product.


QuickBooks integration is something we are continually trying to improve. We have been working with external QuickBooks consultants and accountants to get the functionality right. We will be improving the whole accounting experience within GiftWorks in upcoming releases. Being named a Awesome Add-on means we're headed in the right direction. Thanks Sleeter Group. 

GiftWorks Named Awesome QuickBooks Add-Onhttp://daveweaver.net/mission,permalink,GiftWorksNamedAwesomeQuickBooksAddOnhttp://daveweaver.net/mission,permalink,GiftWorksNamedAwesomeQuickBooksAddOnTue, 31 Oct 2006 15:59:15 GMT<p><img style="margin: 0px 0px 20px 20px" height="72" alt="Sleeter Group - Awesome QuickBooks Add-ons" src="http://daveweaver.net/media/blog/WindowsLiveWriter/RecentGiftWorks_9502/sleeter-group%5B5%5D.jpg" width="127" align="right"> GiftWorks has been named one of 13 Awesome QuickBooks Add-Ons for 2007 by the <a href="http://www.sleeter.com" target="_blank">Sleeter Group</a>. GiftWorks was chosen from over 400 QuickBooks add-ons that are now a part of the Intuit Developer Network. Below are the reasons GiftWorks made the list: </p> <ul> <li>The product shows superior design, implementation, and features. <li>The product has superior integration with QuickBooks.&nbsp; It passes<br>data to and from QuickBooks using best practices of the QuickBooks SDK<br>programming interface. <li>The product uses appropriate transaction types and field<br>population for recording data into QuickBooks so as to preserve and/or<br>enhance the standard reporting features in QuickBooks. <li>The product conforms to good accounting and operating standards. <li>Your company has shown outstanding customer support.&nbsp; Your firm<br>provides the highest level of support to both end users and consultants.<br>This area is a key element to the overall satisfaction of an add-on<br>product.</li> </ul> <p> <br>QuickBooks integration is something&nbsp;we are continually trying to improve.&nbsp;We have been working with external QuickBooks consultants and accountants to get the functionality right. We will&nbsp;be improving the whole accounting experience within GiftWorks in upcoming releases. Being named a Awesome Add-on means we're headed in the right direction. Thanks Sleeter Group.&nbsp; </p>http://daveweaver.net/mission,commentview,GiftWorksNamedAwesomeQuickBooksAddOngiftworks;misc
http://daveweaver.net/mission,trackback,AffordanceUsabilityAndMakingGiftWorksEasyhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,AffordanceUsabilityAndMakingGiftWorksEasyhttp://daveweaver.net/mission,commentview,AffordanceUsabilityAndMakingGiftWorksEasyhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=39400ad8-e871-45f5-a749-ae5f66d18a75

GiftWorks gets a lot of praise for our user interface design. We spend a lot of time making sure the way it works can be easily figured out without having to jump into the documentation. There is actually a term for this: Affordance. At Mission Research we refer to this as Usability.

In GiftWorks, we try to break down tasks to individual screens so that the user can concentrate on a single task for a single screen. For example, in the mailing section we use minimum of 5 screens to prepare a mailing. That may seem to be a lot, but screen navigation is very simple (using tabs) and each screen focuses on one part of the mailing. See the screenshot to the right.

On a single screen we try to limit input to only those that are necessary. Non-necessary input is moved to the background; maybe to another screen or or collapsed behind a link. The final screen of the Add A Donor popup can be seen to the right. The primary task for this popup is to confirm the addition of a new donor, but we do give the user an easy way to fill in additional (non-necessary) information for the new donor. The link takes them to another screen that shows all possible fields for a donor.

It's never easy to make a screen obvious to use. At some point we have to make an assumption about our user base. For example, we have to assume a user understands what to do when they see a text box, a checkbox, or a dropdown menu. We assume that if a user is running our software they understand these basic input fields (called user controls in Windows terminology). Problems arise when the standard suite of Windows controls do not offer enough control. We have to invent our own controls and try to design them in a way that is obvious to the user. One example of this is Drag and Drop. From a functional perspective drag and drop is very powerful, but it is an advanced concept that is difficult to make obvious. We haven't used drag and drop in GiftWorks yet.

An important part of usability is getting feedback and revising designs. We are not likely to get a user interface right the first time out, but through user feedback we can get there. Let me ask you this: what area of GiftWorks is hard for you to figure out or understand?

Affordance, Usability And Making GiftWorks Easyhttp://daveweaver.net/mission,permalink,AffordanceUsabilityAndMakingGiftWorksEasyhttp://daveweaver.net/mission,permalink,AffordanceUsabilityAndMakingGiftWorksEasyTue, 10 Oct 2006 14:19:36 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/AffordanceUsabilityAndMakingGiftWorksEas_9133/select-a-letter%5B2%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="180" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AffordanceUsabilityAndMakingGiftWorksEas_9133/select-a-letter_thumb.jpg" width="240" align="right" border="0"></a>GiftWorks&nbsp;gets a lot of praise for our user interface design. We spend a lot of time making sure&nbsp;the way it works can be easily&nbsp;figured out without having to jump into the documentation. There is actually a term for this: <a href="http://en.wikipedia.org/wiki/Affordance" target="_blank">Affordance</a>.&nbsp;At Mission Research we refer to this as Usability. </p> <p>In GiftWorks, we try to break down tasks to individual screens so that the user can concentrate on a single task for a single screen. For example, in the mailing section we use minimum of 5 screens to prepare a mailing. That may seem to be a lot, but screen navigation is very simple (using tabs) and each screen focuses on one part of the mailing. See the screenshot to the right. </p> <p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/AffordanceUsabilityAndMakingGiftWorksEas_9133/add-donor-final-screen%5B3%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="119" src="http://daveweaver.net/media/blog/WindowsLiveWriter/AffordanceUsabilityAndMakingGiftWorksEas_9133/add-donor-final-screen_thumb%5B1%5D.jpg" width="140" align="right" border="0"></a> On a single screen we try to limit input to only those that are necessary.&nbsp;Non-necessary input is&nbsp;moved&nbsp;to the background; maybe to another screen or or collapsed behind a link. The final screen of the Add A Donor popup can be seen to the right. The primary task for this popup is to confirm the addition of a new donor, but we do give the user an easy way to fill in additional (non-necessary) information for the new donor. The link takes them to another screen that shows all possible fields for a donor. </p> <p>It's never&nbsp;easy to make a screen&nbsp;obvious to use. At some point we have to make an assumption about our user base. For example, we have to assume a user understands what to do when they see a text box, a checkbox, or a dropdown menu. We assume that if a user is running our software they understand these basic input fields (called user controls in Windows terminology). Problems arise when the standard suite of Windows controls do not offer enough control. We have to invent our own controls and try to design them in a way that is obvious to the user. <a href="http://www.uie.com/brainsparks/2005/11/01/drag-n-drop-is-invisible-to-users/" target="_blank">One example of this is Drag and Drop</a>. From a functional perspective drag and drop is very powerful, but it is an advanced concept that is difficult to make obvious. We haven't used drag and drop in GiftWorks yet. </p> <p>An important part of usability is getting feedback and revising designs. We are not likely to get a user interface right the first time out, but through user feedback we can get there. Let me ask you this:&nbsp;<strong>what&nbsp;area of GiftWorks is hard for you to figure out or understand</strong>? </p>http://daveweaver.net/mission,commentview,AffordanceUsabilityAndMakingGiftWorksEasygiftworks
http://daveweaver.net/mission,trackback,BatchUpdatesToGiftWorksDonorshttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,BatchUpdatesToGiftWorksDonorshttp://daveweaver.net/mission,commentview,BatchUpdatesToGiftWorksDonorshttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=07f45444-59ac-4510-a6c4-7d12ac7dfe611105

We occasionally get requests from customers about doing batch updates to donor records. We have plans to address this within GiftWorks in the future but until then it has to be done manually. This is obviously not a great answer, but since GiftWorks has an API, developers have an additional option. Below is some VBScript that formats the addresses for all donors in an individual SmartList. Because this is an example, the only formatting I show is converting all text in an address to uppercase. There's no reason the script couldn't be extended to reach out to the postal service and validate the address. I'll leave that as an exercise for the reader.

**This script is provided only as an example and should be used with caution. It will modify data in your database. Running any scripts against your database should be done only after your database has been properly backed up. Also, scripts that modify your database should be done when nobody else is signed into it. There are mechanisms to protect multi-user access, but this script does not utilize them.

   1:  Const typeIndividual = 0
   2:   
   3:  ' create an instance of our application
   4:  Set App = CreateObject("MissionResearch.GiftWorks")
   5:   
   6:  ' Make sure the user is signed in so a db is selected
   7:  If App.Security.SignedIn Then
   8:   
   9:  ' make sure the user is viewing a SmartList
  10:  If App.Shell.History.CurrentTask.Urlpath = "/list-browse-list"Then
  11:  
  12:  ' get a reference to the current SmartList based on the id passed to the page
  13:  Set smartlist = App.Modules.Donor.ListManager.GetList(App.Shell.QueryString("id"))
  14:  
  15:  ' make sure we have an Individual SmartList, or error out
  16:  If smartlist.ContentType = typeIndividual Then
  17:  
  18:  ' get a recordset based on the SmartList
  19:  Set rs = smartlist.ItemList.Recordset
  20:  
  21:  ' go thru each donor
  22:  Dim donor, address, changed
  23:  DoWhileNot rs.EOF
  24:                  changed = False
  25:  Set donor = App.Modules.Donor.DonorManage.GetIndividual(rs("id"))
  26:  ' go thru each address for this donor
  27:  ForEach address In donor.Addresses
  28:  ' call the reformat method
  29:  ' this example just uppercases all text
  30:                      changed = ReformatAddress(address)
  31:  ' if the address was modified, 'changed' will be True
  32:  Next
  33:  ' if any address was changed, update the entire donor
  34:  If changed Then
  35:                      App.Modules.Donor.DonorManage.UpdateIndividual donor
  36:  EndIf
  37:                  rs.MoveNext
  38:  Loop
  39:              rs.Close
  40:  Else
  41:              App.Shell.MsgBox "Must be viewing an Individual SmartList"
  42:  EndIf
  43:  Else
  44:          App.Shell.MsgBox "Must be viewing a SmartList"
  45:  EndIf
  46:  Else
  47:      App.Shell.MsgBox "You must be signed in before calling this script"
  48:  EndIf
  49:   
  50:  ' this function just uppercases all text
  51:  ' return True if it needs changed
  52:  Function ReformatAddress(Address)
  53:      Address.Street1 = UCase(Address.Street1)
  54:      Address.Street2 = UCase(Address.Street2)
  55:      Address.City = UCase(Address.City)
  56:      Address.State = UCase(Address.State)
  57:      Address.Zip = UCase(Address.Zip)
  58:      Address.Country = UCase(Address.Country)
  59:      ReformatAddress = True
  60:  EndFunction
  61:   

We have not released a GiftWorks SDK yet so there is no documentation available to show you the rest of the properties for a donor, but those that know how to use an object browser can check out the files: msdsvc.dll and gitwks.exe.

Batch Updates To GiftWorks Donorshttp://daveweaver.net/mission,permalink,BatchUpdatesToGiftWorksDonorshttp://daveweaver.net/mission,permalink,BatchUpdatesToGiftWorksDonorsTue, 26 Sep 2006 18:37:59 GMT<p>We occasionally get requests from customers about doing batch updates to donor records. We have plans to address this within GiftWorks in the future but until then it has to be done manually. This is&nbsp;obviously not a great answer, but since GiftWorks has an API,&nbsp;developers have an additional option.&nbsp;Below is&nbsp;some VBScript that&nbsp;formats the addresses for all donors&nbsp;in an individual SmartList. Because this is an example, the only formatting I show is&nbsp;converting all text in an address to uppercase. There's no reason the script couldn't be extended to reach out to the postal service and validate the address. I'll leave that as an exercise for the reader. </p> <p><font color="#400040">**This script is provided only as an example and should be used with caution. It will modify data in your database. Running any scripts against your database should be done only after your database has been properly backed up. Also, scripts that modify your database should be done when nobody else is&nbsp;signed into it. There are mechanisms to protect multi-user access, but this script does not utilize them.</font> </p> <!-- code formatted by http://manoli.net/csharpformat/ --> <div class="csharpcode"><pre><span class="lnum"> 1: </span><span class="kwrd">Const</span> typeIndividual = 0</pre><pre><span class="lnum"> 2: </span>&nbsp;</pre><pre><span class="lnum"> 3: </span><span class="rem">' create an instance of our application</span></pre><pre><span class="lnum"> 4: </span><span class="kwrd">Set</span> App = CreateObject(<span class="str">"MissionResearch.GiftWorks"</span>)</pre><pre><span class="lnum"> 5: </span>&nbsp;</pre><pre><span class="lnum"> 6: </span><span class="rem">' Make sure the user is signed in so a db is selected</span></pre><pre><span class="lnum"> 7: </span><span class="kwrd">If</span> App.Security.SignedIn <span class="kwrd">Then</span> </pre><pre><span class="lnum"> 8: </span>&nbsp;</pre><pre><span class="lnum"> 9: </span> <span class="rem">' make sure the user is viewing a SmartList</span></pre><pre><span class="lnum"> 10: </span> <span class="kwrd">If</span> App.Shell.History.CurrentTask.Urlpath = <span class="str">"/list-browse-list"</span> <span class="kwrd">Then</span></pre><pre><span class="lnum"> 11: </span> </pre><pre><span class="lnum"> 12: </span> <span class="rem">' get a reference to the current SmartList based on the id passed to the page</span></pre><pre><span class="lnum"> 13: </span> <span class="kwrd">Set</span> smartlist = App.Modules.Donor.ListManager.GetList(App.Shell.QueryString(<span class="str">"id"</span>))</pre><pre><span class="lnum"> 14: </span> </pre><pre><span class="lnum"> 15: </span> <span class="rem">' make sure we have an Individual SmartList, or error out</span></pre><pre><span class="lnum"> 16: </span> <span class="kwrd">If</span> smartlist.ContentType = typeIndividual <span class="kwrd">Then</span></pre><pre><span class="lnum"> 17: </span> </pre><pre><span class="lnum"> 18: </span> <span class="rem">' get a recordset based on the SmartList</span></pre><pre><span class="lnum"> 19: </span> <span class="kwrd">Set</span> rs = smartlist.ItemList.Recordset</pre><pre><span class="lnum"> 20: </span> </pre><pre><span class="lnum"> 21: </span> <span class="rem">' go thru each donor</span></pre><pre><span class="lnum"> 22: </span> <span class="kwrd">Dim</span> donor, address, changed</pre><pre><span class="lnum"> 23: </span> <span class="kwrd">Do</span> <span class="kwrd">While</span> <span class="kwrd">Not</span> rs.EOF</pre><pre><span class="lnum"> 24: </span> changed = <span class="kwrd">False</span></pre><pre><span class="lnum"> 25: </span> <span class="kwrd">Set</span> donor = App.Modules.Donor.DonorManage.GetIndividual(rs(<span class="str">"id"</span>))</pre><pre><span class="lnum"> 26: </span> <span class="rem">' go thru each address for this donor</span></pre><pre><span class="lnum"> 27: </span> <span class="kwrd">For</span> <span class="kwrd">Each</span> address <span class="kwrd">In</span> donor.Addresses</pre><pre><span class="lnum"> 28: </span> <span class="rem">' call the reformat method</span></pre><pre><span class="lnum"> 29: </span> <span class="rem">' this example just uppercases all text</span></pre><pre><span class="lnum"> 30: </span> changed = ReformatAddress(address)</pre><pre><span class="lnum"> 31: </span> <span class="rem">' if the address was modified, 'changed' will be True</span></pre><pre><span class="lnum"> 32: </span> <span class="kwrd">Next</span></pre><pre><span class="lnum"> 33: </span> <span class="rem">' if any address was changed, update the entire donor</span></pre><pre><span class="lnum"> 34: </span> <span class="kwrd">If</span> changed <span class="kwrd">Then</span></pre><pre><span class="lnum"> 35: </span> App.Modules.Donor.DonorManage.UpdateIndividual donor</pre><pre><span class="lnum"> 36: </span> <span class="kwrd">End</span> <span class="kwrd">If</span></pre><pre><span class="lnum"> 37: </span> rs.MoveNext</pre><pre><span class="lnum"> 38: </span> <span class="kwrd">Loop</span></pre><pre><span class="lnum"> 39: </span> rs.Close</pre><pre><span class="lnum"> 40: </span> <span class="kwrd">Else</span></pre><pre><span class="lnum"> 41: </span> App.Shell.MsgBox <span class="str">"Must be viewing an Individual SmartList"</span></pre><pre><span class="lnum"> 42: </span> <span class="kwrd">End</span> <span class="kwrd">If</span></pre><pre><span class="lnum"> 43: </span> <span class="kwrd">Else</span></pre><pre><span class="lnum"> 44: </span> App.Shell.MsgBox <span class="str">"Must be viewing a SmartList"</span></pre><pre><span class="lnum"> 45: </span> <span class="kwrd">End</span> <span class="kwrd">If</span></pre><pre><span class="lnum"> 46: </span><span class="kwrd">Else</span> </pre><pre><span class="lnum"> 47: </span> App.Shell.MsgBox <span class="str">"You must be signed in before calling this script"</span> </pre><pre><span class="lnum"> 48: </span><span class="kwrd">End</span> <span class="kwrd">If</span></pre><pre><span class="lnum"> 49: </span>&nbsp;</pre><pre><span class="lnum"> 50: </span><span class="rem">' this function just uppercases all text</span></pre><pre><span class="lnum"> 51: </span><span class="rem">' return True if it needs changed</span></pre><pre><span class="lnum"> 52: </span><span class="kwrd">Function</span> ReformatAddress(Address)</pre><pre><span class="lnum"> 53: </span> Address.Street1 = UCase(Address.Street1)</pre><pre><span class="lnum"> 54: </span> Address.Street2 = UCase(Address.Street2)</pre><pre><span class="lnum"> 55: </span> Address.City = UCase(Address.City)</pre><pre><span class="lnum"> 56: </span> Address.State = UCase(Address.State)</pre><pre><span class="lnum"> 57: </span> Address.Zip = UCase(Address.Zip)</pre><pre><span class="lnum"> 58: </span> Address.Country = UCase(Address.Country)</pre><pre><span class="lnum"> 59: </span> ReformatAddress = <span class="kwrd">True</span></pre><pre><span class="lnum"> 60: </span><span class="kwrd">End</span> <span class="kwrd">Function</span></pre><pre><span class="lnum"> 61: </span>&nbsp;</pre> </div> <p>We have not released a GiftWorks SDK yet so there is no documentation available to show you the rest of the properties for a donor, but those that know how to use an object browser can check out the files: msdsvc.dll and gitwks.exe. </p>http://daveweaver.net/mission,commentview,BatchUpdatesToGiftWorksDonorsgiftworks
http://daveweaver.net/mission,trackback,GiftWorksAddinToLimitFunctionalityhttp://daveweaver.net/pingback.aspxhttp://daveweaver.net/mission,permalink,GiftWorksAddinToLimitFunctionalityhttp://daveweaver.net/mission,commentview,GiftWorksAddinToLimitFunctionalityhttp://daveweaver.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b4bba678-3567-4800-8cfd-c90e476a229a6

I've seen a couple request from customers wanting the ability to keep some of their users out of certain areas in GiftWorks. Below is a small addin that attempts to solve that problem by removing the toolbar buttons at the top of the window. In this example I remove every application button except the Donors button (see the picture to the right).

See my HelloWorld post and my What's In A GiftWorks Addin post for more details on using the following addin file. This post will skim through the details and assume you've already created and used an addin file. 

   1:  <gmlid="MissionResearch_DisableExample">
   2:  <info>
   3:  <title>Disable Addin Example</title>
   4:  <versions>
   5:  <versionmatch="2.0.*.*"module="version2"/>
   6:  </versions>
   7:  </info>
   8:  <moduleid="version2">
   9:  <objects>
  10:  <objectid="MyObject"type="vbscript"url=""cache=""><![CDATA[
  11:                  Sub EventHandler(Ev)
  12:                      If Ev.Data.Url = "toolbar" Then
  13:                          For Each button In App.Shell.Toolbar.Buttons
  14:                              If button.Title <> "Donors" Then
  15:                                  App.Shell.Toolbar.Buttons.Remove button.Title
  16:                              End If
  17:                          Next
  18:                      End If
  19:                  End Sub
  20:              ]]></object>
  21:  </objects>
  22:  <handlers>
  23:  <handlerid="module-execute"object="MyObject"/>
  24:  </handlers>
  25:  </module>
  26:  </gml>

 

toolbar buttons

The toolbar buttons at the top of GiftWorks are the main navigation elements for the application. GiftWorks inserts several by default and addins can modify those buttons or add their own. This post just concentrates on removing existing buttons. GiftWorks gives you access to these buttons through a Buttons collection.

App.Shell.Toolbar.Buttons

Each button has several properties that you can modify with code.

Button.Order - a number indicating the sort order the buttons should use for display
Button.Action - the action a button executes when clicked
Button.Title - the title of the button displayed
Button.ImageUp - the image file used when the button is in normal state
Button.ImageDown - the image file used when the button is in clicked state
Button.ImageOver - the image file used when the button has a mouse over it
Button.ImageDisabled - the image file used when the button is disabled

event handlers

You can embed event handlers in the addin file to handle events raised by GiftWorks. Event handlers are the primary means for addins to integrate with existing GiftWorks elements. This addin handles a general framework event called 'module-execute' which is fired whenever the framework needs to initialize the toolbar. GiftWorks fills the toolbar first with it's buttons then fires the event so addins can handle it as well. An addin can add toolbar buttons using a simpler interface which will be shown at a later time. This event enables an addin to modify buttons that have already been added. You could rename buttons or other things. This addin just checks for the Donors button and removes everything else. The <handler> element simply tells GiftWorks your addin wants to be called when the 'module-execute' event is raised. It then calls the EventHandler subroutine in the 'MyObject' script.

Try this our and let me know what you think. In later posts I will try to expose some more of the many GiftWorks events.

GiftWorks Addin To Limit Functionalityhttp://daveweaver.net/mission,permalink,GiftWorksAddinToLimitFunctionalityhttp://daveweaver.net/mission,permalink,GiftWorksAddinToLimitFunctionalityThu, 21 Sep 2006 21:14:30 GMT<p><a href="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksAddinToLimitFunctionality_F273/disablebuttons2.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 20px 20px; border-right-width: 0px" height="137" src="http://daveweaver.net/media/blog/WindowsLiveWriter/GiftWorksAddinToLimitFunctionality_F273/disablebuttons_thumb.jpg" width="240" align="right" border="0"></a> I've seen a couple request from customers wanting the ability to keep some of their users out of certain areas in GiftWorks. Below is a small addin that attempts to solve that problem by removing the toolbar buttons at the top of the window. In this example I remove every application button except the Donors button (see the picture to the right). </p> <p>See&nbsp;my <a href="http://daveweaver.net/mission,permalink,2006,02,17,HelloWorld">HelloWorld</a> post and my <a href="http://daveweaver.net/mission,permalink,2006,08,29,WhatsInAGiftWorksAddin">What's In A GiftWorks Addin</a> post&nbsp;for more details on using the following addin file. This post will skim through the details and assume you've already created and used an addin file.&nbsp; </p> <!-- code formatted by http://manoli.net/csharpformat/ --> <div class="csharpcode"><pre><span class="lnum"> 1: </span><span class="kwrd">&lt;</span><span class="html">gml</span> <span class="attr">id</span><span class="kwrd">="MissionResearch_DisableExample"</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 2: </span> <span class="kwrd">&lt;</span><span class="html">info</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 3: </span> <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>Disable Addin Example<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 4: </span> <span class="kwrd">&lt;</span><span class="html">versions</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 5: </span> <span class="kwrd">&lt;</span><span class="html">version</span> <span class="attr">match</span><span class="kwrd">="2.0.*.*"</span> <span class="attr">module</span><span class="kwrd">="version2"</span> <span class="kwrd">/&gt;</span></pre><pre><span class="lnum"> 6: </span> <span class="kwrd">&lt;/</span><span class="html">versions</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 7: </span> <span class="kwrd">&lt;/</span><span class="html">info</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 8: </span> <span class="kwrd">&lt;</span><span class="html">module</span> <span class="attr">id</span><span class="kwrd">="version2"</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 9: </span> <span class="kwrd">&lt;</span><span class="html">objects</span><span class="kwrd">&gt;</span></pre><pre><span class="lnum"> 10: </span> <span class="kwrd">&lt;</span><span class="html">object</span> <span class="attr">id</span><span class="kwrd">="MyObject"</span> <span class="attr">type</span><span class="kwrd">="vbscript"</span> <span class="attr">url</span><span class="kwrd">=""</span> <span class="attr">cache</span><span class="kwrd">=""</span><span class="kwrd">&gt;&lt;!</span>[CDATA[</pre><pre><span class="lnum"> 11: </span> Sub EventHandler(Ev)</pre><pre><span class="lnum"> 12: </span> If Ev.Data.Url = "toolbar" Then</pre><pre><span class="lnum"> 13: </span>