Version 3.3.3
=============

Released: December 5, 2019


Changes
-------


Indexing
^^^^^^^^

A missed text from the indexing app was marked as translatable.


Platform
^^^^^^^^

Removed the supervisord PYTHONPATH environment variable expansion.


Transformations
^^^^^^^^^^^^^^^

Fix transformation label display in the transformation create view.

Automatically create transformations from the selection form that
doesn't have arguments.

Add missing message displays for transformation creation error and
non argument transformation creation.


Other
^^^^^

Don't exit GitLab makefile target if the branch to delete doesn't exist
upstream.


Removals
--------

- None


Upgrading process
-----------------

#. Stop supervisord::

    sudo systemctl stop supervisor


Upgrading from Mayan EDMS 3.2.x
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

#. Install the Python 3 development OS package:

   .. code-block:: bash

    sudo apt-get install python3-dev


#. Update the virtualenv to use Python 3:

   .. code-block:: bash

    sudo -u mayan virtualenv --clear /opt/mayan-edms -p /usr/bin/python3


#. Create a home directory for the Mayan EDMS system user:

   .. code-block:: bash

    mkdir /home/mayan


#. Grant ownership to the Mayan EDMS system user:

   .. code-block:: bash

    chown mayan:mayan /home/mayan

#. Reinstall the Python client for PostgreSQL and Redis:

   .. code-block:: bash

       sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 psycopg2==|PYTHON_PSYCOPG2_VERSION| redis==|PYTHON_REDIS_VERSION|

   .. note::

       Platforms with the ARM CPU might also need additional requirements:

       .. code-block:: bash

           sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 psutil==|PYTHON_PSUTIL_VERSION|


#. Reinstall the Python client for RabbitMQ if you are using RabbitMQ as a broker:

   .. code-block:: bash

       sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 amqp==|PYTHON_AMQP_VERSION|


Upgrade steps from any previous version of Mayan EDMS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

#. Remove deprecated requirements:

   .. code-block:: bash

    sudo -u mayan curl |SOURCE_CODE_REPOSITORY|raw/master/removals.txt -o /tmp/removals.txt \
    && sudo -u mayan |MAYAN_PIP_BIN| uninstall -y -r /tmp/removals.txt


#. Update the Mayan EDMS Python package:

   .. code-block:: bash

    sudo -u mayan |MAYAN_PIP_BIN| install mayan-edms==3.3.3

   the requirements will also be updated automatically.


#. Make a backup of your supervisord file:

   .. code-block:: bash

       sudo cp |MAYAN_SUPERVISOR_CONF| |MAYAN_SUPERVISOR_CONF|.bck


#. Update the supervisord configuration file. Replace the environment
   variables values show here with your respective settings. This step will refresh
   the supervisord configuration file with the new queues and the latest
   recommended layout:

   .. code-block:: bash

       sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
       MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
       MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \
       |MAYAN_BIN| platformtemplate supervisord | sudo sh -c "cat > |MAYAN_SUPERVISOR_CONF|"

   or:

   .. code-block:: bash

       sudo -u mayan MAYAN_DATABASES=\"{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}\" \
       MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \
       |MAYAN_BIN| platformtemplate supervisord | sudo sh -c "cat > |MAYAN_SUPERVISOR_CONF|"


#. Edit the supervisord configuration file and update any setting specific to your installation:

   .. code-block:: bash

       sudo vi |MAYAN_SUPERVISOR_CONF|


#. Migrate existing database schema with:

   .. code-block:: bash

       sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
       MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
       MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \
       |MAYAN_BIN| performupgrade

   or:

   .. code-block:: bash

       sudo -u mayan MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}" \
       MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \
      |MAYAN_BIN| performupgrade


#. Add new static media:

   .. code-block:: bash

       sudo -u mayan MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \
       |MAYAN_BIN| preparestatic --noinput


#. Start supervisord:

   .. code-block:: bash

       sudo systemctl start supervisor


The upgrade procedure is now complete.


Backward incompatible changes
-----------------------------

- None


Bugs fixed or issues closed
---------------------------

- :gitlab-issue:`690` Update to 3.3 problem with mayan-edms.py


.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
