View My VisualCV Online:

In-house CMS

News story search

Story Browser

An important component of the in-house CMS for this online news site is this general-purpose news story search and browse tool, which can be launched in various contexts.  Here we see it as a modal dialog overlaid on a news story editing window.  The tool is built with jQuery and jqGrid.

Icon_doc_16 StorySearch.js

Partial source code (JavaScript and jQuery) for the news story search tool.

Book edition metadata import

Book Edition Search

Third-party publisher metadata and library catalog information can be imported to enrich documents that aggregate interviews and commentary on current and classic books.


One of the Apache Struts action classes that manipulates book metadata.

File browser

File browser

To associate a file with a news story, an editor/producer clicks the Browse... button, which opens a popup in the web browser.  The popup presents a Windows Explorer-like view of files on the web server, filtered by file type.  The editor/producer can preview the file before confirming the selection.

Icon_doc_16 Editing widget

Icon_doc_16 Browser popup

Icon_doc_16 Utilities

Icon_doc_16 Message logger

Selected source code for the file browser.

Combo box/auto-suggest

Combo box

Simulated combo box with auto-suggest features.  An editor/producer types keywords (or partial words) to specify a reusable query against the news story database.  As words are entered, the app presents possible matches across multiple ontologies (topics, story titles, artist names, etc.), which can be selected from a dropdown.  Only the first 10 matches are presented, so response is snappy.


Both tools were subsequently adapted to other uses within the app.

Icon_doc_16 Editing widget

Icon_doc_16 Auto-suggest

Icon_doc_16 Combo box

Icon_doc_16 Searchable dictionary

Selected source code for the combo box/auto-suggest.


An abstraction that enables an arbitrary list of content types to be represented in Java or JavaScript.


An implementation of the abstract class.


Survey Invitation

CRMSurveyor Survey Invitation

CRMSurveyor was an application for  When significant events occur (a sale is made, a customer support case is closed), CRMSurveyor automatically invited the customer to take a brief online survey to measure his/her satisfaction.  In this screenshot, the user specifies the timing and content of the survey invitations.

Report Distribution

CRMSurveyor Report Distribution

In this screenshot, the user specifies how periodic reports are to be distributed.

Icon_word_16 Installation and Customization

Setup instructions to the user.

Icon_pdf_16 Sample Monthly Reports

Find and Replace module

Find and Replace

Find and Replace

Utility module, part of an online survey designer tool.  User specifies text for which to search; the application scans text stored in an XML document tree, presents matches in context, and provides specific links for further editing.

Icon_doc_16 Find and Replace

Source code for the code-behind.

Icon_doc_16 Find and Replace

Source code for the web form.