Все руководства пользователя
+ видеоуроки

LibaBook


Программа:
LibaBook 3.010.10

Руководство:
12 апреля 2022 г.

Базы Данных.

LibaBook начиная с версии 3 поддерживает совместную работу нескольких пользователей на разных компьютерах в одной общей базе данных. Для работы предусмотрены различные виды баз данных, каждый из которых полезен для определенного круга задач. 

Виды баз данных: 

[База данных на локальном компьютере.]

[База данных на сервере.]

[База данных на сетевом диске.]

[База данных на облачном диске.]

[База данных на USB-диске (флешке).]

[База данных как Мини-Каталог в одном файле LBRC.]

[База данных как Онлайн-Каталог в одном файле HTML.]


Рекомендуемые варианты использования БД.

1. Для работы с БД на одном компьютере:

[База данных на локальном компьютере.]


2. Для одновременного редактирования одной общей БД разными пользователями на разных компьютерах:

[База данных на сервере.]


3. Для поочерёдного редактирования одной общей БД разными пользователями на разных компьютерах:

[База данных на сетевом диске.]

[База данных на облачном диске.]

[База данных на USB-диске (флешке).]


4. Для открытого распространения выборочных данных (отчётов) из БД в интернете с возможностью чтения любым пользователем. Записи полученные в результате выполнения отчёта (выборки по условию) в основной БД, передаются в новую БД состоящую из одного файла, который можно распространять для скачивания в интернете:


[База данных как Мини-Каталог в одном файле LBRC.]

- Для открытия требуется установленная на компьютере программа LibaBook (с любой лицензией, начиная с NOT_REGISTERED). Позволяет быстро и удобно искать информацию в БД большого размера, а так же использовать стандартные функции сортировки, группировки и фильтрации.


[База данных как Онлайн-Каталог в одном файле HTML.]

- Для открытия требуется установленный на устройство браузер. Может открываться на телефоне/планшете/компьютере. Позволяет выполнять поиск, но если в БД большое количество картинок, может открываться/искать заметно долго. Есть возможность создавать свои пункты меню для отправки выбранных пользователем записей каталога на указанный Email или URL-ссылку.

База данных на локальном компьютере.

Это обычная БД, доступ к которой возможен только с одного компьютера на котором расположена эта БД. Пользователи с других компьютеров к такой БД подключиться не могут.


Пример строки подключения: 
[C:\Моя_База_Данных_db\main.lbbk3]

База данных на сервере. 

Это самый надёжный и быстрый по скорости доступа способ совместной работы в общей БД.

БД расположена на одном компьютере, который мы будем называть - сервер. Пользователи с других компьютеров (клиентов) подключаются к серверу и могут работать с БД и в общем серверном чате, выполняя действия по ролям, которые им разрешены администратором LibaBook.  

Пример строки подключения:  

[inet://127.0.0.1:2727/test1]

[inet://myserver:2727/mydatabase]


Логика работы

На компьютерах с которых редактируется БД, должна быть установлена LibaBook с типом лиц. ключа "PREMIUM".

На компьютерах с которых БД открывается только для просмотра, должна быть установлена LibaBook с любым типом лиц. ключа (начиная с "NOT REGISTERED" и выше).

Для подключения к БД сервер должен быть всегда включен. К БД можно подключиться с любого компьютера в локальной сети или через интернет (если сервер имеет статический IP и выполнен проброс порта).

Список ролей доступа к БД на сервере.

Одному пользователю можно назначать несколько ролей, тогда при подключении к БД, он самостоятельно выбирает ту роль, которая ему нужна на данный момент.

Роль [Наблюдатель] 

Позволяет только просматривать информацию по карточкам БД и результатам отчётов, внесение любых изменений в БД для этой роли не доступно. 

Роль [Оператор] 

Позволяет пользователю просматривать/создавать/изменять/удалять карточки в таблицах БД, но не даёт возможности изменять структуру БД. 

Роль [Конфигуратор]

Включает в себя все возможности роли [Оператор], а так же позволяет изменять структуру БД (создавать/изменять/удалять атрибуты в таблицах, формах БД и т.п...). 

При подключении к БД пользователя с этой ролью, все остальные пользователи автоматически отключаются от БД, и не могут выполнить подключение пока пользователь, подключившийся с ролью «Конфигуратор», не отключится от БД.

Общий серверный чат. 

Все пользователи, которым разрешен доступ к серверу, могут читать и писать сообщения в общем чате.

Это полезно, если например, администратор БД подключается к БД с ролью [Конфигуратор], чтобы обновить / изменить структуру БД, то он может написать сообщение, когда примерно по времени закончится конфигурация и можно будет подключаться к БД с ролью [Оператор].  

Так же можно для всех пользователей БД оставлять какие-то объявления и т.п... Имеется поддержка приватных сообщений (только выбранным пользователям).

[Работа в общем серверном чате.]

Организация работы БД на сервере.

К серверу можно создать подключение (оно всегда зашифровано) с других компьютеров как по локальной сети, так и через интернет.

Компьютер на котором будет расположена общая БД (сервер) желательно выбрать помощнее. Он должен быть включен всегда, когда необходима работа с общей БД. Если сервер выключен или связь с ним разорвана, то пользователи с других компьютеров не смогут подключиться к БД.

Подключившись к БД на сервере, пользователи всегда работают с актуальными данными, если один пользователь внёс изменение, то другие пользователи увидят это изменение при выполнении любого своего следующего запроса к БД (поиск/сортировка/группировка/формирование отчёта...) либо при нажатии кнопки "Обновить" нужной таблицы с карточками.

Версии LibaBook на сервере и компьютере клиентов, должны быть одинаковы, если это не так, то соответственно на сервере или клиенте необходимо обновить программу до более новой версии [Обновление версии LibaBook и БД на сервере и клиентских компьютерах.].

Для возможности работы компьютера как сервер требуется выполнить [Установка служб сервера LibaBook.].

Пример: вариант 1 (БД на сервере в локальной сети)

Подключение к БД будет выполнятся в локальной сети. Сервер с БД будет расположена на компьютере с IP адресом 192.168.0.100. 

На сервере будет несколько пользователей имеющих доступ к БД с различными ролями. С любого компьютера в локальной сети пользователь сможет подключиться к нужной ему БД на сервере с разрешённой для него ролью [Список ролей доступа к БД на сервере.], и работать в этой БД одновременно с другими пользователями. Пользователи, которым разрешён доступ к общему серверному чату, при работе в LibaBook смогут обмениваться сообщениями.


0. Установить на сервере службы LibaBook (если они ещё уставлены не были). [Установка служб сервера LibaBook.]

1. Создать новую локальную БД LibaBook v3 или использовать уже существующую (к которой хотим разрешить подключение с других компьютеров), например в папке "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db".

2. Преобразовать локальную БД в сетевую c псевдонимом "test1":

2.1. [Администрирование]->[Настройка подключения к БД с других компьютеров]

2.2. Введите пароль администратора сервера LibaBook.

2.3. Откроется [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"].

2.4. Нажмите [Управление сетевыми БД ▼] -> [Преобразовать локальную БД в сетевую].

2.5. Откроется [Окно "Преобразование локальной БД в сетевую БД на сервере"] в котором необходимо заполнить:

Локальный путь к файлу БД - "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db\main.lbbk3".

Псевдоним БД – "test1".

Описание БД - "Тестовя БД".

2.6. Нажмите кнопку "Далее".

2.7. Откроется [Окно "Настройка подключения к БД"].

3. Создать пользователей БД и назначить им разрешённые роли для подключения.

3.1. Нажать кнопку [Управление пользователями БД (настройка прав доступа)].

3.2. Откроется [Окно "Роли пользователей Базы Данных"].

3.3. Выбрать [Управление пользователями БД ▼] -> [Добавить роль пользователя в БД].

3.4. Откроется [Окно "Добавление роли пользователя в БД"].

3.5. Нажать кнопку "Выбрать".

3.6. Откроется [Окно "Пользователи сервера"].

3.7. Выбрать [Управление пользователями ▼] -> [Создать пользователя].

3.8. Откроется [Окно "Создание пользователя"] в котором необходимо заполнить:

Логин - "IVANOV_AA".

Пароль - "xxx".

Активный - галочка установлена.

Разрешить пользователю делать запрос списка сетевых БД и доступ к чату сервера - галочка установлена..

Нажать кнопку [OK].

3.9. Таким же образом создать ещё 2х пользователей ("PETROV_PP", "SIDOROV_SS").

3.10. Выбрать строку с пользователем "IVANOV_AA" и дважды щёлкнуть по ней, либо нажать кнопку [OK].

3.11. Логин пользователя "IVANOV_AA" отобразится в поле выбора.

3.12. В списке ролей выбрать роль "Конфигуратор".

3.13. Нажать кнопку [OK].

3.14. [Окно "Пользователи сервера"] закроется и в списке окна [Окно "Роли пользователей Базы Данных"] появится строка с логином "IVANOV_AA" и ролью "Конфигуратор". Это означает, что пользователю "IVANOV_AA" разрешено подключаться к БД "test1" на сервере с ролью "Конфигуратор".

3.15. Разрешим пользователю "IVANOV_AA" так же подключаться с ролью "Оператор", для этого достаточно дважды щёлкнуть по строке с уже имеющейся у него ролью, в результате откроется [Окно "Добавление роли пользователя в БД"] с уже выбранным именем пользователя и останется лишь указать новую роль.

3.16. Добавим таким же образом пользователю "IVANOV_AA" ещё роль "Наблюдатель".

3.17. В итоге [Окно "Роли пользователей Базы Данных"] будет содержать 3 строки с логином "IVANOV_AA" и 3мя доступными ему ролями подключения.

3.18. Аналогичным образом назначим роли остальным пользователям:

"PETROV_PP" - "Оператор" и "Наблюдатель".
"SIDOROV_SS" - только "Наблюдатель".

4. Разрешить доступ к БД "test1" по сети.

4.1. Закрыть [Окно "Роли пользователей Базы Данных"] нажав кнопку [OK].

4.2. Откроется  [Окно "Настройка подключения к БД"] в котором надо установить

Доступ к БД с других компьютеров - Разрешить.

4.3. Скопировать строку подключения "inet://192.168.0.100:2727/test1" из поля "Варианты строк подключения к БД (по определившимся IP адресам этого ПК)" в буфер обмена.

4.4. Закрыть [Окно "Настройка подключения к БД"] нажав кнопку [OK].

4.5. Закрыть [Окно "Управление сервером"].

5. Подключиться к сетевой БД c псевдонимом "test1".

5.1. [Меню]->[Подключиться к общей сетевой БД]->[на сервере...].

5.2. Откроется [Окно "Подключение к общей сетевой БД на сервере"] в котором нужно заполнить:

Строка подключения - "inet://192.168.0.100:2727/test1" (вставить из буфера обмена).

Пользователь - "IVANOV_AA"

Пароль - "xxx"

Роль - "Конфигуратор"

5.3. Нажать кнопку "Подключиться".

5.4. Откроется содержимое БД "inet://192.168.0.100:2727/test1". Путь к текущей подключенной БД отображается в заголовке главного окна, а в нижней панели отображается Пользователь/Роль: "IVANOV_AA / Конфигуратор".

5.5. [Меню]->[Закрыть Базу Данных]

5.6. Теперь можно проверить подключение к БД одновременно с разных компьютеров и от разных пользователей/ролей.

Установка служб сервера LibaBook.

Для возможности создания сетевых БД на компьютере, необходимо установить службы LibaBook. Компьютер на котором установлены службы является сервером, к сетевым БД этого компьютера (если БД преобразована в сетевую и к ней разрешен доступ из сети) можно подключаться с других компьютеров (клиентов).

По умолчанию, после стандартной установки LibaBook v3, эти службы не установлены, их предлагается установить при выборе какого-либо пункта меню требующего использования служб.

Выполните: 

1. [Администрирование]->[Настройка подключения к БД с других компьютеров]

Откроется [Окно "Мастер установки службы сервера LibaBook"], в котором необходимо:

выбрать порт сервера (можно оставить по умолчанию 2727) через который будет выполняться подключение;

задать пароль администратора LibaBook; 

Администратор LibaBook имеет полный доступ ко всем сетевым БД LibaBook на сервере, поэтому пароль желательно задать сложный от 16 до 31 символа, это особенно актуально при планировании подключения к базам данных сервера через интернет. Запишите пароль на листочке, т.к. без этого пароля настройки сервера LibaBook будет изменить невозможно.

2. Нажать кнопку "Установка". Будет выполнена установка служб по умолчанию, в результате чего на сервере в базе данных пользователей будет существовать только один пользователь (администратор сервера LibaBook) со стандартным именем SYSDBA и заданным паролем.

3. После сообщения о том, что действие выполнено успешно будет открыто [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"] где можно приступить к созданию пользователей и сетевых БД на сервере.

Создание общей сетевой БД на сервере.

Чтобы открыть доступ к локальной БД расположенной на сервере с других компьютеров, необходимо преобразовать локальную БД в сетевую и создать/выбрать пользователей/роли которым разрешено подключение к этой БД.

Выполните: 

1. [Администрирование]->[Настройка подключения к БД с других компьютеров]

2. Введите пароль администратора сервера LibaBook.

3. Откроется [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"].

4. Нажмите [Управление сетевыми БД ▼] -> [Преобразовать локальную БД в сетевую].

5. Откроется [Окно "Преобразование локальной БД в сетевую БД на сервере"] в котором необходимо заполнить:

Локальный путь к файлу БД - это путь к файлу существующей БД, к которой необходимо открыть доступ с других компьютеров.

Псевдоним БД – это короткое название БД, состоящие только из
латинских букв, цифр и символа подчёркивания,
которое будет использовано в строке подключения к БД.

Описание БД - не обязательное поле в котором можно ввести текстовое описание БД.

6. Нажмите кнопку "Далее".

7. Откроется [Окно "Настройка подключения к БД"] в котором можно:

Изменить "Псевдоним БД";

Изменить "Описание БД";

Запретить/Разрешить доступ к БД с других компьютеров;

Через кнопку [Управление пользователями БД (настройка прав доступа)] открыть [Окно "Роли пользователей Базы Данных"] и выбрать пользователей/роли которым разрешено подключение к этой БД.

В поле "Варианты строк подключения к БД (по определившимся IP адресам этого ПК)" можно скопировать готовую строку подключения, используя которую можно с другого компьютера подключиться к БД.

Пример строки подключения:
[inet://127.0.0.1:2727/test1]
[inet://myserver:2727/mydatabase]


Замечание:

Если планируется подключение к серверу через интернет, то у компьютера сервера должен быть статический внешний IP адрес, именно этот IP адрес необходимо указывать в строке подключения. Обычно услуга статического IP адреса предоставляется интернет провайдером. Так же, если сервер находится за роутером, то необходимо выполнить на роутере проброс порта 2727.

Создание пользователей на сервере.

Пользователи сервера - это пользователи созданные в системе управления базами данных Firebird, которая используется для работы в LibaBook. Этих пользователей не нужно путать с пользователям операционной системы Windows, они создаются как внутренние сущности только для программы LibaBook.

Пользователь сервера создаётся в программе LibaBook для того, чтобы в последствии этому пользователю можно было назначить роль (или несколько ролей) с которыми ему будет разрешено подключаться к конкретной БД сервера. Одному и тому же пользователю можно разрешить подключаться к нескольким БД сервера.

Создать нового пользователя можно 2мя способами:

1. Открыв [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"] нажать кнопку [Управление пользователями сервера].

2. Либо в процессе [Назначение ролей пользователя для подключения к БД.].


В результате будет открыто [Окно "Пользователи сервера"] в котором нужно выбрать [Управление пользователями ▼] -> [Создать пользователя].

Откроется [Окно "Создание пользователя"] в котором необходимо заполнить:

Логин - может состоять только из латинских букв, цифр и символа подчёркивания.

Пароль - пароль пользователя для подключения.

Email - не обязательное поле для электронного адреса пользователя.

Описание - не обязательное поле для дополнительной информации о пользователе.

Активный - если галочка установлена, то пользователю разрешено подключаться к серверу, иначе запрещено.

Разрешить пользователю делать запрос списка сетевых БД и доступ к чату сервера - если галочка установлена, то пользователю разрешено подключаться к общему чату сервера и выбирать к какой БД на сервере подключиться.

Нажать кнопку [OK].

Назначение ролей пользователя для подключения к БД.

Чтобы пользователь смог подключиться к заданной БД его логин должен быть активным (задается в [Окно "Создание пользователя"] или [Окно "Редактирование пользователя"]), и он должен иметь хотя бы одну роль для доступа к заданной БД.


1. Выбрать [Администрирование]->[Настройка подключения к БД с других компьютеров].

2. Откроется [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"].

3. Дважды щёлкнуть по строке с нужной сетевой БД либо выбрать [Управление сетевыми БД ▼] -> [Настройка подключения к выбранной БД].

4. Откроется [Окно "Настройка подключения к БД"].

5. Нажать кнопку [Управление пользователями БД (настройка прав доступа)].

6. Откроется [Окно "Роли пользователей Базы Данных"].

7. Выбрать [Управление пользователями БД ▼] -> [Добавить роль пользователя в БД].

8. Откроется [Окно "Добавление роли пользователя в БД"].

9. Нажать кнопку "Выбрать".

10. Откроется [Окно "Пользователи сервера"].

11. Если нужного пользователя ещё не существует, то его можно создать [Управление пользователями ▼] -> [Создать пользователя].

12. Выбрать строку с нужным пользователем и дважды щёлкнуть по ней, либо нажать кнопку [OK].

13. Логин пользователя отобразится в поле выбора.

14. В списке ролей выбрать нужную роль, с которой пользователю будет разрешено подключаться к БД.

15. Нажать кнопку [OK].

16. Если пользователю необходимо назначить ещё одну роль, то достаточно дважды щёлкнуть по строке с уже имеющейся у него ролью, в результате откроется [Окно "Добавление роли пользователя в БД"] с уже выбранным именем пользователя и останется лишь указать новую роль.


Теперь пользователь зная свой логин/пароль/роль и строку подключения к БД сможет подключаться к БД с других компьютеров.

Подключение к БД на сервере.

1. Выполнить [Меню]->[Подключиться к общей сетевой БД]->[на сервере...].

2. Откроется [Окно "Подключение к общей сетевой БД на сервере"].

3. Выбрать нужное подключение из списка или ввести новую строку подключения.

4. Заполнить учётные данные для подключения к сетевому ресурсу.

5. Выбрать роль [Список ролей доступа к БД на сервере.].

6. Нажать кнопку "Подключиться".

7. В результате будет выполнено подключение и открыта БД.


Замечание

Если к БД на сервере подключен пользователь с ролью Конфигуратор, то пока он не отключится, подключиться к БД будет нельзя. При этом в [Окно "Подключение к общей сетевой БД на сервере"] есть кнопка "Открыть окно общего серверного чата", нажав которую можно войти в общий серверный чат и, например, написать сообщение подключенному пользователю с ролью Конфигуратор.

Замечание

На сервере может быть несколько сетевых БД. Если пользователю разрешён доступ к списку сетевых БД на сервере, то он может выбрать нужную БД для подключения в [Окно "Подключение к общей сетевой БД на сервере"]:

1. Ввести свои учётные данные и строку подключения к серверу (или к одной из БД на сервере).

2. Нажать кнопку "Список сетевых БД на сервере".

3. Откроется [Окно "Список сетевых БД на сервере"].

4. Выбрать одну из БД для подключения.

5. Нажать кнопку "Выбрать".

6. В строке подключения [Окно "Подключение к общей сетевой БД на сервере"] появится строка подключения к выбранной БД.

Это полезно когда пользователь должен работать со множеством БД на сервере, тогда ему можно сообщить только строку подключения к серверу, либо к одной из БД, а для остальных БД, он сможет узнать строку подключения самостоятельно.

Отключение от БД на сервере.

Для отключения от БД, необходимо просто закрыть БД ([Меню]->[Закрыть Базу Данных]).

Работа в общем серверном чате.

При подключении к серверной БД, если в настройках пользователя разрешен доступ к общему серверному чату, то он автоматически подключается к чату. В правом верхнем углу главного окна, появится кнопка ЧАТ (с количеством новых полученных сообщений). При нажатии на эту кнопку будет открыто [Окно "Общий серверный чат"].

Так же в чат (если пользователю разрешен доступ) можно войти без подключения к какой-либо конкретной БД на сервере, используя кнопку "Открыть окно общего серверного чата", расположенную в [Окно "Подключение к общей сетевой БД на сервере"]. В этом случае потребуется указать логин/пароль пользователя сервера и строку подключения к любой БД на сервере, можно даже не существующей (например: "inet://127.0.0.1:2727/test1"), либо строку подключения без указания БД (например: "inet://127.0.0.1:2727"). В результате будет открыто [Окно "Общий серверный чат"].

Используя [Окно "Общий серверный чат"] можно писать сообщения всем пользователям сервера, имеющим разрешение на доступ к чату. Соединение с сервером для чата шифруется. Поддерживается отправка приватных сообщений выбранной группе. Сообщения сохраняются на сервере, если сообщение было написано в момент, когда пользователь не был подключен к серверу, то он сможет прочесть его позже, когда подключится. Любой пользователь может удалять только свои сообщения, при этом администратор сервера LibaBook может удалять сообщения любых пользователей.

Администратор сервера LibaBook может через [Администрирование]->[Настройка подключения к БД с других компьютеров] открыть [Окно "Управление сервером"]->[Вкладка "Общий чат сервера"]. На этой вкладке можно изменить приветствие при входе в чат, удалить все сообщения чата старее указанной даты и т.д.

Приветственное сообщение всегда выводится при входе пользователя в чат, поэтому оно полезно для создания объявлений для всех пользователей сервера. Если сделать текст приветствия пустым, то приветственное сообщение выводиться не будет.

Просмотр списка всех пользователей подключенных в данный момент к сетевым Базам Данных сервера.

Администратор сервера LibaBook может просмотреть список пользователей, которые в данный момент подключены к любой из сетевых БД сервера. 

1. Выполнить [Администрирование]->[Управление сервером].

2. Откроется [Окно "Управление сервером"]->[Вкладка "Активные подключения"]

3. В таблице будет показана и информация о подключении каждого пользователя.

Управление службами LibaBook.

Управление через интерфейс программы.

1. Выполнить [Администрирование]->[Управление сервером].

2. Откроется [Окно "Управление сервером"].

3. Перейти на [Вкладка "Службы"].

На данной вкладке можно:

- Изменить порт для подключения к серверу по протоколу TCP/IP.

- Перезапустить службы LibaBook 

- Остановить службы LibaBook.

- Удалить службы LibaBook.

После удаления служб, доступ к сетевым Базам Данных на этом сервере с других компьютеров будет не возможен.
Если на сервере имеются сетевые Базы Данных, то для возможности их последующего использования, перед удалением служб, их необходимо преобразовать из сетевых БД в локальные БД.


Управление через скрипты.

Службами LibaBook так же можно управлять через файлы скриптов, расположенных в папке с установленной программой, например ""C:\LibaBook3".

"libabook_services_restore.bat" - используется для восстановления служб на новой операционной системе (если восстановлена папка приложения). В результате выполнения в операционной системе будут установлены службы LibaBook и будет использована (восстановлена) имеющаяся на данный момент в папке приложения база данных пользователей сервера. Это действие отличается от действия [Установка служб сервера LibaBook.], в последнем случае будет выполнена установка по умолчанию, с удалением всех пользователей сервера и созданием нового пароля администратора сервера.

"libabook_services_start.bat" - запуск служб LibaBook.

"libabook_services_stop.bat" - остановка служб LibaBook.

"libabook_services_restart.bat" - перезапуск служб LibaBook.

"libabook_services_uninstall.bat" - удаление служб LibaBook.

Важно: Службы LibaBook необходимо останавливать перед восстановлением папки приложения и серверных БД, чтобы в момент восстановления не было попыток подключения к серверу. После восстановления, службы можно запустить заново.


Мониторинг состояния.

Для того, чтобы к серверным базам данных можно было подключаться с других компьютеров на сервере должна работать служба "Firebird Server - LibaBook", она всегда запускается/останавливается при запуске/остановке служб LibaBook. Состояние данной службы можно проверить в стандартной оснастке Windows "Службы".

Обновление версии LibaBook и БД на сервере и клиентских компьютерах.

Если версия БД на сервере старее чем версия LibaBook на компьютере клиента, то он не сможет подключиться к БД на сервере.

Обновление БД на сервере:

1. Администратор должен обновить программу LibaBook на серверном компьютере.

1.1. [Помощь]->[Проверить наличие обновлений программы]

1.2. В открывшемся окне согласиться выполнить обновление программы.

2. Временно запретить сетевой доступ к БД с других компьютеров.

2.1. [Администрирование]->[Настройка подключения к БД с других компьютеров].

2.2. Введите пароль администратора сервера LibaBook.

2.3. Откроется [Окно "Управление сервером"]->[Вкладка "Сетевые Базы Данных"].

2.4. Выбрать по псевдониму нужную БД в списке и дважды щёлкнуть по ней.

2.5. Откроется [Окно "Настройка подключения к БД"].

2.6. Установить переключатель [Доступ к БД с других компьютеров] в положение [Временно запретить].

2.7. Нажать кнопку [OK].

2.8. Закрыть [Окно "Управление сервером"].

3. Обновить версию БД.

3.1. Открыть БД через [Меню]->[Открыть локальную Базу Данных...

3.2. В появившемся окне согласиться выполнить преобразование БД в новый формат.

4. Снова разрешить сетевой доступ к БД с других компьютеров.

4.1. Повторить действия из пункта 2, установив в конце переключатель в положение [Разрешить].


Если версия программы LibaBook на клиенте старее, чем версия БД на сервере, то он не сможет подключиться к БД.

Обновление LibaBook на клиенте:

1. Пользователь должен обновить программу LibaBook на своём клиентском компьютере.

1.1. [Помощь]->[Проверить наличие обновлений программы]

1.2. В открывшемся окне согласиться выполнить обновление программы.

База данных на сетевом диске.

Этот способ, совместной работы в общей БД, более медленный по сравнению с БД на сервере, кроме того, он не предоставляет возможности управления доступом к БД с помощью ролей пользователей, так же нет возможности использования общего чата.

Если БД имеет большой размер, то выполняемая синхронизация с сетевым диском может занимать продолжительное время (зависит от качества сетевого подключения).

Основное преимущество этого способа в том, что БД может располагаться в обычной общей папке (сетевом диске) в локальной сети, что даёт возможность хранить БД не только на компьютере, но и на домашнем сетевом хранилище (NAS) или подобном сетевом устройстве поддерживающем протокол SMB. Поддерживается возможность шифрования файлов БД хранящихся в общей папке, что повышает конфиденциальность хранения информации на стороннем сетевом ресурсе.

Логика работы

На компьютерах с которых редактируется БД, должна быть установлена LibaBook с типом лиц. ключа "PREMIUM".

На компьютерах с которых БД открывается только для просмотра, должна быть установлена LibaBook с любым типом лиц. ключа (начиная с "NOT REGISTERED" и выше).

Для подключения к БД, тот компьютер или NAS, на котором расположена общая сетевая папка с БД, должен быть включен. К БД можно подключиться с любого компьютера в локальной сети (или через интернет если использовать VPN туннель в локальную сеть).

Один пользователь может взять БД в работу (с ролью Конфигуратор) для изменения, остальные в это время могут брать БД только для чтения (с ролью Наблюдатель).

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

При взятии БД в работу для изменения, пользователь может оставить другим пользователям (которые будут пытаться подключаться с ролью Конфигуратор к БД, пока она им заблокирована) текстовое сообщение, например с датой/временем когда он разблокирует БД для возможности её изменения другими пользователями.

Если нет связи с общей сетевой папкой в которой расположена БД, то пользователь сможет подключится к локальной копии БД, которая автоматически была создана при последнем успешном подключении.

Сценарии использования

1. БД используется для редактирования одним пользователем с разных устройств или для поочерёдного редактирования разными пользователями.

БД расположена в общей сетевой папке на каком-либо компьютере или сетевом устройстве NAS.

Пользователь1 запускает LibaBook (тип лиц. ключа PREMIUM) на Компьютере1 и берёт БД в работу для изменения (подключается с ролью Конфигуратор).

После завершения внесения изменений, Пользователь1 закрывает БД, тем самым возвращая БД из работы (при закрытии БД всегда происходит синхронизация и внесённые изменения передаются в сетевое хранилище).

Затем, Пользователь2 запускает LibaBook (тип лиц. ключа PREMIUM) на Компьютере2 и берёт БД в работу для изменения (подключается с ролью Конфигуратор). После завершения внесения изменений, Пользователь2 возвращает БД из работы.

Таким образом пользователи 1 и 2 могут поочерёдно вносить изменения в БД со своих компьютеров. Либо один пользователь может поочерёдно изменять БД с разных компьютеров 1 и 2.

В любой момент другие Пользователи 3, 4, 5... могут подключится (с ролью Наблюдатель) к БД с Компьютера 3, 4, 5... запустив LibaBook (тип лиц. ключа NOT REGISTERED и выше), и просматривать данные, которые были в ней на момент последней синхронизации (при условии, что у пользователей имеется доступ к сетевой папке с БД).

Список ролей доступа к БД на сетевом диске.

Любой пользователь может подключиться к БД с любой из выбранных ролей.

Роль [Наблюдатель] 

Позволяет только просматривать информацию по карточкам БД и результатам отчётов, внесение любых изменений в БД для этой роли не доступно. 

Роль [Конфигуратор]

Позволяет пользователю просматривать/создавать/изменять/удалять карточки в таблицах БД, а так же позволяет изменять структуру БД (создавать/изменять/удалять атрибуты в таблицах, формах БД и т.п...). 

При подключении к БД пользователя с этой ролью, все остальные пользователи не могут подключаться к БД с ролью «Конфигуратор», пока такой пользователь не отключится от БД, но они могут подключаться с ролью «Наблюдатель».

Организация работы БД на сетевом диске.

Для данного типа БД любой пользователь может подключиться к БД с любой из выбранных ролей, в отличии от [База данных на сервере.], здесь на уровне БД ограничение на использование роли задать нельзя. 

Ограничение прав можно задать только на уровне доступа к сетевой папке. Для тех пользователей, которым разрешается редактировать БД (роль Конфигуратор), необходимо открыть полный доступ к папке, для тех кому разрешается только просмотр (роль Наблюдатель), необходимо открыть доступ только на чтение папки.

Пример: вариант 1 (БД в общей папке).

Подключение к БД будет выполнятся в локальной сети по прямому пути к сетевой папке. Общая сетевая папка с БД будет расположена на компьютере с IP адресом 192.168.0.100. К папке будет разрешен полный доступ для пользователя с именем LIBABOOK1, все кто знает пароль этого пользователя смогут подключиться к БД с разных компьютеров сети и изменять/просматривать БД.

1. Создать на компьютере с IP адресом 192.168.0.100 пользователя LIBABOOK1.

2. Создать на компьютере с IP адресом 192.168.0.100 папку, например: С:\mybase1.

3. Открыть к этой папке общий сетевой доступ. Она будет доступна по сетевому пути: (\\192.168.0.100\mybase1).

4. Разрешить пользователю LIBABOOK1 полный доступ к папке С:\mybase1. Проверить, что через Проводник Windows путь (\\192.168.0.100\mybase1) открывается корректно.

5. Создать новую локальную БД LibaBook v3 или использовать уже существующую, например в папке С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db

6. В LibaBook выбрать [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на сетевом диске...]

7. В появившемся окне [Окно "Преобразование локальной БД в сетевую БД на сетевом диске"] заполнить:

Локальный путь к файлу БД: С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db
Путь к сетевой папке в которой будет создана сетевая БД: \\192.168.0.100\mybase1
Логин: \\192.168.0.100\LIBABOOK1
Пароль: пароль пользователя LIBABOOK1
Если необходимо, поставьте галочку «Шифровать файл БД расположенный в сетевой папке» и придумайте пароль шифрования.

Будет автоматически сформирована строка подключения к БД: net_disk://\\192.168.0.100\mybase1 по этой строке можно будет подключаться из LibaBook любого компьютера локальной сети к этой БД.

8. Нажать кнопку "Далее".

9. В общей папке \\192.168.0.100\mybase1 будет создана новая сетевая БД (копия локальной БД С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db), эта новая БД теперь никак не связана с локальной БД и работа с ней выполняется только по пути net_disk://\\192.168.0.100\mybase1.

10. Появится окно с предложением открыть созданную БД. Нажимаем кнопку "Да".

11. Появится окно [Окно "Подключение к общей сетевой БД на сетевом диске"] в котором надо заполнить:

Строка подключения к БД: net_disk://\\192.168.0.100\mybase1.
Логин: \\192.168.0.100\LIBABOOK1
Пароль: пароль пользователя LIBABOOK1
Роль: Конфигуратор или Наблюдатель

12. Нажать кнопку "Подключиться".

13. В результате будет открыта БД net_disk://\\192.168.0.100\mybase1, с которой можно будет работать в соответствии с выбранной ролью.

14. Выбрать [Меню]->[Закрыть Базу Данных], после чего дождаться синхронизации внесённых изменений в БД на сетевой папке.

15. Теперь из любого компьютера в локальной сети через [Меню]->[Подключиться к общей сетевой БД]->[на сетевом диске...] можно подключиться к БД net_disk://\\192.168.0.100\mybase1, и работать в соответствии с выбранной ролью.


Пример: вариант 2 (БД на сетевом диске).

Здесь всё тоже самое, что в [Пример: вариант 1 (БД в общей папке).], но вместо пути к сетевой папке будет использован путь к сетевому диску.

1. Через Проводник Windows подключить на компьютере сетевой диск (например с буквой Z:\), к уже существующей общей папке (например по строке подключения: \\192.168.0.100\mybase1). При подключении можно поставить галочку "Восстанавливать при входе в систему".

2. Далее те же действия, что и в [Пример: вариант 1 (БД в общей папке).], только вместо сетевого пути к общей папке "\\192.168.0.100\mybase1", надо использовать локальный путь "Z:\".

Создание общей сетевой БД на сетевом диске.

1. На компьютере или сетевом хранилище (NAS) необходимо открыть доступ к общей папке, в которой планируется создавать совместно используемую БД.

2. Настроить разрешения пользователей для доступа к этой папке.

3. Настроить на пользовательском компьютере (клиенте) подключение к общей папке как сетевому диску и назначить произвольную букву диска (можно с галочкой «Восстанавливать при входе в систему»). Этот шаг можно пропустить, если планируется подключение напрямую к общей папке по её пути без создания сетевого диска.

4. Запустить LibaBook.

5. Выполнить [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на сетевом диске...]

6. В открывшемся окне [Окно "Преобразование локальной БД в сетевую БД на сетевом диске"] указать путь к существующей локальной БД и путь к папке на сетевом диске для общей БД. Если сетевой диск не подключается автоматически при входе в систему, или используется прямое подключение к сетевой папке, то нужно ввести логин/пароль пользователя для подключения. Если необходимо, поставьте галочку «Шифровать файл БД расположенный в сетевой папке» и придумайте пароль шифрования. Нажать кнопку [Ok].

7. В заданной папке на сетевом диске будет создана копия локальной БД к которой теперь можно подключаться с разных компьютеров через [Меню]->[Подключиться к общей сетевой БД]->[на сетевом диске...].

8. При подключении в окне [Подключение к БД на сетевом диске.] необходимо будет ввести логин/пароль для доступа к сетевой папке.

Пример создания сетевой БД на сетевом диске:
[Пример: вариант 1 (БД в общей папке).]
[Пример: вариант 2 (БД на сетевом диске).]

Подключение к БД на сетевом диске.

1. Выполнить [Меню]->[Подключиться к общей сетевой БД]->[на сетевом диске...].

2. Откроется [Окно "Подключение к общей сетевой БД на сетевом диске"].

3. Выбрать нужное подключение из списка или ввести новую строку подключения.

4. Заполнить учётные данные для подключения к сетевому ресурсу.

5. Выбрать роль [Список ролей доступа к БД на сетевом диске.].

6. Нажать кнопку "Подключиться".

7. В результате будет выполнено подключение и открыта БД.


Замечание:

Для роли Наблюдатель можно дополнительно указать цель подключения.

Если цель подключения = "к локальной копии БД", то подключение к сетевому ресурсу и синхронизация выполнены не будут, вместо этого будет открыта локальная копия БД, которая автоматически была создана при последнем успешном подключении. Это полезно в случае, если связь с сетевым диском отсутствует и при этом требуется просмотреть данные БД (возможно несколько устаревшие). 

Если цель подключения = "к БД в сети", то будет выполнена синхронизация с сетевым ресурсом и откроется актуальная БД.


Для роли Конфигуратор можно дополнительно указать сообщение.

Это сообщение будет показано любому другому пользователю, который будет пытаться подключиться к БД с ролью Конфигуратор, пока БД открыта с ролью Конфигуратор на данном компьютере.

Отключение от БД на сетевом диске.

Для отключения от БД, необходимо просто закрыть БД ([Меню]->[Закрыть Базу Данных]).

Если к БД был подключен пользователь с ролью Конфигуратор, то при отключении будет выполнена синхронизация внесенных изменений из БД на сетевой ресурс, обязательно необходимо дождаться завершения закрытия БД. После этого, другие пользователи смогут увидеть изменения, если заново подключатся к БД. Так же после отключения, другой пользователь может подключиться к БД с ролью Конфигуратор.

Если в процессе редактирования БД, требуется периодически синхронизировать внесённые изменения в БД на сетевой ресурс, то для этого достаточно закрыть БД и сразу заново подключиться к ней для редактирования. Это можно сделать одной командой через [Меню] -> [Недавно открытые Базы Данных] -> [Ваша БД], после этого БД закроется и сразу будет подключена заново.  Чтобы данные обновились у других пользователей подключенных к БД с ролью Наблюдатель, им необходимо выполнить то же самое: закрыть/открыть БД.

Если БД имеет большой размер, то выполняемая синхронизация с сетевым диском может занимать продолжительное время (зависит от качества сетевого подключения).

Решение проблем с БД на сетевом диске.

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

Если ошибка возникает при закрытии БД и к ней было подключение с ролью Конфигуратор, то синхронизация изменений с сетевым диском не завершится корректно, т.е. БД останется заблокирована текущим пользователем и изменения не появятся на сетевом диске. В этом случае рекомендуется заново подключиться к БД (не изменяя роль) и после этого снова закрыть БД, так чтобы при закрытии не возникло ошибки (возможно, придётся повторить эту операцию несколько раз, пока БД не закроется без ошибок).

Если ошибка возникает при подключении к БД, то рекомендуется "быть по настойчивее" - повторить попытку подключения несколько раз, можно так же попробовать закрыть программу, заново открыть и повторить попытку подключения. Если это не помогает, то удостовериться, что сетевой диск подключен, открыв его в проводнике Windows, после этого попробовать ещё раз подключиться.


Принудительная разблокировка БД на сетевом диске.

В процессе работы, может возникнуть ситуация, когда пользователь подключился к БД с ролью Конфигуратор и связь с его компьютером оборвалась. В таком случае, пока связь не восстановится и он заново не откроет/закроет БД, никто не сможет подключиться к БД с ролью Конфигуратор, т.е. никто не сможет редактировать БД.

Если требуется принудительно разблокировать БД, и дать возможность другому пользователю подключиться с ролью Конфигуратор, то необходимо:

1. Открыть в общей сетевой папке БД файл info.ini через блокнот.
2. Сделать пустым значение параметра lock_enabled, т.е. заменить строку lock_enabled=xxxxxxxxxxxx просто на lock_enabled= (стерев значение xxxxxx..)
3. Сохранить файл info.ini
4. Теперь к БД можно подключиться с ролью Конфигуратор, но те изменения (с момента блокировки), которые были сделаны в БД ранее блокировавшим пользователем, будут им потеряны при следующем его подключении к сетевой БД, о чём ему будет выдано соответствующее сообщение. Если требуется их сохранить в виде отдельной БД, то он вначале должен подключиться к локальной копии БД с ролью Наблюдатель, сделать резервную копию БД, и только после этого подключаться к сетевой БД.

База данных на облачном диске.

Этот способ, совместной работы в общей БД, более медленный по сравнению с БД на сервере, кроме того, он не предоставляет возможности управления доступом к БД с помощью ролей пользователей, так же нет возможности использования общего чата.

Если БД имеет большой размер, то выполняемая синхронизация с облачным диском может занимать продолжительное время (зависит от качества связи с облачным сервисом).

Основное преимущество этого способа в том, что для доступа к БД нет необходимости иметь постоянно включенный свой компьютер или сетевое устройство хранения данных (NAS), т.к. вся информация хранится в облаке (серверах стороннего сетевого ресурса) и доступна в любое время. Поддерживается возможность шифрования файлов БД хранящихся в облачной папке, что повышает конфиденциальность хранения информации на стороннем сетевом ресурсе. Но надо заметить, что работоспособность БД зависит от работоспособности стороннего ресурса, в отличии от первых двух способов, при которых Вы сами контролируете свои устройства и доступ к информации.


Есть 2 варианта создания БД на облачном диске:

Узнать у тех.поддержки облачного сервиса строку подключения облачного диска по протоколу WebDAV как сетевого диска в операционной системе Windows.

Вариант 1:

Напрямую создать БД на облачном диске через LibaBook, используя строку подключения по протоколу WebDAV к уже существующей облачной папке [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на облачном диске...].

Вариант 2:

Подключить сетевой диск Windows по протоколу WebDAV [Пример: вариант 2 (БД на сетевом диске).] и работать с БД по той же логике как для [База данных на сетевом диске.]. Для данного способа, так же может потребоваться дополнительное действие, которое в Варианте 1 не требуется. В Windows по умолчанию установлено ограничение на максимальный размер файла передаваемого на сетевой диск по протоколу WebDAV в 50 MB, чтобы отключить это ограничение необходимо вручную сделать изменения в реестре (инструкции можно найти для вашей версии Windows в интернете по запросу "Снять ограничения Windows 10 на размер файлов по WebDAV").


Рекомендуется проверить оба этих варианта и выбрать наиболее подходящий, т.к. реализация WebDAV на разных облачных сервисах имеет свои особенности, и может отличаться по надёжности и скорости работы.


Замечание:

Работа LibaBook с облачными сервисами возможна только указанным выше способом. Если например, вручную через приложение облачного сервиса для ПК, создать «облачную папку» на своём компьютере и просто скопировать туда БД, то БД будет работать с ошибками, т.к. стандартное приложение облачного сервиса не умеет корректно выполнять синхронизацию БД, в результате чего структура БД нарушается и БД становится неработоспособной.


Логика работы.

Логика точно такая же как для [База данных на сетевом диске.], единственное отличие это использование протокола передачи данных WebDAV и необходимость создания аккаунта в облачном сервисе.

В разделе [Организация работы с БД на облачном диске.] будут приведены примеры подключения к конкретным облачным сервисам с которыми была протестирована работа LibaBook.

Список ролей доступа к БД на облачном диске.

Любой пользователь может подключиться к БД с любой из выбранных ролей.

Роль [Наблюдатель] 

Позволяет только просматривать информацию по карточкам БД и результатам отчётов, внесение любых изменений в БД для этой роли не доступно. 

Роль [Конфигуратор]

Позволяет пользователю просматривать/создавать/изменять/удалять карточки в таблицах БД, а так же позволяет изменять структуру БД (создавать/изменять/удалять атрибуты в таблицах, формах БД и т.п...). 

При подключении к БД пользователя с этой ролью, все остальные пользователи не могут подключаться к БД с ролью «Конфигуратор», пока такой пользователь не отключится от БД, но они могут подключаться с ролью «Наблюдатель».

Организация работы с БД на облачном диске.

Для данного типа БД любой пользователь может подключиться к БД с любой из выбранных ролей, в отличии от [База данных на сервере.], здесь на уровне БД ограничение на использование роли задать нельзя. 

Ограничение прав можно задать только на уровне доступа к облачной папке (если это позволяет облачный сервис). Для тех пользователей, которым разрешается редактировать БД (роль Конфигуратор), необходимо открыть полный доступ к папке, для тех кому разрешается только просмотр (роль Наблюдатель), необходимо открыть доступ только на чтение папки.

Облачный сервис pCloud.

Создание своего облачного хранилища. 

Вы можете создать бесплатный аккаунт в облачном хранилище pCloud, и использовать его для работы с облачными базами данных LibaBook. 

1. Перейдите по ссылке https://www.pcloud.com для регистрации. 

2. На странице регистрации укажите свой email и придумайте пароль для пользователя pCloud, так же можете выбрать регион, в котором будут храниться данные (по умолчанию это Европа). 

3. Нажмите кнопку «Создать аккаунт». 

4. По желанию можете установить приложение pCloud на компьютер, или не устанавливать, если Вас устраивает работа через браузер. 

5. Подтвердите email, перейдя по пришедший на него ссылке от pCloud. 

6. После входа на сайт, в разделе "Файлы" -> "Обзор" Вы увидите иконки папок «My Music», «My Pictures»... Чтобы создать новую папку, нажмите на иконку с изображением серой папки и плюсика (справа вверху).

7. Введите название папки, например: "mybase1".

8. После того как облачная папка для БД будет создана, можно закрыть браузер и перейти в LibaBook.


Далее возможно 2 варианта работы:


Вариант 1 (работа напрямую через LibaBook с облачной БД по протоколу WebDAV)

0. Создать новую локальную БД LibaBook v3 или использовать уже существующую, например в папке "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db".

1. Выполните [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на облачном диске...].

2. Откроется [Окно "Преобразование локальной БД в сетевую БД на облачном диске"] в котором надо заполнить:

Локальный путь к файлу БД: "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db"
Путь к облачной папке в которой будет создана сетевая БД по протоколу WebDAV:
     https://ewebdav.pcloud.com/mybase1 (если был выбран регион хранения данных Европа)
     https://webdav.pcloud.com/mybase1 (если США)

Логин: email (указанный при регистрации в pCloud)
Пароль: пароль (указанный при регистрации в pCloud)
Если необходимо, поставьте галочку «Шифровать файл БД расположенный в облачной папке» и придумайте пароль шифрования.

3. Нажмите кнопку «Далее». 

4. В результате, в облачной папке "mybase1" будет создана новая облачная БД. 

5. Подключиться к облачной БД можно по ссылке из шага 2, добавив в начало префикс "cloud_disk://", например: cloud_disk://https://ewebdav.pcloud.com/mybase1, эту ссылку нужно указать в окне подключения к облачной БД ([Меню]->[Подключиться к общей сетевой БД]->[на облачном диске...]).


Вариант 2 (работа с облачной БД по протоколу WebDAV через сетевой диск Windows)

0. Создать новую локальную БД LibaBook v3 или использовать уже существующую, например в папке "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db".

1. Через Проводник Windows подключить на компьютере сетевой диск (например с буквой "Z:\"), к уже существующей облачной папке "mybase1" по строке подключения https://ewebdav.pcloud.com/mybase1 (если был выбран регион хранения данных Европа) или https://webdav.pcloud.com/mybase1 (если США). Для логина и пароля используйте email и пароль, которые были указаны при регистрации в pCloud. При подключении можно поставить галочку "Восстанавливать при входе в систему". 

2. В Проводнике Windows должен появиться новый диск "Z:\". Проверьте его работу, скопировав на него какой-нибудь тестовый файл и скачав обратно. Удалите тестовый файл с диска "Z:\". 

3. Далее все действия выполняются как при работе с сетевым диском, а не облачным, используя вместо сетевого пути букву диска "Z:\" т.е:

4. В LibaBook выбрать [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на сетевом диске...].

5. В появившемся окне [Окно "Преобразование локальной БД в сетевую БД на сетевом диске"] заполнить:

Локальный путь к файлу БД: "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db"
Путь к сетевой папке в которой будет создана сетевая БД: "Z:\"
Логин: email (указанный при регистрации в pCloud)
Пароль: пароль (указанный при регистрации в pCloud)
Если необходимо, поставьте галочку «Шифровать файл БД расположенный в сетевой папке» и придумайте пароль шифрования.

Будет автоматически сформирована строка подключения к БД: "net_disk://Z:\" по этой строке можно будет подключаться из LibaBook к облачной БД.

8. Нажать кнопку "Далее".

9. На диске "Z:\" будет создана новая сетевая БД (копия локальной БД "С:\MyDocuments\LibaBook\v3\data\dbases\new\test1_db"), эта новая БД теперь никак не связана с локальной БД и работа с ней выполняется только по пути "net_disk://Z:\".

10. Появится окно с предложением открыть созданную БД. Нажимаем кнопку "Да".

11. Появится окно [Окно "Подключение к общей сетевой БД на сетевом диске"] в котором надо заполнить:

Строка подключения к БД: "net_disk://Z:\"
Логин: email (указанный при регистрации в pCloud)
Пароль: пароль (указанный при регистрации в pCloud)
Роль: Конфигуратор или Наблюдатель

12. Нажать кнопку "Подключиться".

13. В результате будет открыта БД "net_disk://Z:\", с которой можно будет работать в соответствии с выбранной ролью.

14. Выбрать [Меню]->[Закрыть Базу Данных], после чего дождаться синхронизации внесённых изменений в БД на сетевой папке.

15. Теперь с данного компьютера к облачной папке "mybase1" можно подключиться через [Меню]->[Подключиться к общей сетевой БД]->[на сетевом диске...] по строке подключения "net_disk://Z:\", и работать в соответствии с выбранной ролью.

16. Для данного Варианта 2, так же может потребоваться дополнительное действие, которое в Варианте 1 не требуется. В Windows по умолчанию установлено ограничение на максимальный размер файла передаваемого на сетевой диск по протоколу WebDAV в 50 MB, чтобы отключить это ограничение необходимо вручную сделать изменения в реестре (инструкции можно найти для вашей версии Windows в интернете по запросу "Снять ограничения Windows 10 на размер файлов по WebDAV").

Замечание:

Если используется лицензионный ключ LibaBook - PREMIUM, то при подключении можно выбрать любую роль «Наблюдатель» / «Конфигуратор». Для других типов лицензионных ключей LibaBook, доступна только роль «Наблюдатель».

У бесплатного аккаунта pCloud есть некоторые ограничения, подробности можно узнать на их официальном сайте.

Облачный сервис CloudMe.

На сайте нет русского языка, но есть возможность создания бесплатного аккаунта (с ограничениями).

Сайт: cloudme.com

Если облачная папка была создана в разделе "Sync" с именем "mybase1", то путь подключения будет такой:

"https://webdav.cloudme.com/username/CloudDrive/Sync/mybase1"

username - это имя пользователя (не email), который зарегистрирован в соответствующем облачном хранилище. При подключении username используется в качестве логина.

Облачный сервис OwnCloud и NextCloud.

Это не сервис в полном смысле слова, а свободное ПО с открытым исходным кодом, которое можно установить на свой компьютер/сервер, и в результате получить полноценное собственное "облако", с которым можно работать через браузер с любого устройства.

NextCloud это отделившаяся ветка ПО от первоначальной версии OwnCloud, которая на данный момент по функционалу особо не отличается.

Сайт: owncloud.com
Сайт: nextcloud.com

На странице с созданной облачной папкой можно посмотреть ссылку для подключения по протоколу WebDAV. Если облачная папка была создана в корневом разделе с именем "mybase1", то путь подключения будет такой: 

"https://server/owncloud/remote.php/dav/files/username/mybase1

"https://server/nextcloud/remote.php/dav/files/username/mybase1"

server - это адрес или название сервера, на котором установлено ПО.

username - это имя пользователя (не email), который зарегистрирован в соответствующем облачном хранилище. При подключении username используется в качестве логина.

Другие облачные сервисы.

Для подключения любых облачных хранилищ, поддерживающих протокол WebDAV, необходимо узнать у тех. поддержки облачного сервиса строку подключения по протоколу WebDAV.

По данной строке можно подключиться используя 2 варианта, приведённых на примере [Облачный сервис pCloud.].

С некоторыми облачными хранилищами могут возникнуть проблемы, например Яндекс.Диск для сторонних приложений занижает скорость работы до 10 KB/s, что не позволяет сделать нормальную интеграцию с этим сервисом и постоянно вызывает ошибки.

Облако Mail.ru не тестировалось, т.к. поддержка WebDAV, там доступна только на платных тарифах.

Создание общей сетевой БД на облачном диске.

1. Необходимо создать аккаунт на сайте облачного хранилища.

2. В облачном хранилище создать папку для облачной БД.

3. Запустить LibaBook.

4. Выполнить [Меню]->[Преобразовать локальную БД в общую сетевую БД]->[на облачном диске...]

5. В открывшемся окне [Окно "Преобразование локальной БД в сетевую БД на облачном диске"] указать путь к существующей локальной БД, и путь по протоколу WebDAV к папке на облачном диске (этот путь должен быть указан на сайте облачного хранилища либо его необходимо узнать у тех. поддержки сайта). Если необходимо, поставьте галочку «Шифровать файл БД расположенный в облачной папке» и придумайте пароль шифрования. Нажать кнопку [Ok].

6. В заданной папке на облачном диске будет создана копия локальной БД, к которой теперь можно подключаться с разных компьютеров через [Меню]->[Подключиться к общей сетевой БД]->[на облачном диске...].

7. При подключении в окне [Окно "Подключение к общей сетевой БД на облачном диске"] необходимо будет ввести логин/пароль аккаунта для доступа к облачному хранилищу.


Пример создания сетевой БД на облачном диске:
 [Облачный сервис pCloud.].

Подключение к БД на облачном диске.

1. Выполнить [Меню]->[Подключиться к общей сетевой БД]->[на облачном диске...].

2. Откроется [Окно "Подключение к общей сетевой БД на облачном диске"].

3. Выбрать нужное подключение из списка или ввести новую строку подключения.

4. Заполнить учётные данные для подключения к облачной папке.

5. Выбрать роль [Список ролей доступа к БД на облачном диске.].

6. Нажать кнопку "Подключиться".

7. В результате будет выполнено подключение и открыта БД.


Замечание:

Для роли Наблюдатель можно дополнительно указать цель подключения.

Если цель подключения = "к локальной копии БД", то подключение к облачному хранилищу и синхронизация выполнены не будут, вместо этого будет открыта локальная копия БД, которая автоматически была создана при последнем успешном подключении. Это полезно в случае, если связь с облачным хранилищем отсутствует и при этом требуется просмотреть данные БД (возможно несколько устаревшие). 

Если цель подключения = "к БД в сети", то будет выполнена синхронизация с облачным хранилищем и откроется актуальная БД.


Для роли Конфигуратор можно дополнительно указать сообщение.

Это сообщение будет показано любому другому пользователю, который будет пытаться подключиться к БД с ролью Конфигуратор, пока БД открыта с ролью Конфигуратор на данном компьютере.

Отключение от БД на облачном диске.

Для отключения от БД, необходимо просто закрыть БД ([Меню]->[Закрыть Базу Данных]).

Если к БД был подключен пользователь с ролью Конфигуратор, то при отключении будет выполнена синхронизация внесенных изменений из БД на облачное хранилище, обязательно необходимо дождаться завершения закрытия БД. После этого, другие пользователи смогут увидеть изменения БД, выполнив заново подключение к БД. Так же после отключения, другой пользователь может подключиться к БД с ролью Конфигуратор. 

Если в процессе редактирования БД, требуется периодически синхронизировать внесённые изменения в БД на облачное хранилище, то для этого достаточно закрыть БД и сразу заново подключиться к ней для редактирования. Это можно сделать одной командой через [Меню] -> [Недавно открытые Базы Данных] -> [Ваша БД], после этого БД закроется и сразу будет подключена заново. Чтобы данные обновились у других пользователей подключенных к БД с ролью Наблюдатель, им необходимо выполнить то же самое: закрыть/открыть БД.

Если БД имеет большой размер, то выполняемая синхронизация с облачным диском может занимать продолжительное время (зависит от качества связи с облачным сервисом).

Решение проблем с БД на облачном диске.

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

Если ошибка возникает при закрытии БД и к ней было подключение с ролью Конфигуратор, то синхронизация изменений с облачным диском не завершится корректно, т.е. БД останется заблокирована текущим пользователем и изменения не появятся на облачном диске. В этом случае рекомендуется заново подключиться к БД (не изменяя роль) и после этого снова закрыть БД, так чтобы при закрытии не возникло ошибки (возможно, придётся повторить эту операцию несколько раз, пока БД не закроется без ошибок).

Если ошибка возникает при подключении к БД, то рекомендуется "быть по настойчивее" - повторить попытку подключения несколько раз, можно так же попробовать закрыть программу, заново открыть и повторить попытку подключения. Если это не помогает, то удостовериться, что облачный диск работает и связь с ним устанавливается, открыв его в браузере (или спец. приложении для облака) и загрузить/скачать тестовый файл, после этого попробовать ещё раз подключиться в LibaBook.

Если ошибки слишком часто повторяются, то можно попробовать вариант 2 (для подключения облачного диска как сетевого диска) описанный в главе [База данных на облачном диске.], или попробовать работу с другим облаком предоставляющим более качественную связь.


Принудительная разблокировка БД на облачном диске.

В процессе работы, может возникнуть ситуация, когда пользователь подключился к БД с ролью Конфигуратор и связь с его компьютером оборвалась. В таком случае, пока связь не восстановится и он заново не откроет/закроет БД, никто не сможет подключиться к БД с ролью Конфигуратор, т.е. никто не сможет редактировать БД.

Если требуется принудительно разблокировать БД, и дать возможность другому пользователю подключиться с ролью Конфигуратор, то необходимо:

Если облачная БД подключена напрямую через LibaBook по протоколу WebDAV

1. Через браузер или приложение зайти в облачный сервис и скачать файл info.ini из папки с БД (например mybase1/info.ini)
2. Открыть файл info.ini через блокнот и сделать пустым значение параметра lock_enabled, т.е. заменить строку lock_enabled=xxxxxxxxxxxx просто на lock_enabled= (стерев значение xxxxxx..)
3. Сохранить файл info.ini
4. Загрузить в облачную папку БД изменённый файл info.ini с заменой.


Если облачная БД подключена через сетевой диск (например "Z:\")

1. Открыть в проводнике на диске "Z:\" файл info.ini через блокнот.
2. Сделать пустым значение параметра lock_enabled, т.е. заменить строку lock_enabled=xxxxxxxxxxxx просто на lock_enabled= (стерев значение xxxxxx..)
3. Сохранить файл info.ini

В результате:

Теперь к БД можно подключиться с ролью Конфигуратор, но те изменения (с момента блокировки), которые были сделаны в БД ранее блокировавшим пользователем, будут им потеряны при следующем его подключении к сетевой БД, о чём ему будет выдано соответствующее сообщение. Если требуется их сохранить в виде отдельной БД, то он вначале должен подключиться к локальной копии БД с ролью Наблюдатель, сделать резервную копию БД, и только после этого подключаться к сетевой БД.

База данных на USB-диске (флешке).

На USB-диске БД можно хранить несколькими способами:

1. Как обычная БД.

Папка БД просто копируется на USB-Диск.

После этого БД можно будет открыть на любом компьютере с установленной LibaBook, в который вставлен USB-Диск  (доступные возможности зависят от типа лиц. ключа как в обычных локальных БД).


2. Как обычная БД + установленная на флэшку программа LibaBook.

На USB-Диск копируется полностью вся папка с установленной программой LibaBook.

Так же копируется папка с БД.

После этого LibaBook можно будет запускать прямо с USB-Диска на любом компьютере (на котором LibaBook не установлен), при этом тип лиц. ключа всегда будет "NOT REGISTERED" (что позволяет просматривать любые БД, и редактировать БД с типом "Books").


3. Как БД на сетевом диске.

БД создаётся как "БД на сетевом диске", но вместо общей сетевой папки указывается обычная папка на USB-диске в которой будет создана БД. 

Тогда БД можно будет просматривать на любом компьютере с установленной LibaBook (тип лиц. ключа "NOT REGISTERED" и выше) и редактировать на компьютере с установленной LibaBook (тип лиц. ключа "PREMIUM" и выше), причём редактирование будет доступно, только если предыдущий пользователь вернул БД из работы (разблокировал). 

При этом способе поддерживается шифрование БД расположенной на USB-диске.

Так же при просмотре или редактировании БД, на том компьютере к которому подключается USB-диск будет автоматически создаваться локальная копия БД (которую можно просматривать в режиме только чтение, если USB-диск отсутствует).

База данных как Мини-Каталог в одном файле LBRC.

Этот вид БД предназначен для открытого распространения выборочных данных из основной БД. По отчёту (выборке по условию) формируется таблица с данными, которая экспортируется в файл с типом LBRC (MiniCatalog LibaBook).

Созданная таким образом БД состоит лишь из одной таблицы, содержащей только экспортированные данные по отчёту. Такая БД работает в режиме только для чтения. LBRC-файл можно распространять для публичного доступа, например, через свой сайт, социальные сети, облачный или сетевой диск.

Для того, чтобы открыть файл LBRC требуется установленная на компьютере программа LibaBook (с любой лицензией, начиная с NOT_REGISTERED). После двойного клика на файле с расширением LBRC, запустится LibaBook и откроется [Окно "Создание новой Базы Данных из резервной копии"], после выбора папки и создания новой БД, окно закроется и будет предложено подключиться к созданной БД. После подключения откроется сама БД Мини-Каталог и далее её можно будет открывать как обычную БД напрямую.


Сравнение с [База данных как Онлайн-Каталог в одном файле HTML.]

Преимущества

Позволяет быстро и удобно искать информацию в БД большого размера, а так же использовать стандартные функции сортировки, группировки и фильтрации.

Недостатки

Если у пользователя не установлена программа LibaBook, то чтобы открыть файл LBRC ему необходимо будет скачать и установить LibaBook.

База данных как Онлайн-Каталог в одном файле HTML.

Назначение онлайн-каталога: 

Онлайн-каталог позволяет создать «мини» базу данных (содержащую только данные из нужного отчёта), которую можно распространять в виде обычного HTML-файла для публичного доступа, например, через свой сайт, социальные сети, облачный диск или просто скачать себе на смартфон/планшет для просмотра в обычном браузере. 

Возможности: 

1. В онлайн-каталоге имеется удобная форма поиска, позволяющая по нескольким введенным символам отобразить подходящие под запрос записи. 

2. Можно задать своё название каталога, изображение-логотип и ссылку, которые будут отображаться в верхней части страницы. 

3. Можно задать свой текст для объявления, показываемого всем пользователям при открытии каталога. 

 4. Можно создать свои пункты меню, чтобы пользователь мог выбрать нужные ему записи и отправить сообщение-запрос на почтовый ящик или URL указанный администратором каталога. 

5. Можно создать свой HTML-шаблон каталога со своим собственным дизайном. 

Примеры использования: 

Размещение онлайн-каталога коллекции предметов на своем сайте или в соц. сети, позволит пользователям просматривать наличие и описание предметов, а так же делать на Ваш Email или URL запросы на покупку, обмен и т.п... 

Можно импортировать любой табличный Excel файл в LibaBook и создать по нему онлайн-каталог с удобным поиском. 

Можно создать онлайн-каталог как копию основной БД и выложить в облако (например, яндекс/гугл диск) или на свой смартфон/планшет для быстрого доступа к информации БД в любое время.


Сравнение с [База данных как Мини-Каталог в одном файле LBRC.]

Преимущества

Для открытия требуется установленный на устройство браузер (имеется практически на всех устройствах). Может открываться на телефоне/планшете/компьютере. 

Есть возможность создавать свои пункты меню для отправки выбранных пользователем записей каталога на указанный Email или URL-ссылку.

Недостатки

Позволяет выполнять поиск, но если БД большого размера (большое количество картинок), может открываться/искать заметно долго (зависит от браузера).

Отсутствуют функции сортировки, группировки и расширенной фильтрации.

Резервное копирование / Восстановление.

Для сохранности информации рекомендуется периодически создавать резервную копию БД. Резервная копия БД  - это файл с расширением [.LBRC], из этого файла в последствии можно восстановить БД.

Кроме того, рекомендуется периодически делать резервную копию папки приложения. Особенно это актуально, если компьютер выполняет функции сервера, т.к. все пользователи серверных баз данных хранятся в служебной БД, расположенной в папке установки приложения.

Для задач резервного копирования в LibaBook есть специальные команды, которые описаны в разделе [Автоматизация].

Создание резервной копии БД.

0. Подключиться к БД для которой нужно создать резервную копию.

1. [Меню]->[Сохранить как... (создать резервную копию Базы Данных)].  Если подключение выполнено к серверной БД, то потребуется пароль администратора сервера.

2. В открывшемся диалоге выберите путь и имя для файла резервной копии. Рекомендуется хранить резервные копии на отдельном жёстком диске, если жёсткий диск на котором расположена БД выйдет из строя и все резервные копии будут расположены на нём же, то восстановить БД будет неоткуда.

3. В результате будет создан файл с расширением [.LBRC].

Восстановление локальной БД из резервной копии.

1. [Меню]->[Создать новую Базу Данных (восстановить) из резервной копии...]

2. В появившемся окне [Окно "Создание новой Базы Данных из резервной копии"] укажите путь к файлу с расширением [.LBRC] и путь/название новой БД, которая будет создана (восстановлена) по данным из резервной копии.

3. В результате будет создана новая локальная БД с которой можно начинать работать.

Восстановление серверной БД из резервной копии.

0. Перед восстановлением, сетевой доступ к БД должен быть временно запрещён, либо службы LibaBook должны быть остановлены.

1. Путь к новой БД должен быть таким же как к старой (повреждённой) БД. Для этого вначале папку со старой (повреждённой) БД, нужно заранее удалить либо переименовать.

2. [Меню]->[Создать новую Базу Данных (восстановить) из резервной копии...]

3. В появившемся окне [Окно "Создание новой Базы Данных из резервной копии"] укажите путь к файлу с расширением [.LBRC] и путь/название новой БД, которая будет создана (восстановлена) по данным из резервной копии.

3. В результате будет создана новая (восстановленная) серверная БД с которой можно начинать работать через сетевое подключение.

Создание резервной копии папки приложения.

Для создания резервной копии папки приложения необходимо использовать команду автоматизации [Создание резервной копии папки приложения LibaBook].

Эта задача особенно актуальна для серверных БД. На сервере в папке с установленной LibaBook хранится служебная БД, с информацией о всех пользователях сервера, если при восстановлении на новый жёсткий диск, папка приложения (резервная копия) будет отсутствовать, то всех пользователей сервера и их права на доступ к серверным базам данных придётся создавать заново [Создание пользователей на сервере.].

Восстановление папки приложения из резервной копии.

Если возникла проблема с жёстким диском и его пришлось заменить на новый, с заново установленной операционной системой, то для восстановления работы LibaBook необходимо выполнить следующие действия:

Для локальных БД:

Если имеется резервная копия папки приложения (zip-файл), то его необходимо распаковать в любую папку на диске, например "C:\LibaBook3". В этом случае, все настройки приложения и файл лиц.ключа будут полностью восстановлены на дату создания резервной копии папки.

Если резервная копия отсутствует, то необходимо скачать с сайта libabook.ru, самую новую версию программы LibaBook и установить. В этом случае будут потеряны настройки приложения и файл лиц.ключа. Файл лиц. ключа можно скачать из личного кабинета, либо из ранее сохранённой его копии, после чего скопировать в папку "lic" с установленной программой, например: "C:\LibaBook3\lic".

Для восстановления БД, необходимо выполнить [Восстановление локальной БД из резервной копии.].


Для серверных БД:

Если имеется резервная копия папки приложения (zip-файл), то его необходимо распаковать обязательно в туже самую папку на диске, в которой программа была установлена ранее, например "C:\LibaBook3". В этом случае, все настройки приложения и файл лиц.ключа будут полностью восстановлены на дату создания резервной копии папки. Так же будет восстановлена служебная БД сервера, в которой хранится информация о пользователях сервера, которым разрешён доступ к серверным базам данных.
Далее необходимо выполнить [Восстановление серверной БД из резервной копии.].
После восстановления всех серверных БД, необходимо восстановить службы LibaBook, чтобы к серверным БД можно было подключаться. Для этого нужно запустить в папке установленного приложения файл "libabook_services_restore.bat", например: "C:\LibaBook3\libabook_services_restore.bat" [Управление службами LibaBook.].
Важно: до запуска "libabook_services_restore.bat" не открывать пункты меню "Администрирование" требующих работы служб LibaBook, т.к. при их выборе будет предлагаться установить службы LibaBook (в новой операционной системе они ещё не установлены), если согласиться и установить службы, то будет выполнена установка по умолчанию и все пользователи сервера будут удалены.
После выполнения всех выше перечисленных действий, можно перезагрузить компьютер и проверить подключение к серверным БД.

Если резервной копии папки приложения (zip-файла) нет, то необходимо скачать с сайта libabook.ru, самую новую версию программы LibaBook и установить. В этом случае будут потеряны настройки приложения, файл лиц.ключа и база данных пользователей сервера. Файл лиц. ключа можно скачать из личного кабинета, либо из ранее сохранённой его копии, после чего скопировать в папку "lic" с установленной программой, например: "C:\LibaBook3\lic".
Далее необходимо выполнить [Установка служб сервера LibaBook.].
Для восстановления серверной БД необходимо выполнить [Восстановление серверной БД из резервной копии.]. Дополнительно, после восстановления БД, её необходимо преобразовать в серверную БД [Создание общей сетевой БД на сервере.].
Пользователей сервера, которым разрешён доступ к серверным базам данных, придётся создавать заново, так же заново придётся раздавать права пользователям на доступ к серверным БД.

Автоматизация

Программа LibaBook предоставляет широкие возможности для автоматизации периодически повторяющихся действий, таких как:

- создание резервных копий БД;
- обновление онлайн-каталога;
- формирование отчётов и рассылка сообщений по Email;
- и др...

Для использования в задании доступен следующий набор команд:
[Список команд для автоматизации]. 

Для создания и редактирования заданий автоматизации используется  [Окно "Мастер Автоматизации"], которое можно открыть через меню [Администрирование]->[Автоматизация]. В этом окне через [Управление заданием]->[Открыть задание (из примеров)...] можно открыть готовые примеры заданий и использовать их как основу для создания собственных заданий.

Список стандартных примеров заданий с кратким описанием:

- Бэкап локальной БД и сохранение 10 последних версий.LBAT
Цель: Всегда иметь резервную копию БД за последние 10 дней. Если возникнет проблема, то БД можно всегда восстановить по одной из последних версий [Создать новую Базу Данных (восстановить) из резервной копии...].

- Бэкап-Репликация серверной БД и сохранение 10 последних версий.LBAT
Цель 1: Всегда иметь резервную копию серверной БД за последние 10 дней. Если возникнет проблема, то БД можно всегда восстановить по одной из последних версий.
Цель 2: Если организовать выполнение задания на клиентских компьютерах, то можно автоматизировать репликацию серверной БД на эти клиентские компьютеры. В этом случае, при отсутствии связи с сервером, пользователь на клиентском компьютере может открыть последнюю полученную резервную копию БД с сервера и посмотреть относительно актуальную информацию, несмотря на то, что связи с сервером в данный момент нет. Выполнение задания на разных клиентах рекомендуется назначить в разное время, чтобы не повышать нагрузку на сервер.

- Бэкап папки приложения LibaBook и сохранение 10 последних версий.LBAT
Цель: Всегда иметь резервную копию папки приложения LibaBook за последние 10 дней. Если возникнет проблема, то папку приложения LibaBook можно всегда восстановить по одной из последних версий, распаковав ZIP-файл резервной копии в путь в котором ранее была установлена программа.

- Обновление мини-каталога (LBRC - MiniCatalog LibaBook) на сетевом диске.LBAT
Цель: Периодически обновлять содержимое БД мини-каталога (файла LBRC) выложенного в публичный доступ на сетевой (облачный) диск.

- Обновление онлайн-каталога (HTML) на сетевом диске.LBAT
Цель: Периодически обновлять содержимое онлайн-каталога (файла HTML) выложенного в публичный доступ на сетевой (облачный) диск.

- Рассылка на Email-адреса из CSV-файла информационного сообщения.LBAT
Цель: Отправить одинаковое сообщение на Email всем получателям указанным в CSV-файле.

- Рассылка сообщений должникам на Email.LBAT
Цель: Периодически по отчёту получать список читателей имеющих задолженности и каждому отправить на Email сообщение со списком просроченных книг и напоминанием о необходимости возврата.

- Экспорт результата отчёта в файл и отправка на Email.LBAT
Цель: Периодически формировать файл с результатом отчёта и отправлять его на указанный/е Email.

Создание нового задания.

1. Через меню [Администрирование]->[Автоматизация] открыть [Окно "Мастер Автоматизации"].

2. Через [Управление заданием]->[Создать новое задание] можно создать новое пустое задание.

Либо через  [Управление заданием]->[Открыть задание (из примеров)...] открыть задание-пример наиболее похожее на решаемую задачу, и затем сохранить его через  [Управление заданием]->[Сохранить задание как...] под новым именем. Далее просто добавить/изменить/удалить нужные команды.

3. Заполнить параметры задания.

4. Сохранить задание.


Параметры задания:

Поле "Описание задания" - понятное для себя описание задания.

Поле "Файл задания" - путь к ткущему редактируемому LBAT файлу задания (устанавливается автоматически).

Флаг "Файл ведения журнала выполнения задания (*.LOG)" - если флаг установлен, то рядом с LBAT файлом задания, при запуске задания будет создан LOG файл, в который будут записываться дата/время запусков задания, результаты выполнения команд и ошибки. Этот файл можно открыть для просмотра вручную в любом текстовом редакторе или через кнопку [Открыть] рядом с флагом используя [Окно "Журнал выполнения задания"].

Поле "Строка запуска задания" - содержит строку запуска программы LibaBook.exe с необходимыми параметрами для выполнения задания (устанавливается автоматически). 

Пример: "C:\LibaBook3\LibaBook3.exe" -autorun "C:\LibaBook3\data\lang\Russian\templates\automation\example\Рассылка сообщений должникам на Email.LBAT" -VAR[tmp_folder_path]:"C:\tests\tmp" -VAR[email_pass]:"123"

Данную строку необходимо использовать в программе выполняющей запуск по расписанию. 

Если задание имеет переменные, то их значения в строке можно изменить вручную на новые, и в программе выполняющей запуск по расписанию использовать уже изменённую строку. Это может потребоваться, например, для переменных хранящих пароли. В файле LBAT как и в обычном BAT/CMD файле, они хранятся в простом текстовом виде, поэтому к этому файлу либо необходимо настроить ограниченные права доступа, либо не хранить пароли в файле LBAT, а передавать их например из планировщика заданий Windows в строке запуска. Значения переменных из строки запуска имеют больший приоритет перед значениями переменных хранящихся в таблице переменных LBAT файла.

Формат переменной в строке запуска:
-VAR[название_переменной_латинскими_буквами]:"значение переменной"


Таблица "Переменные" - хранит переменные для LBAT файла задания.
Переменная имеет название (только латинские буквы и символ подчёркивания), и может хранить любое строковое значение.

Переменная может указываться в строке значения параметра для команды через служебное слово VAR[название_переменной_латинскими_буквами]. Чтобы не вводить название переменной вручную, его можно скопировать в буфер обмена из таблицы "Переменные", или дважды кликнув на поле для ввода значения параметра команды, выбрать название переменной из открывшегося списка.

При выполнении команды строка VAR[название_переменной_латинскими_буквами] заменяется на значение переменной из таблицы "Переменные".

Пример: Если в таблице "Переменные" задана переменная
Название = "test_path"
Значение = "C:\test\file1"
то при запуске команды в строке значения параметра
вместо "VAR[test_path].txt"
будет строка "C:\test\file1.txt"

Переменные удобно использовать для ввода в параметры разных команд одного постоянного значения одинакового во всех командах.

Можно так же использовать всегда определённые следующие системные переменные:
VAR[SYSTEM_APP_FOLDER] = Путь к папке текущего запущенного экземпляра LibaBook выполняющего задание (Например: "C:\LibaBook3").
VAR[SYSTEM_DATE_TIME] = Текущая дата/время на момент запуска задания в формате подходящем для имени файла (Например: "2021-08-29_17-46-53").

Управление переменными можно выполнять через контекстное меню таблицы, либо кнопку "Управление переменными" используя [Окно "Создать переменную"], [Окно "Изменить переменную"]. Строки переменных в таблице можно перемещать с помощью кнопок "Вверх"/"Вниз".


Таблица "Список команд для выполнения в задании" - хранит команды выполняемые в задании. Все команды задания выполняются по порядку, в случае ошибки при выполнении одной из команд, выполнение задания останавливается и следующие за ней команды не выполняются. Если флаг "Активно" для команды не установлен, то при запуске задания эта команда не выполняется, т.е. будет пропущена.

Управление командами задания можно выполнять через контекстное меню таблицы, либо кнопку "Управление командами задания" используя [Окно "Выбор команды"]. При клике на строке команды в таблице, на панели справа появятся параметры этой команды, доступные для редактирования. Строки команд в таблице (порядок выполнения) можно перемещать с помощью кнопок "Вверх"/"Вниз".

Можно запустить текущую выделенную команду в таблице через пункт [Запустить команду], команда будет запущена даже если флаг "Активно" для неё не установлен. Через пункт [Запустить все активные команды] можно выполнить реальный запуск задания целиком. При запуске команд через эти пункты меню всегда открывается отладочное окно в которое выводятся результаты работы команд и ошибки.

Настройка запуска задания по расписанию.

Тестирование.

После создания задания необходимо проверить его работу в отладочном режиме, запустив его через пункт [Запустить все активные команды]. 

Затем необходимо проверить работу задания в рабочем режиме, запустив его через кнопку "Запустить" справа от поля "Строка запуска задания". Дождавшись завершения задания проверить LOG-файл  журнала задания на отсутствие ошибок.

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


Настройка запуска по расписанию.

Запуск задания по расписанию можно организовать используя различные программы предназначенные для этого. Мы рассмотрим настройку через стандартный планировщик заданий Windows.

1. Из [Окно "Мастер Автоматизации"] скопировать строку запуска задания в буфер обмена.
Можно использовать соответствующую кнопку рядом с полем "Строка запуска задания".
При желании (например для паролей) значения переменных можно изменить вручную (вставив строку из буфера обмена в текстовый редактор и отредактировав), тогда задание при выполнении будет использовать значения переменных из строки запуска (хранящейся в планировщике заданий Windows), а не из таблицы переменных LBAT файла.

2. Выбрать [Управление заданием]->[Открыть планировщик заданий Windows].

3. В открывшемся Планировщике заданий Windows создать задачу указав в ней требуемое расписание запуска (триггеры). 

4. Для действия выполняемого в задании указать программу со строкой запуска вставленной из буфера обмена.


Пример создания задачи выполняющейся 1 раз в день (для Windows 10):

1. Из [Окно "Мастер Автоматизации"] скопировать строку запуска задания в буфер обмена.

2. Выбрать [Управление заданием]->[Открыть планировщик заданий Windows].

3.1. В открывшемся окне справа на панели "Библиотека планировщика заданий" выбрать "Создать простую задачу...".
3.2. Откроется окно "Мастер простой задачи", в котором нужно ввести произвольное название задачи и нажать кнопку "Далее".
3.3. Откроется вкладка "Триггер", на которой необходимо выбрать опцию "Ежедневно" и нажать кнопку "Далее".
3.4. На открывшейся вкладке указать дату/время начала выполнения задачи и нажать кнопку "Далее".
3.5. Откроется вкладка "Действие", на которой необходимо выбрать опцию "Запустить программу" и нажать кнопку "Далее".
3.6. На открывшейся вкладке в поле "Программа или сценарий" вставить из буфера обмена строку запуска задания (из пункта 1) и нажать кнопку "Далее".
3.7. Откроется вкладка "Завершение", на которой необходимо проверить настройки задачи и нажать кнопку "Готово". 
3.8. В таблице задач Планировщика заданий Windows появится новая задача (при необходимости можно отредактировать дополнительные параметры задачи дважды кликнув по ней).
3.9. Всё, задача полностью настроена для работы по расписанию. Но, рекомендуется убедиться, что она корректно запускается с помощью планировщика заданий Windows. Для этого в контекстном меню задачи можно выбрать пункт [Выполнить]. Задача будет немедленно запущена с помощью планировщика заданий Windows, если все необходимые действия задачей выполнены (можно проверить в LOG файле), значит можно быть точно уверенным, что задача будет корректно выполняться по заданному расписанию.


Важно:

Расписание запуска заданий необходимо устанавливать таким образом, чтобы их выполнение не пересекалось по времени.

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

Если в настройках задания [Окно "Мастер Автоматизации"], установлен флаг "Файл ведения журнала выполнения задания (*.LOG)", то рядом с LBAT файлом задания, при запуске задания будет создан LOG файл, в который будут записываться дата/время запусков задания, результаты выполнения команд и ошибки. Этот файл можно открыть для просмотра вручную в любом текстовом редакторе или через кнопку [Открыть] рядом с флагом.

Рекомендуется данный флаг устанавливать для всех создаваемых заданий, тогда периодически просматривая LOG файл журнала задания, можно проверять, что задание выполняется по задумывавшемуся расписанию и без ошибок, это позволит своевременно выявлять ошибки и корректировать параметры заданий.

Создание новой БД из резервной копии БД

Описание:

Команда из файла резервной копии БД создаёт (восстанавливает) новую БД по указанному пути.

Входные параметры:

- Локальный путь к файлу резервной копии.
Например: "C:\backup\mybase.lbrc".

- Путь к папке в которой будет создана новая БД.
Например: "C:\new\МояНоваяБазаДанных" или "C:\new\МояНоваяБазаДанных_db".

Создание резервной копии локальной БД

Описание:

Команда создаёт файл резервной копии БД расположенной на данном компьютере.

Входные параметры:

- Путь к файлу БД.
Например: "C:\new\МояБазаДанных_db\main.lbbk3".

- Путь к файлу резервной копии.
Например: "C:\backup\mybase.lbrc".

Создание резервной копии серверной БД

Описание:

Команда создаёт файл резервной копии БД по сетевому подключению на данном или удалённом компьютере (сервере).
Для выполнения требуется пароль администратора сервера LibaBook.

Входные параметры:

- Строка подключения к серверной БД по протоколу inet://.
Например: "inet://myserver:2727/mydatabase" или "inet://127.0.0.1:2727/mydatabase".

- Путь к файлу резервной копии.
Например: "C:\backup\mybase.lbrc".

- Пароль администратора сервера LibaBook.
Это тот пароль, который был указан при установке служб сервера LibaBook ([Окно "Мастер установки службы сервера LibaBook"]).

Создание резервной копии папки приложения LibaBook

Описание:

Если запущены службы сервера LibaBook, то они будут остановлены. Затем заданная папка приложения будет заархивирована в ZIP-архив (файл резервной копии). Если ранее были остановлены службы сервера LibaBook, то они снова запускаются.

Входные параметры:

- Путь к папке с установленным приложением (например: 'C:\LibaBook3').

- Путь к ZIP-файлу резервной копии.
Например: "C:\backup\myapp.zip".

Создание онлан-каталога по отчёту из локальной БД

Описание:

Выполняется подключение к указанной локальной БД. Далее по указанному названию отчёта БД и файлу параметров онлайн-каталога создаётся HTML файл-результат. Затем выполняется отключение от локальной БД.

Входные параметры:

- Путь к файлу БД.
Например: "C:\new\МояБазаДанных_db\main.lbbk3".

- Название отчёта в дереве статистики БД.
Т.е. название отчёта по которому создаётся онлайн-каталог.
Например: "Список книг с информацией о кол-ве экземпляров доступных для выдачи".

- Путь к PAR файлу с параметрами онлайн-каталога.
PAR-файл (настройки онлайн-каталога) создаётся по кнопке "Сохранить параметры" в окне [Окно "Создание онлайн-каталога"].
Например: "C:\tests\online_catalog\save_params\Список книг с информацией о кол-ве экземпляров доступных для выдачи.par".

- Путь к HTML файлу для сохранения онлайн-каталога.
Например: "C:\tests\online_catalog\онлайн_каталог_книг_библиотеки.html".

Экспорт результата отчёта в файл (XLS, HTML, XML, TXT, PDF, XLSX, CSV, LBRC (MiniCatalog LibaBook))

Описание:

Выполняется подключение к указанной локальной БД. По указанному названию отчёта формируется результат отчёта, который сохраняется в файл заданного формата (XLS, HTML, XML, TXT, PDF, XLSX, CSV, LBRC (MiniCatalog LibaBook)). Затем выполняется отключение от локальной БД.

Входные параметры:

- Путь к файлу БД.
Например: "C:\new\МояБазаДанных_db\main.lbbk3".

- Название отчёта в дереве статистики БД.
Например: "Список книг с информацией о кол-ве экземпляров доступных для выдачи".

- Формат файла для сохранения (XLS, HTML, XML, TXT, PDF, XLSX, CSV, LBRC (MiniCatalog LibaBook)).
Любое значение из списка.
Экспорт в "LBRC", позволяет создать БД в формате мини-каталог LibaBook в одном файле (что удобно для выкладывания в открытый доступ).
Например: "LBRC".

- Путь к файлу для сохранения результата экспорта.
Например: "C:\tests\отчёт.lbrc".

Email

Пример настройки аккаунтов на некоторых сайтах.

yandex

Для возможности отправки сообщений необходимо войти в аккаунт на сайт и "Отключить пароли приложений (если они включены)", либо "Создать пароль приложения для доступа к почтовому ящику".

Email адрес получателей (если несколько, то через запятую):
friend@yandex.ru

Почтовый сервер исходящей почты:
smtp.yandex.com

Порт сервера исходящей почты:
587

Email адрес отправителя:
test@yandex.ru

Пароль отправителя:
обычный пароль к аккаунту (если пароли приложений отключены), либо созданный пароль приложения для доступа к почтовому ящику.


gmail

Для возможности отправки сообщений необходимо войти в аккаунт на сайт и разрешить в настройках "Вход в аккаунт Google через небезопасные приложения", либо "Создать пароль приложения для доступа к почтовому ящику".

Email адрес получателей (если несколько, то через запятую):
friend@gmail.com, friend@yandex.ru

Почтовый сервер исходящей почты:
smtp.gmail.com

Порт сервера исходящей почты:
587

Email адрес отправителя:
test@gmail.com

Пароль отправителя:
обычный пароль к аккаунту (если разрешён "Вход в аккаунт Google через небезопасные приложения"), либо созданный пароль приложения для доступа к почтовому ящику.


Рассылка сообщений на Email получателей из CSV-файла

Описание:

В CSV-файле должна быть колонка содержащая один или несколько email-адресов на которые будут отправлены сообщения. Остальные колонки объединяются и формируют содержимое сообщения. 

Автоматическая рассылка сообщений из CSV-файла на Email получателей работает следующим образом:


1. Необходимо сформировать CSV-файл с данными для рассылки.

Для этого можно создать отчёт в LibaBook, а затем экспортировать результат его работы в CSV-файл (либо создать CSV-файл вручную в любой удобной программе).

Пример CSV-файла с разделителем "|":

Email|Название книги|Дата Возврата

user1@mail.com|Незнайка|10.12.2000

user1@mail.com|Красная шапочка|10.12.2000

user2@mail.com|Хоббит|10.12.2000

user3@mail.com, test@mail.com|Сказки|10.12.2000


Результат рассылки:

< Письмо на адрес: user1@mail.com >

Текст в начале сообщения.

--- 1 ---

Название книги: Незнайка

Дата Возврата: 10.12.2000

--- 2 ---

Название книги: Красная шапочка

Дата Возврата: 10.12.2000

Текст в конце сообщения.


< Письмо на адрес: user2@mail.com >

Текст в начале сообщения.

--- 1 ---

Название книги: Хоббит

Дата Возврата: 10.12.2000

Текст в конце сообщения.


< Письмо на адрес: user3@mail.com и копия на test@mail.com >

Текст в начале сообщения.

--- 1 ---

Название книги: Сказки

Дата Возврата: 10.12.2000

Текст в конце сообщения.



В CSV-файле одна из колонок должна содержать Email адреса на которые надо отправлять сообщения (обычно это первая или последняя колонка), её номер можно указать в настройках команды. Если в ячейке больше одного email-адреса, то они должны разделяться символом не используемым для Email, например, пробелом или запятой. Для Email разрешены только символы латинского алфавита, цифры и знаки "@" "_" "." "-".

Текст из остальных колонок объединяется для каждой строки в блок сообщения с порядковым номером. Если в CSV-файле несколько строк с одним и тем же Email, то для этого Email создаётся несколько блоков, которые будут отправлены в одном общем письме.

В настройках команды можно задать общий текст во всех письмах в начале и конце сообщения.

После выполнения команды и отправки сообщений на Email, будет создан файл результат, который содержит текст всех отправленных сообщений и статус отправки.


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

1. Создаётся отчёт содержащий данные для рассылки.

2. Создаётся задание автоматизации LibaBook с двумя командами:

- Экспорт результата отчёта в файл (XLS, HTML, XML, TXT, PDF, XLSX, CSV, LBRC (MiniCatalog LibaBook))

Результат работы сохраняется в CSV-файл, например в result1.csv

- Рассылка сообщение на Email получателей из CSV-файла

Где входным файлом для рассылки является файл result1.csv


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

Например, для рассылки напоминаний о задолженности

отчёт 1 - ищет всех задолжников с "id карточки читателя" от 1 до 100

отчёт 2 - ищет всех задолжников с "id карточки читателя" от 100 до 200

отчёт 3 - ищет всех задолжников с "id карточки читателя" от 200 до 300

...

отчёт 7 - ищет всех задолжников с "id карточки читателя" от 600 до 700

Для каждого из отчётов можно создать своё задание автоматизации LibaBook.

В планировщике заданий Windows, для каждого задания можно назначить расписание (триггер) для выполнения, например 1 раз в неделю, при этом каждому заданию выбрать разные дни. Тогда все должники будут раз в неделю получать напоминание, и при этом каждый день будет отправляться не более 100 сообщений.


Входные параметры:

- Путь к файлу CSV с данными для рассылки.
Например: "C:\tests\рассылка_задолжникам.csv".

- Номер колонки в которой находятся Email адреса получателей.
Колонки считаются начиная с 1.
Например: "1".

- Тема письма.
Например: "Напоминание о задолженности в библиотеку".

- Текст в начале сообщения.
Текст который будет в начале сообщения для любого получателя. В конце текста можно поставить перевод на новую строку, для того чтобы первая запись для конкретного получателя начиналась со следующей строки.
Например: "Истёк срок возврата для следующих книг:
"

- Текст в конце сообщения.
Текст который будет в конце сообщения для любого получателя (после всех записей для конкретного получателя)..
Например: "Пожалуйста, в кратчайшие сроки верните указанные выше книги в библиотеку.".

- Если в колонке найдено больше одного Email, то отправлять сообщение только на первый.
Можно выбрать значение из "Да", "Нет". Если у пользователя в колонке Email указано более одного адреса и нужно отправлять письма на все эти адреса, то нужно указать "Нет".

- Путь к файлу для сохранения результата рассылки (TXT).
Например: "C:\tests\рассылка_задолжникам_результат.txt".

- Реально не отправлять сообщения, только создать файл результат (Тест).
Можно выбрать значение из "Да", "Нет". Для тестирования сформированных текстов сообщений без их реальной отправки на Email получателей необходимо указать "Да". Для реальной отправки сообщений необходимо указать "Нет". Перед реальной рассылкой рекомендуется всегда тестировать текст сформированных сообщений, проверяя его в файле результата рассылки (TXT).

- Почтовый сервер исходящей почты.
Например: "smtp.gmail.com".

- Порт сервера исходящей почты.
Почта всегда отправляется по зашифрованному протоколу, поэтому порт сервера должен указываться соответствующий, обычно 587 или 465.
Например: "587".

- Отображаемое в письме имя отправителя.
Например: "Библиотека №123".

- Email адрес отправителя.
Например: "library123@example.com".

- Пароль отправителя.


Пример настройки аккаунтов на некоторых сайтах:

[Email]

Отправка файла на Email

Описание:

Отправка одного файла по электронной почте на указанный Email адрес.

Входные параметры:

- Путь к файлу который необходимо отправить
На почтовом сервере может быть ограничение по максимальному размеру файлов, поэтому отправляемые файлы предварительно лучше заархивировать.
Например: "C:\tests\отчёт.zip".

- Тема письма.
Например: "Автоматический отчёт для аналитика (Статистика кол-ва выданных книг за период)".

- Текстовое сообщение в письме.
Например: "Файл с отчётом приложен к письму.".

- Email адрес получателей (если несколько, то через запятую).
Например: "test@example.com".

- Почтовый сервер исходящей почты.
Например: "smtp.gmail.com".

- Порт сервера исходящей почты.
Почта всегда отправляется по зашифрованному протоколу, поэтому порт сервера должен указываться соответствующий, обычно 587 или 465.
Например: "587".

- Отображаемое в письме имя отправителя.
Например: "Библиотека №123".

- Email адрес отправителя.
Например: "library123@example.com".

- Пароль отправителя.


Пример настройки аккаунтов на некоторых сайтах:

[Email]

Стандартные действия для папок и файлов

Описание:

Команда выполняет над папкой или файлом или группой файлов заданных шаблоном (*) одно из выбранных действий (Копирование/Удаление/Перемещение/Переименование/Архивирование/Разархивирование). Для действий архивирования шаблоны (*) не работают.

Входные параметры:

- Действие.
Любое значение из списка.
Например: "Копирование".

- Путь и имя исходного файла/папки или шаблон (*).
Например: "C:\tests\folder1\*.txt".
("*.txt" - означает, что из папки будут скопированы все файлы с любым именем оканчивающимся на ".txt").

- Путь и имя файла/папки назначения (если действие = 'Удаление', то пусто).
Например: "C:\tests\folder2".

Удаление старых файлов в папке

Описание:

Если в папке находится больше заданного количества файлов, то из неё удаляются все файлы с более старой датой последнего изменения, пока в результате в папке не останется только заданное количество файлов.

Входные параметры:

- Максимальное разрешённое количество файлов в папке.
Число, например: "10".

- Путь к папке.
Например: "C:\tests\folder2".

Главное окно

Содержит основные контролы управления программой.

Главное меню приложения

Содержит основные пункты меню программы.

Меню

Пункт меню для работы с Базой Данных.
















Открыть локальную Базу Данных...

В диалоге открытия Базы Данных укажите путь к файлу «main.lbbk3».

Если вы хотите открыть старую БД LibaBook v1,v2 (файл *.lbbk / *.lbbk2), то её вначале надо конвертировать в новый формат выполнив: «Меню» -> «Мастер конвертирования старой БД LibaBook v1,v2 в новый формат».

Сохранить как... (создать резервную копию Базы Данных)

В диалоге сохранения укажите путь и название для копии текущей Базы Данных.

Администрирование

Пункт меню для задач администрирования БД на данном компьютере.

Настройка подключения к БД с других компьютеров

Можно сделать выбранную БД доступной для одновременной работы с нескольких разных компьютеров, подключающихся к данному компьютеру по локальной сети или через интернет.
Пользователи, которым разрешен сетевой доступ к БД, при подключении должны будут ввести свой пароль. Данные передаваемые по сети шифруются.

Новости

Открывает окно с новостями программы, которые обновляются при проверке наличия новой версии программы. Если имеются непрочитанные новости, то отображается красный значок.

Окно "Управление сервером"

В этом окне можно: 

- управлять службами сервера LibaBook; 

- управлять пользователями и сетевыми БД расположенными на сервере; 

- просматривать активные подключения пользователей к БД; 

- управлять общим серверным чатом;

Окно "Сохранить / Открыть фильтр"


Окно "Создание онлайн-каталога"

Для открытия окна необходимо:

1. Открыть вкладку "Статистика".

2. Выбрать нужный отчёт и нажать кнопку "Сформировать результат отчёта".

3. В открывшейся вкладке "Результат отчёта", нажать кнопку "Создать онлайн каталог по таблице отчёта...".