Каждое решение, написанное на основе платформы Grotem имеет одинаковую внутреннюю структуру:

 

  • device
    •  app
      • BusinessProcess
      • Configuration
      • Image
      • Screen
      • Script
      • Style
      • Translation
  • server
    • css
    • image
    • script
    • view
  • settings.xml

 

device


В каталоге device располагаются все исполняемые файлы мобильной части решения.

 / BusinessProcess - содержит файл BusinessProcess.xml со структурой бизнес процессов,  определяющей:

  • навигацию внутри решения;
  • подключение контролеров;
  • подключение дополнительных файлов с разметкой.

 

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> - указываются глобальные событиями и модули и миксины, к которым можно будет обращаться из любого экрана мобильного приложения.

Configuration.xml
<?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 - файлы локализации приложения. Каждый файл локализации содержит массив пар ключ/значение.

en.txt
forward     Next
back        Back
summary     Summary


ru.txt
forward     Далее
back        Назад
summary     Сводная информация

server


В каталоге server располагаются все исполняемые файлы административной части решения.

/css - CSS-стили приложения

/image - графические файлы, используемые в дизайне

/script - файлы с основным кодом приложения

/view - файлы, определяющие расположение визуальных компонентов экрана.

settings.xml


Файл настроек решения 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 режима:

  1. "ServerWins" - данные мобильного агента не сохраняются в базе данных.
  2. "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>

 

  • Нет меток
Написать комментарий...