Настройки системы

Смотреть видео

Введение

В системе есть различный уровень настроек:

  • Системный SQL (/syssp) задает ключевые настройки, работающие через SQL ( в первую очередь это каркас страницы GetLayout)
  • Статичные настройки (/settings) - раздел неизменяемых опций, которые используются в системе
  • Системные настройки (файл web.config)
  • Настройки frontend (/uplaods/as.systemOptions.js) - для стилизации и работы в JS 

Раздел Системный SQL (/sysSP)

  • Процедура поиска (falcon_search) - процедура глобального поиска (в шапке сайта)
  • Процедура GetLayout (falcon_getLayoutInfo) - процедура извлечения для построения страницы (язык, настройки макета и т.д.). Выполняется при загрузке каждой страницы
  • Периодический запуск (falcon_sync) - хранимки, которые запускаются по периоду. Чтобы они корректно работали, необходимо настроить ежеминутный вызов адреса из внешнего сервиса (см. соответствующий раздел)
  • Генерация sitemap.xml (falcon_sitemap) - создание карты сайта в виде файла sitemap.xml

Раздел  Общие настройки /settings

  • mail…. - Настройки отправки почты
  • commonScripts - разметка перед закрывающим тегом (счетчики, скрипты, глобальные кнопки и т.д.)
  • commonScriptsNoBot - разметка перед закрывающим тегом (счетчики, скрипты, глобальные кнопки и т.д.) для обычных посетителей, исключая ботов.
  • commonStyles - добавление стилей, подключение шрифтов
  • apiType  - тип вывода АПИ. Либо XML либо JSON
  • brand - Что выводится наверху слева (название сайта)
  • logChanges - логировать или нет изменения сущностей (если не используется, то лучше не логировать, чтобы не разрасталась база)
  • robots.txt - редактирование файла индексации robots (для поисковиков)
  • sitemap.xml - редактирование sitemap.xml файла (для поисковиков). Настройка НЕАКТУАЛЬНА (данные теперь берутся из процедуры falcon_sitemap).
  • globalJS - JS, который будет доступен каждой странице
  • globalCSS - стили, которые применятся к каждой странице
  • logoIcon - FontAwesome иконка для логотипа вверху слева
  • ShowDebugInfo - если 1, то для компонентов Форма, Таблица, Дашборд и другие будут выводиться JSON объекты в консоль браузера (независимо от роли)
  • logoffURL - если указан URL, то после выхода пользователь будет переходить на этот адрес, а не на главную
  • enableLogErrorForBot - если "1", то для ботов будут фиксироваться JS ошибки в trace (по умолчанию логирование ошибок для ботов отключено)
  • disableMailLog - если 1, то будет отключено логирование отправки писем в trace с кодом email
  • disableSendMail - если 1, то будет глобально для сайта отключена отправка писем. 
  • globalRightBreadcrumb - разметка, которая добавляется в правые хлебные крошки на все стандартные страницы с хлебными крошками.

Как изменить элементы Layout (настройки GetLayoutInfo)

Для этого необходимо изменить процедуру falcon_getLayoutInfo в разделе Системные элементы/Системный SQL

Параметры процедуры: 

  • url - текущая страница 
  • username - текущий пользователь
  • langID - текущий язык
  • parameters ExtendedDictionaryParameter (необязательный) - содержит служебные данные (например, falconGuid - уникальный идентификатор любого посетителя, который хранится у него в куки)

Выходной первый select (SELECT 1) имеет следующие параметры: 

  • topNavbarText- разметка в верхней панели (слева от поиска)
  • topPageText - разметка, которая добавляется перед хлебными крошками на странице
  • brand - название сайта (слева вверху)
  • logoIcon - иконка бренда (слева наверху), по умолчанию fa-dove. Также можно указать путь - тогда будет выводиться указанная картинка
  • leftFooterText - разметка в подвале слева, rightFooterText - разметка в подвале справа
  • footer - разметка для подвала (если она указана, то игнорируются leftFooterText  и rightFooterText)
  • mobileFooter - разметка закрепленной полоски внизу мобильного (не заменяет footer). Типовая разметка: 
<ul class="list-inline mt-2 text-center">
    <li class="list-inline-item px-3"><a href="#" title=""><i class="fa fa-2x fa-cube"></i></a></li>
    <li class="list-inline-item px-3"><a href="#" title=""><i class="fa fa-2x fa-star"></i></a></li>
    <li class="list-inline-item px-3"><a href="#" title=""><i class="fa fa-2x fa-bars"></i></a></li>
    <li class="list-inline-item px-3"><a href="#" title=""><i class="fa fa-2x fa-fire"></i></a></li>
</ul>
  • customHeader - разметка верхней полоски, полностью заменяет верстку верхней панели. Может содержать различные параметры замены вида {par1}. Подробнее
  • userProfileLink - ссылка на профиль пользователя. Если заполнена - то показывается наверху справа в выпадающем списке. 
  • userProfileLabel - место-заголовок, которое выводися в меню профиля пользователя справа наверху. Если пустая - то будет выводится имя пользотеля (username). Если пробел " ", то не будет выводиться ничего.

  • enableLang - если 1, то можно менять язык справа наверху (локализация)
  • defaultLang - можно установить язык по умолчанию (например, ru-ru или en-us)
  • enableAnimation - включается анимация (появление заголовков, сообщение после сохранения формы, открытие модального окна)
  • enableGeolocation - если 1, то включает запрос разрешения на геолокацию в браузере и сохранение страны пользователя
  • geolocationKey - ключ Google GeolocationAPI для подключения скриптов геолокации
  • saveGeoposition - если 1, то в скрытом поле as-latlng будут проставлены текущие координаты в формате "lat,lng"
  • leftSidebar - HTML разметка в левом сайдбаре, выводится для всех страниц
  • hideLeftCol - если 1 то скрывается вся левая колонка с меню и лого на странице
  • favicon - путь к favicon иконке
  • BalanceSum, BalanceLink, BalanceText, BalanceIcon - вывод вверху элементов по балансу пользователя (в целом можно любую другую информацию вывести здесь о текущем пользователе).  Элемент выводится только если BalanceSum не пустая строка (выводить можно и для неавторизованных пользователей)
  • theme - название темы. ВАЖНО! Не указывайте здесь названия несуществующей темы (в этом случае вся верстка сайта поедет и необходимо будет менять данную хранимую процедуру через SQL Management Studio). Тема это файл, хранящийся в папке /uploads/themes/{themeCode}
  • horizontalMenuOnTop. Если 1 - то горизонтальное меню выводится в верхней полосе шапки. Если 0 - то под шапкой
  • TopSubMenuText, TopSubMenuTitle - задание большого подменю вверху. Выводится TopSubMenuTitle перед поиском и раскрывается в виде большой панели с разметкой TopSubMenuText
  • breadcrumbOnTop.  Если 1 - то хлебные крошки выводятся в верхней полосе шапки. Если 0 - то под шапкой
  • showSearch - Если 1 то поиск показывается пользователю
  • helpChatKey - если указать ключ для чата (пока только ключ чатов replain), то выведет внизу чат для помощи пользователю.  Указывается в формате replain:{id}. Можно давать различные чаты в зависимости от роли пользователя. Ключ чата можно получить на https://replain.cc/
  • dateFormat - установка вывода формата даты, по умолчанию dd.mm.yyyy
  • phoneFormat - установка формата для телефона , по умолчанию +1 (ddd) ddd dd-dd
  • fixWidth  - если 1 то страница имеет фиксированную ширину (container). По умолчанию макет страницы резиновый (container-fluid)
  • disableCart - если 1, то в шапке сайта не выводится элемент корзины
  • cartCode - задает код корзины для элемента в верхней полоске (data-code)
  • bodyClass - если указан, то к тегу body добавляется этот класс (необходимо для более точного CSS системных элементов (напр. хлебных крошек) для конкретных страниц)
  • schemaTypeBody - схема микроразметки Schema.org. Если указана, то у body проставляет схема (в общем случае можно использовать http://schema.org/WebPage)
  • userPic - указывает путь на картинку (выводится в правом верхнем углу как аватар пользователя). Если не указывать - то работает стандартный механизм загрузки файла getFile (грузится через отдельную хранимую процедуру).  ВАЖНО - если картинка указана, то выбор картинки пользователем в профиле не будет влиять на нее 
  • userPicLabel - метка имени пользователя выводится рядом с аватаркой пользователя сверху справа. На мобильных экранах надпись скрывается
  • alertIcon - настройки вывода иконки в сообщениях справа вверху. Значения - no, x, 2x, 3x. Определяет размер иконки. Если no - то иконки не будут использоваться
  • TopMakeup и TopMakeupMobile - задают кастомную разметку для верхней панели системы с использованием переменных вида {code1}. Подробнее
  • LinkPrefix - строка префикс для добавления в конец URL для загрузки CSS и JS. Требуется когда необходимо принудительно обновить у всех пользователей подгружаемые ресурсы (которые закешировались в браузере). В итоге ресурсы будут грузиться с ?v={prefix}
  • HideNotificationPanel - если 1, то на странице под хлебными крошками не будет выводиться панель уведомлений для пользователя. По умолчанию она выводится. 
  • customMetaTags - кастомные настройки дополнительных тегов. По умолчанию там следующее: 
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="author" content="Falcon Space, Web-Automation.ru">
<meta name="theme-color" content="#cccccc">


Второй запрос в GetLayout (SELECT 2) - это горизонтальное меню.

Модель SELECT 2: 

 --SELECT 2 - TOP HORIZONTAL MENU
select 1
/*
 select id Id,
	name Name,
	'' Title, подсказка к элементу
	code Url,
	'fa fa-cogs' CssClass, класс иконки
	0 isActive,
	parentID ParentID родительский элемент(для вложенного меню)
	from as_cat_categories
 */

Если не указан 2 запрос, то меню не выводится (это меню может никак не пересекаться с as_menu и pg_pages и строиться полностью динамически).

Третий запрос GetLayout (SELECT 3) дает список форм быстрого добавления, которые можно открыть с любой страницы в модальном окне. 

 Для этого используем следующую модель в SELECT 3: 

 

select * from  

    (select 'form' type,'Создать страницу' Title, 'newPage' Code, '' itemID, 'fa-plus'
     Icon, 'Создать страницу' btnText, 0 bigModal,  0 Ord
     union 
     select 'sp' type, 'Процедура GetLayout' Title, 'falcon' Code,'getLayoutInfo'
     itemID,  'fa-cube' Icon, '' btnText, 1 bigModal, 6 Ord
     union 
     select 'link' type,'Очистка кеша' Title, '/controls/stuff/clearcache' Code,''
     itemID, 'fa-trash' Icon, '' btnText, 0 bigModal,  500 Ord) t
     union 
     select 'formcont' type,'' Title, 'newPage' Code,'123'
     itemID, '' Icon, '' btnText, 0 bigModal,  500 Ord) t
Order by ord

 

При Type = form вызывается модальная форма 

  • Title - задает название элемента в списке и заголовок модального окна.
  • Code - код модальной формы
  • ItemID - data-itemID для формы.
  • Icon - иконка в списке
  • btnText - Кнопка сохранения в модальном окне
  • bigModal - Если 1, то делает модальное окно большим. 
  • slideout - Если 1, то форма будет в виде большого окна, выдвигающегося слева. Если 2 - то справа. Если 0 - то стандартное модальное окно по центру.
  • floatPanel - если 1, то кнопка будет участвовать во float панели справа.  Подробнее про float панель

При Type = formcont прямо в панели показывается форма (для малых форм)

  • Code - код формы
  • ItemID - data-itemID для формы
  • Title, Icon, btnText, btnModal, slideout  - не используются

Работа с формами

При Type = table вызывается таблица в модальном окне 

  • Title - задает название элемента в списке и заголовок модального окна.
  • Code - код таблицы
  • Icon - иконка в списке
  • bigModal - Если 1, то делает модальное окно большим. 
  • slideout - Если 1, то таблица будет в виде большого окна, выдвигающегося слева.

Работа с таблицами

При Type = link кнопка будет работать как ссылка и переходить по адресу, указанному в поле Code. 

При Type = sp кнопка будет работать как компонент изменения хранимой процедуры (компонент as-sp-link). 

При этом в Code указывается первая часть (data-control), в itemID указывается вторая часть (data-entity) и в btnText указывается 3 часть наименования хранимой процедуры (data-operation).

Примечание:

1. если при этом не нужен SELECT 2, то вместо него можно просто поставить Select '1'

2. Если нужно скрыть определенную ссылку, то можно установить type = '' 

3. Можно задать фон элемента через параметр background (bootstrap цвета - info, danger, warning и т.д.)

4. floatPanel =1 у ссылки помещает ее в плавающую панель иконок справа 

Четвертый запрос GetLayout (SELECT 4) определяет что будет выводиться пользователю в служебном меню справа (при нажатии на иконку пользователя).



-- SELECT 4 STUFF MENU

if(@username='admin') begin

  select * from  

   (select '' Class,'Мой профиль' Title, 'fa-user' Icon, '/user' Url, 0 Ord
    union 
    select '' Class,'Сменить пароль' Title, 'fa-key' Icon,
           '/admin/account/changepassword' Url, 1 Ord
    union 
    select '' Class,'Выход' Title, 'fa-sign-out-alt' Icon,
           '/account/logoff' Url, 2 Ord) t

    Order by ord 

  end else begin 

  select * from  

    (select '' Class,'Войти' Title, 'fa-user' Icon, '/account/login' Url, 0 Ord) t

  Order by ord 

end 

Примечание. Быстрые ссылки из SELECT 4 доступны через горячие клавиши Ctrl + Alt + [Num]

Пятый запрос GetLayout (SELECT 5) определяет лейблы, которые выводятся у пунктов меню.

select '/tickets' Url, 'fa fa-edit' Icon, '12' Value, 'light' Type, '123' Title
union
select '/forms' Url, 'fa fa-edit' Icon, '' Value, 'success' Type, '123' Title

По Url мы находим пункт меню и добавляем в него элемент с иконкой Icon, справа от иконки значение Value. Стиль подложки задает Type (secondary, light, success и т.д.)

Шестой запрос GetLayout (SELECT 6) содержит вызов внешних действий (отправка почты, телеграм и т.д.)

Настройки appsettings (web.config)

Это специальные системные настройки, которые хранятся в конфигурационном файле веб-проекта в разделе appSettings. В core версии платформы, эти настройки хранятся в файле appsettings.json

  • autoCommentToSP - если 1, то при сохранении хранимой процедуры в нее будет записываться в конец автокомментарий с именем пользователя и временем правки. 
  • catalogCacheMinutes - время кеширования в минутах результатов выдачи каталога (если 0, то кеширование не используется)
  • Cron:PeriodSeconds и Cron:Key - настройка внутреннего планировщика периодических событий, задают период события в секундах и ключ для проверки в хранимой процедуре
  • defaultLang (en-us, ru-ru) - установка языка по умолчанию (имеет приоритет над аналогичной установкой в Settings). Имеет смысл использовать когда 2 разных приложения используют одну базу и могут иметь разные настройки в web.config по языку. 
  • disableAntiXSSRoles - список ролей, которые могут отправлять на сервер HTML (защита от XSS атак). 
  • disableTransactions - если 1, то во всех запросах к БД отключены транзакции при выполнении запросов (режим используется для запроса к другим базам через openquery). 
  • listCacheMinutes - время кеширования в минутах результатов выдачи списка list (если 0, то кеширование не используется)
  • licenseKey - ключ лицензии экземпляра программы
  • logUserAction - если 1, то в as_trace будут логироваться все поcещения страниц с кодом (pv) и все сохранения форм (с кодом sf)
  • logChanges - если 1, то будут сохраняться все изменения хранимых процедур в базу данных
  • proxyUrl - адрес прокси для телеграма (в формате http://45.89.19.84:11498)
  • proxyUser - пользователь прокси
  • proxyPassword - пароль к прокси
  • sqlTimeout - задает в секундах таймаут на запросы sql (по умолчанию 30 секунд)
  • telegramToken - токен телеграм. Если не указан, то бот телеграма не запускается
  • telegramOnlyTextMessages - если 1, то телеграм бот будет обрабатывать только текстовые запросы
  • hugeQueriesLimit - указываем суммарное число строк, вернувшихся от запроса, при котором логируется файл количества строк в as_trace с кодом huge (по умолчанию 500) используется для поиска больших массивов, загружающих процессор
  • traceTextSize - максимальный размер поля text в as_trace. (по умолчанию 2047). Если вы измените тип поля на nvarchar(max), то имеет смысл увеличить этот параметр до требуемого размера
  • disableSaveTraceCodes - список кодов через запятую, для которых нужно отключить сохранение в trace. Если * - то любые коды не сохраняются. 
  • jsAvailableTraceCodes  - устанавливает какие коды (строка через запятую) в trace может сохранить front сторона (из JS), по умолчанию это строка "event,dblreq" 
  • security:requestsInMinuteLimit и security:blockIPCacheMin - настройки блокировки частых запросов по IP (боты, парсинг). Подробнее
  • security:trapUrls - список URL через запятую. Если посетитель заходит на один из адресов, то он блокируется на некоторое время (например, значение /wp-admin,/wp-content). 
  • sendPrintToUsernames - список администраторов, кому приходят print из sql процедур в реальном времени (выводятся слева внизу на любой странице).
  • HotLinkRegexFilter, HotLinkRegexFilterDomain (доступно только в appsettings.json для Core) - указаны шаблоны путей, для которых будет включена защита от хотлинкинга (когда идет прямое обращение ресурса, а не со страницы с сайта). Указываем массив шаблонов, а также домены, с которых можно делать ссылки. Пример: 
HotLinkRegexFilter": [
"/uploads/(.*)"
],
"HotLinkRegexFilterDomain": "localhost"

Настройки кеширования 

В системе некоторые объекты кешируются на уровне сервера: 

  • меню пользователя
  • выдача каталога (время кеша устанавливается в web.config. Если 0, то отключено).
  • выдача списков list (время кеша устанавливается в web.config. Если 0, то отключено).
  • работа с ролями пользователей
  • настройки

Корневой префикс всех ключей кеша - as_ 

Вручную очистить кеш можно в разделе Настройки. 

Если необходимо чистить кеш после некоего действия в форме - используйте внешнее действие clearcache

select 'clearcache' type, 'as_' prefix

Дополнительные настройки через class для body

В GetLayout вы можете установить класс для тега body. Он может иметь некоторые значения для настроек: 

  • as-poorVision - чуть увеличенный шрифт, режим для слабовидящих. 
  • as-disable-onerror - отключен обработчик ошибок (и ошибки выводятся как есть в консоли браузера)
  • as-stickyLeft - левая панель всегда на виду
  • as-stickyTop - верхняя плашка всегда привязана к верху браузера
  • as-disableSlideoutMenu - отключает на мобильных устройствах открытие меню по swipe (движение пальцем вправо).

Настройки Frontend в JS файле

Некоторые настройки вынесены в файл /uploads/as.systemOptions.js. Они управляют отдельными деталями работы frontend. 

var as = as || {};

as.systemOptions = {
    "alert.alwaysHidePrev": false, // если true, то при появлении нового алерт будут скрываться все предыдущие
    "alert.disableProgress": false,  // скрывать в alert окне progress bar элемент
    "alert.defaultDelay": 7000,   // длительность по умолчанию для alert
    "alert.placement": "center",  // расположение окна алерт (center, leftBottom, leftTop, rightBottom). По умолчанию - справа наверху.
    "alert.defaultDelay": 7000, // задержка окна alert по умолчанию
    "alert.disableTimestamp":false, // настройка в as.systemOption.js - если true, то отключает показ метки времени в окошках alert

    "copy.enableSourceAdding": true, // если true - то при копироовании текста с сайта будет идти добавка в текст.
    "copy.container": "", // указывает селектор контейнера, в рамках которого добавляется прибавка текста при копировании
    "copy.disableCopy": false, // если true - то при копировании текста через Ctrl + C не будет ничего скопировано в буфер обмена

    "form.disableMaxlengthInput": false, // отключить для полей с maxlength отображение остатка
    "form.spinnerIcon": "fa-spinner fa-spin", // иконка загрузки формы
    "form.progressDelay": 1000,  // delay for progress trigger field change
    "form.checkFieldDelay": 1500, // delay перед отправкой запроса по изменению поля.
    "form.updateDependentColsDelay": 200, // озадержка в мс перед срабатыванием триггера Зависимых колонок
    "form.resultContClasses": "p-3 my-3 text-muted shadow-sm border d-flex justify-content-between", // классы окна результата при сохранении форм
    "form.ctrlEnterForm": "founderror", // форма которая будет показываться при ctrl enter (с обработкой выделенного текста)
    
    "entity.statusColorStyle": "border: solid 1px {0}",  // задает стиль статуса Сущности {0} - #color
    "entity.actionColorStyle": "background-color: {0}", // задает стиль кнопки дейсвтия {0} - #color

    "disableDebugMode": false, // возможность отключить показ отладочных сообщений в консоли браузера

    "doubleRequests.disableCheck": false, // отключить контроль количества одинаковых запросов на странице
    "doubleRequests.count": 3, // порог по количеству запросов, после которого будет идти уведомление в trace с кодом dblreq
    "doubleRequests.countLimit": 4, // после превышения данного порога запрос будет отбрасываться и выводиться сообщение юзеру
    "doubleRequests.duration": 2000, // длительность в течение которого учитывается количество запросов (в миллисекундах)
    "menu.animateIcon": "faa-tada", // установить формат анимации иконок меню при наведении (варианты - https://l-lin.github.io/font-awesome-animation/)
    "modal.headerBack": "danger",  // цвет верхней полоски в модальном окне
    "modal.bodyBack": "warning",   // цвет тела модального окна
    "modal.footerBack": "success", // цвет нижней части модального окна.
    "modal.enablePrevNextModal": false, // если true, то в модальном окне будут показаны кнопки перехода назад/вперед (переключение по истории показа модальных окон)
 "modal.changePageTitleWithModal": true, // если true то при открытии окна будет меняться title страницы (при закрытии возвращать начальное значение)
   "online.disableCheck": false, // если true - то не будет проверяться статус онлайн юзер или нет (as-online)
    "online.period": 30000, // через сколько миллисекунд опрашивать сервер о статусе юзера (онлайн или нет)
    "table.removeIcon": "far fa-trash-alt",// иконка удаления в таблице
    "table.commentIcon": "fa-comment", // иконка коммента в таблице
    "table.defaultTheme": "light", // тема для таблиц по умолчанию
    "table.instantFilterDelay": 1500,  // задержка в мс при срабатывании InstantFilter
    "table.subPlus": "fa-caret-right",  // иконка для свернутого состояния sub
    "table.subMinus": "fa-caret-down",// иконка для развернутого состояния sub
    "timestamp.secNow":10, // кол-во секунд, в течениие которых временная метка выводится как "только что" 
    "search.delay": 3000,  // через сколько мс начнет запускаться глобальный поиск
    "search.minLength": 5, // кол-во символов в поиске  с которого запускается поиск
    "switch.defaultWidth": "150px", // ширина переключателя по умолчанию 
"system.excludeExceptions": /Client Closed Request|1111/g, // какие JS ошибки не логировать
    "system.slowRequestLimitMs": 700, // если больше этого порога в мс, то Ajax запрос будет логироваться в trace с кодом slow
    "system.disableSignalR": false, // если true то будет отключен механизм signalR (уведомления с сервера на клиент о некоторых событиях)
    "system.getIPInfoUrlFormat" : 'some url {0}', // использование внешнего API для получения данных по IP ({0} - передаваемый API). Испольуется для компонента as-ip
    // настройки для signalR уведомления
    "notifications.alertType": "info",  // вид вид уведомления SignalR
    "notifications.alertIcon": "fa fa-bell", // иконка уведомления
    "notifications.alertDelay": 100000, // как долго будет висеть уведомление
    "notifications.alertShowUserFrom": true, // если true  - то будет показываться юзер, от которого пришло уведомление
     "notifications.sound": "", // путь к звуковому файлу - будет проигрываться при новом уведомлении
     "notification.processNotificationIcon": "far fa-check-circle"  // иконка на кнопке обработки уведомления (в панели уведомлений).
                            
}

Для использования настроек в JS разработке следует использовать функцию as.option(code, defValue)

Главные горячие клавиши

  • Ctrl + Shift + S - сохранение формы или поля, вызов сохранения в модальном окне
  • Ctrl + Shift + [Num] - вызов одного из элементов меню быстрых действий (вверху) - по номеру расположения в меню
  • Ctrl + Shift + U - очистка storages в браузере (для быстрого решения проблем после обновления)
  • Ctrl + Alt + F - применение фильтра в таблице
  • Ctrl + Alt + N - вызов окна быстрого создания в таблице
  • Shift + Alt + Z - вызов окна быстрых действий
  • Ctrl + Shift + F11 - переключение диалогового окна на полноэкранный режим и обратно

Также есть механизм HotKeys - позволяет задать комбинацию клавиш и селектор элемента, на котором сработает данная комбинация.

Дополнительные элементы настройки

Запуск периодических событий

Универсальный поиск по сайту

Настройка почты

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

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

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.