Всем привет!
Мы (компания "КвадроСистемс") готовы реализовать API серверного хранилища, принцип работы которого схож с API MyBB (пост 124).
Ниже драфт.
Как это будет выглядеть для разработчиков
— разработчикам (скриптерам сообщества) будет предоставлена js-библиотека для работы с данными. Дистрибуция библиотеки будет осуществляться через Лабораторию Qboards. Это значит, что разработчики смогут писать скрипты, приложения и модули для форумов используя постоянное надежное хранилище данных на стороне сервера с возможностью кеширования данных в локальном хранилище браузера. Разработчикам будет предоставлена возможность делать операции чтения данных, записи, удаления и обновления без использования сторонних ресурсов и мощностей, полагаясь только на любимый JavaScript и не задумываясь о поддержке серверных ресурсов.
Как это будет выглядить для пользователей
— конечный продукт (скрипт/модуль/приложение) администратор форума находит на этом форуме, вставляет у себя на форуме и все заводится. Чтобы все скрипты и модули работали, админу нужно добавить форум в Лабораторию (один раз).
Что можно будет делать с помощью серверного хранилища
— Операции чтения данных
— Операции добавления, обновления или удаления данных.
Чтобы не заморачиваться над лишней работой проверки токенов, отправки запросов на сервер и чтении результатов, мы предоставим готовую библиотечку, которая позволит выполнять все эти данные незаметно для разработчиков. Все запросы будут строго асинхронным.
Пример записи (можно передать строку, число или массив):
LabStorage.set('key', 'value', function(result){ result == 'ok' && alert('Данные сохранены'); });
Пример чтения:
LabStorage.get('key', function(data){ alert(data); // value });
Это позволит использовать в качестве хранилища данных не форум (как это делается сейчас), а более быструю среду. При острой необходимости мы сможем добавить некоторые методы для работы с самим форумом, например, для получения данных пользователя (если необходимо узнать данные пользователя по его ID или логину: id, login, avatar, groupId, lastvisit, etc.) или отправить быстрое уведомление. Именно для этого и нужно подключение через Лабораторию.
Так же, если это необходимо, можно сделать так, чтобы созданный ключ мог изменяться только администратором, какой-то конкретной группой или конкретным пользователем. Так, например, разработчик сможет описать схему при первом запуске приложения, которая от лица главного администратора форума создаст все нужные поля, заполнит начальные данные, раздаст права — и скрипт будет готов к безопасной эксплуатации.
Резюме
Так как скриптеров у нас 3.5 человека, хотелось бы услышать нужна ли вам подобная реализация, что вы реально готовы разрабатывать и какие пожелания/доработки/уточнения нужны в данном сервисе.
Прошу также в данной теме не флудить, придерживаться темы топика и привлекаю к обсуждению исключительно разработчиков со своими пожеланиями и знаниями.