Приложение для хранения файлов в внешнем файловом хранилище ATCFS
=================================================================

Настройка и использование
-------------------------

1. Установить пакет ``educommon``:

::

    pip install -i http://pypi.bars-open.ru/simple/ 'educommon>=0.6.2'

2. Добавить запись в начало списка ``INSTALLED_APPS`` файла ``settings.py``:

::

    INSTALLED_APPS = (
        'educommon.django.storages.atcfs',
        ...
    )

3. В ``settings.py`` объявить параметр ``ATCFS_CONF``:

::

    ATCFS_CONF = {
        'URL': 'http://109.202.0.226/atcfs',
        'VIS_ID': 'test_vis',
        'VIS_USER': 'cpgu',
        'SECRET_KEY': 'secret1',
    }

4. Если планируется использовать это приложение глобально для всех FileField полей, то в ``settings.py`` установить параметр ``DEFAULT_FILE_STORAGE``:

::

    DEFAULT_FILE_STORAGE = 'educommon.django.storages.atcfs.storage.AtcfsStorage'

5. Если необходимо использовать внешнее хранение только для конкретных FileField полей, то при определении полей в модели указывать соответствующий параметр:

::

    from educommon.django.storages.atcfs.storage import AtcfsStorage

    file = FileField(storage=AtcfsStorage())


Команда для переноса файлов
---------------------------

Для переноса файлов на ATCFS необходимо запустить команду из консоли:

::

    $ ./manage.py atcfs_migrate

Предварительно желательно сделать дамп базы данных. При миграции, файлы не удаляются с локального диска. Выполнение команды сопровождается выдачей в консоль отчета по перенесенным файлам. В дальнейшем, если понадобится, этот отчет можно использовать для непосредственного удаления файлов. Отчет можно сохранить в файл следующим образом:

::

    $ ./manage.py atcfs_migrate 2>&1 | tee report.csv

Формат отчета - CSV, где колонки:

1. ID объекта;

2. название поля;

3. старое значение;

4. новое значение.
