Managing Content
SeedDMS manages documents in various versions in a hierarchical folder structure, controlled by access rights. The typical way to add documents and folders is by uploading or creating them with the web user interface. But there are various other ways to add content into the dms.
Drag & Drop from a local file manager
importing from the file system on the server
copying files via WebDAV
PHP-Scripts which upload documents and create folders
a RestAPI
The following sections will first discuss how to manage document, explain the different access rights and afterwards introduce the various ways to fill SeedDMS with content.
Moving and deleting documents
Documents are organized in an hierarchical folder tree. Managing documents can be done in various ways mostly following the regular operations known from a file manager.
A document can be deleted either by clicking on the little cross in the right most column of any document list or by clicking on the ‘Delete Document’ item in the menu of the document’s details page. There will be in any case a confirmation dialog before the document is actually deleted. Deleting documents is irreversible as it removes the record from the database and wipes off the files on disc.
Moving a document into another folder can also be done from the document’s details page by clicking on the menu item ‘Move document’. The following dialog will ask for the target folder. A more convenient way is by dragging the document onto a folder in the folder tree or any folder entry in a folder/document list. Again, the operation will only be excuted after confirmation by the user. A moved document will still have the same document id, hence any bookmark on the document’s details page remain valid.
Dragging a document onto another document can trigger two different operations
transfering the latest document version from the source document to the target document and afterwards deleting the source document
adding a link from the target document to source document
The first operation will only be executed if the source document has exactly one version. The meta data of the source document version will be lost, only the comment of the document version will be retained.
Using the clipboard
Moving documents and folders can be difficult if the target folder is not in the visible area of the browser, because drag and drop is not possible in that case. The clipboard can be helpful for collecting documents and folders which are to be moved alltogether into a folder. Just add any document or folder to the clipboard, then move to the target folder and select the menu item ‘Move clipboard’ from the clipboard menu. You may as well add your target folder to the clipboard, then navigate to your document or folder you would like to move and make sure it can be dragged, open the clipboard menu and drag the source object onto the target folder in the clipboard.
Access rights
Any operation in SeedDMS is controlled by access rights which are either related to the documents and folders. SeedDMS has so called ‘Advanced Acces Rights’ which only control the functionality of the user interface. This section will just cover access rights based on documents and folders.
The access rights on documents and folders in SeedDMS are very similar to those found in most regular file systems on Linux system. The four access rights are
no access
read access
read and write access
unlimited access
They can be granted to a user or group for each document or folder individually. Beyond this, some user roles (administrator and guest) have special access rights which always apply and cannot be changed.
administrators have unlimited access on all documents/folders
the owner of a document or folder has unlimited access on those document or folder, and read access on all other documents and folders
guests have at most read access
The regular user has only read access on documents and folders, if no specific access right is set.
Depending on the operation a user is going to execute (updating a document, removing a folder, etc.), a minimum access right has to be explicitly granted or set by the user’s role. The minimum access right depends on how much impact an operation on the document or folder has.
Operations which require unlimited access are
removing a document, version, document attachment or folder
changing the access rights of a document or folder
unlocking a document locked by somebody else
overriding the document status
setting a reviewer, approver
updating or editing a document if it is locked
All other modifications to a document or folder just need read and write access.
editing the meta data
moving documents and folders around
adding a notification
etc.
Access rights can be set individually depending on the user and his/her group membership, unless the user is an administrator or the owner of a document/folder. Administrators will always have unlimited access on each document/folder and owners will always have unlimited access on his/her documents/folders. Restricting the access rights will have no effect. Guest on the other hand will never have higher privileges than reading a document/folder even if explicitly set.
If access rights are explicitly set for a document or folder, then user rights will override group rights. Within the list of user or group rights the highest right will be taken. If none of the explicitly set access rights apply to the user accessing the document or folder, then the default access right will be taken, which must be set before adding any explicit access rights.
Access rights can also be inherited from the above folders, which is the default if no explicit access rights are set.
By default, access on a document will also grant access on the document content. This sounds obvious, but sometimes a version of a document must not be visible in a certain document status, e.g. if the document has been obsoleted or has not been released. This can be controlled by the role of a user. If the access on the document content is prevented for a given role, SeedDMS will go backwards in the list of versions until a version is found which is accessible. If a version cannot be found, then the complete document will not be visible. This does not apply, if the uses has at least read/write access, or must review, approve, or revise the document content.
Adding folders
SeedDMS is shipped with a minimal database containing already the root folder for the whole dms. All other folders are subfolders of this root folder.
Folders can be added by clicking on the ‘Add Subfolder’ menu item in ‘Folder menu’.

Menu when showing a folder
This will open a page containing a form with input fields for the name, comment and position of the new folder.

Adding a subfolder
The only required field in this form is the name of the folder. The field Sequence sets the position of the new folder relative to existing subfolders, which would be listed if there were any. In this particular case, there is no other subfolder and the only option is At the end. The warning below the select menu is due to the fact, that the current sort method in the folder and document listings is not set to sequence. So setting a position is possible but will have no effect until the sort method is changed.
Once you have added user defined attributes the formular will contain more input fields.
Adding Documents
Adding documents is much more complex than adding folders. Creating a new document means to create a first version and wrap this version with a container. The container is called document while the version is often called version or content. The version contains the actual file, e.g. the pdf or office file. Some ways of adding documents to the dms hide the complexity and make assumptions about naming, positioning, etc..
Uploading by a form
The most common way to add a document is by uploading a file from your local computer.

Adding a document
The form for uploading a document is split into several sections. For now, only the upper two sections Document information and Version information are of interest. The document information will be displayed in all lists and depicts all versions of the document. The version information is only related to the particular file, that is going to be uploaded. Documents have a name, comment and position just like folders. Additionally a document can have keywords, an expiration date and can be assigned to predefined categories. The version has its own comment and a version number which is preset to 1. The only required field to be set is the local file. Not even the document name is required. It is taken from the uploaded file if not set explicitly.
If you set a comment, then keep in mind that document comments should be applicable to all futher versions of the document. Comments like ‘added more info on how to install software’ is likely to be version specific and should be stored in the version comment. A reasonable document comment would be ‘Official Handbook for storing documents in SeedDMS’.
The expiration date of a document defines when the document becomes invalid. This will not have any influence on the accessibility of the document, but will change the internal status.
Take from library
Since SeedDMS 6.0.0 documents can be created from templates in a so called library folder. Such a folder must be set in the configuration and may contain any number of documents in an arbitrary folder structure. If the library folder is set in the configuration, the upload form for new documents will have a new input field for selecting a document from the library folder. The latest version of the selected document will be used as the first version of the new document, skipping any other meta data, reviewers, etc. If this option to add new documents is enabled, the initial document status should be set to draft, because the document from the library folder is most likely an intial, unfinished version which still needs editing.
Drag & Drop
A convinient way to upload one or more files into the dms is the so called ‘Fast upload’ option, which must be turned on in the configuration. It will add a new section, next to the folder information on the folder view page. Dragging one or more files from your local computer and dropping it onto the yellow area will upload each file as a new document into the current folder. As there is no way to set any of the document nor version attributes, the document name will be taken from the file name and the document will be released right away. Since SeedDMS 6.0.0 the initial document status can be set to draft, which preserves the possibility to to set approver, reviewer, or a workflow afterwards.

View of folder if fast upload is turned on
After successful upload, a button with a link to the Edit document page will be shown.

Uploading a document by fast upload
Since Version 5.1.13 dropping a file on a folder in SeedDMS will also upload the file into that folder. During and after the upload a popup will be visible in the upper right corner listing the recent uploads and a button for editing the document.
Import from server file system
Uploading files by web formulars is often a tedious work and takes a considerable amount of time if lots of documents or large documents have to be added. In such situation it is often easier to upload the documents on the server first (e.g. by rsync, ftp, nfs) and import them from there into SeedDMS. It may even the case that the documents are already on server because, e.g. a scanner has placed them there. The requirement for this operation to work, is a folder on the servers file system, which is called Drop folder and must be configured in the configuration. The drop folder must have sub directory with the same identical to the login name of those users, who are allowed to use the drop folder. If that is the case, the upload form will have a new field for choosing a file from the drop folder instead of uploading it.

Input field for uploading a file from the drop folder
The file from the drop folder will only be used, if the Local file field remains empty. Clicking on the Choose file button is going to open a list of files within the drop folder.

Dialog for choosing a file from the drop folder
For more than one file or possibly a complete file system structure containing not just documents but also folders, there is second way to import files, which also uses the drop folder. As this can be used to import massive amounts of data, its use is restricted to administrators only. It can be found in the Misc menu item on the Admin-Tool page.

Formular for importing files from the file system on the server
As the target folder in SeedDMS is not implicitly set, it must be set in the first input field. The second field is similar to the file chooser on the Add document page, but chooses a directory instead of a file from the drop folder. The content of the selected directory is imported recursively into the target folder.
WebDAV
Another way of adding documents to the dms is via WebDAV. WebDAV is a HTTP based protocol to access file systems on a remote server. SeedDMS has a buildin WebDAV Server which provides access to all folders and documents. All common operating systems and some applications (e.g. LibreOffice) have client implementations of WebDAV.
PHP-Script
SeedDMS uses a very modular structure which seperates the database and file operations
(SeedDMS_Core) from the web application, the WebDAV Server and the REST Api. Based on
SeedDMS_Core other applications are possible. Command line PHP scripts are one way
to automate many processes and can be used to import files into SeedDMS. The utils
directory shipped with SeedDMS contains some examples for adding documents and
creating folders.
Adding new document versions
Once a document has been created new versions of that document can be uploaded.
Uploading by a form
Uploadind by a form is very similar to the creation of documents skipping the document specific part of the form. After an upload the document status is recalculated based on the new version. The old version remains in its state and cannot be modified anymore. Any remaining approvals, reviews or other workflows will no longer be considered and do not show up in the task lists of the users anymore.
Drag & Drop
Adding a new document version by Drag & Drop is actually a very specialized way of taking over the latest version of one document into another document. This operation is triggered by draging and droping a document on another document. It will just take over the content but leaving out any other meta data and workflows.
WebDAV
Copying a file from a regular file system onto a document in SeedDMS via WebDAV will create a new version of the target document. The same is true if a document was edited and saved again through WebDAV. This may lead to many new versions depending on how often the file is saved. Creating new versions can be prevented if the user, file name and mimetype remains unchanged and replacing an existing version is allowed in the configuration.
Check Out/In
Since version 6 of SeedDMS another possibility for updating a document has bee added, based on a check out/in process. First of all this requires to set up a check out area in the confirmation of SeedDMS. Such a check out area is simply a folder in the file system of the server hosting SeedDMS. Checking out a document will copy the latest version into a subfolder of that folder. The subfolder will be named by the login name of the currently logged in user. That insures that each user has its own check out area. If the check out folder is placed on a network drive and the user is able to mount that drive locally, the document could be edited with standard tools, e.g. an office suite. Once the modifications are done the document needs to be check in as a new document version.