Documentation updates
This commit is contained in:
BIN
docs/_static/indexes.png
vendored
BIN
docs/_static/indexes.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 71 KiB |
@@ -1,8 +1,8 @@
|
||||
.. _contents:
|
||||
|
||||
=================================
|
||||
Mayan EDMS documentation contents
|
||||
=================================
|
||||
========
|
||||
Contents
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 51 KiB |
@@ -37,7 +37,6 @@ First steps
|
||||
|
||||
:doc:`Overview <topics/overview>` |
|
||||
:doc:`Features <topics/features>` |
|
||||
:doc:`Requirements <topics/requirements>` |
|
||||
:doc:`Installation <topics/installation>` |
|
||||
:doc:`Getting started <topics/getting_started>`
|
||||
|
||||
@@ -45,7 +44,6 @@ Understanding Mayan EDMS
|
||||
========================
|
||||
|
||||
:doc:`File storage <topics/file_storage>` |
|
||||
:doc:`Initial data loading <topics/initial_import>` |
|
||||
:doc:`Permission system <topics/permissions>` |
|
||||
:doc:`Transformations <topics/transformations>` |
|
||||
:doc:`Document visualization <topics/document_visualization>` |
|
||||
@@ -68,7 +66,7 @@ Customization and fine tunning
|
||||
For developers
|
||||
==============
|
||||
|
||||
:doc:`Development <topics/development>` | :doc:`Documentation <topics/documentation>` | :doc:`Translations <topics/translations>`
|
||||
:doc:`Development <topics/development>`
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
@@ -16,7 +16,7 @@ check outs have been added too as per the feature request posted as `issue #26`_
|
||||
The way the history events for a document are presented has been improved and
|
||||
it is now more useful as it provides filtering by event type. To improve
|
||||
the diagnosis of installation of runtime error a simple view showing the
|
||||
number of internal interval jobs being used by Mayan EDMS as well as a
|
||||
number of internal interval jobs being used by Mayan EDMS as well as a
|
||||
new app which shows a detail of the current installation enviroment were added.
|
||||
|
||||
What's new in Mayan EDMS v0.12.2
|
||||
@@ -35,9 +35,6 @@ created an administrator account of username 'admin' with a password of
|
||||
'admin'. The new default is to randomize an initial password and show this password
|
||||
at the login screen until the administrator password is changed.
|
||||
|
||||
.. image:: mayan_first_login.png
|
||||
:alt: First login dialog
|
||||
|
||||
Document check outs
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
As per the feature request filed under `issue #26`_, a new document
|
||||
@@ -47,7 +44,7 @@ editing conflicts. Document check outs have an expiration period after which
|
||||
**Mayan EDMS** will automatically check them back in to avoid a permanent
|
||||
document lockout. Only the user who has checked out a document can upload
|
||||
new versions of it or check the document back in before the expiration period,
|
||||
unless being granted the ``Allow overriding check out restrictions`` or
|
||||
unless being granted the ``Allow overriding check out restrictions`` or
|
||||
``Forcefully check in documents`` permission respectively.
|
||||
|
||||
Installation environment app
|
||||
@@ -109,7 +106,7 @@ Bugs fixed
|
||||
* `issue #26`_ "checkout feature request"
|
||||
|
||||
Stuff removed
|
||||
=============
|
||||
=============
|
||||
* Feedback app
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB |
@@ -8,7 +8,7 @@ Contributors
|
||||
How to contribute?
|
||||
------------------
|
||||
|
||||
You can help further the development of **Mayan EDMS** by reporting bugs, submitting documentation, patches, with monetary or hardware donations.
|
||||
You can help further the development of **Mayan EDMS** by testing, reporting bugs, submitting documentation or code patches.
|
||||
|
||||
Lead developer
|
||||
--------------
|
||||
@@ -33,59 +33,3 @@ Contributors (in alphabetical order)
|
||||
* Sergey Glita (s.v.glita@gmail.com)
|
||||
* Simone Federici [https://twitter.com/aldaranalton] [https://github.com/simone]
|
||||
* Webfaction (https://www.webfaction.com)
|
||||
|
||||
Translations
|
||||
------------
|
||||
* Bulgarian
|
||||
|
||||
- Iliya Georgiev (ikgeorgiev@gmail.com)
|
||||
- Pavlin Koldamov (pkoldamov@gmail.com)
|
||||
|
||||
* Dutch (Netherlands)
|
||||
|
||||
- Lucas Weel
|
||||
|
||||
* French
|
||||
|
||||
- Pierre Lhoste (peter.cathbad.host@gmail.com)
|
||||
- PatrickHetu (patrick.hetu@gmail.com)
|
||||
|
||||
* German (Germany)
|
||||
|
||||
- Tetja Rediske (tetja.rediske@googlemail.com)
|
||||
- Tilmann Sittig (tilmann.sittig@web.de)
|
||||
- Manticor (sl@suchreflex.de)
|
||||
- Mathias Behrle <mbehrle@m9s.biz>
|
||||
- Tobias Paepke <https://twitter.com/paepke_net>
|
||||
|
||||
* Italian
|
||||
|
||||
- Pierpaolo Baldan (pierpaolo.baldan@gmail.com)
|
||||
- SeeOpen.IT (Numero Verde: 800.910.125, E-mail: sales@seeopen.it)
|
||||
- Carlo Zanatto
|
||||
|
||||
* Polish
|
||||
|
||||
- mic (diveaway12@gmail.com, winterfall24@gmail.com)
|
||||
|
||||
* Portuguese
|
||||
|
||||
- Vítor Figueiró (vfigueiro@gmail.com)
|
||||
|
||||
* Portuguese (Brazil)
|
||||
|
||||
- Emerson Soares (dev.emerson@gmail.com)
|
||||
- Renata Oliveira (renatabels@gmail.com)
|
||||
- Fábio (bnafta@gmail.com)
|
||||
|
||||
* Russian
|
||||
|
||||
- Sergey Glita (s.v.glita@gmail.com)
|
||||
|
||||
* Slovenian (Slovenia)
|
||||
|
||||
- kontrabant (kontrabant@gmail.com)
|
||||
|
||||
* Spanish
|
||||
|
||||
- Roberto Rosario
|
||||
|
||||
@@ -7,13 +7,235 @@ Development
|
||||
|
||||
If you have a feature request, suggestion, or bug reports, please open a new
|
||||
issue on the `GitHub issue tracker`_. To submit patches, please send a pull
|
||||
request on GitHub_. Contributors are credited accordingly on the :ref:`contributors` section.
|
||||
|
||||
Follow the coding conventions document available at: https://github.com/mayan-edms/mayan-edms/wiki/Coding-conventions
|
||||
request on GitHub_. Make sure to add yourself to the :ref:`contributors` file.
|
||||
|
||||
.. _GitHub: https://github.com/mayan-edms/mayan-edms/
|
||||
.. _`GitHub issue tracker`: https://github.com/mayan-edms/mayan-edms/issues
|
||||
|
||||
Coding conventions
|
||||
------------------
|
||||
|
||||
Follow PEP8
|
||||
~~~~~~~~~~~
|
||||
Whenever possible, but don't obsess over things like line length.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ flake8 --ignore=E501,E128,E122 |less
|
||||
|
||||
Imports
|
||||
~~~~~~~
|
||||
|
||||
Import order should be:
|
||||
|
||||
- Standard Python modules
|
||||
- Installed Python modules
|
||||
- Core Django modules
|
||||
- Installed Django modules
|
||||
- Mayan EDMS modules
|
||||
- Local imports
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
# Standard Python library
|
||||
import base64
|
||||
|
||||
# 3rd party installed Python libraries
|
||||
import requests
|
||||
|
||||
# Django core modules
|
||||
from django.db.models import Q
|
||||
from django.template.defaultfilters import slugify
|
||||
from django.utils.translation import ugettext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
# 3rd party installed Django libraries
|
||||
from rest_framework import APIView
|
||||
|
||||
# Mayan apps
|
||||
from metadata.classes import MetadataClass
|
||||
|
||||
# Local app imports (relative)
|
||||
from .conf.settings import (
|
||||
AVAILABLE_INDEXING_FUNCTIONS,
|
||||
MAX_SUFFIX_COUNT, SLUGIFY_PATHS
|
||||
)
|
||||
from .exceptions import MaxSuffixCountReached
|
||||
from .filesystem import (
|
||||
fs_create_index_directory, fs_create_document_link,
|
||||
fs_delete_document_link, fs_delete_index_directory,
|
||||
assemble_suffixed_filename
|
||||
)
|
||||
from .models import Index, IndexInstanceNode, DocumentRenameCount
|
||||
|
||||
All local app module imports are in relative form, local app module name is to be referenced as little as possible, unless required by a specific feature, trick, restriction, ie: Runtime modification of the module's attributes.
|
||||
|
||||
Incorrect:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
||||
# documents app views.py model
|
||||
from documents.models import Document
|
||||
|
||||
Correct:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# documents app views.py model
|
||||
from .models import Document
|
||||
|
||||
|
||||
Dependencies
|
||||
~~~~~~~~~~~~
|
||||
**Mayan EDMS** apps follow a hierarchical model of dependency. Apps import from their parents or siblings, never from their children. Think plugins. A parent app must never assume anything about a possible existing child app. The documents app and the Document model are the basic entities they must never import anything else. The common and main apps are the base apps.
|
||||
|
||||
|
||||
Variables
|
||||
~~~~~~~~~
|
||||
Naming of variables should follow a Major to Minor convention, usually including the purpose of the variable as the first piece of the name, using underscores as spaces. camelCase is not used in **Mayan EDMS**.
|
||||
|
||||
Examples:
|
||||
|
||||
Links:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
link_document_page_transformation_list = ...
|
||||
link_document_page_transformation_create = ...
|
||||
link_document_page_transformation_edit = ...
|
||||
link_document_page_transformation_delete = ...
|
||||
|
||||
Constants:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
PERMISSION_SMART_LINK_VIEW = ...
|
||||
PERMISSION_SMART_LINK_CREATE = ...
|
||||
PERMISSION_SMART_LINK_DELETE = ...
|
||||
PERMISSION_SMART_LINK_EDIT = ...
|
||||
|
||||
Classes:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
class Document(models.Model):
|
||||
class DocumentPage(models.Model):
|
||||
class DocumentPageTransformation(models.Model):
|
||||
class DocumentType(models.Model):
|
||||
class DocumentTypeFilename(models.Model):
|
||||
|
||||
|
||||
Strings
|
||||
~~~~~~~
|
||||
Quotation character used in **Mayan EDMS** for strings is the single quote. Double quote is used for multiline comments or HTML markup.
|
||||
|
||||
|
||||
General
|
||||
~~~~~~~
|
||||
|
||||
Code should appear in their modules in alphabetic order or in their order of importance if it makes more sense for the specific application.
|
||||
This makes visual scanning easier on modules with a large number of imports, views or classes.
|
||||
Class methods that return a value should be prepended with a ``get_`` to differentiate from an object’s properties.
|
||||
When a variable refers to a file it should be named as follows:
|
||||
|
||||
- filename: The file’s name and extension only.
|
||||
- filepath: The entire path to the file including the filename.
|
||||
- path: A path to a directory.
|
||||
|
||||
Flash messages should end with a period as applicable for the language.
|
||||
Only exception is when the tail of the message contains an exceptions message as passed directly from the exception object.
|
||||
|
||||
App anatomy
|
||||
~~~~~~~~~~~
|
||||
|
||||
- __init__.py
|
||||
|
||||
- Generic initialization code (should be empty if possible)
|
||||
|
||||
- api.py
|
||||
|
||||
- File to hold functions that are meant to be used by external apps.
|
||||
- Interfaces meant to be used by other apps that are not models or classes.
|
||||
|
||||
- classes.py
|
||||
|
||||
- Hold python classes to be used internally or externally.
|
||||
- Any class defined by the app that is not a model.
|
||||
|
||||
- diagnostics.py
|
||||
|
||||
- Define functions that will return the state of the data of an app.
|
||||
- Does not fixes the problems only finds them.
|
||||
|
||||
- events.py
|
||||
|
||||
- Define history type events
|
||||
|
||||
- exceptions.py
|
||||
|
||||
- Exceptions defined by the app
|
||||
|
||||
- icons.py
|
||||
|
||||
- Defines the icons to be used by the links and views of the app.
|
||||
- Imports from the icons app only.
|
||||
|
||||
- links.py
|
||||
|
||||
- Defines the links to be used by the app.
|
||||
- Import only from the navigation app and the local icons.py file.
|
||||
|
||||
- literals.py
|
||||
|
||||
- Stores magic numbers, module choices (if static), settings defaults, and constants.
|
||||
- Should contain all capital case variables.
|
||||
- Must not import from any other module.
|
||||
|
||||
- maintenance.py
|
||||
|
||||
- Hold functions that the user may run periodically to fix errors in the app’s data.
|
||||
|
||||
- permissions.py
|
||||
|
||||
- Defines the permissions to be used by links and views to validate access.
|
||||
- Imports only from permissions app.
|
||||
- Link or view conditions such as testing for staff or super admin status are defined in the same file.
|
||||
|
||||
- statistics.py
|
||||
|
||||
- Provides functions that will computer any sort of statistical information on the app’s data.
|
||||
|
||||
- tasks.py
|
||||
|
||||
- Code to be execute as in the background or a as an process-of-process action.
|
||||
|
||||
- utils.py
|
||||
|
||||
- Hold utilitarian code that doesn't fit on any other app file or that is used by several files in the app.
|
||||
- Anything used internally by the app that is not a class or a literal (should be as little as possible)
|
||||
|
||||
Views behavior
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
- Delete views:
|
||||
|
||||
- Redirect to object list view if one object is deleted.
|
||||
- Redirect to previous view if many are deleted.
|
||||
- Previous view equals:
|
||||
|
||||
- previous variable in POST or
|
||||
- previous variable in GET or
|
||||
- request.META.HTTP_REFERER or
|
||||
- object list view or
|
||||
- 'home' view
|
||||
- fallback to ‘/’
|
||||
- if previous equal same view then previous should equal object list view or ‘/’
|
||||
|
||||
|
||||
Source Control
|
||||
--------------
|
||||
@@ -36,11 +258,13 @@ Git branch structure
|
||||
Current production release (|version|).
|
||||
``feature/``
|
||||
Unfinished/unmerged feature.
|
||||
``series/``
|
||||
Released versions.
|
||||
|
||||
|
||||
Each release is tagged and available for download on the Downloads_ section of the **Mayan EDMS** repository on GitHub_
|
||||
|
||||
When submitting patches, please place your feature/change in its own branch prior to opening a pull request on GitHub_.
|
||||
When submitting patches, please place your code in its own ``feature/`` branch prior to opening a pull request on GitHub_.
|
||||
|
||||
.. _Git: http://git-scm.org
|
||||
.. _`Successful Git Branching Model`: http://nvie.com/posts/a-successful-git-branching-model/
|
||||
@@ -148,6 +372,11 @@ lines to your ``settings_local.py`` file::
|
||||
'propagate': True,
|
||||
'level':'DEBUG',
|
||||
},
|
||||
'common': {
|
||||
'handlers':['console'],
|
||||
'propagate': True,
|
||||
'level':'DEBUG',
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,3 +392,35 @@ Likewise, to see the debug output of the ``tags`` app, just add the following in
|
||||
|
||||
|
||||
.. _`logging capabilities`: https://docs.djangoproject.com/en/dev/topics/logging
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
**Mayan EDMS**'s documentation is written in `reStructured Text`_ format.
|
||||
|
||||
The documentation lives in the ``docs`` directory. In order to build it, you will first need to install Sphinx_. ::
|
||||
|
||||
$ pip install sphinx
|
||||
|
||||
|
||||
Then, to build an HTML version of the documentation, simply run the following from the **docs** directory::
|
||||
|
||||
$ make html
|
||||
|
||||
Your ``docs/_build/html`` directory will then contain an HTML version of the documentation, ready for publication on most web servers.
|
||||
|
||||
You can also generate the documentation in formats other than HTML.
|
||||
|
||||
.. _`reStructured Text`: http://docutils.sourceforge.net/rst.html
|
||||
.. _Sphinx: http://sphinx.pocoo.org
|
||||
|
||||
|
||||
Translations
|
||||
------------
|
||||
|
||||
Translations are now being handled online via the **Transifex** website: https://www.transifex.com/projects/p/mayan-edms/.
|
||||
To create a translation team for a new language or contribute to an already
|
||||
existing language translation, create a **Transifex** account and contact
|
||||
the team coordinator of the respective language in which you are interested.
|
||||
|
||||
|
||||
@@ -28,13 +28,6 @@ or frames, and text extraction and OCR is done per page not per document,
|
||||
thats why even text documents need to be rendered by LibreOffice_
|
||||
before they can be previewed and text can be extracted.
|
||||
|
||||
Version 0.12.1 introduced a new method of converting office documents, this
|
||||
new method doesn't require the use of the command line utility ``UNOCONV``.
|
||||
This new method proved to continue working better than previous solution
|
||||
and the use of ``UNOCONV`` have been removed. Existing conversion method
|
||||
uses just one configuration option: :setting:`CONVERTER_LIBREOFFICE_PATH`
|
||||
which defaults to '/usr/bin/libreoffice'.
|
||||
|
||||
|
||||
.. _PDF: http://en.wikipedia.org/wiki/Portable_Document_Format
|
||||
.. _LibreOffice: http://www.libreoffice.org/
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
=============
|
||||
Documentation
|
||||
=============
|
||||
|
||||
**Mayan EDMS**'s documentation is written in `reStructured Text`_ format.
|
||||
|
||||
The documentation lives in the ``docs`` directory. In order to build it, you will first need to install Sphinx_. ::
|
||||
|
||||
$ pip install sphinx
|
||||
|
||||
|
||||
Then, to build an HTML version of the documentation, simply run the following from the **docs** directory::
|
||||
|
||||
$ make html
|
||||
|
||||
Your ``docs/_build/html`` directory will then contain an HTML version of the documentation, ready for publication on most web servers.
|
||||
|
||||
You can also generate the documentation in formats other than HTML.
|
||||
|
||||
.. _`reStructured Text`: http://docutils.sourceforge.net/rst.html
|
||||
.. _Sphinx: http://sphinx.pocoo.org
|
||||
@@ -4,15 +4,12 @@ FAQ
|
||||
|
||||
Frequently asked questions and solutions
|
||||
|
||||
Database related
|
||||
----------------
|
||||
|
||||
**Q: PostgreSQL vs. MySQL**
|
||||
|
||||
Since Django abstracts database operations from a functional point of view
|
||||
**Mayan EDMS** will behave exactly the same either way. The only concern
|
||||
would be that MySQL doesn't support transactions for schema modifying
|
||||
commands. The only moment this could cause problems is when running
|
||||
commands. The only moment this could cause problems is when running
|
||||
South migrations during upgrades, if a migration fails the database
|
||||
structure is left in a transitory state and has to be reverted manually
|
||||
before trying again.
|
||||
@@ -49,16 +46,13 @@ When using ``MySQL`` and doing OCR on languages other than English
|
||||
- Ref: 2- http://markmail.org/message/bqajx2utvmtriixi
|
||||
|
||||
|
||||
**Q: Error "django.db.utils.IntegrityError IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`...`.`...`, CONSTRAINT `..._refs_id_b0252274` FOREIGN KEY (`...`) REFERENCES `...` (`...`))')
|
||||
**Q: Error "django.db.utils.IntegrityError IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`...`.`...`, CONSTRAINT `..._refs_id_b0252274` FOREIGN KEY (`...`) REFERENCES `...` (`...`))')**
|
||||
|
||||
* Solution:
|
||||
|
||||
- Convert all MySQL tables to the same type, either all MyISAM or InnoDB
|
||||
|
||||
|
||||
Document sharing
|
||||
----------------
|
||||
|
||||
**Q: File system links not showing when serving content with ``Samba``**
|
||||
|
||||
* Solution:
|
||||
@@ -82,9 +76,6 @@ Document sharing
|
||||
- Ref: 1- http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
|
||||
|
||||
|
||||
Document handling
|
||||
-----------------
|
||||
|
||||
**Q: How do you upload a new version of an existing file?**
|
||||
|
||||
* Solution:
|
||||
@@ -97,9 +88,6 @@ Document handling
|
||||
|
||||
|
||||
|
||||
Deployments
|
||||
-----------
|
||||
|
||||
**Q: Is virtualenv required as specified in the documentation?**
|
||||
|
||||
* It is not necessary, it's just a strong recommendation mainly to reduce
|
||||
@@ -125,9 +113,6 @@ and https://docs.djangoproject.com/en/1.2/howto/static-files/ or
|
||||
http://mayan-edms-ru.blogspot.com/2011/11/blog-post_09.html
|
||||
|
||||
|
||||
Other
|
||||
-----
|
||||
|
||||
**Q: Can you change the display order of documents...i.e can they be in alphabetical order?**
|
||||
|
||||
A the moment no, but it is something being considered.
|
||||
|
||||
@@ -28,10 +28,6 @@ Features
|
||||
|
||||
* Metadata fields can have an initial value, which can be static or determined by an user provided Python code snippet.
|
||||
|
||||
* Filesystem integration.
|
||||
|
||||
* If enabled, the document database index can be mirrored in the filesystem of the host and shared via Samba_ or any other sharing method to client computers on a network.
|
||||
|
||||
* Documents can be uploaded from different sources.
|
||||
|
||||
* Local file or server side file uploads, multifunctional copier, or even via email.
|
||||
@@ -40,7 +36,7 @@ Features
|
||||
|
||||
* Clone a document's metadata for speedier uploads and eliminate repetitive data entry.
|
||||
|
||||
* Previews for a great deal of image formats, including PDF.
|
||||
* Previews for a great deal of image formats.
|
||||
|
||||
* **Mayan EDMS** provides different file conversion backends with different levels of functionality and requirements to adapt to different deployment environments.
|
||||
|
||||
@@ -70,7 +66,7 @@ Features
|
||||
|
||||
* Multilingual user interface.
|
||||
|
||||
* **Mayan EDMS** is written using the Django_ framework, which natively supports Unicode. Together with the use of text templates **Mayan EDMS** can be translated to practically any language spoken in the world.
|
||||
* **Mayan EDMS** being written using the Django_ framework, can be translated to practically any language spoken in the world.
|
||||
For a list of translated languages have a look at Transifex_.
|
||||
|
||||
* :doc:`Multilingual OCR support <../topics/ocr>`.
|
||||
|
||||
@@ -8,24 +8,20 @@ Introductions to all the key parts of Mayan EDMS you'll need to know:
|
||||
|
||||
contributors
|
||||
development
|
||||
documentation
|
||||
document_visualization
|
||||
faq
|
||||
features
|
||||
file_storage
|
||||
getting_started
|
||||
indexes
|
||||
initial_import
|
||||
installation
|
||||
license
|
||||
ocr
|
||||
overview
|
||||
permissions
|
||||
requirements
|
||||
settings
|
||||
signatures
|
||||
smart_links
|
||||
tags
|
||||
transformations
|
||||
translations
|
||||
versioning
|
||||
|
||||
@@ -29,35 +29,6 @@ branch of the index evaluated against the metadata and properties of the documen
|
||||
.. image:: ../_static/index_instance.png
|
||||
:alt: index instance
|
||||
|
||||
Index serving
|
||||
=============
|
||||
|
||||
Indexes can be mirrored to the operating system filesystem
|
||||
using the configuration option
|
||||
:setting:`DOCUMENT_INDEXING_FILESYSTEM_SERVING`.
|
||||
|
||||
``settings_local.py``::
|
||||
|
||||
# Supposing the 'Sample index' internal name is 'sample_index'
|
||||
DOCUMENT_INDEXING_FILESYSTEM_SERVING = {
|
||||
'sample_index': '/var/local/document/sharing/invoices/',
|
||||
}
|
||||
|
||||
This creates an actual directory tree and links to the actual stored files but using
|
||||
the filename of the documents as stored in the database.
|
||||
|
||||
.. image:: ../_static/indexes.png
|
||||
:alt: indexes diagram
|
||||
|
||||
This filesystem mirror of the index can them be served with Samba_ across the
|
||||
network. This access would be read-only, with new versions of the files
|
||||
being uploaded from the web GUI using the document versioning support.
|
||||
|
||||
The index cannot be edited manually to protect it's integrity, only changing
|
||||
the rules or the metadata of the documents would cause the index to be
|
||||
regenerated. For manual organization of documents there are the folders,
|
||||
their structure is however flat, and they have to be manually updated and
|
||||
curated.
|
||||
|
||||
.. _Samba: http://www.samba.org/
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
====================
|
||||
Initial data loading
|
||||
====================
|
||||
|
||||
Bulk user import
|
||||
----------------
|
||||
|
||||
As well as providing bulk document import functionality **Mayan EDMS** also
|
||||
includes a management command to import a large number of users
|
||||
from a CSV file. The command line options for this feature are as
|
||||
follow::
|
||||
|
||||
$ mayan-edms.py import_users --noinput --password=welcome123 --skip-repeated user_list.csv
|
||||
|
||||
The CSV field order must be: username, first name, last name and email, any columns after
|
||||
those are ignored.
|
||||
|
||||
**Optional arguments**
|
||||
|
||||
* The ``--noinput`` argument skips confirmation and starts the import immediately.
|
||||
* The ``--password`` argument allows specifing what default password will be assigned
|
||||
to all the new users that are imported.
|
||||
* The ``--skip-repeated`` tells the importer to not stop when finding
|
||||
that a user already exists in the database.
|
||||
@@ -2,24 +2,20 @@
|
||||
Installation
|
||||
============
|
||||
|
||||
Ubuntu, Debian or Fedora server
|
||||
-------------------------------
|
||||
|
||||
**Mayan EDMS** should be deployed like any other Django_ project and preferably using virtualenv_.
|
||||
|
||||
Being a Django_ and a Python_ project familiarity with these technologies is
|
||||
required to understand why **Mayan EDMS** does some of the things it does the way
|
||||
it does them.
|
||||
|
||||
Before installing **Mayan EDMS**, the :doc:`binary requirements <requirements>` must be installed first:
|
||||
Before installing **Mayan EDMS**, the binary requirements must be installed first.
|
||||
|
||||
Ubuntu
|
||||
------
|
||||
|
||||
If using a Debian_ or Ubuntu_ based Linux distribution getting the executable requirements is as easy as::
|
||||
|
||||
$ sudo apt-get install python-dev gcc tesseract-ocr unpaper python-virtualenv ghostscript libjpeg-dev libpng-dev poppler-utils -y
|
||||
|
||||
If using a Fedora_ based Linux distribution get the executable requirements using Yum::
|
||||
|
||||
$ sudo yum install -y git gcc tesseract unpaper python-virtualenv ghostscript libjpeg-turbo-devel libpng-devel poppler-util python-devel
|
||||
$ sudo apt-get install libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr unpaper poppler-utils -y
|
||||
|
||||
Initialize a ``virtualenv`` to deploy the project:
|
||||
|
||||
@@ -128,11 +124,11 @@ Production use
|
||||
To create a custom settings file for **Mayan EDMS**, create a Python (.py) file
|
||||
in the directory: venv/lib/python2.7/site-packages/mayan/settings/ with the following basic content::
|
||||
|
||||
# my_settings.py
|
||||
# venv/lib/python2.7/site-packages/mayan/settings/my_settings.py
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from .local import *
|
||||
from . import *
|
||||
|
||||
<Your customized settings>
|
||||
|
||||
@@ -142,7 +138,7 @@ To test your settings launch **Mayan EDMS** using::
|
||||
|
||||
After making sure everything is running correctly, stop the runserver command.
|
||||
Deploy **Mayan EDMS** using the webserver of your preference. For more information
|
||||
on deployment instructions and examples checkout Django's official documentation
|
||||
on deployment instructions and examples, checkout Django's official documentation
|
||||
on the topic https://docs.djangoproject.com/en/1.6/howto/deployment/
|
||||
|
||||
|
||||
@@ -154,12 +150,10 @@ corresponding python database drivers and add the corresponding database setting
|
||||
to your settings file (see above) as shown here: https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-DATABASES
|
||||
|
||||
|
||||
.. _Python: http://www.python.org/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Debian: http://www.debian.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Download: https://github.com/mayan-edms/mayan-edms/archives/master
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
.. _Fedora: http://fedoraproject.org/
|
||||
.. _Python: http://www.python.org/
|
||||
.. _SQLite: https://www.sqlite.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
============
|
||||
Requirements
|
||||
============
|
||||
**Mayan EDMS** supports various levels of functionality, because of this
|
||||
requirements can vary for each individual deployment.
|
||||
|
||||
Basic requirements
|
||||
==================
|
||||
|
||||
Python:
|
||||
|
||||
* ``Django`` - A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
|
||||
|
||||
Execute pip install -r requirements/production.txt to install the python/django dependencies automatically.
|
||||
|
||||
Executables:
|
||||
|
||||
* ``gpg`` - The GNU Privacy Guard
|
||||
|
||||
Optional requirements
|
||||
=====================
|
||||
|
||||
Improved OCR
|
||||
------------
|
||||
|
||||
* ``unpaper`` - post-processing scanned and photocopied book pages
|
||||
|
||||
Enhanced MIME detection
|
||||
------------------------
|
||||
|
||||
* ``libmagic`` - MIME detection library, if not installed **Mayan EDMS** will fall back to using python's simpler mimetype built in library
|
||||
* ``python-magic`` - A python wrapper for libmagic
|
||||
|
||||
|
||||
OCR backends
|
||||
------------
|
||||
** Mayan EDMS** can make use of different OCR engines via OCR backends. By default it will use the ``Tesseract OCR backend``.
|
||||
|
||||
* ``tesseract-ocr`` - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Version 3.x or greater required.
|
||||
|
||||
|
||||
Image conversion backends
|
||||
-------------------------
|
||||
**Mayan EDMS** has the ability to switch between different image conversion backends, at the moment these three are supported:
|
||||
|
||||
* ``ImageMagick`` - Convert, Edit, Or Compose Bitmap Images.
|
||||
* ``GraphicMagick`` - Robust collection of tools and libraries to read, write, and manipulate an image.
|
||||
* Python only - Relies on ``Pillow`` to support a limited set of the most common graphics formats.
|
||||
|
||||
By default the python backend is used.
|
||||
@@ -1,8 +0,0 @@
|
||||
============
|
||||
Translations
|
||||
============
|
||||
|
||||
Translations are now being handled online via the **Transifex** website: https://www.transifex.com/projects/p/mayan-edms/.
|
||||
To create a translation team for a new language or contribute to an already
|
||||
existing language translation, create a **Transifex** account and contact
|
||||
the team coordinator of the respective language in which you are interested.
|
||||
Reference in New Issue
Block a user