Document Management System for Odoo
Project description
DMS is a module for creating, managing and viewing document files directly within Odoo. This module is only the basis for an entire ecosystem of apps that extend and seamlessly integrate with the document management system.
This module adds portal functionality for directories and files for allowed users, both portal or internal users. You can get as well a tokenized link from a directory or a file for sharing it with any anonymous user.
Table of contents
Installation
Preview
python-magic library is recommended to be installed for having whole support to get proper file types and file preview.
Configuration
Configuration
To configure this module, you need to:
1. Create a storage
Go to Documents -> Configuration -> Storages.
Create a new document storage. You can choose between three options on Save Type:
Database: Store the files on the database as a field
Attachment: Store the files as attachments
File: Store the files on the file system
2. Create an access group
Next, create an administrative access group. Go to Configuration -> Access Groups.
Create a new group, name it appropriately, and turn on all three permissions (Create, Write and Unlink. Read is implied and always enabled).
Add any other top-level administrative users to the group if needed (your user should already be there).
You can create other groups in here later for fine-grained access control.
3. Create a directory
Afterward, go to Documents -> Directories.
Create a new directory, mark it as root and select the previously created setting.
Select the Groups tab and add your administrative group created above. If your directory was already created before the group, you can also add it in the access groups (Configuration -> Access Groups).
In the directory settings, you can also add other access groups (created above) that will be able to:
read
create
write
delete
Migration
If you need to modify the storage Save Type you might want to migrate the file data. To achieve it, you need to:
Go to Documents -> Configuration -> Storage and select the storage you want to modify
Modify the save type
Press the button Migrate files if you want to migrate all the files at once
Press the button Manual File Migration to specify files one by one
You can check all the files that still need to be migrated from all storages and migrate them manually on Documents -> Configuration -> Migration
File Wizard Selection
There is an action called action_dms_file_wizard_selector to open a wizard to list files in kanban view. This can be used (example dms_attachment_link module) to add a button in kanban view with the action we need.
Usage
The best way to manage the documents is to switch to the Documents view. Existing documents can be managed there and new documents can be created.
Portal functionality
You can add any portal user to DMS access groups, and then allow that group in directories, so they will see in the portal such directories and their files. Another possibility is to click on “Share” button inside a directory or a file for obtaining a tokenized link for single access to that resource, no matter if logged or not.
Known issues / Roadmap
Files preview in portal
Allow to download folder in portal and create zip file with all content
Save in cache own_root directories and update in every create/write/unlink function
Add a migration procedure for converting an storage to attachment one for populating existing records with attachments as folders
Add a link from attachment view in chatter to linked documents
If Inherit permissions from related record (the inherit_access_from_parent_record field from storage) is changed when directories already exist, inconsistencies may occur because groups defined in the directories and subdirectories will still exist, all groups in these directories should be removed before changing.
Since portal users can read dms.storage records, if your module extends this model to another storage backend that needs using secrets, remember to forbid access to the secrets fields by other means. It would be nice to be able to remove that rule at some point.
Searchpanel in files: Highlight items (shading) without records when filtering something (by name for example).
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Mathias Markl <mathias.markl@mukit.at>
Enric Tobella <etobella@creublanca.es>
Antoni Romera
Gelu Boros <gelu.boros@rgbconsulting.com>
-
Víctor Martínez
Pedro M. Baeza
Jairo Llopis
-
Yu Weng <yweng@elegosoft.com>
Philip Witte <phillip.witte@elegosoft.com>
Khanh Bui <khanh.bui@mail.elegosoft.com>
-
Timothée Vannier <tva@subteno.com>
Other credits
Some pictures are based on or inspired by:
EmojiOne : Portal DMS icon
GitHub Octicons : The main DMS icon
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/dms project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file odoo_addon_dms-17.0.1.1.0.4-py3-none-any.whl
.
File metadata
- Download URL: odoo_addon_dms-17.0.1.1.0.4-py3-none-any.whl
- Upload date:
- Size: 15.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5f73280e20b3f38d99db43f10f9cde388ef18db0c783d0261fed60bee91a107 |
|
MD5 | 56b454f6c8943b3bc34042c24aee2375 |
|
BLAKE2b-256 | ab1e8b37fcbd0202319c52f2ef3fa1f4b8cefc48cd62d019ccd286cf457c22dd |