Разработка плагина для файлового менеджера elFinder
Прислано: Troex
вт, 18/05/2010 - 14:41
Здравствуйте, сообщество!
Я являюсь одним из разработчиков файлового менеджера elFinder, данный продукт наверняка может заинтересовать многих, особенно если представить его в качестве плагина/модуля. Хочу обратиться с просьбой к сообществу, если среди вас есть заинтересованные и готовые поучаствовать в разработке, пишите сюда или на форум проекта.
- Troex's blog
- Для комментирования войдите или зарегистрируйтесь
Мне почему-то казалось, что такие вещи на flash связке предпостительнее
- Для комментирования войдите или зарегистрируйтесь
subscribed
- Для комментирования войдите или зарегистрируйтесь
Суперски. Красиво, аккуратно.
Как насчет интеграции в друпал? Могу с этим помочь, правда только по выходным как освобожусь.
- Для комментирования войдите или зарегистрируйтесь
На сколько я знаю в drupal нет какого-либо штатного файлового менеджера. Подскажите как вообще реализовывать плагин, где он должен появиться и есть ли возможность его интегрировать с текстовым редактором.
Извинияюсь если спросил что-то совсем очевидное, сам я дела с Drupal никогда не имел и хочу собрать заранее максимум информации прежде чем взяться за работу.
- Для комментирования войдите или зарегистрируйтесь
Troex для примера можно посмотреть на файловый менеджер
IMCE
- Для комментирования войдите или зарегистрируйтесь
Глянул IMCE и WebFM - остался в полном УЖОСЕ, надо писать плагин однозначно. У IMCE есть примеры как интегрировать в разные editor'ы а у WebFM как работает со стандартным вводом текста - это уже хорошо.
Ещё один вопрос, elFinder требует чтобы POST запрос обрабатывался на его стороне и чтобы параметры по GET передавались тоже ему, не будет ли это проблемой?
- Для комментирования войдите или зарегистрируйтесь
Появился plugin под drupal6 http://sourceforge.net/projects/drupal-elfinder/
- Для комментирования войдите или зарегистрируйтесь
Сам js-плагин не должен идти вместе с модулем друпала, он должет скачиваться пользователем отдельно от модуля. Для таких случаев есть папка sites/all/libraries. Т.е. пользователь сначала скачивает модуль друпала, а потом js-плагин. Таковы требования для размещения модулей в официальный репозиторий, если вы хотите чтобы ваш модуль там оказался. И пропустите код через модуль Coder, он вам должен показать ошибки в coding-style.
- Для комментирования войдите или зарегистрируйтесь
Сам js-плагин не должен идти вместе с модулем друпала, он должет скачиваться пользователем отдельно от модуля. Для таких случаев есть папка sites/all/libraries. Т.е. пользователь сначала скачивает модуль друпала, а потом js-плагин. Таковы требования для размещения модулей в официальный репозиторий, если вы хотите чтобы ваш модуль там оказался. И пропустите код через модуль Coder, он вам должен показать ошибки в coding-style.
Спасибо, в ближайшем времени так и будет.
- Для комментирования войдите или зарегистрируйтесь
ждём кнопку для BUEditor - народный редактор :)
- Для комментирования войдите или зарегистрируйтесь
Обновил модуль. Добавлена поддержка TinyMCE и FCKeditor, библиотека перемещена в sites/all/libraries/elfinder.
http://sourceforge.net/projects/drupal-elfinder/files/elfinder-6.x-0.2.tar.gz/download
- Для комментирования войдите или зарегистрируйтесь
ждём кнопку для BUEditor - народный редактор :)
А у него есть возможность переопределить кнопку после загрузки (или непосредственно перед загрузкой) редактора?
Пока все что видел - нужно лезть в настройки модуля и добавлять код кнопки вручную.
- Для комментирования войдите или зарегистрируйтесь
Очень Хороший редактор и менеджер
Как идут дела с модулем?
надо его интегрировать в http://drupal.org/project/wysiwyg
- Для комментирования войдите или зарегистрируйтесь
Новая версия модуля.
- Добавлена поддержка BUEditor
- Поддержка локализации
- Может работать отдельно просто как файловый менеджер без редактора
Скачать как всегда можно на SF
http://sourceforge.net/projects/drupal-elfinder/files/elfinder-6.x-0.3.1.tar.gz/download
В будущем, возможно появится и на drupal.org.
- Для комментирования войдите или зарегистрируйтесь
при попытке включить модуль
elFinder library was not found. Please download it from ELFINDER_DOWNLOAD_URL and install to ELFINDER_LIB_PATH. (Сейчас используется elFinder Not found)
сам elFinder есть, скопирован в sites/all/libraries/elfinder
- Для комментирования войдите или зарегистрируйтесь
elfinder.install попробуй убери
"ELFINDER_DOWNLOAD_URL" и "ELFINDER_LIB_PATH" прямо в таком виде и выводятся (должны быть значения констант)? Какая версия Drupal, php? В лог сервера какие ошибки/предупреждения выдает?
- Для комментирования войдите или зарегистрируйтесь
без elfinder.install включилось, но кнопка browse в bueditor 2.1 не выводится (в диалоге вставки изображения).
"ELFINDER_DOWNLOAD_URL" и "ELFINDER_LIB_PATH" так и выводятся текстом.
drupal 6.19, php 5.2.8, лог чист
- Для комментирования войдите или зарегистрируйтесь
Модуль Wysiwyg BUEditor (wysiwyg_bueditor) стоит? Если он не стоит - кнопка показываться не будет - пока поддерживаются только работающие через wysiwyg редакторы.
Модуль для работы через wysiwyg: http://drupal.org/files/issues/wysiwyg_bueditor.zip
Подправил инсталлер, потести пожалуйста.
http://sourceforge.net/projects/drupal-elfinder/files/elfinder-6.x-0.3.1.tar.gz/download
- Для комментирования войдите или зарегистрируйтесь
да, теперь всё ок, только в опере 10.61 вылазят дефолтные булеты у списка
- Для комментирования войдите или зарегистрируйтесь
Попробуй в elfinder.css поменять правило:
.el-finder-nav ul li {
background:none;
clear:both;
padding:0;
margin:0;
}- Для комментирования войдите или зарегистрируйтесь
День добрый.
Проинсталировал модуль, скопировав предварительно elfinder-1.1 в sites/all/libraries/elfinder
Захожу в CKeditor, admin/settings/ckeditor/edit/Advanced FILE BROWSER SETTINGS, там есть только CKfinder и IMCE.
Как прикрутить elfinder к ckeditor?
- Для комментирования войдите или зарегистрируйтесь
Приветствую.
Модуль сейчас поддерживает редакторы только через модуль wysiwyg. Судя по описанию, используется модуль ckeditor, его поддержки пока нет.
Внесу в todo, со временем добавлю или пришлю патч разработчику модуля.
Сейчас для работы из редактора нужно:
- Поставить модуль wysiwyg
- Поставить модуль elfinder
- Поставить ckeditor в sites/all/libraries/ckeditor (модуль ckeditor держит файлы редактора в другом месте)
- Настроить профили ckeditor в модуле wysiwyg, здесь в кнопках необходимо поставить галочку на elFinder
- При редактировании страницы нажимаем в ckeditor стандартную кнопку вставки изображения
- В диалоге около url изображения должна появиться кнопка Browse Server - при ее нажатии вызывается elFinder
Возможно, потребуется отключить модуль ckeditor, если он будет конфликтовать с wysiwyg.
- Для комментирования войдите или зарегистрируйтесь
Благодарю!
Ckeditor отключил, все заработало, он перебивал wysisyg
- Для комментирования войдите или зарегистрируйтесь
Модуль прошел цензуру и доступен на drupal.org:
http://drupal.org/project/elfinder
Не обошлось без новых фичей
Добавлена поддержка новых редакторов:
Включена поддержка архиваторов (была отключена из-за паранои :)
Менеджер теперь доступен в меню админки (admin/content)
Прочее:
- Теперь работает при отключенных ЧПУ (т.е. ?q=...)
- В BUEditor добавляются размеры картинки
- Убрано предупреждение об отсутствии временной зоны по умолчанию в php 5.3
- Модуль запустится на Drupal 7, если в elfinder.info поменять 6.x на 7.x. Позднее будет официальный релиз для 7.x
- Для комментирования войдите или зарегистрируйтесь
Великолепный файловый менеджер. Очень долго надстраивал IMCE(rename,mkdir,swfupload), но у вас получилось комплексное решение. Жаль, что нет flash-загрузчика.
И хотелось бы настройки модуля, и в них была галочка: вставлять относительный/абсолютный путь к файлу. Иначе приходится править код.
Лично столкнулся с проблемами при установке:
1. необходимо отключать IMCE(это само собой подразумевается, но новичкам будет полезно).
2. Отключить вывод Debug модуля.
- Для комментирования войдите или зарегистрируйтесь
Великолепный файловый менеджер. Очень долго надстраивал IMCE(rename,mkdir,swfupload), но у вас получилось комплексное решение. Жаль, что нет flash-загрузчика.
И хотелось бы настройки модуля, и в них была галочка: вставлять относительный/абсолютный путь к файлу. Иначе приходится править код.
Лично столкнулся с проблемами при установке:
1. необходимо отключать IMCE(это само собой подразумевается, но новичкам будет полезно).
2. Отключить вывод Debug модуля.
Спасибо за отзывы, в новых версиях будет реализовано.
Страница конфигурации появится в ближайшем релизе.
Про Debug можно по-подробнее? Знаю что в лог сервера вывод от exec идет, пока не нашел способа вырубить.
- Для комментирования войдите или зарегистрируйтесь
Тьфу. Отключить debug информацию devel-модуля. Необходимо убирать такие галочки как: Display page timer, Display memory usage и т.д.
т.к. при открытии окна файлового менеджера делается GET-запрос к elfinder/connector
в результате приходит неверный JSON-ответ, следовательно отображается надпись "Некорректный ответ от сервера!". В целом, devel-модуль используется при разработке, но мало ли какие еще модули любят прицепляться к ответам от сервера.
Пример ответа, причина в самом конце:
{"disabled":[],"params":{"dotFiles":false,"uplMaxSize":"2M","archives":["application\/x-tar","application\/x-gzip","application\/x-bzip2"],"extract":["application\/x-tar","application\/x-gzip","application\/x-bzip2"],"url":"\/gordk\/sites\/default\/files\/"},"cwd":
..... часть кода вырезано....
{"hash":"4059166315877bd6ad0280f6ec36d9ee","name":"stories","read":true,"write":true,"dirs":[]},{"hash":"8e128e3b50fef1284db2b8975c7e3902","name":"untitled folder","read":true,"write":true,"dirs":[]}]}}<div class="dev-timer"> Page execution time was 508.89 ms. </div>- Для комментирования войдите или зарегистрируйтесь
Тьфу. Отключить debug информацию devel-модуля. Необходимо убирать такие галочки как: Display page timer, Display memory usage и т.д.
т.к. при открытии окна файлового менеджера делается GET-запрос к elfinder/connector
в результате приходит неверный JSON-ответ, следовательно отображается надпись "Некорректный ответ от сервера!". В целом, devel-модуль используется при разработке, но мало ли какие еще модули любят прицепляться к ответам от сервера.
Пример ответа, причина в самом конце:
Спасибо за детальный анализ!
Знаю эту проблему. Пару недель назад эта причина заставила полчаса решать головоломку 'а почему раньше работало'. Вообще, это проблема модуля devel - он не должен так в js лезть. Проблема судя по всему достаточно известная и решать ее не планируют http://drupal.org/project/issues/devel?text=json&status=All
UPD: Отключение несовместимых опций devel, предупреждение при включенном IMCE и выбор относительного/абсолютного путей доступны в новой ночной сборке http://drupal.org/node/937312
Жду feedback
- Для комментирования войдите или зарегистрируйтесь
Предупрежден - значит вооружен. Жду новых фишек :) А редактор elrte планируется внедрять в Drupal?
- Для комментирования войдите или зарегистрируйтесь
У меня валяется заготовка модуля добавляющего его в Wysiwyg, редактор запускается, привязывается к editor area, но измененный код при submit в форму не передает. Пока не знаю как побороть, т.ч. практической пользы от него сейчас никакой. Плюс там есть проблемы с выпадающими списками в панели elRTE.
- Для комментирования войдите или зарегистрируйтесь
feedback:
Настройками доволен, спасибо :) Но как выяснилось относительный/абсолютный путь не работает, т.к. необходимо учитывать сохраненные настройки в файле elfinder.module. 609 строка.
Дефайн VERSION у меня установлен в 6.19 .
Следующее условие устанавливает неправильный menu path.
if(VERSION > 6) { $settings_index = 'admin/config/elfinder'; }
А настройки у меня находятся в admin/settings . Возможно, стоит поменять условие, если оно рассчитано на 7 ветку.
Остальное проверю позже. :)
P.S.> Лучше бы разнести код для 6 и 7 ветки друпала в разные модули.
- Для комментирования войдите или зарегистрируйтесь
Большое спасибо! Сразу видно, профессиональный разработчик за дело взялся :)
Исправил в dev версии. Насчет разделения кода согласен, что так будет правильнее, но пока мне физически тяжело вести параллельно 2 ветки. Через какое-то время после выхода стабильного D7 буду думать над этим вопросом.
- Для комментирования войдите или зарегистрируйтесь
Здравствуйте Уважаемые!
Попробовал поставить на 7-ку, но ничего не вышло.
Описываю что имеем:
elFinder
Bueditor
Wysiwyg
Может еще чего-то не хватает?
В настройках Wysiwyg есть перечисление поддерживаемых модулей - видимо дело в том, что Bueditor не поддерживается ((
- Для комментирования войдите или зарегистрируйтесь
BUEditor устроен так, что им поддерживается только один менеджер - imce и автор категорически отказывается добавлять хук, позволяющий использовать другой менеджер для кнопки Browse. Поэтому приходится постоянно заниматься хаками, которые могут перестать работать в других версиях.
Скоро выложу новую dev версию с восстановленной поддержкой BUEditor.
Также сдвинулась с мертвой точки поддержка elRTE. На сегодняшний день есть альфа-версия elRTE для интеграции в wysiwyg:
http://drupal.org/node/896960#comment-4130782
- Для комментирования войдите или зарегистрируйтесь
Мужики... коротко... приятно что дело идет... попробую, посмотрю, ну и ... по любому респект!
- Для комментирования войдите или зарегистрируйтесь
В сборке от 13 марта восстановлена поддержка BUEditor. Редактор теперь поддерживается как в составе wysiwyg (вместо модуля wysiwyg_bueditor теперь нужно применять патч http://drupal.org/node/429684#comment-3677486), так и как отдельный модуль.
http://drupal.org/project/elfinder
- Для комментирования войдите или зарегистрируйтесь
Файловый менеджер - отличный! Честно.
Но да - плохо, что в модуль ckeditor штатно не интегрируется.
(Я, кстати, кое-как умудрился привязать к ckeditor: http://www.drupal.ru/node/60796
Может, кому пригодится.)
И ещё: нужно таки сделать user role permissions на доступ к папкам.
Минимум - хотя бы возможность указать root папку для каждой роли.
А в идеале - набор папок для каждой роли (как в IMCE).
А то мне пока пришлось дописать к вашему модулю вот такую штуку (для одного заказа):

(Клик для увеличения)
- Для комментирования войдите или зарегистрируйтесь
Поддержка elFinder добавлена в модуль CKEditor в феврале. Сейчас должна быть в стабильных версиях 6.x-1.3 и 7.x-1.1.
Права доступа - одна из самых популярных фичей, продумываю вариант реализации.
- Для комментирования войдите или зарегистрируйтесь
Поддержка elFinder добавлена в модуль CKEditor в феврале. Сейчас должна быть в стабильных версиях 6.x-1.3 и 7.x-1.1.
Отлично! Я, видимо, как-то "прохлопал" это событие.
И ещё хотел сказать. Это важно. По умолчанию заливаемые в sites/all/libraries необходимые компоненты менеджера содержат помимо кода ещё и демо-файлы, как бы иллюстрирующие механизм подключения к коннектору с помощью js:
/sites/all/libraries/elfinder/elfinder.php.html
/sites/all/libraries/elfinder/src/elfinder-src.php.html
Если про них не знать, то можно оставить что-то вроде дыры на сайте. Ведь получается, что в демо-папку можно залить любой файл PHP, а потом выполнить его. И про это нигде не написано.
Мне кажется, нужно как-то указать в README модуля, что эти файлы нужно удалить перед "боевой" эксплуатацией. Или как-то ещё (например, из модуля) извещать пользователя о том, что файлы должны быть обязательно удалены.
Либо тогда в опциях коннектора (и в основном, и в /src) запретить по умолчанию загрузку .php и .py файлов. А вообще - лучше убрать эти демки после установки, имхо.
- Для комментирования войдите или зарегистрируйтесь
Вот ещё насчёт этого:
Попробуй в elfinder.css поменять правило:
.el-finder-nav ul li {
background:none;
clear:both;
padding:0;
margin:0;
}
У меня под FF 3.x тоже появляются "кружочки"-маркеры в li (если смотреть из админки под темой Garland - т.е. admin/content/files). И margin/padding присутствуют.
Долго ломал голову - почему? Ведь в elfinder.css описано правило, запрещающее вывод маркеров
Потом понял, в чём дело.
В начало elfinder.css добавлен как бы комментарий-сигнатура:
// $Id: elfinder.css,v 1.1 2010/10/06 09:44:51 ph0enix Exp $
Обратите внимание на способ записи комментария: // вместо стандартного для CSS /* */
Из-за этого браузер считает этот комментарий началом описания класса. Таким образом первое после этого комментария описание CSS-класса просто не обрабатывается.
В общем, нужно убрать комментарий или изменить на /* */
- Для комментирования войдите или зарегистрируйтесь
И ещё :-)
Мне кажется, стоит сделать конфигурируемыми названия таких вещей, как "корневая" папка (сейчас как бы "Главная") и название ссылки на elFinder в меню (Сейчас "Files").
Для корневой папки уместнее всего, имхо, будет "Начало".
- Для комментирования войдите или зарегистрируйтесь
+1 насчет per role permissions на доступ к папкам, именно это пока сдерживает от использования этого модуля, т.к. не хочу давать младшим редакторам права колупаться во всех папках сайта.
И было бы отлично, если б функционал создания тумбнелов и превьюшек отдали модулю ImageCache, все-таки у него больше фич по настройке создания тумбнелов...
- Для комментирования войдите или зарегистрируйтесь
И было бы отлично, если б функционал создания тумбнелов и превьюшек отдали модулю ImageCache, все-таки у него больше фич по настройке создания тумбнелов...
Вот тут я против. Устанавливать ещё один модуль только для миниатюрок - это уж слишком. Это ж файловый менеджер, не галерея.
Так, как есть - нормально, имхо.
Только единственное замечание: папка .tmb всегда создаётся в каталоге, определённом как root для галереи в настройках. Если я меняю корневую папку (например на вложенную) - то внутри создаётся уже новая папка .tmb (старая при этом не удаляется). И бывает, что миниатюрки дублируются в обеих папках.
Нужен ли такой расход места? Лучше, по-моему, держать их в одной папке - опять таки добавить ещё одну опцию в настройки elFinder, где можно было бы указать - в какой именно. Либо принудительно создавать её в корне файловой системы Друпала.
PS. Вообще - я обратил на это внимание, когда прикручивал к модулю простейший механизм role permission на доступ к папкам (я уже где-то писал выше). Работать-то всё работало, но при этом для каждой роли создавалась своя папка .tmb. Админ (имеющий доступ к верхнему корню, и походивший раз-другой по вложенным папкам) получал в папке .tmb все копии миниатюрок из вложенных. Ничего страшного, конечно, но как бы и не нужный расход места...
- Для комментирования войдите или зарегистрируйтесь
И ещё одно пожелание.
Неплохо бы иметь где-то кнопку "Скопировать URL файла в буфер".
Сейчас довольно длинный путь: сначала выбрать "Свойства", открывается диалог, потом вручную копировать URL картинки/файла. Не совсем удобно.
- Для комментирования войдите или зарегистрируйтесь
Поздравляю с выходом elFinder 2.0 beta. Как скоро ожидается его поддержка для
wysiwyg ?
- Для комментирования войдите или зарегистрируйтесь
elFinder 2.0 очень вкусный. ещё бы в модуле реализовать функционал кнопки "Отправить на сервер" и про CKFinder можно забыть как о страшном сне.
- Для комментирования войдите или зарегистрируйтесь
Не корректно работает в связки 7ке + wysiwyg + CKEditor.
Загружается но без оформления.
- Для комментирования войдите или зарегистрируйтесь
Загружается но без оформления.
Та же проблема.
Как временное решение попробуйте отключить объединение CSS файлов.
- Для комментирования войдите или зарегистрируйтесь
Поздравляю с выходом elFinder 2.0 beta. Как скоро ожидается его поддержка для wysiwyg ?
Модуль интеграции 2.0 (равно как и сам 2.0) находится в разработке. Сейчас все силы направлены на реализацию наиболее запрашиваемых фич:
1. Интеграция с файловой таблицей Drupal
2. Разграничение доступа к файлам
3. Поддержка профилей конфигурации
По срокам не хочу ничего обещать. Разрабатываемая версия будет выложена как только будет завершена разработка новой админской части.
- Для комментирования войдите или зарегистрируйтесь
Загружается но без оформления.
Та же проблема.
Как временное решение попробуйте отключить объединение CSS файлов.
Тут по-моему нашли решение проблемы. http://drupal.org/node/1297686. Там 2 файла elfinder.css - один в составе библиотеки, другой в составе модуля. И при объединении похоже берется содержимое только одного.
- Для комментирования войдите или зарегистрируйтесь












Комментарии