summary - The Holcomb/Burket Family Website

advertisement
CRAIG LEE BURKET
Software Engineer
211 Pleasant St., Millis, MA 02054
Phone: 508-397-2468 (cell), 508-376-9072 (home)
Email: craig@burket.net
Web: http://www.burket.net/craig
LinkedIn: http://www.linkedin.com/in/craigburket
Long version.
Last updated: 10/21/2014
SUMMARY
28 years of successful Software Development experience, including 10 years as an independent provider of
Software Engineering services, in all phases of the Software Development Life-Cycle (SDLC): gathering &
defining requirements, architecting, designing, implementing, refactoring, customizing, integrating,
maintaining, enhancing, porting, testing, documenting, presenting, demo-ing and supporting application
software for financial analysis, web applications, websites, content management, electronic publishing and
document conversion, including:
 Working with stakeholders in IT- and application-development projects to converge on requirements,
architectures and designs.
 Writing requirements, functional & GUI specs, architectural, high-level & detailed design (OOD) specs,
project plans, time estimates, test plans and deployment plans.
 Prototyping, implementing, testing (unit, regression, integration, system, security, usability,
performance, load, stress, etc.), and deploying new products, features, enhancements and functionality.
 Reporting, assessing, characterizing, diagnosing, fixing and documenting bugs.
 Leading reviews of requirements, project plans & schedules, design specs, code, usability,
documentation and bugs.
 Writing configuration guides, developer guides and user-documentation for troubleshooting,
maintaining and porting software applications and web applications.
 Improving the portability of applications, content, documents and structured/unstructured data between
operating systems, runtime environments, databases, browsers and content management repositories.
PROFESSIONAL EXPERIENCE
MEKETA INVESTMENT GROUP, INC., Westwood, MA, MeketaGroup.com
An investment advisory company.
4/2012 to 3/2014
Title: Applications Developer

Designed, implemented, tested and documented new features, enhancements, bug-fixes and refactoring
in a financial analysis application using a client-server architecture, SOA, C#, MS Winforms, Telerik
GUI controls, WCF (using IIS), SQL Server, SharePoint 2010 and TFS:
 Screens for uploading (i.e., scanning, parsing, validating and saving to a SQL database) data from
user-supplied Excel spreadsheets, and then interactively editing the uploaded data, including:
 Market values and performance returns (e.g., month-to-date and peer universes)
 Hedge fund characteristics for several types of hedge funds: Event Driven, Fixed Income, Fund
of Funds, Global Macro and Long/Short Equity.
 Screens for viewing and editing characteristics of financial holdings (portfolios, securities and
fixed-income assets).
 An editor for creating and managing “script” objects that are used for generating reports (internal
and client-facing).
CRAIG LEE BURKET




Automated generation of Word and PDF documents from a set of template Word documents in a
SharePoint 2010 Document Library; programmatically inserting the following into the generated
Word documents, according to specifications that users view/edit/save on a screen in the GUI:
 Values from a SQL Server database, via custom Word Document Properties
 Dynamically-built Word tables at locations specified in the Word template documents using
Bookmarks.
 Default values for Trade Date, Settlement Date, Foreign Exchange Trade Date and Foreign
Exchange Settlement date for particular cash-flow transactions.
An interactive editor for (2 types of) hierarchies of aggregate investment portfolios and their
characteristics:
 Automated calculation of certain characteristics for equities and fixed-income assets:
 Phase 2: replaced the Phase 1 implementation (see below) with a new set of classes, services
and support methods, in C#.
 Phase 1: created an SSIS package containing Script Components that call methods in a
custom assembly; the package then calls OLE DB Commands to insert/update/delete rows in
particular database tables based on output from the Script Components. The package also
uses Precedence Constraints to implement conditional execution of Data Flow Tasks.
 An enhancement for sorting portfolios within the hierarchy, using the Strategy design pattern.
 Added drag-and-drop functionality within and between panels on the hierarchy editor’s screens.
 Implemented:
 Insertion, modification (update) and deletion of portfolio hierarchies in the database.
 New SQL stored procedures and user-defined functions
 Unit-test methods
 Drew up a prioritized list of proposed enhancements.
Wrote:
 Requirements specs for new/changed functionality, based on input/feedback from users
 Design specs for new/changed classes and methods
 Test plans (as Excel spreadsheets) defining tests and their expected results for both unit-,
regression- and performance-testing.
In Team Foundation Server, added and modified Tasks (with estimates) and Bugs for existing User
Stories.
WHISTLING FROG SOFTWARE, Millis, MA
An independent provider of Software Engineering services.
8/2010 to 4/2012
Client: Public Consulting Group, Boston, MA, PublicConsultingGroup.com
Role: Consulting Web Applications Developer
 Developed major enhancements to 2 client-facing web applications (using ASP.NET, VB.NET, .NET
Framework, IIS, SQL Server 2008, SQL Server Management Studio 2008, Visual Studio 2010, TFS and
SharePoint 2010) for the following business processes:
1. Reviewing and analyzing Medicaid claims:
 Added front-end GUI features and business logic (using HTML, CSS and MS Silverlight) and
back-end database structures (SQL stored procedures, UDFs, views, tables and scripts).
2. Tracking Medicaid appeals:
 Added a set of new web pages and their menu items. Designed and implemented the GUIcontrols, underlying business logic and database structures needed by these new pages. Wrote a
detailed list of tasks and estimates for developing this project.
 Gave demos (via Webex and conference call) of the new functionality to PCG’s client for this
web application.
CRAIG LEE BURKET

Upgraded this web application from using .NET Framework v2.0 to v4.0. Migrated its source
code from CVS to TFS.
Client: North Cambridge Family Opera, Cambridge, MA, FamilyOpera.org
7/2010
Role: Consulting Web Developer
 Designed and implemented a scheme for “cutting up” DVD contents (of opera performances) into many
small mp3 files, uploading those files to YouTube with appropriate metadata and linking to those videos
from new pages on the website.
DECISION RESOURCES, Waltham, MA, DecisionResources.com
A provider of business analytics and market research for the pharmaceutical industry.
1/2007 to 6/2010
Title: Applications Developer












Developed a SharePoint 2010 sequential workflow (in VB.NET, using Visual Studio 2008) that operates
on document sets. Wrote requirements and design specs for this workflow. Added infrastructure for
this workflow in SharePoint 2010 including a new site, document library, custom list, custom Content
Type, and site columns.
Developed a SharePoint 2007 state-machine workflow (in C#, using Visual Studio 2008).
Developed a prototype SharePoint 2007 workflow using SharePoint Designer.
Designed and implemented the DecisionBase 2010 product.
Upgraded an instance of Stellent Content Server v7.5.2 to Oracle UCM 10gR3.
Designed and implemented a set of Perl scripts which:
 Read the contents of tables in input MS Word documents and use their data to sort the contents of
the input documents 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.
 Generate a Stellent BatchLoader script, assigning appropriate metadata values to each file based on
its location in the given file-system hierarchy. Used this to batch-load a hierarchy of legacy
documents into a Stellent Content Server repository.
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 Base product.
Wrote a SQL stored procedure that queries Stellent Content Tracker to extract date-of-first-access for
given classes of content items by given subscribers.
Developed the DecisionBase 2009 product.
Wrote a Stellent BatchBuilder mapping file that uses IdocScript to assign custom metadata values based
on the filename of each Content Item being batch-loaded.
Developed an XSLT transform that reads an Excel spreadsheet (saved in SpreadsheetML) and outputs
SQL code for loading the spreadsheet’s data into a specified SQL Server database. Extended the
schema of this database.
Wrote and maintained design specifications for proposed enhancements to the DecisionBase 2008
product. Set up development and staging environments for DecisionBase 2008 and implemented one of
these proposed enhancements: a “Drug Profiles” page (using ASP.NET and C#).
CRAIG LEE BURKET






Installed and configured an instance of MS SharePoint Server 2007. Developed and deployed a
hierarchical SharePoint site collection representing the company’s departments and offices.
Conducted requirements-gathering interviews and wrote a requirements specification, a features matrix
and an executive summary presentation for a proposed enterprise scheduling and resource-allocation
utility to be developed and used in-house.
Developed 2 Oracle UCM (formerly Stellent Content Server) criteria workflows (each with a hierarchy
of Contribution Folders) for the in-house Editorial Department, 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 Adobe Illustrator scripts (in Adobe Extended JavaScript)
and saved Illustrator Actions; this module iteratively imports 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 Publisher.
Implemented, tested, deployed and maintained the DecisionBase 2007 web application (using ASP.NET
and C#).
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
An independent provider of Software Engineering services.
8/2006 to 12/2006
Client: Decision Resources, Waltham, MA
Role: Consulting Web Application Developer
 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 front-end using ASP.NET, JavaScript, telerik controls and Corda graphics
 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
 Web Services, with the back-end content management system
 a back-end consisting of SQL Server and Oracle UCM (formerly Stellent Content Server)
 Developed a prototype of the product using HTML, CSS and JavaScript.
 Set up and maintained Subversion as the source-control system used 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
A provider of credit ratings for bonds and other financial instruments.
8/2005 to 8/2006
CRAIG LEE BURKET
Title: Software Engineer











Enhanced and maintained a Java-based Stellent Content Server 7.1 (SCS) repository, which:
 Is integrated with a records-management application (MDY FileSurf).
 Has an extensively customized GUI based on the Stellent Folders component.
Planned, scheduled and executed the migration of this SCS repository from using local storage to using
Network-Attached Storage (NAS).
Diagnosed and fixed bugs in the workflow, GUI and online-help subsystems, 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” (deployments) of enhancements and bug
fixes from the QA environment to the Production environment.
Enhanced a report generator (implemented in Perl) that performs SQL queries on the Stellent database to
generate reports about 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 Content Server repository. Wrote training documentation on how to use these
tools to generate and customize these reports.
Collected and analyzed performance-related data about SCS’s hardware, networks, databases and
customized code, in order to identify bottlenecks and suggest performance improvements. Implemented
and assessed the results of these performance improvements. Used MS Web Application Stress Tool.
Diagnosed problems reported by internal users to differentiate between those due to user-error and those
which represent bugs in the SCS/Filesurf databases and/or source code.
Set up an SCS repository for integration with Mercury performance-testing tools.
Wrote documentation for developers (as a set of wiki pages) about Moody’s content-management (SCS)
and records-management (FileSurf) repositories.
WHISTLING FROG SOFTWARE, Millis, MA
An independent provider of Software Engineering services.
2002 to 2005
Client: Frontline Logic, Russiaville, IN, FrontlineLogic.com
 Project sponsor: CGI Group, Inc. (formerly CGI-AMS)
7/2005 to 8/2005
Role: Consulting Software Developer
 Enhanced the Java-based ExtendedSearch component for Stellent Content Server that I developed
for this client in 2003 (see below). The enhancements are to:
 Support conjunctions of clauses in the given query,
 Handle metadata values in the query that contain spaces and/or HTML-encoded characters
 Improve performance by dynamically constructing SQL queries that return the documents that
match all the clauses in the query.

Project sponsor: State of Alaska Department of Natural Resources
5/2005 to 6/2005
Role: Consulting Software Engineer
 Analyzed the Java source code and behavior of a Stellent Content Server (SCS) component written
by a previous consultant, in order to write a Developer’s Guide for them that describes:
 How to use Stellent’s Component Wizard and Component Manager to create, maintain, package
and install Content Server components in general and the client’s component in particular.
 The purpose, actions and usage of each of the component’s resources, services, templates,
queries and custom database tables.
 Techniques and resources for troubleshooting and debugging SCS components.
CRAIG LEE BURKET

Helped the client (via phone and Webex) to diagnose and fix a bug in their component’s IdocScript.

Project sponsor: Carrier Corp.
3/2005 to 7/2005
Role: Consulting Software Engineer
 Advised the decision-makers in Carrier’s IT Department and helped them reach agreement on
functional requirements, buy-versus-build decisions and a project plan for upgrading their Stellent
Content Server (SCS) repository from version 4.6 to 7.1:
 Proposed a range of options for functionality and high-level design to meet their requirements.
 Tested and evaluated utilities, web applications and SCS 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:
 Proof-of-concept customizations (using ASP 3, JSP, IdocScript, and SQL) of the above tools
and components to address:
 Interactively querying/updating values of a metadata field across a set of content items,
 Managing relationships between documents
 Restricting visibility of doc types based on Accounts
 Restricting visibility of metadata fields based on doc type
 The use of SCS’s Metadata Schema Mapping feature to create a dependent choice list
that depends on values of SCS’s dDocType;
 The use of SCS’s BatchLoader utility for updating metadata values.
 Installed and configured the Tomcat 5 JSP server and customized SCS’s database by adding
custom tables (using SQL Server Enterprise Manager).
 Wrote detailed instructions for Carrier’s IT staff on how to implement specific sub-tasks of the
project.
 Mentored Carrier’s IT staff in how to use SCS subsystems (Configuration Manager, Repository
Manager, User Admin, BatchLoader), database tools and Adobe Acrobat to:
 Configure users, accounts, doctypes, metadata fields, option lists and dependent choice lists
for an SCS repository.
 Update metadata values using BatchLoader scripts, and diagnose/fix any failed updates.
 Update/rebuild the Verity full-text search collection and resolve problems with this process.
 Optimize and “linearize” the PDF files in their SCS repository.
 Developed test cases and test plans for the above enhancements.
 Gave an overview and demo (via Webex) of SCS’s Workflow functionality to engineers and
mangers from some of Carrier’s business units.

Project sponsor: Moody’s Investors Service
12/2004 to 2/2005
Role: Consulting Software Developer
 Designed and implemented (in Java) a Stellent Content Server (SCS) component for publishing
documents from an SCS 7.1 repository to Moodys.com. Implemented this as a custom IdcService
that uses the javax.xml.soap classes (from the Java Web Services Developer Pack) in order to:
 Construct a SOAP message containing the given document’s metadata and base-64-encoded
content.
 Send the SOAP message via HTTP to a Web Service.
 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 SCS’s
standard Content Information web page, and to report its results on a custom SCS web page.
CRAIG LEE BURKET


Wrote a custom SCS search service (in Java) that is like SCS’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 templates and
resources (using IdocScript and JavaScript) that display the search results from the above service in
conformance with a given set of GUI requirements and mockups.
Project sponsor: Moody’s Investors Service
9/2004 to 12/2004
Role: Consulting Software Developer
 Customized an instance of Stellent Content Server 7.1.1 (SCS) to enable it to be used as a “back-end
content management system” which:
 Replaces a UNIX file system as the repository for content that is published to Moodys.com.
 Provides a set of Web Service operations that are called from libraries in the middle tier.
 Accomplished the following tasks:
 Captured and refined requirements and proposed high-level design alternatives for meeting
those requirements.
 Defined project milestones, dependencies, risks, deliverables and a schedule.
 Installed SCS, Dynamic Converter and the SOAP and Folders components on a Windows
Server 2003 machine, using SQL Server as the back-end database, and IIS 6 as the webserver.
 Designed and implemented a metadata schema for this SCS repository.
 Wrote a detailed design spec, test plan, installation/configuration guide and developer’s
guide for the new system.
 Implemented and tested an SCS component (in Java, using Eclipse) that provides custom
SCS services that implement the above Web Service operations.
 Generated a WSDL file for those SCS services to make them callable (via SOAP) as a Web
Service.
 Developed a set of test-drivers (using Stellent’s Java- and VB-based Soap Clients) for unittesting and regression-testing the new Web Service operations.
 Conducted weekly code reviews of the new Web Service (and its underlying custom SCS
services, sub-services, handlers, queries and supporting Java classes) with the Moody’s
engineers who will maintain the system.
Client: Millis Democratic Town Committee, Millis, MA, MillisDems.org
10/2004 to 11/2004
Role: Consulting Web Developer
 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
8/2004
Role: Consulting Software Developer
 Invented a demo for an integration of a content management system (empolis SiGMaLink) and Adobe
FrameMaker:
 Created a set of FrameMaker native Documents and Books
 Scripted the demo
 Configured the SiGMaLink repository and its underlying Oracle database by adding users, groups,
workflows, metadata schemas/instances, relational query masks and hooks.
 Participated in the presentation of the demo.
CRAIG LEE BURKET

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 HTML 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
7/2004
Role: Consulting Web Developer
 Implemented Dreamweaver templates, HTML pages, CSS styles, and JavaScript-driven popup menus
for a new web site, conforming to a given graphical design.
Client: Media Entities, Inc., Medford, MA, MediaEntities.com
1/2004 to 7/2004
Role: Consulting Software Developer
 Designed and implemented sets of:
 XML DTDs, XML test files and MS Word templates
 Master pages in Quark XPress document templates
 Mappings between XML elements and named styles in the Word and Quark templates
 The above files/objects are used by the Media Entities “XML ToolWorks” application to automate the
process of flowing content between MS Word and Quark documents. The dataflow is: Word  (XML
ToolWorks Import/Export)  valid XML  (XML ToolWorks Import/Export)  Quark. Tested this
on Windows 2000, XP, and MacOS 9.
 Extracted DocBook-compliant XML from given 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 method to
each of the files in a given directory that are selected by a caller-supplied filter method.
Client: empolis North America, Inc., Burlington, MA, empolis-na.com
9/2003 to 12/2003
Role: Consulting Software Developer
 Customized the empolis SiGMaLink content management system for use in a medical reference
publishing (MRP) 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 those 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 within the MRP application.
 Made the methods of the above classes callable from within Oracle 9i as stored procedures. Wrote a
class (based on the Façade design pattern) that provides an interface for calling the stored procedures
from JSP via java.sql.
 Wrote a SiGMaLink request hook that sends email notifications (using javax.mail) when an information
object is checked in.
CRAIG LEE BURKET

Installed and configured Oracle 9i and SiGMaLink on Windows XP and Windows 2000.
Client: Frontline Logic, Russiaville, IN, FrontlineLogic.com
 Project sponsor: Boston Stellent Users Group
9/2003
Role: Presenter
 Gave a presentation and demo of the ExtendedSearch component that I designed and implemented
(see below).
Client: Binary Minds, Inc., Medway, MA, BinaryMinds.com
8/2003
Role: Consulting Cold Fusion Developer
 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.
Client: Alliance Consulting, Framingham, MA, alliance-consulting.com
8/2003
Role: Consulting XSLT/LDAP Developer
 Project sponsor: Colliers International -- Phase 2 (see Phase 1 below):
 Modified the client’s Novell DirXML drivers to recognize additional attributes of the imported
entries. Enhanced the XSLT transforms to:
 Set the password of a newly created object to a placeholder value.
 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 LDAP
repository.
Client: Frontline Logic, Russiaville, IN, FrontlineLogic.com
 Project sponsor: Raytheon Co., Waltham, MA
7/2003
Role: Consulting Software Engineer
 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.
 Proposed alternative approaches for enabling developers and content authors to use the Stellent
applications to build and maintain Raytheon’s websites.
Client: Molecular.com, Watertown, MA, molecular.com
5/2003 to 7/2003
 Project sponsor: Genzyme Corp.
Role: Consulting Software Engineer
 Advised a team of web developers on how to use 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.com and Genzyme.
CRAIG LEE BURKET


Defined high-level milestones and implementation tasks for the project and created a proof-ofconcept 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
 Project sponsor: CGI Group, Inc. (formerly CGI-AMS)
4/2003 to 6/2003
Role: Consulting Software Developer
 Designed and implemented (in Java) 2 custom components in Stellent Content Server that use
ServiceHandlers to define custom actions that are inserted into standard Stellent services:
 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).
 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
3/2003 to 4/2003
Role: Consulting Software Developer
 Fixed bugs and added enhancements to customized instances of Stellent Content Server (SCS) and
Stellent Content Publisher (SCP) where SCP is used to generate a public-facing website from a set of
files (native documents, JavaScript, CSS, HCSF, HCSP and SCP Project) stored in an SCS repository.
 Specified requirements, design options, implementation tasks and time estimates for a project that uses
SCP and SCS to construct a website with complex navigational controls.
 Integrated an SCS repository with an LDAP source (Sun ONE Directory Server) for user authentication
and authorization. Configured SCS’s default LDAP Provider so that:
 A user’s membership in specific groups in the LDAP directory results in the assignment of the
appropriate Roles and Accounts (parts of SCS’s security model) to that user when they log in to
SCS.
 Specific LDAP user attributes are mapped to user metadata fields in SCS.
Client: Quotient, Inc., Columbia, MD, quotient-inc.com
2/2003
Role: Consulting Software Engineer
 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 (Interwoven).
Client: Alliance Consulting, Framingham, MA, alliance-consulting.com
11/2002 to 2/2003
Role: Consulting XSLT/LDAP Developer
 Project sponsor: Colliers International – Phase 1
 Wrote XSLT transforms for an LDAP server implementation that uses Novell’s eDirectory, DirXML
and XDS DTD. The XSLT transforms implement 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 and/or inconsistent attribute values, and illegal
operations) as the name-and-address-book entries (and changes to them) are pulled into the central
LDAP repository from instances of MS Exchange, Active Directory, and Lotus Notes/Domino.
Used Novell ConsoleOne along with an LDAP browser to test and debug the XSLT code.
CRAIG LEE BURKET
Client: W.A. Wilde Co., Holliston, MA, wilde.com
9/2002 to 11/2002
Role: Consulting Web Application Developer
 Developed a web application (using ASP.NET, VB.NET, ADO.NET and COM wrappers) that is a frontend to an inventory database implemented in SQL Server. The application provides a browser-based
GUI for creating, deleting and updating objects (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 VB 6  SQL 
database tables.
 Wrote client-side JavaScript functions to validate zip codes and phone numbers entered in HTML forms.
 Gave presentations and tutorials to the CIO and IT staff. about:
 Stellent Content Server 6.1, including security models, workflows, the Folders component,
WebDAV support and running within the Tomcat application server.
 .NET technologies for web application development.
STELLENT, INC., Acton and Marlborough, MA
7/1999 to 8/2002
A provider of web-based content management and data-conversion software, headquartered in Eden Prairie,
MN. Formerly IntraNet Solutions, now part of Oracle Corp.
Title: Senior Software Development Engineer



Developed the Stellent Content Categorizer (SCC) product, which is a set of Java adapter classes that
enables the customer to integrate a Stellent Content Server (SCS) repository with content/document
categorization/classification engines from several 3rd-party vendors, e.g. Autonomy.
 Designed and implemented a package that extracts a native taxonomy from a 3rd-party categorization
engine and converts it into a “navigable taxonomy”, i.e., a dynamically-generated hierarchy of web
pages, to enable navigation of the taxonomy in Stellent Content Server (SCS). Developed an appletbased GUI for configuring and running this process.
 Enhanced SCS’s browser-based Check-In and Update pages so that SCC can be invoked to:
 Suggest initial metadata values when a Content Item is checked in to an SCS repository, and
 Update the metadata values of a Content Item in the repository
 Enhanced SCS’s search-results pages so that for each Content Item found, each of its assigned
categories is displayed as a “taxonomy vector” (a breadcrumbs-style path), where each vector
element is a link to the web page for that category in one of the “navigable taxonomies”.
 Wrote XSLT that transforms XML from the Flexiondoc and SearchML schemas of Stellent’s
“Outside In XML Export” utility into the XML schema used by SCC. Used Apache's Xalan XSL
processor and Xerces XML parser, both called via Apache's Xalan-Java implementation of the
Transformation API for XML (TrAX).
Designed and implemented (in C++) a utility for merging PDF Forms Data Files (FDF) into a PDF
template file and outputting the result as either PDF or Postscript. Used Adobe’s FDF Toolkit, Acrobat
Core API, PDFEdit API and PDF Library SDK.
As part of a small (4-6 member) development team, developed the Stellent Report Parser (SRP) product.
 SRP is a multi-threaded Java application that:
 Takes database reports (plain text files) from 3rd-party applications (e.g., Crystal Reports) as
input, and
 Extracts metadata from these reports according to user-specified rules, and
 Splits each report into a set of Content Items of specified granularity, and
 Optionally converts these Content Items to either PDF, HTML or XML+XSL, and
CRAIG LEE BURKET




 Checks in the results to an SCS repository.
 Specified, designed (using UML class diagrams) and implemented the Stellent Report Parser
application.
 Added a “pass-through” mode in which the input files (and their extracted metadata) are checked in
to the SCS repository without any format conversion.
 Developed (using java.awt) an interactive editor for the persistent objects (“Blueprints”) that specify
how Stellent Report Parser processes particular types of input reports.
 Tested the SRP 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 SRP’s Java packages, interfaces and classes.
Wrote a utility in VB 6 that mediates inter-process communication between SCS and a recordsmanagement application (ForeMost Enterprise).
Designed and implemented a “personal navigation environment” for SCS, including user selfregistration and authentication. Used ASP 3, client-side JavaScript and CSS.
Developed a web-based e-commerce product ("Softgoods") that uses ASP 3, JavaScript, Jscript, HTTP,
ODBC, MS Access and ISAPI/NSAPI filters to manage subscription-based delivery of online content to
authenticated users. Tested this product on Windows, Solaris and Linux.
Attended and reported on technical conferences and seminars:
 Knowledge Management (KM) World 2001
 Microsoft Web Services Summit
 IEEE/ACM Bioinformatics Lecture Series
 Inxight webinars
INTERLEAF, INC., Waltham, MA
8/1989 to 5/1999
A provider of software for complex technical publishing and document/content management.
Title: Member of Technical Staff (Development Engineer)








Integrated a prototype implementation for the “Interleaf 7 XML” product (written in Common 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 Common
LISP interpreter.
Implemented the use of vendor-supplied Motif/X11 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-specific bugs.
Developed a proof-of-concept prototype for XML-DTD-compliant “structured authoring” of XML
documents using an integration between Interleaf 6 and Microstar's Near & Far Designer application.
Exhibited this prototype at the "XML '98" conference in Seattle, WA.
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 file-formats including RTF, WordPerfect, CGM, IGES, TIFF,
JPEG and 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 filter utilities.
CRAIG LEE BURKET















Enhanced Interleaf’s RTF import/export filters (in C) to handle Japanese text and fonts. Wrote scopeof-work documents, time-estimates, project plans and design specs. Implemented the new functionality,
collected test-files and reviewed the documentation.
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 C Shell scripts, Bourne 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 a set of utilities (using lex, awk and Bourne Shell scripts) 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:
 DEC UNIX (OSF/1) on DEC AXP.
 Motorola UNIX SystemV/88 R4, using the 88open Binary Compatibility Standard.
 CMW+/386 (secure SCO UNIX System V/386).
Improved the performance of the installation tools (in C Shell script and Common LISP) for Interleaf 5
and 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 (formerly Printerleaf) files.
Added enhancements (using Common LISP and C) to Interleaf 5 and TPS 4 in order to support WVP,
which was:
 Demonstrated at a Seybold show in 1992.
 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 Common LISP;
 An online help subsystem for use in Layered Applications.
 Persistent storage of Common 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 Common 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
A provider of electronic publishing software and typesetting applications.
Title: Software Engineer
7/1988 to 8/1989
CRAIG LEE BURKET

Continued the development (in C) of the electronic publishing applications acquired from Texet
Corporation (see below):
 Ported these applications to SunOS 4.0 on SPARC and mc68030
 Customized SCCS for managing their concurrent development by a small team of programmers and
testers.
TEXET CORPORATION, Arlington, MA
A pioneer in WYSIWYG editing of structured documents.
3/1986 to 7/1988
Title: Software Engineer

Designed and implemented enhancements to a “structured authoring” product based on SGML:
 Tools for interactive scaling of text embedded in vector graphics.
 A user interface for converting units of linear measure
 A subsystem that enables localization (L10N) of an application's user-visible text for
internationalization (I18N).
EDUCATION
Training Course: Autonomy Essentials, autonomy.com
Automated document categorization using Bayesian inference.
Northeastern University, Framingham, MA
Artificial Intelligence engineering. Graduate courses:
 Neural Networks and Fuzzy Logic
 Knowledge-Base Design using Prolog
Harvard University Extension School, Cambridge, MA
Mathematics and Software Engineering. Graduate courses:
 Advanced Object-Oriented Design and Programming in C++
 Advanced Discrete Mathematics
 Developing Portable Programs in C
 Building Graphical User Interfaces in X11 and Motif
 Linear Algebra
2002
1994 to 1995
1990 to 1993
Certificate in Computer Science, University of Massachusetts, Boston, MA
1989
Boston University Metropolitan College, Boston, MA
Course: Programming in Pascal
1982
Bachelor of Music with Honors, New England Conservatory of Music, Boston, MA
1978
AFFILIATIONS
Association for Computing Machinery, Greater Boston Chapter, gbcacm.org
Electronic Frontier Foundation, eff.org
Download