Разработка плагина для файлового менеджера elFinder

Втр, 18/05/2010 - 14:41

Здравствуйте, сообщество!

Я являюсь одним из разработчиков файлового менеджера elFinder [UPD - по ссылке может быть не соответствующий контент!], данный продукт наверняка может заинтересовать многих, особенно если представить его в качестве плагина/модуля. Хочу обратиться с просьбой к сообществу, если среди вас есть заинтересованные и готовые поучаствовать в разработке, пишите сюда или на форум [UPD - по ссылке может быть не соответствующий контент!] проекта.

0 Спасибо

Комментарии

Аватар пользователя Shift-Web
7 лет 1 month назад Shift-Web #

Мне почему-то казалось, что такие вещи на flash связке предпостительнее

0 Спасибо
Аватар пользователя xxandeadxx
7 лет 1 month назад xxandeadxx #

subscribed

0 Спасибо
Аватар пользователя vgoodvin
7 лет 1 month назад vgoodvin #

Суперски. Красиво, аккуратно.
Как насчет интеграции в друпал? Могу с этим помочь, правда только по выходным как освобожусь.

0 Спасибо
Аватар пользователя Troex
7 лет 1 month назад Troex #

На сколько я знаю в drupal нет какого-либо штатного файлового менеджера. Подскажите как вообще реализовывать плагин, где он должен появиться и есть ли возможность его интегрировать с текстовым редактором.

Извинияюсь если спросил что-то совсем очевидное, сам я дела с Drupal никогда не имел и хочу собрать заранее максимум информации прежде чем взяться за работу.

0 Спасибо
Аватар пользователя xxandeadxx
7 лет 1 month назад xxandeadxx #

Troex для примера можно посмотреть на файловый менеджер  IMCE

0 Спасибо
Аватар пользователя Troex
7 лет 1 month назад Troex #

Глянул IMCE и WebFM - остался в полном УЖОСЕ, надо писать плагин однозначно. У IMCE есть примеры как интегрировать в разные editor'ы а у WebFM как работает со стандартным вводом текста - это уже хорошо.

Ещё один вопрос, elFinder требует чтобы POST запрос обрабатывался на его стороне и чтобы параметры по GET передавались тоже ему, не будет ли это проблемой?

0 Спасибо
Аватар пользователя vgoodvin
7 лет 3 недели назад vgoodvin #

Сам js-плагин не должен идти вместе с модулем друпала, он должет скачиваться пользователем отдельно от модуля. Для таких случаев есть папка sites/all/libraries. Т.е. пользователь сначала скачивает модуль друпала, а потом js-плагин. Таковы требования для размещения модулей в официальный репозиторий, если вы хотите чтобы ваш модуль там оказался. И пропустите код через модуль Coder, он вам должен показать ошибки в coding-style.

0 Спасибо
Аватар пользователя ph0enix@drupal.org
7 лет 3 недели назад ph0enix@drupal.org #
vgoodvin написал:
Сам js-плагин не должен идти вместе с модулем друпала, он должет скачиваться пользователем отдельно от модуля. Для таких случаев есть папка sites/all/libraries. Т.е. пользователь сначала скачивает модуль друпала, а потом js-плагин. Таковы требования для размещения модулей в официальный репозиторий, если вы хотите чтобы ваш модуль там оказался. И пропустите код через модуль Coder, он вам должен показать ошибки в coding-style.

Спасибо, в ближайшем времени так и будет.

0 Спасибо
Аватар пользователя xxandeadxx
7 лет 3 недели назад xxandeadxx #

ждём кнопку для BUEditor - народный редактор :)

0 Спасибо
Аватар пользователя ph0enix@drupal.org
7 лет 2 недели назад ph0enix@drupal.org #
xxandeadxx написал:
ждём кнопку для BUEditor - народный редактор :)

А у него есть возможность переопределить кнопку после загрузки (или непосредственно перед загрузкой) редактора?

Пока все что видел - нужно лезть в настройки модуля и добавлять код кнопки вручную.

0 Спасибо
Аватар пользователя ztime
6 лет 9 months назад ztime #

Очень Хороший редактор и менеджер

Как идут дела с модулем?

надо его интегрировать в http://drupal.org/project/wysiwyg

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 9 months назад ph0enix@drupal.org #

Новая версия модуля.

  • Добавлена поддержка BUEditor
  • Поддержка локализации
  • Может работать отдельно просто как файловый менеджер без редактора

Скачать как всегда можно на SF

http://sourceforge.net/projects/drupal-elfinder/files/elfinder-6.x-0.3.1.tar.gz/download

В будущем, возможно появится и на drupal.org.

0 Спасибо
Аватар пользователя xxandeadxx
6 лет 9 months назад xxandeadxx #

при попытке включить модуль

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

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 9 months назад ph0enix@drupal.org #

elfinder.install попробуй убери

"ELFINDER_DOWNLOAD_URL" и "ELFINDER_LIB_PATH" прямо в таком виде и выводятся (должны быть значения констант)? Какая версия Drupal, php? В лог сервера какие ошибки/предупреждения выдает?

0 Спасибо
Аватар пользователя xxandeadxx
6 лет 9 months назад xxandeadxx #

без elfinder.install включилось, но кнопка browse в bueditor 2.1 не выводится (в диалоге вставки изображения).

"ELFINDER_DOWNLOAD_URL" и "ELFINDER_LIB_PATH" так и выводятся текстом.

drupal 6.19, php 5.2.8, лог чист

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 9 months назад ph0enix@drupal.org #

Модуль 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

0 Спасибо
Аватар пользователя xxandeadxx
1 год 7 months назад xxandeadxx #

да, теперь всё ок, только в опере 10.61 вылазят дефолтные булеты у списка

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 9 months назад ph0enix@drupal.org #

Попробуй в elfinder.css поменять правило:

.el-finder-nav ul li {
        background:none;
        clear:both;
        padding:0;
        margin:0;
}
0 Спасибо
Аватар пользователя Hertzen
6 лет 9 months назад Hertzen #

День добрый.

Проинсталировал модуль, скопировав предварительно elfinder-1.1 в sites/all/libraries/elfinder

Захожу в CKeditor, admin/settings/ckeditor/edit/Advanced FILE BROWSER SETTINGS, там есть только CKfinder и IMCE.

Как прикрутить elfinder к ckeditor?

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 8 months назад ph0enix@drupal.org #

Приветствую.

Модуль сейчас поддерживает редакторы только через модуль wysiwyg. Судя по описанию, используется модуль ckeditor, его поддержки пока нет.

Внесу в todo, со временем добавлю или пришлю патч разработчику модуля.

Сейчас для работы из редактора нужно:

  1. Поставить модуль wysiwyg
  2. Поставить модуль elfinder
  3. Поставить ckeditor в sites/all/libraries/ckeditor (модуль ckeditor держит файлы редактора в другом месте)
  4. Настроить профили ckeditor в модуле wysiwyg, здесь в кнопках необходимо поставить галочку на elFinder
  5. При редактировании страницы нажимаем в ckeditor стандартную кнопку вставки изображения
  6. В диалоге около url изображения должна появиться кнопка Browse Server - при ее нажатии вызывается elFinder

Возможно, потребуется отключить модуль ckeditor, если он будет конфликтовать с wysiwyg.

0 Спасибо
Аватар пользователя Hertzen
6 лет 9 months назад Hertzen #

Благодарю!

Ckeditor отключил, все заработало, он перебивал wysisyg

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 8 months назад ph0enix@drupal.org #

Модуль прошел цензуру и доступен на drupal.org:

http://drupal.org/project/elfinder

Не обошлось без новых фичей

Добавлена поддержка новых редакторов:

Включена поддержка архиваторов (была отключена из-за паранои :)

Менеджер теперь доступен в меню админки (admin/content)

Прочее:

  • Теперь работает при отключенных ЧПУ (т.е. ?q=...)
  • В BUEditor добавляются размеры картинки
  • Убрано предупреждение об отсутствии временной зоны по умолчанию в php 5.3
  • Модуль запустится на Drupal 7, если в elfinder.info поменять 6.x на 7.x. Позднее будет официальный релиз для 7.x
0 Спасибо
Аватар пользователя Mafk@drupal.org
6 лет 8 months назад Mafk@drupal.org #

Великолепный файловый менеджер. Очень долго надстраивал IMCE(rename,mkdir,swfupload), но у вас получилось комплексное решение. Жаль, что нет flash-загрузчика.
И хотелось бы настройки модуля, и в них была галочка: вставлять относительный/абсолютный путь к файлу. Иначе приходится править код.

Лично столкнулся с проблемами при установке:
1. необходимо отключать IMCE(это само собой подразумевается, но новичкам будет полезно).
2. Отключить вывод Debug модуля.

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 7 months назад ph0enix@drupal.org #
Mafk@drupal.org написал:
Великолепный файловый менеджер. Очень долго надстраивал IMCE(rename,mkdir,swfupload), но у вас получилось комплексное решение. Жаль, что нет flash-загрузчика.
И хотелось бы настройки модуля, и в них была галочка: вставлять относительный/абсолютный путь к файлу. Иначе приходится править код.

Лично столкнулся с проблемами при установке:
1. необходимо отключать IMCE(это само собой подразумевается, но новичкам будет полезно).
2. Отключить вывод Debug модуля.

Спасибо за отзывы, в новых версиях будет реализовано.

Страница конфигурации появится в ближайшем релизе.

Про Debug можно по-подробнее? Знаю что в лог сервера вывод от exec идет, пока не нашел способа вырубить.

0 Спасибо
Аватар пользователя Mafk@drupal.org
6 лет 7 months назад Mafk@drupal.org #

Тьфу. Отключить 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>
0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 7 months назад ph0enix@drupal.org #
Mafk@drupal.org написал:
Тьфу. Отключить 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

0 Спасибо
Аватар пользователя Mafk@drupal.org
6 лет 7 months назад Mafk@drupal.org #

Предупрежден - значит вооружен. Жду новых фишек :) А редактор elrte планируется внедрять в Drupal?

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 7 months назад ph0enix@drupal.org #

У меня валяется заготовка модуля добавляющего его в Wysiwyg, редактор запускается, привязывается к editor area, но измененный код при submit в форму не передает. Пока не знаю как побороть, т.ч. практической пользы от него сейчас никакой. Плюс там есть проблемы с выпадающими списками в панели elRTE.

0 Спасибо
Аватар пользователя Mafk
6 лет 7 months назад Mafk #

feedback:

Настройками доволен, спасибо :) Но как выяснилось относительный/абсолютный путь не работает, т.к. необходимо учитывать сохраненные настройки в файле elfinder.module. 609 строка.

$fileurl = url('', array('absolute' => TRUE)) . elfinder_file_directory_path() . '/';

Дефайн VERSION у меня установлен в 6.19 .
Следующее условие устанавливает неправильный menu path.

if(VERSION > 6)
{
 $settings_index = 'admin/config/elfinder';
}

А настройки у меня находятся в admin/settings . Возможно, стоит поменять условие, если оно рассчитано на 7 ветку.

Остальное проверю позже. :)

P.S.> Лучше бы разнести код для 6 и 7 ветки друпала в разные модули.

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 7 months назад ph0enix@drupal.org #

Большое спасибо! Сразу видно, профессиональный разработчик за дело взялся :)

Исправил в dev версии. Насчет разделения кода согласен, что так будет правильнее, но пока мне физически тяжело вести параллельно 2 ветки. Через какое-то время после выхода стабильного D7 буду думать над этим вопросом.

0 Спасибо
Аватар пользователя Vydrin_AP
6 лет 6 months назад Vydrin_AP #

Здравствуйте Уважаемые!
Попробовал поставить на 7-ку, но ничего не вышло.

Описываю что имеем:
elFinder
Bueditor
Wysiwyg

Может еще чего-то не хватает?

В настройках Wysiwyg есть перечисление поддерживаемых модулей - видимо дело в том, что Bueditor не поддерживается ((

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 3 months назад ph0enix@drupal.org #

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

Скоро выложу новую dev версию с восстановленной поддержкой BUEditor.

Также сдвинулась с мертвой точки поддержка elRTE. На сегодняшний день есть альфа-версия elRTE для интеграции в wysiwyg:

http://drupal.org/node/896960#comment-4130782

0 Спасибо
Аватар пользователя kodo
6 лет 3 months назад kodo #

Мужики... коротко... приятно что дело идет... попробую, посмотрю, ну и ... по любому респект!

0 Спасибо
Аватар пользователя OldWarrior
6 лет 2 months назад OldWarrior #

Файловый менеджер - отличный! Честно.
Но да - плохо, что в модуль ckeditor штатно не интегрируется.

(Я, кстати, кое-как умудрился привязать к ckeditor: http://www.drupal.ru/node/60796
Может, кому пригодится.)

И ещё: нужно таки сделать user role permissions на доступ к папкам.
Минимум - хотя бы возможность указать root папку для каждой роли.
А в идеале - набор папок для каждой роли (как в IMCE).

А то мне пока пришлось дописать к вашему модулю вот такую штуку (для одного заказа):

(Клик для увеличения)

0 Спасибо
Аватар пользователя ph0enix@drupal.org
6 лет 2 months назад ph0enix@drupal.org #

Поддержка elFinder добавлена в модуль CKEditor в феврале. Сейчас должна быть в стабильных версиях 6.x-1.3 и 7.x-1.1.

Права доступа - одна из самых популярных фичей, продумываю вариант реализации.

0 Спасибо
Аватар пользователя OldWarrior
6 лет 2 months назад OldWarrior #
ph0enix@drupal.org написал:
Поддержка 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 файлов. А вообще - лучше убрать эти демки после установки, имхо.

0 Спасибо
Аватар пользователя OldWarrior
6 лет 2 months назад OldWarrior #

Вот ещё насчёт этого:

ph0enix@drupal.org написал:
Попробуй в 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-класса просто не обрабатывается.

В общем, нужно убрать комментарий или изменить на /* */

0 Спасибо
Аватар пользователя OldWarrior
6 лет 2 months назад OldWarrior #

И ещё :-)

Мне кажется, стоит сделать конфигурируемыми названия таких вещей, как "корневая" папка (сейчас как бы "Главная") и название ссылки на elFinder в меню (Сейчас "Files").

Для корневой папки уместнее всего, имхо, будет "Начало".

0 Спасибо
Аватар пользователя STINGER
6 лет 1 month назад STINGER #

+1 насчет per role permissions на доступ к папкам, именно это пока сдерживает от использования этого модуля, т.к. не хочу давать младшим редакторам права колупаться во всех папках сайта.

И было бы отлично, если б функционал создания тумбнелов и превьюшек отдали модулю ImageCache, все-таки у него больше фич по настройке создания тумбнелов...

0 Спасибо
Аватар пользователя OldWarrior
6 лет 1 month назад OldWarrior #
STINGER написал:
И было бы отлично, если б функционал создания тумбнелов и превьюшек отдали модулю ImageCache, все-таки у него больше фич по настройке создания тумбнелов...

Вот тут я против. Устанавливать ещё один модуль только для миниатюрок - это уж слишком. Это ж файловый менеджер, не галерея.
Так, как есть - нормально, имхо.

Только единственное замечание: папка .tmb всегда создаётся в каталоге, определённом как root для галереи в настройках. Если я меняю корневую папку (например на вложенную) - то внутри создаётся уже новая папка .tmb (старая при этом не удаляется). И бывает, что миниатюрки дублируются в обеих папках.

Нужен ли такой расход места? Лучше, по-моему, держать их в одной папке - опять таки добавить ещё одну опцию в настройки elFinder, где можно было бы указать - в какой именно. Либо принудительно создавать её в корне файловой системы Друпала.

PS. Вообще - я обратил на это внимание, когда прикручивал к модулю простейший механизм role permission на доступ к папкам (я уже где-то писал выше). Работать-то всё работало, но при этом для каждой роли создавалась своя папка .tmb. Админ (имеющий доступ к верхнему корню, и походивший раз-другой по вложенным папкам) получал в папке .tmb все копии миниатюрок из вложенных. Ничего страшного, конечно, но как бы и не нужный расход места...

0 Спасибо
Аватар пользователя OldWarrior
5 лет 11 months назад OldWarrior #

И ещё одно пожелание.
Неплохо бы иметь где-то кнопку "Скопировать URL файла в буфер".
Сейчас довольно длинный путь: сначала выбрать "Свойства", открывается диалог, потом вручную копировать URL картинки/файла. Не совсем удобно.

0 Спасибо
Аватар пользователя xxandeadxx
5 лет 11 months назад xxandeadxx #

elFinder 2.0 очень вкусный. ещё бы в модуле реализовать функционал кнопки "Отправить на сервер" и про CKFinder можно забыть как о страшном сне.

0 Спасибо
Аватар пользователя ph0enix@drupal.org
5 лет 8 months назад ph0enix@drupal.org #
xxandeadxx написал:
elFinder 2.0 очень вкусный. ещё бы в модуле реализовать функционал кнопки "Отправить на сервер" и про CKFinder можно забыть как о страшном сне.

Что это за кнопка? В чем отличие от штатного upload elFinder?

0 Спасибо
Аватар пользователя Patriot_Z
5 лет 9 months назад Patriot_Z #

Не корректно работает в связки 7ке + wysiwyg + CKEditor.
Загружается но без оформления.

0 Спасибо
Аватар пользователя Mafk
5 лет 9 months назад Mafk #
Patriot_Z написал:
Загружается но без оформления.

Та же проблема.
Как временное решение попробуйте отключить объединение CSS файлов.

0 Спасибо
Аватар пользователя ph0enix@drupal.org
5 лет 8 months назад ph0enix@drupal.org #
Mafk написал:
Patriot_Z написал:
Загружается но без оформления.

Та же проблема.
Как временное решение попробуйте отключить объединение CSS файлов.

Тут по-моему нашли решение проблемы. http://drupal.org/node/1297686. Там 2 файла elfinder.css - один в составе библиотеки, другой в составе модуля. И при объединении похоже берется содержимое только одного.

0 Спасибо

Страницы