Каркас модуля и каркас расширения (sugarCRM, SuiteCRM) - PullRequest
0 голосов
/ 06 октября 2018

Вероятно, есть простой ответ, но я просто хочу уточнить.

В документации я вижу, что мы можем создать пользовательское представление с использованием инфраструктуры MODULE, но то же самое можно сделать с помощью инфраструктуры EXTENSION.

Когда вы выбираете одно над другим?Это просто вопрос предпочтений?

Обновление:

На странице 727 руководства (руководство разработчика для Sugar 6.5) написано: «Это удобно, если вы хотитедля сопоставления файла как view вне пользовательских / modules // views / view..php "

Файл помещается в custom / Extensions / modules / [module] / Ext/ ActionFileMap

^ Но мы также можем создать собственное представление, просто создав файл в custom / modules / [module] /views/view..php, поэтому единственная точка использования примера на 727 - это когда мыхотите, чтобы файл пользовательского представления находился вне этой папки?Таким образом, весь этот «каркас расширения» способ делать вещи только для этого?

1 Ответ

0 голосов
/ 07 октября 2018

Предполагая, что с этими структурами вы имеете в виду папку custom и папку modules , я думаю, что в основном есть следующие сценарии:

  • Выхотите добавить представление в стандартный модуль CRM
    Добавьте свои представления и настройки в папку custom (когда это возможно), таким образом, ваши добавления будут иметь наименьшую вероятность полученияудалены / перезаписаны / нарушены будущими обновлениями CRM.Также вам будет легче различать, какие файлы являются стоковыми, а какие ваши.
  • Вы хотите добавить представление в пользовательский модуль (ModuleBuilder / hand-crafted)
    Здесь вы можете вместо этого поместить свои пользовательские представления в папку modules, так как этот модуль в любом случае находится под вашим собственным контролем.
    Однако вы можете предпочесть поместить customer / instance-определенные представления в папке custom (особенно, если возможна будущая переустановка модуля / обновления модуля), при этом только размещение представлений, необходимых для вашего пользовательского модуля, во всех установках в папке module (и в установочном пакете модуля)).

Обновление:

Хотя я на самом деле не знаком с ActionFileMap в частности, я могу подумать о двух причинах, по которым вы хотите использоватьit:

  • Связывание одного представления с более чем одним модулем
    Таким образом, вам не нужно сохранять более одной копии файла.
  • Основная причина, по которой у Sugar есть каркас расширения
    Чтобы позволить разработчикам использовать произвольные имена файлов (в данном случае даже произвольные местоположения файлов) вместо того, чтобы просто иметь одно предопределенное местоположение файла.
    Таким образом, пакеты могут быть установлены без перезаписи файлов друг друга.
    Если все они использовали одни и те же предопределенные местоположения файлов, они будут отменять изменения ранее установленных пакетов, установленных в одном и том же расположении файлов.
    Чтобы этого не происходило в каждом пакете/ customization может помещать файлы с разными произвольными именами в предварительно определенные папки расширений, а Sugar Quick Repair & Rebuild объединит эти файлы независимо от их имен в custom/modules/<module>/Ext/*/*.ext.php (без /Extension/ по этому пути!).
    Это позволяет изменениям пакетов легче сосуществовать друг с другом.
...