Loading...
4.12 4.12 AGREEMENTS\General Code—Comiect EnerGov to Laserliche—2-8-16 RESOLUTION AUTHORIZING STATEMENT OF WORK/AGREEMENT WITH GENERAL CODE TO CONNECT ENERGOV SYSTEM AND LASERFICHE CONTENT MANAGEMENT SYSTEM RESOLUTION NO.: , 2016 INTRODUCED BY: WHO MOVED ITS ADOPTION SECONDED BY: WHEREAS, by Resolution No.: 263,2014, the Queensbury Town Board established the Incode/Energov Computer Software Capital Project Fund #204 and authorized the purchase of the Incode and Energov software and provision of Project Implementation services by Tyler Technologies, Inc., and WHEREAS, due to certain changes in the Energov software capabilities and in order for the Town's Community Development Department to use the new system to the fullest extent, a change to the Project was necessary, and so by Resolution No.: 392,2015, the Town Board authorized an Amendment to Tyler Technologies, Inc.'s original August 8, 2014 proposal to provide for such changes, and WHEREAS, the Town wishes to now engage the services of General Code to develop and implement an integration to connect the EnerGov system with the Town's selected content management system, its Laserfiche Content Management System, as set forth in General Code's Statement of Work/Agreement dated 11/2/2015 and presented at this meeting, for an amount not to exceed $23,530, NOW, THEREFORE, BE IT RESOLVED, that the Queensbury Town Board hereby authorizes General Code to develop and implement an integration to connect the EnerGov system with the Town's selected content management system, its Laserfiche Content Management System, as set forth in General Code's Statement of Work/Agreement dated 11/2/2015 and presented at this meeting, for an amount not to exceed $23,530, and BE IT FURTHER, RESOLVED, that payment for such services shall be from Computer Software Account No.: 204-1680-2032, and BE IT FURTHER, RESOLVED, that the Town Board further authorizes and directs the Town Budget Officer to amend the Town Budget, make any adjustments, budget amendments, transfers or prepare any documentation necessary to provide for such payment, and BE IT FURTHER, RESOLVED, that the Town Board further authorizes and directs the Town Supervisor to sign the Statement of Work/Agreement substantially in the form presented at this meeting and any other necessary Agreements or documentation and the Town Supervisor and/or Town Budget Officer take any and all action necessary to effectuate all terms of this Resolution. Duly adopted this 8th day of February, 2016, by the following vote: AYES NOE S AB SENT : GENERAL CODE General Code Statement of Work Version 1.0 11/2/2015 Presented by: General Code GENERAL CODE Project Information Client name Town of Queensbury,NY Project name EnerGov\Laserfiche Integration Statement Of Work/Project Overview Introduction: The Town of Queensbury is installing the EnerGov solution by Tyler Technologies,Inc.to support their Building and Planning Department. EnerGov is a web-based software system supporting land use planning and project review, regulatory management,inspections,code enforcement,citizen requests,asset management,work order management and more. EnerGov has established an API to enable it to integrate with external content management systems. To-date Tyler Technologies,Inc.has built integration functions to connect EnerGov with the Tyler Content Management system,but not with Laserfiche,the selected content management system for the Town of Queensbury. The Town of Queensbury would like General Code to develop and implement an integration to connect the EnerGov system and Laserfiche Content Management system. The basic functionality would leverage the API developed by EnerGov,but also include basic document routing,organization and indexing within the Laserfiche system. Basic Laserfiche Functionality to be developed: • Interface to interpret EnerGov API calls for insertion,deletion,and updating documents within Laserfiche. • Interface to return designated information (ex. Document ID,URL or other)to EnerGov API interface. • Laserfiche Workflows to apply templates and update template information on documents based on UpdateMeta data information • Laserfiche Workflows to route documents to appropriate Parcel and Document type Subfolder, or Document Type subfolder if not a Parcel-related document. • Laserfiche Workflows to route Permit Renewals to related Permit document folders • Laserfiche Workflow to route Exam Sitting documents to related Exam Request document folders. • Laserfiche Workflows to Delete documents based on Document ID passed from EnerGov. 11/2/2015 Statement of Work Page 2 GENERAL CODE Functionality—EnerGov to Laserfiche The EnerGov API supports basic document functionality from within the EnerGov interface: • Creation of instance between EnerGov and Laserfiche-(Initialize Service)) • Deletion of Documents—(DeleteDocument(DocID)) • Retrieval of Documents—(GetDocument(DocID)) • Retrieval of Document URLs—(GetDocumentURL(DocID)) • Addition of New Documents—(PutDocument(tempdocument)) • Updating/Change of Metadata—(UpdateMetadata(DocID, Metadata to update)) From within EnerGov • EnerGov API functional is documented in the EnerGov Document Management API document (Included at end of this document) • Documents held within the Laserfiche Content management system will be available through links within EnerGov,filtered by Parcel ID and Document type. (see screen shot below). h.,anage retina Br1e 15:,;b'b AINOve,law ra.Mono c sa y as. o. u...»... Q w.e.. Wades,....,, Y woar....c...r Ig I.�;}a,"efte'"r!or a:ruux (fg Aa+twwa .; • All metadata for documents within EnerGov will be replicated within Laserfiche,though EnerGov will remain the system of record. This duplication of storage will support searching and sorting of data within Laserfiche. EnerGov Scanning to a Parcel 1. EnerGov will use its standard scanning interface to bring hardcopy documents into EnerGov and then push the documents as a binary files to Laserfiche with the PutDocument API. Electronic Documents uploaded to EnerGov 2. EnerGov will use its standard import interface to bring documents into EnerGov and then push the documents as a binary file to Laserfiche with the PutDocument API. Integration Functionality within Laserfiche: New Document Creation—Laserfiche Storage Process 1. Users must create new document through the EnerGov application. 2. When a user attaches a document to a new parcel, EnerGov will pass the document via the "PutDocument" API function to Laserfiche. 11/2/2015 Statement of Work Page 3 GENERAL CODE 3. Upon receiving a"PutDocument"function call, Laserfiche will insert the new document within Laserfiche and return the Document ID to EnerGov. 4. Documents without metadata will reside in the"Incoming"folder until Metadata is passed to Laserfiche with the matching Document ID so that the document can be routed and its Metadata updated. 5. A field will be added to the new document to maintain the Document ID. This will be done in redundancy to ensure if the original document ID is lost(document is deleted or duplicated and original is deleted)to ensure it could still be found for EnerGov. 6. All documents stored in Laserfiche through the EnerGov interface will be immediately available to EnerGov through reference to the Laserfiche Document ID regardless of whether templates have been applied and/or routing to a folder has been performed. Update Metadata 1. When the UpdateMetadata API call is used by EnerGov,the Document with the matching Document ID will be selected within Laserfiche. 2. If the selected Laserfiche Document is found in the"_Incoming"folder,Laserfiche will apply a Template based on the fields that are passed with metadata. 3. After the template has been applied, Laserfiche will update the fields passed from EnerGov into the Laserfiche Template. 4. If the updated Template data includes an update to the Parcel Number, Laserfiche will route the document to reside within the updated Parcel Number and subfolder. 5. For Parcel-related documents, Laserfiche will determine if the Parcel Number on the template already exists.If not, a new Parcel folder will be created with all subfolders. 6. Once the Folder for the Parcel is found or created,the document will be routed to the Parcel folder and placed within the appropriate subfolder based on its template type. 7. For non-Parcel related documents,Laserfiche will organize the document by its document type. Deleted Documents 1. Documents deleted within EnerGov will trigger the DeleteDocument API call with the Document ID of the document to be deleted. 2. Laserfiche will receive the API call and find the Document with the matching ID within the Laserfiche system. 3. If Found,the document will be deleted. 4. If not found,or insufficient rights,and error will be returned to EnerGov. Moved Documents to different Parcels 1. Documents moved within EnerGov from one Parcel to another(for example,if a document was attached to the incorrect parcel initially). The UpdateMetadata API call will update the referenced metadata within Laserfiche. 2. If the Metadata update changed the Parcel Number, Laserfiche will route the document to the new Parcel Number and subfolder. 11/2/2015 Statement of Work Page 4 GENERAL CODE Laserfiche Document Organization • Organization of Parcel-related documents will be organized by Parcel Number,and Document type. In the event that a document is related to multiple Parcels, it will be organized under the first parcel number with it(example, Projects may have multiple parcels). Additional Parcel numbers will be stored within the Parcel Number field. Parcel Number 1 Applications • Application 1 • Application 2 Businesses Business Licenses • Business License 1 • Business License 2 Citizen Requests Code Cases cz Global Entity Impact Case Individual License • Individual Tax Remittance Account • Inspection • Inspection-41-- Landlord License • Object Case Parcel r= Permit • Permit • Permit Renewal Case Project Rental Property Parcel Number 2 Parcel Number 3 • Organization of non-Parcel related documents will be done by Document Type: Exam Requests Exam Request 1 • Exam Request • Exam Sitting Exam Request 2 Exam Sitting* Global Entity Invoice 11/2/2015 Statement of Work Page 5 GENERAL CODE Permit Renewal Case* • The Permit Renewal Case folders will have Workflows monitoring them to move the Permit Renewals to the related Folder with the originating Permit. • The Exam sitting folders will have Workflows monitoring them to move the Permit Renewals to the related folder with the originating exam request. Access to documents stored for a parcel 1. All Parcel-Related documents will be visible in the Parcel Folder,organized by document type. 2. Users will not have rights to delete EnerGov documents through the Laserfiche Interface. 3. Users will not have rights to modify EnerGov document metadata through the Laserfiche interface. 4. Users will be able to move EnerGov documents within Laserfiche as documents are identified by Document ID and not path. Document Scanning/Uploads,Metadata and Deletion management 1. All documents must be scanned or uploaded through the EnerGov interface. 2. All metadata must be updated through the EnerGov interface. 3. All document deletions must be done through the EnerGov interface. Assumptions: • An additional Laserfiche User License will be required for the connection between EnerGov and Laserfiche. • Queensbury would like documents within Laserfiche be stored in a logical organization even though they will be primarily accessed via the EnerGov interface. • Queensbury would like metadata for documents to be stored within Laserfiche as well as within EnerGov for ease of searching and locating documents. • All Documents to be accessed via EnerGov must be entered via the EnerGov interface. There is no functionality by which EnerGov can identify new documents within Laserfiche that did not get stored via EnerGov. • Documents that do NOT need to be accessed via EnerGov may be entered directly into the Laserfiche system, but will not be visible via the EnerGov interface. • All Documents within Laserfiche from the EnerGov interface will be set as"Read-Only"for all but the EnerGov LF User. • All Metadata will be entered and modified via the EnerGov interface and will be made "read-only" inside Laserfiche for all but the EnerGov LF User. • Documents within Laserfiche may be moved by end users without affecting the EnerGov interface as EnerGov requests documents based on Laserfiche's Document ID,which is static for each document. 11/2/2015 Statement of Work Page 6 GENERAL CODE EnerGov Document Management API Description EnerGov software exposes an API that allows it to integrate with any document management software. Integration with Tyler Document Management(TCM)is provided out of the box,but an integration plugin must be written for all other document management systems. Infrastructure Integration with document management is mostly performed by a background windows service that is distributed as part of overall install or upgrade package and are located in EnerGov.Integrations\Integration.Windowsservice folder. This service must be installed. There is one change that must be made is to the web.config file. • Correct connection string to the main EnerGov database must be provided in the connectionStrings area for connection string with the name of EnerGovDataEntities. • Integration with document management system relies on plug in architecture. EnerGov expects a .NET DLL plug in to exist in its binaries folders. Integration Details Inside this DLL it expects to find a class that implements its required interface:(Service. The details of the service are described in the accompanying help file(chm)file EnerGov.ContentManagement lntegration.chm.Developers that are familiar with the document management system need to create this DLL by referencing EnerGov.ContentManagement.Integrotion.dll DLL located in main application's binaries folder. Once implementation is completed,only the new plug in DLL needs to be copied into binaries folder of each EnerGov subsystem. This includes main application,all windows services and all web services that a customer is using. Then EnerGov itself needs to be setup in System Setup>District Setup>System Settings>System Integration.You must check the'Enable Content Management Integration'box. All other settings,including web service URL and user credentials,will be passed into IService instance. Finale setting,DLL name is simply the name of the plug in .NET DLL. Content Management Integration Settings Enable Content Management Integration Content Management Base Service URL http://IocaIhost:8080/tylercm/services/ Content Management User Login j admin Content Management User Password 1 Content Management DLL Name (TylerContentManagement.Integration [Service The integration service has the following main methods: • DeleteDocument. Delete document previously uploaded to document management system because a user chose to delete it from EnerGov. • GetDocument. Get a document with metadata and binary content based on document management system internal identifier. • GetDocumentUrl. EnerGov expects to get a URL that an EnerGov user can navigate to using a browser. This method expects document management system internal identifier. 11/2/2015 Statement of Work Page 7 GENERAL CODE • InitializeService. Described previously. Called once when an instance of the service is created by EnerGov. • PutDocument. Create new document in document management system. EnerGov expects to receive document management system's internal identifier for newly created document. This document identifier will later be passed into GetDocument,GetDocumetnUrl, UpdateMetadata and DeleteDocument methods. • UpdateMetadata. Update EnerGov specific metadata fields inside document management system. It also give developers an ability to write informational and error messages by creating their own WriteError and Writelnfo messages,although those are not communicated to EnerGov. The implementation of this interface must be found on exactly once class inside the plug in DLL. Any additional methods and classes can also exist in the same plug in dll. Metadata Metadata that is passed to document management system inside IDocument.Metadata is controlled completely by EnerGov,thus should be read-only inside document management system. Type field points to EnerGov specific entity,such as permit. It can be used inside document management system to provide groupings. However,the word itself is controlled by EnerGov,thus document management system should be setup to match it. Here are all available types • EnerGovinspection • EnerGovBusinessLicense • EnerGovPermitRenewalCase • EnerGovApplication • EnerGovinvoice • EnerGovExamSitting • EnerGovPlan • EnerGovExamRequest • EnerGovRentalProperty • EnerGovCitizenRequest • EnerGovPayment • EnerGovPermit • EnerGovindividualLicense • EnerGovindividualTaxRemittanceAccount • EnerGovinspectionCase • EnerGovObjectCase • EnerGovGlobalEntity • EnerGovBusiness • EnerGovlmpactCase • EnerGovParcel • EnerGovProject • EnerGovLandLordLicense • EnerGovCodeCase 11/2/2015 Statement of Work Page 8 GENERAL CODE The number of actual metadata fields depend on document type. Here is the full metadata layout,ordered by document type. Collection flagged metadata properties will be exported as collection,thus need to be handled appropriately inside document management system. The actual fields from each item in the collection will be in the metadata multiple times. They can be grouped together using Instance property inside(Field implementation. Risks Does a PutDocument()call get followed by a UpdateMetadata()call? Will a document ever start as one type of document and be changed?? (Example,originally identified as Permit, but updated to Permit Renewal?) Additional discussion with Queensbury will be necessary to determine what, if any,template is required for Parcel Folders. Additional discussion with Queensbury and EnerGov will be necessary to determine what templates and template fields are required within Laserfiche. (are there any types that do not have documents? Ex. Exams?) How does the collection item work? Will LF have to store multiple values within a field for all "Collection"fields? Can Documents be moved within the EnerGov to reside within a different Parcel (if,for example,it was attached to the incorrect parcel initially). The UpdateMetadata API call will update the referenced metadata within Laserfiche. How are multiple Parcels numbers passed? 11/2/2015 Statement of Work Page 9 GENERAL CODE GC Streamline EnerGov Integration Description EnerGov Integration Unit Price Units Total Cost Laserfiche Software Lase :the User license for EnerGov-LF Users* $ 500 1 $ 500 TOTAL Pro ect;.Mana „ment;`•Business Ana sis and Besi:n „v 4.0,14:44."-„*- Total Laserfiche Software $ 500 Professional Services fro M 1 .� .,,Z,: ,? EnerGov-Lase rche Pro'ect Mona•ements Su••ort Project Management including Planning,Communication,Change $ 150 8 $ 1,200 Mona•em en t,Pro.ress Re•orting TOTAL;Pro ecttMa a ement. .. ., it= Ye €ti�'»dr ... .. EnerGov-Lase :the Data Su••ort Creation of Templates to capture EnerGov metadata $ 150 4 $ 600 _Incoming Workflow process to organize documents from EnerGov within $ 150 4 $ 600 Lose iche Existin•Lose the Data Conditioning Workflows to transfer data from existing to EnerGov templates(for $ 150 4 $ 600 searchin across Lase iche includes data ma.•in• and iekls•licin•) Workflows to enhance metadata based on existing database information $ 150 8 $ 1,200 on existing Building documents.(Add permit where available,standardize Parcel IDs,add address in ormation,etc.) Workflows to update document organization folder structure to work with $ 150 4 $ 600 EnerGov TOTAL;i aserfichedConffi Uration — 600 EnerGov-Laserfiche API Software-Supports the following: From within $ 15,000 1 $ 15,000 EnerGov:Insertion of documents into Laserfiche;Retrieval of Documents rom Laserfiche;Updates of metadata to documents within Laserfiche; Deletion o Documents in Lase iche. (est.80-100 hour develo.ment OTAL bite ratio nfi_ ration. r k . . Total Professional Services $ 19,800 Annual Subscriptions/Ongoing Support L. Additional LSAP(for EnerGov user) $ 110 1 $ 110 EnerGov-Laserfiche Support Annual Maintenance $ 120 1 $ 120 EnerGov LaserificheAPI Annual Maintenance $ 3 000 1 $ 3,000 S RTCOST$,M .. .. .. .. ` i 'f(�TAL.�� .a..._. ARE 11PP.0 a � o <a �. �,{s � �� ��„'� M_«a> 'x•e Total Annual Subscriptions/Ongoing Support $ 3,230 Year 1 Grand Total(includes 1st Year Annual Subscription/Support) ? $ 23,530 *1 Laserfiche Avante License required for each security profile. if additional security profiles are needed,then additional Laserfiche Avante licenses will need to be purchased. ..... ....._ ....... . ......... 11/2/2015 Statement of Work Page 10 GENERAL CODE Change Management Process All change requests must be made in writing and approved by all parties before any work is done. Acceptance and authorization The terms and conditions of the Professional Services Agreement apply in full to the services and products provided under this Statement of Work. IN WITNESS WHEREOF,the parties hereto each acting with proper authority have executed this Statement of Work,under seal. Full name Full name Title Title Signature Signature Date Date 11/2/2015 Statement of Work Page 11