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

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

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

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

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

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

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

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

  • topNavbarText- разметка в верхней панели (слева от поиска)
  • 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>
  • userProfileLink - ссылка на профиль пользователя. Если заполнена - то показывается наверху справа в выпадающем списке. 
  • enableLang - если 1, то можно менять язык справа наверху (локализация)
  • defaultLang - можно установить язык по умолчанию (например, ru-ru или en-us). 
  • enableAnimation - включается анимация (появление заголовков, сообщение после сохранения формы, открытие модального окна).
  • enableGeolocation - если 1, то включает запрос разреения на геолокацию в браузере и сохранение страны пользователя. 
  • geolocationKey - ключ Google GeolocationAPI для подключения скриптов геолокации
  • 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 (грузится через отдельную хранимую процедуру). 
  • 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, то форма будет в виде большого окна, выдвигающегося слева.

При 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).

Примечание: если при этом не нужен SELECT 2, то вместо него можно просто поставить Select '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 и т.д.)

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

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

  • licenseKey - ключ лицензии экземпляра программы
  • logUserAction - если 1, то в as_trace будут логироваться все запросы controller/action
  • logChanges - если 1, то будут сохраняться все изменения хранимых процедур в базу данных
  • proxyUrl - адрес прокси для телеграма (в формате http://45.89.19.84:11498)
  • proxyUser - пользователь прокси
  • proxyPassword - пароль к прокси
  • telegramToken - токен телеграм. Если не указан, то бот телеграма не запускается. 
  • telegramOnlyTextMessages - если 1, то телеграм бот будет обрабатывать только текстовые запросы
  • disableAntiXSSRoles - список ролей, которые могут отправлять на сервер HTML (защита от XSS атак). 
  • catalogCacheMinutes - время кеширования в минутах результатов выдачи каталога (если 0, то кеширование не используется)
  • listCacheMinutes - время кеширования в минутах результатов выдачи списка list (если 0, то кеширование не используется)
  • Cron:PeriodSeconds и Cron:Key - настройка внутреннего планировщика периодческих событий, задают период события в секундах и ключ для проверки в хранимой процедуре
  • disableTransactions - если 1, то во всех запросах к БД отключены транзакции при выполнении запросов (режим используется для запроса к другим базам через openquery). 
  • autoCommentToSP - если 1, то при сохрании хранимой процедуры в нее будет записываться в конец авто комментарий с именем пользователя и временем правки. 

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

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

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

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

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

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

select 'clearcache' type, 'as_' prefix

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

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

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

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

Платформа Falcon Space

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

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

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

по ходу эксплуатации программы

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

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

Бесплатное обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space.
Примечание