Skip to content
This repository has been archived by the owner on Jun 4, 2021. It is now read-only.

Module_Sync

Nikolay Galkin edited this page Jun 7, 2013 · 2 revisions

Настройка модуля

path/to/module/configs/sync.ini

Задается два параметра:

  • '''security''' (boolean) - проверять ли логин/пароль при запросе данных;
  • '''tables''' (array) - массив таблиц для синхронизации, где индекс элемента - это название таблицы, а значение - имя атрибута хранящего дату последнего обновления.

Пример:

[production]
security = false
tables.bf_post     = "updated"
tables.users       = "updated"

[testing : production]

[development : production]
security = true

Синхронизация клиентского устройства (получение данных от сервера)

Для получения данных от сервера необходимо отправить POST запрос с такими параметрами:

  • securityusername (обязательность определяется параметром security в настройках модуля) - логин пользователя
  • securitypassword (обязательность определяется параметром security в настройках модуля) - пароль пользователя
  • updated (не обязательный) - указывает дату последнего изменения данных, если параметр не задан будут возвращены все данные таблиц указанных в настройках модуля.

Пример ответа сервера на запрос:

<?xml version="1.0" encoding="utf-8"?>
<response result="success">
    <table name="users">
        <item>
            <id>1</id>
            <login>admin</login>
            <email>[email protected]</email>
            <password>6e8c355ca6ced2ac45d80fe35845f601</password>
            <salt>2914327e76613e05759896fa029671a0</salt>
            <firstname></firstname>
            <lastname></lastname>
            <avatar></avatar>
            <role>admin</role>
            <status>active</status>
            <created>2010-07-16 12:31:36</created>
            <updated>2010-09-03 12:35:05</updated>
            <logined>2010-09-03 12:35:05</logined>
            <ip>1540397313</ip>
            <count>6</count>
            <hashCode></hashCode>
            <inform>true</inform>
        </item>
    </table>
</response>

Тег <response> содержит атрибут result, который принимает два значения:

  • "success"
  • "failed"

В случае, если запрос не содержит ошибок возвращается набор таблиц с измененными данными. Если произошла какая-то ошибка тег <response> будет содержать дочерний элемент <message> с текстовым сообщением об ошибке.

Пример:

<?xml version="1.0" encoding="utf-8"?>
<response result="failed">
    <message>Access denied</message>
</response>

TODO: Синхронизация сервера (отправка изменений на сервер)

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