Как добавить edit-слой в качестве Plack-middleware? - PullRequest
1 голос
/ 09 октября 2011

У меня есть идея добавить слой редактирования на сайт как промежуточное ПО Plack .

Объяснение: скажем, мы создаем веб-сайт, основанный на некоторых фреймворках, шаблонах и CSS (запрашивая его как /some/page).Теперь мы можем создать промежуточное программное обеспечение, чтобы при каждом запросе к страницам, начинающимся с adm (например, /adm/some/page), отображалась одна и та же страница, но при этом добавлялся слой для редактирования контента.Таким образом, мы могли бы легко просматривать и использовать страницу, как это делают посетители, но двойным щелчком мыши на элементе уровня блока мы могли изменять или добавлять контент.Поэтому промежуточное ПО должно связывать определенные блочные элементы с определенными событиями (двойной щелчок) и также устанавливать обработчики (с некоторой библиотекой Javascript).

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

1 Ответ

1 голос
/ 11 октября 2011

Ты мог бы сделать это, но я не думаю, что ты хочешь сделать это. Насколько я понимаю, предполагается, что Plack :: Middleware являются общими, а внедрение CMS в качестве промежуточного программного обеспечения в виде стека ограничивает возможности его повторного использования, и это неуместно, и между промежуточным программным обеспечением и CMS нет никакой внутренней связи.

См. Эти примеры Plack::Middleware::OAuth, Plack::Middleware::Debug, Plack::Middleware::iPhone, Plack::Middleware::Image::Scale, Plack::Middleware::HTMLMinify

Было бы тривиально добавить фильтр промежуточного программного обеспечения для вставки формы в html на основе /adm/ или /admin/ или чего-либо еще ... и сопоставление URL-адреса с отправкой будет сильно зависеть от базовой модели / представления CMS / controller Framework, поэтому такие инфраструктуры, как Catalyst, Mojolicious и другие, уже предоставляют эту функцию

См. http://advent.plackperl.org/2009/12/day-23-write-your-own-middleware.html По сути, я думаю, что это работа для представления / контроллера вашего приложения, плагин, а не оболочка для вашего приложения (промежуточное ПО)

Я знаю, что моего объяснения не хватает, но, надеюсь, вы поймете мой дрейф

...