This page containts some screengrabs, html page archives, and links, where
possible, to a few portions of some of my past work. Please note that
many of my projects, most notably the Coastal Services Center (CSC) Management
Information System (MIS) and the CSC Information Request Tracking System (IRTS)
are intranet sites and are not publicly available.
SQL Sample
I believe it is long enough after working at Blackbaud for me to share this
little bit of SQL, especially since it's obsolete with version 7.6. Raiser's
Edge (RE), Blackbaud's flagship product, is software that allows
non-profits to track donors, sending them mail solicitations, keeping track of
what sorts of appeals each donor appreciates, even some support for seating
donors attending fundraiser dinners, with the right modules. Of course the
amount a donor has given would be an important thing to track, and RE does that
well, gift by gift, from first to most recent.
One thing that RE did not do, at least not in any way that was considered
viewable, until version 7.6 was keep a historical record of adjustments to
those gifts. If someone accidently wrote that Jane Doe had donated $300 when
she had donated $3000, after the adjustment to the original gift had been made,
the original $300 gift dropped off of the face of the planet.
Raiser's Edge was not designed to be used as a historical financial managment tool; that was what The Financial Edge did and does. Regardless, RE was powerful enough many people wanted to have historical,
auditable gift reporting.
That's where these views come in handy. Using them to create a SQL view that replaced one gift table would seamlessly
create audit-level historical tracking with RE, something Product Development at Blackbaud said was impossible to do.
They did not know they were lying, apparantly, as they changed RE's database schema in version 7.6, not even at a major
version change, which added the feature and, well, broke this fix literally a week or so after I made it.
In any event, it does make for interesting SQL, and added historical adjustment reporting to any legacy
RE 7.5 or lower report by changing one table name in the report's construction. Very efficient, done in the database as it should have been,
and actually pretty quick, too.
Though I have modified and maintained some Internet mapping sites that use
ESRI's MapObjects,
the vast majority of my experience falls under ESRI's latest IMS technology,
ArcIMS. I
have created a reusable template "from scratch" for ArcIMS using ASP. This
extensible template sped site development considerably as it was designed
to be quite easy to customize. These applications run on Microsoft
IIS, and are live on the Internet today.
To date, the most popular site has been the Historical Hurricane Tracks Tool, which
allows users to query a system that includes over one-hundred years of tropical storms
on the East Coast of the United States to see what storms might have passed through
their neighborhood. This site was highlighted at USAToday.com in a weather article.
The most complicated site is the "RAster Data Delivery System" or RADD. This site uses
ArcIMS to provide visualization aids to users who want to download
C-CAP Data
from around the country. My responsibilities included not only the creation of the
ArcIMS interface, but also the Java middleware that forwards requests to IMAGINE
(a GIS tool suite that can clip raster data), zips the results with customized metadata
(also made by the middleware), places the data on a publicly available ftp site,
and emails the user that their request is ready.
The BAP application is unique to CSC in that it is the first piece of software
designed to be installed on a user's computer. One of CSC's signature product
lines is the CD-ROM. When I started at CSC, CD-ROMs released had only static content.
They held simple text and images in html format along with some spatial data
that people could use only if they had expensive Geographic Information System
(GIS) software like ArcView. To
get more dynamic content onto CDs, I first helped create dhtml pages with
Javascript to include everything from simple mouse-over image swaps -- a "poor
man's GIS viewer" -- to a Javascript-powered full-text indexing application
that could highlight search terms once the user moved on to an html page with
a hit, all from a CD with no software installation.
The browser as a means of delivery, though successful, was fairly limited. The
BAP is the culmination of integrating CSC's html skills with truly dynamic
content without browser constraints. By moving outside of the browser into
Visual Basic, product users could not only read a tutorial of how to foreground
their issues on a web site, now they would have their web pages created for
them as they followed along and consolidated their information together. By
using the Internet Explorer engine in the BAP application, the PIVOT team was
able to continue to leverage CSC's html design abilities. The embedded IE
engine also allowed simple hyperlink clicks to set off processes, like writing
out files or creating html image maps, that could not have been easily done
within a traditional browser's security constraints.
BAP was released to a select group of National Estuary Program (NEP) leaders in
Summer of 2002, and is set for general release to the public in December 2002.
Coastal Services Center Management Information System (MIS)
The MIS assists CSC allot its fifteen-plus million dollar budget and nearly
one hundred employees over scores of projects. This application uses
Microsoft SQL Server running on Microsoft Internet Information Server (IIS)
and creates a web interface using vbscript-powered Active Server Pages (ASP).
Javascript is used to ensure data entry meets specific criteria, and server-side processing
rechecks before entering data into the MIS database. This project is
an intranet-only site.
CSC solicits online customer information on a voluntary basis and the IRTS
collects and reports this information for internal use. The system both
requests information from users who are downloading products, including
email address and organization type, and reports these variables to the
lead webmaster for yearly reporting. The IRTS is also used to create mailing
labels when past customers request new products. This site is another
MS-SQL Server driven ASP site, and its reporting capabilities are intranet-only.