Перейти к основному содержимому

О проекте

Проект — папка с набором файлов, необходимых для разработки приложения или области функциональности приложения на базе Платформы.

Разрабатываемое на Платформе приложение может включать один проект или множество проектов, созданных на базе одной версии Платформы.

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

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

В Платформе различают следующие типы проектов:

  • Пользовательский: проект, который вы разрабатываете согласно бизнес-требованиям к приложению.

    DevTools включает шаблон проекта с набором файлов и папок. Вы создаете проект на основе шаблона или путем импорта и модификации импортированного проекта в DevTools.

    Пользовательский проект, который использует файлы других проектов, называется зависимым. Зависимый проект может использовать следующие файлы:

    • *.mdmodel;
    • *.mddict;
    • *.mdfunctions;
    • *.css;
    • файлы из папки static.
  • Системный: проект, который поставляется в составе дистрибутива Платформы. В списке проектов отображается как Main. В каждом экземпляре Платформы может существовать только один проект такого типа. Системный проект запрещено удалять.

    Системный проект содержит следующие файлы, которые используются пользовательскими проектами:

    • в папке containers находятся следующие файлы описания системных экранных форм:

      • login.mdcontainer: отображает пользовательскую форму входа в приложение. Управление отображением пользовательской формы входа или формы входа по умолчанию производится в консоли администрирования AdminTools.
      • lockout.mdcontainer: отображает информацию о блокировке пользователя.
      • error.mdcontainer: отображает информацию об ошибке.
      • errorPage.mdcontainer: отображает ошибку HTTP 404.
      • changePassword.mdcontainer: отображает форму смены пароля.
      • alert.mdcontainer: отображается при вызове метода Alert() библиотеки FrontendCore.
      • AccessDenied.mdcontainer: отображает информацию о запрете доступа к странице приложения.
      • selectProvider.mdcontainer: отображается до момента отображения login.mdcontainer для выбора поставщика политик авторизации — Active Directory или локальный.
      • waiting.mdcontainer: отображает индикатор загрузки после отправки пользователем запроса.
      • masterPage.mdcontainer: описывает структуру экранной формы, отображаемой при открытии любого приложения на базе Платформы. В левой части экранной формы masterPage отображается меню.
      • mainPage.mdcontainer: отображает стартовую страницу https://<Platform_instance_URL>/demo.
      • UserProfile.mdcontainer: отображает пример страницы с информацией о пользователе.
    • в папке containers\fragments находятся следующие файлы описания фрагментов экранных форм:

      • ChangePasswordCustom.mdcontainer: отображает пример страницы, используемый в UserProfile.mdcontainer.
      • FileExplorer.mdcontainer: отображает проводник файлов.
      • FilePreview.mdcontainer: отображает содержимое файла, выбранного в проводнике файлов.
      • TechSupport.mdcontainer: отображает форму обращения в Службу технической поддержки.
    • в папке dictionaries находится файл index.mddict, содержащий словари Platform, Menu и TechSupport, которые используются для отображения локализованных строк на перечисленных экранных формах.

    • в папке static находятся значки и изображения, которые используются на перечисленных экранных формах.

    • в файле Static.asset перечислены значки и изображения, находящиеся в папке static, с присвоенными псевдонимами.

    • в папке styles находится файл Style.mdtheme, который описывает основную тему приложения, цветовые палитры, отступы, кратность отступов, размер шрифта. Также в этой папке находится файл CSS.css, описывающий каскадные таблицы стилей системного проекта.

    • в папке utils находится файл validations.mdvalidations, который описывает правила валидации данных на перечисленных экранных формах.

    Пользовательские проекты также используют локали, указанные в файле Main.mdproj.

  • Служебный. В списке проектов отображается как System. В каждом экземпляре Платформы может существовать только один проект такого типа. Служебный проект запрещено изменять и удалять.

    Артефакты служебного проекта используются для настройки доступа к хранилищу данных Платформы.

Все файлы проекта хранятся в файловой системе бэкенд-сервиса DevTools. Также файлы проекта могут быть сохранены в репозитории системы управления версиями.

В процессе разработки приложения в DevTools к проекту применимы следующие операции:

  • сборка — проверка файлов проекта на соответствие определенным правилам и формирование набора файлов на основе исходных файлов;
  • публикация — доставка определенных файлов на сервер Платформы для последующего запуска разработанного проекта.