Test v. Test

Filing 8

ORDER OF DISMISSAL WITHOUT PREJUDICE. Signed by Honorable Oren Harris on August 16, 2015. (jrs)

Download PDF
Administrative Office of the U.S. Courts Office of Court Administration - Technology Division ȱ CM/ECF System Administrator’s Guide District Release 4 .0.2 July 8, 2009 Revision Notes 4.0.1/4.0.2 Revisions Revised SA chapter. (Chapter 2) • Added new cron jobs CleanFiles.live, CleanFiles.test, and CleanFiles.train. (pg. 2-4) • Removed reference to replicate_external_files.pl. • Revised ‘Adding a new chunk’. (pg. 2-13) Revised Document Processing chapter. (Chapter 3) • Revised ‘Replicating the Files’ section. (pgs. 3-3 to 3-6) • Revised ‘Document Caching’ section of Enhanced Document Processing chapter. (pgs. 3-12 to 3-15) Revised Replication chapter. (Chapter 4) • Replaced obsolete ‘Maintaining a Court’s Application Software on the Replication Servers’ with ‘Maintaining a Court’s Application Software on the Virtual Replication Servers’ in Replication chapter. (pgs. 4-8 to 4-12) • Removed ‘Replication of Files External to the Database’. Revised ‘VeriSign Certificates’ section of Security chapter. (Chapter 6) • Modified Contact Information image. (pg. 6-20) • Revised ‘Installing Signed Certificates’. (pg. 6-24) TABLE OF CONTENTS Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Network Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Chapter 2 System Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 RC scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cron jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Backup and Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring System and Application Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Source Code Modification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring Database Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a new chunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Files in the /tmp directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 2-3 2-6 2-6 2-7 2-8 2-11 2-12 2-12 2-13 Chapter 3 Enahnced Document Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replicating the Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database Schema Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Document Home Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3-3 3-5 3-10 3-12 Chapter 4 Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 Replication General Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 Replication General Support Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 Monitoring Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 Maintaining a Court’s Application Software on the Replication Servers . . . . . . . . . . . . . . . . . . . . . . . .4-7 Replication of Files External to the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Chapter 5 Public Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 PACER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 U.S. Party Case Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Public Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Chapter 6 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Application Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VeriSign Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Controlling Server Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 7 6-2 6-3 6-17 6-25 Conflict Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Conflict Checking Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Conflict List Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 District CM/ECF System Administrator’s Guide Running the Conflict Checking Report Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 Chapter 8 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Creating the Form Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-7 Using Data Properties in the Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Developing Additional Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 JSP to Perl Forms Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Creating Your Own Data Collectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Chapter 9 Forms (Legacy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Forms Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Tag Library and Custom Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-3 Creating New Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-4 Conditional Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-5 Chapter 10 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 check_extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . deltmp.pl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LargeDocuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . oncheck-cI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . setlockmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . showlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UpdateStats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wait_for_informix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . whoson.pl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 11 Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Archiving a Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring a Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the Primary Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 12 11-2 11-3 11-4 11-5 copy_ecf_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Site Table Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes Table Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Completely Copied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Partially Copied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sealed Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix A 08 Jul 2009 10-3 10-3 10-4 10-4 10-5 10-7 10-8 10-9 10-10 10-10 10-10 10-11 10-11 10-11 VerifyDocs Error Types by Category Release 4.0.1 12-2 12-4 12-5 12-5 12-5 12-6 12-6 District CM/ECF System Administrator’s Guide Appenidx B 08 Jul 2009 Court Listings Release 4.0.1 CHAPTER 1 1 Introduction In This Chapter • Overview • NetworkȱArchitecture • Softwareȱconfiguration District CM/ECF System Administrator’s Guide Overview TheȱCaseȱManagement/ElectronicȱCaseȱFilesȱ(CM/ECF)ȱsystemȱdevelopedȱbyȱtheȱ AdministrationȱOfficeȱisȱdesignedȱtoȱsupportȱtheȱUSȱbankruptcy,ȱdistrict,ȱandȱ appellateȱcourts,ȱasȱwellȱasȱtheȱassociatedȱmembersȱofȱtheȱlegalȱcommunity.ȱȱCM/ECFȱ supportsȱtheȱfullȱrangeȱofȱcaseȱmanagementȱprocesses,ȱtoȱincludeȱcaseȱopening,ȱ docketȱeventȱentry,ȱcaseȱreporting,ȱcaseȱdataȱmanagement,ȱandȱadministrativeȱ functions.ȱȱTheȱCM/ECFȱnetworkȱarchitectureȱandȱassociatedȱsoftwareȱenableȱsecureȱ accessȱbyȱjudges,ȱcourtȱpersonnel,ȱattorneys,ȱandȱtheȱpublic.ȱ PublicȱandȱattorneyȱaccessȱisȱviaȱtheȱInternet.ȱȱTheyȱuseȱaȱstandardȱWebȱbrowserȱtoȱ connectȱtoȱtheȱoutsideȱWebȱserver.ȱȱȱTheȱHTMLȱformsȱproducedȱbyȱtheȱapplicationȱ enableȱtheȱattorneysȱtoȱmakeȱECFȱrequests,ȱmakeȱqueries,ȱpayȱfees,ȱandȱattachȱ documentsȱtoȱbeȱfiledȱforȱtheirȱcases.ȱȱAllȱdocumentsȱthatȱareȱsubmittedȱviaȱCM/ECFȱ mustȱbeȱinȱAdobe’sȱPortableȱDocumentȱFormatȱ(PDF). CourtȱaccessȱisȱviaȱtheȱUSȱCourtsȱinternalȱDataȱCommunicationsȱNetworkȱ(DCN).ȱȱ PersonnelȱinȱtheȱcourtsȱlogȱintoȱCM/ECFȱoverȱthisȱnetworkȱandȱtheȱassociatedȱ runtimeȱprogramsȱonȱtheȱinsideȱWebȱserverȱhandleȱtheirȱrequests. Network Architecture TheȱfollowingȱillustrationȱdepictsȱtheȱplacementȱofȱCM/ECFȱnetworkȱcomponentsȱ andȱassociatedȱflowȱofȱdataȱbetweenȱthem.ȱEachȱofȱtheseȱcomponentsȱisȱdiscussedȱinȱ theȱfollowingȱparagraphs. 08 Jul 2009 Release 4.0.1 1-2 District CM/ECF System Administrator’s Guide Court Unit Site Facilities Inside Web-App, Mid-App and Database Servers Local LAN DCN Router Building Router DCN Ethernet Hub Outside Web-App Server FRAD PIX Firewall PacerNet Internet Frame Relay Network FRAD FailSoft / Replication Facilities DCN Router Ethernet Hub Database Replication Server Public Access OutSide Server Internet CM/ECFȱisȱpubliclyȱaccessibleȱfromȱtheȱInternet.ȱȱAnyȱauthorizedȱuser,ȱusuallyȱ attorneys,ȱcanȱaccessȱtheȱsystemȱbyȱusingȱaȱstandardȱbrowserȱsuchȱasȱNetscape.ȱȱTheirȱ CM/ECFȱformsȱareȱsubmittedȱthroughȱtheȱCommonȱGatewayȱInterfaceȱ(CGI)ȱ recognizedȱbyȱInternetȱbrowsers.ȱ Outside server TheȱattorneysȇȱInternetȱtransactionsȱpassȱfirstȱthroughȱaȱfilteringȱrouterȱbeforeȱbeingȱ acceptedȱforȱprocessingȱbyȱtheȱCM/ECFȱOutsideȱserver.ȱThisȱserverȱisȱoutsideȱ 08 Jul 2009 Release 4.0.1 1-3 District CM/ECF System Administrator’s Guide CM/ECF’sȱfirewallȱandȱmustȱbeȱusedȱtoȱaccessȱtheȱcourt’sȱinternalȱserver.ȱTheȱOutsideȱ serverȱrunsȱaȱWebȱserverȱ(Apache)ȱandȱapplicationȱsoftware.ȱȱTheȱTripwireȱproductȱisȱ installedȱhereȱtoȱmonitorȱapplicationȱandȱsystemȱfiles.ȱTheȱOutsideȱserver’sȱsecurityȱisȱ increasedȱbyȱaȱvarietyȱofȱsettings/actionsȱmadeȱwhenȱCM/ECFȱisȱinstalled.ȱȱForȱmoreȱ information,ȱseeȱtheȱchapterȱonȱ“InstallingȱCM/ECFȱonȱtheȱOutsideȱServer”ȱinȱtheȱ documentȱCM/ECFȱInstallationȱGuideȱforȱDistrictȱCourts. Inside server TheȱInsideȱserverȱisȱaȱmachineȱrunningȱaȱWebȱserverȱ(Apache),ȱapplicationȱsoftwareȱ andȱtheȱInformixȱDBMS.ȱTheȱInsideȱserverȱisȱinsideȱtheȱECFȱfirewallȱandȱcanȱonlyȱbeȱ accessedȱfromȱtheȱDCN.ȱȱTripwireȱisȱinstalledȱhereȱtoȱmonitorȱapplicationȱfiles.ȱForȱ moreȱinformation,ȱseeȱtheȱchapterȱonȱ“InstallingȱCM/ECFȱonȱtheȱInsideȱServer”ȱinȱtheȱ documentȱCM/ECFȱInstallationȱGuideȱforȱȱDistrictȱCourts. DCN TheȱDCNȱisȱownedȱandȱmaintainedȱbyȱtheȱUSȱCourts.ȱȱCourtȱtransactionsȱareȱsentȱ overȱthisȱnetworkȱtoȱtheȱInsideȱserver.ȱ Replication server Informix’sȱHighȱAvailabilityȱDataȱReplicationȱfacilityȱcopiesȱeveryȱmodificationȱtoȱtheȱ CM/ECFȱInformixȱDBMSȱinstanceȱtoȱaȱdifferentȱmachine.ȱȱTheȱdatabaseȱonȱtheȱ secondaryȱmachineȱisȱconfiguredȱidenticallyȱtoȱtheȱoneȱonȱtheȱprimaryȱmachine.ȱTheȱ replicationȱdatabaseȱcanȱbeȱusedȱforȱaccessȱtoȱtheȱCM/ECFȱdataȱifȱtheȱprimaryȱ machineȱbecomesȱunavailable.ȱȱPleaseȱseeȱtheȱ“Replication”ȱsectionȱofȱthisȱdocumentȱ forȱdetailsȱofȱsettingȱupȱreplication. Software configuration TheȱȱDistrictȱCM/ECFȱenvironmentȱconsistsȱofȱtheȱfollowingȱsoftwareȱproducts: — Informixȱ–ȱtheȱdatabaseȱmanagementȱsystem,ȱonȱtheȱInsideȱserver.ȱȱTheȱ CM/ECFȱserverȱisȱdeliveredȱwithȱInformixȱinstalledȱ(butȱnotȱconfigured). — Apacheȱȱ–ȱtheȱWebȱserverȱonȱtheȱInsideȱandȱOutsideȱservers.ȱTheȱsoftware,ȱ whichȱcomesȱwithȱtheȱoperatingȱsystem,ȱisȱlocatedȱinȱ/etc/httpd. — Tripwireȱ–ȱtoȱdetectȱanyȱchangesȱmadeȱtoȱsystemȱorȱapplicationȱfiles,ȱonȱtheȱ InsideȱandȱOutsideȱservers.ȱȱTheȱtripwireȱbinaryȱisȱlocatedȱinȱ/usr/sbin. 08 Jul 2009 Release 4.0.1 1-4 District CM/ECF System Administrator’s Guide — WebȱapplicationȱsoftwareȱcomponentsȱwhichȱresideȱonȱbothȱtheȱInsideȱandȱ Outsideȱservers,ȱinȱtheȱ/opt/DCECFȱdirectory. — ServerȱapplicationȱsoftwareȱcomponentsȱwhichȱresideȱonlyȱonȱtheȱInsideȱ server,ȱinȱtheȱ/opt/DCECFȱdirectory. — Tomcat,ȱaȱWebȱserverȱthatȱworksȱwithȱApacheȱonȱtheȱInsideȱserverȱtoȱmanageȱ theȱJavaȱservletsȱusedȱinȱtheȱproductionȱofȱnotices.ȱ SeeȱtheȱȱDistrictȱProductȱPageȱforȱmoreȱinformation:ȱ http://www.aotx.ao.dcn/dc/ 08 Jul 2009 Release 4.0.1 1-5 CHAPTER 2 System Administration In This Chapter • RCȱscripts • Cronȱjobsȱ • BackupȱandȱRecovery • LogicalȱLogs • ȱTroubleshootingȱ • MonitoringȱSystemȱandȱApplicationȱLogs • SourceȱCodeȱModification • MonitoringȱDatabaseȱSpaceȱ • Filesȱinȱtheȱ/tmpȱdirectory 2 District CM/ECF System Administrator’s Guide RC scripts ManyȱofȱtheȱdayȬtoȬdayȱoperationsȱareȱperformedȱatȱmachineȱstartup/shutdownȱbyȱRCȱscripts.ȱȱ TheȱtableȱbelowȱlistsȱtheȱvariousȱrcȱscriptsȱinstalledȱonȱtheȱInsideȱserver,ȱtheirȱlocationȱandȱ function.ȱȱȱȱȱ Program Location Purpose Linked To S85httpd K15httpd /etc/rc3.d /etc/rc0.d starts up httpd daemon stops httpd daemon /etc/init.d/httpd S99InfxECF K01InfxECF /etc/rc3.d /etc/rc0.d starts up Informix stops Informix /etc/init.d/InfxECF S96-tomcat K96-tomcat /etc/rc3.d /etc/rc0.d starts up Tomcat stops Tomcat /etc/init.d/ECF-tomcat S99ECF-live K01ECF-live /etc/rc3.d /etc/rc0.d enables access to the live database disables access to the live database /etc/init.d/ECF-live S99ECF-test K01ECF-test /etc/rc3.d /etc/rc0.d enables access to the test database disables access to the test database /etc/init.d/ECF-test S99ECF-train K01ECF-train /etc/rc3.d /etc/rc0.d enables access to the train database disables access to the train database /etc/init.d/ECF-train S99fastServ K01fastServ /etc/rc3.d /etc/rc0.d starts fastServ stops fastServ /etc/init.d/fastServ S99RunSyncDocuments K01RunSyncDocuments /etc/rc3.d /etc/rc0.d Starts document processing between Inside server and replication server. Stops document processing between Inside server and replication server. /etc/init.d/RunSyncDocuments S99RunPacerSendDaemon K01RunPacerSendDaemon /etc/rc3.d /etc/rc0.d Starts PacerSendDaemon. Stops PacerSendDaemon. /etc/init.d/RunPacerSendDaemon Located in /opt/DCECF/live/server/server. PacerSendDaemon retrieves PACER billing data from the pacer_billing table and transmits it to the PACER Service Center. 08 Jul 2009 Release 4.0.1 2-2 District CM/ECF System Administrator’s Guide TheȱrcȱscriptsȱlistedȱbelowȱareȱalsoȱrunȱonȱtheȱOutsideȱserver:ȱ Program Location Purpose Linked To S85httpd K15httpd /etc/rc3.d /etc/rc0.d /etc/rc5.d starts up httpd daemon stops httpd daemon /etc/init.d/httpd S99fastServ K01fastServ /etc/rc3.d /etc/rc0.d starts fastServ stops fastServ /etc/init.d/fastServ 08 Jul 2009 Release 4.0.1 2-3 District CM/ECF System Administrator’s Guide Cron jobs CM/ECFȱcronȱentriesȱareȱinstalledȱinȱseparateȱfilesȱinȱ/etc/cron.d.ȱȱThereȱareȱfourȱtypesȱ ofȱcronȱentriesȱusedȱbyȱtheȱCM/ECFȱapplication • Cronȱjobsȱforȱeachȱdatabase • Cronȱjobsȱforȱtheȱliveȱdatabase • CronȱjobsȱforȱtheȱInformixȱinstance • Cronȱjobsȱforȱutilities Cron jobs for each database Theȱtableȱbelowȱlistsȱcronȱjobsȱthatȱareȱrunȱforȱeachȱdatabase. File in /etc/cron.d AutoConfCronAll.live AutoConfCronAll.test AutoConfCronAll.train Runs the Conflict Checking program daily for all judges for their entire caseload. The report is e-mailed to designated recipients. AutoConfCronConflict.live AutoConfCronConflict.test AutoConfCronConflict.train Examines the conflict lists to ensure that every judge has a list and that the list has been updated in the number of days specified in the site table entry Recuse_List_Overdue. Runs monthly. AutoConfCronDaily.live AutoConfCronDaily.test AutoConfCronDaily.train Runs the Conflict Checking program nightly for all judges for entries made to cases today. CleanFiles.live CleanFiles.test CleanFiles.train Removes old files from the cache directory. DelFreeMail.live DelFreeMail.test DelFreeMail.train Deletes records which allow a free view of filed documents. (expire after 30 days). Runs daily. MailNotify.live MailNotify.test MailNotify.train Sends the summary report of filings to CM/ECF users daily. ScheduledReportsDaemon.live ScheduledReportsDaemon.test ScheduledReportsDaemon.train 08 Jul 2009 Program Schedules reports to be run on a periodic basis. Runs hourly. Release 4.0.1 2-4 District CM/ECF System Administrator’s Guide Cron jobs for the live database Theȱtableȱbelowȱlistsȱcronȱjobsȱthatȱareȱrunȱforȱtheȱliveȱdatabaseȱonly. File in /etc/cron.d Program DelPacerBill.live Runs PacerBillDelete.pl daily which removes pacer_billing records that are over 120 days old and have already been sent to the PACER Service Center (PSC). PacerSendDaemonCron Runs every two hours to ensure the PacerSendDaemon program is running and restarts it if it is not running. ReportDocsDaily Provides a daily summary report of errors identified by the VerifyDocs program from the overnight run. ReportDocsWeekly Provides a weekly summary report of all errors identified by the VerifyDocs program since the last run. SyncDocumentsCron Controls the synchronization of file systems storing documents on primary and replication servers. Runs hourly. VerifyDocs Checks daily for PDF documents in the file system (and live database) for errors (such as incorrect electronic signatures). Cron jobs for the Informix instance ListedȱbelowȱareȱcronȱjobsȱthatȱareȱrunȱweeklyȱonȱtheȱInformixȱinstance. File in /etc/cron.d Program check_extents Lists tables in each Informix database that have more than 150 extents. dm Produces a disk utilization report that shows the amount of free space and % used in each dbspace. oncheck Runs oncheck-cI to check the indexes in all Informix databases and attempts to repair any that are corrupted. UpdateStats For each Informix database, updates Informix statistical information for all tables and indices to enhance the performance of the SQL optimizer. Cron jobs for utilities ListedȱbelowȱareȱutilityȱfilesȱthatȱareȱinstalledȱonȱbothȱtheȱInsideȱandȱOutsideȱservers. File in /etc/cron.d clean 08 Jul 2009 Program Removes old .PDF files from /tmp if not recently accessed, and removes others if /tmp is > 20% full. Runs every 30 minutes. Release 4.0.1 2-5 District CM/ECF System Administrator’s Guide File in /etc/cron.d Program clean 0 Removes all old files from /tmp nightly. deltmp Deletes nightly all files older than 14 days which reside in certain /tmp subdirectories. Modifying cron jobs Severalȱcronȱfilesȱareȱinstalledȱwithȱtheirȱcronȱstatementsȱdisabled.ȱTheyȱinclude: • AutoConfCronConflict.live/AutoConfCronConflict.test/AutoConfCronConflict.train • AutoConfCronDaily.live/AutoConfCronDaily.test/AutoConfCronDaily.train • AutoConfCronAll.live/AutoConfCronAll.test/AutoConfCronAll.train To modify cron jobs Toȱenableȱtheȱcronȱjobs,ȱorȱtoȱmodifyȱtheȱtimeȱwhenȱtheȱjobȱisȱscheduledȱtoȱrun,ȱyouȱ mustȱbeȱrootȱuser.ȱChangeȱtoȱtheȱ/etc/cron.dȱdirectory.ȱFindȱtheȱfileȱyouȱwishȱtoȱ modifyȱandȱopenȱitȱwithȱaȱtextȱeditor.ȱToȱenableȱaȱcronȱjob,ȱsimplyȱremoveȱtheȱpoundȱ signȱinȱfrontȱofȱtheȱcronȱstatement.ȱDoȱNOTȱremoveȱtheȱPATHȱstatementȱonȱtheȱfirstȱ lineȱofȱtheȱfile.ȱMakeȱanyȱnecessaryȱchangesȱtoȱtheȱscheduledȱtime,ȱifȱany,ȱandȱsaveȱtheȱ file. PATH=$PATH:/bin:/usr/bin:/usr/sbin:/opt/util #30 17 * * * root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r '/opt/DCECF/[live | test | train]/server/server/AutoConfCron.pl -d dbname -m 2000 -p /opt/DCECF/[live | test | train]/server/server >> /var/log/ecf/AutoConfCronAll.dbname.log 2>&1' 08 Jul 2009 Release 4.0.1 2-6 District CM/ECF System Administrator’s Guide Backup and Recovery Referȱtoȱtheȱappropriateȱbackupȱdocumentation: Backup Type Document Link Informix backups “Using Lbar to Back Up Informix on Linux” http://www.aotx.ao.dcn/informix Inside server backups “Using ARCServe to Back Up Files and Filesystems on Linux” http://www.aotx.ao.dcn/linux Outside server backups “Configuring and Using the Judiciary’s Outback Utility for CM/ECF Linux Servers” http://www.aotx.ao.dcn/linux Logical Logs WhenȱInformixȱloggingȱisȱturnedȱonȱ(trueȱforȱallȱCM/ECFȱdatabases),ȱeveryȱ transactionȱappliedȱtoȱtheȱdatabaseȱisȱalsoȱwrittenȱtoȱaȱ“logicalȱlog”ȱonȱdisk.ȱTheȱ initialȱsizeȱandȱnumberȱofȱlogȱfilesȱareȱspecifiedȱinȱtheȱ“onconfig”ȱconfigurationȱfile.ȱȱ Whenȱtheȱlastȱfileȱhasȱbeenȱfilled,ȱtheȱInformixȱdatabaseȱserverȱcanȱreuseȱoneȱofȱtheȱ olderȱfilesȱifȱitȱhasȱbeenȱbackedȱup.ȱȱ[Ifȱlogȱfilesȱareȱnotȱbackedȱup,ȱspaceȱforȱ recordingȱtransactionsȱisȱeventuallyȱconsumed,ȱaȱlogȱfileȱfullȱmessageȱappearsȱinȱtheȱ messageȱlog,ȱandȱdatabaseȱactivityȱisȱsuspended.]ȱȱ Forȱmoreȱinformation,ȱseeȱ“UsingȱLbarȱtoȱBackȱUpȱInformixȱonȱLinux”ȱat: http://www.aotx.ao.dcn/linux/ 08 Jul 2009 Release 4.0.1 2-7 District CM/ECF System Administrator’s Guide Troubleshooting Theseȱreports,ȱavailableȱinȱtheȱapplicationȱonȱtheȱ“SystemȱAdministratorȱReports”ȱ menu,ȱmayȱbeȱhelpfulȱwhenȱproblemsȱarise: Report Function Current Users Lists users whose logins have not expired Security Incident Report Lists unsuccessful logins by date System Log Files List entries in selected system logs such as those for fastServ and for document verification System Transactions Displays a summary of docket activity and other transactions Youȱmayȱalsoȱfindȱusefulȱinformationȱbyȱrunningȱtheȱfollowingȱcommandsȱonȱtheȱ Insideȱserver: Command df -h to check free space in the file systems dm -s to check free space in the database onstat -l to check if the logical logs are full onstat -m to look for Informix error messages ps -eaf | grep ECFdaemon to check if daemon processes are running ps -eaf | grep oninit to check if “oninit” processes are running ps -eaf | grep OutServ to check if “OutServ” processes are running ps -eaf | grep thttpd to check if “fastServ” processes are running (also run on Outside server) ps -eaf | grep httpd to check if Apache is running view /var/log/messages 08 Jul 2009 Function to look for application error messages Release 4.0.1 2-8 District CM/ECF System Administrator’s Guide Monitoring System and Application Logs Reviewing the Message Log Theȱmessageȱlogȱstoresȱdiagnosticȱandȱadministrativeȱmessagesȱaboutȱtheȱdatabaseȱ server.ȱToȱreviewȱmessages,ȱrunȱtheȱInformixȱcommand:ȱȱ onstat –m Thisȱcommandȱdisplaysȱtheȱlastȱ20ȱmessageȱlogȱentries.ȱForȱmoreȱextensiveȱmessageȱ logȱanalysis,ȱopenȱtheȱmessageȱfileȱusingȱviȱ(theȱfileȱnameȱandȱlocationȱareȱdisplayedȱ atȱtheȱbeginningȱofȱtheȱ“onstat”ȱoutput).ȱ Theȱmessageȱlogȱfileȱcontainsȱmessagesȱaboutȱdatabaseȱactivities,ȱprocesses,ȱandȱ errors.ȱCommonlyȱseenȱinȱtheȱmessageȱlogȱfileȱareȱmessagesȱonȱinstanceȱstartup,ȱ backups,ȱlogȱactivityȱandȱanyȱsystemȱparameterȱvalueȱchange.ȱMostȱdatabaseȱerrorsȱ areȱalsoȱwrittenȱtoȱtheȱmessageȱlogȱfile.ȱȱTherefore,ȱaȱdailyȱreviewȱofȱtheȱmessageȱfileȱ canȱhelpȱidentifyȱsourcesȱofȱerrors.ȱȱInȱsomeȱcases,ȱtheȱmessageȱlogȱfileȱmayȱbeȱtheȱ onlyȱplaceȱtoȱdiscoverȱanȱerrorȱthatȱmayȱnotȱinterruptȱtheȱoperationȱofȱtheȱdatabase,ȱ butȱthatȱcouldȱleadȱtoȱaȱcriticalȱproblemȱlater. NOTE Not every message in the file is a signal of a problem. In fact, most messages in the file are simply notifications of normal Informix operations. ResolvingȱerrorsȱthatȱappearȱinȱtheȱInformixȱlogȱfilesȱcanȱvaryȱinȱcomplexity,ȱ dependingȱonȱtheȱerror.ȱSeeȱInformixȬOnȱLineȱDynamicȱServerȱAdministrator’sȱ GuideȱVersionȱ7.2,ȱChapterȱ40:ȱ“OnlineȱMessageȱLogȱMessages”. Monitoring Application Logs LogsȱkeptȱbyȱtheȱCM/ECFȱapplicationȱareȱlocatedȱinȱtheȱ/var/log/ecfȱdirectoryȱonȱbothȱ theȱinsideȱandȱoutsideȱservers.ȱȱ ManyȱofȱtheseȱlogsȱcanȱbeȱaccessedȱeasilyȱfromȱtheȱCM/ECFȱapplication.ȱȱOnȱtheȱ UtilitiesȱMenu,ȱselectȱSystemȱAdministratorȱReports/SystemȱLogȱFiles.ȱȱTheȱlogsȱ whichȱareȱnormallyȱavailableȱonȱtheȱinsideȱserverȱ(fromȱaȱstandardȱinstallationȱofȱ CM/ECF)ȱareȱshownȱhereȱ(yourȱdatabaseȱnameȱwillȱappearȱinsteadȱofȱ“bk1”): 08 Jul 2009 Release 4.0.1 2-9 District CM/ECF System Administrator’s Guide Severalȱofȱtheȱlogȱfilesȱareȱproducedȱbyȱjobsȱlistedȱinȱtheȱ“Cronȱjobs”ȱsectionȱofȱthisȱ document: Log File Purpose AutoConfAll.dbname.log Results of the AutoConfAll cron job that runs the Conflict Checking Report for all judges for their entire caseload. AutoConfConflict.dbname.log Results of the AutoConfConfict cron job that runs the Conflict Checking Report for all judges for today’s entries. AutoConfDaily.dbname.log Results of the AutoConfDaily cron job checks the conflict list to see that each judge has a conflict list and that the list has been updated in the number of days set in the site table entry Recuse_List_Overdue. CopyDocsToFile.courtID_dbname.log results of the CopyDocsToFile cron job MailNotify.courtID_dbname.log output of the MailNotify.pl cron job DelFreeMail.courtID_dbname.log results of the DelFreeMail.pl cron job Theȱfollowingȱlistsȱadditionalȱlogȱfilesȱthatȱcanȱbeȱaddedȱsoȱthatȱtheyȱcanȱbeȱeasilyȱ viewed:ȱȱ • /var/log/informixȱlogs • /var/log/httpdȱlogsȱ • /var/log/messagesȱ Toȱaddȱtheȱlogȱfilesȱlistedȱabove,ȱeditȱ/var/log/ecf/loglocations.ȱȱEachȱlineȱspecifiesȱaȱ labelȱtoȱappearȱonȱtheȱmenuȱabove,ȱandȱtheȱfullȱpathȱnameȱofȱtheȱlogȱfile,ȱseparatedȱbyȱ 08 Jul 2009 Release 4.0.1 2-10 District CM/ECF System Administrator’s Guide aȱpipe.ȱȱAddȱlinesȱlikeȱthoseȱshownȱbelowȱifȱyouȱwantȱtheȱapplicationȱlogsȱforȱtheȱlive,ȱ test,ȱandȱtrainingȱdatabasesȱtoȱbeȱonȱtheȱlist. Application warning messages for live database|/var/log/ecf/live.crit Application error messages for live database|/var/log/ecf/live.error Application informational messages for live database|/var/log/ecf/live.info Application warning messages for test database|/var/log/ecf/testing.crit Application error messages for test database|/var/log/ecf/testing.error Application informational messages for test database|/var/log/ecf/testing.info Application warning messages for training database|/var/log/ecf/training.crit Application error messages for training database|/var/log/ecf/training.error Application informational messages for training database|/var/log/ecf/training.info NOTE The /var/log/ecf files shown in the example above are created when the application is installed, and the appropriate entries in /etc/syslog.conf are made. An additional group of files is set up which will only be used if you create and use a development database (development.crit, development.error, development.info). Entriesȱinȱtheȱ“info”,ȱ“errror”,ȱandȱ”crit”ȱlogsȱareȱmadeȱforȱproblemsȱthatȱtheȱ applicationȱcodeȱanticipates,ȱsuchȱasȱsecurityȱviolationsȱorȱmissingȱfiles.ȱAȱproblemȱ consideredȱtoȱbeȱcritical,ȱsuchȱasȱaȱsecurityȱviolationȱorȱdataȱcorruption,ȱisȱrecordedȱinȱ allȱthreeȱlogs;ȱanȱoccurrenceȱthatȱtheȱapplicationȱcategorizesȱasȱaȱnonȬcriticalȱerror,ȱ suchȱasȱaȱmissingȱCodesȱtableȱentry,ȱisȱrecordedȱinȱbothȱtheȱerrorȱandȱinfoȱlogs;ȱanȱ informationalȱmessageȱisȱstoredȱonlyȱinȱtheȱinfoȱlog.ȱErrorsȱthatȱwereȱnotȱanticipatedȱ byȱtheȱapplicationȱcodeȱresultȱinȱentriesȱinȱ/var/log/ecf/server.dbname.logȱ(forȱexample,ȱ Perlȱorȱdatabaseȱerrors). Monitoring Email Messages WhenȱCM/ECFȱisȱinstalled,ȱanȱemailȱaddressȱisȱspecifiedȱtoȱwhichȱaȱvarietyȱofȱstatusȱ andȱerrorȱmessagesȱareȱsent.ȱBeȱsureȱtoȱcheckȱthisȱemailȱaccountȱregularly. TheȱCM/ECFȱapplicationȱincludesȱaȱrequiredȱSiteȱtableȱentryȱ(MailUser)ȱwhichȱ specifiesȱaȱreturnȱaddressȱshownȱonȱtheȱelectronicȱNoticeȱofȱFiling.ȱThisȱemailȱaccountȱ receivesȱmessagesȱfromȱCM/ECFȱusers,ȱandȱsystemȬgeneratedȱmessagesȱaboutȱbadȱ emailȱaddressesȱforȱCM/ECFȱusers.ȱȱIfȱyouȱareȱresponsibleȱforȱthisȱaccount,ȱcheckȱitȱ frequently. 08 Jul 2009 Release 4.0.1 2-11 District CM/ECF System Administrator’s Guide Source Code Modification TheȱAOȱprovidesȱstandardȱCM/ECFȱsourceȱcodeȱtoȱfederalȱcourtsȱforȱtheȱprimaryȱ purposeȱofȱenablingȱthoseȱcourtsȱtoȱoperateȱtheȱCM/ECFȱsystem.ȱTheȱAOȱwillȱfullyȱ supportȱtheȱstandardȱsourceȱcodeȱforȱthoseȱcourtsȱthatȱimplementȱCM/ECFȱinȱ accordanceȱwithȱtheȱproject’sȱplanȱandȱschedule.ȱHowever,ȱtheȱAOȱdoesȱnotȱhaveȱ sufficientȱresourcesȱtoȱassistȱanyȱcourt,ȱorȱsupportȱtheȱproductȱofȱanyȱeffortȱoutsideȱ theȱAO,ȱtoȱmodifyȱtheȱstandardȱsourceȱcode.ȱTherefore,ȱwhileȱcourtsȱmayȱhaveȱtheȱ abilityȱtoȱmodifyȱtheȱsourceȱcode,ȱtheȱAOȱneitherȱrecommendsȱnorȱencouragesȱcourtȱ modifications. SoftwareȱthatȱextractsȱinformationȱfromȱtheȱCM/ECFȱdatabase,ȱalsoȱknownȱasȱ reportingȱorȱreadȬonlyȱsoftware,ȱandȱsoftwareȱthatȱupdatesȱtheȱCM/ECFȱdatabaseȱwillȱ beȱavailableȱforȱcourtsȱtoȱcustomizeȱtoȱsuitȱtheirȱownȱneeds.ȱSecurity,ȱstatisticalȱ reporting,ȱsealedȱcaseȱprocessingȱsoftware,ȱconflictȱscreeningȱalgorithm,ȱnoticeȱofȱ electronicȱfiling,ȱandȱpublicȱaccessȱsoftwareȱ(userȱauthentication,ȱuniversalȱlogin,ȱ “oneȬfreeȬlook”ȱtoȱelectronicȱdocuments,ȱandȱbilling),ȱareȱnotȱtoȱbeȱmodifiedȱforȱlocalȱ use.ȱSourceȱcodeȱfilesȱareȱavailableȱtoȱprovideȱcourtȱsystemsȱstaffȱanȱopportunityȱtoȱ educateȱthemselvesȱonȱtheȱdesignȱandȱmethodologyȱofȱtheȱCM/ECFȱsystem. Moreȱdetailedȱinformation,ȱasȱwellȱasȱlistsȱofȱ“noȬmodify”ȱsoftwareȱcanȱbeȱfoundȱat: http://jnet.ao.dcn/it/ecf/source-code.html 08 Jul 2009 Release 4.0.1 2-12 District CM/ECF System Administrator’s Guide Monitoring Database Space AnȱInformixȱdbspaceȱisȱaȱlogicalȱgroupingȱofȱphysicalȱchunks,ȱwhichȱareȱtheȱstorageȱ structuresȱofȱtheȱdatabase.ȱȱInformixȱsystemȱlevelȱinformationȱandȱobjectsȱsuchȱasȱ tables,ȱindexes,ȱphysicalȱandȱlogicalȱlogsȱareȱstoredȱinȱchunks.ȱMonitoringȱtheȱusageȱ ofȱtheȱchunksȱisȱcriticalȱtoȱensureȱthatȱtheyȱdoȱnotȱrunȱoutȱofȱspaceȱandȱthatȱtheyȱareȱ online. Theȱdmȱcronȱjobȱrunsȱeachȱweekȱtoȱreportȱonȱdiskȱusageȱ(usesȱtheȱ“dm”ȱutility,ȱ describedȱinȱtheȱUtilitiesȱsectionȱofȱthisȱdocument).ȱȱTheȱoutputȱisȱmailedȱtoȱtheȱ SystemȱAdministrator.ȱCheckȱtheȱpercentageȱofȱspaceȱusedȱinȱtheȱdbspace;ȱifȱitȱisȱ moreȱthanȱ80Ȭ90%,ȱyouȱmustȱaddȱchunksȱtoȱtheȱdbspace.ȱ Adding a new chunk EmailȱSDSDȬSBȱReplicationȱTeamȱ(cmȬecf_rep_ops@aotx.uscourts.gov)ȱwithȱdetailsȱofȱ theȱdatabaseȱchunksȱyouȱneedȱcreated.ȱTheȱinitialȱchunksȱareȱnamedȱcourtID_db1ȱandȱ courtID_db2,ȱsoȱthatȱpatternȱwillȱbeȱfollowedȱinȱnamingȱnewȱchunks.ȱȱItȱisȱessentialȱ forȱthisȱstepȱtoȱbeȱdoneȱbeforeȱyouȱcreateȱtheȱchunkȱonȱyourȱmachine.ȱTheȱSDSDȬSBȱ ReplicationȱTeamȱwillȱsendȱemailȱconfirmationȱafterȱcreatingȱandȱlinkingȱtheȱnewȱ chunksȱonȱtheȱreplicationȱserver. Afterȱyouȱhaveȱconfirmationȱthatȱtheȱchunkȱhasȱbeenȱcreatedȱonȱtheȱreplicationȱ machine,ȱcreateȱanȱemptyȱfileȱ(asȱuserȱInformix)ȱonȱyourȱdatabaseȱmachineȱ(theȱ primaryȱmachine)ȱwithȱtheȱsameȱname,ȱasȱshownȱinȱtheȱfollowingȱexample. Additionalȱinformationȱcanȱbeȱfoundȱat: ȱȱhttp://www.aotx.ao.dcn/support/DB/IFX/addchunk.asp. To add a new chunk 1. TheȱSDSDȬSBȱReplicationȱTeamȱwillȱprovideȱconfirmationȱtheȱnewȱchunksȱwereȱ createdȱandȱlinkedȱonȱtheȱreplicationȱserver.ȱȱ 2. Changeȱdirectory: cd /data/chunks1/courtID/livedbs 3. Createȱanȱemptyȱfile: touch live_db# 4. Changeȱpermissionsȱonȱtheȱfile: chmod 660 live_db# 08 Jul 2009 Release 4.0.1 2-13 District CM/ECF System Administrator’s Guide 5. Changeȱownerȱandȱgroupȱofȱtheȱfile: chown informix:informix live_db# 6. Createȱaȱsymbolicȱlink: ln -s /data/chunks1/courtID/livedbs/live_db# /opt/informix/links/courtID/live/live_db# 7. Useȱtheȱonspacesȱcommandȱtoȱaddȱtheȱnewȱchunkȱ(2ȱgigabytes):ȱ onspaces -a livedb -p /opt/informix/links/courtID/live/live_db# -o 0 -s 2000000 Files in the /tmp directory Theȱ“clean”ȱscriptȱrunȱbyȱcronȱremovesȱfilesȱfromȱ/tmpȱwhenȱthatȱdirectoryȱbecomesȱ moreȱthanȱ20%ȱfull.ȱȱTheȱlistȱbelowȱshowsȱsomeȱofȱtheȱtypesȱofȱfilesȱwrittenȱtoȱ/tmpȱbyȱ theȱapplicationȱsoftware.ȱȱȱTheȱcourtIDȱ(e.g.,ȱȱtxwd)ȱisȱincludedȱinȱtheȱfileȱname. Format 416695415039062 context files which allow the application to progress from screen to screen while remembering what the user has entered/done 416695415039062.LOCK lock files created while a context file is being generated 416695415039062courtID context files that have been copied to the database server a9925315734 document files, including .PDF, text, and HTML receipts a9925315734courtID document files that have been transferred to the database machine 252378-0-courtID.pdf 08 Jul 2009 Description of file cached .PDF files -- the first segment is the document ID, the second is the sequence number, and the third is the database name. Release 4.0.1 2-14 CHAPTER 3 3 Enhanced Document Processing In This Chapter • Overview • ReplicatingȱTheȱFiles • DatabaseȱUpdates • CreatingȱDocumentȱHomeȱDirectories • DocumentȱCaching District CM/ECF System Administrator’s Guide Overview WhenȱaȱdocumentȱisȱsubmittedȱtoȱCM/ECF,ȱitȱisȱwrittenȱdirectlyȱtoȱtheȱfilesystemȱofȱ theȱInsideȱprimaryȱserver.ȱItȱisȱwrittenȱtoȱtheȱdirectoryȱwhoseȱnameȱconsistsȱofȱtheȱ currentȱdateȱ(YYYYMMDD)ȱconcatenatedȱtoȱtheȱbaseȱspecifiedȱinȱtheȱdocument_homeȱ table.ȱTheȱlocationȱdependsȱonȱtheȱdateȱatȱtheȱtimeȱtheȱdocumentȱfileȱisȱwritten,ȱnotȱonȱ theȱdateȱtheȱtransactionȱwasȱstarted. TheȱEnhancedȱDocumentȱprocessȱusesȱtheȱdirectoryȱdefinedȱinȱdh_root_directoryȱofȱȱ document_homeȱwhereȱdh_activeȱ=ȱ‘Y’.ȱIfȱtheȱcurrentȱdateȱdirectoryȱdoesȱnotȱexistȱinȱ theȱdocument_homeȱdirectory,ȱitȱwillȱbeȱcreated.ȱTheȱnamesȱofȱcaseȬrelatedȱdocumentȱ filesȱwillȱfollowȱthisȱnamingȱconvention: dbname.cs_office.cs_year.cs_type.cs_number.dm_id.dm_seq. Theȱnamesȱofȱotherȱdocumentȱfilesȱwillȱbeȱinȱtheȱformat: dbname.dm_id.dm_seq. Theȱfullȱpathȱforȱtheȱdocumentȱfileȱwillȱthenȱbeȱwrittenȱinȱtheȱdm_doiȱfieldȱofȱtheȱ appropriateȱdocumentȱtableȱrecord. EnhancedȱDocumentȱProcessingȱdoesȱnotȱuseȱtheȱ“balancedȬtree”ȱapproachȱusedȱ previously.ȱTheȱ“balancedȬtree”ȱapproachȱusedȱaȱcomplexȱalgorithmȱtoȱspreadȱ documentsȱacrossȱfilesystems.ȱIfȱthereȱisȱȱmoreȱthanȱoneȱrecordȱinȱtheȱtableȱwhereȱ dh_active=’Y’,ȱonlyȱoneȱrecordȱwillȱbeȱselectedȱandȱallȱotherȱdocument_homeȱrecordsȱ ignored.ȱDocumentsȱwillȱbeȱwrittenȱtoȱtheȱsameȱdirectoryȱuntilȱtheȱfilesystemȱ becomesȱfull.ȱAtȱthatȱpoint,ȱdh_activeȱmustȱbeȱmanuallyȱsetȱtoȱ‘N’,ȱandȱanotherȱ document_homeȱrecordȱwhereȱdh_active=’Y’ȱmustȱbeȱcreated,ȱifȱoneȱdoesn’tȱalreadyȱ exist. NOTE Enhanced document processing uses the "SELECT FIRST" clause to select the first row that it finds in the table when determining what document_home record to use. Without a specific ORDER BY clause, the Informix query result depends on the query plan that the optimizer chooses. In other words, it does not use FIFO order, instead it uses an algorithm that will consistently determine the first record in the table. To find the first record in the document_home table run this SQL query: select first 1 dh_root_directory from document_home where dh_active=’Y’; Whenȱaȱdocumentȱisȱdeletedȱusingȱtheȱapplication,ȱtheȱdeleteȱmethodȱforȱtheȱ documentȱobjectȱwillȱdeleteȱtheȱdocumentȱfromȱtheȱfilesystem,ȱaddȱtheȱfullȱpathȱofȱtheȱ documentȱtoȱtheȱdeleted_documentsȱtableȱandȱthenȱdeleteȱtheȱrowȱfromȱtheȱ documentȱtable. 08 Jul 2009 Release 4.0.2 3-2 District CM/ECF System Administrator’s Guide Replicating The Files SyncDocuments TheȱreplicationȱofȱfilesȱisȱcontrolledȱbyȱaȱprogramȱcalledȱSyncDocumentsȱ(locatedȱinȱ /opt/util),ȱaȱ“daemon”ȱwhichȱwillȱsynchronizeȱtwoȱorȱmoreȱareasȱonȱtwoȱdifferentȱ servers,ȱaȱcourt’sȱInsideȱserverȱandȱit’sȱreplicationȱserver.ȱȱItȱusesȱrsyncȱwhichȱkeepsȱaȱ remoteȱdirectoryȱupȬtoȬdateȱwithȱaȱlocalȱone.ȱȱSyncDocumentsȱisȱstartedȱ(orȱ restarted)ȱbyȱ/etc/init.d/RunSyncDocumentsȱusingȱtheȱserviceȱcommand,ȱorȱbyȱaȱ rebootȱofȱtheȱserver.ȱAdditionally,ȱaȱcronȱjobȱcalledȱSyncDocumentsCron,ȱlocatedȱinȱ /etc/cron.d,ȱrunsȱcontinuouslyȱtoȱensureȱtheȱSyncDocumentsȱdaemonȱisȱstillȱactive.ȱIfȱ theȱdaemonȱhasȱstoppedȱforȱwhateverȱreason,ȱitȱisȱrestarted. NOTE The CopyDocs processes will continue to remove documents from the database until all of them are copied to the file system. Since CopyDocs uses the balanced tree method for writing documents, it may use one or more of the active directories it finds. Once all case-related documents have been copied to the filesystem on both the primary and replication servers and removed from the database, the CopyDocs cron jobs can be disabled. SyncDocuments.config SyncDocumentsȱusesȱaȱconfigurationȱfileȱcalledȱSyncDocuments.configȱlocatedȱinȱ /gov/ecf/etc.ȱȱThisȱfileȱcontainsȱtwoȱorȱmoreȱ“blocks”,ȱasȱshownȱinȱtheȱexampleȱbelow.ȱȱ Theȱfirstȱblockȱȱ[defaults] containsȱtagsȱwhichȱcontrolȱtheȱdefaultȱbehaviorȱofȱ SyncDocuments.ȱȱTheȱsecondȱblockȱdefinesȱtheȱapplicationȱwhoseȱdocumentsȱwillȱbeȱ synchronizedȱonȱtheȱprimaryȱandȱreplicationȱservers. [defaults] [defaults] # general setup params # Run at least every (RunEvery) seconds, or right after completing current run RunEvery=60 # set Verbose to yes enable debugging mode to stdout; comment out # or set to "no" to disable verbose mode ###Verbose="yes" # Send Email to site table (AdminMail) every (ErrorEmailMinutes) minutes, if rsync errors not corrected. ErrorEmailMinutes=120 [courtID_live] Dest=courtIDlei-rep.courtID.gtwy.dcn LogFile=/var/log/ecf/SyncDocs.courtID_live.log User=offsite_data_courtID KeyFullPath=/home/offsite_data_courtID/.ssh/offsite_data_courtID DisableDelete=no 08 Jul 2009 Release 4.0.2 3-3 District CM/ECF System Administrator’s Guide DbName=courtID_live DirOwner=ecf_web DirGroup=root DirMode=0775 FileOwner=informix FileGroup=ecf_web FileMode=0664 Defaults block RunEvery Time in seconds. This controls how often synchronization jobs are initiated. Only one job can run at a time. Verbose yes or no. This controls the display (to stdout) of debugging information. Normally, this flag should be set to no or commented out. ErrorEmailMinutes Controls the amount of time (in minutes) error messages are e-mailed to the account set in the site table entry AdminMail. The default is 120 minutes. Application block Dest Destination (replication) server resolvable by name or ip address. LogFile Log file which contains summary information defining the number of files processed and written. This file is updated once per hour and is intended to assist in monitoring of this process. User The SyncDocuments process connects to the remote server as this user. KeyFullPath Key file used with User connecting to remote server. DisableDelete yes or no. Normally, SyncDocuments will remove rows from the re_sync_directory table after each row is synchronized. This option will disable this delete. It is useful when setting up or debugging a new area to synchronize. DbName CM/ECF database name DirOwner DirGroup DirMode FileOwner FileGroup FileMode These six parameters are used with the -p option to SyncDocuments. This option verifies/sets document directory and file permissions of all directories and files under the directories defined in the document_home table. RemoteBackDir This parameter is optional and specifies the directory where modified or deleted files will be moved to on the replication server only. NOTE: This entry must be coordinated with the replication center staff since the directory must be writable by the User defined above. Thereȱareȱaȱfewȱspecialȱcasesȱthatȱareȱalsoȱhandledȱwithȱrsync.ȱFilesȱthatȱareȱupdated,ȱ perhapsȱfromȱmakingȱanȱedit,ȱafterȱtheȱdayȱwhenȱtheyȱwereȱfirstȱfiled.ȱToȱhandleȱthis,ȱ theȱtableȱre_sync_directoryȱwillȱbeȱupdatedȱwithȱtheȱdirectoryȱnameȱofȱanyȱdirectoryȱ whereȱaȱfileȱisȱupdated.ȱTheȱrsyncȱprocessȱwillȱreadȱaȱrowȱfromȱthisȱtableȱ(ifȱany),ȱandȱ 08 Jul 2009 Release 4.0.2 3-4 District CM/ECF System Administrator’s Guide runȱaȱsyncȱofȱthatȱdirectoryȱsoȱthatȱanyȱupdatesȱtoȱdocumentsȱfiledȱbeforeȱtodayȱareȱ updatedȱonȱtheȱreplicate. Newȱorȱupdatedȱfilesȱareȱalwaysȱstoredȱinȱtheȱcurrentȱ(today’s)ȱdirectory.ȱ Synchronizationȱofȱpreviousȱday’sȱdirectoryȱisȱonlyȱtoȱremoveȱtheȱoldȱfileȱfromȱtheȱ directoryȱwhereȱitȱwasȱoriginallyȱstored. SyncDocuments parameters TheȱonlyȱrequiredȱparameterȱthatȱRunSyncDocumentsȱneedsȱtoȱrunȱisȱtheȱȱȬbȱ parameter,ȱforȱwhichȱdatabase/applicationȱblockȱinȱtheȱSyncDocuments.configȱfileȱtoȱ use.ȱSyncDocumentsȱcanȱalsoȱbeȱrunȱwithȱoptionalȱparametersȱwhichȱareȱlistedȱinȱtheȱ tableȱbelow. Optional parameters Parameter Usage -c Only show 'missing' documents for the case id specified; cannot be combined with other options except -s; caseid cannot be zero. -d Find any documents entered in the last n days (must be 1 or greater) that are defined in the database but do not reside in the local file system; results are displayed in a “cpio/tarfriendly” format; cannot be be combined with any other options except -s. -g Debug mode, implies -v; prints lots of information. -L Do not loop; sync area only once then exit. -p Verify/set file and directory permissions as defined in the SyncDocuments.config file. -s statistics output file name; use only with option -c or -d. -t Test, list actions only, no files are transfered. -u (or -h) Display usage message and exit. -v Verbose mode. DocBackupDir AnȱoptionalȱsiteȱtableȱentryȱcalledȱDocBackupDirȱcanȱbeȱusedȱtoȱstoreȱaȱbackupȱcopyȱ ofȱeachȱdocumentȱonȱtheȱfilesystem.ȱAfterȱaȱdocumentȱisȱwrittenȱtoȱtheȱfilesystemȱandȱ theȱdocumentȱtable’sȱdm_doiȱfieldȱisȱupdated,ȱaȱsecondȱcopyȱofȱtheȱdocumentȱisȱ writtenȱtoȱtheȱlocationȱspecifiedȱinȱtheȱsiteȱvariable,ȱusingȱtheȱsameȱfilename.ȱThisȱ offersȱadditionalȱredundancy,ȱespeciallyȱifȱtheȱlocationȱisȱonȱanotherȱphysicalȱdisk,ȱorȱ perhapsȱisȱevenȱaȱremotelyȬattachedȱdirectoryȱonȱanȱindependentȱmachine.ȱ Toȱcreateȱaȱdocumentȱbackupȱdirectory,ȱfollowȱtheȱinstructionsȱbelow. 08 Jul 2009 Release 4.0.2 3-5 District CM/ECF System Administrator’s Guide To create a document backup directory 1. Asȱtheȱrootȱuser,ȱcreateȱtheȱdirectoryȱtoȱstoreȱaȱbackupȱcopyȱofȱeachȱdocumentȱ copiedȱtoȱtheȱfilesystem.ȱ mkdir -p backup_dir Example mkdir -p /data/docs1/backup 2. Changeȱtheȱpermissionsȱonȱtheȱdirectory: chmod 775 backup_dir 3. Changeȱtheȱownerȱandȱgroupȱonȱtheȱdirectory: chown ecf_web:nobody backup_dir 4. Switchȱuserȱtoȱinformix: su - informix 5. Usingȱdbaccess,ȱselectȱtheȱliveȱdatabase. 6. RunȱtheȱfollowingȱSQLȱtoȱaddȱaȱsiteȱtableȱentryȱforȱDocBackupDir,ȱsubstitutingȱ theȱfullȱpathȱofȱtheȱdirectoryȱyouȱcreatedȱforȱbackup_dir: insert into site values(‘DocBackupDir’,’backup_dir’,’n’,’ecf_web’); 08 Jul 2009 Release 4.0.2 3-6 District CM/ECF System Administrator’s Guide Database Updates Stored Procedures and Triggers NewȱstoredȱproceduresȱwillȱaddedȱtoȱtheȱInformixȱdatabaseȱforȱdocumentȱprocessing.ȱ Oneȱisȱcalledȱget_docȱwhichȱtakesȱasȱargumentsȱtheȱdocket entry ID,ȱtheȱ document sequence number,ȱtheȱpridȱofȱtheȱrequestingȱuser,ȱtheȱcase ID,ȱandȱ theȱIPȱaddressȱofȱtheȱcaller.ȱItȱdeterminesȱifȱtheȱspecifiedȱpersonȱ(theȱprid)ȱisȱallowedȱ toȱaccessȱtheȱselectedȱdocument,ȱbasedȱonȱuserȱpermissionsȱandȱaccessȱrestrictions. Aȱstoredȱprocedureȱencrypt,ȱtakesȱtheȱdocument id,ȱsequence number,ȱtheȱ mirroredȱflag,ȱtheȱdoc_flag,ȱdoc_sig,ȱandȱdoc_doi,ȱandȱencryptsȱtheȱdocument.ȱ Anotherȱprocedure,ȱunencrypt,ȱtakesȱtheȱsameȱarguments,ȱandȱisȱusedȱtoȱunencryptȱ (read)ȱanȱencryptedȱdocument.ȱ BothȱworkȱbyȱcallingȱtheȱbinaryȱProcessDocument.ȱNoteȱthatȱonceȱencrypted,ȱevenȱifȱ theȱrestrictionsȱareȱlaterȱremoved,ȱtheȱdocumentȱremainsȱencrypted.ȱThisȱisȱ transparentȱtoȱtheȱuser;ȱtheyȱwillȱhaveȱunrestrictedȱaccessȱandȱwillȱnotȱseeȱanyȱ differenceȱbetweenȱaȱformerlyȬrestrictedȱencryptedȱdocumentȱandȱoneȱthatȱhasȱneverȱ beenȱrestricted.ȱȱ re_sync_directory table Theȱre_sync_directoryȱtableȱwillȱhaveȱaȱrowȱforȱeveryȱday’sȱdocumentȱdirectoryȱthatȱ needsȱsynchronizing.ȱTheȱre_sync_directoryȱwillȱhaveȱtheȱfullȱpathȱtoȱtheȱdirectoryȱtoȱ rsync,ȱsuchȱasȱ/data/docs1/ECF/courtID/live/20070502.ȱIfȱsynchronizationȱisȱnotȱ workingȱforȱaȱperiodȱofȱtime,ȱthereȱmayȱbeȱmultipleȱrows,ȱoneȱforȱeachȱdirectoryȱthatȱ needsȱsynchronization. deleted_documents table Theȱdeleted_documentsȱtableȱisȱusedȱtoȱsynchronizeȱdocumentsȱthatȱhaveȱbeenȱ removedȱfromȱtheȱprimaryȱserverȱwithȱtheȱreplicationȱserver.ȱWhenȱaȱdocumentȱisȱ deletedȱthroughȱtheȱapplication,ȱtheȱfullȱpathȱofȱtheȱdocumentȱtoȱbeȱdeletedȱisȱaddedȱ toȱtheȱdeleted_documentsȱtable,ȱtheȱrowȱisȱdeletedȱfromȱtheȱdocumentȱtable,ȱandȱtheȱ documentȱdeletedȱfromȱtheȱfilesystem.ȱTheȱSyncDocumentsȱprogramȱreadsȱtheȱ deleted_documentsȱtableȱregularlyȱthroughoutȱtheȱdayȱandȱrunsȱanȱindividualȱrsyncȱ commandȱforȱeachȱfileȱtoȱbeȱremovedȱfromȱtheȱreplicationȱserver. Site Table Variables SomeȱofȱtheseȱvariablesȱareȱusedȱbyȱInformixȱstoredȱproceduresȱandȱbyȱCM/ECFȱ applicationȱcodeȱtoȱfindȱkeyȱfilesȱsuchȱasȱtheȱkeyȱfileȱdcecf.keyȱandȱtheȱdocumentȱ processingȱbinary.ȱȱ 08 Jul 2009 Release 4.0.2 3-7 District CM/ECF System Administrator’s Guide Site Table Entry CourtType D for district DocBackupDir A second, optional location to write all documents. KeyFile Basename for the key file (e.g., dcecf) ServerHome 08 Jul 2009 Use Full path to the server directory (e.g., /opt/DCECF/live/server/server) Release 4.0.2 3-8 District CM/ECF System Administrator’s Guide Creating Document Home Directories Thisȱsectionȱprovidesȱinstructionsȱforȱcreatingȱtheȱdocumentȱhomeȱdirectoriesȱthatȱ willȱholdȱallȱexistingȱandȱnewȱPDFȱfiles. IMPORTANT If you have not contacted the Replication Facility to create a public key on the replication server, do so now at (210) 301-6315. 1. Createȱaȱdocument_homeȱdirectoryȱusingȱtheȱcommandȱsyntaxȱshownȱbelow.ȱ Includeȱyourȱcourtȱshortȱnameȱinȱtheȱdocumentȱhomeȱdirectoryȱname.ȱTheȱcourtȱ shortȱnameȱcorrespondsȱtoȱtheȱCourtShortNameȱsiteȱtableȱvariable. mkdir -p /data/docs##/CourtShortName_test/ mkdir -p /data/docs##/CourtShortName_train/ mkdir -p /data/docs##/CourtShortname_dochome_app##/ Examples mkdir /data/docs1/TXWD_test/ mkdir /data/docs1/TXWD_train/ mkdir /data/docs1/TXWD_dochome_app03 2. Changeȱtheȱownershipȱofȱeachȱdocument_homeȱdirectory: chown informix:informix /data/docs##/CourtShortName_test/ chown informix:informix /data/docs##/CourtShortName_train/ chown informix:informix /data/docs##/CourtShortname_dochome_app##/ Examples chown informix:informix /data/docs1/TXWD_test/ chown informix:informix /data/docs1/TXWD_train/ chown informix:informix /data/docs1/TXWD_dochome_app03/ 3. Changeȱtheȱpermissionsȱofȱeachȱdocument_homeȱdirectory: chmod 775 /data/docs##/CourtShortName_test chmod 775 /data/docs##/CourtShortName_train chmod 775 /data/doc##/CourtShortName_dochome_app##/ Examples chmod 775 /data/docs1/TXWD_test/ chmod 775 /data/docs1/TXWD_train/ chmod 775 /data/docs1/TXWD_dochome_app03/ 08 Jul 2009 Release 4.0.2 3-9 District CM/ECF System Administrator’s Guide Configuring CM/ECF for Document Home Directories Nowȱthatȱtheȱdocumentȱhomeȱdirectoriesȱareȱcreated,ȱyouȱmustȱconfigureȱCM/ECFȱtoȱ recognizeȱthem.ȱȱTheȱDocumentȱHomeȱEditorȱallowsȱyouȱtoȱidentifyȱwhetherȱeachȱ directoryȱisȱacceptingȱadditionalȱfiles. 1. LogȱinȱtoȱCM/ECFȱasȱanȱadministrator. 2. OnȱtheȱUtilitiesȱmenu,ȱclickȱUpdateȱSystemȱTables,ȱandȱthenȱclickȱDocumentȱ Home. Aȱscreenȱsimilarȱtoȱtheȱfollowingȱexampleȱappears: Document Home Table Root Directory | Documents | MB left | % full | Accepting More New documents are written directly to the one root directory marked as “Accepting More”. Add a new root directory /data/docs1/TXWD_dochome_app03 It must contain the short name “TXWD” so that it can be replicated properly. Submit Clear 3. InȱtheȱAddȱaȱnewȱrootȱdirectoryȱbox,ȱtypeȱtheȱpathȱofȱyourȱfirstȱdocumentȱhomeȱ directory,ȱandȱthenȱclickȱSubmit. 4. Repeatȱstepȱ3ȱforȱeachȱdocumentȱhomeȱdirectoryȱyouȱwishȱtoȱcreate. Afterȱyouȱhaveȱenteredȱallȱdocument_homeȱtableȱrecords,ȱtheȱscreenȱwillȱlookȱ similarȱtoȱtheȱfollowingȱexample: 08 Jul 2009 Release 4.0.2 3-10 District CM/ECF System Administrator’s Guide Document Home Table Root Directory /data/docs1/TXWD_dochome_app03 /data/docs2/TXWD_dochome_app03 | Documents | MB left | % full | Accepting More 0 0 0 0 10% 10% D D New documents are written directly to the one root directory marked as “Accepting More”. Add a new root directory ___________________________________ It must contain the short name “TXWD” so that it can be replicated properly. Submit Clear 5. Ifȱyouȱwantȱtoȱallowȱmoreȱfilesȱtoȱbeȱaddedȱtoȱaȱdocumentȱhomeȱdirectory,ȱselectȱ theȱAcceptingȱMoreȱcheckȱbox. Newȱdocumentsȱwillȱonlyȱgoȱintoȱdocumentȱhomeȱdirectoriesȱwithȱthisȱcheckȱboxȱ selected.ȱȱUsingȱthisȱfeature,ȱyouȱcanȱmanageȱdiskȱusageȱperȱdocumentȱhome. 08 Jul 2009 Release 4.0.2 3-11 District CM/ECF System Administrator’s Guide Document Caching Thisȱsectionȱdescribesȱdocumentȱcaching,ȱaȱmethodȱtoȱcacheȱdocumentsȱasȱtheyȱareȱ viewed,ȱtoȱimproveȱperformanceȱuponȱsubsequentȱviewings.ȱPleaseȱnoteȱthatȱ documentȱcachingȱisȱoptional. Whenȱaȱdocumentȱisȱcached,ȱfilesȱareȱcreatedȱwithȱinformationȱaboutȱPDFheaders,ȱ hyperlinks,ȱandȱtheȱdocumentȱsignatureȱstampȱinȱaȱdesignatedȱdirectory.ȱȱWhenȱaȱ userȱrequestsȱaȱdocumentȱbyȱclickingȱonȱaȱlink,ȱifȱcachingȱisȱenabled,ȱtheȱprogramȱwillȱ checkȱtoȱseeȱifȱtheȱdocumentȱhasȱalreadyȱbeenȱsavedȱtoȱtheȱcacheȱbeforeȱitȱretrievesȱtheȱ document.ȱIfȱtheȱdocumentȱisȱinȱtheȱcache,ȱitȱwillȱbeȱdisplayedȱmoreȱquickly.ȱIfȱtheȱ documentȱisȱnotȱinȱtheȱcache,ȱitȱwillȱbeȱdisplayedȱasȱbefore,ȱbutȱwillȱbeȱsavedȱtoȱtheȱ cacheȱ(ifȱspaceȱallows)ȱforȱimprovedȱprocessingȱinȱfutureȱaccess.ȱAdditionally,ȱaȱ recordȱofȱtheȱaccessȱwillȱbeȱrecordedȱinȱaȱlogȱfile,ȱalongȱwithȱtheȱdate,ȱtimeȱandȱuser.ȱ Thisȱwillȱallowȱforȱanȱassessmentȱofȱtheȱeffectivenessȱofȱthisȱcachingȱmethodȱoverȱ time.ȱ Site Table Entries Fourȱsiteȱtableȱentriesȱ(detailedȱbelow)ȱareȱrequiredȱtoȱenableȱandȱconfigureȱ documentȱcaching.ȱȱSeparateȱsiteȱtableȱentriesȱareȱusedȱforȱtheȱInsideȱandȱOutsideȱ servers.ȱThisȱwillȱimproveȱperformanceȱforȱusersȱonȱtheȱOutsideȱserverȱbyȱavoidingȱ theȱneedȱtoȱredirectȱtoȱtheȱInsideȱserverȱeachȱtimeȱaȱdocumentȱisȱrequested.ȱInstead,ȱifȱ theȱdocumentȱisȱinȱtheȱcache,ȱitȱcanȱbeȱprovidedȱtoȱtheȱuserȱwithoutȱtheȱadditionalȱ processȱofȱredirecting. Site Table Entry Description remoteDocCache Full path to the location where cached documents will be placed on the Outside server. This path is referenced in /gov/ecf/etc/CleanFiles.config on the Outside server. NOTE: It is strongly recommended that cached documents be the only documents located in this directory and that at least 6GB of space are available in each application area where documents are cached, in addition to the amount in remoteDocCacheReserve. Example: /opt/remoteDocCache/test remoteDocCacheReserve The amount of space (in bytes) that must be present in the remoteDocCache directory for the system to cache a new document on the Outside server. If the cache shares a disk drive/partition with other processes, the amount of space that needs to be reserved for other processes will be controlled. Caching will automatically stop on the Outside server if the available space is less than the value defined in remoteDocCacheReserve. It is recommended that a minimum of 1GB be reserved to avoid using up all the available disk space, but 5GB would be better. Example: 5000000000 08 Jul 2009 Release 4.0.2 3-12 District CM/ECF System Administrator’s Guide Site Table Entry Description localDocCache Full path to the location where cached documents will be placed on the Inside server. This path is referenced in /gov/ecf/etc/CleanFiles.config on the Inside server. NOTE: It is strongly recommended that cached documents be the only documents located in this directory and that at least 6GB of space are available in each application area where documents are cached, in addition to the amount in localDocCacheReserve. Example: /data/docs1/ECF/localDocCache/test localDocCacheReserve The amount of space (in bytes) that must be present in the localDocCache directory for the system to cache a new document on the Inside server. Caching will automatically stop on the Inside server if the available space is less than the value defined in localDocCacheReserve. It is recommended that a minimum of 5GB be reserved to avoid using up all the available disk space. Example: 5000000000 Toȱenableȱdocumentȱcaching,ȱtwoȱnewȱdirectoriesȱneedȱtoȱbeȱcreated,ȱoneȱonȱtheȱInsideȱ serverȱandȱoneȱonȱtheȱOutsideȱserver.ȱȱItȱisȱhighlyȱrecommendedȱthatȱcachedȱ documentsȱbeȱtheȱonlyȱdocumentsȱlocatedȱinȱtheseȱdirectories.ȱTheȱOutsideȱserverȱ directoryȱmustȱbeȱaddedȱasȱtheȱvalueȱforȱtheȱremoteDocCacheȱsiteȱtableȱentry;ȱtheȱ InsideȱserverȱdirectoryȱmustȱbeȱaddedȱasȱtheȱvalueȱforȱtheȱlocalDocCacheȱsiteȱtableȱ entry.ȱAfterȱcreatingȱtheȱdirectoriesȱonȱbothȱservers,ȱchangeȱtheȱownerȱandȱgroupȱofȱ theȱdirectoriesȱtoȱecf_web:apache,ȱandȱsetȱtheȱpermissionsȱtoȱ770. IMPORTANTȱȱTheȱdirectoryȱpathsȱidentifiedȱinȱtheȱvaluesȱofȱtheȱ remoteDocCacheȱandȱlocalDocCacheȱsiteȱtableȱentriesȱmustȱalsoȱbeȱdefinedȱinȱtheȱ /gov/ecf/etc/CleanFiles.configȱfile.ȱȱIfȱtheȱvaluesȱinȱtheȱconfigȱfileȱdoȱnotȱmatchȱtheȱ valuesȱofȱtheȱsiteȱtableȱrecords,ȱthenȱtheȱcachingȱdirectoriesȱwillȱnotȱbeȱpurgedȱ properly. IfȱyourȱcourtȱusesȱOutbackȱtoȱperformȱbackups,ȱthenȱforȱeachȱapplicationȱareaȱexcludeȱ theȱfilesȱinȱtheȱremoteDocCacheȱdirectoryȱfromȱthisȱprocessȱinȱtheȱoutbackȬinsideȬ sysconfig.xmlȱfile.ȱȱSeeȱtheȱdocumentȱ“OutbackȱBackupȱUtilityȱforȱCM/ECFȱOutsideȱ LinuxȱServers”ȱatȱtheȱfollowingȱlocationȱforȱmoreȱinformation: http://www.aotx.ao.dcn/linux/default.asp#backup NOTE RemoveȱtheȱinsideȱdocumentȱcachingȱdirectoriesȱfromȱARCServe. CleanFiles utility CleanFilesȱisȱaȱutilityȱthatȱremovesȱoldȱfiles,ȱandȱisȱintendedȱprimarilyȱasȱaȱwayȱtoȱ removeȱfilesȱfromȱtheȱcache.ȱThisȱutilityȱisȱexecutedȱbyȱcronȱandȱlogsȱactivityȱtoȱ 08 Jul 2009 Release 4.0.2 3-13 District CM/ECF System Administrator’s Guide /var/log/ecf/CleanFiles.app.logȱwhereȱappȱisȱlive,ȱtest,ȱorȱtrain.ȱȱTheȱdefaultȱcronȱisȱsetȱ toȱrunȱtwiceȱeveryȱhour:ȱȱatȱtheȱbeginningȱofȱtheȱhourȱandȱatȱ30ȱminutesȱafterȱtheȱhour.ȱȱ Theȱ‘b’ȱparameterȱidentifiesȱtheȱblockȱinȱtheȱconfigurationȱfileȱthatȱwillȱbeȱexecuted;ȱ forȱdocumentȱcachingȱitȱwillȱbeȱLiveCache,ȱTestCacheȱorȱTrainCache.ȱȱToȱactivateȱtheȱ utility,ȱunȬcommentȱtheȱcronȱjobȱandȱrestartȱtheȱcronȱdaemon. CleanFiles.config Theȱconfigurationȱfile,ȱ/gov/ecf/etc/CleanFiles.config,ȱcontrolsȱhowȱfilesȱareȱremovedȱ fromȱtheȱcache.ȱȱTheȱtableȱbelowsȱlistȱtheȱvariousȱsettingsȱinȱtheȱfileȱandȱtheirȱpurpose.ȱȱ Verbose yes or no – when set to yes, this causes messages to be written to the log file regarding CleanFiles actions. Due to the number of messages that will be written, this feature is recommended for troubleshooting purposes, but not for default use. Please note that the setting for verbose at installation is disabled. In order to enable, remove the pound sign from the parameter: #Verbose=yes Directory Specifies the directory to examine for eligible files to be removed. On the Inside server, the path that is defined in the site table entry localDocCache (e.g., /data/docs1/lECF/ocalDocumentCache/test). On the Outside server, the path that is defined in the site table entry remoteDocCache (e.g., /opt/remoteDocumentCache/test). Support In each block (TestCache, TrainCache, and LiveCache), it specifies the support directory on the current server. If it is defined in a particular block, it will override the default block definition. One of the blocks must contain the variable. Mode Controls the actions of CleanFiles. DisplayFiles – program will display the names of files that have met the criteria for removal. RemoveFile - eligible files will be removed. FileType Specifies the types of documents to be processed. • DocumentCache - special processing will be enabled to remove cache files as a set. FileType=DocumentCache (default) Fill Chatty 08 Jul 2009 When the file system containing the Directory is at or beyond a certain percentage of capacity, the CleanFiles utility will run on the specified Directory. The “Fill” setting specifies the percentage above which cleaning should occur (see “What to do when caching stops” at the end of this section). For example, to clean the Directory when it is 70% full or more, the specification would be: Fill=70. Yes or No Wnen set to yes, this causes some information to display when it runs, for instance, start and stop times and number of files removed. Release 4.0.2 3-14 District CM/ECF System Administrator’s Guide Age Determines how old a file must be to be removed from the Directory. Time can be specified in minutes, hours or days. For example, to clean only files that are at least a week old, the specification would be: Age=7 days. Files that are newer than the specified age are ignored when CleanFiles is run. Note that the file age is measured from the time of most recent access of the file, not from the creation time. This number is very important as if it is set too high the clean script may clean using the more aggressive approach on a regular basis and make the cache much less effective. Setting it too low is not as bad but will not take full advantage of the cache. The recommended settings below reflect a conservative setting based on the number of unrestricted documents uploaded per month. This chart assumes 6GB of cache space (available space minus the value of [local/remote]DocCacheReserve), a Fill value of 70, and an average document size of 70KB. 100,000 or more 10 days 75,000 or more 15 days Fewer than 75,000 20 days (default) Level2Fill The threshold at which more aggressive cleaning of the Directory will occur. This value should be higher than the value in “Fill” plus the currently used disk space. Example: 90 NOTE: When setting the Level2Fill percentage, ensure that the percentage designated results in a larger free space byte count than the byte count designated in the DocCacheReserve site table entries. If the available free space drops below the DocCacheReserve before the Level2Fill percentage is reached, caching of newly accessed documents will stop, which prevents the Level2Fill percentage from ever being reached. This prevents the CleanFiles utility from more aggressively clearing out the cache to favor recently accessed documents, resulting in poor cache utilization. Level2Age Measured from the file’s creation date. This allows for more files to be removed when the Level2Fill threshold is reached, thereby avoiding a full cache directory. The period can be in minutes, hours or days. Example: 2 days Log Files OnȱbothȱtheȱInsideȱandȱOutsideȱservers,ȱaȱnewȱlogȱfileȱwillȱbeȱautomaticallyȱcreated.ȱ Theȱnameȱofȱtheȱlogȱfileȱisȱdocument_access.app.logȱ(whereȱappȱisȱlive,ȱtest,ȱorȱtrain)ȱ locatedȱinȱ/var/log/ecf/. Inȱthisȱlogȱfile,ȱaȱrecordȱwillȱbeȱcreatedȱeachȱtimeȱaȱuserȱtriesȱtoȱaccessȱaȱdocumentȱ (whenȱtheȱuserȱclicksȱonȱaȱdocumentȱlink).ȱTheȱrecordȱcreatedȱwillȱcontain: • 08 Jul 2009 1stȱfieldȱȬȱtheȱdateȱandȱtimeȱofȱtheȱaccessȱrequest. Release 4.0.2 3-15 District CM/ECF System Administrator’s Guide • 2ndȱfieldȱȬȱtheȱdm_idȱofȱtheȱdocumentȱrequested. • 3rdȱfieldȱȬȱtheȱdm_seqȱofȱtheȱdocumentȱrequested. • 4thȱfieldȱȬȱModificationsȱrequested.ȱThisȱfieldȱwillȱbeȱaȱconcantenationȱofȱanyȱ orȱallȱofȱtheȱfollowing: — Tȱifȱaȱtranscriptȱheaderȱshouldȱbeȱdisplayedȱfromȱaȱpublicȱterminal. — HȱifȱPDFȱheadersȱwereȱrequested. — LȱforȱLinkmapsȱ(Linkmapsȱisȱrunȱonlyȱwhenȱmultipleȱdocumentsȱareȱ attachedȱtoȱtheȱdocumentȱhyperlink). — Noȱtagȱisȱaddedȱforȱsingleȱdocumentsȱwithoutȱheadersȱorȱattachments. • 5thȱfieldȱȬȱModificationsȱmadeȱsuccessfully.ȱThisȱusesȱtheȱsameȱformatȱasȱfieldȱ 4,ȱbutȱwillȱreflectȱonlyȱthoseȱmodificationsȱthatȱwereȱmade.ȱȱIfȱnoȱerrorsȱareȱ incurred,ȱfieldȱ4ȱandȱfieldȱ5ȱwillȱbeȱidentical.ȱThisȱfieldȱwillȱalsoȱbeȱblankȱifȱtheȱ documentȱwasȱretrievedȱfromȱtheȱcache. • 6thȱfieldȱȬȱ‘local’ȱifȱtheȱaccessȱrequestȱtookȱplaceȱonȱtheȱInsideȱserver;ȱ‘remote’ȱifȱ onȱtheȱOutsideȱserver. • 7thȱfieldȱȬȱ‘fromȱcache’ȱifȱtheȱdocumentȱwasȱalreadyȱinȱtheȱcacheȱ(andȱthereforeȱ wasȱretrievedȱfromȱcacheȱforȱdisplay). • 8thȱfieldȱȬȱ‘toȱcache’ȱifȱtheȱdocumentȱwasȱsavedȱtoȱtheȱcache.ȱOtherȱmessagesȱ thatȱmightȱbeȱdisplayedȱunderȱcertainȱconditions: — (restricted)ȱȬȱaȱrestrictedȱdocument,ȱlikeȱaȱtranscript,ȱwasȱviewed. — (cachingȱdisabled)ȱȬȱwhenȱ[local/remote]DocCacheȱsiteȱrecordȱisȱnotȱ defined. — (fileȱisȱempty)ȱȬȱaȱzeroȱorȱoneȬbyteȱfile. — (writeȱtoȱcacheȱfailed)ȱȬȱinvalidȱdirectoryȱpathȱinȱsiteȱrecord. — (notȱenoughȱspace)ȱȬȱcachingȱcorrectlyȱabortedȱbecauseȱofȱtheȱavailableȱ spaceȱfellȱbelowȱtheȱreserveȱamount.ȱȱToȱcorrect,ȱsetȱtheȱvalueȱofȱ [local/remote]DocCacheReserveȱtoȱaȱhighȱnumber. • 08 Jul 2009 9thȱfieldȱȬȱgUserPridȱvalueȱofȱtheȱuserȱrequestingȱtheȱdocument;ȱnullȱifȱaȱ PACERȱuser. Release 4.0.2 3-16 District CM/ECF System Administrator’s Guide • 10thȱfieldȱȬȱPacerUserIdȱifȱaȱPACERȱaccountȱwasȱused. • 11thȱfieldȱȬȱIfȱtheȱdocumentȱisȱaȱclaim,ȱtheȱfieldȱwillȱhaveȱ‘claim’ȱinȱit;ȱ otherwise,ȱitȱwillȱbeȱempty. Troubleshooting Document Caching IfȱTomcatȱisȱdownȱwhenȱaȱdocumentȱisȱviewedȱforȱtheȱfirstȱtime,ȱcrossȬdocumentȱ hyperlinksȱwillȱnotȱworkȱandȱtheȱdocumentȱwillȱnotȱhaveȱheadersȱforȱthatȱviewȱofȱtheȱ document.ȱȱAnȱexternalȱuserȱwillȱseeȱsymptomsȱofȱtomcatȱnotȱworkingȱproperlyȱwhenȱ he/sheȱrequestsȱheadersȱbutȱtheyȱareȱnotȱdisplayed.ȱInȱaddition,ȱsubsequentȱrequestsȱ forȱtheȱdocumentȱwillȱnotȱtakeȱadvantageȱofȱtheȱcacheȱuntilȱtheȱdocumentȱisȱcorrectlyȱ retrievedȱ(andȱcached)ȱasȱrequested. Toȱrestartȱtomcat,ȱrunȱtheȱfollowingȱcommandsȱonȱtheȱInsideȱserverȱasȱtheȱrootȱuser: service ECF-tomcat stop service ECF-tomcat start Documentsȱwillȱnowȱbeȱcachedȱwithȱhyperlinksȱand,ȱifȱconfigured,ȱwithȱheadersȱtoo. SinceȱTomcatȱhandlesȱtheȱcreationȱofȱheadersȱandȱdocumentȱlinks,ȱrestartingȱTomcatȱ duringȱregularȱcourtȱhoursȱwillȱcauseȱdocumentsȱthatȱareȱcachedȱforȱtheȱfirstȱtimeȱ duringȱthoseȱminutesȱtoȱbeȱwithoutȱheadersȱandȱdocumentȱlinks.ȱDocumentsȱalreadyȱ inȱtheȱcacheȱareȱnotȱaffected. Changesȱtoȱcertainȱheaderȱsiteȱtableȱentriesȱ(PDF_HeaderColor,ȱ PDF_HeaderPosition,ȱPDF_HeaderOffSet,ȱdlsDBCourtID,ȱBaseURL)ȱwillȱnotȱbeȱ reflectedȱinȱsubsequentȱdocumentȱretrievalsȱuntilȱtheȱsiteȱtableȱentriesȱareȱreloadedȱinȱ Tomcat’sȱmemory,ȱwhichȱcanȱbeȱdoneȱbyȱenteringȱtheȱlinkȱforȱtheȱapplicationȱinȱyourȱ webȱbrowser,ȱasȱfollows: Live https://ecf.courtID.circ#.dcn/cmecf/servlet/cmecf.pdf.PreparePDFForDisplay?reload Test https://ecf-test.courtID.circ#.dcn/cmecf-test/servlet/cmecf.pdf.PreparePDFForDisplay?reload Train https://ecf-train.courtID.circ#.dcn/cmecf-train/servlet/cmecf.pdf.PreparePDFForDisplay?reload 08 Jul 2009 Release 4.0.2 3-17 District CM/ECF System Administrator’s Guide Doingȱsoȱwillȱreloadȱtheȱvariablesȱandȱlistȱtheȱupdatedȱvaluesȱonȱtheȱscreen. NOTE Any changes made to the content of the header (adding or removing information via PDF_HeaderFormat) should always take effect immediately. Documents that have already been cached will not be affected by changes to these site table entries. What to do when caching stops TheȱcurrentȱimplementationȱusesȱstaticȱvaluesȱinȱtheȱCleanFilesȱconfigurationȱforȱ determiningȱwhenȱcachedȱdocumentsȱshouldȱbeȱremoved,ȱalthoughȱtheȱ used/availableȱdiskȱspaceȱmayȱchangeȱoverȱtime.ȱȱCachingȱwillȱstopȱwhenȱtheȱcacheȱ spaceȱisȱatȱcapacityȱandȱifȱCleanFilesȱisnȇtȱremovingȱfiles.ȱȱAȱmessageȱwillȱbeȱwrittenȱ toȱtheȱ/var/log/ecf/CleanFiles.app.logȱfileȱwhenȱcachingȱstopsȱ(seeȱLogȱFilesȱinȱthisȱ sectionȱforȱaȱdescription).ȱȱTherefore,ȱitȱisȱnecessaryȱtoȱoccasionallyȱadjustȱsomeȱofȱtheȱ variables,ȱparticularlyȱFill.ȱȱTheȱFillȱfactorȱmayȱneedȱtoȱbeȱadjustedȱaccordingȱtoȱtheȱ totalȱsizeȱofȱtheȱdisk,ȱtheȱamountȱofȱfreeȱdiskȱspaceȱandȱtheȱamountȱofȱdiskȱspaceȱ reserved/usedȱforȱotherȱprocesses.ȱȱForȱexample,ȱifȱyourȱcacheȱisȱonȱaȱlargeȱdiskȱthatȱisȱ mostlyȱempty,ȱcalculateȱtheȱFillȱfactorȱusingȱtheȱfollowingȱformula: Fill = 70 - (reserve/harddisk * 70) Where reserve is the value of [local,remote]DocCacheReserve and harddisk is the total capacity of the hard drive. Example (400GB with 100GB reserved) Fill = 70 - (100/400 * 70) Fill is approximately 50% rather than the default 70%. TheȱfollowingȱchartȱshowsȱtheȱFillȱpercentageȱforȱvariousȱreserve/harddiskȱratios: Reserve/harddisk ratio Fill percentage 3/4 17 1/2 35 1/3 47 1/4 52 1/6 58 1/10 63 IfȱtheȱFillȱfactorȱisȱsetȱlowerȱthanȱtheȱcurrentlyȱusedȱdiskȱspace,ȱtheȱCleanFilesȱutilityȱ willȱrunȱbutȱfilesȱwillȱnotȱbeȱremovedȱuntilȱtheyȱmeetȱtheȱAgeȱfactor. 08 Jul 2009 Release 4.0.2 3-18 District CM/ECF System Administrator’s Guide Ifȱyouȱhaveȱenoughȱfreeȱdiskȱspaceȱ(minimumȱ11GB)ȱtoȱsetȱupȱcachingȱonȱanȱoldȱ data#/docsȱpartition,ȱthereȱwillȱbeȱminimalȱmaintenanceȱofȱtheȱconfigurationȱȱ variablesȱbecauseȱtheȱmajorityȱofȱtheȱdiskȱisȱstatic.ȱȱForȱaȱmostlyȱfullȱdiskȱ(aboveȱ90%ȱ used),ȱuseȱtheȱfollowingȱformula: Fill = 100 - ((reserve/harddisk) * 100) Example of when document caching will stop running On a 400GB drive with [local,remote]DocCacheReserve set to 200GB and used space at 30GB, caching will work until the cached documents take up 170GB. If the Fill value is set to the default of 70%, CleanFiles will not run because at that point only 50% of the drive is used, so caching will stop. Level2FillȱshouldȱalwaysȱbeȱsetȱtoȱaȱhigherȱpercentageȱthanȱFillȱandȱhigherȱthanȱtheȱ percentageȱofȱdiskȱspaceȱcurrentlyȱused. 08 Jul 2009 Release 4.0.2 3-19 CHAPTER 4 4 Replication In This Chapter • Overview • ReplicationȱGeneralȱPolicy • ReplicationȱGeneralȱSupportȱProcedure • MonitoringȱReplication • MaintainingȱaȱCourt’sȱApplicationȱSoftwareȱonȱtheȱVirutalȱReplicationȱServers District CM/ECF System Administrator’s Guide Overview Informix’sȱHighȱAvailabilityȱDataȱReplicationȱfacilityȱisȱusedȱtoȱmaintainȱaȱcopyȱofȱ yourȱCM/ECFȱInformixȱDBMSȱinstanceȱonȱaȱdifferentȱmachine.ȱTheȱreplicationȱ databaseȱcanȱbeȱmadeȱavailableȱforȱreadȬonlyȱorȱreadȬwriteȱaccessȱinȱtheȱeventȱthatȱ yourȱliveȱdatabaseȱbecomesȱunavailable. WhenȱtheȱInsideȱand/orȱOutsideȱserverȱfails,ȱandȱdowntimeȱisȱexpectedȱtoȱexceedȱ courtȬdeterminedȱtolerances,ȱusersȱcanȱbeȱdirectedȱtoȱtheȱmachinesȱatȱtheȱReplicationȱ FacilityȱforȱreadȬonlyȱorȱreadȬwriteȱaccessȱ(knownȱasȱlevelȱ1ȱfailoverȱandȱlevelȱ2ȱ failover,ȱrespectively). YouȱandȱtheȱReplicationȱFacilityȱwillȱfollowȱproceduresȱthatȱareȱappropriateȱforȱtheȱ situation;ȱtheseȱwillȱvaryȱdependingȱonȱwhetherȱoneȱorȱbothȱmachinesȱhaveȱbecomeȱ unavailable,ȱandȱwhichȱfailoverȱlevelȱisȱneeded. Failover of an Inside (database) server IfȱtheȱdatabaseȱserverȱfailsȱbutȱtheȱOutsideȱserverȱisȱavailable,ȱReplicationȱFacilityȱstaffȱ willȱprepareȱtheȱreplicationȱdatabaseȱforȱuse.ȱȱCourtȱusersȱwillȱbeȱgivenȱtheȱURLȱforȱ theȱreplicationȱdatabase,ȱwhichȱtheyȱwillȱaccessȱoverȱtheȱDCN.ȱȱPublicȱusersȱwillȱbeȱ ableȱtoȱaccessȱtheȱreplicationȱdatabaseȱoverȱtheȱInternetȱbyȱbeingȱredirectedȱfromȱtheȱ court’sȱoutsideȱserver.ȱTheȱredirectionȱisȱtransparentȱtoȱtheȱuser;ȱitȱisȱaccomplishedȱbyȱ addingȱaȱ“redirect”ȱlineȱtoȱtheȱApacheȱconfigurationȱfileȱonȱtheȱcourt’sȱOutsideȱserverȱ (theȱReplicationȱFacilityȱwillȱprovideȱyouȱwithȱexactȱinstructions). Failover of an Outside server IfȱtheȱOutsideȱserverȱfailsȱbutȱtheȱInsideȱserverȱisȱavailable,ȱcourtȱusersȱwillȱcontinueȱ toȱuseȱandȱdocketȱtoȱtheȱcourt’sȱlocalȱdatabase;ȱreplicationȱwillȱproceedȱasȱusual.ȱAfterȱ theȱReplicationȱFacilityȱhasȱdoneȱtheȱappropriateȱsetup,ȱpublicȱusersȱwillȱbeȱableȱtoȱ accessȱtheȱcourt’sȱdatabaseȱthroughȱtheȱReplicationȱFacility’sȱOutsideȱserver.ȱThisȱwillȱ beȱaccomplishedȱinȱoneȱofȱseveralȱways:ȱ — Ifȱtheȱcourt’sȱhomeȱpageȱisȱnotȱonȱtheȱfailedȱserver,ȱitsȱCM/ECFȱlinkȱcanȱsimplyȱ beȱchangedȱtoȱpointȱtoȱtheȱOutsideȱserverȱatȱtheȱReplicationȱFacility.ȱȱ — Ifȱtheȱcourt’sȱhomeȱpageȱisȱonȱtheȱfailedȱserver,ȱtheȱcourtȱwillȱneedȱtoȱnotifyȱ publicȱusersȱofȱtheȱReplicationȱFacilityȱURLȱtoȱuse.ȱȱ — Theȱpreferredȱwayȱtoȱaccomplishȱthisȱisȱtoȱhaveȱaȱnetworkȱengineerȱ implementȱaȱredirectionȱatȱtheȱgatewayȱfirewallsȱsuchȱthatȱtheȱcourtȱOutsideȱ usersȱwillȱbeȱredirectedȱtoȱtheȱ10ȱaddressȱofȱtheȱreplicationȱOutsideȱserverȱ ratherȱthanȱtheȱ10ȱaddressȱofȱtheȱcourtȱOutsideȱserver.ȱȱ 08 Jul 2009 Release 4.0.2 4-2 District CM/ECF System Administrator’s Guide Occasionallyȱaȱcourtȱmayȱnotȱwantȱtoȱhaveȱaȱredirectionȱimplementedȱatȱtheȱ gatewayȱfirewalls.ȱInȱthatȱsituation,ȱtheȱcourtȱwillȱmakeȱaȱchangeȱtoȱtheȱ CM/ECFȱlinkȱonȱtheirȱwebȱsiteȱsoȱthatȱitȱpointsȱtoȱtheȱURLȱofȱtheȱreplicationȱ Outsideȱserverȱforȱtheirȱcourt.ȱ — TheȱPACERȱServiceȱCenterȱcanȱalsoȱbeȱaskedȱtoȱchangeȱtheȱlinkȱonȱtheirȱsiteȱtoȱ pointȱtoȱtheȱOutsideȱserverȱatȱtheȱReplicationȱFacility. WhileȱtheȱReplicationȱFacilityȱOutsideȱserverȱisȱbeingȱused,ȱaccessȱchargesȱareȱ accumulatedȱinȱaȱsetȱofȱnewȱbillingȱlogȱfilesȱonȱthatȱmachine.ȱIfȱaȱPACERȱuserȱselectsȱ theȱ“ReviewȱBillingȱHistory”ȱfunctionȱduringȱthatȱtime,ȱonlyȱtheȱchargesȱincurredȱonȱ thatȱmachineȱwillȱbeȱshown.ȱȱAfterȱtheȱcourt’sȱserverȱbecomesȱavailableȱagain,ȱtheȱ PACERȱServiceȱCenterȱmustȱbeȱnotifiedȱsoȱthatȱtheyȱcanȱmergeȱtheȱreplicationȱserver’sȱ billingȱdataȱwithȱthatȱonȱtheȱcourt’sȱserver;ȱtheȱBillingȱHistoryȱwillȱagainȱbeȱcomplete. Failover of both servers AfterȱReplicationȱFacilityȱstaffȱhaveȱcompletedȱtheȱnecessaryȱsetup,ȱtheȱcourtȱmustȱ notifyȱpublicȱusersȱofȱtheȱURLȱofȱtheȱReplicationȱFacility’sȱOutsideȱserver;ȱcourtȱstaffȱ mustȱbeȱgivenȱtheȱURLȱofȱtheȱreplicationȱdatabase. Restoration of normal service after failover Afterȱtheȱcourt’sȱserversȱareȱavailableȱagain,ȱReplicationȱFacilityȱandȱcourtȱstaffȱmustȱ followȱproceduresȱwhichȱvaryȱaccordingȱtoȱtheȱcircumstancesȱofȱfailover.ȱȱIfȱtheȱ replicationȱdatabaseȱserverȱwasȱusedȱinȱreadȬwriteȱmode,ȱtheȱcourt’sȱstepsȱmayȱ includeȱrestoringȱfromȱaȱbackupȱofȱtheȱreplicationȱdatabase.ȱȱTheȱpreferredȱrestoreȱ methodȱisȱaȱtapelessȱfailback.ȱThisȱinvolvesȱchangingȱtheȱinformixȱserverȱmodesȱofȱtheȱ ReplicationȱandȱCourtȱserversȱbetweenȱprimary,ȱstandard,ȱandȱsecondaryȱtoȱ synchronizeȱtheȱlogicalȱlogsȱoverȱtheȱnetwork.ȱDetailedȱfailbackȱproceduresȱwillȱbeȱ providedȱbyȱtheȱReplicationȱFacility. Forȱmoreȱinformation,ȱreferȱtoȱtheȱReplicationȱFAQȱonȱtheȱDistrictȱProductȱPageȱat:ȱȱ http://www.aotx.ao.dcn/dc/default.asp#repl 08 Jul 2009 Release 4.0.2 4-3 District CM/ECF System Administrator’s Guide Replication General Policy NOTE Courts are responsible for maintaining their application software on their replication server. Instructions are located at the end of this chapter in the section entitled “Maintaining a Court’s Application Software on the Replication Servers”. — UseȱofȱtheȱReplicationȱFacilityȱserversȱforȱaȱfailover,ȱwhetherȱreadȬonlyȱorȱ readȬwriteȱisȱforȱshortȬtermȱuseȱonly.ȱTheȱgoalȱisȱtoȱrestoreȱserviceȱatȱtheȱcourtȱ asȱexpeditiouslyȱasȱpossible. — CourtȱstaffȱmustȱmaintainȱanyȱlocalȱmodificationsȱtoȱtheȱCM/ECFȱapplicationȱ softwareȱorȱlocallyȬdevelopedȱapplicationsȱbeforeȱandȱduringȱfailoverȱonȱtheȱ ReplicationȱFacilityȱservers.ȱ — TheȱReplicationȱFacilityȱmayȱnotȱbeȱusedȱasȱaȱmeansȱofȱredistributingȱaȱcourt’sȱ workloadȱorȱnetworkȱtraffic.ȱȱAnyȱexceptionsȱtoȱthisȱruleȱareȱtoȱbeȱdirectedȱbyȱ eȬmailȱtoȱThomas_Baribeau@aotx.uscourts.gov. Replication General Support Procedure Thisȱsectionȱoutlinesȱtheȱgeneralȱsupportȱprocedureȱregardingȱreplicationȱcalls,ȱ includingȱfailoverȱrequests.ȱAllȱfailover/failbackȱrequestsȱshouldȱhaveȱaȱsupportingȱ emailȱwithȱtheȱfailoverȱtype,ȱreasonȱforȱfailover,ȱtheȱstartȬdateȱandȱtime,ȱtheȱstopȬdateȱ andȱtimeȱ(ifȱknown),ȱpoint(s)ȱofȱcontact,ȱandȱprimary/alternateȱphoneȱnumbers.ȱ NOTE Court Staff should contact the Replication Help Desk directly at 210-301-6315. Routine Matters Forȱroutineȱmattersȱsuchȱasȱthoseȱlistedȱbelow,ȱcallȱtheȱReplicationȱHelpȱDeskȱorȱsendȱ anȱeȬmailȱtoȱcmȬecf_rep_ops@aotx.uscourts.govȱwithȱaȱcc:ȱtoȱdc@support.aotx.uscourts.gov. • Generalȱquestions • Coordinatingȱapplicationȱupgrades • Advancedȱ(scheduling)ȱrequestsȱforȱfailoverȱsupportȱȱ AnȱeȬmailȱforȱadvancedȱschedulingȱforȱfailoverȱsupportȱshouldȱbeȱsubmittedȱaȱ minimumȱofȱtwoȱdaysȱinȱadvance.ȱȱAcknowledgementȱofȱadvancedȱschedulingȱ requestsȱshouldȱoccurȱwithinȱfourȱbusinessȱhours. Implementationȱofȱaȱfailover/failbackȱrequestȱscheduledȱinȱadvanceȱcanȱoftenȱbeȱ implementedȱinȱoneȱhourȱorȱless.ȱȱ 08 Jul 2009 Release 4.0.2 4-4 District CM/ECF System Administrator’s Guide Emergency Procedures Forȱanȱimmediateȱfailoverȱrequestȱ(dueȱtoȱhardwareȱfailure,ȱnetworkȱoutage,ȱnaturalȱ disaster,ȱetc.),ȱcallȱȱ210Ȭ301Ȭ6315ȱandȱeȬmailȱcmȬecf_rep_ops@aotx.uscourts.govȱwithȱaȱcc:ȱ toȱdc@support.aotx.uscourts.gov.ȱȱAnȱeȬmailȱacknowledgementȱofȱtheȱrequestȱshouldȱ occurȱwithinȱ15ȱȬȱ30ȱminutes.ȱȱImplementationȱofȱtheȱfailoverȱshouldȱoccurȱwithinȱtwoȱ hoursȱorȱless. ȱ 08 Jul 2009 Release 4.0.2 4-5 District CM/ECF System Administrator’s Guide Monitoring Replication ThisȱsectionȱdescribesȱbothȱdbHeartBeat,ȱaȱutilityȱusedȱtoȱmonitorȱtheȱstatusȱofȱ replication,ȱandȱtheȱReplicationȱStatusȱWebȱpage. dbHeartBeat TheȱprogramȱdbHeartBeatȱallowsȱCM/ECFȱtoȱmonitorȱtheȱstatusȱofȱreplication.ȱTheȱ firstȱtimeȱitȱruns,ȱitȱcreatesȱaȱSiteȱtableȱentryȱnamedȱ“dbHeartBeat”ȱinȱyourȱliveȱ database;ȱtheȱentryȱisȱupdatedȱwithȱaȱtimeȱstampȱeveryȱtimeȱitȱexecutes.ȱIfȱreplicationȱ isȱworking,ȱtheȱupdatedȱvalueȱwillȱbeȱreflectedȱinȱtheȱreplicationȱdatabase;ȱsoftwareȱatȱ theȱReplicationȱFacilityȱchecksȱitȱeveryȱtenȱminutes.ȱȱIfȱitȱdoesȱnotȱgetȱupdatedȱonȱ schedule,ȱReplicationȱFacilityȱstaffȱareȱalertedȱviaȱemailȱsoȱthatȱreplicationȱcanȱbeȱ restarted.ȱInstructionsȱforȱsettingȱupȱdbHeartBeatȱwillȱbeȱprovidedȱbyȱtheȱReplicationȱ Facility. Replication Status Theȱstatusȱofȱallȱreplicatedȱdatabasesȱcanȱbeȱseenȱat: http://repstatus-rep.gtwy.dcn/ Yourȱcourt’sȱreplicationȱstatusȱshouldȱappearȱinȱtheȱDistrictȱlist;ȱtheȱtimeȱinȱsecondsȱ sinceȱtheȱlastȱupdateȱofȱtheȱtimeȱstampȱisȱshownȱ(rememberȱtoȱallowȱforȱtimeȱzoneȱ differences).ȱȱIfȱreplicationȱfails,ȱyourȱserverȱwillȱappearȱinȱtheȱtopȱsectionȱofȱtheȱ ReplicationȱStatusȱpageȱunderȱtheȱheadingȱ“DownȱSystems”. Sinceȱtheȱmonitoringȱprocessȱisȱcheckingȱtime,ȱitȱisȱhelpfulȱifȱyourȱmachineȱhasȱtheȱ correctȱtimeȱandȱdate.ȱȱToȱensureȱthatȱthisȱisȱtrue,ȱsetȱupȱtheȱntpdateȱprogramȱtoȱrunȱ nightlyȱfromȱaȱcronȱentry.ȱȱPleaseȱseeȱtheȱLinuxȱdocumentationȱforȱdetailsȱ(typeȱman ntpdate atȱtheȱshellȱprompt).ȱAskȱyourȱnetworkȱadministratorȱforȱtheȱIPȱaddressȱofȱanȱ appropriateȱntpȱtimeȱserver. Forȱmoreȱinformationȱonȱreplication,ȱreferȱtoȱtheȱReplicationȱFAQȱonȱtheȱDistrictȱ ProductȱPageȱat: http://www.aotx.ao.dcn/dc/ The RepEmail Site Table Entry TheȱRepEmailȱsiteȱtableȱentryȱspecifiesȱoneȱorȱmoreȱemailȱaddressesȱtoȱwhichȱaȱ messageȱisȱsentȱwhenȱtheȱreplicationȱprocessȱstartsȱorȱstops.ȱEachȱindividualȱatȱtheȱ courtȱwhoȱisȱresponsibleȱforȱmonitoringȱreplicationȱshouldȱhaveȱtheirȱemailȱaddressȱ listedȱinȱtheȱentry. 08 Jul 2009 Release 4.0.2 4-6 District CM/ECF System Administrator’s Guide MultipleȱeȬmailȱaddressesȱareȱseparatedȱwithȱeitherȱaȱcommaȱorȱaȱspace,ȱbutȱnotȱboth.ȱȱ Eitherȱofȱtheȱfollowingȱtwoȱexamplesȱwillȱwork: • Separatedȱbyȱspace: Jane_Doe@ao.uscourts.gov Jill_Doe@ao.uscourts.gov • Separatedȱbyȱcomma Jane_Doe@ao.uscourts.gov,Jill_Doe@ao.uscourts.gov, Theȱfollowingȱexampleȱwillȱnotȱwork: Jane_Doe@ao.uscourts.gov, Jill_Doe@ao.uscourts.gov AnȱemailȱmessageȱwillȱbeȱsentȱtoȱallȱaddressesȱlistedȱinȱtheȱRepEmailȱsiteȱtableȱentryȱȱ wheneverȱtheȱreplicationȱprocessȱisȱinterruptedȱforȱatȱleastȱ30ȱminutes.ȱTheȱentryȱdoesȱ notȱimpactȱtheȱtimingȱofȱreplicationȱstatusȱemailȱmessagesȱinȱanyȱway.ȱTimingȱforȱ theseȱmessagesȱactuallyȱcomesȱfromȱtheȱreplicationȱcenterȱsideȱofȱtheȱconnection. CM/ECF Codes Table Entry Court Contacts TheȱCM/ECFȱReplicationȱTeamȱmonitorsȱtheȱstatusȱofȱreplicationȱafterȱnormalȱ businessȱhours,ȱonȱweekends,ȱandȱonȱholidays.ȱIfȱreplicationȱstops,ȱstaffȱmembersȱ investigateȱtheȱproblem.ȱȱToȱreceiveȱtelephoneȱnotificationȱwhenȱaȱCM/ECFȱTeamȱ memberȱnoticesȱthatȱreplicationȱstops,ȱmaintainȱaȱlistȱofȱafterȬhoursȱcontactsȱinȱtheȱ Codesȱtable. NOTE This information is only used for business purposes. Forȱeachȱpersonȱtoȱbeȱcontacted,ȱcreateȱaȱcodesȱtableȱentryȱwithȱtheȱfollowingȱ information: Example Type Code Translation Miscellaneous Other 08 Jul 2009 CourtContacts Fred Systems Home: 703-555-1212 Cell: 703-555-4321 ah1 No calls before 8 AM EST on the weekend Release 4.0.2 4-7 District CM/ECF System Administrator’s Guide Maintaining a Court’s Application Software on the Virutal Replication Servers Thisȱsectionȱconsistsȱofȱtheȱfollowingȱsections: • Introduction • PreparationsȱtoȱbeȱmadeȱforȱtheȱsoftwareȬcopyingȱprocess • TestingȱinȱreadȬonlyȱmode • TestingȱinȱreadȬwriteȱmode Introduction AsȱpartȱofȱnormalȱCM/ECFȱoperations,ȱeachȱtransactionȱisȱwrittenȱtoȱtheȱcourtȇsȱȈliveȈȱ database,ȱandȱalsoȱtoȱaȱreplicationȱdatabaseȱonȱaȱsharedȱmultiȬprocessorȱserverȱatȱSaltȱ LakeȱCity,ȱUTȱorȱReston,ȱVA.ȱIfȱtheȱcourtȇsȱInsideȱorȱOutsideȱserverȱbecomesȱ unavailableȱforȱanyȱreason,ȱtheȱcourtȱmayȱinstructȱtheȱAOȱtoȱredirectȱusersȱtoȱaȱ replicationȱserver.ȱThisȱredirectionȱisȱreferredȱtoȱasȱaȱȈfailoverȈ. Thisȱsectionȱdescribesȱtheȱprocessȱwhichȱallowsȱeachȱcourtȱtoȱhaveȱfullȱcontrolȱoverȱ theȱsoftwareȱrunningȱonȱtheȱreplicationȱservers,ȱsoȱthatȱtheȱfailoverȱenvironmentȱwillȱ beȱidenticalȱtoȱtheȱcourt’sȱlocalȱenvironment.ȱTheȱcourtsȱwillȱbeȱresponsibleȱforȱ copyingȱlocalȱapplicationȱcodeȱmodificationsȱfromȱtheirȱlocalȱserversȱtoȱtheȱ appropriateȱreplicationȱserversȱ(InsideȱandȱOutside).ȱ Inȱadditionȱtoȱmaintainingȱtheȱsoftware,ȱyouȱmayȱneedȱtoȱcopyȱotherȱfilesȱneededȱbyȱ theȱapplication.ȱFilesȱsuchȱasȱformȱtemplates,ȱdataȱcollectors,ȱandȱgraphicsȱareȱ checkedȱdailyȱandȱcanȱbeȱautomaticallyȱcopiedȱfromȱyourȱcourt’sȱInsideȱserverȱtoȱtheȱ replicationȱserversȱifȱtheyȱchangeȱusingȱaȱrsyncȱprocess. Preparations to be made for the software-copying process Inȱorderȱforȱyouȱtoȱcopyȱsoftwareȱsafely,ȱandȱforȱlocallyȬdevelopedȱsoftwareȱtoȱrunȱ safelyȱandȱwellȱonȱtheȱreplicationȱservers,ȱyouȱmustȱdoȱtheȱfollowing: 08 Jul 2009 Release 4.0.2 4-8 District CM/ECF System Administrator’s Guide To set up and configure rsync transfers using cron 1. Generateȱaȱpublic/privateȱkeypairȱonȱyourȱInsideȱserverȱforȱtheȱrootȱuser: ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 31:11:7d:28:af:c9:f1:63:05:01:18:70:46:28:3d:5a root@servername NOTE A keypair may already exist. If so, you may use the existing public key. 2. ȱOnȱbothȱtheȱInsideȱandȱOutsideȱreplicationȱservers,ȱdoȱtheȱfollowing: a. Becomeȱroot’sȱequivalent: sudo su - b. Createȱaȱuser: useradd courtIDrepsync c. Useȱvisudoȱtoȱopenȱtheȱ/etc/sudoersȱfile. d. Inȱtheȱ/etc/sudoersȱfile,ȱdoȱtheȱfollowing: (1) LocateȱtheȱUserȱprivilegeȱspecificationȱline,ȱandȱthenȱaddȱtheȱnewȱuserȱwithȱtheȱ followingȱparameter: courtIDrepsync ALL=NOPASSWD: /usr/bin/rsync (2) Removeȱorȱcommentȱoutȱtheȱfollowingȱparameterȱ(ifȱitȱexists): Defaults requiretty (3) Saveȱandȱexitȱtheȱ/etc/sudoersȱfile. e. AsȱtheȱcourtIDrepsyncȱuser,ȱcreateȱtheȱ.sshȱdirectoryȱandȱkeyȱfileȱonȱtheȱ replicationȱserversȱ: 08 Jul 2009 Release 4.0.2 4-9 District CM/ECF System Administrator’s Guide Forȱexample: mkdir ~/.ssh chown courtIDrepsync:courtIDrepsync ~/.ssh chmod 700 ~/.ssh vi ~/.ssh/authorized_keys f. Cutȱtheȱcontentsȱofȱyourȱserver’sȱrootȱ.ssh/id_pub.rsaȱfile,ȱandȱthenȱpasteȱthemȱ intoȱtheȱauthorized_keysȱfileȱforȱtheȱcourtIDrepsyncuserȱonȱtheȱreplicationȱ server. 3. ChangeȱpermissionsȱforȱtheȱcourtIDrepsyncȱuser’sȱhome,ȱ.ssh,ȱauthorized_keys,ȱ andȱconfigȱdirectoriesȱandȱfiles: chmod go-w $HOME $HOME/.ssh chmod 600 $HOME/.ssh/authorized_keys echo "ForwardAgent yes" > ~/.ssh/config chmod 600 ~/.ssh/config 4. Restartȱsshd: service sshd restart 5. Createȱtheȱ/opt/DCECF/live/UpdateRepServerȱfileȱonȱtheȱcourt’sȱInsideȱserverȱ andȱembedȱtheȱrsyncȱcommands. Forȱexample: #!/bin/bash rsync -az --exclude "UspciRoutines.pl" --exclude "ECF-live" --exclude "SiteSetup.pl" --exclude "TransmogrifyRec.pm" --exclude "onconfig.wawd_shm" –-exclude “dcecf.ini” -e ssh --rsync-path "sudo rsync" /opt/DCECF/live/ courtIDrepsync@156.119.xx.xxx:/opt/DCECF/live/ rsync --delete -az --exclude "CopyDocsToFile" -e ssh --rsync-path “sudo rsync” /etc/cron/* courtIDrepsync@156.119.xx.xxx:/home/courtIDrepsync/crons/ rsync -az --exclude "UspciRoutines.pl" --exclude "SiteSetup.pl" --exclude "TransmogrifyRec.pm" -e ssh --rsync-path "sudo rsync" /data/docs1/outbackmirror/opt/DCECF/live/ courtIDrepsync@10.209.xx.xxx:/opt/DCECF/live/ rsync --delete -az -e ssh --rsync-path "sudo rsync" /data/docs1/outbackmirror/etc/cron* courtIDrepsync@10.209.xx.xxx:/home/courtIDrepsync/crons/ NOTE This example contains four separate rsync commands (two each for the Inside and Outside server). Blank lines were inserted between commands for readability purposes only. Outside server files are extracted from the outback backup files located on your Inside server. 08 Jul 2009 Release 4.0.2 4-10 District CM/ECF System Administrator’s Guide TIP The file should be owned by root:root with permission’s of 775. The –exclude parameters specify files not to overwrite on replication. CAUTION On the replication server, court cron files should be placed in a directory other than /etc/cron*, and they should be commented out. NOTE Ensure the user account is associated with the root public key from your server created earlier and IP addresses for your replication servers are modified appropriately. 6. Createȱaȱcronȱfileȱthatȱcallsȱtheȱfileȱwithȱyourȱembeddedȱrsyncȱcommands: # cat UpdateRepServer SHELL=/bin/bash PATH=$PATH:/bin:/usr/bin 00 17 * * * root /opt/DCECF/UpdateRepServer >> /var/log/ecf/UpdateRepServer.log 7. Ifȱaȱcommercialȱproductȱisȱneededȱforȱyourȱlocalȱapplications,ȱpurchaseȱaȱlicenseȱ forȱtheȱreplicationȱserverȱorȱverifyȱwithȱtheȱvendorȱthatȱinstallationȱonȱaȱbackupȱ deviceȱisȱpermitted.ȱ Beȱsureȱthatȱtheseȱrequirementsȱareȱmetȱforȱanyȱsoftwareȱyourȱcourtȱdevelopsȱinȱ theȱfuture. Testing in read-only mode Whenȱyouȱhaveȱcompletedȱtheȱstepsȱshownȱaboveȱtoȱuploadȱtheȱsoftware,ȱrunȱtheȱ applicationȱusingȱtheȱURLȱthatȱisȱonȱtheȱReplicationȱServersȱStatusȱpage.ȱByȱdefault,ȱ youȱwillȱbeȱinȱreadȬonlyȱmode,ȱsoȱtheȱQueryȱandȱReportsȱmenusȱareȱtheȱonlyȱonesȱ availableȱ(menuȱoptionsȱwillȱshowȱifȱtheyȱhaveȱtheȱ“Allowȱinternetȱaccess”ȱboxȱ checkedȱinȱtheȱapplication’sȱEditȱMenuȱfacility).ȱMakeȱsureȱtheȱoptionsȱonȱtheseȱ menusȱareȱworkingȱproperlyȱ(bothȱstandardȱandȱlocallyȱdevelopedȱprograms). Whenȱyouȱhaveȱfinishedȱtestingȱonȱtheȱinsideȱserver,ȱtestȱtheȱoutsideȱserverȱsoftware.ȱȱ Giveȱtheȱbrowserȱtheȱserver’sȱIPȱaddressȱfromȱtheȱReplicationȱServersȱStatusȱpageȱ(theȱ IPȱyouȱusedȱwhenȱyouȱinstalledȱtheȱsoftware).ȱWhenȱloggingȱinȱtoȱtheȱapplication,ȱuseȱ aȱregularȱCM/ECFȱlogin,ȱNOTȱaȱPACERȱlogin. NOTE If you have developed software that uses ODBC to read the database, you will need to set your services file, datasource, etc. for the replication database. The values to use are listed below. • • 08 Jul 2009 replicationȱmachineȱnameȱtheȱnameȱfromȱtheȱReplicationȱServersȱStatusȱpage,ȱ e.g.,rep10.ecf.res.gtwy.dcn portȱnumberȱtheȱnumberȱinȱtheȱ/etc/servicesȱfileȱforȱyourȱcourt’sȱreplicationȱ instance Release 4.0.2 4-11 District CM/ECF System Administrator’s Guide • InformixȱinstanceȱcourtID_repl • databaseȱnameȱcourtID_live Testing in read-write mode Dueȱtoȱtheȱintroductionȱofȱarchiving,ȱtheȱ“pointȱtoȱtest”ȱandȱ“pointȱtoȱtrain”ȱprocessesȱ manyȱofȱyouȱuseȱtoȱtestȱyourȱapplicationȱsoftwareȱandȱlocalȱmodificationsȱonȱtheȱ replicationȱserverȱdoȱnotȱworkȱatȱthisȱtime.ȱTheseȱprocessesȱstoppedȱworkingȱbecauseȱ theȱecf_webȱpasswordȱgenerationȱprocessȱchanged.ȱInȱtheȱpast,ȱthisȱpasswordȱwasȱ static.ȱNow,ȱtheȱpasswordȱresetsȱeachȱtimeȱtheȱapplicationȱsoftwareȱisȱstarted.ȱTheȱ CM/ECFȱapplicationȱwillȱnotȱconnectȱtoȱaȱremoteȱdatabaseȱunlessȱtheȱecf_webȱ passwordȱisȱtheȱsameȱonȱtheȱcourtȱserverȱandȱtheȱreplicationȱserver. OfficeȱofȱCourtȱAdministration,ȱTechnologyȱDivisionȱ(OCAȬTD)ȱstaffȱmembersȱareȱ reviewingȱthisȱissue.ȱWeȱwillȱkeepȱyouȱupdatedȱonȱtheȱstatusȱthroughȱtheȱ Aoml_RepOps_allrecipientsȱannounceȱlist. 08 Jul 2009 Release 4.0.2 4-12 CHAPTER 5 5 Public Access In This Chapter • PACER • U.S.ȱPartyȱCaseȱIndex • PublicȱTerminals District CM/ECF System Administrator’s Guide PACER DistrictȱPACERȱsoftwareȱusesȱtheȱcentralizedȱPACERȱauthenticationȱprocessȱforȱuserȱ logins.ȱTheȱcentralizedȱauthenticationȱprocessȱallowsȱtheȱJudiciaryȱtoȱauthenticateȱ PACERȱusersȱonȱoneȱofȱtwoȱnationalȱgatewayȱsitesȱratherȱthanȱdistributingȱtheȱ PACERȱpasswordsȱtoȱeachȱsite.ȱȱWhenȱaȱuserȱattemptsȱtoȱlogȱinȱatȱaȱcourtȱsite,ȱtheyȱareȱ transferredȱtoȱoneȱofȱtheȱauthenticationȱservers.ȱȱTheyȱareȱvalidated,ȱissuedȱaȱcookie,ȱ andȱtransferredȱbackȱtoȱtheȱcourtȱsystem. Theȱprocessȱisȱdescribedȱinȱtheȱdocumentȱtitledȱ“CentralizedȱPACERȱAuthenticationȱ Process”ȱat: http://pspsc.psc.ao.dcn/documents/centralized.pdf Toȱobtainȱaȱusernameȱandȱpassword,ȱPACERȱusersȱneedȱtoȱregisterȱwithȱtheȱPACERȱ ServiceȱCenter.ȱInȱaddition,ȱtheȱPACERȱServiceȱCenterȱalsoȱprovidesȱaȱlinkȱtoȱallowȱ usersȱtoȱchangeȱtheirȱclientȱcodes: https://pacer.login.uscourts.gov/cgi-bin/client.pl?court id=xxxx PublicȱusersȱareȱchargedȱtoȱviewȱCM/ECFȱreportsȱandȱqueries,ȱandȱmustȱlogȱinȱtoȱ CM/ECFȱwithȱaȱvalidȱPACERȱaccount.ȱPACERȱaccountsȱareȱadministeredȱbyȱtheȱ PACERȱServiceȱCenterȱ(PSC).ȱAtȱtheȱendȱofȱeachȱreport/query,ȱaȱPACERȱuserȱseesȱaȱ receiptȱshowingȱtheȱcharges,ȱbasedȱonȱtheȱnumberȱofȱpagesȱdisplayedȱandȱaȱbillingȱ transactionȱisȱcreated.ȱȱTheȱPSCȱusesȱtheȱtransactionȱdataȱtoȱbillȱPACERȱusers. CM/ECFȱtransmitsȱtheȱdataȱtoȱaȱPSCȱstagingȱserver,ȱfromȱwhichȱitȱisȱpassedȱtoȱaȱ CentralȱBillingȱServer.ȱȱTheȱlatterȱhostsȱaȱcentralȱbillingȱtransactionȱdatabaseȱmanagedȱ byȱtheȱPSC. Theȱ“ReviewȱBillingȱHistory”ȱoptionȱinȱCM/ECFȱredirectsȱtheȱuserȱtoȱaȱprogramȱonȱ theȱstagingȱserver,ȱwhichȱprovidesȱdataȱforȱrecentȱmonths;ȱtheȱuserȱcanȱspecifyȱoneȱorȱ moreȱcourtsȱforȱwhichȱdataȱshouldȱbeȱreported.ȱTheȱ“ReviewȱTransactionȱHistory”ȱ optionȱonȱtheȱPSCȱsiteȱcontinuesȱtoȱprovideȱaȱwiderȱrangeȱofȱbillingȱdataȱ(upȱtoȱ24ȱ monthsȱold);ȱthatȱdataȱisȱobtainedȱfromȱtheȱcentralȱbillingȱdatabase.ȱȱ TheȱrevisedȱPACERȱbillingȱfunctionȱincorporatesȱtheȱprocessingȱformerlyȱdoneȱbyȱtheȱ ECFbillȱprogram,ȱincludingȱtheȱproductionȱofȱtheȱreceipt.ȱItȱwritesȱbillingȱinformationȱ intoȱtheȱpacer_billingȱtableȱinȱtheȱcourt’sȱdatabase. AȱdaemonȱcalledȱPacerSendDaemon,ȱwhichȱisȱrunȱeveryȱ30ȱseconds,ȱretrievesȱfromȱ theȱpacer_billingȱtableȱthoseȱrecordsȱthatȱhaveȱnotȱyetȱbeenȱsent,ȱandȱformatsȱ correspondingȱXMLȱtransactionsȱwhichȱareȱthenȱtransmittedȱtoȱoneȱofȱtheȱ“stagingȱ servers”ȱmaintainedȱbyȱtheȱPSC;ȱtheȱXMLȱisȱnotȱsavedȱonȱtheȱCM/ECFȱserver.ȱTheȱ daemonȱwaitsȱforȱanȱacknowledgement;ȱwhenȱaȱ“success”ȱisȱreceivedȱforȱaȱbatchȱofȱ 08 Jul 2009 Release 4.0.1 5-2 District CM/ECF System Administrator’s Guide transactions,ȱitȱmarksȱtheȱappropriateȱpacer_billingȱrecordsȱinȱtheȱdatabaseȱ(setȱ pb_sent_to_pscȱtoȱ“Y”).ȱȱAfterȱrecordingȱtheȱacknowledgmentȱinȱtheȱ“info”ȱlogȱfile,ȱ theȱdaemonȱsleepsȱforȱoneȱminuteȱbeforeȱagainȱcheckingȱforȱtransactions;ȱthisȱdelayȱ ensuresȱthatȱtheȱdataȱstreamȱwillȱnotȱexceedȱtheȱcapacityȱofȱtheȱstagingȱserverȱtoȱ receiveȱit. Transactionsȱinȱaȱbatchȱforȱwhichȱnoȱacknowledgmementȱisȱreceivedȱ(orȱforȱwhichȱaȱ “failure”ȱisȱreceived)ȱwillȱnotȱbeȱmarkedȱsoȱthatȱtheyȱwillȱbeȱpickedȱupȱagainȱforȱtheȱ nextȱtransmission. Theȱacknowledgementsȱandȱanyȱerrorsȱwillȱbeȱrecordedȱinȱtheȱstandardȱapplicationȱ logsȱ(theȱ“info”ȱandȱ“error”ȱlogsȱinȱ/var/log/ecf). Theȱpostingȱtoȱtheȱstagingȱserverȱoccursȱoverȱaȱsecureȱconnectionȱ(SSL)ȱviaȱHTTPȱtoȱaȱ perlȱscript,ȱspecifiedȱbyȱtheȱSiteȱtableȱentryȱPacerStagingURL. TheȱetransȱprogramȱonȱtheȱstagingȱserversȱwillȱpostȱtheȱbillingȱtransactionsȱviaȱSSLȱtoȱ theȱcentralȱbillingȱserver,ȱinȱXMLȱformat.ȱTheȱcentralȱserverȱwillȱreturnȱanȱ acknowledgementȱforȱaȱsuccessfulȱtransmission;ȱatȱpredeterminedȱintervals,ȱetransȱ willȱresendȱtoȱtheȱcentralȱbillingȱserverȱanyȱtransactionsȱforȱwhichȱitȱdidȱnotȱreceiveȱanȱ acknowledgement.ȱTransactionsȱwillȱbeȱstoredȱinȱanȱInformixȱdatabaseȱonȱtheȱcentralȱ billingȱserver,ȱlocatedȱatȱtheȱRestonȱgateway.ȱȱAȱreplicatedȱversionȱofȱthisȱdatabaseȱ willȱbeȱlocatedȱatȱtheȱLee’sȱSummitȱgateway.ȱȱAllȱserversȱwillȱresideȱinȱaȱsecureȱzoneȱ andȱwillȱnotȱbeȱdirectlyȱaccessibleȱtoȱexternalȱusers. 08 Jul 2009 Release 4.0.1 5-3 District CM/ECF System Administrator’s Guide CM/ECF Billing Transaction Process CM/ECF Inside Servers Lee’s Summit Load Balance Reston Load Balance Staging Servers Secure Zone HITACHI Central Billing Transaction Server DuringȱaȱreadȬwriteȱfailover,ȱtheȱprocessȱofȱcreatingȱandȱtranmittingȱbillingȱ transactionsȱwillȱbeȱtheȱsameȱasȱonȱtheȱcourtȱserver.ȱȱStaffȱatȱtheȱReplicationȱ OperationsȱCenterȱwillȱstartȱPacerSendDaemonȱonȱtheȱreplicationȱserver,ȱandȱPSCȱ willȱcontinueȱtoȱreceiveȱbillingȱdataȱforȱtheȱcourt. AlternateȱprocessingȱwillȱbeȱrequiredȱinȱCM/ECFȱduringȱaȱreadȬonlyȱfailover.ȱWhenȱ theȱapplicationȱdetectsȱthisȱsituation,ȱitȱwillȱwriteȱtheȱbillingȱdataȱtoȱaȱBerkeleyȱUNIXȱ databaseȱinȱ/gov/ecf/dataȱonȱtheȱreplicationȱserver;ȱtheȱdatabaseȱwillȱbeȱcreatedȱifȱ necessaryȱ(namedȱRepBillingDB.INFORMIXSERVER).ȱStaffȱatȱtheȱReplicationȱ OperationsȱCenterȱwillȱstartȱPacerSendDaemonȱwithȱaȱparameterȱthatȱdirectsȱitȱtoȱ extractȱdataȱfromȱthisȱdatabase;ȱdataȱwillȱbeȱprocessed/transmittedȱinȱtheȱsameȱ mannerȱasȱifȱitȱcameȱfromȱtheȱCM/ECFȱdatabase.ȱȱPSCȱprocessingȱcanȱcontinueȱ uninterrupted;ȱbillingȱtransactionsȱwillȱsimplyȱbeȱcomingȱfromȱaȱdifferentȱserver.ȱTheȱ appropriateȱrecordsȱinȱtheȱBerkeleyȱdatabaseȱwillȱbeȱdeletedȱafterȱaȱbatchȱ acknowledgementȱisȱreceivedȱfromȱPSCȱ(thoseȱrecordsȱwillȱneverȱbeȱaddedȱtoȱtheȱ Informixȱdatabase). 08 Jul 2009 Release 4.0.1 5-4 District CM/ECF System Administrator’s Guide Whenȱtheȱdataȱcannotȱbeȱwrittenȱtoȱtheȱdatabase,ȱitȱisȱwrittenȱtoȱanȱalternateȱ repositoryȱ(externalȱfileȱorȱsimpleȱnonȬInformixȱdatabase).ȱȱDataȱisȱsentȱfromȱthisȱ alternateȱlocationȱ(andȱdeletedȱorȱmarkedȱasȱsent).ȱHowever,ȱsinceȱtheȱtransactionȱhasȱ notȱbeenȱinsertedȱintoȱtheȱdatabase,ȱtheȱnormalȱIDȱsequenceȱforȱtransactionsȱareȱnotȱ maintained;ȱaȱdistinctiveȱvalueȱforȱtheȱIDȱisȱusedȱtoȱmarkȱtheseȱtransactionsȱasȱhavingȱ comeȱviaȱthisȱirregularȱrouteȱ(e.g.,ȱtheȱvalueȱofȱaȱcontinuallyȬchangingȱvariableȱisȱ addedȱtoȱeachȱIDȱinȱaȱseriesȱwhichȱbeginsȱatȱanȱunusuallyȬhighȱnumber).ȱȱNoteȱthatȱ theȱtransactionsȱcontainȱaȱdate/timeȱstamp,ȱwhichȱmayȱhelpȱinȱverifyingȱtheȱ continuityȱofȱtheȱdataȱstreamȱwhenȱsequentialȱtransactionȱIDsȱareȱnotȱavailable.ȱȱ AȱPACERȱuserȱwhoȱchoosesȱtheȱ“ReviewȱBillingȱHistory”ȱoptionȱinȱCM/ECFȱisȱ redirectedȱtoȱaȱlinkȱonȱtheȱstagingȱserver,ȱasȱspecifiedȱbyȱtheȱSiteȱtableȱentryȱ PacerHistoryURL.ȱȱInȱaȱnewȱbrowserȱwindow,ȱtheȱuserȱcanȱsearchȱforȱtransactionsȱinȱ theȱcurrentȱandȱpreviousȱmonthsȱforȱaȱspecificȱcourtȱorȱallȱcourts;ȱdataȱisȱthenȱ retrievedȱfromȱtheȱcentralȱbillingȱtransactionȱdatabaseȱandȱformattedȱaccordingȱtoȱtheȱ optionsȱselectedȱbyȱtheȱuser. 08 Jul 2009 Release 4.0.1 5-5 District CM/ECF System Administrator’s Guide “Review Billing History” Process PACER User Lee’s Summit Load B Reston Load Balance Staging Servers Secure Zone HITACHI Central Billing Transaction Server Transactionsȱforȱotherȱmonthsȱareȱavailableȱonlyȱviaȱtheȱ“ReviewȱTransactionȱ History”ȱoptionȱwithinȱtheȱAccountȱInformationȱsectionȱofȱtheȱPSCȱsite.ȱȱDuplicateȱ andȱzeroȬpageȱtransactionsȱwillȱhaveȱbeenȱremoved,ȱsoȱwhatȱtheȱuserȱseesȱ correspondsȱtoȱwhatȱwillȱappearȱonȱtheirȱstatementȱatȱtheȱendȱofȱtheȱquarter. InȱCM/ECF,ȱtheȱfunctionȱwhichȱproducesȱtheȱreceiptȱcalculatesȱtheȱchargesȱbasedȱonȱ theȱperȬpageȱamountȱstoredȱinȱtheȱnewȱpacer_pageȱtable1;ȱonlyȱtheȱInformixȱuserȱ (andȱroot)ȱhasȱwriteȱpermissionsȱforȱthisȱtable.ȱȱȱAȱWebȬaccessibleȱprogramȱresidesȱonȱ eachȱcourt’sȱserverȱthatȱdisplaysȱtheȱcurrentȱperȬpageȱcost,ȱsoȱthatȱPSCȱcanȱreadilyȱ verifyȱtheȱvalueȱatȱanyȱtime. AȱcgiȬbinȱprogramȱcalledȱGetPacerTrans.plȱreturnsȱdetailedȱdataȱforȱaȱsingleȱ transactionȱbasedȱonȱitsȱID.ȱȱItȱwillȱapplyȱonlyȱtoȱtransactionsȱthatȱhaveȱbeenȱaddedȱtoȱ theȱCM/ECFȱdatabase. 1. 08 Jul 2009 If a current pacer_page record does not exist, the receipt will display “TBD” for the cost. Release 4.0.1 5-6 District CM/ECF System Administrator’s Guide PacerSendDaemon TheȱPacerSendDaemonȱprogram,ȱwhichȱisȱlocatedȱinȱ/opt/DCECF/live/server/server,ȱ runsȱeveryȱ30ȱsecondsȱtoȱretrieveȱPACERȱbillingȱtransactionsȱtoȱtransmitȱtoȱtheȱ PACERȱServiceȱCenter.ȱTheȱprogramȱcanȱbeȱstarted,ȱstoppedȱorȱrestartedȱwithȱtheȱ serviceȱcommand.ȱȱForȱinstance,ȱservice RunPacerSendDaemon stop,ȱwillȱkillȱtheȱ PacerSendDaemonȱprocess.ȱTheȱcronȱfileȱPacerSendDaemonCron,ȱlocatedȱinȱ /etc/cron.d,ȱactsȱasȱaȱbackupȱtoȱPacerSendDaemon.ȱEveryȱtwoȱhoursȱitȱchecksȱtoȱ ensureȱtheȱPacerSendDaemonȱprocessȱisȱstillȱrunning.ȱIfȱitȱhasȱdiedȱforȱsomeȱreason,ȱitȱ restartsȱit. IMPORTANT Whenever you perform database maintenance, whether upgrading the database schema or upgrading to a newer version of the Informix RDBMS, the PacerSendDaemon process must be stopped, and the PacerSendDaemonCron must be disabled. To disable PacerSendDaemon 1. Asȱtheȱrootȱuser,ȱstopȱtheȱPacerSendDaemonȱprocess: service RunPacerSendDaemon stop 2. Changeȱdirectory: cd /etc/cron.d 3. ModifyȱPacerSendDaemonCron,ȱinsertingȱaȱpoundȱsignȱinȱfrontȱofȱtheȱcronȱentry. #05 0,2,4,6,8,10,12,14,16,18,20,22 * * * root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e “courtID_live” -r /opt/DCECF/live/server/server/PacerSendDaemon.courtID_live.log 2>&1’ 4. Restartȱcron: service crond restart 5. Onceȱdatabaseȱmaintenanceȱhasȱbeenȱcompleted: a. RemoveȱtheȱpoundȱsignȱfromȱPacerSendDaemonCronȱandȱrestartȱcron. service crond restart b. RestartȱRunPacerSendDaemon. service RunPacerSendDaemon start 08 Jul 2009 Release 4.0.1 5-7 District CM/ECF System Administrator’s Guide U.S. Party Case Index TheȱPSCȱisȱalsoȱresponsibleȱforȱtheȱU.ȱS.ȱPartyȱCaseȱIndex.ȱȱAppropriateȱdataȱisȱ extractedȱfromȱyourȱreplicationȱdatabaseȱeachȱdayȱandȱisȱretrievedȱbyȱPSC.ȱȱNoȱ processingȱisȱdoneȱonȱtheȱcourtȱmachine.ȱ 08 Jul 2009 Release 4.0.1 5-8 District CM/ECF System Administrator’s Guide Public Terminals Thisȱsectionȱdescribesȱhowȱtoȱconfigureȱpublicȱterminalsȱatȱyourȱcourtȱsoȱusersȱcanȱ accessȱcaseȱinformationȱwithoutȱenteringȱaȱloginȱID,ȱandȱconsistsȱofȱtheȱfollowingȱ sections: • Overview • SettingȱUpȱPACERȬNetȱConnectivity • SettingȱUpȱtheȱPublicȱTerminals Overview Toȱconfigureȱpublicȱterminals,ȱyouȱwillȱneedȱaȱcomputerȱwithȱaȱbrowserȱandȱPACERȬ Netȱconnectivity. Theȱfollowingȱillustrationȱdepictsȱhowȱtheȱpublicȱterminalsȱareȱconnectedȱatȱtheȱmainȱ andȱdivisionalȱoffices. Public terminals at the main and divisional offices 08 Jul 2009 Release 4.0.1 5-9 District CM/ECF System Administrator’s Guide Setting Up PACER-Net Connectivity Thisȱsectionȱdescribesȱhowȱtoȱconnectȱpublicȱterminalsȱatȱyourȱcourt’sȱmainȱandȱ divisionalȱofficesȱtoȱPACERȬNet. Main office TheȱCM/ECFȱserversȱinstalledȱatȱyourȱmainȱofficeȱshouldȱalreadyȱhaveȱPACERȬNetȱ connectivity.ȱYouȱmustȱrunȱnetworkȱcablesȱtoȱconnectȱtheȱpublicȱterminalsȱtoȱtheȱ PACERȬNetȱCiscoȱswitch. Divisional office Forȱaȱdivisionalȱoffice,ȱwhichȱdoesȱnotȱhaveȱPACERȬNetȱconnectivity,ȱtheȱNetworkȱ ManagementȱFacilityȱ(NMF)ȱconfiguresȱtheȱDCNȱrouterȱtoȱsupportȱpublicȱterminals.ȱ Forȱquestions,ȱcallȱtheȱNMFȱatȱ(800)ȱ326Ȭ3008.ȱToȱstartȱtheȱprocess,ȱsendȱanȱeȬmailȱtoȱ NMFȱNetworkȱSupport/DCA/AO/USCOURTS.ȱInȱtheȱSubjectȱline,ȱtypeȱDivisional office public terminal setup.ȱInȱtheȱmessage,ȱprovideȱtheȱfollowingȱinformation: • Officeȱlocation • IPȱaddressȱofȱtheȱdivisionalȱofficeȱrouter • Aȱ10.x.x.xȱIPȱaddressȱ(fromȱtheȱPACERȬNetȱsubnet)ȱforȱtheȱsecondaryȱEthernetȱ portȱ(F0/1)ȱonȱtheȱrouter • Aȱ156.x.x.xȱIPȱaddressȱ(fromȱtheȱdivision’sȱsubnet)ȱforȱportȱaddressȱtranslationȱ (PAT)ȱonȱtheȱdivisionalȱofficeȱrouter NMFȱconfiguresȱtheseȱthreeȱitems: Subnet ToȱpreventȱpublicȱtrafficȱfromȱaccessingȱtheȱDCN,ȱtheȱNMFȱassignsȱtheȱsecondaryȱ Ethernetȱ(F0/1)ȱinterfaceȱonȱtheȱdivisionalȱofficeȱDCNȱrouterȱtoȱtheȱcourt’sȱPACERȬNetȱ subnet.ȱThisȱisȱaȱ10.x.x.xȱIPȱnumber. PAT ToȱrouteȱdivisionalȱofficeȱpublicȱaccessȱrequestsȱtoȱtheȱOutsideȱserver,ȱtheȱNMFȱ assignsȱtheȱdivisionalȱofficeȱDCNȱrouterȱaȱPortȱAddressȱTranslationȱ(PAT).ȱThisȱisȱaȱ 156.x.x.xȱIPȱaddressȱfromȱtheȱdivision’sȱsubnet. 08 Jul 2009 Release 4.0.1 5-10 District CM/ECF System Administrator’s Guide ACL ToȱensureȱthatȱpublicȱterminalsȱcanȱonlyȱconnectȱtoȱPACERȬNet,ȱandȱnotȱtoȱotherȱ DCNȱaddresses,ȱtheȱNMFȱupdatesȱtheȱAccessȱControlȱListsȱ(ACL)ȱonȱtheȱdivisionalȱ officeȱDCNȱrouter.ȱInȱtheȱACL,ȱtheȱPACERȬNetȱterminal’sȱIPȱaddressȱ(10.x.x.x)ȱisȱ givenȱaccessȱtoȱtheȱPACERȬNetȱsubnetȱonly. Configuring static routes EnsureȱtheȱdivisionalȱofficeȇsȱsubnetȱisȱincludedȱinȱtheȱstaticȱroutesȱonȱtheȱOutsideȱ server. To check the router configuration 1. Runȱtheȱfollowingȱcommand: netstat -nr 2. InȱtheȱDestinationȱcolumn,ȱdoȱoneȱofȱtheȱfollowing: • Ifȱtheȱdivisionȇsȱsubnetȱorȱtheȱ156.132.0.0ȱaddressȱappears,ȱnoȱactionȱisȱ required. • Ifȱtheȱdivisionȇsȱsubnetȱisȱnotȱincludedȱinȱtheȱroutingȱtable,ȱaddȱtheȱdivisionȇsȱ subnetȱtoȱtheȱ/etc/sysconfig/networkȬscripts/routeȬeth0ȱfile.ȱThisȱchangeȱwillȱ takeȱeffectȱafterȱtheȱnextȱreboot. Setting Up the Public Terminals Dependingȱonȱtheirȱlocation,ȱpublicȱterminalȱcomputersȱresideȱonȱbothȱtheȱPACERȬ NetȱsegmentȱandȱtheȱDCN.ȱAllȱpublicȱterminalsȱareȱconfiguredȱwithȱaȱ10.x.x.xȱIPȱ address. To configure a public terminal 1. Onȱtheȱpublicȱterminalȱcomputer,ȱupdateȱtheȱTCP/IPȱpropertiesȱasȱfollows: Field IP address Your court’s assigned PACER-Net subnet (10.x.x.x) Subnet mask 255.255.255.0 Default gateway 08 Jul 2009 Value For headquarters: 10.x.x.x IP address of the PACER-Net router For a divisional site: 10.x.x.x IP address assigned to (F0/1). Release 4.0.1 5-11 District CM/ECF System Administrator’s Guide 2. Inȱtheȱhostsȱfile,ȱaddȱanȱentryȱforȱtheȱPACERȬNetȱaddressȱofȱtheȱOutsideȱserver.ȱ OnȱWindowsȱ2000,ȱtheȱfileȱisȱlocatedȱinȱC:\WINNT\system32\drivers\etc. For public terminals located at the court's headquarters: TheȱhostȱnameȱshouldȱmatchȱtheȱexternalȱdomainȱnameȱofȱtheȱCM/ECFȱsiteȱtoȱ avoidȱbrowserȱ“certificateȱnameȱmismatch”ȱwarningsȱandȱerrors. Example:ȱȱȱȱȱȱȱȱȱȱȱ10.213.12.100 ecf.courtID.uscourts.gov For public terminals located at the court’s divisional office Theȱhostsȱfileȱmustȱcontainȱtheȱ156.x.x.xȱNetworkȱAddressȱTranslationȱ(NAT)ȱIPȱ addressȱofȱtheȱOutsideȱserver. Example:ȱȱȱȱȱȱȱȱȱȱȱȱȱȱ156.124.30.220 ecf.courtID.uscourts.gov NOTE Close all open browsers. Any new browser sessions that are opened will use the new hosts file. 3. Setȱtheȱbrowserȱhomeȱpageȱforȱtheȱpublicȱterminalȱtoȱtheȱpublicȱterminalȱscriptȱatȱ https://ecf.courtID.uscourts.gov/cgiȬbin/login.pl. • ToȱsetȱtheȱhomeȱpageȱaddressȱinȱInternetȱExplorer: OnȱtheȱToolsȱmenu,ȱclickȱInternetȱOptions. • ToȱsetȱtheȱhomeȱpageȱaddressȱinȱFoxfire: OnȱtheȱToolsȱmenu,ȱclickȱOptions,ȱthenȱselectȱMain. Modifying ssl.conf on the Outside server Followȱtheȱinstructionsȱbelowȱ(asȱuserȱroot)ȱtoȱmodifyȱtheȱssl.confȱfileȱonȱyourȱ Outsideȱserver 1. Changeȱdirectory: cd /etc/httpd/conf.d 2. Editȱtheȱssl.confȱfile: 08 Jul 2009 Release 4.0.1 5-12 District CM/ECF System Administrator’s Guide a. Addȱtheȱlinesȱhighlightedȱbelowȱtoȱtheȱendȱofȱtheȱfileȱandȱbeforeȱtheȱcloseȱtagȱ (</VirtualHost),ȱsubstitutingȱyourȱcourtȱabbreviationȱforȱcourtID: # Added by SDSD for Public Terminal Setup. DocumentRoot "/opt/DCECF/live/web" DirectoryIndex index.html index.cgi /ShowIndex.pl ScriptAlias /index.html /opt/DCECF/live/web/ShowIndex.pl ScriptAlias /index.htm /opt/DCECF/live/web/ShowIndex.pl ScriptAlias /ShowIndex.pl /opt/DCECF/live/web/ShowIndex.pl ScriptAlias /cgi-bin/ /opt/DCECF/live/web/cgi-bin/ ScriptAlias /support/ /opt/DCECF/live/web/cgi-bin/ ScriptAlias /html/ /opt/DCECF/live/web/cgi-bin/ ScriptAlias /site/ /opt/DCECF/live/web/cgi-bin/ ScriptAlias /cmecf/ /opt/DCECF/live/web/cgi-bin/ SSLCertificateKeyFile /usr/share/ssl/private/ecf.courtID.uscourts.gov.key SSLCertificateFile /usr/share/ssl/certs/ecf.courtID.uscourts.gov.cert # /Public Terminal Setup </VirtualHost> b. Disableȱtheȱfollowingȱtwoȱlinesȱbyȱprecedingȱthemȱwithȱaȱpoundȱsignȱ(#): SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key c. Addȱtheȱhighlightedȱline,ȱasȱshownȱbelow,ȱtoȱtheȱdefaultȱVirtualHostȱ container.ȱThisȱisȱneededȱforȱcrossȬdocumentȱhyperlinks: <VirtualHost_default_:443> “ScriptAlias /doc1/ /opt/DCECF/live/web/cgi-bin/show_doc.pl/” </VirtualHost> 3. Restartȱapache: service httpd restart Enabling the Public Terminals Onceȱtheȱpublicȱterminalsȱhaveȱbeenȱsetȱup,ȱtwoȱCodesȱtableȱentriesȱneedȱtoȱbeȱ modifedȱforȱyourȱcourt,ȱȱpacer_pubtermȱandȱpaceracct. 1. SelectȱUtilitiesȱȬ>ȱUpdateȱSystemȱTablesȱȬ>ȱCodesȱTable 2. ModifyȱtheȱCodesȱtableȱentryȱȱpacer_pubterm: • 08 Jul 2009 ChangeȱtheȱIPȱaddressȱforȱtheȱfirstȱpublicȱterminalȱinȱtheȱTranslationȱfield Release 4.0.1 5-13 District CM/ECF System Administrator’s Guide • Forȱaȱsecondȱpublicȱterminal,ȱcreateȱaȱsecondȱpacer_pubtermȱrecordȱwithȱaȱ codeȱofȱpubterm2 Type pacer_pubterm Code pubterm1 Translation IP address for first public terminal 10.xxx.xxx.xxx (one for each public terminal in the office where the PACER router/hub is located) 156.xxx.xxx.xxx (only the PAT address for each divisional office) Default n Miscellaneous Other 3. ModifyȱtheȱCodesȱtableȱentryȱpaceracct, byȱsettingȱtheȱTranslationȱfieldȱtoȱtheȱ defaultȱPACERȱaccountȱforȱyourȱcourt: Type paceracct Code pacer_acct Translation default PACER account Default n Miscellaneous Other Securing the Public Terminals Theȱsecurityȱofȱpublicȱterminalsȱisȱanȱimportantȱconsiderationȱgivenȱthatȱusersȱcanȱ accessȱthemȱonȱsiteȱwithoutȱcloseȱsupervision.ȱBecauseȱofȱtheirȱlocationȱonȱPACERȬ Net,ȱwhichȱisȱoutsideȱtheȱDCNȱfirewall,ȱanȱimproperlyȱsecuredȱpublicȱterminalȱcouldȱ beȱsusceptibleȱtoȱInternetȱhackers,ȱviruses,ȱandȱworms.ȱTherefore,ȱitȱisȱessentialȱthatȱ theseȱcomputersȱhaveȱtheȱlatestȱsecurityȱupdatesȱtoȱtheȱoperatingȱsystemȱandȱtheȱ browser.ȱYouȱcanȱtightenȱsecurityȱfurtherȱthroughȱstartupȱoptionsȱonȱtheȱcomputerȱ andȱinȱtheȱbrowser. 08 Jul 2009 Release 4.0.1 5-14 CHAPTER 6 Security In This Chapter • ApplicationȱSecurity • DocumentȱSecurity • VeriSignȱCertificates • Controllingȱserverȱaccess 6 District CM/ECF System Administrator’s Guide Application Security AccessȱtoȱtheȱCM/ECFȱapplicationȱisȱcontrolledȱbyȱaccountsȱwithȱpasswords.ȱȱTheȱ applicationȱadministratorȱcreatesȱaccountsȱforȱcourtȱstaffȱandȱattorneys.ȱPublicȱusersȱ haveȱPACERȱaccounts,ȱwhichȱareȱassignedȱandȱadministeredȱbyȱtheȱPACERȱServiceȱ Center.ȱȱEachȱuserȱisȱassignedȱmembershipȱinȱoneȱorȱmoreȱgroups,ȱwhichȱdetermineȱ whatȱprogramsȱandȱfunctionsȱareȱpermitted.ȱForȱinformationȱaboutȱCM/ECFȱaccountsȱ andȱaccessȱcontrol,ȱseeȱtheȱApplicationȱAdministrator’sȱGuide.ȱȱThereȱmayȱbeȱrareȱ occasionsȱwhenȱyouȱareȱaskedȱbyȱtheȱApplicationȱAdministratorȱtoȱmodifyȱtheȱ databaseȱtoȱdealȱwithȱapplicationȱsecurityȱissuesȱ(e.g.,ȱifȱtheȱLoginsDisabledȱentryȱinȱ theȱSiteȱtableȱisȱusedȱtoȱrestrictȱaccess,ȱtheȱapplicationȱcanȱnoȱlongerȱbeȱusedȱtoȱmodifyȱ orȱdeleteȱit,ȱsoȱyouȱmustȱuseȱdbaccessȱtoȱdoȱso). AȱSecurityȱIncidentȱReportȱisȱavailableȱfromȱtheȱapplicationȱ(SystemȱAdministratorȱ Reports).ȱȱItȱlistsȱunsuccessfulȱloginȱattempts. 08 Jul 2009 Release 4.0.1 6-2 District CM/ECF System Administrator’s Guide Document Security ThisȱsectionȱprovidesȱinstructionsȱusingȱtheȱVerifyDocs,ȱReportDocs,ȱandȱFixDocsȱ programsȱtoȱrepairȱdocumentȱerrors.ȱȱ • Overview • Settingȱtheȱenvironmentȱforȱroot • CreatingȱtheȱDataȱFile • CorrectingȱDocumentȱErrors • ValidatingȱYourȱCorrections • ProtectingȱYourȱServer Overview CM/ECFȱusesȱfourȱtypesȱofȱelectronicȱdocuments,ȱPDFȱdocuments,ȱtextȱreceipts,ȱ HTMLȱreceipts,ȱandȱBankruptcyȱclaimsȱdocuments.ȱOccasionally,ȱelectronicȱ documentsȱcontainȱerrors.ȱTheȱmoreȱtimeȱthatȱpassesȱbetweenȱwhenȱanȱerrorȱinȱanȱ electronicȱdocumentȱoccursȱandȱwhenȱthatȱerrorȱisȱfixed,ȱtheȱmoreȱlikelyȱthatȱ documentȱerrorȱisȱgoingȱtoȱbeȱcopied,ȱreplicated,ȱbackedȱup,ȱandȱsoȱforth.ȱTherefore,ȱ documentȱqualityȱassuranceȱisȱaȱcrucialȱprocessȱthatȱmustȱoccurȱinȱaȱtimelyȱmanner.ȱȱ Toȱfacilitateȱtheȱdocumentȱqualityȱassuranceȱprocess,ȱthreeȱprogramsȱareȱavailableȱtoȱ helpȱyouȱidentifyȱandȱcorrectȱerrorsȱwithinȱelectronicȱdocuments. Program VerifyDocs An output file that identifies a wide variety of electronic document errors (such as problems with the electronic signature). ReportDocs Provides a report of the errors identified by the VerifyDocs program. FixDocs 08 Jul 2009 Description Repairs many of the errors identified by the VerifyDocs program. Release 4.0.1 6-3 District CM/ECF System Administrator’s Guide FunctionalȱOptions Becauseȱnumberȱofȱdocumentsȱforȱeachȱcourtȱmayȱvary,ȱtheseȱprogramsȱhaveȱbeenȱ designedȱtoȱprovideȱmanyȱoptionsȱforȱgettingȱtheȱworkȱdoneȱinȱaȱwayȱthatȱbestȱfitsȱ theȱlocalȱenvironment.ȱForȱexample,ȱyouȱcan: • Runȱtheȱprogramsȱandȱprocessȱtheȱdataȱinȱaȱsingleȱrunȱoverȱaȱweekend. • RunȱtheȱprogramsȱandȱprocessȱappropriatelyȬsizedȱchunksȱduringȱweeknightȱ runs. • Runȱtheȱprogramsȱduringȱaȱregularȱworkȱday.ȱHaveȱtheȱprogramsȱ“sleep”ȱ betweenȱdocumentsȱsoȱthatȱtheyȱdoȱnotȱhaveȱaȱnoticeableȱeffectȱonȱnormalȱ work. Setting the environment for root Ifȱyourȱenvironmentȱisȱnotȱalreadyȱsetȱforȱroot,ȱeditȱtheȱ/root/.bashrcȱfile,ȱasȱshownȱ below,ȱsubstitutingȱyourȱcourtȱabbreviationȱforȱcourtID: INFORMIXDIR=/opt/informix/current/ INFORMIXSERVER=courtID_ecf PATH=$PATH:$INFORMIXDIR/bin:/opt/util:/gov/ecf/bin/ export INFORMIXDIR INFORMIXSERVER PATH Creating the Data File TheȱVerifyDocsȱprogramȱchecksȱPDFȱdocumentsȱinȱtheȱfileȱsystemȱ(andȱliveȱdatabase)ȱ forȱerrorsȱ(suchȱasȱincorrectȱelectronicȱsignatures).ȱVerifyDocsȱvalidatesȱasȱmanyȱ historicalȱdocumentsȱasȱtimeȱallows.ȱȱAsȱerrorsȱareȱfound,ȱVerifyDocsȱsavesȱaȱlistȱofȱ specificȱerrorȱcodesȱinȱaȱdataȱfile.ȱȱThisȱdataȱfileȱisȱnamedȱusingȱtheȱformatȱ VerifyDocs.dbname.data.mmȬddȬyyyy:hr:min.ȱBothȱtheȱReportDocsȱandȱtheȱFixDocsȱ programsȱuseȱthisȱdataȱfile. 08 Jul 2009 Release 4.0.1 6-4 District CM/ECF System Administrator’s Guide TheȱfollowingȱtableȱdescribesȱtheȱVerifyDocsȱparameterȱoptionsȱusedȱinȱtheȱexamplesȱ withinȱthisȱsection: Option Description -c Specifies the time (CPU seconds) to sleep between documents. A non-zero value may allow the program to be run during the day (such as -c 1 or -c 2). Therefore, always set the option to zero for an off-hours run (-c 0). If the -c 2 parameter is set and the batch is set to 100000 documents (-m 10000), this option needs a minimum of six hours to run (-t 6). A process may continue for the current batch of documents even if the maximum number of hours (-t option) has been reached. -d Specifies the name of the database. -m Specifies the number of documents to process. The default is 10,000. Do not use a value larger than 10,000. -n In addition to normal document processing, specifies the number of days to validate documents that are entered into the system. -p Specifies the path to the support directory. -r Begin checking at the document with the specified ID. If not specified, VerifyDocs will continue where it left off. -R Run for the number of hours specified by the -t option, but process documents whose size is specified by the -m option in batches.1 -t Specifies the maximum number of hours to run. If CM/ECF has fewer than 1 million documents, the process should complete over a weekend (60 hours). If necessary, unless the -c option is used, adjust this value to avoid running the program during normal business hours. -x Specifies the name of the output data file. 1. This option is needed for processing efficiency. VerifyDocsȱwritesȱtoȱtheȱlogfileȱandȱupdatesȱtheȱlastȱdocumentȱnumberȱinȱtheȱ dbname.VerifyDocs.lastdocȱfileȱatȱtheȱendȱofȱeachȱbatch1.ȱȱTheȱprogramȱwritesȱtoȱtheȱ dataȱfileȱasȱitȱfindsȱdocumentȱerrors. TheȱoutputȱtheȱVerifyDocsȱcommandȱconcludesȱwithȱ(regardlessȱofȱwhetherȱitȱwasȱ executedȱfromȱtheȱcommandȬlineȱorȱaȱcronȱjob)ȱdependsȱuponȱwhetherȱtheȱprocessingȱ stopsȱbecauseȱofȱtimeȱlimitsȱorȱcompletes.ȱȱ • Forȱprocessingȱthatȱdoesȱnotȱcomplete: — Theȱnextȱrunȱappendsȱtoȱtheȱdataȱfileȱandȱtheȱlogȱfile.ȱ 1. A batch is the number of documents set in the -m option (such as -m 10000) plus the sleep time (such as c 2). 08 Jul 2009 Release 4.0.1 6-5 District CM/ECF System Administrator’s Guide — Theȱlogȱfileȱcontainsȱtheȱfollowingȱentry: VerifyDocs Completed on Mon May 23 14:12:40 2005, processed 308 documents, the last one was 4080998.Resetting next run to begin at document with dm_id=4081000 — Theȱlastȱdocumentȱcontainsȱtheȱlastȱdocumentȱnumberȱprocessed. • Forȱprocessingȱthatȱcompletes: — Theȱdataȱfileȱisȱrenamedȱbyȱappendingȱtheȱcompletionȱdateȱandȱtimeȱ(thisȱ ensuresȱthatȱtheȱfileȱisȱpreservedȱforȱsubsequentȱprocessing). IfȱVerifyDocsȱisȱrunȱfromȱaȱcronȱjob,ȱyouȱcanȱtellȱwhenȱtheȱprocessȱcompletesȱ byȱwatchingȱforȱtheȱdataȱfileȱtoȱbeȱrenamed.ȱȱIfȱaȱnewȱVerifyDocsȱdataȱfileȱisȱ created,ȱyouȱmustȱkillȱtheȱprocessesȱbyȱcommentingȱoutȱtheȱcronȱentry.ȱIfȱyouȱ doȱnotȱkillȱtheseȱprocesses,ȱtheȱcronȱentriesȱwillȱstartȱaȱnewȱprocessȱevenȱafterȱ VerifyDocsȱfinishes. — Theȱlogȱfileȱcontainsȱtheȱfollowingȱentries: VerifyDocs Completed on Tue May 24 10:12:17 2005, processed 73 documents,the last one was 4084141. Counter has reached max dm-id (4084143), resetting next run to begin at document with dm_id=0 Data collection has completed; renaming data file to VerifyDocs.zzzz_live.data.05-24-2005:10:12 — Theȱdbname.VerifyDocs.lastdocȱfileȱchangesȱtoȱaȱ0ȱbyteȱfile. Thisȱsectionȱprovidesȱinstructionsȱforȱcreatingȱthisȱdataȱfile.ȱTheȱproceduresȱforȱ creatingȱthisȱfileȱdependȱuponȱtheȱnumberȱofȱdocumentsȱinȱCM/ECF. To create the data file when there are fewer than one million documents in CM/ECF 1. Changeȱdirectory: cd /opt/util/ 2. Onȱaȱweekend,ȱrunȱtheȱfollowingȱcommand: /opt/util/VerifyDocs -r 0 -t 60 -R -c 0 -m 10000 -d dbname -x /var/log/ecf/VerifyDocs.dbname.data -p /opt/DCECF/live/server/support | tee /var/log/ecf/VerifyDocs.dbname.log NOTE On a database with 833,398 document records, this step took 19-20 hours. IMPORTANT Do not continue until VerifyDocs completes. 08 Jul 2009 Release 4.0.1 6-6 District CM/ECF System Administrator’s Guide To create the data file when there are more than one million documents in CM/ECF 1. Aȱcronȱentryȱ(etc/cron.d/VerifyDocs)ȱsimilarȱtoȱtheȱoneȱbelowȱshouldȱhaveȱbeenȱ setȱupȱasȱpartȱofȱtheȱinstallationȱofȱreleaseȱ3.0.ȱWhenȱyouȱareȱreadyȱtoȱrunȱtheȱ program,ȱremoveȱtheȱpoundȱsignȱinȱfrontȱofȱtheȱentryȱtoȱenableȱthem: #30 17 * * * root cd /opt/util; /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e courtID_live -r ‘/opt/util/VerifyDocs -t 8 -R -m 10000 -d courtID_live -x /var/log/ecf/VerifyDocs.courtID_live.data -p /opt/DCECF/live/server/support >> /var/log/ecf/VerifyDocs.courtID_live.log 2>&1‘ 2. Inȱtheȱ/var/log/ecfȱdirectory,ȱperiodicallyȱmonitorȱtheȱ VerifyDocs.courtID_live.dataȱfileȱuntilȱtheȱdateȱandȱtimeȱstampȱisȱappendedȱtoȱ theȱfileȱname,ȱandȱthenȱstopȱtheȱcronȱprocessȱbyȱdoingȱtheȱfollowing: a. Commentȱoutȱtheȱcronȱentryȱ/etc/cron.d/VerifyDocs. b. KillȱallȱactiveȱVerifyDocsȱprocesses. Correcting Document Errors Theȱdocumentȱcorrectionȱprocessȱrequiresȱyouȱtoȱdoȱtheȱfollowing: • Identifyingȱdocumentȱerrors • Correctingȱerrorsȱbyȱcategory Identifying document errors Beforeȱyouȱcanȱcorrectȱdocumentȱerrors,ȱyouȱuseȱtheȱReportDocsȱprogramȱtoȱreviewȱ theȱerrorsȱidentifiedȱbyȱtheȱVerifyDocsȱprogram.ȱReportDocsȱcanȱcreateȱaȱsummaryȱ reportȱorȱindividualȱerrorȱtypeȱreports.ȱYouȱexecuteȱtheȱReportDocsȱprogramȱforȱeachȱ errorȱtypeȱfound.ȱȱTherefore,ȱitȱisȱrecommendedȱthatȱyouȱcreateȱaȱuniqueȱlogȱfileȱforȱ eachȱreport. NOTE This command runs quickly, so it can be performed at any time. To produce a summary report of the errors identified by the VerifyDocs program 1. Changeȱdirectory: cd /opt/util/ 2. CreateȱaȱsummaryȱreportȱbyȱtypingȱtheȱReportDocsȱcommandȱonȱoneȱline: ./ReportDocs -r /var/log/ecf/VerifyDocs.dbname.data | tee 08 Jul 2009 Release 4.0.1 6-7 District CM/ECF System Administrator’s Guide /var/log/ecf/ReportDocs.dbname.log Option Description -r Specifies the name of the file generated by VerifyDocs (the ReportDocs program finds the most recent file so you do not have to specify the date and time suffix). InȱtheȱReportDocsȱresults,ȱtheseȱerrorȱtypesȱareȱgroupedȱintoȱfourȱcategories: • Errorsȱthatȱareȱsafeȱtoȱfix • Errorsȱthatȱareȱunknown • Errorsȱthatȱareȱnotȱsafeȱtoȱfix • Errorsȱthatȱareȱofȱtypeȱother Eachȱerrorȱisȱassignedȱaȱtypeȱthatȱallowsȱyouȱtoȱidentifyȱexactlyȱwhatȱtheȱerrorȱis.ȱȱ Errorȱtypesȱandȱtheirȱdescriptionsȱareȱprovidedȱbelow.ȱAfterȱyouȱknowȱwhichȱ documentȱerrorsȱhaveȱbeenȱidentified,ȱyouȱuseȱtheȱFixDocsȱprogramȱtoȱcorrectȱthoseȱ errorsȱbyȱcategory.ȱȱThisȱsectionȱdescribesȱtheȱcorrectionȱprocedureȱforȱeachȱcategoryȱ inȱtheȱReportDocsȱoutput. IMPORTANT For issues that you cannot resolve yourself, contact SDSD-SB for assistance. TheȱfollowingȱisȱanȱexampleȱofȱtheȱReportDocsȱresults: processing VerifyDocs.zzz_live.data at Tue Apr 26 15:09:26 2005 documents checked in the range of 2 to 400000 Earliest date found in the data collected = Fri Apr 22 16:05:21 2005 Last time data collected = Sat Apr 23 23:59:32 2005 Last Run did not provide enough data to establish a rate ----------------------------------------------------Errors that are safe to fix; these documents are known to be unaltered from the time of their filing signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is GOOD (type = i) = 99 ----------------------------------------------------Errors that are unknown; the signature is not valid, a comparison to the regenerated signatures is not possible; normally this means that the original signature was not generated or saved correctly. It is likely (but not certain) that repairing these errors is safe. No signature stored with the document (type = l) = 19 ----------------------------------------------------Errors that are 'not safe'; the signature is valid and is not the same as the regenerated signatures. It appears that the document or signature has been altered since it was originally filed. It is not recommended that these signature errors be repaired. signatures do not match (type = m) = 384 dm_size is not the same as the file size, off by multiple bytes (type = s) = 49 signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is bad (type = l) = 2 ----------------------------------------------------Errors that are of type other; typically VerifyDocs was not able to open a document or regenerate a signature. could not open document file (type = r) = 7 PDFcheck failed (type = p) = 47 orphaned document (type = r0 = 17537 ----------------------------------------------------- 08 Jul 2009 Release 4.0.1 6-8 District CM/ECF System Administrator’s Guide Correcting errors by category Afterȱyouȱknowȱwhichȱdocumentȱerrorsȱhaveȱbeenȱidentified,ȱyouȱuseȱtheȱFixDocsȱ programȱtoȱcorrectȱthoseȱerrorsȱbyȱcategory.ȱThisȱsectionȱdescribesȱtheȱcorrectionȱ procedureȱforȱeachȱcategoryȱinȱtheȱReportDocsȱsummaryȱfile. Errors that are safe to fix Theseȱerrorsȱareȱsimpleȱproblemsȱthatȱdoȱnotȱrequireȱindividualȱexamination.ȱOnceȱ VerifyDocsȱidentifiesȱtheseȱerrors,ȱyouȱcanȱsafelyȱuseȱtheȱFixDocsȱprogramȱtoȱrepairȱ theȱdocuments.ȱAsȱanȱoption,ȱifȱyouȱwantȱtoȱseeȱwhichȱdocumentsȱhaveȱtheseȱerrorsȱ andȱverifyȱtheȱcorrectionsȱmade,ȱyouȱcanȱproduceȱaȱdetailedȱreportȱofȱtheȱsafeȱerrorsȱ listedȱinȱtheȱsummaryȱ(typesȱi,ȱN,ȱandȱw)ȱbeforeȱproceeding.ȱȱUseȱtheȱfollowingȱ formatȱ(typedȱonȱoneȱline): ./ReportDocs -t type -r /var/log/ecf/VerifyDocs.dbname.date -d dbname | tee /var/log/ecf/VerifyDocs.dbname.log Option Description -d Specifies the name of the database. This option is only necessary if the -t option is used and you wish to display the case number and document number. NOTE This option is only used in detailed reports. -r Specifies the name of the file generated by VerifyDocs (the ReportDocs program finds the most recent file so you do not have to specify the date and time suffix). -t Specifies a type of error to report. Include a for all. For additional options, see the error types in Appendix C. NOTE This option is only used in detailed reports. Forȱexample:ȱ ./ReportDocs -t i -r /var/log/ecf/VerifyDocs.nynd_live.data -d nynd_live | tee /var/log/ecf/VerifyDocs.nynd_live.log To identify and correct errors that are safe to fix 1. Changeȱdirectory: cd /opt/util/ 08 Jul 2009 Release 4.0.1 6-9 District CM/ECF System Administrator’s Guide 2. RepairȱanyȱerrorsȱlistedȱunderȱErrorsȱthatȱareȱsafeȱtoȱfixȱbyȱtypingȱtheȱFixDocsȱ commandȱonȱoneȱline: ./FixDocs -r /var/log/ecf/VerifyDocs.dbname.data.mm-dd-yyyy:hr:min -d dbname -f safe | tee /var/log/ecf/VerifyDocs.dbname.log Option Description -d Specifies the name of the database -f Specifies the categories of errors to fix. Categories include: • • • -r safe unknown all Specifies the name of the file generated by VerifyDocs Theȱfollowingȱexampleȱshowsȱsomeȱtypicalȱmessages,ȱwithȱfixesȱhighlightedȱ(theȱ actualȱoutputȱshouldȱhaveȱmanyȱmoreȱindividualȱmessagesȱbecauseȱitȱprovidesȱ informationȱforȱeachȱdocumentȱlistedȱinȱtheȱVerifyDocsȱdataȱfile): processing VerifyDocs.zzz_live.data at Wed Apr 27 10:45:05 2005 INFO: updated document record with key = 301512-0 INFO: updated document record with key = 301515-0 INFO: updated document record with key = 301518-0 . . INFO: This doc is not ok to fix 334603-2 type = m ERROR: the signature for doc 5733-0 has changed; no changes will be made to this document ERROR: the signature for doc 5736-0 has changed; no changes will be made to this document . . documents checked in the range of 2 to 400000 Earliest date found in the data collected = Fri Apr 22 16:05:21 2005 Last time data collected = Mon Apr 25 23:54:17 2005 Last Run did not provide enough data to establish a rate ----------------------------------------------------Errors that are safe to fix; these documents are known to be unaltered from the time of their filing signatures do not match, due to wrong dm_id or dm_seq value in sig, but 08 Jul 2009 Release 4.0.1 6-10 District CM/ECF System Administrator’s Guide signature is GOOD (type = i) = 4652 ----------------------------------------------------Errors that are unknown; the signature is not valid, a comparison to the regenerated signatures is not possible; normally this means that the original signature was not generated or saved correctly. It is likely (but not certain) that repairing these errors is safe. No errors of this type were found ----------------------------------------------------Errors that are 'not safe'; the signature is valid and is not the same as the regenerated signatures. It appears that the document or signature has been altered since it was originally filed. It is not recommended that these signature errors be repaired. No errors of this type were found ----------------------------------------------------Errors that are of type other; typically VerifyDocs was not able to open a document or regenerate a signature. No errors of this type were found ----------------------------------------------------Total errors/warnings records detected = 8153 Document skipped (not fixed) = 3501 Document Fixed = 4652 Errors Fixing Documents = Errors that are unknown TheȱReportDocsȱprogramȱgroupsȱerrorȱtypesȱc,ȱj,ȱI,ȱM,ȱandȱnȱintoȱtheȱunknownȱ category.ȱȱDocumentsȱshowingȱtheseȱerrorsȱcouldȱbeȱgoodȱdocuments.ȱTherefore,ȱyouȱ mustȱuseȱdetailedȱreortsȱtoȱinvestigateȱthem. To identify and correct errors that are unknown 1. Changeȱdirectory: cd /opt/util/ 2. ForȱeachȱerrorȱtypeȱlistedȱunderȱErrorsȱthatȱareȱunknownȱinȱyourȱReportDocsȱ summaryȱfileȱ(c,ȱj,ȱlȱ,m,ȱandȱn),ȱproduceȱaȱdetailedȱreportȱusingȱtheȱfollowingȱ formatȱ(typedȱonȱoneȱline): ./ReportDocs -t type -r /var/log/ecf/VerifyDocs.dbname.data -d dbname | tee /var/log/ecf/VerifyDocs.dbname.log Option -d Specifies the name of the database. This option is only necessary if the -t option is used and you wish to display the case and document number. NOTE This option is only used in detailed reports. -r Specifies the name of the file generated by VerifyDocs (the ReportDocs program finds the most recent file so you do not have to specify the date and time suffix). -t 08 Jul 2009 Description Specifies a type of error to report. Include “a” for all. For additional options, see the error types in Appendix A. NOTE This option is only used in detailed reports. Release 4.0.1 6-11 District CM/ECF System Administrator’s Guide Forȱexample: ./ReportDocs -t l -r /var/log/ecf/VerifyDocs.nynb_live.data -d nynb_live | tee /var/log/ecf/VerifyDocs.dbname.log Theȱdetailedȱreportȱprovidesȱspecificȱinformationȱaboutȱtheȱdocumentȱerrors.ȱȱTheȱ followingȱexampleȱshowsȱaȱreportȱofȱindividualȱerrorsȱforȱtheȱ“l”ȱ(lowerȬcaseȱL)ȱerrorȱ type: processing VerifyDocs.zzz_live.data at Tue Apr 26 15:16:31 2005 No signature stored with the document cs_case_number = 05-10608 de_document_num = 7 dm_id = 74695, dm_seq = 5 current dm_signature = regenerated dm_signature = [STAMP zzzzStamp_ID=1051896954 [Date=04/16/2004] [FileNumber=74695-5] [3001e4e91a5dce42f6ff337ddfb7bc7ebf17bba938911182b97b824c2b0aba02352eb4d86981e1d50 e29c8e1e9882ed29603bd4f6a36cdfe231e654aa57af91c]] No signature stored with the document cs_case_number = 05-10608 de_document_num = 7 dm_id = 74695, dm_seq = 6 current dm_signature = regenerated dm_signature = [STAMP zzzzStamp_ID=1051896954 [Date=04/16/2004] [FileNumber=74695-6] [3131596f418cee4c34dca7ba97fef5ff6b1223149cd6b8a6d1ecd02170306bfd5f720bac82eac3d47 93a1805d31f5c206b04464bf340392fb4bb051e0b46426c]] . . No signature stored with the document cs_case_number = 02-41729 de_document_num = 7437 dm_id = 244698, dm_seq = 2 current dm_signature = regenerated dm_signature = [STAMP zzzzStamp_ID=1051896954 [Date=06/30/2003] [FileNumber=244698-2] [61084cf44f69ac80906de4766368725aa2cbd3334304c9e3421c35bcbbccbb288c45644c48228f71a 72fb62d29aa7446ba5c8fb8319cde6183af647dd52c6fef]] 3. Researchȱeachȱentryȱlistedȱinȱtheȱdetailedȱreport,ȱlookȱforȱanȱexplanationȱofȱtheȱ error,ȱandȱthenȱdoȱoneȱofȱtheȱfollowing: • Ifȱtheȱerrorsȱlistedȱcanȱbeȱexplainedȱeasilyȱ(suchȱasȱelectronicȱstampsȱthatȱwereȱ notȱcreatedȱwhenȱdocumentsȱwereȱconvertedȱbyȱcustomȱsoftware),ȱskipȱtoȱ stepȱ4. • Ifȱtheȱerrorsȱdoȱnotȱhaveȱanȱobviousȱexplanation,ȱuseȱtheȱapplicationȱtoȱviewȱ theȱdocument,ȱandȱthenȱdoȱoneȱofȱtheȱfollowing: — Ifȱtheȱdocumentȱappearsȱtoȱbeȱcompleteȱandȱappropriateȱtoȱtheȱcaseȱandȱ event,ȱcontinueȱwithȱstepȱ4. — Ifȱtheȱdocumentȱdoesȱnotȱappearȱtoȱbeȱcorrectȱorȱappropriateȱtoȱtheȱcaseȱorȱ event,ȱattemptȱtoȱreplaceȱtheȱdocumentȱandȱthen,ȱdeleteȱtheȱentryȱfromȱtheȱ VerifyDocsȱoutputȱfileȱsoȱtheȱproperȱfollowȱupȱoccurs: a.ȱȱOpenȱtheȱ/var/log/ecf/VerifyDocs.dbname.data.mmȬddȬyyyy:hr:minȱ file. 08 Jul 2009 Release 4.0.1 6-12 District CM/ECF System Administrator’s Guide b.ȱȱInȱtheȱ/var/log/ecf/VerifyDocs.dbname.data.mmȬddȬyyyy:hr:minȱfile,ȱ locateȱtheȱcorrespondingȱentryȱforȱthatȱdocument,ȱandȱthenȱdeleteȱtheȱ entry. Toȱlocateȱtheȱappropriateȱentry,ȱlookȱforȱtheȱoneȱwhoseȱsecondȱandȱthirdȱ fieldsȱmatchȱtheȱdm_idȱandȱdm_seqȱfieldsȱinȱtheȱdetailedȱerrorȱreport.ȱȱInȱ theȱfollowingȱexample,ȱtheȱsecondȱandȱthirdȱfieldsȱareȱhighlighted: 1116871614|4023394|1|l|/data/docs1/zzzz_dochome_app03//docs0524/z zzz.1.1.bk.15256.4023394.1||[STAMP ZZZZStamp_ID=842906028 [Date=05/02/2005] [FileNumber=4023394-1] [bc1458bc509e3fe82a694afe52e339e3f5b1e2426097658089a109f9920033c0 7c61bfbcffdbf0e72558dcde793d5b5bd4bbd582f86473d1c1bb6626f09f2435] ]|||0| 4. Changeȱdirectory: cd /opt/util/ 5. Correctȱtheȱunknownȱerrorsȱafterȱtheyȱhaveȱbeenȱresearchedȱbyȱtypingȱtheȱ followingȱcommandȱonȱoneȱline: ./FixDocs -r /var/log/ecf/VerifyDocs.dbname.data.mm-dd-yyyy:hr:min -d dbname -f unknown | tee /var/log/ecf/VerifyDocs.dbname.log Theȱfollowingȱisȱanȱexampleȱofȱtheȱlogȱfileȱforȱthisȱcommand: processing VerifyDocs.zzz_live.data at Wed Apr 27 13:12:41 2005 INFO: This doc is not ok to fix 3-0 type = R INFO: This doc is not ok to fix 4-0 type = R INFO: This doc is not ok to fix 5-0 type = R . . INFO: updated document record with key = 74695-5 INFO: updated document record with key = 74695-6 INFO: updated document record with key = 74695-7 INFO: updated document record with key = 74695-8 . . documents checked in the range of 2 to 400000 Earliest date found in the data collected = Fri Apr 22 16:05:21 2005 Last time data collected = Sat Apr 23 23:59:32 2005 Last Run did not provide enough data to establish a rate ----------------------------------------------------Errors that are safe to fix; these documents are known to be unaltered from the time of their filing signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is GOOD (type = i) = 4652 ----------------------------------------------------Errors that are unknown; the signature is not valid, a comparison to the regenerated signatures is not possible; normally this means that the original signature was not generated or saved correctly. It is likely (but not certain) that repairing these errors is safe. No signature stored with the document (type = l) = 28 ----------------------------------------------------Errors that are 'not safe'; the signature is valid and is not the same as the regenerated signatures. It appears that the document or signature has been altered since it was originally filed. It is not recommended that these signature errors be repaired. signatures do not match (type = m) = 384 dm_size is not the same as the file size, off by multiple bytes (type = s) = 1 signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is bad (type = I) = 2 ----------------------------------------------------- 08 Jul 2009 Release 4.0.1 6-13 District CM/ECF System Administrator’s Guide Errors that are of type other; typically VerifyDocs was not able to open a document or regenerate a signature. orphaned document (type = R) = 2583 ----------------------------------------------------Total errors/warnings records detected = 2998 Document skipped (not fixed) = 2970 Documents Fixed = 28 Errors Fixing Documents = 0 NOTE Each document in the safe category that was fixed is flagged with a message that can be ignored. For example: Error: the signature for doc nnnn-0 has changed; no changes will be made to this document Errors that are not safe to fix TheȱReportDocsȱprogramȱgroupsȱerrorȱtypesȱI,ȱC,ȱm,ȱO,ȱs,ȱS,ȱandȱWȱintoȱtheȱnotȱsafeȱ category.ȱȱTheseȱerrorsȱareȱseriousȱproblemsȱthatȱareȱnotȱsafeȱtoȱrepairȱautomaticallyȱ (suchȱasȱanȱalteredȱdocument). To identify and correct errors that are not safe 1. Changeȱdirectory: cd /opt/util/ 2. ForȱeachȱerrorȱtypeȱlistedȱunderȱErrorsȱthatȱareȱnotȱsafeȱinȱyourȱReportDocsȱ outputȱsummaryȱ(I,ȱC,ȱm,ȱO,ȱs,ȱS,ȱandȱW),ȱproduceȱaȱdetailedȱreportȱusingȱtheȱ formatȱ(typedȱonȱoneȱline): ./ReportDocs -t type -r /var/log/ecf/VerifyDocs.dbname.data -d dbname | tee /var/log/ecf/VerifyDocs.dbname.log 3. Afterȱresearchingȱeachȱentryȱlistedȱinȱtheȱdetailedȱreport,ȱhaveȱaȱsubjectȬmatterȬ expertȱuseȱtheȱapplicationȱtoȱexamineȱtheȱdocument,ȱandȱthenȱdoȱoneȱofȱtheȱ following: • Ifȱtheȱapparentȱintegrityȱofȱtheȱdocumentȱcannotȱbeȱverified,ȱremoveȱtheȱentryȱ fromȱtheȱVerifyDocsȱdataȱfile,ȱandȱthenȱreplaceȱtheȱfaultyȱdocument. ThisȱkeepsȱtheȱdocumentȱfromȱappearingȱinȱtheȱVerifyDocȱreports. • IfȱtheȱapparentȱintegrityȱofȱtheȱdocumentȱcanȱbeȱverifiedȱandȱtheȱClerkȱofȱ Courtȱapproves,ȱrunȱtheȱFixDocsȱprogramȱonȱtheȱdocumentȱwithȱtheȱȬfȱallȱ option,ȱtoȱrepairȱtheȱreportedȱerrors. Errors that are of type other TheȱReportDocsȱprogramȱgroupsȱerrorȱtypesȱf,ȱg,ȱk,ȱK,ȱo,ȱp,ȱr,ȱandȱRȱintoȱtheȱotherȱ category.ȱȱTheseȱerrors,ȱwhichȱareȱextremelyȱinfrequent,ȱareȱcausedȱbyȱaȱprocessingȱ 08 Jul 2009 Release 4.0.1 6-14 District CM/ECF System Administrator’s Guide issueȱ(suchȱasȱinsufficientȱmemoryȱorȱaȱmissingȱkeyfile).ȱTheseȱerrorsȱdoȱnotȱhaveȱtoȱ beȱresolvedȱimmediately. To identify and correct errors that are of type other 1. Changeȱdirectory: cd /opt/util/ 2. ForȱeachȱerrorȱtypeȱlistedȱunderȱErrorsȱthatȱareȱofȱtypeȱotherȱinȱyourȱReportDocsȱȱ summaryȱfileȱ(f,ȱg,ȱk,ȱK,ȱo,ȱp,ȱr,ȱandȱR),ȱproduceȱaȱdetailedȱreportȱusingȱtheȱformatȱ (typedȱonȱoneȱline): ./ReportDocs -t type -r /var/log/ecf/VerifyDocs.dbname.data -d dbname | tee /var/log/ecf/VerifyDocs.dbname.log 3. Forȱanyȱerrorȱlistedȱinȱtheȱdetailedȱreport,ȱuseȱtheȱapplicationȱtoȱmanuallyȱfixȱtheȱ associatedȱdocument. Validating Your Corrections Afterȱyouȱhaveȱmadeȱallȱofȱyourȱcorrections,ȱyouȱshouldȱvalidateȱthatȱallȱdesiredȱfixesȱ haveȱbeenȱmade. To validate your corrections 1. Changeȱdirectory: cd /opt/util/ 2. RunȱtheȱVerifyDocsȱprogramȱagain. 3. RunȱtheȱReportDocsȱprogramȱforȱtheȱsummaryȱoutput,ȱandȱtheȱreviewȱtheȱ ReportDocsȱoutput. 4. Ensureȱthatȱallȱtheȱdesiredȱfixesȱhaveȱbeenȱmade. NOTE Repeat the error correction procedures until all the desired fixes are made. Protecting Your Server TheȱFixDocsȱprogramȱcouldȱbeȱusedȱwithȱmaliciousȱintent.ȱTherefore,ȱasȱaȱsecurityȱ measure,ȱyouȱshouldȱtakeȱstepsȱtoȱprotectȱyourȱserver. To protect your server SaveȱanȱencryptedȱversionȱofȱtheȱFixDocsȱprogramȱonȱyourȱserverȱbyȱdoingȱȱtheȱ following: 08 Jul 2009 Release 4.0.1 6-15 District CM/ECF System Administrator’s Guide 1. Changeȱdirectory: cd /opt/util 2. Runȱtheȱencryptionȱkeyȱcommand: zip -e FixDocs.enc FixDocs Enter password: Verify password: updating: 08 Jul 2009 FixDocs (deflated nn%) Release 4.0.1 6-16 District CM/ECF System Administrator’s Guide VeriSign Certificates AȱnewȱVeriSignȱkey/certificateȱpairȱmustȱbeȱgeneratedȱforȱaȱnewȱserverȱinstallation.ȱȱ Eachȱyear,ȱtheȱcertificateȱisȱrenewed;ȱbutȱnotȱtheȱkey.ȱȱTheȱsameȱkeyȱisȱusedȱeachȱyear.ȱȱ ThisȱsectionȱdescribesȱbothȱprocessesȱȬȱtheȱcreationȱofȱtheȱkey/certificateȱpairȱduringȱ anȱinitialȱinstallationȱandȱtheȱrenewalȱofȱtheȱcertificate.ȱȱRepeatȱthisȱprocedureȱforȱ eachȱdatabaseȱ(live,ȱtest,ȱandȱtrain)ȱonȱbothȱservers.ȱ Logȱinȱasȱrootȱandȱrunȱoneȱofȱtheȱfollowingȱcommandsȱbelowȱ(whereȱURLȱisȱtheȱaliasȱ foundȱinȱ/etc/hosts): Alias/URLs for the Inside Server Format Examples ecf.courtID. circ#.dcn ecf.txwd.circ5.dcn ecf-test.courtID.circ#.dcn ecf-test.txwd.circ5.dcn ecf-train.courtID.circ#.dcn ecf-train.txwd.circ5.dcn Alias/URLs for the Outside Server Format ecf.courtID.uscourts.gov ecf.txwd.uscourts.gov ecf-test.courtID.uscourts.gov ecf-test.txwd.uscourts.gov ecf-train.courtID.uscourts.gov • Examples ecf-train.txwd.uscourts.gov RunȱthisȱgenkeyȱcommandȱtoȱgenerateȱaȱnewȱSSLȱkey/certificateȱpair:ȱ genkey URL NOTE This command is used to initially create new key/certificate pairs ONLY. Do not run this command to renew existing certificates. Continueȱwithȱtheȱnextȱsection,ȱGeneratingȱaȱNewȱKeyȱPair.ȱ • Toȱrenewȱanȱexistingȱcertificate,ȱrunȱtheȱgenkeyȱcommandȱbelow.ȱȱThisȱcommandȱ createsȱaȱcertificateȱwithoutȱgeneratingȱaȱnewȱkey. genkey --genreq URL Skipȱtheȱnextȱsection,ȱGeneratingȱaȱNewȱKeyȱPair.ȱȱContinueȱwithȱtheȱsection,ȱGeneratingȱ orȱRenewingȱaȱCertificate. 08 Jul 2009 Release 4.0.1 6-17 District CM/ECF System Administrator’s Guide Generating a New Key Pair Thisȱsectionȱdescribesȱhowȱtoȱgenerateȱaȱnewȱkey/certificateȱpairȱforȱaȱnewȱserverȱ installation.ȱȱSkipȱthisȱsectionȱtoȱrenewȱcertificates.ȱȱ Repeatȱthisȱprocedureȱforȱallȱapplicationsȱonȱbothȱservers.ȱ 1. Respondȱtoȱtheȱpromptsȱasȱfollows: Prompt Response You are now generating a new keypair which will be used to encrypt all SSL traffic to the server named ecf.courtID.uscourts.gov Select Next, and then press ENTER. Choose the size of your key... We suggest you select the default, 1024 bits. (The system generates random bits. This process may take several minutes). Select 1024, medium-grade, fast speed. Please enter random text on your keyboard. (This process may take several minutes.) Type random keystrokes until counter reaches 100%. 2. Theȱscriptȱasksȱifȱyouȱwantȱtoȱrequestȱaȱsignedȱcertificateȱfromȱaȱ CertificationAuthorityȱ(CA).ȱȱTypeȱy,ȱandȱthenȱpressȱENTER. Would you like to send a Certificate Request to a CA? [Y/n] y Theȱinitialȱcreationȱofȱtheȱkey/certificateȱpairȱandȱcertificateȱrenewalsȱwillȱnowȱfollowȱ theȱsameȱsteps.ȱFollowȱtheȱinstructionsȱinȱtheȱnextȱtwoȱsectionsȱtoȱcompleteȱtheȱ process. Generating or Renewing a Certificate Thisȱsectionȱisȱusedȱduringȱtheȱcreationȱofȱnewȱkey/certificateȱpairȱandȱtoȱrenewȱ existingȱcertificates.ȱȱRepeatȱthisȱprocedureȱforȱeachȱdatabaseȱ(live,ȱtest,ȱandȱtrain)ȱonȱ bothȱservers.ȱ 1. Theȱscriptȱpromptsȱyouȱtoȱchooseȱaȱcertificateȱauthority.ȱȱUsingȱtheȱdownȱarrowȱ key,ȱselectȱVeriSign,ȱandȱthenȱpressȱNEXT. Equifax Thawte VeriSign Other 08 Jul 2009 Release 4.0.1 6-18 District CM/ECF System Administrator’s Guide 2. Theȱscriptȱpromptsȱforȱinformationȱaboutȱtheȱcertificateȱrequest.ȱȱCompleteȱtheȱ certificateȱinformationȱusingȱtheȱfollowingȱvalues: Prompt Response Country 50 states=US (even if the site is a gov domain) Puerto Rico=PR Guam=GU Marshall Islands=MH Northern Mariana Islands=MP U.S. Virgin Islands=V State or Province Name Your state (Example: Texas) Locality Name (city, town, etc.) Your city name (Example: San Antonio) Organization Name (company) Type the following name exactly, matching uppercase and lowercase letters: Administrative Office of the United States Courts Organization Name (division) Your court’s initials (Example: txwd) Common Name (database URL) Examples: Inside server: ecf.txwd.circ5.dcn Outside server: ecf.txwd.uscourts.gov Optional Challenge Password Value of your choice (Example: sdsd) Optional Company Name US Court 3. Afterȱyouȱsupplyȱtheȱregistrationȱinformation,ȱtheȱsystemȱrefersȱyouȱtoȱtheȱ VeriSignȱWebȱsite.ȱȱTheȱURLȱpresentedȱisȱobsolete,ȱsoȱignoreȱtheȱmessage.ȱȱTheȱ systemȱdisplaysȱtheȱCertificateȱSigningȱRequestȱ(CSR). TIP In the next step, remember that PuTTY copies text to the clipboard when you highlight it. It is not necessary to select a Copy command. 4. CopyȱtheȱCSRȱbyȱhighlightingȱeverythingȱfromȱtheȱfirstȱBEGINȱCERTIFICATEȱ REQUESTȱlineȱthroughȱtheȱlastȱENDȱCERTIFICATEȱREQUESTȱline.ȱȱDoȱnotȱ includeȱanyȱleadingȱorȱtrailingȱspaces.ȱȱExceptȱforȱtheȱfirstȱlineȱandȱlastȱtwoȱlines,ȱ theȱhighlightedȱareaȱmustȱincludeȱexactlyȱ64ȱcharactersȱperȱline. -----BEGIN CERTIFICATE REQUEST----MIIBEzCBzgIBADB7MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEQ MA4GA1UEBxMHT2FrbGFuZDEbMBkGA1UEChMSQzJOZXQgU29mdHdhcmUgSW5jMRAw DgYDVQQLEwdUZXN0aW5nMRYwFAYDVQQDEw1nYWJiZXIuYzIubmV0MEwwDQYJKoZI hvcNAQEBDSMDOwAwOAIxAJukoQhq4LanG2k+/LnRTGJAcgv9LJPsdfCsjqRs8ygo yaw4ucOEdx+WdnM0x36NcQIDAQABMA0GCSqGSIb3DQEBSSUAAzEABRLR6IkG70oN G1MnvuMDeWou4kIvc98ysjssCNKsDKsHAXBSEbfsIQs5JRNagVBW ------END CERTIFICATE REQUEST------- 08 Jul 2009 Release 4.0.1 6-19 District CM/ECF System Administrator’s Guide 5. PressȱENTERȱtoȱcontinueȱtheȱregistrationȱprocess.ȱNext,ȱregisterȱtheȱcertificateȱ requestȱonȱVeriSign’sȱWebȱsite. CAUTION In the next step, you must type the address. If you copy it to the Clipboard, it will overwrite the CSR that you previously copied. 6. OpenȱaȱWebȱbrowserȱandȱgoȱtoȱtheȱfollowingȱURL: https://onsite.verisign.com/AdministrativeOfficeoftheUnitedStatesCourts/serverEnroll.htm TheȱsystemȱdisplaysȱtheȱVeriSignȱhomeȱpageȱforȱregisteringȱcourtȱcertificates,ȱasȱ shownȱinȱtheȱfollowingȱillustrations. 7. ScrollȱdownȱtoȱStepȱ1:ȱEnterȱYourȱContactȱInformation.ȱȱTypeȱyourȱPKIȱ Administrator’sȱinformationȱandȱȱtheȱServerȱIP;ȱenterȱtheȱIPȱaddressȱforȱtheȱ specificȱdatabaseȱ(live,ȱtest,ȱorȱtrain).ȱȱInsideȱserverȱaddressesȱuseȱtheȱformatȱ 156.xxx.xxx.xxx,ȱwhileȱOutsideȱserverȱaddressesȱuseȱ10.xxx.xxx.xxx.. 08 Jul 2009 Release 4.0.1 6-20 District CM/ECF System Administrator’s Guide 8. ȱSelectȱStepȱ2:ȱȱServerȱPlatformȱandȱCertificateȱSigningȱRequestȱ(CSR).ȱForȱtheȱ ServerȱType,ȱselectȱRedȱHat.ȱȱInȱtheȱCSRȱTextȱBoxȱ(seeȱillustrationȱbelow),ȱpasteȱ theȱCSRȱfromȱyourȱClipboard.ȱȱTheȱtextȱmayȱexceedȱtheȱdisplayȱareaȱofȱtheȱbox.ȱȱ DoubleȬcheckȱthatȱitȱisȱcomplete. 08 Jul 2009 Release 4.0.1 6-21 District CM/ECF System Administrator’s Guide 9. SelectȱStepȱ3:ȱCertificateȱOptions.ȱForȱServerȱLicenses,ȱenterȱ1.ȱȱForȱValidityȱ Period,ȱselectȱtheȱOneȱYearȱradioȱbutton. 10. SelectȱStepȱ4:ȱȱChooseȱaȱChallengeȱPhrase,ȱtypeȱaȱwordȱorȱphraseȱthatȱcanȱbeȱusedȱ ifȱyouȱeverȱneedȱtoȱcancelȱorȱrenewȱyourȱcertificate. CAUTION Choose a word or phrase that you can remember, but would be unfamiliar to anyone attempting to impersonate you. Make sure you remember your Challenge Phrase! If you write it down, be sure to store it in a safe place. Without your challenge phrase, your Digital ID cannot be revoked if it is compromised or lost. Use only characters in the English alphabet; do not use punctuation or accent characters. 11. SelectȱStepȱ5:ȱȱEnterȱCommentsȱtoȱAdministrator,ȱyouȱcanȱtypeȱaȱmessageȱtoȱtheȱ U.S.ȱCourts,ȱPKIȱAdministrator.ȱ 08 Jul 2009 Release 4.0.1 6-22 District CM/ECF System Administrator’s Guide 12. ȱSelectȱStepȱ6:ȱDigitalȱIDȱSubscriberȱAgreement,ȱclickȱAcceptȱtoȱagreeȱtoȱtheȱ termsȱofȱtheȱVeriSignȱSubscriberȱAgreement. 13. SwitchȱbackȱtoȱtheȱLinuxȱsession. 14. ȱPressȱENTERȱwhenȱpromptedȱbyȱtheȱsystemȱtoȱHitȱReturn.ȱȱTheȱsystemȱasksȱifȱ youȱwantȱtoȱsetȱaȱpassphraseȱonȱyourȱprivateȱkey: [ ] Encrypt the private key NOTE If you set a passphrase, you must enter it every time the server starts. This passphrase must be the same for all keys used on the same server. Because of these requirements, SDSD-SB recommends not using a passphrase. 15. Toȱexitȱtheȱinstallationȱprogram,ȱscrollȱdownȱtoȱselectȱNext,ȱandȱthenȱpressȱ ENTER. 08 Jul 2009 Release 4.0.1 6-23 District CM/ECF System Administrator’s Guide Installing Signed Certificates Thisȱsectionȱdescribesȱhowȱtoȱinstallȱaȱpermanent,ȱsignedȱcertificateȱreceivedȱfromȱ VeriSignȱorȱanotherȱcertificateȱauthority.ȱRepeatȱthisȱprocedureȱforȱeachȱdatabaseȱ (live,ȱtest,ȱandȱtrain)ȱonȱbothȱservers. To install a signed certificate 1. SaveȱtheȱresponseȱfromȱVeriSignȱinȱaȱtemporaryȱfile: Exampleȱ /tmp/ca-response 2. Installȱtheȱcertificateȱusingȱtheȱcommand: getca Fully Qualified Domain Name < Temporary File Insideȱserverȱexample getca ecf.txwd.circ5.dcn < /tmp/ca-response Outsideȱserverȱexample getca ecf.txwd.uscourts.gov < /tmp/ca-response 3. Restartȱhttpd: service httpd restart 4. CopyȱyourȱliveȱdatabaseȱcertificatesȱtoȱyourȱInsideȱandȱOutsideȱreplicationȱserver.ȱȱ Followȱstepsȱ1ȱȬȱ3ȱaboveȱtoȱinstallȱandȱactivateȱtheȱcertificatesȱonȱyourȱreplicationȱ servers. 5. Pleaseȱensureȱtheȱcorrespondingȱprivateȱkeyȱforȱtheȱliveȱdatabaseȱfromȱyourȱ InsideȱandȱOutsideȱserverȱisȱalsoȱinȱplaceȱonȱtheȱreplicationȱservers. 6. Forȱassistanceȱwithȱtheȱprivateȱkeyȱandȱcertificateȱfilesȱonȱtheȱreplicationȱservers,ȱ contactȱtheȱReplicationȱTeamȱatȱ210Ȭ301Ȭ6315ȱorȱemailȱat: CM-ECF_Rep_Ops@aotx.uscourts.gov. 08 Jul 2009 Release 4.0.1 6-24 District CM/ECF System Administrator’s Guide Controlling server access Editȱtheȱ/etc/ssh/sshd_configȱfileȱtoȱcontrolȱaccessȱtoȱtheȱserverȱbyȱusersȱwhoȱenterȱ throughȱSSH.ȱȱInȱthisȱfile,ȱyouȱcanȱrestrictȱaccessȱtoȱcertainȱusersȱwhoȱlogȱinȱfromȱ workstationsȱatȱpredefinedȱIPȱaddresses.ȱȱInȱparticular,ȱallowȱaccessȱtoȱtheȱPACERȱ ServiceȱCenterȱ(PSC). To control server access through the sshd_config file 1. Asȱroot,ȱeditȱtheȱ/etc/ssh/sshd_configȱfile. 2. AddȱtheȱfollowingȱentryȱtoȱallowȱaccessȱbyȱtheȱPSC: AllowUsers fp0000@156.132.88.* 3. AddȱAllowUsersȱentriesȱforȱallȱotherȱusersȱwhoȱshouldȱhaveȱaccessȱtoȱtheȱserver. NOTE By default, all users may log in to the server. After editing the sshd_config file, only users who are specifically given access may log in to the server. Ensure that you include all users who require access to your server, including SDSD-SB which has the range of 156.132.82/83/84/85. Syntax:ȱȱȱȱȱȱȱȱȱȱȱAllowUsersȱusername@IPaddressȱ[username@IPaddressȱ...] Youȱcanȱuseȱtheȱasteriskȱ(*)ȱtoȱspecifyȱwildcardȱnamesȱandȱIPȱaddressȱranges.ȱȱUserȱ namesȱareȱvalid;ȱnumericalȱuserȱIDsȱareȱinvalid.ȱȱSeparateȱusernamesȱwithȱaȱspace.ȱTheȱ followingȱlistȱprovidesȱexamples. • AllowȱtheȱuserȱjohnȱtoȱlogȱinȱfromȱtheȱworkstationȱfoundȱatȱIPȱaddressȱ 192.167.0.10: AllowUsers john@192.167.0.10 • Allowȱtheȱuserȱsuzyȱtoȱlogȱinȱfromȱanyȱworkstationȱonȱtheȱsubnetȱ192.167.0: AllowUsers suzy@192.167.0.* • Allowȱanyȱvalidȱuserȱtoȱlogȱinȱfromȱtheȱsubnetȱ192.167.1: AllowUsers *@192.167.1.* • Combineȱtheȱpreviousȱexamplesȱintoȱoneȱstatement: AllowUsers john@192.167.0.10 suzy@192.167.0.* *@192.167.1.* 4. Afterȱsavingȱyourȱchanges,ȱrestartȱsshd: service sshd restart 08 Jul 2009 Release 4.0.1 6-25 CHAPTER 7 7 Conflict Checking In This Chapter • ConflictȱCheckingȱReport • ConflictȱListȱMaintenance • RunningȱtheȱConflictȱCheckingȱReportȱAutomatically District CM/ECF System Administrator’s Guide Conflict Checking Report TheȱConflictȱCheckingȱreportȱisȱdesignedȱtoȱassistȱcourtsȱinȱidentifyingȱpotentialȱ conflictsȱofȱinterestȱforȱjudgesȱandȱtheȱpartiesȱandȱcasesȱwithȱwhichȱtheyȱwork.ȱTheȱ conflictȬcheckingȱsoftwareȱcomparesȱcaseȱparticipantsȱwithȱlistsȱofȱpeopleȱandȱ companiesȱwithȱwhichȱtheȱjudgeȱisȱinvolved.ȱWhenȱaȱcaseȱhasȱaȱpartyȱorȱattorneyȱwhoȱ matchesȱthisȱlist,ȱȱorȱpartiesȱwhoȱareȱnotȱplaintiffsȱorȱdefendants,ȱorȱcorporateȱparentsȱ andȱgrandparents,ȱtheȱprogramȱeȬmailsȱaȱreportȱtoȱtheȱjudgeȱorȱdesigneeȱsoȱthatȱtheȱ judgeȱcanȱconsiderȱrecusalȱforȱthatȱcase.ȱCorporateȱparentsȱareȱaddedȱduringȱcaseȱ opening,ȱbyȱtheȱCorporateȱparent...ȱbuttonȱonȱtheȱPartyȱInformationȱscreen,ȱorȱlaterȱ throughȱEditȱCaseȱParticipantsȱorȱEditȱCorporateȱData. Conflict List Maintenance Theȱconfictȱlistȱcontainsȱtheȱnameȱofȱpeopleȱandȱorganizationsȱwhoȱmightȱposeȱ potentialȱconflictsȱifȱtheyȱwereȱtoȱbecomeȱinvolvedȱinȱcasesȱtoȱwhichȱtheȱjudgeȱisȱ assigned.ȱȱTheȱlistȱisȱstoredȱinȱtheȱdatabaseȱinȱtheȱrecusalȱtable.ȱȱPleaseȱreferȱtoȱtheȱ ConflictȱCheckingȱsectionȱofȱtheȱApplicationȱAdministrator’sȱGuideȱtoȱsetȱupȱandȱ configureȱtheȱConflictȱCheckingȱmodule. Running the Conflict Checking Report Automatically Cronȱjobsȱ(shownȱbelow)ȱareȱsetȱupȱatȱinstallationȱtoȱautomaticallyȱrunȱtheȱConflictȱ CheckingȱReport.ȱ Figure 1 AutoConfCronAll.live #00 22 * * 1 root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r ‘/opt/DCECF/[live | test | train]/server/server/AutoConfCron.pl dbname /opt/DCECF/[live | test | train]/server/server ALL >> /var/log/ecf/AutoConfCron.dbname.log 2>&1‘ AutoConfCronDaily.live #00 22 * * 1 root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r ‘/opt/DCECF/[live | test | train]/server/server/AutoConfCron.pl dbname /opt/DCECF/[live | test | train]/server/server DAILY >> /var/log/ecf/AutoConfCron.dbname.log 2>&1‘ AutoConfCronConflict.live #00 22 * * 1 root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r ‘/opt/DCECF/[live | test | train]/server/server/AutoConfCron.pl dbname /opt/DCECF/[live | test | train]/server/server CONFLICTLIST >> /var/log/ecf/AutoConfCron.dbname.log 2>&1‘ TheȱprogramȱthatȱcallsȱtheȱConflictȱCheckingȱReportȱwhenȱitȱisȱrunȱautomatically,ȱ AutoConfCron.pl,ȱhasȱthreeȱparameters,ȱdiscussedȱbelow.ȱȱThereȱisȱoneȱcronȱjobȱ installedȱforȱeachȱofȱtheȱthreeȱparameters. • 08 Jul 2009 ALLȱrunsȱtheȱConflictȱCheckingȱReportȱforȱallȱjudgesȱforȱtheirȱentireȱcaseload. Release 4.0.1 7-2 District CM/ECF System Administrator’s Guide • DAILYȱrunsȱtheȱConflictȱCheckingȱReportȱforȱallȱjudgesȱforȱtheȱlastȱ24ȱhoursȱfromȱ theȱtimeȱtheȱcronȱisȱrun.ȱTheȱreportȱcanȱalsoȱbeȱrunȱwithȱanȱoptionalȱ‘multiplier’ȱ parameterȱwhichȱwillȱextractȱdataȱforȱaȱmultipleȱdayȱrange.ȱȱAsȱshownȱbelow,ȱaddȱ anȱintegerȱafterȱDAILYȱforȱtheȱrangeȱyouȱwantȱtoȱrunȱtheȱreport,ȱ2ȱforȱ48ȱhours,ȱ3ȱ forȱ72ȱhours,ȱetc. Example 00 22 * * 1 root /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r ‘/opt/DCECF/live/server/server/AutoConfCron.pl dbname /opt/DCECF/live/server/server DAILY 2 >> /var/log/ecf/AutoConfCron.dbname.log 2>&1‘ • CONFLICTLISTȱchecksȱtheȱconflictȱlistȱtoȱseeȱthatȱeachȱjudgeȱhasȱaȱconflictȱlistȱorȱ hasȱbeenȱupdatedȱinȱtheȱnumberȱofȱdaysȱsetȱinȱtheȱsiteȱtableȱentryȱ Recuse_List_Overdue. AsȱshownȱinȱFigureȱ1ȱonȱtheȱpreviousȱpage,ȱtheȱcronȱjobsȱareȱinstalledȱasȱdisabled.ȱ Whenȱyouȱareȱreadyȱtoȱrunȱtheȱreports,ȱorȱwantȱtoȱmodifyȱtheȱdefaultȱcronȱentry,ȱdoȱ theȱfollowingȱȱ(asȱroot): To enable the Conflict Checking cron jobs 1. Changeȱdirectory cd /etc/cron.d 2. Reviewȱtheȱcronȱfiles,ȱremovingȱtheȱpoundȱsignsȱtoȱenableȱthem,ȱandȱchangingȱtheȱ scheduledȱrunȱtimeȱasȱneeded. 3. Runȱtheȱfollowingȱcommandȱtoȱactivateȱtheȱcronȱjobs: service crond reload File in /etc/cron.d Default cron entry AutoConfCronAll.live AutoConfCronAll.test AutoConfCronAll.train /opt/DCECF/[live | test | train]/server/server/ AutoConfCron.pl Monday at 9:00 p.m. 00 21 * * 1 AutoConfCronDaily.live AutoConfCronDaily.test AutoConfCronDaily.train /opt/DCECF/[live | test | train]/server/server/ AutoConfCron.pl Monday-Friday at 8:00 p.m. 00 20 * * 1-5 AutoConfCronConflict.live AutoConfCronConflict.test AutoConfCronConflict.train 08 Jul 2009 Program /opt/DCECF/[live | test | train]/server/server/ AutoConfCron.pl The first day of every month at midnight 00 00 1 * * Release 4.0.1 7-3 CHAPTER 8 8 Forms In This Chapter • Overview • CreatingȱtheȱFormȱTemplate • DataȱProperties • UsingȱDataȱPropertiesȱinȱtheȱTemplateȱ • DevelopingȱAdditionalȱDataȱProperties • JSPȱtoȱPerlȱFormsȱConversion • CreatingȱYourȱOwnȱDataȱCollectors • ChangingȱtheȱDefaultȱDateȱFormat District CM/ECF System Administrator’s Guide Overview DistrictȱCM/ECFȱprovidesȱsampleȱtemplatesȱforȱcriminalȱandȱcivilȱschedulingȱorders,ȱ asȱwellȱasȱaȱgenericȱNoticeȱofȱHearing.ȱȱIfȱtheȱapplicationȱadministratorȱknowsȱHTML,ȱ anyȱtextȱeditorȱcanȱbeȱusedȱtoȱmodifyȱtheseȱtoȱsuitȱlocalȱneeds,ȱorȱtheyȱcanȱbeȱcopiedȱ toȱcreateȱnewȱtemplates.ȱȱTheȱtableȱbelowȱshowsȱtheȱlistȱofȱtemplatesȱincluded: Form Display Name Template Filename cvschedo Scheduling Order cvschedo.html crschedo Scheduling Order crschedo.html hrgntc Notice of Hearing hrgntc.html alltags Test All Tags alltags.html TheȱtemplateȱinȱeachȱformȱisȱanȱHTMLȱfileȱwithȱembeddedȱPerlȱstatements.ȱTheȱ templateȱsystemȱusedȱisȱcalledȱTemplateȱToolkit.ȱDocumentationȱisȱavailableȱat: http://template-toolkit.org TheȱHTMLȱtemplateȱisȱprocessedȱwhenȱaȱformȱisȱselectedȱfromȱtheȱdropdownȱlistȱinȱ docketing.ȱȱTheȱHTMLȱfileȱmergesȱcaseȱspecificȱdataȱwithȱstandardȱtext,ȱandȱformatsȱ theȱtextȱandȱdata.ȱȱAnȱHTMLȱfileȱisȱthenȱdisplayedȱinȱdocketingȱalongȱwithȱtheȱNextȱ andȱEditȱbuttons. AnȱHTMLȱformȱtemplateȱcontainsȱPerlȱprogrammingȱstatements,ȱtext,ȱdataȱ properties,ȱandȱHTMLȱtags.ȱȱFormȱtemplatesȱcanȱbeȱcreatedȱusingȱaȱtextȱeditorȱorȱanȱ HTMLȱeditor. 08 Jul 2009 Release 4.0.1 8-2 District CM/ECF System Administrator’s Guide Creating the Form Template Toȱcustomizeȱtheȱsampleȱtemplatesȱandȱtoȱcreateȱnewȱtemplates,ȱaȱgoodȱ understandingȱofȱHTMLȱandȱaccessȱtoȱtheȱtemplateȱdirectoryȱonȱtheȱCM/ECFȱserverȱ isȱrequired.ȱȱȱȱ NOTE Templates are stored in /opt/DCECF/database/web/templates/forms where database is the name of the test, train, or live database. Theȱformȱtemplateȱcanȱbeȱcreatedȱwithȱaȱtextȱeditorȱ(suchȱasȱviȱorȱNotepad)ȱorȱanȱ HTMLȱeditorȱ(suchȱasȱMacromediaȱDreamweaverȱorȱNetscapeȱComposer).ȱȱWithȱ eitherȱmethod,ȱPerlȱstatements,ȱtext,ȱandȱdataȱpropertiesȱcanȱbeȱaddedȱtoȱtheȱtemplateȱ manuallyȱorȱbyȱcopying/modifyingȱfromȱotherȱfiles.ȱȱWithȱaȱtextȱeditor,ȱyouȱworkȱ withȱanȱuninterruptedȱHTMLȱfileȱinȱwhichȱtheȱHTMLȱtagsȱareȱvisible,ȱandȱyouȱcanȱ enterȱtheȱcommandsȱyourself.ȱȱWithȱanȱHTMLȱeditor,ȱyouȱcanȱworkȱwithȱanȱ uninterruptedȱHTMLȱfileȱthatȱhidesȱtheȱHTMLȱtagsȱandȱinȱwhichȱtheȱHTMLȱeditorȱ insertsȱtheȱHTMLȱtagsȱforȱyou.ȱȱAnȱHTMLȱeditorȱsimplifiesȱtheȱadditionȱofȱHTMLȱ tagsȱtoȱtheȱtemplate,ȱbutȱmostȱHTMLȱeditorsȱinsertȱproprietaryȱHTMLȱelementsȱthatȱ mustȱbeȱdeletedȱbeforeȱtheȱtemplateȱcanȱbeȱusedȱinȱCM/ECF.ȱȱIfȱDreamweaverȱisȱused,ȱȱ fewer,ȱifȱany,ȱproprietaryȱentriesȱwillȱbeȱencounteredȱandȱcanȱeasilyȱbeȱremovedȱwithȱ Dreamweaver’sȱCleanupȱHTMLȱcommand.ȱȱWhicheverȱtypeȱofȱeditorȱisȱused,ȱtheȱfinalȱ versionȱofȱtheȱtemplateȱmustȱbeȱsavedȱasȱaȱHTMLȱfile. WhetherȱaȱtextȱeditorȱorȱanȱHTMLȱeditorȱisȱused,ȱtheȱHTMLȱcodeȱmustȱadhereȱtoȱ certainȱrulesȱrequiredȱbyȱtheȱEasyȱSoftwareȱProductsȱHTMLDOCȱprogram.ȱȱTheȱ CM/ECFȱapplicationȱusesȱversionȱ1.8.17ȱofȱtheȱHTMLDOCȱprogramȱtoȱconvertȱtheȱ HTMLȱfileȱtoȱPDF.ȱȱTheȱHTMLȬtoȬPDFȱconversionȱtakesȱplaceȱwhenȱtheȱuserȱclicksȱonȱ theȱNextȱbuttonȱdisplayedȱwithȱtheȱinterpretedȱHTMLȱfileȱinȱdocketing.ȱȱMostȱ browsersȱignoreȱminorȱcodingȱmistakes,ȱsuchȱasȱmissingȱorȱextraȱtags.ȱȱHTMLDOC,ȱ however,ȱwillȱnotȱcorrectlyȱinterpretȱaȱformȱthatȱdoesȱnotȱfollowȱstrictȱHTMLȱcodingȱ rules.ȱȱ(Ifȱaȱuserȱeditsȱaȱform,ȱHTMLDOCȱisȱnotȱusedȱbecauseȱtheȱformȱisȱsavedȱtoȱPDFȱ outsideȱofȱtheȱCM/ECFȱapplication.) TheȱlatestȱversionȱofȱtheȱHTMLDOCȱSoftwareȱUsersȱManualȱcanȱbeȱdownloadedȱatȱ theȱfollowingȱwebsite: http://www.easysw.com/htmldoc Chapterȱ6ȱofȱtheȱHTMLDOCȱmanualȱprovidesȱlistsȱofȱsupportedȱHTMLȱelementsȱandȱ versions,ȱasȱwellȱasȱspecialȱHTMLȱtagsȱtoȱcreateȱpageȱbreaks,ȱheaders,ȱfooters,ȱ margins,ȱandȱotherȱfeatures.ȱȱTheȱmanualȱstatesȱinȱseveralȱplacesȱthatȱtheȱproductȱ doesȱnotȱsupportȱHTMLȱ4.0ȱelementsȱbutȱtheȱintroductionȱsuggestsȱthatȱsomeȱ4.0ȱ elementsȱareȱsupported.ȱȱ 08 Jul 2009 Release 4.0.1 8-3 District CM/ECF System Administrator’s Guide Template Structure EachȱPerlȱprogrammingȱstatementȱinȱaȱformȱtemplateȱbeginsȱwithȱtheȱmarkerȱ[%ȱandȱ endsȱwithȱtheȱmarkerȱ%].ȱȱForȱmostȱordersȱandȱnotices,ȱuseȱtheseȱtwoȱstatementsȱnearȱ theȱtopȱofȱtheȱfile: [% INCLUDE "../templates/forms/letterhead.html" %] [% INCLUDE "../templates/forms/casehead.html" %] Theseȱstatementsȱcallȱtwoȱseparateȱfileȱfragmentsȱthatȱprovideȱtheȱcourtȱnameȱ (letterhead.html)ȱthatȱtypicallyȱappearȱatȱtheȱtopȱofȱeveryȱstandardȱorderȱorȱnotice.ȱȱ Itȱisȱnotȱrequiredȱthatȱtheseȱsectionsȱofȱtheȱorderȱorȱnoticeȱbeȱstoredȱinȱseparateȱfiles;ȱ theyȱcanȱbeȱaddedȱtoȱeachȱHTMLȱtemplateȱindividually.ȱȱTheȱadvantageȱofȱstoringȱ theseȱsectionsȱinȱseparateȱfilesȱisȱthat,ȱifȱaȱchangeȱisȱneeded,ȱtheȱchangeȱisȱperformedȱ onlyȱonce.ȱȱModifyȱtheȱletterhead.htmlȱandȱcasehead.htmlȱfilesȱprovidedȱwithȱtheȱ CM/ECFȱapplicationȱtoȱmeetȱyourȱcourt’sȱrequirements. Sample Letterhead Sample Casehead TheȱtwoȱPerlȱstatementsȱdescribedȱaboveȱmayȱwellȱbeȱallȱtheȱPerlȱcodeȱrequiredȱforȱ standardȱordersȱandȱnotices.ȱȱJavaȱcodeȱcanȱalsoȱbeȱusedȱinȱformȱtemplatesȱforȱotherȱ purposesȱsuchȱasȱconditionalȱlogicȱandȱdateȱcomparisons.ȱȱTheȱsampleȱschedulingȱ ordersȱprovidedȱwithȱtheȱCM/ECFȱapplication,ȱforȱexample,ȱsurroundȱeachȱ paragraphȱinȱtheȱbodyȱofȱtheȱorderȱwithȱconditionalȱlogicȱstatements.ȱTheseȱ statementsȱexcludeȱtheȱparagraphȱfromȱtheȱorderȱifȱtheȱdataȱcalledȱbyȱtheȱdataȱ propertiesȱinȱtheȱparagraphȱisȱnotȱinȱtheȱdatabaseȱwhenȱtheȱorderȱisȱcreatedȱinȱ docketing.ȱȱ(Theȱdataȱwouldȱnotȱbeȱinȱtheȱdatabase,ȱforȱexample,ȱifȱcourtȱstaffȱ docketingȱtheȱorderȱdidȱnotȱsetȱaȱparticularȱdeadlineȱforȱthisȱinstanceȱofȱtheȱevent.)ȱȱ Theȱsampleȱtemplatesȱareȱdescribedȱinȱmoreȱdetailȱlaterȱinȱthisȱchapter.ȱȱ Text, Data Properties, and HTML Tags InȱadditionȱtoȱPerlȱcode,ȱformȱtemplatesȱalsoȱcontainȱtext,ȱdataȱpropertiesȱthatȱretrieveȱ theȱcaseȱspecificȱdata,ȱandȱHTMLȱtagsȱthatȱformatȱtheȱtextȱandȱdata.ȱȱHereȱisȱhowȱtwoȱ 08 Jul 2009 Release 4.0.1 8-4 District CM/ECF System Administrator’s Guide paragraphsȱfromȱaȱstandardȱorderȱmightȱbeȱrenderedȱintoȱtheseȱelementsȱofȱtheȱ templateȱfile: Pursuant to Fed. R. Civ.P.16, the court having conferred with counsel, IT IS HEREBY ORDERED: STATUS CONFERENCE: A status conference will be held on 10/11/03 at 11:00 in Courtroom 5. InȱtheȱHTMLȱfile,ȱdataȱpropertiesȱareȱenclosedȱwithinȱdataȱtags.ȱȱForȱtheȱexampleȱ paragraphs,ȱtheȱstandardȱtextȱandȱdataȱtagsȱinȱtheȱHTMLȱfileȱwouldȱlookȱlikeȱthisȱ(theȱ dataȱtagsȱareȱinȱbold): Pursuant to Fed. R. Civ.P.16, the court having conferred with counsel, IT IS HEREBY ORDERED: STATUS CONFERENCE: A status conference will be held on [% fetch(name="hrgDate" sd_type="statcnf") %] at [% fetch(name="hrgTime" sd_type="statcnf") %] in [% fetch(name="hrgLoc" sd_type="statcnf") %]. Eachȱdataȱtagȱbeginsȱwithȱtheȱmarkerȱ[ȱandȱendsȱwithȱtheȱmarkerȱ].ȱȱTheȱfirstȱpartȱofȱ theȱdataȱtagȱ(fetchȱname=“hrgDate”)ȱcallsȱaȱdataȱpropertyȱ(hrgDate)ȱthatȱwasȱ developedȱforȱtheȱCM/ECFȱapplication.ȱȱTheȱthreeȱpropertiesȱinȱtheȱexampleȱretrieveȱ theȱdate,ȱtime,ȱandȱlocationȱofȱaȱhearingȱfromȱtheȱscheduleȱtable.ȱȱTheȱsecondȱpartȱofȱ theȱdataȱtagȱ(sd_type=“statcnf”)ȱisȱaȱvariableȱpassedȱtoȱtheȱdataȱpropertyȱthatȱ specifiesȱtheȱtypeȱofȱhearing. TheȱtextȱandȱdataȱareȱformattedȱmostlyȱwithȱHTMLȱtags.ȱȱ(Asȱexplainedȱlaterȱinȱthisȱ chapter,ȱdataȱtagsȱcanȱalsoȱbeȱusedȱforȱcertainȱkindsȱofȱformatting.)ȱȱTheȱHTMLȱtagsȱinȱ theȱtemplateȱfileȱforȱtheȱtwoȱexampleȱparagraphsȱwouldȱlookȱlikeȱthisȱ(theȱHTMLȱtagsȱ areȱinȱbold): 08 Jul 2009 Release 4.0.1 8-5 District CM/ECF System Administrator’s Guide Pursuant to Fed. R. Civ.P.16, the court having conferred with counsel, <b>IT IS HEREBY ORDERED:</b> <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; STATUS CONFERENCE: A status conference will be held on [% fetch(name="hrgDate" sd_type="statcnf") %] at [% fetch(name="hrgTime" sd_type="statcnf") %] in [% fetch(name="hrgLoc" sd_type="statcnf") %]. Inȱtheȱexample,ȱtheȱHTMLȱtagsȱ<b>ȱandȱ</b>ȱstartȱandȱstopȱboldface,ȱtheȱcommandȱ <br>ȱinsertsȱaȱparagraphȱbreak,ȱandȱtheȱ&nbsp;ȱtagȱaddsȱadditionalȱspacesȱinȱfrontȱofȱ theȱtextȱSTATUSȱCONFERENCE. TheȱfollowingȱwebsiteȱprovidesȱaȱquickȱlessonȱonȱtheȱbasicsȱofȱHTML: http://www.pagetutor.com/pagetutor/makapage/lesson01.html NoteȱthatȱHTMLȱcanȱbeȱusedȱtoȱincludeȱanȱimageȱ(suchȱasȱtheȱcourtȱseal)ȱinȱaȱform.ȱȱ Forȱexample: <img src=“http://usdc.uscourts.gov/graphics/seal.jpg” width=“75” height=“75” /> Relativeȱpathsȱsuchȱasȱ<IMGȱSRC=Ȉgraphics/seal.gifȈ>ȱmustȱnotȱbeȱusedȱbecauseȱ HTMLDocȱwillȱnotȱknowȱwhereȱtoȱfindȱtheȱfileȱwhenȱitȱgeneratesȱaȱPDF.ȱ Formsȱdefaultȱtoȱportraitȱpageȱorientation.ȱȱToȱexplicitlyȱspecifyȱlandscapeȱ orientation: <input type=“hidden” name=“printMode” value=“landscape” /> Toȱexplicitlyȱspecifyȱportraitȱorientation: <input type=“hidden” name=“printMode” value=“portrait” /> 08 Jul 2009 Release 4.0.1 8-6 District CM/ECF System Administrator’s Guide Data Properties TheȱCM/ECFȱapplicationȱprovidesȱoverȱ50ȱcustomȱdataȱpropertiesȱforȱuseȱinȱforms.ȱȱ Theȱpropertiesȱsupplyȱtheȱfollowingȱdata: Case Information Case Element Data Property Case number csNum Short title of case csShortTitle Date case is filed csFlDate Date case is opened/docketed cdDktDate Date case is terminated csTrmDate Case type csType Case type description caseTypeDescrip First four flags set in case csFlag1, csFlag2, csFlag3, csFlag4 Defendant number dftNum Name of first plaintiff and defendant in the case (used to create the case heading at the beginning of the order or notice) firstPlaName, firstDftName Et al designation (used with the case heading) plaEtAl, dftEtal Case number in other court asPrevCaseNo Name of other court asPrevCourt Nature of Suit cvNOS Event Information Event Element Data Property Date and time event entered Date event filed evtFileDate Docket text for current event curEvtDktxt Document number docuNum Judge who entered the order or held hearing curJudTitle, curJudName Name of the filer of a motion filerName Role of the filer of a motion 08 Jul 2009 dateTime filerType Release 4.0.1 8-7 District CM/ECF System Administrator’s Guide Name and initials of person who docketed the event dktClkName, dktClkInits Today’s date curDate Hearing and Deadline Information Hearing/Deadline Element Data Property Date, time, and location of any hearing defined in the deadlines table hrgDate, hrgTime, hrgLoc Date of any deadline defined in the deadlines table ddlDate Description of all hearings set by the current event hrgDesc Description of all deadlines set by the current event ddlDesc Date, time, and location of hearing set by the current user (used with events that set only one hearing) curHrgDate, curHrgTime, curHrgLoc Date of deadline set by the current event (used with events that set only one deadline) curDdlDate Hearing judge hrgJudge Hearing judge title hrgJudgeTitle Judge Information Judge Information Element Data Property Title of presiding and referral judges judTitle Name of presiding and referral judges judName Initials of presiding and referral judges judInits AO Code of presiding and referral judges (used with conditional logic) judCode Court Information Court Information Element Data Property Name of the Clerk of Court Name of the Chief Deputy Clerk dptyClkName Court Name (e.g., Western District of Michigan) ctName Main and divisional office names offName Main and divisional office codes offCode Street address of main and divisional offices offStreetAddr City and State of main and divisional offices 08 Jul 2009 ctClkName offCityState Release 4.0.1 8-8 District CM/ECF System Administrator’s Guide Zip Code of main and divisional offices offZip Telephone number of main and divisional offices offTelNum Attorney Information Judge Information Element Data Property Attorney name atyName Attorney office atyOffice Attorney unit atyUnit Attorney street address atyStreetAddr Attorney city and state atyCityState Attorney zip atyZip Attorney address atyAddr Attorney country atyCountry Attorney phone atyPhone Party Information Judge Information Element Data Property Party name Party office ptyOffice Party unit ptyUnit Party street address ptyStreetAddr Party city and state ptyCityState Party zip ptyZip Party address ptyAddr Party country ptyCountry Party phone ptyPhone Party DOB ptyDob Party prisoner ID 08 Jul 2009 ptyName ptyPrisonerID Release 4.0.1 8-9 District CM/ECF System Administrator’s Guide Using Data Properties in the Template Inȱtheȱtemplateȱfile,ȱtheȱuserȱentersȱtheȱdataȱpropertiesȱinȱtheȱspotȱwhereȱtheȱdataȱ shouldȱbeȱmergedȱwithȱtheȱtext.ȱȱEachȱofȱtheȱpropertiesȱdescribedȱaboveȱisȱenclosedȱ withȱaȱdataȱtag: [% fetch(name="property name") %] TheȱhrgDate,ȱhrgTime,ȱhrgLoc,ȱandȱddlDateȱpropertiesȱareȱpassedȱaȱvariableȱwithinȱ theȱtag.ȱȱTheȱvariableȱisȱtheȱvalueȱofȱtheȱsd_typeȱfieldȱinȱtheȱdeadlinesȱtableȱentryȱthatȱ definesȱtheȱhearingȱorȱdeadline,ȱforȱexample: [% fetch(name="hrgDate" sd_type="prtrlconf") %] TheȱjudTitle,ȱjudName,ȱjudInits,ȱandȱjudRoleȱpropertiesȱmayȱbeȱpassedȱtheȱjudge’sȱ roleȱinȱtheȱcaseȱasȱaȱvariable,ȱforȱexample: [% fetch(name="judName" jd_judge_role="pre") %] Theȱofficeȱdataȱpropertiesȱmayȱbeȱpassedȱtheȱofficeȱnumberȱ(theȱvalueȱinȱtheȱlc_codeȱ ofȱtheȱlocationȱtableȱentryȱforȱthatȱoffice)ȱasȱanȱoptionalȱvariable,ȱforȱexample: [% fetch(name="offName" lc_code="Office7") %] Ifȱtheȱvariableȱisȱomitted,ȱtheȱofficeȱpropertiesȱwillȱretrieveȱtheȱdataȱforȱtheȱofficeȱ whoseȱnumberȱisȱpartȱofȱtheȱcaseȱtitle.ȱȱTheȱofficeȱpropertiesȱretrieveȱdataȱfromȱtheȱ locationȱtable,ȱwhichȱisȱdiscussedȱlaterȱinȱthisȱchapter. Aȱtemplateȱcalledȱalltags.htmlȱisȱprovidedȱwithȱtheȱCM/ECFȱapplication.ȱȱThisȱ templateȱcontainsȱanȱexampleȱofȱeachȱdataȱproperty.ȱȱTheȱcourtȱcanȱuseȱtheȱ alltags.htmlȱfileȱtoȱcopyȱandȱpasteȱdataȱpropertiesȱintoȱtheȱformȱtemplates.ȱȱTheȱ propertiesȱcanȱbeȱcopiedȱdirectlyȱfromȱtheȱHTMLȱfileȱonȱtheȱCM/ECFȱserver,ȱorȱtheȱ courtȱuserȱcanȱgenerateȱaȱtestȱformȱforȱtheȱtemplateȱfromȱtheȱUtilitiesȱmenuȱandȱcopyȱ andȱpasteȱfromȱtheȱHTMLȱorȱPDFȱfilesȱdisplayedȱthere. Changing Lower Case and Upper Case IfȱyouȱwantȱdataȱtoȱappearȱinȱallȱupperȱcaseȱȬȱwhichȱisȱstoredȱinȱtheȱdatabaseȱasȱlowerȱ caseȱȬȱȱinȱanȱorderȱorȱnotice,ȱanȱoptionalȱvariableȱ(case=“u”)ȱcanȱbeȱpassedȱtoȱaȱdataȱ property.ȱȱForȱexample,ȱifȱyouȱwantȱtheȱshortȱtitleȱofȱtheȱcaseȱtoȱappearȱinȱallȱupperȱ case,ȱtheȱfollowingȱwouldȱbeȱenteredȱinȱtheȱtemplateȱfile: 08 Jul 2009 Release 4.0.1 8-10 District CM/ECF System Administrator’s Guide Dataȱstoredȱinȱtheȱdatabaseȱasȱupperȱcaseȱcanȱbeȱrenderedȱinȱlowerȱcaseȱinȱtheȱorderȱ orȱnoticeȱwithȱtheȱvariableȱcase=“I”.ȱInȱtheȱabsenceȱofȱtheȱcase=ȱvariable,ȱdataȱwillȱbeȱ returnedȱwithȱcapitalizationȱasȱstoredȱinȱtheȱdatabase. Conditional Logic Thereȱmayȱbeȱaȱneedȱtoȱincludeȱconditionalȱlogicȱinȱaȱtemplate,ȱforȱexampleȱtoȱtestȱ whetherȱaȱjuryȱtrialȱhasȱbeenȱset,ȱasȱshownȱinȱtheȱexampleȱbelow: <% if (!forms.getHrgDate(“jytrl”).equals("")) { %> TRIAL DATE AND SETTING: &nbsp; The jury trial in this matter shall commence on <jsp:setProperty name="forms" property="dateFormat" value=”F2” /> <ecf:fetch name=”hrgDate” sd_type=”jytrl” /> at&nbsp; <ecf:fetch name=”hrgTime” sd_type=”jytrl” /> at the United States District Court, <ecf:fetch name=”offCityState” />, in&nbsp; <ecf:fetch name=”hrgLoc” sd_type=”jytrl” />. <br><br> <% } %> Ifȱthereȱisȱnoȱjuryȱtrialȱsetȱforȱtheȱcurrentȱdocketȱevent,ȱnothingȱwillȱbeȱprinted. [% fetch(name="dateFormat" value="F2") %] [% fetch(name="hrgDate" sd_type="prtrlconf") %] 08 Jul 2009 Release 4.0.1 8-11 District CM/ECF System Administrator’s Guide Developing Additional Data Properties ItȱisȱpossibleȱtoȱdefineȱaȱdataȱpropertyȱforȱanyȱdataȱelementȱstoredȱinȱtheȱCM/ECFȱ database.ȱȱDefiningȱdataȱpropertiesȱrequiresȱexpertiseȱinȱPerlȱandȱInformixȱSQL.ȱTheȱ followingȱtableȱprovidesȱaȱlistȱofȱCM/ECFȱDataȱProperties. Data Property Description Example Database Table.Field actionCode granting dktpart.dp_ action_ type asPrevCaseNo Case number in other court 03-NYS-9765 asccase.as_prev_caseno asPrevCourt Name of other court New York State Supreme Court asscase.as_prev_court atyName Attorney Name Nevin Matthew Goodman attorney.at_first_name at_middle_name at_last_name atyOffice Attorney Office Law Offices of Goodman & Goodman attorney.at_office atyUnit Attorney Unit 5B attorney.at_unit atyStreetAddr Attorney Street Address 13640 Potter Avenue Suite 10 5th Floor attorney.at_address1 at_address2 at_address3 atyCityState Attorney City and State Ashburn, VA attorney.at_city at_state atyZip Attorney Zip Code 20333 attorney.at_zip atyAddr Attorney Address Law Offices of Goodman & Goodman 13640 Potter Avenue Suite 10 5th Floor Ashburn, VA 20333 attorney.at_office, at_address1 at_address2, at_address3 at_city, at_state, at_zip atyCountry Attorney Country US attorney-at_country atyPhone Attorney Phone 703-555-1212 attorney.at_phoneno caseTypeDescrip Case type description Civil casetype.cy_description citCitation Full citation code 18:4.F citation.cit_citation citSortTitle First part of the citation code 18 citation.cit_sort_title citSortSection Offense category code 4 citation.cit_sort_section citSortSubSection 08 Jul 2009 Order action code Offense category subsection code Release 4.0.1 citation.cit_sort_sub_sec 8-12 District CM/ECF System Administrator’s Guide citDescription Withholding information on a crime citation.cit_description citText Text of the citation from the count table Accessory after the fact count.cn_cittext csDktDate Date case is opened/docketed 10/12/2004 case.cs_date_enter csFlag1 First flag set in case APPEAL case_flags.cf_value csFlag2 Second flag set in case CASREF case_flags.cf_value csFlag3 Third flag set in case MOTREF case_flags.cf_value csFlag4 Fourth flag set in case ENE case_flags.cf_value csFlDate Date case is filed 10/12/2004 case.cs_date_filed csNum Case number 1:03-cv-08000 case.cs_case_number csShortTitle Case Short Title Reddick v. Greene case.cs_short_title csTrmDate Date case is terminated 10/12/2004 case.cs_date_term csType Case type cv case.cs_type ctClkName Court Clerk's name Joan R. Smith site.si_ value (si_code = Clerk) ctName Court Name Western District of Michigan site.si_ value (si_code = CourtName) curDate Today's date, date current event entered on docket 10/12/2004 system date curDdlDate Date of deadline created by current event 10/12/2004 schedule.sd_ dtset curEvtDktxt Docket text for current event Status Conference set for 10/12/04 at 11:00 AM in Courtroom 8 before Hon. Katherine Jones. dkttext.dt_ text curJudge Name of judge who entered the order or held the hearing Katherine Jones judge.jd_first_name, jd_middle_name, jd_last_name, jd_generation curJudgeTitle Title of judge who entered the order or held the hearing Hon. judge.jd_title curHrgDate 08 Jul 2009 Name of the specific citation Date of hearing created by current event 10/12/2004 schedule.sd_ dtset Release 4.0.1 8-13 District CM/ECF System Administrator’s Guide curHrgLoc Courtroom 8 codes.co_translation (co_type = location and co_code = schedule.sd_loc) curHrgTime Time of hearing created by current event 11:00 AM schedule.sd_ tmset, sd_ mset_ am_ pm curHrgTime Time of hearing created by current event 11:00 AM schedule.sd_ tmset, sd_ mset_ am_ pm dateTime Date and time current event entered 10/12/2004 13:14 dktentry.de_date_enter defNum Defendant number 1 py_def_num DdlDate Date of deadline This property is passed the variable sd_type, e.g., sd_type = ptcnf. 10/12/2004 schedule.sd_dtset ddlDesc Description of all deadlines set in this event. Amended Pleadings, Discovery deadlines.dl_description dftEtal Prints “et al.” for the defendants , et al. N/A dktClkInits Docket clerk's initials jrs person. pr_ initials dktClkName Docket clerk's name John R. Smith person.pr_first_name, person,pr_middle_name, person.pr_last_name docuNum Document number 8 dktentry.de_ document_ num dptyClkName Chief Deputy Clerk's name George Harper site.si_ value (si_code= Deputy) evtFileDate Date current event filed 10/12/2004 dktentry.de_date_filed filerName Filer of motion name May Company person.pr_ first_ name, pr_ middle_ name, pr_last_name filerType Filer of motion type Defendant role_type.ro_description (party.py_role_type = roletype.ro_code) firstDftName Name of first defendant Best Co. party.py_ first_ name, py_ middle_ name, py_last_name, py_generation firstPlaName Name of first plaintiff Proctor Inc. party.py_ first_ name, py_ middle_ name, py_last_name, py_generation getFormVar 08 Jul 2009 Location of hearing created by current event Get a value from perl %Var hash 1622 [% fetch(name="getFormVar" key='caseId') %] Release 4.0.1 8-14 District CM/ECF System Administrator’s Guide hrgDate 10/12/2004 schedule.sd_dtset hrgDesc Description of all hearings set in this event. Status Conference, Final Pretrial Conference deadlines.dl_description hrgLoc Location of hearing This property is passed the variable sd_type, e.g., sd_type = ptcnf. Courtroom 8 codes.co_translation (co_type = location and co_code = schedule.sd_loc) hrgTime Time of hearing This property is passed the variable sd_type, e.g., sd_type = ptcnf. 11:00 AM schedule.sd_ tmset, sd_ mset_ am_ pm judCode Judge AO code This property is passed the variable jd_judge_role, e.g., jd_judge_role = pre. 9801 judge.jd_ao_code judInits Judge initials This property is passed the variable jd_judge_role, e.g., jd_judge_role = pre. kj judge.jd_initials judName Judge name This property is passed the variable jd_judge_role, e.g., jd_judge_role = pre. Katherine Jones judge.jd_first_name, jd_middle_name, jd_last_name, jd_generation judTitle Judge title This property is passed the variable jd_judge_role, e.g., jd_judge_role = pre. Hon. judge.jd_title motionDesc Description of motion Show Cause document_type.do_select_text offCityState 08 Jul 2009 Date of hearing This property is passed the variable sd_type, e.g., sd_type = ptcnf. City and State of office This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. Alexandria, VA lc_ city, lc_ state Release 4.0.1 8-15 District CM/ECF System Administrator’s Guide offCode Office code This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. 1 case.cs_ office offName Office name This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. Eastern Division location.lc_office offStreetAddr Office address This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. 100 Dangerfield Road location.lc_ address1 - address3 offTelNum Office telephone number This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. (703) 836-8000 location.lc_ phoneno offZip Office zip code This property may be passed an optional variable lc_code, e.g., lc_code = Office 1. 22314 location.lc_zip plaEtal Prints “et al.” for the plaintiffs , et al. N/A Address Information for Main and Divisional Offices Theȱnameȱandȱaddressesȱofȱtheȱcourt’sȱmainȱandȱdivisionalȱofficesȱareȱstoredȱinȱtheȱ locationȱtable.ȱȱTheȱofficeȱdataȱpropertiesȱareȱusedȱinȱtheȱformȱtemplatesȱtoȱincludeȱ dataȱfromȱtheȱlocationȱtableȱinȱanȱorderȱorȱnotice.ȱȱTheȱofficeȱdataȱpropertiesȱare:ȱ offName,ȱoffCode,ȱoffStreetAddress,ȱoffCityState,ȱoffZip,ȱandȱoffTelNum.ȱȱAsȱ explainedȱinȱtheȱDataȱPropertiesȱsectionȱearlierȱinȱthisȱchapter,ȱtheȱofficeȱdataȱ propertiesȱmayȱbeȱpassedȱtheȱofficeȱnumberȱasȱanȱoptionalȱvariable,ȱforȱexample: [% fetch(name="offName" lc_code="Office7") %] Ifȱtheȱvariableȱisȱomitted,ȱtheȱofficeȱpropertiesȱwillȱretrieveȱtheȱdataȱforȱtheȱofficeȱ whoseȱnumberȱisȱpartȱofȱtheȱcaseȱtitle. 08 Jul 2009 Release 4.0.1 8-16 District CM/ECF System Administrator’s Guide TheȱlocationȱtableȱisȱupdatedȱwithȱtheȱLocationȱTableȱeditorȱ(UtilitiesÆUpdateȱ SystemȱTablesÆLocationȱTable). Clerk of Court and Chief Deputy Clerk Names TheȱnameȱofȱtheȱClerkȱofȱCourtȱandȱChiefȱDeputyȱClerkȱcanȱbeȱincludedȱinȱordersȱandȱ noticesȱusingȱtheȱctClkNameȱandȱdptyClkNameȱdataȱproperties.ȱȱTheseȱpropertiesȱ retrieveȱtheȱnamesȱfromȱtheȱClerkȱandȱDeputyȱsiteȱtableȱentries.ȱȱTheȱnameȱandȱ initialsȱofȱtheȱpersonȱenteringȱtheȱorderȱorȱnoticeȱonȱtheȱdocketȱcanȱbeȱretrievedȱwithȱ theȱdktClkNameȱandȱdktClkInitsȱdataȱproperties. Summary of System Tables Used with Forms Theȱformsȱsoftwareȱusesȱvaluesȱfromȱtheȱsystemȱtablesȱdescribedȱbelow.ȱȱUnlessȱ otherwiseȱnoted,ȱtheȱvaluesȱinȱtheseȱtablesȱareȱsetȱatȱinstallation. • CodesȱTable TheȱvalueȱsmgȱisȱstoredȱinȱtheȱPrTypeȱcodesȱtableȱentry.ȱȱEachȱcourtȱcreatesȱaȱpersonȱ recordȱwithȱtheȱtypeȱsmgȱforȱeachȱspecialȱmailingȱgroupȱbyȱusingȱtheȱEditȱPersonȱ Dataȱutility. • DispatchȱTableȱ(events) TheȱGenerateȱaȱTestȱFormȱFunctionȱisȱcontrolledȱbyȱtheȱdispatchȱdefinitionsȱnamedȱ FormsTest,ȱwithȱthisȱcontent: GetCaseForm(); EndScreen(); PreProcessCaseNum('','','','','','','y'); GenTest(); docform('any'); GenTestEnd(); • document_typeȱTable Youȱmustȱaddȱtheȱdoc(paper1),ȱdocform,ȱandȱRecipientȱDPFsȱtoȱeventsȱthatȱproduceȱ forms.ȱȱTheȱBaselineȱDictionaryȱincludesȱeventsȱforȱtheȱsampleȱschedulingȱordersȱandȱ noticeȱofȱhearing. • DPFȱTable TheȱDPFsȱlistedȱbelowȱareȱstoredȱinȱtheȱdpfȱtable.ȱȱTheȱdoc,ȱdocform,ȱandȱRecipientȱ DPFsȱareȱenteredȱinȱtheȱdocument_typeȱtable.ȱȱTheȱGenTest,ȱGenTestEnd,ȱandȱ GetCaseFormȱDPFsȱareȱusedȱinȱtheȱdispatchȱdefinitionȱofȱtheȱGenerateȱaȱTestȱFormȱ 08 Jul 2009 Release 4.0.1 8-17 District CM/ECF System Administrator’s Guide function.ȱȱTheȱDelayAttachment,ȱprocess_html,ȱandȱAddDocumentDȱDPFsȱareȱusedȱ internally. DPF Name Screen Repeat Module Recipient 100 Recipient.pl n docform 0 DocDPF n doc 0 DocDPF n DelayAttachment 0 DetailDktEntry.pl n process_html 0 DoForm.pl y AddDocumentD 0 DoForm.pl n GenTest 100 DoForm.pl y GenTestEnd 100 DoForm.pl y GetCaseForm 100 DoForm.pl y Eachȱcourtȱcreatesȱentriesȱinȱtheȱformȱtableȱforȱeachȱform.ȱȱFourȱentriesȱareȱprovidedȱ atȱinstallationȱforȱtheȱsampleȱformsȱandȱtheȱalltags.htmlȱform.ȱȱTheȱformȱIDsȱareȱ crschedo,ȱcvschedo,ȱhrgntc,ȱandȱalltags. • LocationȱTable Atȱinstallation,ȱanȱentryȱinȱtheȱlocationȱtableȱisȱcreatedȱforȱeachȱofficeȱentryȱfoundȱinȱ theȱcodesȱtable.ȱȱEachȱcourtȱmustȱupdateȱtheȱlocationȱtableȱwithȱcompleteȱaddressȱ information. • MenuȱTable Theȱmenuȱtableȱhasȱthreeȱentriesȱforȱforms:ȱtheȱFormȱTableȱeditor,ȱtheȱLocationȱTableȱ editor,ȱandȱtheȱGenerateȱTestȱFormȱutility.ȱȱȱ • program_groupȱTable PermissionsȱforȱtheȱFormȱTableȱeditor,ȱtheȱLocationȱTableȱeditor,ȱandȱtheȱGenerateȱ TestȱFormȱutilityȱareȱgrantedȱtoȱtheȱAdministratorȱgroupȱatȱinstallation.ȱȱEachȱcourtȱ canȱsetȱadditionalȱpermissionsȱforȱtheseȱprograms. Youȱmayȱcontinueȱtoȱmaintainȱyourȱexistingȱ.jspȱformsȱasȱwellȱasȱdevelopȱnewȱ templatesȱinȱperl.ȱȱHowever,ȱeachȱindividualȱformȱmustȱbeȱinȱeitherȱjspȱorȱperl,ȱbutȱ notȱcombined. 08 Jul 2009 Release 4.0.1 8-18 District CM/ECF System Administrator’s Guide JSP to Perl Forms Conversion Aȱconversionȱscriptȱhasȱbeenȱprovidedȱtoȱmigrateȱlocallyȱcreatedȱ.JSPȱformsȱtemplatesȱ toȱtheȱnewȱPerlȱtemplates.ȱTheȱscript,ȱcalledȱjsp2tt.pl,ȱisȱlocatedȱinȱtheȱ /opt/DCECF/database/ȱserver/serverȱdirectory,ȱwhereȱdatabaseȱisȱlive,ȱtest,ȱorȱtrain.ȱ To run the jsp2tt.pl script 1. Changeȱdirectory: cd /opt/DCECF/{ test | train | live }/server/server 2. Runȱtheȱfollowingȱcommand,ȱsubstitutingȱtheȱnameȱofȱtheȱ.JSPȱformȱtemplateȱyouȱ wantȱtoȱconvertȱforȱinput_file.ȱSubstituteȱtheȱnameȱofȱtheȱnewȱPerlȱtemplateȱtoȱbeȱ createdȱforȱoutput_file. jsp2tt.pl input_file output_file Example jsp2tt.pl hrgntc.jsp hrgntc.html Ifȱyouȱareȱconvertingȱmanuallyȱinȱplaceȱofȱusingȱtheȱjsp2tt.plȱconversionȱscript,ȱtheȱ followingȱlistsȱaȱquickȱcheatsheetȱofȱJSPȱcommandsȱandȱtheirȱcorrespondingȱPerlȱ templateȱToolkitȱstatements. include a file: JSP: <%@ include file="letterhead.jspf" %> Perl: [% INCLUDE "../templates/forms/letterhead.html" %] data properties JSP: <ecf:fetch name="offName" /> Perl: [% fetch(name="offName") %] date format JSP: <jsp:setProperty name="forms" property="dateFormat" value="F2" /> Perl: [% fetch(name="dateFormat" value="F2") %] comments JSP: <%-- Foo! --%> Perl: [%# Foo! %] directory JSP: /opt/DCECF/database/web/cmecf/web /opt/DCECF/database/web/templates/forms conditional logic <% if (!forms.getHrgDate("jytrl").equals("")) { %> TRIAL DATE AND SETTING: &nbsp; The jury trial in this matter... <% } %> Perl: [% IF (fetch(name="csType") == 'cv') %] TRIAL DATE AND SETTING: &nbsp; The jury trial in this matter… [% END %] ForȱmoreȱinformationȱaboutȱPerl’sȱTemplateȱToolkit,ȱȱseeȱtheȱwebsite: http://template-toolkit.org/ 08 Jul 2009 Release 4.0.1 8-19 District CM/ECF System Administrator’s Guide Creating Your Own Data Collectors Toȱcreateȱyourȱownȱdataȱcollectors,ȱeditȱForms.pmȱinȱbothȱofȱtheȱfollowingȱ directories: • /opt/DCECF/{trainȱ|ȱtestȱ|ȱliveȱ}/web/support/ • /opt/DCECF/{trainȱ|ȱtestȱ|ȱliveȱ}/server/support/ȱ Followȱtheȱthreeȱ(3)ȱstepsȱbelowȱtoȱcreateȱyourȱownȱdataȱcollectors: 1. Addȱyourȱcollectorȱnameȱtoȱtheȱfetch()ȱsubroutineȱinȱForms.pm.ȱForms.pmȱ containsȱaȱhashȱnamedȱ%subsȱwhichȱcontainsȱtheȱnamesȱofȱallȱofȱtheȱdataȱ collectors.ȱ TheȱfollowingȱexampleȱtellsȱtheȱFormsȱprocessȱtoȱtriggerȱtheȱ&ctNameȱsubroutineȱ whenȱtheȱdataȱcollectorȱctNameȱisȱencounteredȱinȱaȱtemplate: "ctName" => \&ctName 2. InȱForms.pm,ȱcreateȱaȱsubroutineȱthatȱretrievesȱtheȱdataȱyouȱwant. Example sub ctName { my $results = SQL::unload("si_value", "site", "where si_code='CourtName'"); chomp($results); $results; } 3. Putȱyourȱnewȱdataȱcollectorȱintoȱaȱtemplateȱtoȱtest. Example [alltags.html] the court name is: [% fetch(name="ctName") %] 4. Afterȱtestingȱyourȱchanges,ȱmakeȱaȱbackupȱcopyȱofȱForms.pmȱbyȱcopyingȱitȱtoȱaȱ secureȱdirectoryȱthatȱisȱnotȱaffectedȱbyȱtheȱinstallationȱprocessȱȬȬȱthatȱis,ȱdoȱnotȱuseȱ aȱdirectoryȱbelowȱ/opt/DCECF. 08 Jul 2009 Release 4.0.1 8-20 District CM/ECF System Administrator’s Guide Changing the Default Date Format Whenȱaȱpropertyȱretrievesȱaȱdate,ȱtheȱdateȱisȱdisplayedȱinȱmm/dd/yyȱformatȱbyȱ default.ȱȱTheȱdateFormatȱpropertyȱcanȱbeȱusedȱinȱtheȱformȱtemplateȱtoȱspecifyȱaȱ differentȱdateȱformat.ȱȱThisȱpropertyȱsetsȱaȱnewȱdefaultȱformatȱforȱtheȱremainingȱdatesȱ inȱtheȱform.ȱȱTheȱcourtȱcanȱuseȱtheȱdateFormatȱpropertyȱwithȱmoreȱthanȱoneȱdateȱorȱ withȱallȱdates. TheȱdateFormatȱpropertyȱisȱenteredȱasȱfollows: [% fetch(name="dateFormat" value="Fn") %] whereȱFnȱisȱoneȱofȱtheȱvaluesȱshownȱbelow. Value Example Date Format th F1 The 8 of June 2006 F2 June 8, 2006 F3 Jun. 8, 2006 F4 Thursday, June 8, 2006 F5 Thursday, 6/8/06 F6 6/8/06 F7 the 8th of June 2006 Forȱexample,ȱtoȱchangeȱtheȱdateȱformatȱinȱtheȱschedulingȱorderȱforȱtheȱdateȱofȱtheȱ pretrialȱconferenceȱtoȱJuneȱ8,ȱ2006,ȱtheȱfollowingȱwouldȱbeȱenteredȱinȱtheȱtemplateȱ file: [% fetch(name="dateFormat" value="F2") %] [% fetch(name="hrgDate" sd_type="prtrlconf") %] 08 Jul 2009 Release 4.0.1 8-21 CHAPTER 9 9 Forms (Legacy) In This Chapter • Overview • FormsȱTemplatesȱ • TagȱLibraryȱandȱCustomȱTags • CreatingȱNewȱPropertiesȱ • ConditionalȱLogic District CM/ECF System Administrator’s Guide Overview TheȱDistrictȱCM/ECFȱformsȱsoftwareȱisȱwrittenȱinȱtheȱJavaȱprogrammingȱlanguage.ȱ Softwareȱusedȱinȱformsȱproductionȱisȱlistedȱbelow: JavaȱDevelopmentȱToolȱKitȱ(JDK)ȱversionȱ1.4.2_03ȱȬȱtheȱsetȱofȱJavaȱdevelopmentȱ tools.ȱItȱisȱusedȱtoȱcompileȱJavaȱapplicationsȱandȱapplets.ȱTheȱsoftwareȱisȱlocatedȱinȱ /usr/java/java.ȱȱ JavaȱServerȱPagesȱ(JSP)ȱȬȱCM/ECFȱdistrictȱformȱtemplatesȱareȱJavaȱServerȱPagesȱ whichȱendȱinȱtheȱsuffixȱ.jsp.ȱȱTheȱtemplatesȱareȱaȱcombinationȱofȱjavaȱprogrammingȱ languageȱcodeȱwithȱHTML.ȱȱTheȱtemplatesȱandȱassociatedȱfilesȱareȱlocatedȱinȱ /opt/DCECF/[liveȱ|ȱtestȱ|ȱtrain]/web/cmecf/webapps/cmecf. JavaȱsourceȱcodeȱandȱcompiledȱclassȱfilesȱȬȱTheȱsourceȱcodeȱ(.javaȱfiles)ȱareȱlocatedȱinȱ /opt/DCECF/[liveȱ|ȱtestȱ|ȱtrain]/web/cmecf/webapps/cmecf/src/jspȱandȱtheȱcompiledȱ versionsȱ(.classȱfiles)ȱareȱlocatedȱinȱ/opt/DCECF/[liveȱ|ȱtestȱ|ȱtrain]/ȱweb/ȱcmecf/ȱ webapps/cmecf/WEBȬINF/classes/jsp. Tomcatȱversionȱ5.0.19ȱȬȱWebȱserverȱwhichȱworksȱinȱconjunctionȱwithȱApacheȱtoȱ processȱ.jspȱfiles.ȱTheȱsoftwareȱisȱlocatedȱinȱ/opt/tomcat. HTMLDOCȱȱversionȱ1.8.23ȱȬȱconvertsȱHTMLȱdocumentsȱtoȱPortableȱDocumentȱ Formatȱ(PDF).ȱTheȱsoftwareȱisȱlocatedȱinȱ/opt/htmldoc.ȱ Forms Templates DistrictȱCM/ECFȱprovidesȱsampleȱtemplatesȱforȱcriminalȱandȱcivilȱschedulingȱorders.ȱ IfȱtheȱapplicationȱadministratorȱknowsȱHTML,ȱanyȱtextȱeditorȱcanȱbeȱusedȱtoȱmodifyȱ theseȱtoȱsuitȱlocalȱneeds,ȱorȱtheyȱcanȱbeȱcopiedȱtoȱcreateȱnewȱtemplates.ȱȱTheȱtableȱ belowȱshowsȱtheȱlistȱofȱtemplatesȱincluded: Form Template filename cvschedo Scheduling Order cvschedo.jsp crschedo Scheduling Order crschedo.jsp hrgntc Notice of Hearing hrgntc.jsp alltags 08 Jul 2009 Display name Test All Tags alltags.jsp Release 4.0.1 9-2 District CM/ECF System Administrator’s Guide AȱformȱtemplateȱconsistsȱofȱHTMLȱstatementsȱthatȱformatȱtheȱformȱandȱprovideȱ standardȱtextȱcomponents.ȱWithinȱtheseȱstatementsȱareȱtags,ȱwhichȱareȱspecificationsȱ forȱdataȱelements,ȱcalledȱproperties,ȱtoȱbeȱincludedȱinȱtheȱform.ȱȱ NOTE Form templates are stored in the directory /opt/DCECF/[live | test | train]/web/cmecf/webapps/cmecf. Thereȱareȱtwoȱtypesȱofȱfilesȱinȱthisȱdirectory:ȱȱ.jspȱandȱ.jspf.ȱȱTheȱ.jspȱextensionȱrefersȱ toȱJavaȱServerȱPages.ȱTheȱ.jspfȱextensionȱrefersȱtoȱJSPȱfragmentsȱwhichȱareȱfilesȱ typicallyȱincludedȱwithinȱotherȱJSPȱtemplates.ȱ Template structure Eachȱtemplateȱfileȱstartsȱwithȱtheȱfollowingȱstatement: <%@ include file=”begin.jsp” %> andȱendsȱwithȱtheȱfollowingȱstatement: <%@ include file=”end.jsp” %> Theseȱstatementsȱprovideȱaȱcommonȱlocationȱforȱinitializationȱandȱcleanupȱroutines.ȱ Theyȱsetȱupȱtheȱcustomȱtagȱlibrary,ȱsetȱtheȱpageȱcontext,ȱandȱprovideȱJavaȬrelatedȱ errorsȱwithinȱHTMLȱcommentsȱsoȱtheyȱcanȱbeȱinterpretedȱbyȱtheȱcallingȱscript. Tag Library and Custom Tags Theȱtagȱlibraryȱdescriptorȱecf.tldȱcontainsȱallȱtheȱcustomȱtagsȱneededȱforȱdistrictȱ formsȱgeneration.ȱTheȱfileȱisȱlocatedȱin: /opt/DCECF/[live | test | train]/web/cmecf/webapps/cmecf/WEB-INF/tlds ThisȱfileȱprovidesȱaȱmappingȱofȱJSPȱsyntaxȱtoȱtriggerȱtheȱappropriateȱsoftware.ȱȱItȱ directsȱallȱcustomȱtagsȱtoȱaȱclassȱcalledȱ“EcfTag”.ȱȱThisȱclass,ȱinȱturn,ȱreferencesȱaȱ Formsȱobject,ȱwhichȱhandlesȱtheȱactualȱsoftwareȱretrievalȱforȱeachȱdefinedȱpropertyȱ name. AnȱexampleȱofȱaȱcustomȱtagȱcanȱbeȱfoundȱinȱtheȱfileȱEcfTag.java.ȱTheȱexample,ȱshownȱ below,ȱprintsȱ“etȱal.”ȱforȱcasesȱwithȱmultipleȱplaintiffs: <ecf:fetch name=”plaEtAl” /> else if (name.equal(“plaEtAl”)) {propertyText = f.getPlaEtAl (); } public String getPlaEtAl () { if(cs == null) return INIT_ERROR; return setData(“plaEtAl”, cs.getPlaEtaL ()); } 08 Jul 2009 Release 4.0.1 9-3 District CM/ECF System Administrator’s Guide Creating New Properties Youȱcanȱdefineȱpropertiesȱforȱanyȱdataȱinȱtheȱdatabase.ȱToȱaddȱaȱnewȱpropertyȱforȱuseȱ inȱformsȱgeneration,ȱwriteȱaȱnewȱ“public”ȱfunctionȱinȱtheȱfileȱForms.javaȱthatȱreturnsȱ aȱString.ȱȱTheȱfileȱisȱlocatedȱin: /opt/DCECF/[live | test | train]/web/cmecf/webapps/cmecf/WEB-INF/classes/jsp Theȱnameȱofȱtheȱfunctionȱshouldȱbeȱtheȱsameȱasȱtheȱpropertyȱname,ȱproceededȱbyȱtheȱ prefixȱ“get”ȱandȱtheȱfirstȱletterȱofȱtheȱpropertyȱnameȱcapitalized: public String getPartyLast () Belowȱisȱaȱsampleȱpropertyȱfunctionȱwhichȱreturnsȱtheȱlastȱname: public String getPartyLast() { String sql = “ SELECT py_last_name “ + “ FROM party “ + “ WHERE py_caseid = “ + caseId + “ AND py_aliaseq = 0 “; String value = runSQL (sql) ; return setData (“partyLast”, value); } runSQL AȱpropertyȱfunctionȱcanȱincludeȱaȱcallȱtoȱrunSQL,ȱwhichȱexecutesȱtheȱSQLȱstatementȱ passedȱtoȱitȱandȱreturnsȱtheȱresultȱasȱaȱstring: String value = runSQL(sql); Ifȱaȱqueryȱreturnsȱmultipleȱfields,ȱtheyȱareȱseparatedȱbyȱaȱsingleȱspace.ȱToȱspecifyȱaȱ differentȱfieldȱseparator,ȱincludeȱaȱsecondȱargumentȱtoȱrunSQL:ȱ (sql, “:”) IfȱaȱSQLȱqueryȱreturnsȱmultipleȱrecords,ȱtheyȱareȱseparatedȱbyȱHTMLȱlineȱbreaksȱ (Ȉ<BR/>Ȉ).ȱȱToȱlimitȱtheȱnumberȱofȱrowsȱreturned,ȱspecifyȱtheȱmaximumȱnumberȱasȱtheȱ thirdȱparameterȱtoȱrunSQL: runSQL(sql, “:”, 5) NOTE Null fields are not included in the string returned by runSQL; if all selected fields are null, the empty string is returned. Theȱfollowingȱvariablesȱareȱavailableȱatȱtheȱtimeȱthatȱtheȱpropertyȇsȱfunctionȱisȱcalled: 08 Jul 2009 Release 4.0.1 9-4 District CM/ECF System Administrator’s Guide — caseIdȱȬȱtheȱIDȱofȱtheȱcurrentȱcaseȱ(cs_caseidȱfromȱtheȱcaseȱtable). — deSeqnoȱȬȱtheȱvalueȱofȱde_seqnoȱforȱtheȱcurrentȱ(latest)ȱdocketȱentryȱrecord. — pridȱȬȱtheȱpersonȱIDȱforȱtheȱcurrentȱuser. — judgePridȱȬȱtheȱpersonȱIDȱforȱtheȱjudgeȱthatȱwasȱselectedȱduringȱtheȱcurrentȱ docketȱentry. Theȱnewȱpropertyȱcanȱthenȱbeȱreferencedȱinȱaȱtemplateȱas: <jsp:getProperty name=”forms” property=”partyLast”/> Afterȱaddingȱaȱcustomȱproperty,ȱrecompileȱForms.javaȱandȱrestartȱTomcat: 1. Changeȱtoȱtheȱclassesȱdirectoryȱforȱtheȱapplication: cd /opt/DCECF/[live | test | train]/web/cmecf/webapps/cmecf/WEBINF/classes/ 2. RecompileȱForms.java: javac jsp/Forms.java 3. StopȱandȱrestartȱTomcat: service ECF-tomcat stop service ECF-tomcat start Conditional Logic Thereȱmayȱbeȱaȱneedȱtoȱincludeȱconditionalȱlogicȱinȱaȱtemplate,ȱforȱexampleȱtoȱtestȱ whetherȱaȱjuryȱtrialȱhasȱbeenȱset,ȱasȱshownȱinȱtheȱexampleȱbelow: <% if (!forms.getHrgDate(“jytrl”).equals("")) { %> TRIAL DATE AND SETTING: &nbsp; The jury trial in this matter shall commence on <jsp:setProperty name="forms" property="dateFormat" value=”F2” /> <ecf:fetch name=”hrgDate” sd_type=”jytrl” /> at&nbsp; <ecf:fetch name=”hrgTime” sd_type=”jytrl” /> at the United States District Court, <ecf:fetch name=”offCityState” />, in&nbsp; <ecf:fetch name=”hrgLoc” sd_type=”jytrl” />. <br><br> <% } %> Ifȱthereȱisȱnoȱjuryȱtrialȱsetȱforȱtheȱcurrentȱdocketȱevent,ȱnothingȱwillȱbeȱprinted. 08 Jul 2009 Release 4.0.1 9-5 CHAPTER 10 10 Utilities In This Chapter • check_extents • cleanȱ • deltmp.pl • dmȱ • hogs • LargeDocumentsȱ • lost • oncheckȬcIȱ • setlockmodeȱ • showlocksȱ • UpdateStats • wait_for_informix • whoson.pl • wrapperȱ District CM/ECF System Administrator’s Guide CM/ECF Utilities AȱnumberȱofȱCM/ECFȱutilitiesȱareȱsetȱtoȱrunȱfromȱcronȱwhenȱtheȱapplicationȱisȱ installed,ȱasȱlistedȱearlierȱinȱthisȱdocument. Theȱfollowingȱtableȱlistsȱotherȱutilitiesȱthatȱareȱeitherȱusedȱbyȱthoseȱcronȱjobs,ȱorȱmayȱ beȱusefulȱtoȱyouȱonȱoccasion: Utility Function check_extents Lists extent information for the tables in an Informix database. clean Removes .PDF files from /tmp if they have not been accessed in approximately 22 minutes; if /tmp is more than 20% full, removes other files that haven’t been accessed in approximately 1 hour. deltmp Deletes files from specified /tmp subdirectories. dm Produces various disk usage reports. hogs Helps identify SQL statements that are inefficient (exceed a specified number of database reads during a given interval). LargeDocuments Identifies PDF documents (in the database or file system) which exceed a specified size. lost Identifies Perl programs that have been running longer than the specified time. It can be used to find and kill “lost” processes. oncheck-cI Checks all of the indexes in an Informix instance for corruption and attempts to repair if corruption is found. setlockmode Sets the lock mode of all tables in a given database to row-level locking. showlocks Produces a list of all locks currently active on the specified database. UpdateStats Updates Informix statistical information for all tables and indexes within an Informix instance. wrapper Executes the program specified as the third parameter after setting the environment variables INFORMIXDIR, INFORMIXSERVER, and PATH. Used to run the utilities in cron. Moreȱdetailsȱaboutȱsomeȱofȱtheseȱutilitiesȱareȱgivenȱinȱtheȱfollowingȱpages. 08 Jul 2009 Release 4.0.1 10-2 District CM/ECF System Administrator’s Guide check_extents ListsȱextentȱinformationȱforȱtheȱtablesȱinȱanȱInformixȱdatabase.ȱ Usage: check_extents -m MaxNumSafeExtents -d databasename -e emailAddresses -I InformixServer NOTE All parameters are optional. Parameters Description -d databasename Specifies a single database to be checked. Otherwise, all databases defined within the current Informix instance are checked. -e email address(es) All output (if any) to be mailed to the email address(es) specified. -l Specifies which INFORMIXSERVER to use; if not specified, the default INFORMIXSERVER will be used. -m MaxNumSafeExtents Specifies that check_extents should only print out information for those tables that have more than MaxNumSafeExtents; if no table exceeds the limit, no output will be produced. Without this option, check_extents lists the extents for each table. -t Total extent information to be presented for each database (total space allocated and used in kbytes). check_extents -m 10 courtID_live Warning large number of extents found for courtID_live:document Table Name: document First Extent Size: 26564.0 Next Extent Size: 5312.0 Total Space Allocated: 416996.0 Total Space Used: 413280.0 Number of Extents: 27.0 Number of rows: 25358.0 clean Removesȱ.PDFȱfilesȱfromȱ/tmpȱifȱtheyȱhaveȱnotȱbeenȱaccessedȱinȱapproximatelyȱ22ȱ minutes;ȱifȱ/tmpȱisȱmoreȱthanȱ20%ȱfull,ȱremovesȱotherȱfilesȱthatȱhaven’tȱbeenȱaccessedȱ inȱapproximatelyȱ1ȱhour.ȱȱSendsȱanȱemailȱmessageȱonlyȱifȱanyȱfilesȱareȱremoved.ȱRunsȱ fromȱcronȱeveryȱ30ȱminutes.ȱȱAȱsecondȱnightlyȱcronȱjobȱrunsȱ“clean”ȱwithȱtheȱ“0”ȱ argumentȱtoȱremoveȱallȱoldȱfilesȱfromȱ/tmp.ȱȱ 08 Jul 2009 Release 4.0.1 10-3 District CM/ECF System Administrator’s Guide deltmp.pl Deletesȱfilesȱfromȱ/tmpȱsudirectoriesȱthatȱhaveȱnotȱbeenȱaccessedȱforȱ14ȱdaysȱ(theȱ cleanȱutility,ȱdescribedȱabove,ȱdeletesȱfilesȱinȱ/tmpȱitself).ȱTheȱsudirectoriesȱtoȱbeȱ processedȱareȱlistedȱinȱtheȱfileȱ/var/log/ecf/tmpsublist Changeȱthisȱlistȱasȱ needed.Youȱcanȱoverrideȱtheȱdefaultȱofȱ14ȱdaysȱbyȱspecifyingȱtheȱnumberȱofȱdaysȱasȱaȱ parameter: deltmp.pl days Theȱnumberȱofȱdaysȱwillȱapplyȱtoȱallȱlistedȱdirectories.ȱIfȱtheȱfilesȱinȱsomeȱdirectoriesȱ shouldȱbeȱkeptȱlongerȱorȱremovedȱsooner,ȱyouȱcanȱoverrideȱtheȱdaysȱparameterȱ individually,ȱasȱshownȱforȱformsGenȱinȱthisȱsampleȱtmpsublist: /tmp/formsGen,5 Accessȱtimeȱisȱusedȱtoȱdetermineȱtheȱageȱofȱtheȱfilesȱ(reflectsȱread/writeȱaccessȱasȱwellȱ asȱcopy/move).ȱȱIfȱyouȱinsteadȱwantȱtoȱuseȱtheȱlastȱtimeȱmodified,ȱchangeȱtheȱ“Ȭatime”ȱ valueȱinȱtheȱscriptȱtoȱȈȬmtimeȈ. dm Programȱthatȱproducesȱvariousȱdiskȱusageȱreports.ȱSomeȱusefulȱoptions:ȱȱȱȱȱȱ -d Detail report. -m Disk layout mappings. -s Print summary data only. dm –s Disk Utilization Report Wednesday 07-Jun-2000 @ 14:26:17 SERVER = casd INFORMIXSERVER = courtID_shm INFORMIXDIR = /opt/informix/current ID Space Name Size Free Free Device 1 rootdbs 1000000 928651 ( 7.13%) Free Device 2 livedb 5000000 3597357 (28.05%) Free Device 3 tempdb 100000 99097 ( 0.90%) Theȱrighthandȱcolumnȱshowsȱtheȱpercentȱofȱspaceȱused.ȱIfȱtheȱspaceȱusedȱisȱ90%ȱorȱ more,ȱyouȱmustȱaddȱspace.ȱSeeȱ“Monitoringȱspace”ȱinȱthisȱdocumentȱforȱmoreȱ information. 08 Jul 2009 Release 4.0.1 10-4 District CM/ECF System Administrator’s Guide dm -d Disk Utilization Report Wednesday 07-Jun-2000 @ 14:30:51 SERVER = casd INFORMIXSERVER = courtID_shm INFORMIXDIR = /opt/informix/current ID Space Name Chunk Offset Size Free Device 1 rootdbs 1 0 1000000 928651 /data/chunks1/courtID/courtID_root Total: 1000000 928651 ID Space Name Chunk Offset Size Free Device 2 livedb 2 0 1000000 392961 /data/chunks1/courtID/courtID_db1 3 0 1000000 204405 /data/chunks1/courtID/courtID_db2 4 0 1000000 999997 /data/chunks1/courtID/courtID_db3 5 0 1000000 999997 /data/chunks1/courtID/courtID_db4 6 0 1000000 999997 /data/chunks1/courtID/courtID_db5 Total: 5000000 3597357 ID Space Name Chunk Offset Size Free Device 3 tempdb 7 0 100000 99097 /data/chunks1/courtID/temp Total: 100000 99097 hogs ListsȱanyȱprocessȱrunningȱanȱSQLȱstatementȱthatȱexceedsȱaȱspecifiedȱnumberȱofȱ databaseȱreadsȱduringȱaȱgivenȱinterval.ȱȱThisȱmayȱhelpȱidentifyȱSQLȱstatementsȱthatȱ areȱinefficient.ȱȱOptionsȱareȱlistedȱinȱtheȱfollowingȱtable. Parameter Description -f Specifies that completed queries should be included (data on certain type of queries remains available in Informix); otherwise, only active queries are checked. -h Displays help. -m Specifies the number of reads which must be exceeded for a process to be reported. If not specified, a value of 1000 is used. -n count Specifies the number of times to repeat the check. -t seconds Specifies the interval between checks. If not specified, a value of 60 is used. Theȱexampleȱshownȱbelowȱusesȱparametersȱsetȱunrealisticallyȱlowȱforȱpurposesȱofȱ illustrationȱ(aȱmoreȱrealisticȱrunȱwouldȱbeȱhogsȱȬtȱ20ȱȬmȱ5000ȱȬnȱ10ȱ–f ). hogs -t 1 -m 50 -n 2 –f hogs started at Tue Nov 27 13:37:15 CST 2001 Looking for Processes that accumulate more than 50 reads in a 1 second period. Will repeat 2 times. SessionId: 31182,Pid: 6764, User: nobody, Time: 0.4, Db reads: 1475 DbName: courtID_live, Command: /gov/ecf/bin/perl /opt/DCECF/live/web/cgibin/DktActivityRpt.pl 35 Query: select unique cs_caseid, cs_case_number, cs_sort_case_numb, cs_term_digit, cs_type, cs_office, de_doc_id, de_document_num, de_date_filed, date(de_date_enter), de_date_enter, de_who_entered, 08 Jul 2009 Release 4.0.1 10-5 District CM/ECF System Administrator’s Guide p1.pr_first_name, p1.pr_last_name, de_seqno, p2.pr_first_name, p2.pr_last_name, dp_type, dt_text, py_last_name, cs_short_title, cs_date_term from dktentry, case, document_type, dkttext, outer person p1, outer person p2, dktpart, outer party where de_caseid = cs_caseid and de_date_enter >= "2001-11-19 00:00:00" and de_date_enter <= "2001-11-19 23:59:59" and dp_caseid = cs_caseid and de_who_entered = p1.pr_prid and cs_judprid_ptr = p2.pr_prid and de_seqno = dp_deseqno_ptr and dp_sub_type != "rel" and cs_judprid_ptr in (1015) and py_caseid = cs_caseid and py_end_date is null and py_role = "tr" and py_alias_type is null and cs_office in ("3") and dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr and dt_seqno in (select min(dt_seqno) from dkttext where dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr) and do_type = dp_type and do_sub_type = dp_sub_type order by cs_sort_case_numb, de_document_num hogs pass completed at Tue Nov 27 13:37:18 CST 2001 SessionId: 31182,Pid: 6764, User: nobody, Time: 0.3, Db reads: 1702 DbName: courtID_live, Command: /gov/ecf/bin/perl /opt/DCECF/live/web/cgibin/DktActivityRpt.pl 35 Query: select unique cs_caseid, cs_case_number, cs_sort_case_numb, cs_term_digit, cs_type, cs_office, de_doc_id, de_document_num, de_date_filed, date(de_date_enter), de_date_enter, de_who_entered, p1.pr_first_name, p1.pr_last_name, de_seqno, p2.pr_first_name, p2.pr_last_name, dp_type, dt_text, py_last_name, cs_short_title, cs_date_term from dktentry, case, document_type, dkttext, outer person p1, outer person p2, dktpart, outer party where de_caseid = cs_caseid and de_date_enter >= "2001-11-19 00:00:00" and de_date_enter <= "2001-11-19 23:59:59" and dp_caseid = cs_caseid and de_who_entered = p1.pr_prid and cs_judprid_ptr = p2.pr_prid and de_seqno = dp_deseqno_ptr and dp_sub_type != "rel" and cs_judprid_ptr in (1015) and py_caseid = cs_caseid and py_end_date is null and py_role = "tr" and py_alias_type is null and cs_office in ("3") and dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr and dt_seqno in (select min(dt_seqno) from dkttext where dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr) and do_type = dp_type and do_sub_type = dp_sub_type order by cs_sort_case_numb, de_document_num hogs pass completed at Tue Nov 27 13:37:20 CST 2001 TheȱsampleȱoutputȱshowsȱthatȱtheȱprogramȱDktActivityRpt.plȱisȱrunningȱaȱqueryȱthatȱ isȱtakingȱaȱlongȱtimeȱtoȱcomplete.ȱȱToȱdiagnoseȱtheȱproblemȱwithȱaȱquery,ȱfirstȱlookȱatȱ theȱselectionȱcriteria:ȱ where de_caseid = cs_caseid and de_date_enter >= "2001-11-19 00:00:00" and de_date_enter <= "2001-11-19 23:59:59" and dp_caseid = cs_caseid and de_who_entered = p1.pr_prid and cs_judprid_ptr = p2.pr_prid and de_seqno = dp_deseqno_ptr and dp_sub_type != "rel" and cs_judprid_ptr in (1015) and py_caseid = cs_caseid and py_end_date is null and py_role = "tr" and py_alias_type is null and cs_office in ("3") and dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr and dt_seqno in (select min(dt_seqno) from dkttext where dt_caseid = cs_caseid and de_seqno = dt_deseqnoptr) and do_type = dp_type and do_sub_type = dp_sub_type Ifȱtheȱselectionȱcriteriaȱareȱnotȱreasonableȱ(e.g.,ȱallȱcasesȱinȱtheȱdatabaseȱareȱbeingȱ selected),ȱthenȱsomeȱuserȱeducationȱmayȱbeȱneeded.ȱInȱthisȱcase,ȱtheȱselectionȱcriteriaȱ lookȱreasonable:ȱtheȱuserȱhasȱspecifiedȱaȱoneȬdayȱdateȱrange,ȱaȱparticularȱjudge,ȱandȱ anȱoffice.ȱYouȱcanȱnextȱtryȱrunningȱtheȱsameȱqueryȱinȱdbaccess,ȱwithȱqueryȱprofilingȱ enabledȱ(setȱ“explain”ȱon),ȱtoȱseeȱhowȱInformixȱprocessesȱitȱ–ȱtryȱthisȱONLYȱifȱtheȱ 08 Jul 2009 Release 4.0.1 10-6 District CM/ECF System Administrator’s Guide SQLȱdoesn’tȱupdateȱtheȱdatabase.ȱ.ȱȱPleaseȱconsultȱInformixȱdocumentationȱforȱtheȱ locationȱandȱtheȱcontentȱofȱtheȱoutputȱfile.ȱLookȱforȱtheȱuseȱofȱanȱindex.ȱInformixȱmayȱ notȱbeȱusingȱoneȱthatȱexists,ȱifȱUpdateStatisticsȱhasȱnotȱrunȱsuccessfully;ȱanȱindexȱmayȱ beȱmissingȱfromȱtheȱdatabase;ȱorȱaȱnewȱindexȱmayȱbeȱneededȱtoȱspeedȱupȱtheȱquery.ȱȱ Inȱsomeȱcases,ȱtheȱqueryȱusedȱbyȱtheȱapplicationȱmayȱneedȱtoȱbeȱmodifiedȱ(aȱ ModificationȱRequestȱwouldȱbeȱnecessary). Thisȱprogramȱcanȱmissȱprocessesȱthatȱhaveȱfinishedȱrunningȱbeforeȱtheȱsecondȱcheckȱ isȱmade,ȱevenȱifȱtheyȱhaveȱperformedȱmoreȱthanȱtheȱnumberȱofȱreadsȱspecifiedȱbyȱ“Ȭ m”.ȱȱTheȱnumberȱofȱprocessesȱmissedȱisȱreducedȱifȱtheȱ–fȱoptionȱisȱspecified. ThisȱprogramȱcanȱmistakenlyȱreportȱaȱprocessȱasȱrunningȱaȱresourceȬintensiveȱSQLȱ whenȱitȱisȱactuallyȱrunningȱtheȱsameȱSQLȱstatementȱmoreȱthanȱonce.ȱȱȱThisȱisȱcommonȱ forȱsiteȱtableȱaccess,ȱwhichȱisȱfrequentȱandȱbrief.ȱ LargeDocuments IdentifiesȱPDFȱdocumentsȱ(inȱtheȱdatabaseȱorȱfileȱsystem)ȱwhichȱexceedȱaȱspecifiedȱ size.ȱȱOptionsȱareȱlistedȱinȱtheȱfollowingȱtable. Parameter Description -c supportdir Specifies the full path of the CM/ECF support directory (e.g., /opt/DCECF/live/server/support). -d database Specifies the name of the database to check. -f filename Specifies the full path of a file in which reported documents will be listed. -h Displays help. -i informixsvr Specifies the Informix instance (INFORMIXSERVER). -k Does not report on documents previously identified as large (listed in the file specified by the –f option, or in dbname-large-docs.list, if –f is not used). Newly reported documents will be added to this file. -m Instead of being displayed, output will be emailed to the specified Linux account. -p pagesize Specifies the page size (in bytes) to which each document should be compared. The document will be reported if its average page size exceeds this number. -s docsize Specifies the document size in bytes to which each document should be compared. The document will be reported if its total size exceeds this number. NoteȱthatȱtheȱCM/ECFȱapplicationȱhasȱtheȱcapabilityȱofȱcheckingȱtheȱsizeȱofȱaȱPDFȱ documentȱbeingȱuploadedȱagainstȱaȱcourtȬdefinedȱlimit;ȱtheȱfilingȱcanȱbeȱrejectedȱifȱitȱ exceedsȱthatȱsize.ȱȱSeeȱtheȱCodesȱTableȱentryȱ“PDFdoc”ȱinȱtheȱCM/ECFȱApplicationȱ Administrator’sȱGuide. 08 Jul 2009 Release 4.0.1 10-7 District CM/ECF System Administrator’s Guide lost IdentifiesȱPerlȱprogramsȱthatȱhaveȱbeenȱrunningȱlongerȱthanȱtheȱspecifiedȱtime.ȱItȱcanȱ beȱusedȱtoȱfindȱandȱkillȱ“lost”ȱprocesses.ȱOptionsȱareȱlistedȱbelow. Parameter Description -a Look at all processes (including OutServ). This option bypasses the filter that includes only perl programs. -h Displays help. -t seconds Specifies the running time in seconds which must be exceeded for a process to be reported. -m address Output will be emailed to the specified email address, instead of being displayed. -q Only produce output for those processes that have informix connections and sql statements associated with the process. Ifȱtheȱuserȱisȱroot,ȱtheȱoptionsȱbelowȱapplyȱtoȱallȱprocessesȱwhichȱexceedȱtheȱrunȱtimeȱ givenȱbyȱtheȱ–tȱparameter;ȱotherwise,ȱtheyȱapplyȱonlyȱtoȱprocessesȱownedȱbyȱtheȱuser. Parameter Description -f filename Specifies the full path of a file listing programs that may be automatically killed if they are reported; the –k option must also be specified. -k Kill any reported process in the -f list. -s Print a stack trace of each reported program. Theȱcommandȱbelowȱwouldȱlookȱforȱanyȱprocessesȱthatȱhaveȱexistedȱforȱmoreȱthatȱ 120ȱseconds,ȱandȱdisplayȱaȱstackȱdumpȱforȱanyȱprocessesȱfound. lost -t 120 08 Jul 2009 -s Release 4.0.1 10-8 District CM/ECF System Administrator’s Guide Theȱoutputȱwouldȱbeȱsimilarȱtoȱthis: Looking for lost perl processes that have existed for more than 120 seconds Pid = 870, User = root, Run Time = 35961 seconds Processor Time = 0:02 Command = /gov/ecf/bin/perl /home/sirotta/src/isup/isup 870: /gov/ecf/bin/perl /home/sirotta/src/isup/isup dfae4918 read (6, 80d7c08, 1400) dfb0be66 _filbuf (80c0118) + 86 080847ab Perl_sv_gets (8167530, 80c0118, 0) + 2df 08098988 Perl_pp_backtick () + ec 0807beae Perl_runops () + 1e 08058efa perl_run (80c0c14) + 252 080572d7 main (2, 8047de0, 8047dec) + 73 080571eb ???????? () Ifȱyouȱfindȱaȱprocessȱwithȱaȱhighȱrunȱtime,ȱlookȱatȱtheȱselectionȱcriteriaȱusedȱtoȱrunȱtheȱ particularȱperlȱcommand.ȱPerhapsȱaȱreportȱisȱbeingȱrunȱwithȱaȱdateȱrangeȱfromȱ “beginningȱofȱtime”ȱtoȱtoday,ȱwhichȱwouldȱlikelyȱextractȱallȱcasesȱfromȱtheȱdatabase.ȱȱ Settingȱaȱnarrowerȱdefaultȱrange,ȱorȱinstructingȱusers,ȱmayȱsolveȱtheȱproblem.ȱȱInȱaȱ situationȱlikeȱthisȱitȱmayȱbeȱnecessaryȱtoȱuseȱtheȱ“Ȭk”ȱ(kill)ȱoptionȱofȱtheȱ“lost”ȱ program.ȱȱȱUseȱthisȱoptionȱonlyȱasȱaȱlastȱresort,ȱandȱwithȱextremeȱcare. IfȱaȱperlȱscriptȱinȱtheȱCM/ECFȱapplicationȱisȱfrequentlyȱappearingȱinȱtheȱlogs,ȱcontactȱ theȱSystemsȱDeploymentȱandȱSupportȱDivisionȱȬȱSupportȱBranchȱ(SDSDȬSB)ȱsoȱthatȱ theirȱstaffȱcanȱdoȱfurtherȱresearch.ȱȱTheȱscriptȱmayȱneedȱtoȱbeȱchangedȱtoȱimproveȱitsȱ performanceȱ(theȱstandardȱ“modificationȱrequest”ȱprocedureȱwouldȱbeȱusedȱtoȱ initiateȱsuchȱaȱchange). oncheck-cI ChecksȱallȱofȱtheȱindexesȱinȱanȱInformixȱinstanceȱforȱcorruption;ȱattemptsȱtoȱrepairȱifȱ corruptionȱfound.ȱȱCallsȱInformixȱutilityȱoncheck. Usage: oncheck-cI [-h ] [-i <InformixServer>] Theȱprogramȱwillȱdisplayȱthisȱerrorȱmessage,ȱwhichȱshouldȱbeȱignored: ERROR: Views used where table expected. 08 Jul 2009 Release 4.0.1 10-9 District CM/ECF System Administrator’s Guide setlockmode Thisȱutilityȱisȱonlyȱneededȱifȱaȱdatabaseȱisȱexportedȱwithoutȱtheȱcorrectȱoptionsȱforȱ lockȱmode.ȱȱItȱsetsȱtheȱlockȱmodeȱofȱallȱtablesȱinȱaȱgivenȱdatabaseȱtoȱrowȬlevelȱlocking. Usage: setlockmode [-h ] [-i <InformixServer>] -d <databasename> showlocks Thisȱutilityȱmayȱbeȱusefulȱifȱtheȱsystemȱ“hangs”.ȱȱItȱproducesȱaȱlistȱofȱallȱlocksȱ currentlyȱactiveȱonȱtheȱspecifiedȱdatabase.ȱȱTheȱlistȱincludesȱInformixȱsessionȱid,ȱtable,ȱ lockȱtypeȱ(exclusiveȱorȱshared)ȱandȱtheȱInformixȱuserȱwhoȱcreatedȱtheȱlock. Usage: showlocks -d <databasename> UpdateStats UpdatesȱInformixȱstatisticalȱinformationȱforȱallȱtablesȱ(andȱindexes)ȱwithinȱanȱ Informixȱinstance.ȱUpdatedȱstatisticsȱresultȱinȱbetterȱperformanceȱbyȱtheȱSQLȱ optimizer. Forȱeachȱdatabase:ȱȱȱupdatesȱstatisticsȱmedium Forȱeachȱprimaryȱcolumnȱinȱanȱindex: ȱȱȱȱȱȱȱupdatesȱstatisticsȱhighȱforȱtableȱTABNAMEȱ(PRIMARYCOLNAME) Usage: UpdateStats [-h ] [-I <InformixServer>] TheȱtableȱbelowȱlistsȱtheȱtypesȱofȱmessagesȱareȱproducedȱbyȱUpdateStats:. Type Description error These would no normally be displayed if UpdateStats is run from cron, when root is the user. informational Message is in the format “No index exists for database <databasename> on table <tablename>” status Explains each task as it is being run. Unableȱtoȱopenȱtheȱsysmasterȱdatabaseȱ–ȱȱyourȱruntimeȱInformixȱenvironmentȱisȱnotȱsetȱ upȱcorrectlyȱ(checkȱINFORMIXDIRȱandȱINFORMIXSERVERȱenvironmentȱvariables).ȱ Unableȱtoȱconnectȱtoȱ<database>ȱ–ȱtheȱcurrentȱuserȱdoesȱnotȱhaveȱconnectȱpermissionsȱ toȱtheȱdatabaseȱindicatedȱinȱtheȱerrorȱmessage.ȱ[Thisȱerrorȱwouldȱnotȱoccurȱwhenȱ UpdateStatsȱisȱrunȱfromȱcron.] 08 Jul 2009 Release 4.0.1 10-10 District CM/ECF System Administrator’s Guide Unableȱtoȱupdateȱstatisticsȱforȱ<table>ȱorȱ<database>ȱ–ȱusuallyȱindicatesȱthatȱtheȱcurrentȱ userȱdoesȱnotȱhaveȱdbaȱprivilegesȱonȱtheȱindicatedȱdatabase.ȱ(Pleaseȱnoteȱtheȱuserȱ “root”ȱdoesȱnotȱbyȱdefaultȱhaveȱdbaȱprivilegesȱforȱtheȱsysmasterȱandȱsysutilsȱ databasesȱ–ȱsoȱerrorȱmessagesȱforȱtheseȱdatabase/tablesȱareȱnormalȱwhenȱUpdateStatsȱ isȱinvokedȱbyȱtheȱuserȱ“root”). wait_for_informix Runsȱonstatȱtoȱdetermineȱifȱtheȱdatabaseȱisȱupȱandȱrunning.ȱȱIfȱtheȱdatabaseȱisȱnotȱup,ȱ itȱwillȱwaitȱ5ȱsecondsȱandȱtryȱagain.ȱThisȱcheckȬwaitȱloopȱwillȱcontinueȱuntilȱtheȱ databaseȱisȱupȱandȱrunning.ȱȱ whoson.pl ProducesȱaȱlistȱofȱallȱusersȱcurrentlyȱloggedȱinȱtoȱanyȱInformixȱdatabaseȱonȱtheȱ machine.ȱȱTheȱlistȱconsistsȱofȱprid,ȱuserȱlevel,ȱuserȱname,ȱoffice,ȱloginȱexpirationȱandȱ theȱdatabaseȱtoȱwhichȱtheyȱareȱconnected. wrapper Executesȱtheȱprogramȱspecifiedȱasȱtheȱthirdȱparameterȱafterȱsettingȱtheȱenvironmentȱ variablesȱINFORMIXDIR,ȱINFORMIXSERVER,ȱandȱPATH.ȱȱItȱisȱusedȱtoȱrunȱtheȱ utilitiesȱinȱcron.ȱ 00 00 * * * /opt/util/wrapper -f /gov/ecf/etc/wrapper.config -e dbname -r /opt/DCECF/[live | test | train]/server/server/MailReport.pl dbname /opt/DCECF/[live | test | train]/server/server >>/var/log/ecf/MailNotify.dbname.log 2>&1 Requiredȱparametersȱareȱlistedȱinȱtheȱfollowingȱtable. Parameter Description -e Pertains to a database on the server, as shown below: [courtID_test] INFORMIXDIR=/opt/informix/current INFORMIXSERVER=courtID_shm DBNAME=dbname SERVER_HOME=/opt/DCECF/test/server/server ONCONFIG=onconfig.courtID_shm -f -r 08 Jul 2009 The configuration file, wrapper.config, is located in /gov/ecf/etc. Program to execute. Release 4.0.1 10-11 CHAPTER 11 11 Archiving In This Chapter • Overview • ArchivingȱaȱCase • RestoringȱaȱCase • ConfiguringȱtheȱPrimaryȱServer District CM/ECF System Administrator’s Guide Overview Archivingȱelectronicȱcaseȱfilesȱprovidesȱsecondaryȱstorageȱforȱelectronicȱcaseȱfilesȱthatȱ areȱnoȱlongerȱactive.ȱȱTheȱprimaryȱbenefitȱisȱaȱfasterȱsystemȱbackupȱandȱrestore.ȱ Additionally,ȱoffȬloadingȱdataȱfromȱtheȱCM/ECFȱliveȱdatabaseȱimprovesȱapplicationȱ performance;ȱalso,ȱdiskȱconsumptionȱonȱprimaryȱCM/ECFȱserversȱisȱreduced.ȱȱȱ Theȱtermsȱ“archive”ȱandȱ“archivedȱcase”ȱdoȱnotȱreferȱtoȱtheȱtransferȱofȱtheȱcaseȱfileȱtoȱ theȱFederalȱRecordsȱCenterȱ(FRC)ȱorȱtheȱNationalȱArchivesȱandȱRecordȱ Administrationȱ(NARA).ȱȱAtȱpresent,ȱnoȱstandardsȱexistȱforȱtheȱtransferȱofȱelectronicȱ caseȱfilesȱtoȱtheȱFRCȱorȱNARA,ȱandȱcourtsȱcontinueȱtoȱsendȱpaperȱrecordsȱfromȱcaseȱ filesȱtoȱtheȱFRC.ȱSomeȱcourtsȱmayȱwishȱtoȱscheduleȱtheȱtransferȱofȱtheȱelectronicȱ portionȱofȱCM/ECFȱcaseȱfilesȱtoȱtheȱonȬlineȱarchiveȱatȱtheȱsameȱtimeȱasȱtheȱtransferȱofȱ theȱpaperȱportionȱofȱtheȱfileȱtoȱtheȱFRC.ȱȱOtherȱcourtsȱmayȱwishȱtoȱtransferȱtheȱ electronicȱcaseȱfileȱtoȱtheȱarchiveȱwellȱbeforeȱtransferringȱtheȱpaperȱrecordsȱtoȱtheȱFRCȱ inȱorderȱtoȱrealizeȱsystemȱperformanceȱbenefitsȱasȱsoonȱasȱpossible. Whenȱaȱcaseȱisȱarchived,ȱcaseȱdataȱisȱcopiedȱfromȱtheȱcourt’sȱliveȱdatabaseȱtoȱtheȱ court’sȱarchiveȱdatabaseȱwhichȱresidesȱonȱoneȱofȱtwoȱarchiveȱservers.ȱ1ȱAllȱcaseȱdataȱisȱ thenȱremovedȱfromȱtheȱliveȱdatabase,ȱexceptȱforȱrecordsȱinȱtheȱcase,ȱparty,ȱattorney,ȱ judge,ȱjs56,ȱasccase,ȱcase_flags,ȱjdg_index,ȱfrc_*,ȱandȱrms_casefileȱtables. NOTE The frc tables (frc_box, frc_case, frc_casestatus, frc_legacy, frc_other_rec, frc_shipment, and frc_transmittal) and the rms_casefile records will not be deleted from the live server because there is a requirement to update FRC and RMS information after a case has been archived. Asȱpartȱofȱreplication,ȱdocumentsȱareȱcopiedȱtoȱtheȱfilesystemȱonȱbothȱtheȱprimaryȱ serverȱandȱaȱreplicationȱdocumentȱserverȱlocatedȱatȱoneȱofȱtheȱreplicationȱfacilities.ȱ Whenȱaȱuserȱqueriesȱaȱdocumentȱonȱanȱactiveȱcase,ȱdocumentsȱareȱaccessedȱonȱtheȱ primaryȱserver.ȱWhenȱaȱuserȱqueriesȱaȱdocumentȱonȱanȱarchivedȱcase,ȱtheȱdocumentȱisȱ accessedȱonȱtheȱreplicationȱdocumentȱserver;ȱdocumentsȱinȱtheȱarchivedȱcaseȱremainȱ onȱtheȱsameȱreplicationȱdocumentȱserverȱasȱwhenȱtheȱcaseȱwasȱactive.ȱDocumentsȱareȱ deletedȱfromȱtheȱprimaryȱserverȱwhenȱaȱcaseȱisȱarchived. Whenȱaȱcourtȱuser,ȱattorney,ȱorȱPACERȱuserȱqueriesȱaȱcaseȱonȱtheȱprimaryȱcourtȱ serverȱthatȱhasȱbeenȱarchived,ȱtheȱcase,ȱparty,ȱattorney,ȱjudge,ȱandȱjs56ȱtablesȱareȱ searchedȱandȱtheȱuserȱredirectedȱtoȱtheȱarchiveȱserverȱfromȱwhichȱtheȱdataȱandȱ documentsȱareȱretrieved. Whenȱaȱcaseȱisȱrestoredȱtoȱtheȱliveȱdatabase,ȱallȱcaseȱdataȱisȱcopiedȱbackȱintoȱtheȱliveȱ databaseȱfromȱtheȱarchiveȱdatabase.ȱȱAllȱdocumentsȱforȱthatȱcaseȱareȱthenȱcopiedȱbackȱ 1. One archive server is located at Reston, Virginia, the other at Lee Summit, Missouri. A court is assigned to the archive server at the same Replication Facility where their replication server resides. 08 Jul 2009 Release 4.0.1 11-2 District CM/ECF System Administrator’s Guide fromȱtheȱreplicationȱȱdocumentȱserverȱtoȱtheȱprimaryȱserver.ȱȱWhenȱtheȱprocessȱisȱ complete,ȱallȱcaseȱdataȱisȱdeletedȱfromȱtheȱarchiveȱdatabase;ȱandȱthereȱareȱagainȱtwoȱ copiesȱofȱtheȱdocuments.ȱ IMPORTANT Before initiating the archive process, contact the Replication Support team at (210) 301-6315. The archive server needs to be configured for your court before you begin. Archiving a Case AfterȱcasesȱhaveȱbeenȱselectedȱforȱarchivingȱasȱoutlinedȱinȱtheȱApplicationȱ Administrator’sȱGuide,ȱtheȱarchiveȱserverȱconfiguredȱforȱtheȱcourt,ȱandȱarchivingȱ scheduled,ȱtheȱarchivingȱprocessȱproceedsȱasȱoutlinedȱbelow. • • Theȱarchiveȱdatabase’sȱpasswordȱfileȱisȱreadȱforȱuserȱvalidation.ȱThisȱpasswordȱfileȱ isȱlocatedȱonȱtheȱarchiveȱserverȱinȱtheȱuser’sȱhomeȱdirectory. • Theȱpasswordȱfileȱisȱcopiedȱtoȱtheȱprimaryȱdatabase’sȱsiteȱtableȱrecordȱ offsite_data_courtIDArcPwd.ȱTheȱpasswordȱisȱaȱrandomlyȬgeneratedȱeightȬ characterȱstring.ȱ • Afterȱsavingȱtheȱpasswordȱtoȱaȱtemporaryȱfileȱonȱtheȱarchiveȱserver,ȱtheȱprocessȱ disconnectsȱfromȱtheȱarchiveȱdatabase.ȱ • Aȱsocketȱisȱthenȱopenedȱandȱaȱforkedȱprocessȱcreatedȱforȱtheȱarchiveȱupdatesȱandȱ aȱconnectionȱtoȱtheȱarchiveȱdatabaseȱreȬestablished.ȱThisȱisȱdoneȱsoȱthatȱtheȱ databaseȱconnectionȱisȱnotȱsharedȱbetweenȱtheȱmainȱprocessȱandȱtheȱarchiveȱ updates. • Caseȱdataȱisȱthenȱinsertedȱintoȱtheȱarchiveȱdatabaseȱfromȱqueriesȱofȱtheȱliveȱ database.ȱAȱtableȱrowȱisȱreadȱinȱtheȱliveȱdatabaseȱandȱthenȱcopiedȱtoȱtheȱarchiveȱ database.ȱ • Afterȱinsertionȱofȱeachȱrow,ȱdataȱisȱcomparedȱonȱbothȱtheȱprimaryȱandȱarchiveȱ serversȱsoȱthatȱtheyȱmatch.ȱ • 08 Jul 2009 Theȱarchivingȱprocessȱbeginsȱwithȱtheȱliveȱdatabaseȱonȱtheȱprimaryȱserverȱ connectingȱtoȱtheȱarchiveȱdatabaseȱonȱtheȱcourt’sȱarchiveȱserverȱasȱtheȱ offsite_data_courtIDȱuser.ȱ Concurrentlyȱwithȱthisȱprocess,ȱaȱbackupȱcopyȱofȱtheȱcaseȱisȱcreatedȱonȱtheȱ primaryȱserver.ȱAllȱcaseȱdataȱandȱanyȱdocumentsȱstillȱinȱtheȱdatabaseȱareȱcopiedȱ intoȱanȱXMLȱfile.ȱThisȱfileȱisȱsavedȱtoȱtheȱdirectoryȱdefinedȱbyȱsiteȱtableȱentryȱ ArchiveHome.ȱTheȱdefaultȱforȱArchiveHomeȱisȱ/data/docs1/ECF/live/Archive.ȱ Release 4.0.1 11-3 District CM/ECF System Administrator’s Guide • Documentsȱonȱtheȱarchiveȱserverȱareȱthenȱcheckedȱforȱaccessibility.ȱAnyȱ documentsȱthatȱareȱnotȱaccessibleȱonȱtheȱarchiveȱserverȱareȱcopiedȱfromȱtheȱ primaryȱserverȱtoȱtheȱreplicationȱdocumentȱserver.ȱ • Onceȱallȱdocumentsȱassociatedȱwithȱtheȱcaseȱhaveȱbeenȱaccountedȱfor,ȱtheyȱareȱ movedȱtoȱtheȱArchiveHomeȱdirectoryȱonȱtheȱprimaryȱserver. • ȱOnȱtheȱprimaryȱserver,ȱtheȱcase.cs_archivedȱfieldȱforȱtheȱarchivedȱcaseȱisȱchangedȱ toȱy,ȱwhichȱwillȱcauseȱreportsȱforȱthatȱcaseȱtoȱrunȱfromȱtheȱarchiveȱdatabase.ȱ • Allȱcaseȱdataȱisȱthenȱremovedȱfromȱtheȱliveȱdatabase,ȱexceptȱforȱrecordsȱinȱtheȱ case,ȱparty,ȱattorney,ȱjudge,ȱjs56,ȱsardbk,ȱsardap,ȱasccase,ȱcase_flags,ȱjdg_index,ȱ frc_*,ȱandȱrms_casefileȱtables. Restoring a Case Theȱprocessȱofȱrestoringȱaȱcaseȱbeginsȱwithȱcaseȱdataȱbeingȱinsertedȱintoȱtheȱliveȱ databaseȱfromȱqueriesȱofȱtheȱarchiveȱdatabase.ȱAȱtableȱrowȱisȱreadȱinȱtheȱarchiveȱ databaseȱandȱthenȱcopiedȱtoȱtheȱliveȱdatabase.ȱAfterȱinsertionȱofȱeachȱrow,ȱdataȱisȱ comparedȱonȱbothȱtheȱarchiveȱandȱprimaryȱserversȱsoȱthatȱtheyȱmatch.ȱ Allȱdocumentsȱrelatedȱtoȱtheȱcaseȱbeingȱrestoredȱareȱcopiedȱfromȱtheȱreplicationȱ documentȱserverȱtoȱtheȱprimaryȱserver.ȱTheȱdocumentsȱremainȱonȱtheȱreplicationȱ documentȱserver.ȱȱ Theȱcase.cs_archivedȱfieldȱforȱtheȱarchivedȱcaseȱisȱchangedȱtoȱr.ȱUponȱcompletionȱofȱ theȱrestoreȱprocess,ȱallȱdataȱrelatedȱtoȱtheȱrestoredȱcaseȱisȱdeletedȱfromȱtheȱarchiveȱ database.ȱ 08 Jul 2009 Release 4.0.1 11-4 District CM/ECF System Administrator’s Guide Configuring the Primary Server Thisȱsectionȱprovidesȱinstructionsȱforȱconfiguringȱtheȱprimaryȱserverȱforȱarchiving.ȱ Theȱdistrict_3.1_archiving.plȱprogramȱisȱrunȱonȱtheȱcourt’sȱprimaryȱserverȱasȱuserȱ root.ȱItȱcreatesȱtheȱfollowingȱconnectionȱinformationȱforȱaccessȱtoȱtheȱarchiveȱserver: • createsȱnewȱentriesȱinȱ$INFORMIXDIR/etc/sqlhostsȱȱ • modifiesȱ/etc/servicesȱtoȱuseȱportȱ7102ȱforȱconnectivity • Modifiesȱtheȱpasswordȱentryȱforȱecf_webȱbyȱgivingȱitȱshellȱacccessȱ(/bin/falseȱisȱ changedȱtoȱ/bin/bash)ȱasȱwellȱasȱaȱhomeȱdirectory. • Createsȱaȱ/home/ecf_webȱandȱaȱ/home/ecf_web/.sshȱdirectory. • Createsȱaȱprivateȱkeyȱfileȱnamedȱidentityȱwhichȱisȱstoredȱinȱtheȱ /home/ecf_web/.sshȱdirectory. • Createsȱaȱlogȱfileȱnamedȱdistrict_3.1_archiving.mdHMSȱ(e.g.,ȱȱ district_3.1_archiving.0209114717) IMPORTANT The district_3.1_archiving.pl script can be run at any time. However, before you proceed with archiving cases, contact the Replication Support team at (210) 301-6315. The archive server needs to be configured for your court in order for the archiving process to work correctly. To configure the primary server 1. LogȱinȱtoȱtheȱInsideȱserverȱasȱuserȱroot. 2. Changeȱdirectory: cd /opt/DCECF/live/installation 3. Runȱtheȱfollowingȱscript: ./district_3.1_archiving.pl ȱThereȱshouldȱbeȱnoȱerrorsȱinȱtheȱlogȱfile. 08 Jul 2009 Release 4.0.1 11-5 District CM/ECF System Administrator’s Guide CHAPTER 12 copy_ecf_data In This Chapter • • SiteȱTableȱEntries • CodesȱTableȱEntries • DataȱCompletelyȱCopied • DataȱPartiallyȱCopied • Documents • 08 Jul 2009 Overview SealedȱCases Release 4.0.1 12-1 District CM/ECF System Administrator’s Guide Overview Theȱcopy_ecf_dataȱprogramȱwillȱallowȱyouȱtoȱcopyȱcasesȱfromȱtheȱliveȱdatabaseȱtoȱtheȱ testȱ(orȱtrain)ȱdatabase.ȱItȱcanȱcopyȱcasesȱfromȱaȱliveȱdatabaseȱthatȱisȱrunningȱCM/ECFȱ Releaseȱ3.2ȱorȱhigher.ȱIfȱtheȱliveȱdatabaseȱisȱonȱanȱolderȱreleaseȱitȱwillȱhaveȱtoȱbeȱ upgradedȱtoȱ3.2ȱbeforeȱyouȱcanȱuseȱtheȱprogram.ȱȱ IMPORTANT Theȱcopy_ecf_dataȱprogram: • Dropsȱtheȱtargetȱdatabaseȱandȱrecreatesȱitȱfromȱitȱsourceȱschema.ȱȱ • Doesȱnotȱaccountȱforȱlocalȱmodifications. • Doesȱnotȱcheckȱforȱavailableȱdiskȱorȱdatabaseȱspace.ȱVerifyȱthatȱthereȱisȱ sufficientȱdatabaseȱasȱwellȱasȱdiskȱspaceȱbeforeȱrunningȱcopy_ecf_data.ȱ • Deletesȱallȱexisitingȱperson/userȱrecordsȱuniqueȱtoȱtheȱdestinationȱdatabase. Order of events for running copy_ecf_data for a Release 4.0 test database: Followȱtheȱstepsȱbelowȱforȱrunningȱtheȱcopy_ecf_dataȱprogramȱforȱaȱReleaseȱ4.0ȱtestȱ (orȱtrain)ȱdatabase.ȱ IMPORTANTȱȱCopyȱecf_dataȱmustȱbeȱrunȱbeforeȱyouȱupgradeȱtheȱdatabaseȱ schemaȱtoȱ4.0. • • Copyȱ3.2ȱdataȱfromȱliveȱtoȱtestȱ(orȱtrain)ȱusingȱcopy_ecf_dataȱlocatedȱinȱ /opt/DCECF/{testȱ|ȱtrain}/server/server/. • Runȱtheȱdatabaseȱschemaȱupgradeȱonȱtheȱtestȱ(orȱtrain)ȱdatabaseȱȬȱwhichȱnowȱhasȱ someȱliveȱdata.ȱTheȱdatabaseȱschemaȱupgradeȱsoftwareȱisȱlocatedȱinȱ /opt/DCECF/{testȱ|ȱtrain}/server/sql/dbupgrade.v4.0/. • 08 Jul 2009 InstallȱtheȱReleaseȱ4.0ȱsoftwareȱforȱtestȱ(orȱtrain)ȱdatabase. Testȱtheȱapplication. Release 4.0.1 12-2 District CM/ECF System Administrator’s Guide IMPORTANT If you upgrade your test (or train) database from 3.2.1 or 3.2.2 to 4.0 and then run copy_ecf_data after you have upgraded the database schema to 4.0, you must upgrade to 4.0 again and run prior database schemas. For example, if you upgrade from 3.2.1 to 4.0 and then run copy_ecf_data, you must run both the 3.2.1 and 3.2.2 upgrade scripts, and then run the 4.0 db upgrade script. Theȱcopy_ecf_dateȱprogramȱshouldȱbeȱrunȱlateȱinȱtheȱeveningȱorȱonȱweekendsȱwhenȱ thereȱisȱunlikelyȱtoȱbeȱanyȱactivityȱinȱtheȱliveȱdatabase.ȱIfȱtheȱprogramȱmustȱbeȱrunȱ duringȱtheȱday,ȱrunȱitȱwithȱaȱfilterȱsuchȱasȱcs_yearȱtoȱeliminateȱactiveȱcases.ȱIfȱupdatesȱ areȱmadeȱtoȱtheȱdatabaseȱwhileȱitȱisȱbeingȱcopiedȱ(e.g.,ȱbecauseȱsomeoneȱisȱdocketing),ȱ thenȱtheȱcopyȱprocessȱwillȱbeȱinterruptedȱandȱwillȱnotȱfunctionȱproperly.ȱ Options Theȱcopy_ecf_dataȱutilityȱusesȱtheȱoptionsȱlistedȱinȱtheȱtableȱbelow: Option source Assumed to be the live database. destination The name of the database into which court data should be inserted. Safeguards will ensure that the destination is not the live database. NOTE: If it is a remote database, the program will be unable to make test documents. where If specified, the user may limit how much data is copied over by providing an SQL “where” clause indicating which cases will be extracted. If a “where” clause is not specified, all cases will be copied over. If less than 100 cases are specified, or if the “where” clause returns/extracts less than 100 cases, the process will abort. minimum The limit courts can adjust to specify the number of cases copied from live to test. verbose Controls how many messages are displayed to the screen while the utility is running. The higher the number, the more messages. If this option is not used, then progress messages will be displayed on the screen by default. To run the utility without displaying any progress messages except fatal errors, use --verbose 0. nonunique 08 Jul 2009 Description The documents created by this process are all unique, showing a different id and sequence number. Because this takes time, using this parameter will speed up the process but all the documents will be the same test document. Release 4.0.1 12-3 District CM/ECF System Administrator’s Guide Ifȱyouȱrunȱtheȱcommandȱwithoutȱparameters,ȱorȱwithȱextraȱparametersȱthatȱitȱdoesȱ notȱrecognizeȱ(suchȱasȱ--help)ȱitȱdisplaysȱtheȱfullȱsyntaxȱwithȱfiveȱexamplesȱ(shownȱ below). copy_ecf_data --destination test --where "cs_date_filed > date('01/01/2002')" copy_ecf_data --destination train --where "cs_year = 7 and cs_jstype = 'cv'" copy_ecf_data --destination dev --where "cs_year=7" --minimum 50 copy_ecf_data --source train --destination otherserver:test copy_ecf_data --destination train --verbose 10 Byȱdefault,ȱȱcopy_ecf_dataȱwillȱcompleteȱonlyȱifȱatȱleastȱ100ȱcasesȱwillȱbeȱcopied.ȱIfȱ youȱrunȱcopy_ecf_dataȱandȱlessȱthanȱtheȱdefaultȱofȱ100ȱcasesȱwouldȱbeȱcopied,ȱtheȱ systemȱwillȱreturnȱanȱerrorȱmessageȱandȱabortȱtheȱprocess.ȱȱToȱgetȱaroundȱtheȱdefaultȱ minimum,ȱyouȱcanȱuseȱtheȱminimumȱoption.ȱȱFollowingȱisȱanȱexampleȱthatȱshowsȱtheȱ minimumȱoptionȱandȱalsoȱlimitsȱtheȱcasesȱtoȱthoseȱwithȱcaseȱnumbersȱlessȱthanȱ5:ȱ Examples Someȱexampleȱscenariosȱforȱrunningȱtheȱcopyȱcasesȱutilityȱareȱlistedȱbelow: • Copyȱfromȱliveȱtoȱtestȱonlyȱcasesȱopenedȱinȱ2007ȱandȱ2008: copy_ecf_data --source live --destination test --where cs_year in (7,8) • Copyȱfromȱliveȱtoȱtestȱallȱcases: copy_ecf_data --destination test copy_ecf_data --destination train --where "cs_year=8 and cs_number < 5" --minimum 50 Site Table Entries Beforeȱdataȱisȱcopiedȱfromȱtheȱsourceȱdatabase,ȱtheȱfollowingȱsiteȱtableȱvaluesȱwillȱbeȱ preservedȱtoȱmaintainȱvaluesȱuniqueȱtoȱtheȱtestȱ(orȱtrain)ȱdatabase.ȱȱ ArchiveHome BaseURL CalendarHome CourtName CourtShortName DoctypeHome DOJ_VNS_ExportDir FreeMailLog InsideURL 08 Jul 2009 LiveFormsDir OptLogFile RecusalHome ServerHome StatisticsHome SystemName TempDocDir TempDocDir2 XC_ExportDir Release 4.0.1 CA_Mail_AutoSelectFail CA_Mail_AutoSelectOK CourtEmail CourtMail JpmdMailRecpt MailUser MailCA PacerEmail SealAdminEmail 12-4 District CM/ECF System Administrator’s Guide KeyFile JSPUrl XC_ImportDir AdminMail ScheduleReplyReportMail XC_Email... Codes Table Entries TheȱConfChkEmailȱandȱRecuse_Mailȱcodesȱtableȱentriesȱonȱtheȱtestȱorȱtrainȱdatabaseȱ areȱretained.ȱȱ TheȱcodesȱtableȱvaluesȱforȱtheȱEmailAddrȱrecordsȱareȱresetȱwithȱtestȱvaluesȱforȱtheȱtestȱ database.ȱȱEmailȱaddressesȱfromȱtheȱsourceȱdatabaseȱ(live)ȱwillȱbeȱchangedȱinȱtheȱ destinationȱdatabaseȱ(testȱorȱtrain)ȱsoȱthatȱtheyȱareȱstillȱlegitimateȱaddressesȱbutȱemailȱ willȱnotȱbeȱsentȱtoȱtheȱoriginalȱrecipient.ȱȱThisȱisȱdoneȱbyȱchangingȱtheȱ@ȱsignȱtoȱanȱ underscoreȱandȱappendingȱ@example.comȱ(e.g.,ȱpat_attorney@aol.comȱbecomesȱ pat_attorney_aol.com@example.com). Allȱotherȱcodesȱtableȱentriesȱareȱcopiedȱoverȱwithȱdataȱfromȱtheȱliveȱdatabaseȱ replacingȱtheȱdataȱinȱtheȱtestȱorȱtrainȱdatabase. Data Completely Copied Onlyȱtheȱdocument_homeȱtableȱisȱpreservedȱentirelyȱwhenȱcopyingȱcasesȱfromȱtheȱ liveȱdatabaseȱtoȱtheȱtestȱorȱtrainȱdatabase.ȱȱTheȱdataȱinȱtheȱfollowingȱdatabaseȱtablesȱ willȱbeȱcopiedȱoverȱcompletely,ȱwithȱdataȱfromȱtheȱliveȱdatabaseȱreplacingȱthatȱonȱtheȱ testȱorȱtrainȱdatabase: api bar_member casetype codes counter deadlines deck_card deck_instance deck_master deck_person dpf events file_location firm form group location mail_notice menu mjstart_misc notworking order_action pacer_program prison program_group restriction roletype schedule_rpt_times users Data Partially Copied Recordsȱinȱotherȱtablesȱareȱcopiedȱbasedȱonȱtheȱspecificȱcasesȱcopied.ȱTheȱfollowingȱ tablesȱwillȱbeȱcopiedȱoverȱpartially,ȱbasedȱonȱwhichȱcasesȱwereȱtransferred. answer asccase bar_member case_flags case_group case_restriction 08 Jul 2009 frc_case frc_casestatus group hold_request interval intra_district js43petty js56 mail_case_list mjstar_misc recusal rms_casefile Release 4.0.1 u_cr_count_disp u_cr_excludable u_cr_interval u_cr_location u_cr_pnt u_cr_sentdisp_text u_document u_filer u_judge u_log u_motion u_party 12-5 District CM/ECF System Administrator’s Guide caseasgn docket_restriction filing_fee firm jdg_index js10 js23 js34 status time_in_court u_attorney u_count u_dkt_person u_dktentry u_dktpart u_dkttext u_person u_schedule user_group user_program Documents Documentȱfilesȱwillȱnotȱbeȱcopiedȱfromȱtheȱsourceȱdirectory.ȱȱInstead,ȱnewȱdocumentsȱ willȱbeȱcreatedȱandȱtheȱdestinationȱdatabaseȱdocumentȱtableȱwillȱbeȱupdatedȱwithȱ theseȱnewȱdocuments.ȱȱTheseȱdocumentsȱwillȱbeȱsmallȱoneȬlineȱPDFȱdocumentsȱthatȱ stateȱwhichȱdocumentȱrecordȱtheyȱrepresent,ȱsoȱtheyȱwillȱbeȱuniqueȱbutȱcontainȱnoȱ realȱcourtȱdata.ȱȱ Theȱdls_idsȱusedȱinȱdocumentȱhyperlinksȱareȱcopiedȱoverȱwithoutȱanyȱchange. Sealed Cases Sealedȱdocumentsȱareȱnotȱcopiedȱover.ȱOnlyȱsealedȱentriesȱandȱsealedȱcasesȱareȱ copied.ȱTheȱcasesȱremainȱsealedȱandȱareȱavailableȱonlyȱtoȱtheȱsameȱusersȱwhoȱhadȱ accessȱtoȱthemȱinȱtheȱliveȱdatabase. Securityȱpermissionsȱareȱcarriedȱoverȱfromȱliveȱtoȱtestȱbyȱcopyingȱallȱtheȱtablesȱthatȱ haveȱthoseȱpermissions:ȱȱusers,ȱuser_group,ȱprogram_group,ȱcase_group,ȱetc.ȱ 08 Jul 2009 Release 4.0.1 12-6 District CM/ECF System Administrator’s Guide Appendix A VerifyDocs Error Types By Category VerifyDocsȱrecordsȱeachȱproblemȱdocumentȱinȱaȱdataȱfile.ȱȱEachȱentryȱinȱthisȱfileȱisȱ assignedȱaȱletterȱcodeȱthatȱidentifiesȱtheȱspecificȱproblemȱtype.ȱȱThisȱappendixȱ providesȱaȱdescriptionȱofȱtheȱerrorȱtypesȱforȱeachȱerrorȱcategory.ȱ Error types Type Description Errors that are safe to fix N Improperly saved signature due to invalid FileNumber; but the signatures compare ok i signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is GOOD w Stamp Name has changed, but signature is GOOD Errors that are unknown c stored signature is corrupted j signatures do not match, due to a different keyfile being used to regenerate the signature. M signatures do not match, due to an invalid original signature (missing keyfile) n signatures do not match, due to an invalid original signature Errors that are not safe to fix I signatures do not match, due to wrong dm_id or dm_seq value in sig, but signature is bad. C Improperly saved signature due to invalid FileNumber; the signatures do not match m signatures do not match O Improperly formatted FileNumber found in the original signature and signatures do not match. s dm_size is not the same as the file size, off by multiple bytes S dm_size is not the same as the file size, off by one byte W Stamp Name has changed and signatures do not match Errors that are of type other f g error generating new signature k 08 Jul 2009 error fixing document (the program has unsuccessfully attempted to fix a page count error) signatures do not match, due to an invalid regenerated signature Release 4.0.1 A-1 District CM/ECF System Administrator’s Guide Error types Type K signatures do not match, due to an invalid regenerated signature (missing keyfile) o unexpected error p PDFcheck failed r could not open document file R 08 Jul 2009 Description orphaned document Release 4.0.1 A-2 District CM/ECF System Administrator’s Guide Appendix B Court Listings 014 U.S. COURT OF INTERNATIONAL TRADE 015 U.S. COURT OF FEDERAL CLAIMS 017 ALABAMA MIDDLE DISTRICT COURT 019 ALABAMA NORTHERN DISTRICT COURT 021 ALABAMA SOUTHERN DISTRICT COURT 023 ALASKA DISTRICT COURT 025 ARIZONA DISTRICT COURT 027 ARKANSAS EASTERN DISTRICT COURT 029 ARKANSAS WESTERN DISTRICT COURT 031 CALIFORNIA CENTRAL DISTRICT COURT 033 CALIFORNIA EASTERN DISTRICT COURT 035 CALIFORNIA NORTHERN DISTRICT COURT 037 CALIFORNIA SOUTHERN DISTRICT COURT 039 COLORADO DISTRICT COURT 041 CONNECTICUT DISTRICT COURT 043 DELAWARE DISTRICT COURT 045 DISTRICT OF COLUMBIA DISTRICT COURT 047 FLORIDA MIDDLE DISTRICT COURT 049 FLORIDA NORTHERN DISTRICT COURT 051 FLORIDA SOUTHERN DISTRICT COURT 053 GEORGIA MIDDLE DISTRICT COURT 057 GEORGIA NORTHERN DISTRICT COURT 059 GEORGIA SOUTHERN DISTRICT COURT 059 GUAM DISTRICT COURT 061 HAWAII DISTRICT COURT 063 IDAHO DISTRICT COURT 065 ILLINOIS CENTRAL DISTRICT COURT 067 ILLINOIS CENTRAL NORTHERN DISTRICT COURT 069 ILLINOIS SOUTHERN DISTRICT COURT 08 Jul 2009 Release 4.0.1 B-1 District CM/ECF System Administrator’s Guide 071 INDIANA NORTHERN DISTRICT COURT 073 INDIANA SOUTHERN DISTRICT COURT 075 IOWA NORTHERN DISTRICT COURT 077 IOWA SOUTHERN DISTRICT COURT 079 KANSAS DISTRICT COURT 081 KENTUCKY EASTERN DISTRICT COURT 083 KENTUCKY WESTERN DISTRICT COURT 085 LOUISIANA EASTERN DISTRICT COURT 087 LOUISIANA MIDDLE DISTRICT COURT 089 LOUISIANA WESTERN DISTRICT COURT 091 MAINE DISTRICT COURT 093 MARYLAND DISTRICT COURT 095 MASSACHUSETTS DISTRICT COURT 097 MICHIGAN EASTERN DISTRICT COURT 099 MICHIGAN WESTERN DISTRICT COURT 101 MINNESOTA DISTRICT COURT 103 MISSISSIPPI NORTHERN DISTRICT COURT 105 MISSISSIPPI SOUTHERN DISTRICT COURT 107 MISSOURI EASTERN DISTRICT COURT 109 MISSOURI WESTERN DISTRICT COURT 111 MONTANA DISTRICT COURT 113 NEBRASKA DISTRICT COURT 115 NEVADA DISTRICT COURT 117 NEW HAMPSHIRE DISTRICT COURT 119 NEW JERSEY DISTRICT COURT 121 NEW MEXICO DISTRICT COURT 123 NEW YORK EASTERN DISTRICT COURT 125 NEW YORK NORTHERN DISTRICT COURT 127 NEW YORK SOUTHERN DISTRICT COURT 129 NEW YORK WESTERN DISTRICT COURT 131 NORTH CAROLINA EASTERN DISTRICT COURT 08 Jul 2009 Release 4.0.1 B-2 District CM/ECF System Administrator’s Guide 133 NORTH CAROLINA MIDDLE DISTRICT COURT 135 NORTH CAROLINA WESTERN DISTRICT COURT 137 NORTH DAKOTA DISTRICT COURT 139 NORTHERN MARIANAS DISTRICT COURT 141 OHIO NORTHERN DISTRICT COURT 143 OHIO SOUTHERN DISTRICT COURT 145 OKLAHOMA EASTERN DISTRICT COURT 147 OKLAHOMA NORTHERN DISTRICT COURT 149 OKLAHOMA WESTERN DISTRICT COURT 151 OREGON DISTRICT COURT 153 PENNSYLVANIA EASTERN DISTRICT COURT 155 PENNSYLVANIA MIDDLE DISTRICT COURT 157 PENNSYLVANIA WESTERN DISTRICT COURT 159 PUERTO RICO DISTRICT COURT 161 RHODE ISLAND DISTRICT COURT 163 SOUTH CAROLINA DISTRICT COURT 165 SOUTH DAKOTA DISTRICT COURT 167 TENNESSEE EASTERN DISTRICT COURT 169 TENNESSEE MIDDLE DISTRICT COURT 171 TENNESSEE WESTERN DISTRICT COURT 173 TEST DISTRICT COURT 175 TEXAS EASTERN DISTRICT 177 TEXAS NORTHERN DISTRICT COURT 179 TEXAS SOUTHERN DISTRICT COURT 181 TEXAS WESTERN DISTRICT COURT 183 UTAH DISTRICT COURT 185 VERMONT DISTRICT COURT 187 VETERAN APPEALS DISTRICT COURT 189 VIRGINIA EASTERN DISTRICT COURT 191 VIRGINIA WESTERN DISTRICT COURT 193 VIRGIN ISLANDS DISTRICT COURT 08 Jul 2009 Release 4.0.1 B-3 District CM/ECF System Administrator’s Guide 195 WASHINGTON EASTERN DISTRICT COURT 197 WASHINGTON WESTERN DISTRICT COURT 199 WEST VIRGINIA NORTHERN DISTRICT COURT 201 WEST VIRGINIA SOUTHERN DISTRICT COURT 203 WISCONSIN EASTERN DISTRICT COURT 205 WISCONSIN WESTERN DISTRICT COURT 207 WYOMING DISTRICT COURT 08 Jul 2009 Release 4.0.1 B-4

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?