Системные параметры приложения Описание настроек используемых в файле конфигурации settings.config и в файлах настроки пакетов. Который отвечает за основные параметры приложения.
aliases - Объект с псевдонимами путей различного характера начиная от страниц обработки ошибок до псевдонимов путей шаблонов. Используется для возможности переопределения базовых шаблонов и для сокращенного набора. При задании псевдонима в программе вначале ставится знак @: fcf.getPath("@controls:button"). При переопределении из другого модуля параметр дополняется Тип: object Пример задания поля aliases: aliases: { "page:page404" : "fcf:templates/page404.tmpl", "page:system-error-page" : "fcf:templates/system-error-page.tmpl", "page:system-page" : "fcf:templates/system-page.tmpl", }, avalibleMirrors - Определяет разрешение работоспособности приложения на клиенте, если клиент открывает его на неродном URL сервера. Тип: bool|array По умолчанию: true Если равен true - приложение будет работать в не зависимости от URL. Если равен false - приложение будет работать только на сервере указанном в параметре site Если параметр представлен массивом доменных имен, то приложение будет работать только на указанных доменах и сайте указанном в параметре site cacheDirectory - Путь к директории кэша Тип: string По умолчанию: ":cache" directorySystemProjections - Путь к системным проекциям проекта Тип: string По умолчанию: ":projections/fcfsystem" filters - Объект связывающий тип данных FSQL с фильтром обработчиком поля. Ключом выступает тип данных, а значением путь к модуль обработчика типа данных (фильтр) При переопределении из другого модуля параметр дополняется Тип: object Пример: filters: { "enum": "fcf:NFSQL/NFilter/Enum.js", "int": "fcf:NFSQL/NFilter/Int.js", "bigint": "fcf:NFSQL/NFilter/BigInt.js", "float": "fcf:NFSQL/NFilter/Float.js", "boolean": "fcf:NFSQL/NFilter/Boolean.js", "string": "fcf:NFSQL/NFilter/String.js", "text": "fcf:NFSQL/NFilter/Text.js", "password": "fcf:NFSQL/NFilter/Password.js", "datetime": "fcf:NFSQL/NFilter/Datetime.js", "file": "fcf:NFSQL/NFilter/File.js", }, friendlySite - Дружественное имя сайта Тип: string По умолчанию: "FCF" html - Конфигурационный объект HTML страницы. Содержит объект поле "include", элементы которого (значения) включаются в каждую страницу проекта. Пример: { html: { include: { "jquery.js": "path_to_js", "jquery.css": "path_to_css", } } } Тип: object lifetimeNotInitializedUser - Время жизни учетной записи без подтверждения регистрации. Если параметр равен нулю ограничение не применяется. Тип: int/day По умолчанию: 7 logFile - Префикс пути файла лога. Для формирования реального пути файла еще добавляется дата и расширение ".log" Тип: string По умолчанию: "log/node-log-" loginUncreatedUser - Если равен true аутентификация пользователя без подтверждения по e-mail разрешается Тип: bool По умолчанию: false logLifeTime - Время жизни файла лога Тип: int По умолчанию: 30 mailAddress - Адрес почтового ящика отправленных сообщений Тип: string По умолчанию: "mail@gmail.com" mailPassword - Пароль пользователя почтового клиента Тип: string По умолчанию: "password" mailService - Адрес почтового сервера для отправки почты Тип: string По умолчанию: "smtp.gmail.com" mailUser - Имя пользователя почтового клиента Тип: string По умолчанию: "user" maxReqursionRender - [Доступно с версии 1.1.44] Определяет ограничение количества вложенных шаблонов при рендеринге. Тип: integer По умолчанию: 100 maxSizeReceived - Максимальный размер тела запроса которое задает параметр limit в BodyParser Тип: string По умолчанию: 100mb maxUrlCountParametersReceived - Максимальный размер URL параметров которое задает параметр parameterLimit в BodyParser Тип: int По умолчанию: 1000 nodeDependencies - Перечень зависимостей NODEJS модулей Тип: object Объект имеет следующий формат. В качестве ключа выступает имя пакета. Значение является пустым объектом или объектом со свойством version. Значение свойства version может начинаться с ограничения (иметь префикс) ">=", ">", "<=", "<" или иметь конкретное значение версии. Если поле не задано NPM выберет версию на свое усмотрение. Пример: ... nodeDependencies:{ "match-all": {}, "express": { version: "4.16.2"}, "mysql2": { version: ">=2.2.3" }, } ... numberInvalidLoginAttemptsBeforeWaiting - Количество неудачных попыток ввода пароль для пользователя, после чего вход для пользователя блокируется на время указанное в параметре waitingLogin Тип: int По умолчанию: 3 projectionDirectories - Массив с путями директорий проекций подгружаемых в проект. При переопределении данного параметра из приложения или другого модуля содержимое массива дополняется. Тип: [string] По умолчанию: ["fcf:projections"] routes - Массив связывающий элементы путей с контроллерами. Тип: array routes - массив объектов описывающих URL маршруты приложения. Элемент массива конфигурируется двумя обязательными полями "uri", "controller" и необязательным полем "childs", остальные свойства передаются в контроллер, как параметры. uri - URI путь приложения. Может иметь три формата: Полный - полное соответствие указанному пути. Параметризованный - Отдельные разделы пути заменяются аргументом ${ARG_NAME}, который при обработке помещается в аргументы роутера Пример: "/pages/${name}" Все вложенные - для этого используется символ *. Для объявления "/page/*" будут соответствовать все пути начинающиеся с "/page/" controller - Путь к контроллеру обрабатывающий заданный URL childs - Массив объектов описателей вложенных путей. Пример на два адреса "/main" и "/main/news": { uri: "/main", controller: "fcf:NServer/NControllers/Page.js", source: "templates/main.tmpl", childs: [ { uri: "news", controller: "fcf:NServer/NControllers/Page.js", source: "templates/news.tmpl", } ], }, sessionLifetime - Время жизни сессии клиента. Если параметр равен нулю ограничение не применяется. Тип: int/day По умолчанию: 30 site - Наименование сайта Тип: string По умолчанию: "http://localhost" systemVariables - Объект с описанием системных переменных. В качестве ключа выступает путь системной переменной [PACKAGE]:[VARIABLE_NMAE]. А в качестве значения выступает объект с описанием . Тип: object Пример объявления системной переменной в файле fcf:package.config: { ... systemVariables: { "fcf:packageVersions": { value: {fcf: "0.0.0"}, description: "Package versions", } }, ... } userProjectionName - Проекция в которой хранится информация о пользователях Тип: string По умолчанию: "___fcf___users" view - Объект с правилами выбора шаблона отображения для типа данный FSQL. При переопределении из другого модуля параметр дополняется Тип: object Объект имеет следующую структуру: { MODE: { FSQL_TYPE1: TEMPLATE1, FSQL_TYPE2: TEMPLATE2 } } MODE - Формат многоуровневого задания режима вывода. Режимы первого уровня: add, edit, read. Режимы второго уровня: add.full, edit.short, read.full. Для указания соответствия всех вложенных режимов используется символ *. Так для записи "add.*" будут соответствовать комбинации "add" и "add.full" FSQL_TYPE1 - Тип FSQL TEMPLATE1 - Шаблон или alias для отображения данных в соответствующем режиме Пример: views: { "read.*": { "boolean": "@controls:boolean", "datetime": "@controls:datetime", "enum": "@controls:enum-item", "file": "@controls:file", "float": "@controls:text", "int": "@controls:text", "link": "@controls:link", "string": "@controls:text", }, "read.short": { }, "read.full": { "externalRef": "@controls:externalRef", }, "edit.*": { "boolean": "@controls:checkbox", "datetime": "@controls:datetime-edit", "enum": "@controls:select", "file": "@controls:file-edit", "float": "@controls:float-edit", "int": "@controls:int-edit", "password": "@controls:password", "string": "@controls:text-edit", "text": "@controls:textarea", }, "edit.full": { }, "add.*": { "boolean": "@controls:checkbox", "datetime": "@controls:datetime-edit", "enum": "@controls:select", "file": "@controls:file-edit", "float": "@controls:float-edit", "int": "@controls:int-edit", "password": "@controls:password", "string": "@controls:text-edit", "text": "@controls:textarea", }, "add.full": { }, }, waitingLogin - Время на которое блокируется вход для пользователя после неудачных попыток входа Тип: int/seconds По умолчанию: 60