Updated: March 20, 2021 Table of Contents 1 Introduction 1.1 Features 1.2 Requirements 1.2.1 Partially Tested 2 Configuration 2.1 configs/config.php 2.2 Administration Editor 3 Tutorial 3.1 Adding a file 3.2 Adding a user 3.3 Authorizing a file 3.4 Checking out a file 4 Credits 1 Introduction OpenDocMan is a full featured Web-based document management system designed to conform to ISO 17025/IEC. It features automatic installation, file expiration, multiple version handling, file check-in/out, departmental access control, file moderation, fine grained user access control, email notification and a great search function. Written in PHP, and utilizing MySQL for the backend, this project is useful for any company looking to keep their documentation in a centralized repository. 1.1 Features 1. Automatic Installation - Automatically install the application or upgrade your current version 2. Check-in and Check-out files - This provides file locking so that no two persons can update the same file at the same time 3. Search Engine - Keyword search helps locate documents quickly 4. Multiple Users, Departments, and Categories - The system allows for an unlimited number of these elements 5. File Moderation - Allows for departmental "reviewers" to authorize or decline files for publication to the repository. Can be turned off. 6. Email Notification - The system has a built in email notification system for file authorization process 7. Fine Grained Access - Ability to control read/write/admin/forbidden permissions for individual files based on users or groups or both. 8. File History - Provides a history of actions taken upon a file 9. Admin and Root users - Each installation can have any number of "admin" users, who can create users, categories, etc.. One "root" user can do all. 10. Multiple Document Versions - Instead of overwriting a document when a new version is added, the old versions are kept, so there is a traceable change path. 11. Archiving function for deleted files - Files that are deleted are now put into an "archive" state and can be left there, un-archived, or permanently deleted. 12. Bookmark-able URLs - You can bookmark a page in OpenDocMan and email it to a co-worker, etc.. 13. Breadcrumb Navigation - As you navigate through the site, breadcrumb links are generated to aid in backward navigation. 14. File Expiration - Files can be set to automatically expire after a definable period. The expiration action can be one of either Remove from file list until renewed, Show in file list but locked, Send email to reviewer only, or Do Nothing. 2 Configuration 2.1 Configuration values Most of the configuration for OpenDocMan is controlled by the Admin->Edit Settings page. Below are some of the configurable options: * dataDir - Location of file repository. This should ideally be outside the Web server root. Make sure the server has permissions to read/write files in this folder! * demo - This setting is for a demo installation, where random people will be all logging in as the same username/password like 'demo/demo'. * authen - Future setting to control other authentication methods. Currently only MySQL and web-based kerberos authentication is supported. * base_url - Set this to the url of the site (no ending slash) * title - This is the browser window title and be anything you want (ex. My Company Document Management System) * site_mail - The email address of the administrator of this site. Users will be told to contact this person if they encounter errors. * root_id - This variable sets the root id. It must be set to one of the current user_id's of opendocman. The root user will be able to access all files and have authority for everything. (ex. 1) * revision_expiration [integer]- Period in days that files will expire. * file_expired_action [1,2,3,4] - Action to take on files that expire. * authorization [On, Off] - Turn file moderation on or off. * theme [default="default"] - which theme to use? Smarty-based themes are located in templates/ folder. Look at default for example. To add a new one just create a new theme folder in templates/ with header.tpl and footer.tpl files. Global variables are added to smarty as $g_VARIABLENAME. * allow_signup - This option determines whether or not to display the "Signup" link on the login page to allow users to self-register. 2.2 Administration Editor When a user is set up as an "admin", they will see an admin menu in the upper right while they are logged in. There are options for User, Category, Department, and File Management under this menu item. 3 Tutorial 3.1 Adding a file 1. Click on the "Add" icon in the menu area 2. Click on the "Browse" button and select the file to upload 3. Choose a category for the file. This will be used during file searches to help narrow the search result. 4. Setup the default departmental permissions. You may set up individual departments with different settings, set all departments to the same setting, and/or select default permissions for any unset department. The program will remember your settings as you go, so as you select each department, the current permission will show. 5. Enter a description. This will be used you can go back to set department and alter the setting and will display in the main file list. 6. Add any comments necessary for users of the file. 7. Set specific user permissions, if any. You may shift-click, ctrl-click, or click on any of the user names in any of the columns to specify certain rights to certain users of the file. 8. Click on "Add Document" 9. If you have file moderation turned on, you will now have to authorize the file before it is available for viewing. If file moderation is turned off, you should see the file in the main file list now. 3.2 Adding a user 3.3 Authorizing a file 3.4 Checking out a file 4 Credits Stephen Lawrence Jr. - Project Lead/Programmer Many others as noted throughout the codebase. Originally inspired by an article called cracking the vault.