mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 05:11:27 +00:00 
			
		
		
		
	add more documentation
This commit is contained in:
		
							parent
							
								
									851a5c901c
								
							
						
					
					
						commit
						78328df952
					
				|  | @ -1,114 +0,0 @@ | |||
| Notifications | ||||
| ----------------------------------------------- | ||||
| 
 | ||||
| Most changes made to documents or folders in SeedDMS can be monitored | ||||
| by the users. Notifications are send by email if a user or group | ||||
| has subscribed it. | ||||
| 
 | ||||
| The following notifications are send to all users and groups having | ||||
| registered a notification for the event: | ||||
| 
 | ||||
| op/op.AddDocument.php | ||||
| op/op.AddMultiDocument.php | ||||
| * adding a new document to a folder | ||||
|   subscribers of the parent folder | ||||
| 
 | ||||
| op/op.AddSubFolder.php | ||||
| * adding a new subfolder to a folder | ||||
|   subscribers of the parent folder | ||||
| 
 | ||||
| op/op.AddFile2.php | ||||
| op/op.AddFile.php | ||||
| * adding a new file to a document | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.ApproveDocument.php | ||||
| * approval status has changed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.DocumentAccess.php | ||||
| * access rights or ownership has changed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.DocumentNotify.php | ||||
| * document notification was changed | ||||
|   owner or group of the document/notification | ||||
| 
 | ||||
| op/op.EditComment.php | ||||
| * document's comment has been changed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.EditDocument.php | ||||
| * document has been changed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.EditFolder.php | ||||
| * folder has been changed | ||||
|   subscribers of the folder | ||||
| 
 | ||||
| op/op.FolderAccess.php | ||||
| * access rights or ownership has changed | ||||
|   subscribers of the folder | ||||
| 
 | ||||
| op/op.FolderNotify.php | ||||
| * folder notification was changed | ||||
|   owner or group of the folder/notification | ||||
| 
 | ||||
| op/op.ManageNotify.php | ||||
| * notification was removed | ||||
|   owner of the notification | ||||
| 
 | ||||
| op/op.MoveDocument.php | ||||
| * document was moved | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.MoveFolder.php | ||||
| * folder was moved | ||||
|   subscribers of the folder | ||||
| 
 | ||||
| op/op.OverrideContentStatus.php | ||||
| 
 | ||||
| op/op.RemoveDocumentFile.php | ||||
| * file of document was removed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.RemoveDocument.php | ||||
| * document was removed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.RemoveFolder.php | ||||
| * folder was removed | ||||
|   subscribers of the folder | ||||
| 
 | ||||
| op/op.RemoveVersion.php | ||||
| * version of document was removed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.RemoveWorkflowFromDocument.php | ||||
| * Workflow has been removed from document version | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.ReturnFromSubWorkflow.php | ||||
| * Subworkflow has been ended and parent workflow will be continued | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.ReviewDocument.php | ||||
| * document was reviewed | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.RewindWorkflow.php | ||||
| * Workflow was rewind to beginning | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.RunSubWorkflow.php | ||||
| * Subworkflow was started | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.TriggerWorkflow.php | ||||
| * Workflow transition was triggered | ||||
|   subscribers of the document | ||||
| 
 | ||||
| op/op.UpdateDocument2.php | ||||
| op/op.UpdateDocument.php | ||||
| * document was updated | ||||
|   subscribers of the document | ||||
							
								
								
									
										143
									
								
								README.Ubuntu
									
									
									
									
									
								
							
							
						
						
									
										143
									
								
								README.Ubuntu
									
									
									
									
									
								
							|  | @ -1,143 +0,0 @@ | |||
| This README was written by Eric Smith | ||||
| 
 | ||||
| ====================================================== | ||||
| Steps that I took to install SeedDMS on Ubuntu 12.10 | ||||
| - a personal account and not an authoritative guide. | ||||
| ====================================================== | ||||
| 
 | ||||
| Download four tar balls from; | ||||
| http://sourceforge.net/projects/seeddms/files/seeddms-4.0.0-pre5/ | ||||
| 
 | ||||
| seeddms-4.0.0-pre5.tar.gz | ||||
| SeedDMS_Preview-1.0.0.tgz | ||||
| SeedDMS_Lucene-1.1.1.tgz | ||||
| SeedDMS_Core-4.0.0pre5.tgz | ||||
| 
 | ||||
| Install as follows the pear components: | ||||
| sudo pear install SeedDMS_Core-4.0.0pre5.tgz | ||||
| sudo pear install SeedDMS_Preview-1.0.0.tgz | ||||
| sudo pear install SeedDMS_Lucene-1.1.1.tgz | ||||
| 
 | ||||
| Download and install the pear Log application: | ||||
| wget http://download.pear.php.net/package/Log-1.12.7.tgz | ||||
| sudo pear install Log-1.12.7.tgz | ||||
| 
 | ||||
| And zend: | ||||
| sudo pear channel-discover zend.googlecode.com/svn | ||||
| sudo pear install zend/zend | ||||
| 
 | ||||
| I installed the following packages, not all of which may be required | ||||
| and you may require other packages, please check the dependencies on | ||||
| the README.md for example for full text search, you need pdftotext, | ||||
| catdoc, xls2csv or scconvert, cat, id3  | ||||
| 
 | ||||
| sudo apt-get install php5-mysql php5-mysqlnd libapache2-mod-php5 | ||||
| sudo apt-get install pdo_mysql php5-gd id3 scconvert | ||||
| sudo apt-get install php-http-webdav-server | ||||
| sudo apt-get install zend-framework zend-framework-bin | ||||
| sudo apt-get install libzend-framework-zendx-php | ||||
| sudo apt-get install libjs-dojo-core libjs-dojo-dijit libjs-dojo-dojox | ||||
| sudo apt-get install libzend-framework-php (It kept bitching about Zend so I just kept piling on packages until it worked) | ||||
| 
 | ||||
| mbstring is already a part of libapache2-mod-php5 | ||||
| pepper:~> show libapache2-mod-php5|grep mbstring | ||||
|  mbstring mhash openssl pcre Phar posix Reflection session shmop SimpleXML | ||||
|   | ||||
| 
 | ||||
| Define three locations: | ||||
| [1] Some cosy place in yourfile system for the source files to which you | ||||
| will link | ||||
| I chose "/opt/seeddms-4.0.0-pre5/" | ||||
| untar seeddms-4.0.0-pre5.tar.gz into this location | ||||
| 
 | ||||
| [2] Make a directory and three subdirectories for the data for your site; | ||||
| I chose to do this under "/opt/dms/seeddms_multisite_test/data" | ||||
| sudo mkdir -p /opt/dms/seeddms_multisite_test/data/lucene/ | ||||
| sudo mkdir /opt/dms/seeddms_multisite_test/data/staging/ | ||||
| sudo mkdir /opt/dms/seeddms_multisite_test/data/cache/ | ||||
| 
 | ||||
| Give ownership (or write access) to your httpd process to those directories; | ||||
| sudo chown -cvR  www-data  /opt/dms/seeddms_multisite_test/data/ | ||||
| 
 | ||||
| [3] Somewhere under your www root, make a directory for the sources of | ||||
| your site: | ||||
| These can be of course under different virtual domains. | ||||
| /var/www/www.mydomain.eu/seeddms_multisite_test  | ||||
| cd /var/www/www.mydomain.eu/seeddms_multisite_test;  | ||||
| sudo ln -s /opt/seeddms-4.0.0-pre5 src (README.md does not include the `src'!) | ||||
| ln -s src/inc inc | ||||
| ln -s src/op op | ||||
| ln -s src/out out | ||||
| ln -s src/js js | ||||
| ln -s src/views views | ||||
| ln -s src/languages languages | ||||
| ln -s src/styles styles | ||||
| ln -s src/themes themes | ||||
| ln -s src/install install | ||||
| ln -s src/index.php index.php | ||||
| 
 | ||||
| If need be; | ||||
| sudo chown -cvR  www-data /var/www/www.mydomain.eu/seeddms_multisite_test/ | ||||
| 
 | ||||
| Create Dataabse; | ||||
| Run the following sql commands to create your db and a user with | ||||
| appropriate privileges. | ||||
| 
 | ||||
| mysql> create database seeddms_multisite_test; | ||||
| mysql> grant all privileges on seeddms_multisite_test.* to seeddms@localhost identified by 'your_passwd'; | ||||
| 
 | ||||
| 
 | ||||
| Point your browser to the  location of your instance as in [3] above | ||||
| and /install | ||||
| I resorted to a text browser on my server due to failure to access the | ||||
| db from a remote browser; | ||||
| 
 | ||||
| pepper:~> elinks www.mydomain.eu/seeddms_multisite_test/install | ||||
| 
 | ||||
| This is how I filled it in; | ||||
|                                                             SeedDMS: INSTALL | ||||
|    SeedDMS Installation for version 4.0.0 | ||||
| 
 | ||||
|    Server settings | ||||
|    Root directory:                /opt/seeddms-4.0.0-pre5/_______________________ | ||||
|    Http Root:                     /seeddms_multisite_test/_______________________ | ||||
|    Content directory:             /opt/dms/seeddms_multisite_test/data___________ | ||||
|    Directory for full text index: /opt/dms/seeddms_multisite_test/data/lucene/___ | ||||
|    Directory for partial uploads: /opt/dms/seeddms_multisite_test/data/staging/__ | ||||
|    Core SeedDMS directory:        _______________________________________________ | ||||
|    Lucene SeedDMS directory:      _______________________________________________ | ||||
|    Extra PHP include Path:        _______________________________________________ | ||||
|    Database settings | ||||
|    Database Type:                 mysql________________ | ||||
|    Server name:                   localhost____________ | ||||
|    Database:                      seeddms_multisite_tes | ||||
|    Username:                      seeddms______________ | ||||
|    Password:                      ********_____________ | ||||
|    Create database tables:        [X] | ||||
| 
 | ||||
|    [ Apply ] | ||||
| 
 | ||||
| 
 | ||||
| If all is okay (and I hope this happens more quickly for you than for me), | ||||
| you should be notified accordingly and invited to login to your new site | ||||
| with credentials admin/admin. (This password is cleverly set to expire | ||||
| in a couple of days. So do not get a shock like I did when it suddenly | ||||
| does not work). | ||||
| 
 | ||||
| ------------------------------------------------------------------------------- | ||||
| 
 | ||||
| To make additional sites; | ||||
| 
 | ||||
| If you wish to make additional sites, you need to copy the data directories thusly; | ||||
| sudo cp -avr  /opt/dms/seeddms_multisite_test /opt/dms/seeddms_multisite_test_2 | ||||
| And the sources thusly; | ||||
| sudo cp -avr /var/www/www.mydomain.eu/seeddms_multisite_test /var/www/www.mydomain.eu/seeddms_multisite_test_2 | ||||
| 
 | ||||
| And of course make data directories for this site: | ||||
| sudo mkdir -p /opt/dms/seeddms_multisite_test_2/data/lucene/ | ||||
| sudo mkdir /opt/dms/seeddms_multisite_test_2/data/staging/ | ||||
| sudo mkdir /opt/dms/seeddms_multisite_test_2/data/cache/ | ||||
| 
 | ||||
| Then create another database as shown above but of course give the db | ||||
| another name. | ||||
| Run the install again from the new location. | ||||
|  | @ -1,89 +0,0 @@ | |||
| Workflows in SeedDMS | ||||
| ==================== | ||||
| 
 | ||||
| SeedDMS supports approval and review of documents for a long time. | ||||
| In many cases this is sufficient for a simple workflow management. | ||||
| Nevertheless there was growing demand for a more powerful document | ||||
| workflow. Since version 4.0.0 SeedDMS allows to define arbitrary | ||||
| workflows for each document content. In order to understand how | ||||
| workflows in SeedDMS work, one has to understand how a workflow is modelled. | ||||
| Let's start with a definition of some terms. | ||||
| 
 | ||||
| workflow: a list of document states and transitions. A workflow starts | ||||
|   in a preset initial state and traverses along the transitions into other | ||||
|   states until no more transitions are possible. | ||||
| 
 | ||||
| state: the current status of a document (actually a document content) | ||||
|   A state can be for example 'rejected', 'approved', 'waiting for qm'. | ||||
|   Document jump from state to state when transitions are fired. | ||||
|   States are the nodes of a graph. | ||||
| 
 | ||||
| transition: a transition is the change from one state to a new state | ||||
|   Transitions are the edges of a graph. A transition can only be | ||||
|   triggered by a given list of users and groupѕ, when a defined action | ||||
|   is run. Such an action can be 'approve', 'revise', 'reject', etc. | ||||
|   transitions may need more than one trigger to fire, e.g. if several | ||||
|   users have to approve a document. | ||||
| 
 | ||||
| trigger a transition: a user runs an action on the document which possibly | ||||
|   changes the state. Internally this is identical to triggering a transition. | ||||
|   Such a trigger may or may not change the state of the document, | ||||
|   because there could | ||||
|   be other users which also have to trigger the transition. | ||||
|   After each trigger of an transition it will | ||||
|   be checked whether all conditions are met to change the state. | ||||
|   Triggers are currently only implemented for user interaction, but | ||||
|   other triggers could be added. | ||||
| 
 | ||||
| action: the actual operation run on the document. Each transition has | ||||
|   an action which when run, triggers the transition. Actions have just a name. | ||||
| 
 | ||||
| sub workflow: The modelling of a workflow is identical to a regular | ||||
|   workflow. Any workflow can be used as a sub workflow. Branching into | ||||
|   a sub workflow is only possible if the current state is equal to the | ||||
|   initial state of the sub workflow and the user is allowed to trigger | ||||
|   the next transition in the current workflow. | ||||
| 
 | ||||
| A workflow and a sub workflow are just a list | ||||
| of transitions and an initial state. There is no principal difference | ||||
| between the two and they are equally modelled. Starting from an initial state | ||||
| there are a number of possible transitions ending in a new state. Each | ||||
| transition can only be triggered if the user has the right to do so. | ||||
| 
 | ||||
| A workflow can be assigned to a document just like any other attribute | ||||
| if the user has sufficient rights. Once a workflow is assigned, the document | ||||
| will be in the initial state of the workflow. As long as the workflow | ||||
| has not left its initial state, it can be removed from the document by | ||||
| any users with write permission on the document. Once it has left the | ||||
| initial state it cannot be removed without rewinding the workflow to | ||||
| its initial state. Rewinding the workflow will remove the log of triggered | ||||
| transitions and set the document status on the initial state of the | ||||
| workflow. Rewinding can only be done by administrators. | ||||
| 
 | ||||
| The purpose of sub workflows is to replace a transition with more | ||||
| states in between. Such a case can happen, if approval or rejection | ||||
| of a document is put in charge of a group of persons, e.g. a department. | ||||
| If the department head decides to set up its own workflow within his | ||||
| department, he can run a sub workflow. During the lifetime of the sub | ||||
| workflow, the former workflow (parent workflow) will be paused. Sub workflows | ||||
| can only be started if the current document state is equal to the initial | ||||
| state of the sub workflow. | ||||
| In order to return to the parent workflow two conditions must be met: | ||||
| 1. the state of the document must be a valid state in the parent workflow | ||||
| 2. the person initiating the return to the parent workflow must be allowed | ||||
|    to trigger the transition which was replaced by the sub workflow | ||||
| The second condition requires all end states in the sub workflow, also | ||||
| being a state in the parent workflow. Currently this is not checked before | ||||
| entering the sub workflow. | ||||
| 
 | ||||
| A workflow that was accidently added to a document can be removed | ||||
| as long as it is still in the initial state of the workflow. Once | ||||
| a transition into a consecutive state has happemed the workflow cannot | ||||
| be removed anymore. In such a case the administrator has to rewind | ||||
| the workflow, which removes all triggers including the users comments | ||||
| and resets the initial state. The same procedure is true for sub workflows | ||||
| as well. Once a sub workflow has started it can only be left as long | ||||
| as it is in its initial state or has reached a state in the parent | ||||
| workflow. Leaving a workflow inbetween will required to rewind it to | ||||
| the begining and dismiss all transitions done so far. | ||||
| 
 | ||||
							
								
								
									
										396
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										396
									
								
								README.md
									
									
									
									
									
								
							|  | @ -1,396 +0,0 @@ | |||
| SeedDMS Installation Instructions | ||||
| ================================== | ||||
| 
 | ||||
| NOTE FOR VERSION 4.0.0 | ||||
| ====================== | ||||
| 
 | ||||
| Since version 4.0.0 of SeedDMS installation has been simplified.  | ||||
| ADOdb is no longer needed because the database access is done by | ||||
| PDO. | ||||
| 
 | ||||
| IMPORTANT NOTE ABOUT TRANSLATIONS | ||||
| ================================= | ||||
| 
 | ||||
| As you can see SeedDMS provides a lot of languages but we are not professional  | ||||
| translators and therefore rely on user contributions. | ||||
| 
 | ||||
| If your language is not present in the login panel: | ||||
| - copy the language/English/ folder and rename it appropriately for your | ||||
|   language | ||||
| - open the file `languages/your_lang/lang.inc` and translate it | ||||
| - open the help file `languages/your_lang/help.htm` and translate it too | ||||
| 
 | ||||
| If you see some wrong or not translated messages: | ||||
| - open the file `languages/your_lang/lang.inc` | ||||
| - search the wrong messages and translate them | ||||
| 
 | ||||
| if you have some "error getting text": | ||||
| - search the string in the english file `languages/english/lang.inc` | ||||
| - copy to your language file `languages/your_lang/lang.inc` | ||||
| - translate it | ||||
| 
 | ||||
| If there is no help in your language: | ||||
| - Copy the English help `english/help.htm` file to your language folder | ||||
| - translate it | ||||
| 
 | ||||
| If you apply any changes to the language files please send them to the | ||||
| SeedDMS developers <info@seeddms.org>. | ||||
| 
 | ||||
| http://www.iana.org/assignments/language-subtag-registry has a list of | ||||
| all language and country codes. | ||||
| 
 | ||||
| REQUIREMENTS | ||||
| ============ | ||||
| 
 | ||||
| SeedDMS is a web-based application written in PHP. It uses the MySQL RDBMS | ||||
| or sqlite3 to manage the documents that were uploaded into the application. | ||||
| 
 | ||||
| Make sure you have PHP 5.3 and MySQL 5 or higher installed. SeedDMS | ||||
| will work with PHP running in CGI-mode as well as running as module under | ||||
| apache. If you want to give your users the opportunity of uploading passport | ||||
| photos you have to enable the gd-library (but the rest of SeedDMS will | ||||
| work without gd, too). | ||||
| 
 | ||||
| Here is a detailed list of requirements: | ||||
| 
 | ||||
| 1. A web server with at least php 5.3 | ||||
| 2. A mysql database, unless you use sqlite | ||||
| 3. The php installation must have support for `pdo_mysql` or `pdo_sqlite`, | ||||
|    `php_gd2`, `php_mbstring` | ||||
| 4. Various command line programms to convert files into text for indexing | ||||
|    pdftotext, catdoc, xls2csv or scconvert, cat, id3 (optional, only needed | ||||
|    for fulltext search) | ||||
| 5. ImageMagic (the convert program) is needed for creating preview images  | ||||
| 6. The Zend Framework (version 1) (optional, only needed for fulltext search) | ||||
| 7. The pear Log package | ||||
| 8. The pear HTTP_WebDAV_Server package (optional, only need for webdav) | ||||
| 9. SLIM RestApi | ||||
| 10. FeedWriter from https://github.com/mibe/FeedWriter | ||||
| 
 | ||||
| 
 | ||||
| BEFORE YOU START | ||||
| ================ | ||||
| 
 | ||||
| SeedDMS has changed its installation process with version 3.0.0. This gives | ||||
| you many more options in how to install SeedDMS. First of all, SeedDMS was | ||||
| split into a core package (`SeedDMS_Core-<version>.tar.gz`) and the web | ||||
| application itself (`seeddms-<version>.tar.gz`). The core is a pear package | ||||
| which could be installed as one. It is responsible for all the database | ||||
| operations. The web application contains the ui not knowing anything about | ||||
| the database layout. Second, one SeedDMS installation can be used for | ||||
| various customer instances by sharing a common source. Starting with | ||||
| version 3.2.0 a full text search engine has been added. This requires | ||||
| the zend framework and another pear package `SeedDMS_Lucene-<version>.tar.gz` | ||||
| which can be downloaded from the SeedDMS web page. Version 4.0.0 show | ||||
| preview images of documents which requires `SeedDMS_Preview-<version>.tar.gz`. | ||||
| Finally, SeedDMS has | ||||
| got a web based installation, which takes care of most of the installation | ||||
| process. | ||||
| 
 | ||||
| Before you proceed you have to decide how to install SeedDMS: | ||||
| 1. with multiple instances | ||||
| 2. as a single instance | ||||
| 
 | ||||
| Both have its pros and cons, but | ||||
| 1. setting up a single instance is easier if you have no shell access to | ||||
|    the web server | ||||
| 2. the installation script is only tested for single instances | ||||
| 
 | ||||
| Installation for multiple instances shares the same source by many | ||||
| instances but requires to create links which is not in any case possible | ||||
| on your web server. | ||||
| 
 | ||||
| 0. Some preparation | ||||
| ------------------- | ||||
| 
 | ||||
| A common source of problems in the past have been the additional software | ||||
| packages needed by SeedDMS. Those are the PEAR packages `Log` and | ||||
| `HTTP_WebDAV_Server` as well as the `Zend_Framework`. | ||||
| If you have full access to the server running a Linux distribution it is | ||||
| recommended to install those with your package manager if they are provided | ||||
| by your Linux distribution. If you cannot install it this way then choose | ||||
| a directory (preferable not below your web document root), unpack the | ||||
| software into it and extend the php include path with your newly created | ||||
| directory. Extending the php include can be either done by modifying | ||||
| php.ini or adding a line like | ||||
| 
 | ||||
| > php_value include_path '/home/mypath:.:/usr/share/php' | ||||
| 
 | ||||
| to your apache configuration or setting the `extraPath` configuration | ||||
| variable of SeedDMS. | ||||
| 
 | ||||
| For historical reasons the path to the SeedDMS_Core and SeedDMS_Lucene package | ||||
| can still be set | ||||
| in the configuration, which is not recommend anymore. Just leave those | ||||
| parameters empty. | ||||
| 
 | ||||
| On Linux/Unix your web server should be run with the environment variable | ||||
| LANG set to your system default. If LANG=C, then the original filename | ||||
| of an uploaded document will not be preserved if the filename contains | ||||
| non ascii characters. | ||||
| 
 | ||||
| Turn off magic_quotes_gpc in your php.ini, if you are using a php version | ||||
| below 5.4. | ||||
| 
 | ||||
| 1. Using the installation tool | ||||
| ------------------------------ | ||||
| 
 | ||||
| Unpack seeddms-<version>.tar.gz below the document root of | ||||
| your web server. | ||||
| Install `SeedDMS_Preview-<version>.tar.gz` and | ||||
| `SeedDMS_Core-<version>.tar.gz` either as a regular pear package or | ||||
| set up a file system structure like pear did somewhere on you server. | ||||
| For the full text search engine support, you will also | ||||
| need to install `SeedDMS_Lucene-<version>.tar.gz`. | ||||
| 
 | ||||
| For the following instructions we will assume a structure like above | ||||
| and seeddms-<version> being accessible through | ||||
| http://localhost/seeddms/ | ||||
| 
 | ||||
| * Point you web browser towards http://hostname/seeddms/install/ | ||||
| 
 | ||||
| * Follow the instructions on the page and create a file `ENABLE_INSTALL_TOOL` | ||||
|   in the conf directory. | ||||
| 
 | ||||
| * Create a data directory with the thre sub directories staging, cache | ||||
|   and lucene. | ||||
|   Make sure the data directory is either *not* below your document root | ||||
| 	or is protected with a .htaccess file against web access. The data directory | ||||
|   needs to be writable by the web server. | ||||
| 
 | ||||
| * Clicking on 'Start installation' will show a form with all necessary | ||||
|   settings for a basic installation. | ||||
| 
 | ||||
| * After saving your settings succesfully you are ready to log in as admin and | ||||
|   continue customizing your installation with the 'Admin Tools' | ||||
| 
 | ||||
| 2. Detailed installation instructions (single instance) | ||||
| ------------------------------------------------------- | ||||
| 
 | ||||
| You need a working web server with MySQL/PHP5 support and the files | ||||
| `SeedDMS-<version>.tar.gz`, `SeedDMS_Preview-<version>.tar.gz` and | ||||
| `SeedDMS_Core-<version>.tgz`. For the  | ||||
| full text search engine support, you will also need to unpack | ||||
| `SeedDMS_Lucene-<version>.tgz`. | ||||
| 
 | ||||
| * Unpack all the files in a public web server folder. If you're working on | ||||
|   a host machine your provider will tell you where to upload the files. | ||||
|   If possible, do not unpack the pear packages `SeedDMS_Core-<version>.tgz`, | ||||
| 	`SeedDMS_Preview-<version>.tgz` and | ||||
|   `SeedDMS_Lucene-<version>.tgz` below the document root of your web server. | ||||
| 	Choose a temporary folder, as the files will be moved in a second. | ||||
| 
 | ||||
|   Create a directory e.g. `pear` in the same directory where you unpacked | ||||
|   seeddms and create a sub directory SeedDMS. Move the content except for the | ||||
|   `tests` directory of all SeedDMS pear | ||||
|   packages into that directory. Please note that `pear/SeedDMS` may not  | ||||
|   (and for security reasons should not) be below your document root. | ||||
|    | ||||
|   You will end up with a directory structure like the following | ||||
| 
 | ||||
|   > seeddms-<version> | ||||
|   > pear | ||||
|   >   SeedDMS | ||||
|   >     Core.php | ||||
|   >     Core | ||||
|   >     Lucene.php | ||||
|   >     Lucene | ||||
|   >     Preview | ||||
|   >     Preview.php | ||||
| 
 | ||||
|   Since they are pear packages they can also be installed with | ||||
| 
 | ||||
| 	> pear install SeedDMS_Core-<version>.tgz | ||||
| 	> pear install SeedDMS_Lucene-<version>.tgz | ||||
| 	> pear install SeedDMS_Preview-<version>.tgz | ||||
| 
 | ||||
| * The PEAR package Log is also needed. It can be downloaded from | ||||
|   http://pear.php.net/package/Log. Either install it as a pear package | ||||
| 	or place it under your new directory 'pear' | ||||
| 
 | ||||
|   > pear | ||||
| 	>   Log | ||||
| 	>   Log.php | ||||
| 
 | ||||
| * The package HTTP_WebDAV_Server is also needed. It can be downloaded from | ||||
|   http://pear.php.net/package/HTTP_WebDAV_Server. Either install it as a | ||||
| 	pear package or place it under your new directory 'pear' | ||||
| 
 | ||||
|   > pear | ||||
|   >   HTTP | ||||
| 	>     WebDAV | ||||
| 	>       Server | ||||
| 	>       Server.php | ||||
| 
 | ||||
|   If you run PHP in CGI mode, you also need to place a .htaccess file | ||||
| 	in the webdav directory with the following content. | ||||
| 
 | ||||
| 	RewriteEngine on | ||||
| 	RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] | ||||
| 
 | ||||
| * Create a data folder somewhere on your web server including the subdirectories | ||||
|   staging, cache and lucene and make sure they are writable by your web server, | ||||
|   but not accessible through the web. | ||||
| 
 | ||||
| For security reason the data folder should not be inside the public folders | ||||
| or should be protected by a .htaccess file. The folder containing the | ||||
| configuration (settings.xml) must be protected by an .htaccess file like the | ||||
| following. | ||||
| 
 | ||||
| 	> <Files ~ "^settings\.xml"> | ||||
| 	> Order allow,deny | ||||
| 	> Deny from all | ||||
| 	> </Files> | ||||
| 
 | ||||
| 
 | ||||
| If you install SeedDMS for the first time continue with the database setup. | ||||
| 
 | ||||
| * Create a new database on your web server | ||||
|   e.g. for mysql: | ||||
| 	create database seeddms; | ||||
| * Create a new user for the database with all permissions on the new database | ||||
|   e.g. for mysql: | ||||
| 	grant all privileges on seeddms.* to seeddms@localhost identified by 'secret'; | ||||
| 	(replace 'secret' with you own password) | ||||
| * Optionally import `create_tables-innodb.sql` in the new database | ||||
|   e.g. for mysql: | ||||
| 	> cat create_tables-innodb.sql | mysql -useeddms -p seeddms | ||||
|   This step can also be done by the install tool. | ||||
| * create a file `ENABLE_INSTALL_TOOL` in the conf directory and point | ||||
|   your browser at http://hostname/seeddms/install | ||||
| 
 | ||||
| 
 | ||||
| NOTE: UPDATING FROM A PREVIOUS VERSION OR SEEDDMS | ||||
| 
 | ||||
| As SeedDMS is a smooth continuation of LetoDMS there is no difference | ||||
| in updating from LetoDMS or SeedDMS | ||||
| 
 | ||||
| - make a backup archive of your installation folder | ||||
| - make a backup archive of your data folder | ||||
| - dump your current database | ||||
| - extract the SeedDMS archive to your web server | ||||
| - edit the conf/settings.xml file to match your previuos settings  | ||||
|   (you can even replace the file with your own one eventualy adding by hand | ||||
|   the missing new parameters) | ||||
| - create a file `ENABLE_INSTALL_TOOL` in the conf directory and point | ||||
|   your browser at http://hostname/seeddms/install | ||||
| 
 | ||||
| The install tool will detect the version of your current SeedDMS installation | ||||
| and run the required database updates. | ||||
| 
 | ||||
| 
 | ||||
| 3. Email Notification | ||||
| --------------------- | ||||
| 
 | ||||
| A notification system allows users to receive an email when a | ||||
| document or folder is changed. This is an event-based mechanism that | ||||
| notifies the user as soon as the change has been made and replaces the | ||||
| cron mechanism originally developed. Any user that has read access to a | ||||
| document or folder can subscribe to be notified of changes. Users that | ||||
| have been assigned as reviewers or approvers for a document are | ||||
| automatically added to the notification system for that document. | ||||
| 
 | ||||
| A new page has been created for users to assist with the management of | ||||
| their notification subscriptions. This can be found in the "My Account" | ||||
| section under "Notification List". | ||||
| 
 | ||||
| 
 | ||||
| 4. Nearly finished | ||||
| ------------------ | ||||
| 
 | ||||
| Now point your browser to http://hostname/seeddms/index.php | ||||
| and login with "admin" both as username and password. | ||||
| After having logged in you should first choose "My Account" and | ||||
| change the Administrator's password and email-address. | ||||
| 
 | ||||
| 
 | ||||
| CONFIGURING MULTIPLE INSTANCES | ||||
| ============================== | ||||
| 
 | ||||
| Since version 3.0.0, SeedDMS can be set up to run several parallel instances | ||||
| sharing the same source but each instance has its own configuration. This is | ||||
| quite useful if you intend to host SeedDMS for several customers. This | ||||
| approach still allows to have diffenrent version of SeedDMS installed | ||||
| and will not force you to upgrade a customer instance, because other | ||||
| instances are upgraded. A customer instance consists of | ||||
| 1. a directory containing mostly links to the SeedDMS source and a | ||||
|    configuration file | ||||
| 2. a directory containing the document content files | ||||
| 3. a database | ||||
| 
 | ||||
| 1. Unpack the SeedDMS distribution | ||||
| ---------------------------------- | ||||
| 
 | ||||
| Actually there is no need to set up the database at this point but it won't | ||||
| hurt since you'll need one in the next step anyway. The sources of SeedDMS | ||||
| can be anywhere you like. The do not have to be in you www-root. If you just | ||||
| have access to your www-root directory, then put them there. | ||||
| 
 | ||||
| 2. Setup the instance | ||||
| --------------------- | ||||
| 
 | ||||
| Unpack the files as described in the quick installation. | ||||
| 
 | ||||
| Create a directory in your www-root or use www-root for your instance. In the | ||||
| second case, you will not be able to create a second instance, because each | ||||
| instance needs its own directory. | ||||
| 
 | ||||
| Go into that directory create the following links (<seeddms-source> is the | ||||
| directory of your initial SeedDMS intallation). | ||||
| 
 | ||||
| > src -> <seeddms-source> | ||||
| > inc -> src/inc | ||||
| > op -> src/op | ||||
| > out -> src/out | ||||
| > js -> src/js | ||||
| > views -> src/views | ||||
| > languages -> src/languages | ||||
| > styles -> src/styles | ||||
| > themes -> src/themes | ||||
| > install -> src/install | ||||
| > index.php -> src/index.php | ||||
| 
 | ||||
| > ln -s ../seeddms-<version> src | ||||
| > ln -s src/inc inc | ||||
| > ln -s src/op op | ||||
| > ln -s src/out out | ||||
| > ln -s src/js js | ||||
| > ln -s src/views views | ||||
| > ln -s src/languages languages | ||||
| > ln -s src/styles styles | ||||
| > ln -s src/themes themes | ||||
| > ln -s src/install install | ||||
| > ln -s src/index.php index.php | ||||
| 
 | ||||
| Create a new directory named conf and run the installation tool. | ||||
| 
 | ||||
| Creating the links as above has the advantage that you can easily switch | ||||
| to a new version and go back if it is necessary. You could even run various | ||||
| instances of SeedDMS using different versions. | ||||
| 
 | ||||
| 3. Create a database and data store for each instance | ||||
| ----------------------------------------------------- | ||||
| 
 | ||||
| Create a database and data store for each instance and adjust the database | ||||
| settings in conf/settings.xml or run the installation tool. | ||||
| 
 | ||||
| Point your web browser towards the index.php file in your new instance. | ||||
| 
 | ||||
| LICENSING | ||||
| ========= | ||||
| 
 | ||||
| SeedDMS is licensed unter GPLv2 | ||||
| 
 | ||||
| Jumploader is licensed as stated by the author on th web site | ||||
| <http://jumploader.com/> | ||||
| 
 | ||||
| -- Taken from web site of jumploader  --- | ||||
| You may use this software for free, however, you should not: | ||||
| 
 | ||||
| - Decompile binaries. | ||||
| - Alter or replace class and/or resource files. | ||||
| - Redistribute this software under different name or authority. | ||||
| 
 | ||||
| If you would like a customized version, I can do this for a fee. Don't hesitate to contact me with questions or comments. | ||||
| 
 | ||||
| Uwe Steinmann <info@seeddms.org> | ||||
							
								
								
									
										109
									
								
								doc/README.Synology.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								doc/README.Synology.txt
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,109 @@ | |||
| ********************************************* | ||||
| How to set up SeedDMS Preview on Synology NAS | ||||
| ********************************************* | ||||
| 
 | ||||
| Introduction | ||||
| ############ | ||||
| SeedDMS provides a function creating a preview of each document which is displayed on the document page. | ||||
| 
 | ||||
| Synology stations do not support the creation of the previews by default due to a missing Ghostscript implementation. Therefore | ||||
| loading of a document page can use a lot of time because SeedDMS tries to create the missing preview images each time the document | ||||
| page is being loaded. | ||||
| 
 | ||||
| Prerequisites | ||||
| ############# | ||||
| In order to complete the steps outlined below, you must be able to carry out the following tasks: | ||||
| 
 | ||||
| * Use the command line and know essential commands | ||||
| * Install a 3rd party package system and install packages using this system | ||||
| 
 | ||||
| To complete the installation, the following prerequisites on your Synology must be met: | ||||
| 
 | ||||
| * IPKG or OPKG (OPKG preferred) installed | ||||
| * Pear Package SeedDMS_Preview already installed | ||||
| 
 | ||||
| Installation and configuration | ||||
| ############################## | ||||
| 
 | ||||
| In the following steps, you will first install the required packages, followed by doing the neccesary configurations. These steps | ||||
| must be done on the terminal. | ||||
| 
 | ||||
| Install Ghostscript | ||||
| *************************** | ||||
| 
 | ||||
| The first step is to install Ghostscript to make ImageMagick capable of converting PDF files to images. Use IPKG or OPKG to complete this | ||||
| step. | ||||
| 
 | ||||
| Make Ghostscript available to PHP | ||||
| ***************************************** | ||||
| 
 | ||||
| To check where Ghostscript is installed run *which gs* to get the installation path. Now check if this path is visible to PHP. To check this, | ||||
| use phpinfo and find **_SERVER["PATH"]**. If you can't find /opt inside, PHP can't see applications installed there. You can now either try to | ||||
| update the paths or just make a symlink. | ||||
| To create the symlink, cd to /usr/bin and type *ln -s /opt/bin/gs gs*. Verify the created symlink. | ||||
| 
 | ||||
| Fix Ghostscript package bug | ||||
| **************************************** | ||||
| 
 | ||||
| Unfortunately the version delivered by OPKG has a bug, making Ghostscript failing to work properly. The bug requries fixing at the time | ||||
| of the writing are the following: | ||||
| 
 | ||||
| * Resource path pointing to a wrong version (9.10 instead of 9.16) | ||||
| 
 | ||||
| First, fix the resource path. Go to /opt/bin and find **gs** in there. Open the file with VI. Change the GS_LIB path from */opt/share/ghostscript/9.10/Resource* | ||||
| to */opt/share/ghostscript/9.16/Resource*. This will now allow Ghostscript to find it's files in the proper path. | ||||
| 
 | ||||
| Fix ImageMagick | ||||
| ******************** | ||||
| 
 | ||||
| Not only Ghostscript is affected by bugs, the default configuration files are missing. Unfortunately some work is required here as well. | ||||
| 
 | ||||
| To check where ImageMagick looks for it's files, invoke the command *convert -debug configure logo: null:*. You will see some paths shown, these | ||||
| are the paths where ImageMagic tries to locate it's configuration files. The first path shown will point to */usr/share/ImageMagick-6* followed by the | ||||
| name of an XML file. At the very end of the output you will see which configuration file has been loaded, in the default setting there will be an error. | ||||
| 
 | ||||
| Point to */usr/share* and check if you can find the **ImageMagick-6** directory. If is not present, create it. Cd into the directory. | ||||
| 
 | ||||
| Next step is to fill the directory with files. Use the following list to download the files (credit goes to Thibault, http://blog.taillandier.name/2010/08/04/mediawiki-sur-son-nas-synology/). | ||||
| 
 | ||||
| * wget http://www.imagemagick.org/source/coder.xml | ||||
| * wget http://www.imagemagick.org/source/colors.xml | ||||
| * wget http://www.imagemagick.org/source/configure.xml | ||||
| * wget http://www.imagemagick.org/source/delegates.xml | ||||
| * wget http://www.imagemagick.org/source/english.xml | ||||
| * wget http://www.imagemagick.org/source/francais.xml | ||||
| * wget http://www.imagemagick.org/source/locale.xml | ||||
| * wget http://www.imagemagick.org/source/log.xml | ||||
| * wget http://www.imagemagick.org/source/magic.xml | ||||
| * wget http://www.imagemagick.org/source/mime.xml | ||||
| * wget http://www.imagemagick.org/source/policy.xml | ||||
| * wget http://www.imagemagick.org/source/thresholds.xml | ||||
| * wget http://www.imagemagick.org/source/type-ghostscript.xml | ||||
| * wget http://www.imagemagick.org/source/type-windows.xml | ||||
| * wget http://www.imagemagick.org/source/type.xml | ||||
| 
 | ||||
| Testing | ||||
| ************* | ||||
| 
 | ||||
| Now you should be ready to test. Put a PDF file in a directory, cd into this directory. | ||||
| 
 | ||||
| To test convert directly, invoke the following command (replace file.pdf with your filename, replace output.png with your desired name): | ||||
| 
 | ||||
| **convert file.pdf output.png** | ||||
| 
 | ||||
| If everything goes well you should now receive a png file which can be opened. There may be a warning message about iCCP which can be ignored. | ||||
| 
 | ||||
| If you want to test Ghostcript as well, invoke the follwing command: | ||||
| 
 | ||||
| **gs -sDEVICE=pngalpha -sOutputFile=output.png -r144 file.pdf** | ||||
| 
 | ||||
| This command should go through without any errors and as well output a png file. | ||||
| 
 | ||||
| If the tests above are successful, you are ready to use SeedDMS Preview. Go to your SeedDMS Installation and open a folder. For the first test you | ||||
| may take a folder with less files in it. Be patient while the previews are generated. You may check the process using *top* on the terminal. | ||||
| 
 | ||||
| At the end your document page should show the previews like shown below: | ||||
| 
 | ||||
| .. figure:: preview.png | ||||
|    :alt: Document previews | ||||
|    :scale: 75% | ||||
							
								
								
									
										
											BIN
										
									
								
								doc/preview.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/preview.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 11 KiB | 
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann