Онлайн - на клиенте добавляются данные, которые сразу же загружаются на сервер.
Оффлайн - на клиент добавляются данные, потом клиент подключается к интернет и синхронизируется с сервером.
А я про генерацию файла не писал. Я имел ввиду, что будет одна таблица "Услуги" с полями "Наименование", "Описание". В поле "Описание" будет сохраняться json текст, который сформируется при помощи визуального конструктора.
да, вот как вариант! не писать json в текстовом редакторе, а сделать некий визульный конструктор, который будет строить json. Тогда контент менеджеру не придется руками писать. Тогда мы приходим к варианту, что куча таблиц не нужна. нужно написать конструктор для json, а после нажатия кнопки код json будет сохраняться в текстовом поле.
Представьте, каким будет SQL запрос для формирования json. Даже если составлять запрос на уровне приложения через модель услуги. И какая будет скорость рендеринга страницы с формой услуги. Фронт будет ожидать json описания, потом парсить и формировать html. Может я сгущаю краски, и, как говорится, глаза боятся, а руки делают :). Просто я хотел избежать кучи служебных таблиц. Думал, может более изящное решение есть.
для любой админки нужна инструкция + тренинг. даже если я покажу менеджеру форму из 5 полей вместо текстового поля с json, вряд ли он сразу поймет как описывать услугу. И потом поля могут быть не простыми: например, поле выбора срока выполнения с соответствующей стоимостью. Это еще одну таблицу для таких полей делать, или в описании поля значения через запятую прописывать?
Вот например,
{
title: "Кадастровый паспорт",
deadline:
title: "Срок выполнения",
type: "select",
select: [{
title: "В течении суток",
price: 500
},
{
title: "В течении часа",
price: 1700
}]
...
}
Как такое свойство уложить в таблицы? Причем это свойство является зависимостью для расчета стоимости.
> А если понадобится новая услуга, то программно менять файл json?
В том то и дело, что не надо лазить в код. json описание хранится в поле модели "Услуга" в базе данных. И меняется как текст через админку. Надо новую услугу внести, зашли в админку, создали новую запись в БД: заголовок "Выписка ЕГРЮЛ", описание "{fields: [{title: "ИНН", name: "inn", type: "string", size: "12"}, {...}]}"
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.