Для опытных пользователей командная строка нередко быстрее и удобнее, чем графический интерфейс. У некоторых CMS есть зачатки консолей. Например, в администраторском разделе может быть окошко для исполнения SQL-запросов.
Мне кажется интересной идея развитой консоли для управления сайтом. Работать она может в браузере. Уместным будет AJAX. А может лучше сразу в shell?
По-моему на задачах вроде настройки меню можно получить колоссальный выигрыш во времени. Вместо создания пунктов, вкладывания их друг в друга, сортировки при помощи мыши достаточно будет писать несложные команды.
Удобно было бы задавать параметры модулей, раздавать права доступа, перестраивать кеш и поисковый индекс.
Может видели что-нибудь подобное? Интересно было бы посмотреть «вживую».
Комментарии
Uznick, 20.03.2008 17:26
> По-моему на задачах вроде настройки меню можно получить колоссальный
> выигрыш во времени. Вместо создания пунктов, вкладывания их друг в друга,
> сортировки при помощи мыши достаточно будет писать несложные команды.
А зачем? Все радостно кричат, что cms делаются для простых пользоваталей, а не для программистов. А простой пользователь не будет пользоваться консолью, ему проще и очевиднее мышкой перетащить пункты.
Дмитрий Сергеев, 20.03.2008 20:27
>> Все радостно кричат, что cms делаются для простых пользоваталей...
Я не кричу :)
CMS CMF рознь. Блоговому движку консоль может и не нужна, а сложному продукту пригодится. Командная строка мне видится в качестве вспомогательного средства для разработчиков и администраторов больших сайтов.
Роман Настенко, 20.03.2008 18:04
Консоль ЖЖ, очень удобна для массовых операций:
http://www.livejournal.com/admin/console/
Дмитрий Сергеев, 20.03.2008 20:29
>> Консоль ЖЖ...
Спасибо за пример, я не знал про такую штуку.
SHAman, 20.03.2008 18:11
Вообще, согласен с Uznick. Консоль требует хоть какой-то соображалки относительно того, что ты делаешь. Если обратиться к вашему примеру с SQL, можно понять, что обычный пользователь делать этого не будет. А программер сделает по-умному:)
Хотя, согласен, иногда нехватает возможности через веб-интерфейс что-то такое сделать. Одну выборочку или шаблончик изменить... Скорее даже просто выборочку нестандартную.
В принципе, консоль для SQL была бы неплоха. Но только для ограниченного числа пользователей CMS. То есть, как плагин.
Дмитрий Сергеев, 20.03.2008 20:32
Конечно, как добавка к админке. GUI пусть остается. А специалистам, которым важна производительность труда, консольку в самый раз.
Речь не идет об обычных пользователях.
Никита Козин, 21.03.2008 08:46
Поддерживаю, для редакторов сайта консоль не нужна, а вот для администратора, который технической стороной занимается — была бы полезной.
Дмитрий Сергеев, 20.03.2008 20:32
Обычные пользователи и в ОС командной строкой не пользуются.
Зимин Дмитрий, 20.03.2008 20:07
Чтобы пользоваться консолью с той же легкостью, что и в *nix, нужно чтобы у CMS была столь же фантастическая архитектура. Пока архитектура CMS, не говоря уже об их удобстве, оставляет желать лучшего.
Дмитрий Сергеев, 20.03.2008 20:39
У Drupal архитектура как раз позволяет прикрутить консоль. Есть даже проект под названием Drupal Shell, позволяющий, например, через CLI устанавливать модули. Они, по-моему, сами скачиваются из главного репозитария и сами распаковываются.
Но это не совсем то, о чем я говорю. Мне, прежде всего, интересно конфигурирование движка из командной строки и администрирование сайта.
СГДС, 29.03.2008 19:16
а по-моему drush это позволяет всё делать. Хотя сам его не использовал, но когда почитал доки на английском, идеи понравились но сильно наворочено сейчас для меня.
Konstantin, 20.03.2008 20:26
Что-то типа консоли, которая есть например в жж?
Я вот только её не смотрел дальше бана юзеров и было это давно, так что по поводу функционала не уверен.. конечно до правки меню, шаблонов и тд она не доходит, но думаю некоторую часть данной идеи воплощает :)
Константин Тумалевич, 20.03.2008 21:43
В фреймворке Ruby on Rails в любом проекте есть консоль ... есть даже вроде какой-то плагин позволяющий ей пользоваться в браузере ...
Дмитрий Сергеев, 21.03.2008 12:36
Я почитал, по-моему мощная штука.
...you can inspect domain models, change values, and save to the database...
...you can get a full trace of anything...
Интересно, ей кто-нибудь пользуется?
Kyxa, 22.03.2008 11:49
Ага, я с django разбирался - там тоже такая вещь есть.
Действительно, с ней удивительно удобно разрабатывать и тестить модельки получается :)
Виктор, 21.03.2008 09:59
Типовые действия, которые совершает редактор сайта, удобнее сделать в привычном гуй-режиме с отдельной админкой, либо, если позволяет архитектура, модным inplace редактированием. Консоль же для администратора (человека с достаточным уровнем технических знаний) вполне может существовать, но необходимости в ее web версии я лично не вижу. Разумнее использовать возможности того же bash completion для создания удобного иструмента, чем изобретать что то яваскриптовое. Пожалуй единственная консолька на жаваскрипте достойная внимания -
http://base2.googlecode.com/svn/trunk/src/apps/MiniWeb/MiniWeb.html , но она как раз частично эмулирует поведение юниксового шела.
Дмитрий Сергеев, 21.03.2008 13:00
Интересно, что получится, если делать CMS, глядя на нее, как на юниксовое приложение. Развертывание из командной строки шела, какое-то конфигурирование, администрирование. Поищу.
Виктор, 21.03.2008 13:04
http://code.djangoproject.com
http://turbogears.org/
http://trac.edgewall.org
все питон фрэймворки это дело очень любят.
Andrey, 21.03.2008 10:36
Думаю что не прокатит. Обычно наполнением и администрацией сайта занимаются далёкие от технологий люди, которые обучены нажать пару кнопок и выполнить базовые действия.
Консоль для администрации сайта будет требовать более серьёзной квалификации и вряд ли у кого-то будет желание заниматься специальным обучением сотрудников.
Артём Курапов, 21.03.2008 11:56
В своей цмс-ке обошёлся тем, что система запускается через разные интерфейсы.. В том числе и из CLI. Правда приходится вручную подгружать библиотеки mysql/mb_string, но зато можно запускать процессы из crontab минуя wget.
Насчёт SQL-интерфейса тоже есть, но не в открытую, а для SQLyog, что-бы можно было удалённо править базу. Делать ajax-ную консоль в админке небыло нужды. Хотя в принципе идея неплохая иметь аналог консольного управления системой вместо только графического. Вот только какой язык для этого использовать?
Дмитрий Сергеев, 21.03.2008 13:06
>> Хотя в принципе идея неплохая иметь аналог консольного управления системой вместо только графического. Вот только какой язык для этого использовать?
Не знаю :) Чтобы он хорошо поддавался автодополнению.
Спасибо, что рассказал любопытные вещи про свою CMS. Расширяет кругозор.
Kyxa, 22.03.2008 12:15
Интересная идея, нужно прикручивать к своей кмс :)
Думаю сделать следующим образом: вот есть у меня в кмс готовый набор ф-й, который возможно получают какие-либо аргументы. Несколько десятков таких вот ф-й-работников (запустить индексацию сайта, запустить бекап, сделать запрос к базе для получения статистики по ботам и т.д.).
Они есть, и в моей кмс их можно исполнять просто вызывая "правильный" урл. Но все эти ф-ии довольно трудно запомнить, и их можно конечно прикручивать "вручную" (как сейчас и сделано - просто ссылками вызываются ф-ии).
А можно сделать намнооого интереснее :) Аналогично как в сетти - http://www.pixel-apes.com/setty. Как: берем и описываем все ф-ии ключевыми словами. И делаем "горячий" поиск по этим словам.
Т.е. я например ввожу слово "сео", а оно ищет все мои ф-ии, с этим словом связаные - и само мне под них урлы с описаниями формирует (и возможно даже считывает какие "параметры" ф-я может получать и под них поля подготавливает...) - типа "сколько сегодня ботов, сколько сегодня людей с поисковиков, считать и сохранить статистику с аналитикса, показать общую месячную статистику, показать все запросы с конкретного поисковика и т.д.". Причем это можно и в веб-интерфейс вкрутить, и в cli сделать...
Фёдор Двинятин, 25.03.2008 17:33
командная строка в цмс будет, мне кажется, всё равно что графический редактор в браузере - не достаточно ещё юзабельная реализация :)
Lstasss, 27.03.2008 04:18
Писал я в своё время систему для записи на различные проводимые в нашем универе мероприятия (курсы, case'ы и пр).
Писал для своего научного кружка (информатики, само собой). И дописал потом отдельно AJAX на SQL-консоль, очень удобно. Народ SQL знает, пользуются. Всё никак не прикручу к админке =)
А насчёт самой идеи управлять сайтом через консоль... Если это реализуется для себя/разбирающихся и будет удобно - смысл есть. А например добавлять в базовую комплектацию CMS смысла не вижу, ибо рядовой пользователь этим пользоваться не будет.
kodji, 11.04.2008 00:00
Я не знаю как насчет продвинутой консоли, но в своей CMF я всегда даю пользователям уровня разработчика доступ к модулям "Прямой запрос к БД" и модулю, который позволяет оперировать с БД наподобие phpMyAdmin - экономит много времени при разработке новых модулей. Пользователям уровня ниже разработчика такой модуль уже не нужен, имхо.