CRAIG LEE BURKET
211 Pleasant St., Millis, MA 02054-1719
home: 508-376-9072, cell: 508-397-2468
Last updated: 2/20/2012
20 years experience (including 4 years of Professional Services experience) specifying, designing, implementing, customizing and
integrating software for web applications, content management, electronic publishing and document conversion; including:
Working with stakeholders in IT and application-development projects to converge on requirements and designs.
Writing requirements specs, functional specs, high-level/detailed design specs, project plans, time estimates and test plans.
Prototyping, implementing, unit-, integration-, regression-, security-, performance-testing, and deploying new functionality.
Diagnosing and fixing bugs; leading design-, code-, UI-, schedule-, and bug-reviews.
Writing configuration guides and developer guides for troubleshooting, maintaining and porting software I’ve developed.
Improving the portability of applications between operating systems, runtime environments, databases and browsers.
awk, C-shell, Bourne shell, Prolog
Standards: XSLT, XPath, HTTP, HTML, CSS, XML, SOAP, WSDL, PDF, DocBook, LDAP, DOM, WebDAV, SGML, UML, RTF,
Win32, POSIX, X11, Motif
APIs: .NET Framework 4, Word VBA, Excel VBA, Adobe Illustrator Scripting, .NET, Corda, telerik, J2EE (javax.xml.soap,
javax.servlet, javax.mail), J2SE (java.sql, java.awt), JDBC, ODBC, TrAX, Oracle UCM (formerly Stellent), ADO.NET, Adobe FDF
Toolkit, Acrobat Core, PDFEdit, PDFlib
IDEs: Visual Studio 2010 and 2008, Komodo, XmlSpy, Microsoft Visual Basic Editor, Adobe ExtendScript Toolkit, Dreamweaver,
Eclipse, JBuilder, ColdFusion Studio, JCreatorPro, Visual J++, Visual C++, Visual InterDev, HTML-Kit, CuteHTML
Implementation/Debugging Tools: Java Web Services Developer Pack, Xalan, XML parsers (xerces, msxml2, xp); JRun, Tomcat,
jdb, MS SDK for Java, JVISION, Web Servers (MS IIS, Netscape Enterprise Server, Apache); Windows Scripting Host, Signcode,
Netscape Signtool; Purify, g++, gcc, gdb, dbx, xdb, adb, GNUmake, etags, ctags, cflow, sed, NFS, Samba, Ataman, mwm
Testing Tools: MS Web App Stress Tool, WebTrends, BoundsChecker, PureCoverage, Quantify, CodeCenter, TestCenter
Source Code Control Systems: Team Foundation Server, CVS, Subversion, MKS SI, Visual SourceSafe, Surround SCM, ClearCase,
Content/Records Management Systems: SharePoint 2010, SharePoint 2007, Oracle UCM (formerly Stellent Content Server, Stellent
Content Tracker and Stellent Content Publisher), MDY FileSurf, Stellent Collaboration Server, empolis SiGMaLink
Directory Services Tools: Novell eDirectory, Novell DirXML, LDAP Browser\Editor v2.8.1, Sun ONE Directory Server
Database Tools: MS SQL Server 2008, 2005 and 2000, SQL Server Management Studio 2008, SSIS, DTS, Rapid SQL, Oracle 9i
(Enterprise Manager, SQL*Plus, loadjava, imp, exp); DbVisualizer, Toad, MSDE, MS Access
Connectivity Tools: Microsoft Terminal Services, Webex, NetMeeting, VPN, Windows XP Remote Desktop Connection, VNC,
Documentation Tools: MS Word, TextPad, MS PowerPoint, MS Excel, OpenWiki, Stellent OutsideIn, Adobe Acrobat, Adobe
FrameMaker, Quark XPress, javadoc, Interleaf, emacs, vi
Operating Systems: Windows Server 2003, Windows XP/2000/NT/98/95, MacOS 9, Solaris, Linux, HP-UX, AIX, IRIX, DEC
UNIX, DG/UX, Novell UnixWare, SCO UNIX SystemV/386, Motorola UNIX SystemV/88
Hardware: Intel Pentium, Intel x86, Sun UltraSPARC, Sun4, Sun3, DEC AXP, HP 700, IBM RS6000, Silicon Graphics, Motorola
Delta Series, DG AViiON, GraphOn
WHISTLING FROG SOFTWARE, Millis, MA August 2010 to Present
An independent Professional Services provider.
Consulting Software Engineer
Client: Public Consulting Group, Boston, MA, PublicConsultingGroup.com August 2010 to Present
Added a set of new web pages and their menu items to an existing client-facing web application. Designed and implemented
the UI-controls and underlying business logic and database structures used by the functionality of these new pages. Wrote a
detailed set of tasks and estimates for developing this project.
CRAIG LEE BURKET
Upgraded a web application from using .NET Framework v2.0 to v4.0. Put the source code for this application into Team
Added front-end UI features and back-end stored procedures, functions, views and SQL scripts to implement complex
business logic in web applications used for reviewing Medicaid claims and tracking Medicaid appeals; used ASP.NET,
VB.NET, .NET Framework 4, HTML, SQL Server 2008, SQL Server Management Studio 2008, Visual Studio 2010, Team
Foundation Server, CVS and SharePoint 2010.
DECISION RESOURCES, INC., Waltham, MA, DecisionResources.com January 2007 to June 2010
A provider of business analytics and market research for the pharmaceutical industry.
Designed and implemented a SharePoint 2010 sequential workflow (in VB.NET, using Visual Studio 2008) that operates on
document sets. Wrote a requirements/design spec for this workflow. Added infrastructure for this workflow in SharePoint 2010
including a new site, a document library, custom list, custom Content Type, and site columns.
Designed and implemented a SharePoint 2007 state-machine workflow (in C#, using Visual Studio 2008).
Designed and implemented a prototype SharePoint 2007 workflow using SharePoint Designer.
Designed and implemented the DecisionBase2010 product.
Upgraded an instance of Stellent Content Server v7.5.2 to UCM 10gR3.
Designed and implemented a set of Perl scripts that:
read the contents of tables in input Word documents and use their data to sort the contents of the input docs and create new
tables in an output Word document.
extract ranges of cells from an Excel spreadsheet and convert them to tables in an output Word document
aggregate tables from input Word documents and inserts them into a copy of a template Word document.
output a Stellent BatchLoader script, assigning appropriate metadata values to each file based on its location in the given
filesystem hierarchy. Used this to batch-load a hierarchy of legacy documents into Stellent Content Server.
Enhanced, maintained, debugged and documented:
A SQL Server 2005 database of epidemiological data.
A web application (in ASP.NET and C#) that is used in-house to add/modify/delete data in the above database.
A set of SSIS and DTS packages that flow data from the above database to the back-end database for the company’s Patient
Wrote a SQL stored procedure that queries Stellent Content Tracker data in order to extract date-of-first-access for given classes
of content items by given subscribers.
Designed and implemented the DecisionBase2009 product.
Wrote a Stellent BatchBuilder mapping file that uses IdocScript to assign custom metadata values based on filenames of the files
to be batch loaded.
Developed an XSLT transform that reads an Excel spreadsheet (saved as SpreadsheetML) and outputs SQL code for loading the
spreadsheet’s data into a particular SQL Server database. Extended the schema of this database.
Wrote and maintained design specs for new features to be added to the DecisionBase2008 product. Set up development and
staging environments for DecisionBase2008 and implemented one of its new features: a “Drug Profiles” page (using ASP.NET
Installed and configured an instance of Microsoft SharePoint Server 2007. Designed and deployed a hierarchical SharePoint site
collection representing the company’s departments and offices.
Conducted requirements-gathering interviews and wrote a Requirements Specification, a Feature Matrix and an Executive
Summary presentation for a proposed enterprise scheduling and resource-allocation system to be developed and used in-house.
Designed and implemented 2 Oracle UCM (formerly Stellent Content Server) criteria workflows (each with a hierarchy of
Contribution Folders) for the in-house Editorial group, using IdocScript and workflow tokens in the Entry, Update and Exit
events of the workflow steps.
Proposed, designed, implemented and maintained utilities for the Production department:
a “reference manager data importer” module (in Word VBA) that imports docvars and fields meeting certain criteria from a
specified Word document into the current Word document.
a “figure data extractor” module (in Excel VBA) that extracts data to be graphed from a given set of spreadsheets and saves
this data as a set of tab-separated-value (TSV) text files suitable for input to a “figure data importer”, which is a set of
graph data from a given set of TSV files into a given template graph object, renders each graph and saves it as an Illustrator
(.ai) file. Enhanced these utilities to support multiple graphs per template.
a Perl script that uses the HTML::Parser module to make transformations in the HTML output from Stellent Content
Implemented, tested, deployed and maintained the DecisionBase 2007 web application (using ASP.NET and C#).
CRAIG LEE BURKET
Completed the design specifications, timeline, test plan and bug-tracking system for the DecisionBase 2007 web application
product (see details below).
WHISTLING FROG SOFTWARE, Millis, MA August 2006 to December 2006
An independent Professional Services provider.
Consulting Software Engineer
Client: Decision Resources, Inc., Waltham, MA August 2006 to December 2006
Developed specifications (user interface, functionality, high-level design, detailed design, database schema, metadata schema)
for a new web-application product (DecisionBase 2007), which consists of:
a middle tier using web services and C# , consisting of the following layers:
code-behind (event-handlers) for objects in the .aspx, .ashx and .master files
C# classes, methods, and properties that implement the business logic and its supporting data structures
a data-access layer that encapsulates:
communication via SQL with the back-end database
communication via web services with the back-end content management system
a back-end consisting of SQL Server and Oracle UCM (formerly Stellent Content Server)
Set up and maintained Subversion as the source-control system for use by the development team.
Implemented a workaround for a bug in a customized instance of Oracle UCM (formerly Stellent Content Server).
MOODY’S INVESTORS SERVICE, Jersey City, NJ, moodys.com August 2005 to August 2006
A provider of credit ratings for bonds and other financial instruments.
Maintained and enhanced an instance of Java-based Stellent Content Server 7.1 that:
is integrated with a records-management application (MDY FileSurf), and
has an extensively customized UI based on the Stellent Folders component.
Planned, scheduled and executed the migration of this Content Server instance from using local storage to using Network-
Attached Storage (NAS).
Diagnosed and fixed bugs in workflow, UI, help system, and the synchronization between the Stellent and FileSurf databases,
using Java, IdocScript and SQL.
Added new DocTypes whose visibility is conditional on the context in which a document is being checked in.
Planned, coordinated, and participated in controlled “rollouts” of enhancements and bug fixes from the QA environment to the
Enhanced a report generator (implemented in Perl) that performs SQL queries on the Stellent database to generate reports on
policy-compliance as Excel spreadsheets.
Created SQL queries and WebTrends profiles to generate weekly/monthly reports that show statistics on the usage of the Stellent
system. Wrote training documentation on how to use these tools to generate and customize these reports.
Collected and analyzed performance-related data about the Stellent system’s hardware, networks, databases, and customized
code in order to identify bottlenecks and suggest changes to improve performance. Implemented and assessed the results of
these performance improvements.
Diagnosed problems reported by internal users to differentiate between those due to user-error and those which represent bugs in
the Stellent/Filesurf databases and/or source code.
Set up a Stellent Content Server instance for integration with Mercury testing tools for performance monitoring/analysis.
Wrote documentation for developers (as a set of wiki pages) about the Stellent and Filesurf instances at Moody’s.
WHISTLING FROG SOFTWARE, Millis, MA 2002 to 2005
An independent Professional Services provider.
Consulting Software Engineer
Client: Frontline Logic, Russiaville, IN, FrontlineLogic.com Sept 2004 to July 2005
Project sponsor: CGI-AMS July-August 2005
Enhanced the Java-based ExtendedSearch component for Stellent Content Server that I developed for this client in 2003 (see
below). The enhancements are to: (1) support conjunctions of clauses in the given query, (2) handle metadata values in the
CRAIG LEE BURKET
query that contain spaces and/or HTML-encoded characters, and (3) improve performance by dynamically constructing SQL
queries that return the documents that match all the clauses in the query.
Project sponsor: Carrier Corp. March-July 2005
Advised the decision-makers in a corporate IT department and helped them reach agreement on functional requirements, buy-
versus-build decisions and a project plan for upgrading their Stellent content management system from version 4.6 to 7.1:
Proposed a range of options for functionality and high-level design to meet the requirements.
Tested and evaluated utilities, web applications and Content Server components from several vendors for their suitability to
the project; estimated the effort required to customize and integrate them.
Prepared and presented demos (via Webex) of: (1) preliminary customizations (using ASP3, JSP, IdocScript, and SQL) of
the above tools and components to address: (a) interactively querying/updating values of a metadata field across a set of
content items, (b) managing relationships between documents, (c) restricting visibility of doc types based on Accounts and
(d) restricting visibility of metadata fields based on doc type; (2) the use of Stellent’s Metadata Schema Mapping feature to
create a dependent choice list that depends on values of dDocType; (3) the use of BatchLoader for updating metadata
Installed and configured the Tomcat 5 JSP server and customized Content Server’s database by adding custom tables (using
SQL Server Enterprise Manager).
Wrote detailed instructions for the client’s IT staff on how to implement specific sub-tasks of the project.
Mentored the client’s IT staff in using Configuration Manager, Repository Manager, User Admin, Batchloader database
tools and Adobe Acrobat to: (1) configure users, accounts, doctypes, metadata fields, option lists and dependent choice lists
for a Content Server instance, (2) update metadata values using Batchloader scripts and diagnose/fix failed updates, (3)
update/rebuild the Verity full-text search collection and resolve problems with this process, and (4) optimize/linearize the
PDF files in the repository.
Developed test cases and test plans for the above changes.
Gave an overview and demo (via Webex) of Content Server’s workflow functionality for representatives from business
units at Carrier.
Project sponsor: State of Alaska Department of Natural Resources May-June 2005
Analyzed the Java source code and behavior of a Content Server component written by another consultant in order to write a
Developer’s Guide document for the client that describes (1) how to use Component Wizard and Component Manager to
create, maintain, package and install Content Server components in general and the client’s component in particular, (2) the
purpose, actions and usage of each of the component’s resources, services, templates, queries and custom database tables, and
(3) techniques and resources for troubleshooting and debugging Content Server components. Helped the client (via phone and
webex) to diagnose and fix a bug in the component’s IdocScript.
Project sponsor: Moody’s Investors Service January 2005
Designed and implemented (in Java) a Stellent component for publishing documents from Stellent Content Server 7.1 to the
client’s corporate website. Implemented this as a custom IdcService that uses the javax.xml.soap classes (from the Java Web
Services Developer Pack) to: (1) construct a SOAP message containing the given document’s metadata and base-64-encoded
content, (2) send the SOAP message to a web service and (3) parse the response from the web service to determine success or
failure. Added Stellent templates and IdocScript resources to enable calling this service interactively from the standard
Content Information page, and to report its results on a custom page.
Project sponsor: Moody’s Investors Service December 2004
Wrote a custom Stellent search service (in Java) that is like Content Server’s standard search except that it returns a single
result for each group of documents that have the same value for a particular metadata field, whose name is specified in an
environment file. The returned ResultSet has an added field that contains the number of documents in each group. Developed
and unit-tested this new service in a new component, then integrated it into an existing component. Wrote new Stellent
with a given set of GUI requirements and mockups.
Project sponsor: Moody’s Investors Service September 2004 – February 2005
Customized a Stellent Content Server 7.1 instance to enable using it as a “back-end content management system” that (1)
replaces a UNIX filesystem as the repository for content that is published to a corporate website, and (2) provides a set of web
service operations that are called from libraries in the middle tier:
Captured and clarified requirements, and proposed high-level design alternatives for meeting these requirements. Defined
project milestones, dependencies, risks, deliverables and schedule.
Installed Content Server 7.1.1, Dynamic Converter, and the SOAP and Folders components on Windows Server 2003,
using SQL Server as the back-end database, and IIS 6 as the webserver.
Designed and implemented a metadata schema for this Content Server instance.
Wrote a detailed design spec, test plan, installation/configuration guide and developer’s guide for the new system.
Implemented and tested a Stellent component (in Java, using Eclipse) that provides custom Stellent services that implement
the above web service operations. Generated a WSDL file for these services to make them callable as a web service via
SOAP. Developed test drivers (using Stellent’s Java- and VB-based Soap Clients) for unit-testing and regression-testing
the new web service operations.
CRAIG LEE BURKET
Conducted weekly code reviews of the new web service (and its underlying custom services, sub-services, handlers, queries
and supporting Java classes) with the engineers who will maintain the system.
Client: Millis Democratic Town Committee, Millis, MA, MillisDems.org October 2004 – November 2006
Designed, implemented (using Dreamweaver) and deployed the original millisdems.org website.
Provided training and documentation on how to maintain and extend it.
Maintained the site with occasional updates as requested by the client.
Client: Ovitas, Inc., Woburn, MA, ovitas.com August 2004
Invented a demo for the integration between a content management system (empolis SiGMaLink) and Adobe FrameMaker:
created FrameMaker native documents and books; scripted the demo; configured the SiGMaLink server installation and its
underlying Oracle database: added users, groups, workflows, metadata schema and instances, relational query masks, and hooks.
Participated in the presentation of the demo.
Set up a pipeline for converting "image only" PDF documents to HTML using Acrobat Page Capture and Stellent OutsideIn
HTMLExport with a customized output template. Enabled batch processing for this conversion using a custom batch sequence
in Acrobat and a Windows batch script that applies HTMLExport to the PDF Normal files in a given input directory and writes
the output .htm files to a given output directory. The dataflow is: PDF Image Only => (Acrobat Page Capture) => PDF Normal
=> (OutsideIn HTMLExport) => HTML.
Client: Duck Designs Co., Derry, NH July 2004
on a given graphical design.
Client: Media Entities, Inc., Medford, MA, MediaEntities.com January-July 2004
Designed and implemented XML DTDs, XML test files, MS Word templates, master pages in Quark XPress document
templates and mappings between XML elements and named styles in the Word and Quark templates. These are used by the
Media Entities “XML ToolWorks” application to automate the process of flowing content between Word and Quark documents.
The dataflow is: Word (ToolWorks Import/Export) valid XML (ToolWorks Import/Export) Quark. Tested this on
Windows 2000, XP, and MacOS 9.
Extracted DocBook-compliant XML from PDF files using the CambridgeDocs “xDoc Converter” application. Customized the
rule-sets and XSLT transforms that are used in this process. Developed a set of regular expressions to find and fix errors in the
XML generated by the above application.
Wrote a Quark Xtension (in C) that provides an API for iteratively applying a caller-supplied function to the files in a given
directory that are selected by a caller-supplied filter function.
Client: empolis North America, Inc., Burlington, MA, empolis-na.com September-December 2003
Customized the SiGMaLink content management system for use in a medical reference publishing application:
Designed and implemented a Java class that uses the SiGMaLink API to export XML “information objects” (consisting of
articles on medical topics) from a SiGMaLink repository, and transforms these objects into an intermediate XML format
suitable for conversion to HTML. The transformation includes replacing specified character entities with XML elements
and using XSLT (via the Xalan-Java API) to delete specific elements and their contents.
Implemented a knowledge model (consisting of database tables and indexes in Oracle 9i) that associates keywords and
phrases (together with their modifiers, synonyms and rankings) with their locations and context within the information
objects of the above SiGMaLink repository.
Designed and implemented Java classes that query and update the above database tables (via SQL, using JDBC) in order to
output a set of cross-referenced index files (in XML) that are used by a search engine.
Made the methods of the above classes callable from within Oracle 9i as stored procedures. Wrote a façade class that
provides an interface for calling the stored procedures from JSP.
Wrote a SiGMaLink request hook that sends email notifications (using javax.mail) when an information object is checked in.
Installed and configured Oracle 9i and SiGMaLink on Windows XP and Windows 2000.
Client: Binary Minds, Inc., Medway, MA, BinaryMinds.com August 2003
Implemented 2 solutions for generating 2D barcodes that can be called from ColdFusion 5 Markup Language (.cfm) files:
Modified a third-party Java servlet (using javax.servlet) so that it accepts the necessary input parameters for initializing the
underlying barcode-generator class, converts the output image to PNG format by calling a freeware PNG encoder, writes
the result to a specified file and returns a status message. Installed the JRun application server, installed the modified
servlet within it and wrote a .cfm test page that calls the servlet.
Wrote a Java CFX tag that provides the same functionality as the above servlet (by calling the same underlying classes), but
can be used in an environment where no servlet containers or application servers are installed.
CRAIG LEE BURKET
Client: Alliance Consulting, Framingham, MA, alliance-consulting.com October 2002 – August 2003
Project sponsor: Colliers International -- Phase 1: Oct 2002 – Feb 2003
Wrote XSLT transforms for an LDAP server implementation that uses Novell’s eDirectory, DirXML and XDS DTD. The
XSLT implements business logic that determines the placement, initialization and modification of objects in a central LDAP
repository (a Directory Information Tree implemented in eDirectory). These objects represent name-and-address-book entries
for employees and email distribution groups. They are created, renamed and moved during automated data-import and data-
update processes using DirXML. Much of the XSLT code deals with detecting, handling and reporting error conditions (e.g.,
missing/invalid/inconsistent attribute values and illegal operations) as the name-and-address-book entries (and changes to
them) are pulled into the repository from instances of MS Exchange, Active Directory, and Lotus Notes/Domino. Used Novell
ConsoleOne along with an LDAP browser to test and debug this code.
Project sponsor: Colliers International -- Phase 2: August 2003
Modified the DirXML drivers to recognize additional attributes of the imported entries. Enhanced the XSLT transforms to (1)
set the password of a newly created object to a placeholder value and (2) handle an “ExcludeFromRepository” attribute on
imported entries, whose boolean value determines whether an object for the entry should be created in or deleted from the
Client: Molecular.com, Watertown, MA, molecular.com May-July 2003
Project sponsor: Genzyme Corp.
Advised a team of web developers on using Stellent Content Server and Stellent Content Publisher to construct a public-facing
website for their client, Genzyme. Facilitated technical communication in meetings between developers and managers from
Molecular and Genzyme. Defined high-level milestones and implementation tasks for the project and created a proof-of-
concept Content Publisher project file. Identified and resolved technical issues in setting up a development environment at
Molecular.com with remote access (via VPN) to Genzyme’s Content Server repository.
Client: Frontline Logic, Russiaville, IN, FrontlineLogic.com April-July 2003
Project sponsor: Boston Stellent Users Group Sept 2003
Gave a presentation/demo of the ExtendedSearch component that I implemented (see below).
Project sponsor: Raytheon Co. July 2003
Installed and configured Stellent applications (Content Server, Inbound Refinery, PDF Converter, the Folders component,
WebDAV support (including the Tomcat servlet container), Dynamic Converter and Content Publisher) in a secure IT
environment. Provided instruction on the functionality of these applications and on the tasks and concepts involved in
administering them. Discussed alternative schemes for enabling developers and content authors to use the Stellent applications
to build and maintain the client’s websites.
Project sponsor: CGI-AMS April-June 2003
Designed and implemented (in Java) 2 components for Stellent Content Server that use ServiceHandlers to define custom
actions that are inserted into standard Stellent services: (1) the ExtendedSearch component extends the standard Search service
to include documents in workflows and work-in-progress documents (by sending SQL queries to the Content Server database);
(2) the ContributionReview component replicates check-in operations on a remote Content Server instance, using Stellent’s
“idcbean” package to communicate with the remote server.
Client: Crown Partners LLC, Oakwood OH March-April 2003
Fixed bugs and added enhancements to a customized instance of Stellent Content Server and Stellent Content Publisher where
files stored in Content Server.
Specified requirements, design options, implementation tasks and time estimates for a project that uses Stellent Content
Publisher and Content Server to construct a website with complex navigational controls.
Integrated a Stellent Content Server installation with an LDAP source (Sun ONE Directory Server) for user authentication and
authorization. Configured Content Server’s default LDAP Provider so that (1) a user’s membership in specific groups in the
LDAP directory results in the assignment of the appropriate Roles and Accounts to that user when they log in to Content Server
and (2) specific LDAP user attributes are mapped to user metadata fields in Content Server.
Client: Quotient, Inc., Columbia, MD, quotient-inc.com February 2003
Evaluated and ranked the ability of Stellent's content management/publishing products to meet 150 specific technical
requirements, as part of an objective comparison between Stellent and a competing content management system.
Client: W.A. Wilde Co., Holliston, MA, wilde.com September-November 2002
Gave tutorials on Stellent Content Server 6.1 (including security models, workflows, the Folders component and WebDAV
support) and a presentation on .NET technologies to the CIO and IT staff.
Developed a web application (using ASP.NET, VB.NET, ADO.NET and COM wrappers) that is a front-end to an inventory
database implemented in SQL Server. The application provides a browser-based GUI for creating, deleting and updating objects
CRAIG LEE BURKET
(and their properties and relationships) in the database. It also allows specified operations to be applied “in bulk” to specified
sets of objects in the database. The dataflow for this application is: ASP.NET Web Form controls VB.NET objects
ADO.NET objects COM wrapper classes ADODB RecordSets a legacy database API in VB6 SQL database
STELLENT, INC. (formerly IntraNet Solutions, now part of Oracle), Marlborough, MA, stellent.com 1999 to 2002
A provider of web-based content management and data-conversion software, with headquarters in Eden Prairie, MN.
Senior Software Development Engineer
Developed a set of Java adapter classes for integrating Stellent Content Categorizer with categorization engines from other
vendors. Designed and implemented a package that extracts a taxonomy from a categorization engine and converts it into a set
of dynamically generated web pages (linked in a tree structure), to enable navigation of the taxonomy in Stellent Content Server.
Developed an applet-based GUI for configuring and running this process.
Enhanced Content Server’s browser-based Check-In and Update pages so that Content Categorizer can be invoked to update the
metadata of an item in the repository, in addition to suggesting metadata values when the item is first checked in.
Enhanced Content Server’s search-results pages so that for each item found, each of its assigned categories is displayed as a
“taxonomy vector” (a breadcrumbs-style path), where each element of the vector is a link to the web page for that category in
one of the navigable taxonomies.
Wrote XSLT stylesheets that transform XML in the Flexiondoc and SearchML schemas of Stellent’s “Outside In XML Export”
into the XML format used by Content Categorizer. Used Apache's Xalan XSL processor and Xerces XML parser, called via
Apache's Xalan-Java implementation of the Transformation API for XML (TrAX).
Designed and implemented a utility for merging PDF Forms Data Files (FDF) into a PDF template file and outputting the result
as either PDF or Postscript. Wrote this in C++, using Adobe’s FDF Toolkit, Acrobat Core API, PDFEdit API and PDF Library
As part of a small development team, specified, designed (using UML class diagrams) and implemented (as a multi-threaded
Java application) the Stellent Report Parser product, which takes database reports as input, extracts metadata from them
according to user-specified rules, splits them into content items of specified granularity, converts these items to PDF, HTML, or
XML+XSL and checks in the results to Stellent Content Server. Added a “pass-through” mode in which the input files (and
extracted metadata) are checked in without any format conversion. Developed (using java.awt) an interactive editor for the
persistent objects (“Blueprints”) that specify how Report Parser processes particular types of input reports. Tested this product
on Solaris (invoked via a Bourne shell script), Windows NT and Windows 2000. Fixed bugs caused by differences between the
Java implementations on these platforms.
Wrote a custom doclet that generates an overview of Report Parser’s Java packages, interfaces and classes.
Wrote a utility in VB6 that mediates inter-process communication between Stellent Content Server and a records-management
application (ForeMost Enterprise).
Designed and implemented a “personal navigation environment” for Stellent Content Server, including user self-registration and
filters to manage subscription-based delivery of online content to authenticated users. Tested this product on Windows, Solaris
Attended and reported on technical conferences and seminars: Knowledge Management World 2001; Microsoft Web Services
Summit; IEEE/ACM Bioinformatics Lecture Series; Inxight webinars.
INTERLEAF, INC., Waltham, MA 1989 to 1999
A provider of software for complex technical publishing and document/content management.
Member of Technical Staff (Development Engineer)
Integrated a prototype implementation for the “Interleaf 7 XML” product (written in Lisp by another development team) into the
main branch of the Interleaf 7 source-code.
Designed and implemented the Publish-As-XML subsystem of Interleaf 7. Gave a presentation to other developers on the
architecture and implementation of the Publish-As-XML and Publish-As-HTML subsystems.
Diagnosed and fixed bugs in Interleaf 7 subsystems including Publish-As-HTML, I18N and lisp interpreter.
Implemented the use of vendor-supplied Motif/X1 libraries, header files and runtime environment files in Interleaf 7 on Solaris
and HP-UX. Consulted with technical contacts at Hewlett-Packard and Sun Microsystems to devise workarounds for vendor-
Developed a proof-of-concept prototype for DTD-compliant “structured authoring” of XML documents using an integration
between Interleaf 6 and Microstar's Near & Far Designer. Exhibited this prototype at the "XML '98" conference in Seattle.
CRAIG LEE BURKET
Wrote scope-of-work and design documents for Interleaf 7 enhancements including Publish-As-HTML, Publish-As-XML,
UNIX/Windows interoperability and a user-interface for file-format conversion.
Planned features, tasks and schedules for a set of “filter” utilities that perform bi-directional conversions between Interleaf
documents and other formats including RTF, WordPerfect, CGM, IGES, TIFF, JPEG, GIF.
Enhanced Interleaf’s graphics-conversion libraries (in C) to work with the Graphics Data Stream Format (GDSF, derived from
CGM) and ImageStream graphics libraries from Inso Corporation. Documented how these technologies are used by Interleaf’s
Enhanced Interleaf’s RTF import/export filters (in C) to handle Japanese text and fonts. Wrote scope-of-work documents, time-
estimates, project plans and design specs. Implemented the new functionality, collected test-files and reviewed the
Diagnosed and fixed bugs in the Interleaf filter utilities and their supporting libraries. Maintained and enhanced the makefiles in
the filters source-code hierarchy; fixed platform-specific remake errors.
Developed and maintained shell scripts and Perl scripts for releasing changes to the filter utilities’ source hierarchy, running
automatic builds of the filters on Windows NT and UNIX, running automated regression tests and checking for build-errors.
Wrote design specs and project plans for enhancing and using these tools.
Designed a workflow for moving filter executables from development through QA and into the larger Interleaf products, using a
ClearCase repository to store, label and track filter executables that have been shipped to customers.
Coordinated the exchange of filter source-code changes (in C) with a team of developers and QA engineers in Moscow.
Reviewed, compiled, debugged and integrated their source-code changes into the Interleaf filter utilities.
Developed tools (in lex, awk and Bourne-shell) that find and fix non-portable constructs in Interleaf source code.
Designed and implemented a Bourne-shell script that uses sed, awk and WorldView utilities to "flatten" a hierarchy of
WorldView documents so that they can be viewed on IBM VM and MVS platforms.
Ported Interleaf applications to (1) DEC UNIX (OSF/1) on DEC AXP, (2) Motorola UNIX SystemV/88 R4 using the 88open
Binary Compatibility Standard and (3) CMW+/386 (secure SCO UNIX System V/386).
Improved the performance of the installation tools for Interleaf 5 and Interleaf 6. Added new features and built a test
environment for them.
Contributed to the development and maintenance of WorldView Press (WVP), which converts a set of Interleaf documents into
a searchable, hyperlinked collection of WorldView (Printerleaf) files. Added enhancements to Interleaf 5 and TPS4 (in Lisp and
C) in order to support WVP, which was demonstrated at a Seybold show in 1992 and was later used to generate the
documentation for the Open Look release of Interleaf 5.
Developed enhancements and new features for Interleaf 5, including: "layered applications" built on an object system written in
Lisp; online help for layered applications; persistent storage of Lisp objects; hypertext authoring in Interleaf documents;
automatic generation of hypertext-linked indexes, tables of contents and cross-references.
Diagnosed and fixed bugs in the printing, diagramming and Lisp subsystems of Interleaf 5 (implemented in C).
Designed and implemented a prototype integration between Interleaf 5 and Sun Microsystems' Link Service 1.0.
Attended, summarized and reviewed technical conferences and seminars.
AGFA CORPORATION, AGFA COMPUGRAPHIC DIVISION, Wilmington, MA 1988 to 1989
A provider of electronic publishing software and typesetting systems.
Continued the development (in C) of electronic publishing software acquired from Texet Corporation. Ported this software to
SunOS 4.0 on SPARC and mc68030, and developed a source-code control system for maintaining it.
TEXET CORPORATION, Arlington, MA 1986 to 1988
A pioneer in WYSIWYG editing of structured documents.
Developed pagination and composition software (using C). Designed and implemented tools for interactive scaling of text
embedded in vector graphics, a user interface for converting units of linear measure and a system that enables localization of an
application's user-visible text.
Training Course: Autonomy Essentials, autonomy.com 2002
CRAIG LEE BURKET
Graduate Courses: Neural Networks, Fuzzy Logic, Advanced Object-Oriented Design and Programming in C++, Developing Portable
Programs in C, Building Graphical User Interfaces in X11 and Motif, Knowledge-Base Design, Advanced Discrete Mathematics,
Linear Algebra; Harvard University Extension School and Northeastern University, 1992-1995
Certificate in Computer Science, University of Massachusetts, Boston, MA 1989
B.Music with honors, New England Conservatory of Music, Boston, MA 1978
Boston Stellent User Group
Association for Computing Machinery, Greater Boston Chapter, gbcacm.org
Electronic Frontier Foundation, eff.org