Food Bank Source Code

3.0 Download

Click here to download the 3.0 food bank source code. The code was built using Visual Studio 2010 and the 3.0 version of the Blackbaud CRM SDK. After you download the source code, unzip the file to a directory on your local development machine and open it with Visual Studio 2010. The 3.0 code samples are cumulative and build on the 2.94 code samples.

2.94 Download

Click here to download the 2.94 food bank source code. The code was built using Visual Studio 2010 and the 2.94 version of the Blackbaud CRM SDK. After you download the source code, unzip the file to a directory on your local development machine and open it with Visual Studio 2010.

Change Log

Below is a listing of the latest improvements to the food bank source code.

Date Title Description
4/15/2013 Added composite column list builder. New to 3.0

Added list builder with composite columns with images.

See FoodBankListBuilderCompositeColumn.Query.xml

4/15/2013 Display a DetailViewForm in UI Widget. New to 3.0

Display a DetailViewForm for a Selected Row in a List Widget. See Display a DetailViewForm for a Selected Row in a List Widget section within What's New 3.0

4/15/2013

PostActionEvent Toast. New to 3.0

A TaskSpec now has the ability to display a "toast" notification after a task successfully completes. See "PostActionEvent Toast"

within What's New 3.0

4/15/2013 New BatchTypeAddInSpec New to 3.0 New BatchTypeAddInSpec used to register an addin for the Constituent Batch batch type. Creates a FieldChangedHandler for the Address type code column in the batch ui. 'If the user selected "Business" from the Address Type drop down list within the batch ui grid ' then default the Country field to 'Australia'. See Batch Type Add-In.
9/4/2012 Added Food Item Batch Import Handler. New to 2.94.

Added SP based Global Change named 'Food Bank Delete Transaction History Global Change (Custom) '

Catalog Project Files

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\GlobalChange\FoodBankTX.DeleteHistory.GlobalChange.xml

8/28/2012 Added Food Item Batch Parameter Set. New to 2.94.

Added new 2.94 parameter set for batch type validation. Added simple wizard generated ui model code and html file for layout.. See food item add batch type

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\Batch Types\Food Item\FoodItemAdd.Batch.xml.

See Parameters tag within food item batch type spec. See related params and hidden form fields within add, edit, and commit data forms.

  Added Food Bank List Builder New to 2.94.

Added new QueryViewSpec to be used as List Builder

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\ListBuilder\Final\FoodBankListBuilder.Query.xml

See related videos

8/3/2012 Added UI Widgets

Added Top food item shortages UI widget breakdown chart widget, multi data series area chart widget, and Top Shortages by Food Bank list ui widget. Referenced and displayed within new workcenter page (see next row).

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\UI Widgets\Low Inv BP Run\UIWidget Chart\Completed Settings\LowInvBPRunsBreakdownChartSettings.UIWidget.xml

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\UI Widgets\Low Inv BP Run\UIWidget Chart\Completed Settings\LowInvBPRunsMultiSeriesAreaChartSettings.UIWidget.xml

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\UI Widgets\Low Inv BP Run\List Widget\FoodBankTopShortages.UIWidget.xml

See related videos

8/3/2012 Consolidated FoodBank.Package.xml Copied dependency elements from separate batch and business process package specs. Added reference to new Food Banks Workcenter Page, UI Widgets, and List Builder specs.
7/1/2012 Added New Workcenter Page

A new webshell workcenter style page within a new, alternative Food Banks functional area that provides food bank tasks, UI widgets for inventory, and a list builder. Goes with new Functional area named "Food Banks" see new FoodBanks.FunctionalArea.xml. Actions on page feel like Tasks. New UI Widgets and list builder place within this workcenter page.

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\FoodBankWorkcenter.Page.xml

7/1/2012 New Food Banks Functional Area and Task to call new Workcenter Page

New Functional area for the food bank customization. Optimized for Web Shell User Interface. Uses new "Food Banks" task to open the new workcenter page.

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\FoodBanks.FunctionalArea.xml

<install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog\FoodBanks.Task.xm

Visual Studio Solution and Project Descriptions

The food bank Visual Studio 2010 solution file is named Blackbaud.CustomFx.FoodBank.sln and contains the following projects.The solution file can be found within <install folder>\Blackbaud.CustomFx.FoodBank\ directory.

Project Name Location Description
Blackbaud.CustomFx.FoodBank.Catalog.vbproj <install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Catalog The catalog project that holds xml specs for the various features such as data forms, tables, list builders, record operations, batches, etc.
Blackbaud.CustomFx.FoodBank.UIModel.vbproj <install folder>\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.UIModel The UI Model project that holds CLR classes used for presentation layer behavior for features. Holds HTML files for UI layout for features. This is the companion of the catalog project and a replacement for the Blackbaud.CustomFx.FoodBank.Client.vbproj (see next row).
Blackbaud.CustomFx.FoodBank.Client.vbproj <install folder>\TrainingCourse\Blackbaud.CustomFx.FoodBank\Blackbaud.CustomFx.FoodBank.Client Legacy project for advanced winform based functionality. Prior to Web Shell, 3rd party developers could write custom features that rely upon Windows Forms technology for advanced user interface functionality. Windows Forms technology does not directly translate to a pure web browser based user interface. Features that currently rely on Windows Forms technology won’t work when browsing the application in Web Shell. While these features currently work in the ClickOnceSmart Client, these features will need to be rewritten to work in Web Shell. These types of projects are obsolete and should be replaced with a UI Model project. See UI FAQ

Food Bank Overview

This source code helps to demonstrate how to build a food bank management tool that allows a charitable organization/food bank to receive, distribute, manage, and track food inventory. The listing below describes the requirements for the entire food bank solution. The food bank functionality consists of custom features that you can add to a Blackbaud CRM installation.

  1. The system allows you to create, edit, and delete food banks.

  2. The system tracks the food item donations from other constituents and the distribution of food items to constituents in need.

  3. The system maintains a list of individual food items.

  4. The system tracks individual food bank transactions. A transaction consists of the reception or distribution of a food item. Individual transactions (transaction detail) can be grouped together and managed together under a single transaction header.

  5. The system allows you to add, edit, update, delete, and view food banks.

  6. The system allows you to add, edit, update, delete, and view food items.

  7. The system allows you to add, edit, update, delete, and view food bank transactions for a given food bank. The system allows you to enter food bank transactions in bulk through batch import.

  8. The system tracks the current state of food item inventory for each food bank.

  9. The system indicates low inventory levels for each food item.