Update documentation and logos.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-04-02 00:34:08 -04:00
parent 0e4c1dd75a
commit bcdc419b66
6 changed files with 59 additions and 268 deletions

BIN
docs/_static/logo_pyramid_only.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve">
<circle style="fill:#00A2FF;" cx="255.997" cy="255.996" r="255.996"/>
<path style="fill:#0084FF;" d="M512.001,256.001c0-13.179-0.999-26.124-2.919-38.767l-35.697-35.697
c-1.638-3.888-5.492-6.636-9.958-6.636h-12.142l-11.498-11.394c-1.638-3.888-5.492-6.636-9.958-6.636h-58.637l-52.15-55.774h-77.123
l-28.404-27.869c-1.764-3.974-5.747-6.767-10.356-6.767H141.39c-6.231,0-11.328,5.097-11.328,11.328
c0,2.914,1.124,5.571,2.949,7.584h-26.863c-6.231,0-11.328,5.097-11.328,11.328c0,4.609,2.793,8.591,6.767,10.355l71.313,72.34
v14.579h-20.32v32.546h-20.115v32.546h-19.733v32.546H92.507v32.546h-22.45v32.546H47.966v33.866l95.337,95.337
c34.007,16.701,72.253,26.095,112.698,26.095C397.385,512,512.001,397.385,512.001,256.001z"/>
<g>
<path style="fill:#FFFFFF;" d="M106.146,85.372h26.863c-1.824-2.012-2.949-4.671-2.949-7.584c0-6.231,5.098-11.328,11.328-11.328
h61.769c6.231,0,11.328,5.097,11.328,11.328c0,6.231-5.097,11.328-11.328,11.328h-26.863c1.824,2.012,2.949,4.67,2.949,7.584l0,0
c0,6.231-5.097,11.328-11.328,11.328h-61.769c-6.231,0-11.328-5.097-11.328-11.328l0,0C94.818,90.469,99.916,85.372,106.146,85.372
z"/>
<path style="fill:#FFFFFF;" d="M463.426,174.9h-25.61c1.74-1.918,2.812-4.452,2.812-7.231c0-5.94-4.86-10.799-10.8-10.799h-58.889
c-5.94,0-10.799,4.86-10.799,10.799s4.86,10.8,10.799,10.8h25.61c-1.74,1.918-2.812,4.452-2.812,7.231l0,0
c0,5.94,4.86,10.8,10.8,10.8h58.889c5.939,0,10.799-4.86,10.799-10.8l0,0C474.225,179.76,469.365,174.9,463.426,174.9z"/>
</g>
<rect x="196.48" y="103.976" style="fill:#87858E;" width="119.044" height="59.078"/>
<rect x="255.997" y="103.976" style="fill:#78777F;" width="59.524" height="59.078"/>
<rect x="244.994" y="137.287" style="fill:#57555C;" width="22.005" height="25.771"/>
<rect x="255.997" y="137.287" style="fill:#3C3B41;" width="11.004" height="25.771"/>
<rect x="192.959" y="119.284" style="fill:#D4D4D6;" width="126.076" height="5.758"/>
<rect x="255.997" y="119.284" style="fill:#AAA9AF;" width="63.038" height="5.758"/>
<rect x="172.897" y="161.424" style="fill:#87858E;" width="166.199" height="33.866"/>
<rect x="255.997" y="161.424" style="fill:#78777F;" width="83.1" height="33.866"/>
<rect x="172.897" y="161.424" style="fill:#C4C2C8;" width="166.199" height="12.19"/>
<rect x="255.997" y="161.424" style="fill:#AAA9AF;" width="83.1" height="12.19"/>
<rect x="152.574" y="193.972" style="fill:#87858E;" width="206.845" height="33.866"/>
<rect x="255.997" y="193.972" style="fill:#78777F;" width="103.423" height="33.866"/>
<rect x="152.574" y="193.972" style="fill:#C4C2C8;" width="206.845" height="12.189"/>
<rect x="255.997" y="193.972" style="fill:#AAA9AF;" width="103.423" height="12.189"/>
<rect x="132.46" y="226.52" style="fill:#87858E;" width="247.073" height="33.866"/>
<rect x="255.997" y="226.52" style="fill:#78777F;" width="123.537" height="33.866"/>
<rect x="132.46" y="226.52" style="fill:#C4C2C8;" width="247.073" height="12.19"/>
<rect x="255.997" y="226.52" style="fill:#AAA9AF;" width="123.537" height="12.19"/>
<rect x="112.733" y="259.068" style="fill:#87858E;" width="286.538" height="33.866"/>
<rect x="255.997" y="259.068" style="fill:#78777F;" width="143.274" height="33.866"/>
<rect x="112.733" y="259.068" style="fill:#C4C2C8;" width="286.538" height="12.189"/>
<rect x="255.997" y="259.068" style="fill:#AAA9AF;" width="143.274" height="12.189"/>
<rect x="92.504" y="291.606" style="fill:#87858E;" width="326.986" height="33.866"/>
<rect x="255.997" y="291.606" style="fill:#78777F;" width="163.493" height="33.866"/>
<rect x="92.504" y="291.606" style="fill:#C4C2C8;" width="326.986" height="12.19"/>
<rect x="255.997" y="291.606" style="fill:#AAA9AF;" width="163.493" height="12.19"/>
<rect x="70.06" y="324.154" style="fill:#87858E;" width="371.884" height="33.866"/>
<rect x="255.997" y="324.154" style="fill:#78777F;" width="185.947" height="33.866"/>
<rect x="70.06" y="324.154" style="fill:#C4C2C8;" width="371.884" height="12.19"/>
<rect x="255.997" y="324.154" style="fill:#AAA9AF;" width="185.947" height="12.19"/>
<rect x="47.966" y="356.702" style="fill:#87858E;" width="416.072" height="33.866"/>
<rect x="255.997" y="356.702" style="fill:#78777F;" width="208.036" height="33.866"/>
<rect x="47.966" y="356.702" style="fill:#C4C2C8;" width="416.072" height="12.19"/>
<rect x="255.997" y="356.702" style="fill:#AAA9AF;" width="208.036" height="12.19"/>
<rect x="192.959" y="101.092" style="fill:#D4D4D6;" width="126.076" height="5.758"/>
<g>
<rect x="255.997" y="101.092" style="fill:#AAA9AF;" width="63.038" height="5.758"/>
<polygon style="fill:#AAA9AF;" points="211.746,161.428 189.714,390.569 322.287,390.569 300.255,161.428 "/>
</g>
<polygon style="fill:#87858E;" points="322.287,390.569 300.255,161.428 256,161.428 256,390.569 "/>
<polygon style="fill:#DDDDDF;" points="206.354,390.569 189.714,390.569 211.746,161.428 228.387,161.428 "/>
<polygon style="fill:#C4C2C8;" points="305.647,390.569 322.287,390.569 300.255,161.428 283.614,161.428 "/>
<path style="fill:#00B764;" d="M256,512c92.101,0,172.83-48.647,217.928-121.637H38.072C83.17,463.353,163.899,512,256,512z"/>
<g>
<rect x="98.941" y="422.216" style="fill:#008849;" width="68.262" height="12.809"/>
<rect x="194.62" y="439.77" style="fill:#008849;" width="49.611" height="12.808"/>
<rect x="169.815" y="467.512" style="fill:#008849;" width="49.611" height="12.808"/>
</g>
<path style="fill:#00884A;" d="M473.932,390.362c-0.888,1.431-1.776,2.842-2.696,4.253c-0.408,0.658-0.836,1.306-1.275,1.954
c-0.439,0.679-0.888,1.348-1.337,2.017c-0.543,0.805-1.087,1.609-1.64,2.414c-0.637,0.919-1.275,1.839-1.923,2.758
c-1.139,1.588-2.288,3.176-3.448,4.744c-0.136,0.188-0.282,0.376-0.418,0.564c-0.554,0.731-1.108,1.463-1.661,2.194
c-46.759,61.23-120.527,100.737-203.533,100.737V390.362L473.932,390.362L473.932,390.362z"/>
<g>
<rect x="347.623" y="422.216" style="fill:#007539;" width="68.262" height="12.809"/>
<rect x="294.25" y="464.2" style="fill:#007539;" width="49.611" height="12.808"/>
<rect x="271.994" y="436.991" style="fill:#007539;" width="49.611" height="12.808"/>
</g>
<path style="fill:#36C98C;" d="M38.072,390.363c4.456,7.213,9.266,14.183,14.394,20.897h407.068
c5.128-6.713,9.938-13.684,14.394-20.897H38.072z"/>
<path style="fill:#00B764;" d="M473.932,390.362c-0.888,1.431-1.776,2.842-2.696,4.253c-0.408,0.658-0.836,1.306-1.275,1.954
c-0.439,0.679-0.888,1.348-1.337,2.017c-0.543,0.805-1.087,1.609-1.64,2.414c-0.637,0.919-1.275,1.839-1.923,2.758
c-1.139,1.588-2.288,3.176-3.448,4.744c-0.136,0.188-0.282,0.376-0.418,0.564c-0.554,0.731-1.108,1.463-1.661,2.194H256.001v-20.898
L473.932,390.362L473.932,390.362z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.1 KiB

BIN
docs/_static/mayan_logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -1,13 +1,9 @@
Welcome to Mayan EDMS NG!
=========================
Welcome to Mayan EDMS!
======================
Mayan EDMS NG is a modern fork of Mayan EDMS focused on stability,
perfomance and new features.
.. image:: /_static/mayan-pyramid.svg
:alt: Icons made by Freepik (http://www.freepik.com) from www.flaticon.com is licensed by CC 3.0 BY (http://creativecommons.org/licenses/by/3.0/)
.. image:: /_static/mayan_logo.png
:alt: Logo is a trademark of Roberto Rosario
:align: center
:width: 30%
Mayan EDMS is a `Free Open Source`_ `Electronic Document Management System`_,
@@ -35,7 +31,7 @@ repository for electronic documents.
FAQ <topics/faq>
Contact <topics/contact>
MERCs <mercs/index>
Pending tasks <topics/pending_tasks>
Pending work <topics/pending_work>
.. _Docker: https://www.docker.com/
.. _Django: http://www.djangoproject.com/

View File

@@ -1,6 +1,6 @@
================================
Mayan EDMS NG v3.0 release notes
================================
=============================
Mayan EDMS v3.0 release notes
=============================
Released: March 19, 2018
@@ -10,24 +10,12 @@ What's new
Turning Mayan EDMS into a single page app
-----------------------------------------
Historically, Mayan EDMS has steered away from adding too much Javascript
in its code. Roberto, the main developer, often explains his rationale
for this decision. His goal has been to maintain a robust, backend-based
in its code. The goal was to be able to maintain a robust, backend-based
page rendering method that will be as future-proof as possible.
This approach comes at the cost of some page loading speed, and reduced
user interface interactivity.
The Javascript ecosystem is an untamed jungle of competing “standards”.
Between JQuery, Angular, React, Ember, CoffeeScript, ES2015, ES2017,
Babel, Grunt, Gulp, Bower, Webpack, Vue, Webpack, Rollup, Parcel,
among many others, is easy to see why that approach was the correct
one at the time. Luckily things have improved thanks to HTML5 and CCS3.
The browser can now do many things that often required convoluted
Javascript code to achieve.
One of the most common complains about the user interface is that it
is slow, heavy, requires users to move around too much. That it
requires “too many clicks” to achieve things.
The whole system has been update to work as a modern Single Page App.
Single Page Applications (SPAs) rewrite the current page dynamically
rather than loading the entire page on each click of the mouse. This
makes the web application feel and behave more like a desktop
@@ -38,13 +26,10 @@ response time to user events. Because the style is loaded and
interpreted at the beginning, the browser is also able to apply it to
the new content faster.
In order to strike a balance with Robertos backend heavy philosophy,
we stuck to using just HTML5 and jQuery. Aside from two additional
jQuery libraries, there are no extra framework dependencies. With the
conversion to an SPA, many other petitions for user interface
improvements are now possible. We will work on these once the community
confirms that all the user interface changes made to create the SPA are
working as expected.
This redesign was achieved using only HTML5 and jQuery. Aside from two
additional jQuery libraries, there are no extra framework dependencies.
With the conversion to an SPA, many other petitions for user interface
improvements are now possible.
Upgrading to Django 1.11
@@ -57,89 +42,18 @@ Mayan EDMS uses a complex template, form and widget system. The system
mimics object-oriented concepts like inheritance at the rendering stage.
This allows the more than 300 views to be serviced with just a handful
of forms classes and base templates. Testing and auditing all the views
and forms after the upgrade was a lot of work. If any member of the
Django project is reading this, please adopt stricter version numbering
convention, something like Semantic Versioning.
and forms after the upgrade was a lot of work.
Along with the upgrade to Django 1.11, we fixed many deprecations
warning in preparation for an eventual upgrade to Django 2.0.
Along with the upgrade to Django 1.11, many deprecations
warning were fixed in preparation for an eventual upgrade to Django 2.0.
Notification improvements
-------------------------
In version 2.8 we introduced event notifications. These work by allowing
users to subscribe to a particular event like Document Uploads or to an
event of a particular document like when an invoice is edited. If
these events occur, the user gets a reminder next to the bell icon in
the main menu bar. This feature had one important limitation. The
notification reminder would only update if the main page updated. That
meant that if the user didnt interact with the user interface they
would not get a notification reminder.
We implemented a simple mechanism that checks for notifications
periodically without user intervention. We avoided the use of webworkers,
websockets and push notifications. The result is almost instant
notifications without user interaction and without adding any extra
dependencies.
Notification improvements
-------------------------
In version 2.8 we introduced event notifications. These work by allowing
users to subscribe to a particular event like Document Uploads or to an
event of a particular document like when an invoice is edited. If these
events occur, the user gets a reminder next to the bell icon in the main
menu bar. This feature had one important limitation. The notification
reminder would only update if the main page updated. That meant that if
the user didnt interact with the user interface they would not get a
notification reminder.
We implemented a simple mechanism that checks for notifications
periodically without user intervention. We avoided the use of webworkers,
websockets and push notifications. The result is almost instant
notifications without user interaction and without adding any extra
dependencies.
Migration squashing
-------------------
Database base migrations are a must to ensure your data remains coherent
after each upgrade. They need to be committed sequentially to simulate
the evolution of the database structures over time. This is true even
for new installations with no existing data. As Mayan EDMS matures and
adds features it also adds migrations. Each of these migration add up
to the amount of times it takes to install Mayan EDMS.
Django recently added support for merging migrations. Because migrations
are sometimes interdependencies between each other, this is a delicate
procedure. Instead of getting wild with merges, we used the feature in
moderation. We merged the migrations that have proven to be stable over
the course of months or years. Additionally, these merged or “squashed”
migrations are only used for new installations. Any upgrade of an
existing installation will use the normal migrations. After some time,
if not issues are reported with the merged migrations, the individual
migrations will be removed and the merged migrations will take their place.
These are the apps for which migrations were merged:
- acls (ACLs): 1 and 2
- checkouts (Checkouts): 1 and 2
- common (Not shown in UI): 1 to 8
- converter (Not shown in UI): from 1 to 12
- django_gpg (Keys): from 1 to 6
- document_indexing (Indexing): from 1 to 5
- document_parsing (Parsing, “Content”): 1 and 2
- document_signatures (Signatures): from 1 to 6
- document_states (Workflows): 1 and 2
- dynamic_search (Search): from 1 to 3
- events (Event): from 1 to 4
- linking (Smart links): from 1 to 5
- lock_manager (Not shown in UI): 1 and 2
- mailer (Mailing): from 1 to 5
- metadata (Metadata): from 1 to 8
- motd (Message of the day): from 1 to 5
- permissions (Permissions): from 1 to 3
- sources (Sources): from 1 to 16
These work by allowing users to subscribe to a particular event like Document
Uploads or to an event of a particular document like when an invoice is edited.
If these events occurs, the user gets a reminder next to the bell icon in the
main menu bar.
Dependencies upgrades
@@ -169,12 +83,9 @@ their latest release.
Search syntax
-------------
Searching without using a specialized search database is difficult.
Most software just take the lazy route and force the user to install a
dedicated search engine. Early on we noticed Mayans design called for
avoiding a separate search engine at the cost of some missing search
syntax. The OR and the negative term support is our first attempt at
adding special syntax to Mayans search code. If we get good feedback,
we plan to add more.
Mayans design calls avoiding a separate search engine at the cost of some
missing search syntax. The OR and the negative term support are the first
attempts at adding special syntax to Mayans search code.
By default now, search terms are routed to an “AND” query. That means
that a search for:
@@ -188,7 +99,7 @@ opposite choice we added an “OR” syntax. Searching for:
will return documents with either tag attached.
We also added support for literals terms.
Support for literals terms was also added.
Searching for:
@@ -203,16 +114,16 @@ and “slow car”. To search for exact terms enclose them in quotes:
This will return only documents with the exact phrase “blue car”.
Running multiple instances of Mayan EDMS NG
-------------------------------------------
If you've ever tried running two instances of Mayan EDMS NG, you would
Running multiple instances of Mayan EDMS
----------------------------------------
If you've ever tried running two instances of Mayan EDMS, you would
have noticed that they both try to create a lock file in the /tmp
directory with the same name. Only the first instance will be able to run.
The lock filename needs to be unique to each instance, yet predictable
so that the workers of an instance can also access the same lock file.
We solved this issues by using a hexadecimal hash representation of the
This issues was solved by using a hexadecimal hash representation of the
installations unique SECRET_KEY setting. The use of a hash makes
reversing the value in order to obtain the SECRET_KEY impossible for
all practical purposes.
@@ -220,16 +131,14 @@ all practical purposes.
Display resolution settings
---------------------------
During the template work required to upgrade the version of Django, we
noticed that display sizes (display, preview, thumbnail) were specified
Display sizes for document display, previews, and thumbnail were specified
as a string that included the horizontal and the vertical resolution
separated by the character “x”. Using an “x” character to separate
resolution elements is not standard and didn't felt as well planned as
the rest of the project. The converter in Mayan EDMS NG also allows
specifying only the horizontal resolution. This design created some
ambiguities in the code. We decided to split the settings for specifying
resolutions into two settings for each size. One setting for
horizontal resolution and another for vertical resolution.
resolution elements is not standard.
This version splits the settings for specifying resolutions into two settings
for each size. One setting for horizontal resolution and another for vertical
resolution.
The settings are now:
@@ -322,15 +231,6 @@ This will cause the tags assigment step to not be assigned to the upload
wizard anymore.
Repository location
-------------------
The code repository for Mayan EDMS NG now lives at:
https://gitlab.com/Mayan-EDMS-NG/mayan-edms-ng
A GitLab group was also created and all projects will now live under
that unit.
New upload step
---------------
Using the new ``WizardStep`` class a new upload wizard step was added
@@ -345,17 +245,21 @@ On some devices the height of the pages on the document preview view were
squashed. The CSS for this view was updated to fix this issue.
Page number summary
-------------------
The page number summary has been placed back at the bottom of the
carousel pages in the document preview view.
Orientation detection
---------------------
After reports that it is not working in 100% of the cases, the feature that
detects and fixes the orientation of PDF has been marked experimental and
now defaults to being disabled.
New proposal system
-------------------
The Mayan EDMS Request for Comments or MERCs will be use to propose and or
document the new features, the existing code, and the processes governing the
project. MERCs 1 and 2 have been approved. MERC-1 outlines the MERC process
itself and MERC-2 documents the way API tests are to be written for Mayan EDMS.
Other changes worth mentioning
------------------------------
- Add Makefile target to check the format of the README.rst file.
@@ -420,12 +324,17 @@ Other changes worth mentioning
- Add view to show list of events performed by an user.
- Allow filtering an event list by clicking on the user column.
- Revise and improve permission requirements for the documents app API.
- Downloading a document version now requires the document download permission instead of just the document view permission.
- Creating a new document no longer works by having the document create permission in a global manner. It is now possible
to create a document via the API by having the document permission for a specific document type.
- Viewing the version list of a document now required the document version view permission instead of the document view permission.
Not having the document version view permission for a document will not return a 403 error. Instead a blank response will be returned.
- Reverting a document via API will new require the document version revert permission instead of the document edit permission.
- Downloading a document version now requires the document download
permission instead of just the document view permission.
- Creating a new document no longer works by having the document create
permission in a global manner. It is now possible to create a document via
the API by having the document permission for a specific document type.
- Viewing the version list of a document now required the document version
view permission instead of the document view permission. Not having the
document version view permission for a document will not return a 403
error. Instead a blank response will be returned.
- Reverting a document via API will new require the document version revert
permission instead of the document edit permission.
- ``Document view`` permissions is nor required to view the details of
a trashed document.
@@ -458,7 +367,7 @@ Using PIP
Type in the console::
$ pip install mayan-edms-ng==3.0
$ pip install mayan-edms==3.0
the requirements will also be updated automatically.

View File

@@ -111,8 +111,8 @@ Other
PasswordChangeView, PasswordChangeDoneView, PasswordResetView,
PasswordResetDoneView, PasswordResetConfirmView, and PasswordResetCompleteView.
- django.utils.translation.string_concat() is deprecated in favor of
django.utils.text.format_lazy(). string_concat(*strings) can be
replaced by format_lazy('{}' * len(strings), *strings).
django.utils.text.format_lazy(). string_concat(strings) can be
replaced by format_lazy('{}' x len(strings), strings).
Found in converter/classes.py and metadata/forms.py.
- Fix warnings in preparation for Django 2.0.
- Update all tempfile.mkstemp() to tempfile.mkstemp(dir=setting_temporary_directory.value)
@@ -120,7 +120,7 @@ Other
- Update common.utils.copyfile to use only file objects.
- Change metadata label column from CharField to Label
- Start testing to Python 3 compatibility.
- Unify all **RelationshipForms into a common class.
- Unify all RelationshipForms into a common class.
- Add test for event subscription view.
- Repeated templates: password_reset_confirm.html and password_reset_form.html
- Remove unused text=get_notification_count from events.links