Application system parameters Description of the settings used in the settings.config configuration file and in the package configuration files. Which is responsible for the main parameters of the application.
aliases - An object with path aliases of various types, ranging from error-handling pages to template path aliases. Used for the ability to override basic templates and for a reduced set. When you specify an alias in the program, first put the sign @: fcf.getPath("@controls:button"). When overridden from another module, the parameter is supplemented Type: object Example of setting a field 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 - Determines the health permission of the application on the client if the client opens it on a non-native server URL. Type: bool|array Default: true If true, the application will work regardless of the URL. If false, the application will only run on the server specified in the site parameter. If the parameter is represented by an array of domain names, the application will only work on the specified domains and the site specified in the site parameter cacheDirectory - Path to the cache directory Type: string Default: ":cache" directorySystemProjections - Path to the project's system projections Type: string Default: ":projections/fcfsystem" filters - An object that binds the FSQL data type to the field handler filter. The key is the data type, and the value is the path to the module of the data type handler (filter) When overridden from another module, the parameter is supplemented Type: object Example: 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 - Friendly site name Type: string Default: "FCF" html - The configuration object of the HTML page. Contains the "include" field object, whose elements (values) are included in each page of the project. Example: { html: { include: { "jquery.js": "path_to_js", "jquery.css": "path_to_css", } } } Type: object lifetimeNotInitializedUser - The lifetime of the account without confirmation of registration. If the parameter is set to zero, the restriction is not applied. Type: int/day Default: 7 logFile - The path prefix of the log file. To form the real path of the file, the date and the extension ".log " are also added" Type: string Default: "log/node-log-" loginUncreatedUser - If true, user authentication without confirmation by e-mail is allowed Type: bool Default: false logLifeTime - Log file lifetime Type: int Default: 30 mailAddress - The address of the mailbox of the sent messages Type: string Default: "mail@gmail.com" mailPassword - Email Client user password Type: string Default: "password" mailService - The address of the mail server to send mail to Type: string Default: "smtp.gmail.com" mailUser - Email Client user name Type: string Default: "user" maxReqursionRender - [Available since version 1.1.44] Determines the limitation on the number of nested templates when rendering. Type: integer Default: 100 maxSizeReceived - The maximum size of the request body that is set by the limit parameter in bodyParser Type: string Default: 100mb maxUrlCountParametersReceived - The maximum size of the parameters URL that is set by the parametersLimit parameter in bodyParser Type: int Default: 1000 nodeDependencies - List of NODEJS module dependencies Type: object The object has the following format. The key is the package name. The value is an empty object or an object with the version property. The value of the version property can start with a constraint (have a prefix) ">=", ">", "<=", "<" or have a specific version value. If the field is not specified, NPM will choose the version at its discretion. Example: ... nodeDependencies:{ "match-all": {}, "express": { version: "4.16.2"}, "mysql2": { version: ">=2.2.3" }, } ... numberInvalidLoginAttemptsBeforeWaiting - The number of failed attempts to enter the password for the user, after which the user's login is blocked for the time specified in the waitingLogin parameter Type: int Default: 3 projectionDirectories - An array with the paths of the projection directories loaded into the project. When you redefine this parameter from an application or another module, the contents of the array are expanded. Type: [string] Default: ["fcf:projections"] routes - An array that binds path elements to controllers. Type: array routes - array of objects describing the URL routes of the application. The array element is configured with two mandatory fields "uri", "controller" and an optional field "childs", the remaining properties are passed to the controller as parameters. uri - URI path of the application. It can have three formats: Full -full match to the specified path. Parameterized - Separate sections of the path are replaced with the argument ${ARG_NAME}, which is placed in the router arguments during processing Example: "/pages/${name}" All nested - to do this, use the * symbol. For the "/page/*" declaration, all paths starting with "/page/" will match controller - The path to the controller that processes the specified URL childs - Array of nested path descriptor objects. Example for two addresses "/main" and " /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 - The lifetime of the client session. If the parameter is set to zero, the restriction is not applied. Type: int/day Default: 30 site - Name of the site Type: string Default: "http://localhost" systemVariables - An object with a description of system variables. The key is the path of the system variable [PACKAGE]:[VARIABLE_NMAE]. And the value is an object with a description . Type: object Example of declaring a system variable in the fcf:package.config file: { ... systemVariables: { "fcf:packageVersions": { value: {fcf: "0.0.0"}, description: "Package versions", } }, ... } userProjectionName - A projection that stores information about users Type: string Default: "___fcf___users" view - An object with the rules for selecting a display template for the given FSQL type. When overridden from another module, the parameter is supplemented Type: object The object has the following structure: { MODE: { FSQL_TYPE1: TEMPLATE1, FSQL_TYPE2: TEMPLATE2 } } MODE - Format for multi-level output mode assignment. First Level Modes: add, edit, read. Second-level modes: add.full, edit.short, read.full. To indicate the correspondence of all nested modes, use the symbol *. So for the record "add.*" will correspond to the combination of "add" and "add.full" FSQL_TYPE1 - FSQL type TEMPLATE1 - Template or alias for displaying data in the appropriate mode Пример: 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 - The time for which the user is blocked from logging in after unsuccessful login attempts Type: int/seconds Default: 60