Corporate Archive and Retrieval System (CARS). CARS is a Zope product that enables users to present documents to a web server for archiving, viewing and retrieval. It was developed to allow users to view scanned paper documents using a web browser. Prerequistes: Zope 2.4.1 Python 2.1.1 Ghostscript >= 5.5 LoginManager product 0.8.8.b3 (Zope product) ZPatterns 0.4.3p2 (Zope product) PStoText Samba NIS network authentication. (sorry no LDAP yet) Applied patches: ./patches/LoginManager.py.patch ./patches/ZPatterns/DataSkin.py.patch Installation: There are a number of requirements to have CARS functioning properly. Firstly install the product: cd tar zxvf /CARS.tgz This will install a set of files that are listed at the end of this document. Start Zope and perform the following: at the root level in Zope select Import/Export and import: index_html.zexp images.zexp then add an External Method and enter for all properties: redirect Optional: import a test CARS system: CARS.zexp If you don't include the CARS.zexp you will need to add a new CARS Share. Go into the share and set the appropriate security roles within. Security Roles: Change the security role of redirect so that anonymous has "view" access. and change the /cars folder so that anonymous has no access. If you want. After having applied the above patches you are almost ready. There must be a "CARS share" labelled "cars" at the root level. This is necessary if you want to use directly out of the package. But can be modified to suit your needs. Though a required change in the "index_html" to point the "base" value to another path other than "cars". Note that CARS only works at the moment from the root path in Zope, so don't attempt the have a multi-levelled path unless you want to hack :) The true power of CARS comes in the "ps_to_cars_filter" found in ./Products/CARS/important directory. This setup is for a linux server only. This filter must be setup as a printer in /etc/smb.conf and configured as follows: [carsconv] comment = Printer for CARS Converter (needs PS-Printer) path = /space/samba/spool create mask = 0700 print ok = Yes printer name = carsconv printer driver = PSConverter and in the /etc/printcap file: carsconv:\ :sd=/var/spool/lpd/ps_to_cars:\ :lf=/var/spool/lpd/ps_to_cars/log:\ :af=/var/spool/lpd/ps_to_cars/acct:\ :if=/usr/local/ps_to_cars/ps_to_cars_filter:\ :lp=/dev/null:\ :la@:mx#0:\ :sh:sf: Place the filter in /usr/local/ps_to_cars directory or whatever but be sure to change the input filter "if" in the above configuration to the correct path. Windows users need to Add Printer and select the above printer "carsconv". This is a standard postscript printer and if necessary use Apple's postscript printer driver. Linux users just need to be able to print to this printer as normal. In the ps_to_cars_filter you will have to change some global settings depending upon your network configuration: SERVER="your zope server:8080" USER="a general user that will submit to CARS" PASS="unencrypted password for the above" DOMAIN="your domain, used to inform users by email" You should now be able to operate CARS (hopefully) Have fun... -------------------------------- File list: lib/python/Products/CARS/ lib/python/Products/CARS/Log.py lib/python/Products/CARS/__init__.py lib/python/Products/CARS/patchs/ lib/python/Products/CARS/patchs/DataSkins.py.patch lib/python/Products/CARS/patchs/LoginManager.py.patch lib/python/Products/CARS/CARSDoc/ lib/python/Products/CARS/CARSDoc/CARSDoc.py lib/python/Products/CARS/CARSDoc/__init__.py lib/python/Products/CARS/CARSDoc/index.dtml lib/python/Products/CARS/CARSDoc/CARSdocEdit.dtml lib/python/Products/CARS/CARSDoc/CARSdocAdd.dtml lib/python/Products/CARS/CARSDoc/viewPage.dtml lib/python/Products/CARS/CARSFileGroup/ lib/python/Products/CARS/CARSFileGroup/CARSFileGroup.py lib/python/Products/CARS/CARSFileGroup/__init__.py lib/python/Products/CARS/CARSFileGroup/carsfileAdd.dtml lib/python/Products/CARS/CARSFileGroup/carsfileEdit.dtml lib/python/Products/CARS/CARSFileGroup/index.dtml lib/python/Products/CARS/CARSFileGroup/viewFile.dtml lib/python/Products/CARS/CARSFileGroup/viewFileList.dtml lib/python/Products/CARS/CARShare/ lib/python/Products/CARS/CARShare/__init__.py lib/python/Products/CARS/CARShare/CARShare.py lib/python/Products/CARS/CARShare/carshareAdd.dtml lib/python/Products/CARS/CARShare/editAccess.dtml lib/python/Products/CARS/README lib/python/Products/CARS/NisLogin/ lib/python/Products/CARS/NisLogin/NisLogin.py lib/python/Products/CARS/NisLogin/__init__.py lib/python/Products/CARS/PropertyManager/ lib/python/Products/CARS/PropertyManager/PropertyBase.py lib/python/Products/CARS/PropertyManager/PropertyClient.py lib/python/Products/CARS/PropertyManager/PropertyCommon.py lib/python/Products/CARS/PropertyManager/PropertyServer.py lib/python/Products/CARS/PropertyManager/PropertyStore.py lib/python/Products/CARS/PropertyManager/__init__.py lib/python/Products/CARS/PropertyManager/defineProperties.dtml lib/python/Products/CARS/PropertyManager/properties.dtml lib/python/Products/CARS/PublishDoc/ lib/python/Products/CARS/PublishDoc/PublishDoc.py lib/python/Products/CARS/PublishDoc/__init__.py lib/python/Products/CARS/PublishDoc/docPublish.dtml lib/python/Products/CARS/PublishDoc/index.dtml lib/python/Products/CARS/PublishDoc/docForward.dtml lib/python/Products/CARS/images/ lib/python/Products/CARS/images/File_icon.gif lib/python/Products/CARS/images/Folder_icon.gif lib/python/Products/CARS/images/cars.gif lib/python/Products/CARS/images/folderIcon.gif lib/python/Products/CARS/images/fileIcon.gif lib/python/Products/CARS/images/iee-bg2.gif lib/python/Products/CARS/images/iee-logo.jpg lib/python/Products/CARS/images/docIcon.gif lib/python/Products/CARS/images/recordIcon.gif lib/python/Products/CARS/objBase/ lib/python/Products/CARS/objBase/__init__.py lib/python/Products/CARS/objBase/objBase.py lib/python/Products/CARS/objBase/confirmDelete.dtml lib/python/Products/CARS/LICENSE lib/python/Products/CARS/CARSRecord/ lib/python/Products/CARS/CARSRecord/Makefile.old lib/python/Products/CARS/CARSRecord/__init__.py lib/python/Products/CARS/CARSRecord/carsRecordAdd.dtml lib/python/Products/CARS/CARSRecord/CARSRecord.py lib/python/Products/CARS/CARSObject/ lib/python/Products/CARS/CARSObject/references.dtml lib/python/Products/CARS/CARSObject/edit.dtml lib/python/Products/CARS/CARSObject/index.dtml lib/python/Products/CARS/CARSObject/__init__.py lib/python/Products/CARS/CARSObject/CARSObject.py lib/python/Products/CARS/CARSObject/print.dtml lib/python/Products/CARS/CARSObject/sign.dtml lib/python/Products/CARS/CARSObject/printWlabels.dtml lib/python/Products/CARS/CARSObject/printWOlabels.dtml lib/python/Products/CARS/sendmail.py lib/python/Products/CARS/CARSFolder/ lib/python/Products/CARS/CARSFolder/index.dtml lib/python/Products/CARS/CARSFolder/__init__.py lib/python/Products/CARS/CARSFolder/menu.dtml lib/python/Products/CARS/CARSFolder/CARSFolder.py lib/python/Products/CARS/CARSFolder/carsfolderAdd.dtml lib/python/Products/CARS/CARSFolder/carstorefolderAdd.dtml lib/python/Products/CARS/CARSFolder/findProperty.dtml lib/python/Products/CARS/CARSFolder/findPropertyResult.dtml lib/python/Products/CARS/CARSFolder/manage_tabs.dtml lib/python/Products/CARS/CARSFolder/undo.dtml lib/python/Products/CARS/CARSFolder/properties.dtml lib/python/Products/CARS/CARSFolder/referenceObject.dtml lib/python/Products/CARS/CARSFolder/manage.dtml lib/python/Products/CARS/externFS/ lib/python/Products/CARS/externFS/__init__.py lib/python/Products/CARS/externFS/externFS.py lib/python/Products/CARS/kwLists/ lib/python/Products/CARS/kwLists/__init__.py lib/python/Products/CARS/kwLists/kwLists.py lib/python/Products/CARS/kwLists/aliases.dtml lib/python/Products/CARS/kwLists/kws.dtml lib/python/Products/CARS/kwLists/meme.dtml lib/python/Products/CARS/filter/ lib/python/Products/CARS/filter/ps_to_cars_filter Extensions/redirect.py import/images.zexp import/index_html.zexp import/cars.zexp --------------------------------