Каждое решение, написанное на основе платформы Grotem имеет одинаковую внутреннюю структуру:
- device
- app
- BusinessProcess
- Configuration
- Image
- Screen
- Script
- Style
- Translation
- app
- server
- css
- image
- script
- view
- settings.xml
device
В каталоге device располагаются все исполняемые файлы мобильной части решения.
/ BusinessProcess - содержит файл BusinessProcess.xml со структурой бизнес процессов, определяющей:
- навигацию внутри решения;
- подключение контролеров;
подключение дополнительных файлов с разметкой.
<?xml version="1.0" encoding="utf-8" ?> <bp:BusinessProcess xmlns:bp="BitMobile.BusinessProcess" xmlns:s="BitMobile.ValueStack"> <bp:Workflow Name="Main" Controller="Main\Main.js"> <bp:Step Name="Visits" Screen="Visit\Visits.xml" Controller="Visits\Main.js"> <bp:Action Name="ShowMap" NextStep="ShowMap"></bp:Action> <bp:Action Name="Select" NextWorkflow="Visit"></bp:Action> <bp:Action Name="SelectUnscheduled" NextWorkflow="Visit"></bp:Action> <s:Include File="\Components\SideMenuActions.xml"/> </bp:Step> </bp:Workflow> </bp:BusinessProcess>
/Configuration - содержит файл Configuration.xml с общей конфигурацией мобильного приложения:
<c:BusinessProcess File=" ....xml "/> - задается файл, описывающий, бизнес процессы мобильного приложения.
<c:Style> </c:Style> - указываются файлы с css-стилями, которые будут использоваться по умолчанию и для различных форм-факторов.
- <c:Script> <c:GlobalEvents File=" ....js" /> <c:GlobalModules> </c:Script> - указываются глобальные событиями и модули и миксины, к которым можно будет обращаться из любого экрана мобильного приложения.
<?xml version="1.0" encoding="utf-8" ?> <c:Configuration xmlns:c="BitMobile.Configuration" xmlns:s="BitMobile.ValueStack"> <c:BusinessProcess File="BusinessProcess.xml" /> <c:Style> <c:DefaultStyles> <c:DefaultStyle File="default.css" /> <s:If Test="$isTablet"> <c:DefaultStyle File="tablet.css" /> </s:If> <s:Else> <c:DefaultStyle File="phone.css" /> </s:Else> </c:DefaultStyles> </c:Style> <c:Script> <c:GlobalEvents File="Global\Events.js" /> <c:GlobalModules> <c:Module Name="Global" File="Global\Global.js" /> </c:GlobalModules> <c:Mixins> <c:Mixin File="Mixins\SideMenu.js" Target="*\Main.js" /> <c:Mixin File="Mixins\Common.js" Target="*.js" /> <c:Mixin File="Mixins\Workflow.js" Target="*.js" /> <c:Mixin File="Mixins\DB.js" Target="*.js" /> </c:Mixins> </c:Script> </c:Configuration>
/Image - графические файлы, используемые в дизайне мобильного решения
/Screen - файлы, определяющие расположение визуальных компонентов экрана. Все файлы должны иметь кодировку UTF-8
/Script - файлы с основным кодом приложения
/Style - CSS-стили приложения
/Translation - файлы локализации приложения. Каждый файл локализации содержит массив пар ключ/значение.
forward Next back Back summary Summary
forward Далее back Назад summary Сводная информация
server
В каталоге server располагаются все исполняемые файлы административной части решения.
/css - CSS-стили приложения
/image - графические файлы, используемые в дизайне
/script - файлы с основным кодом приложения
/view - файлы, определяющие расположение визуальных компонентов экрана.
settings.xml
Файл настроек решения settings.xml должен всегда находится в корне папки с мобильным решением
<?xml version="1.0" encoding="UTF-8"?> <configuration> <resource> <version version="1.0.2.13"/> </resource> <client> <supportedCore version="2.2.2.91"/> </client> <server> <supportedMeta version="2.0.0.1"/> <filterShared value="yes"/> <conflictPolicy value="ServerWins"/> </server> </configuration>
Описание:
- resource\version - версия ресурсов решения
- client\supportedCore - минимальная версия платформы, необходимая для работы ресурсов
- server\supportedMeta - версия метаданных, необходимая для работы ресурсов
- server\filterShared - режим фильтрации файлов папки shared, допустимые значения 'yes' и 'no', подробнее см. раздел "Фильтрация каталога shared"
- server\conflictPolicy - режим разрешения конфликтов синхронизации, допустимые значения 'ServerWins' и 'ClientWins'.
Разрешение конфликтов server\conflictPolicy
В момент обмена данными мобильного агента с сервером Grotem в случае если запись в базе данных, которую необходимо обновить, была в свою очередь изменена с момента последней синхронизации (например обменом с 1С) - возникает конфликт.
Для разрешения конфликтов существует 2 режима:
- "ServerWins" - данные мобильного агента не сохраняются в базе данных.
- "ClientWins" - данные мобильного агента затирают данные в базе данных.
Режим "ServerWins" включен по умолчанию.
Изменить режим можно настройкой файла конфигурации решения:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<server>
<conflictPolicy value="ServerWins" />
</server>
</configuration>
или
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<server>
<conflictPolicy value="ClientWins" />
</server>
</configuration>
0 Комментариев