Slink/dms/static/description/index.html

611 lines
21 KiB
HTML
Executable File

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Document Management System</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="document-management-system">
<h1 class="title">Document Management System</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:966c4331ff7c75b1ea8cb1d065c878d81250957cd305a5d6422def133e2a7d63
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/dms/tree/17.0/dms"><img alt="OCA/dms" src="https://img.shields.io/badge/github-OCA%2Fdms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/dms-17-0/dms-17-0-dms"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/dms&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>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.</p>
<p>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.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#installation" id="toc-entry-1">Installation</a><ul>
<li><a class="reference internal" href="#preview" id="toc-entry-2">Preview</a></li>
</ul>
</li>
<li><a class="reference internal" href="#configuration" id="toc-entry-3">Configuration</a></li>
<li><a class="reference internal" href="#configuration-1" id="toc-entry-4">Configuration</a><ul>
<li><a class="reference internal" href="#create-a-storage" id="toc-entry-5">1. Create a storage</a></li>
<li><a class="reference internal" href="#create-an-access-group" id="toc-entry-6">2. Create an access group</a></li>
<li><a class="reference internal" href="#create-a-directory" id="toc-entry-7">3. Create a directory</a></li>
</ul>
</li>
<li><a class="reference internal" href="#migration" id="toc-entry-8">Migration</a></li>
<li><a class="reference internal" href="#file-wizard-selection" id="toc-entry-9">File Wizard Selection</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-10">Usage</a><ul>
<li><a class="reference internal" href="#portal-functionality" id="toc-entry-11">Portal functionality</a></li>
</ul>
</li>
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-12">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-13">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-14">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-15">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-16">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-17">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-18">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="installation">
<h1><a class="toc-backref" href="#toc-entry-1">Installation</a></h1>
<div class="section" id="preview">
<h2><a class="toc-backref" href="#toc-entry-2">Preview</a></h2>
<p><tt class="docutils literal"><span class="pre">python-magic</span></tt> library is recommended to be installed for having whole
support to get proper file types and file preview.</p>
</div>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#toc-entry-3">Configuration</a></h1>
</div>
<div class="section" id="configuration-1">
<h1><a class="toc-backref" href="#toc-entry-4">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<div class="section" id="create-a-storage">
<h2><a class="toc-backref" href="#toc-entry-5">1. Create a storage</a></h2>
<ol class="arabic simple">
<li>Go to <em>Documents -&gt; Configuration -&gt; Storages</em>.</li>
<li>Create a new document storage. You can choose between three options
on <tt class="docutils literal">Save Type</tt>:<ul>
<li><tt class="docutils literal">Database</tt>: Store the files on the database as a field</li>
<li><tt class="docutils literal">Attachment</tt>: Store the files as attachments</li>
<li><tt class="docutils literal">File</tt>: Store the files on the file system</li>
</ul>
</li>
</ol>
</div>
<div class="section" id="create-an-access-group">
<h2><a class="toc-backref" href="#toc-entry-6">2. Create an access group</a></h2>
<ol class="arabic simple">
<li>Next, create an administrative access group. Go to <em>Configuration -&gt;
Access Groups</em>.<ul>
<li>Create a new group, name it appropriately, and turn on all three
permissions (Create, Write and Unlink. Read is implied and always
enabled).</li>
<li>Add any other top-level administrative users to the group if needed
(your user should already be there).</li>
<li>You can create other groups in here later for fine-grained access
control.</li>
</ul>
</li>
</ol>
</div>
<div class="section" id="create-a-directory">
<h2><a class="toc-backref" href="#toc-entry-7">3. Create a directory</a></h2>
<ol class="arabic simple">
<li>Afterward, go to <em>Documents -&gt; Directories</em>.</li>
<li>Create a new directory, mark it as root and select the previously
created setting.<ul>
<li>Select the <em>Groups</em> 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 (<em>Configuration -&gt; Access
Groups</em>).</li>
</ul>
</li>
<li>In the directory settings, you can also add other access groups
(created above) that will be able to:<ul>
<li>read</li>
<li>create</li>
<li>write</li>
<li>delete</li>
</ul>
</li>
</ol>
</div>
</div>
<div class="section" id="migration">
<h1><a class="toc-backref" href="#toc-entry-8">Migration</a></h1>
<p>If you need to modify the storage <tt class="docutils literal">Save Type</tt> you might want to
migrate the file data. To achieve it, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Documents -&gt; Configuration -&gt; Storage</em> and select the storage
you want to modify</li>
<li>Modify the save type</li>
<li>Press the button Migrate files if you want to migrate all the files
at once</li>
<li>Press the button Manual File Migration to specify files one by one</li>
</ol>
<p>You can check all the files that still need to be migrated from all
storages and migrate them manually on <em>Documents -&gt; Configuration -&gt;
Migration</em></p>
</div>
<div class="section" id="file-wizard-selection">
<h1><a class="toc-backref" href="#toc-entry-9">File Wizard Selection</a></h1>
<p>There is an action called <tt class="docutils literal">action_dms_file_wizard_selector</tt> 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.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-10">Usage</a></h1>
<p>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.</p>
<div class="section" id="portal-functionality">
<h2><a class="toc-backref" href="#toc-entry-11">Portal functionality</a></h2>
<p>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.</p>
</div>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#toc-entry-12">Known issues / Roadmap</a></h1>
<ul class="simple">
<li>Files preview in portal</li>
<li>Allow to download folder in portal and create zip file with all
content</li>
<li>Save in cache own_root directories and update in every
create/write/unlink function</li>
<li>Add a migration procedure for converting an storage to attachment one
for populating existing records with attachments as folders</li>
<li>Add a link from attachment view in chatter to linked documents</li>
<li>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.</li>
<li>Since portal users can read <tt class="docutils literal">dms.storage</tt> 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.</li>
<li>Searchpanel in files: Highlight items (shading) without records when
filtering something (by name for example).</li>
<li>Accessing the clipboard (for example copy share link of
file/directory) is limited to secure connections. It also happens in
any part of Odoo.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-13">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/dms/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/dms/issues/new?body=module:%20dms%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-14">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-15">Authors</a></h2>
<ul class="simple">
<li>MuK IT</li>
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-16">Contributors</a></h2>
<ul class="simple">
<li>Mathias Markl &lt;<a class="reference external" href="mailto:mathias.markl&#64;mukit.at">mathias.markl&#64;mukit.at</a>&gt;</li>
<li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
<li>Antoni Romera</li>
<li>Gelu Boros &lt;<a class="reference external" href="mailto:gelu.boros&#64;rgbconsulting.com">gelu.boros&#64;rgbconsulting.com</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Víctor Martínez</li>
<li>Pedro M. Baeza</li>
<li>Jairo Llopis</li>
</ul>
</li>
<li><a class="reference external" href="https://www.elegosoft.com">Elego</a>:<ul>
<li>Yu Weng &lt;<a class="reference external" href="mailto:yweng&#64;elegosoft.com">yweng&#64;elegosoft.com</a>&gt;</li>
<li>Philip Witte &lt;<a class="reference external" href="mailto:phillip.witte&#64;elegosoft.com">phillip.witte&#64;elegosoft.com</a>&gt;</li>
<li>Khanh Bui &lt;<a class="reference external" href="mailto:khanh.bui&#64;mail.elegosoft.com">khanh.bui&#64;mail.elegosoft.com</a>&gt;</li>
</ul>
</li>
<li><a class="reference external" href="https://www.subteno.com">Subteno</a>:<ul>
<li>Timothée Vannier &lt;<a class="reference external" href="mailto:tva&#64;subteno.com">tva&#64;subteno.com</a>&gt;</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="other-credits">
<h2><a class="toc-backref" href="#toc-entry-17">Other credits</a></h2>
<p>Some pictures are based on or inspired by:</p>
<ul class="simple">
<li><a class="reference external" href="https://www.flaticon.com/authors/roundicons">Roundicons</a></li>
<li><a class="reference external" href="https://www.flaticon.com/authors/smashicons">Smashicons</a></li>
<li><a class="reference external" href="https://github.com/EmojiTwo/emojitwo">EmojiOne</a> : Portal DMS icon</li>
<li><a class="reference external" href="https://github.com/primer/octicons/">GitHub Octicons</a> : The main
DMS icon</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-18">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/dms/tree/17.0/dms">OCA/dms</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>