На самом деле это нетривиальная задача. С одной стороны, на стороне фронтенда нужно обрабатывать множество случаев. Я до сих пор не реализовал все из них для этого плагина. Как вы видите, возможность откатов изменений всё ещё в списке задач. Затем возникает вопрос сохранения данных и того, разумно ли использовать Plugin Store или нет. Эта тема обсуждается в этой ветке:
Я также написал этот плагин, потому что хотел понять, могут ли настоящие таблицы принести значительную пользу. Вся эта логика зависимостей и проверка ошибок на бэкенде с откатом изменений, если это просто «сухой» тест, были бы невозможны при использовании только Plugin Store. Я считаю, что здесь есть компромисс. Для некоторых случаев использования Plugin Store достаточно. Но я думаю, что для более сложных задач без «настоящих» таблиц не обойтись. Я также хочу написать статью в блоге об этом, когда немного больше изучу вопрос. Если посмотреть на это более абстрактно, то наша цель — использовать Discourse для коллективного редактирования структурированных данных. В данный момент действительно сложно «просто добавить» пользовательское поле к сообщению или теме, но, я думаю, это можно облегчить. Ещё одна вещь, которую я хочу сделать, — полностью убрать редактор композера и использовать тему только для ввода данных. Не знаю, к чему это приведёт, но вот некоторые размышления: Why not create an OPEN SOURCE platform dedicated to open source drug discovery ? · Issue #581 · OpenSourceMalaria/OSM_To_Do_List · GitHub
Возможно, эти два типа плагинов можно также объединить, как я объясняю в этой задаче на GitHub. То есть ввод данных происходит в темах, где нет обычного редактора d-editor, а есть специализированный редактор для ввода данных, а затем эти данные ссылаются в темах, где всё ещё используется d-editor. Эти другие темы также могут иметь дополнительные поля, как в этом плагине управления проектами.
Воспринимайте всё это с долей скептицизма, так как у меня пока не было времени как следует это протестировать. Я напишу подробную статью об этом, когда вернусь из отпуска ![]()