Переход на концепцию m3 2.0


Опубликовано:   |  

По итогам svg-шек, grep-ов и прочей магии получили следующую картину по рефакторингу пакета m3:

  • core
    • registry - Пока просто выделяется в отдельный контриб. Следующие версии предполагают безумный рефакторинг
    • history - Нигде не используется и удаляется
    • middleware.py - Выкидывается все, кроме AutoLogout и помещается в core/init.py
    • json - Encoder пока оставляем, переносится в core/init.py
    • exceptions - Удаляется, AppLogicException перемещается в init.py
    • plugins - Перемещается в m3_legacy
    • excel_reporting - Перемещен в отдельный контриб
    • notifications - Нигде не используется и удаляется
    • replication - Нигде не используется и удаляется
  • contrib
    • setup_environ - Удаляется, нужен был для встраивания prepare_env.py
    • designer - Там лежит management-команда для запуска дизайнера, переезжает в сам контриб дизайнера data
    • mie - Удаляется. Используется совсем немного в Школах.
    • caching - Переносится в core
    • proxy - Нигде не используется и удаляется db
    • mptt_util - Внутри находится механизм перестройки mptt-дерева, пока непонятно куда вынести. Использовать последнюю версию mptt
    • alchemy_wrapper - Используется в report-generator'e и ЭПК. Из ЭПК выпиливается и переносится в report-generator
    • ddl - Злостно удаляется
    • __init__ - Частично внутренности этого модуля переедут в m3_legacy после более глубокого исследования
    • api - Перемещено в m3_legacy helpers
    • logger - Будет перемещен в m3_legacy и по-возможности будет использоваться внутри себя django-подход
    • loader - Перемещается в m3_legacy
    • urls - Перемещается в core/actions.py
    • ui - Будет удален. Так же будет выпелен из ui/actions/results.py, из m3_users и Родплаты
    • validation - Перемещается в m3_legacy
    • queries - Будет удален. Проекты, которые используют данный модуль - m3_contragents, Род. Плата, Закупки
    • Содержимое init.py - Перемещается в m3_legacy
    • icons - в пакет с m3-ext
    • js - Будет удален
    • datastructures - Удаляется
    • datagrouping, datagrouping_alchemy - Переносится в отдельный пакет. И рефакториться в следующих версиях модуля.
    • config - Будет удален
    • checksum - Будет перенесен в отдельный пакет
    • users - BaseUserProfile выкидывается, декоратор authenticated_user_required перенесется в core
    • autonum - Нигде не используется, будет удален
    • sqlite - Будет удален
    • mocks - Будет удален
  • misc - Удаляется
  • templatetags - Единственная функция переедет в core
  • ui/actions/packs и ui/actions/dicts - Переносятся в отдельный пакет, например, simple_dict
  • m3_workflow - Удаляется
  • ui вместе со статикой - переносится в отдельный пакет m3-ext
  • ui/actions/ переедет в core
  • ui/actions/gears, ui/actions/app_ui - переедет в m3-ext

m3_legacy - Пакет, который будет содержать устаревший код, в нем будут исправляться только ошибки, которых и так минимальное количество. Этот контриб далее поддерживаться не будет.

Все, что останется войдет в сборку m3 2.0. Эта версия будет содержать нужный код, который просто изменил текущее местоположение, рефакторинг будет производиться в следующих версиях.

Так же для перехода на новую версию подготовлен скрипт для понимания какие импорты сломались и как их починить.

Contents © 2014 БАРС Груп - Powered by Nikola