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

Прислано: Troex

вт, 18/05/2010 - 14:41

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

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

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Shift-Web в вт, 18/05/2010 - 14:54.

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


Опубликовано xxandeadxx в вт, 18/05/2010 - 15:52.

subscribed


Опубликовано vgoodvin в вт, 18/05/2010 - 17:00.

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


Опубликовано Troex в ср, 19/05/2010 - 22:16.

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

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


Опубликовано xxandeadxx в ср, 19/05/2010 - 23:23.

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


Опубликовано Troex в ср, 19/05/2010 - 23:48.

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

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


Опубликовано Troex в вт, 01/06/2010 - 10:20.

Появился plugin под drupal6 http://sourceforge.net/projects/drupal-elfinder/


Опубликовано vgoodvin в вт, 01/06/2010 - 12:42.

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


Опубликовано ph0enix@drupal.org в ср, 02/06/2010 - 09:33.

vgoodvin написал(а):

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

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


Опубликовано xxandeadxx в ср, 02/06/2010 - 15:30.

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


Опубликовано ph0enix@drupal.org в пн, 07/06/2010 - 18:24.

Обновил модуль. Добавлена поддержка TinyMCE и FCKeditor, библиотека перемещена в sites/all/libraries/elfinder.

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


Опубликовано ph0enix@drupal.org в чт, 10/06/2010 - 13:53.

xxandeadxx написал(а):

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

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

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


Опубликовано ztime в ср, 01/09/2010 - 08:26.

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

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

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


Опубликовано ph0enix@drupal.org в вт, 07/09/2010 - 22:07.

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

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

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

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

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


Опубликовано xxandeadxx в вт, 07/09/2010 - 20:14.

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

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


Опубликовано ph0enix@drupal.org в вт, 07/09/2010 - 20:28.

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

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


Опубликовано xxandeadxx в вт, 07/09/2010 - 20:38.

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

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

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


Опубликовано ph0enix@drupal.org в вт, 07/09/2010 - 22:06.

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


Опубликовано xxandeadxx в вт, 07/09/2010 - 22:19.

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


Опубликовано ph0enix@drupal.org в пт, 10/09/2010 - 06:07.

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

.el-finder-nav ul li {
	background:none;
	clear:both;
	padding:0;
	margin:0;
}


Опубликовано Hertzen в пт, 17/09/2010 - 11:58.

День добрый.

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

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

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


Опубликовано ph0enix@drupal.org в ср, 06/10/2010 - 12:28.

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

Модуль сейчас поддерживает редакторы только через модуль 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.


Опубликовано Hertzen в пн, 20/09/2010 - 14:22.

Благодарю!

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


Опубликовано ph0enix@drupal.org в ср, 06/10/2010 - 12:39.

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

http://drupal.org/project/elfinder

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

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

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

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

Прочее:

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


Опубликовано Mafk@drupal.org в вт, 26/10/2010 - 02:29.

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

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


Опубликовано ph0enix@drupal.org в ср, 27/10/2010 - 23:45.

Mafk@drupal.org написал(а):

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

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

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

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

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


Опубликовано Mafk@drupal.org в пт, 29/10/2010 - 05:24.

Тьфу. Отключить 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>


Опубликовано ph0enix@drupal.org в пт, 12/11/2010 - 23:56.

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


Опубликовано Mafk@drupal.org в пт, 29/10/2010 - 14:57.

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


Опубликовано ph0enix@drupal.org в пт, 29/10/2010 - 16:44.

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


Опубликовано Mafk в пн, 15/11/2010 - 10:48.

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 ветки друпала в разные модули.


Опубликовано ph0enix@drupal.org в ср, 17/11/2010 - 11:41.

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

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


Опубликовано Vydrin_AP в чт, 02/12/2010 - 19:23.

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

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

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

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


Опубликовано ph0enix@drupal.org в сб, 26/02/2011 - 09:08.

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

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

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

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


Опубликовано kodo в сб, 26/02/2011 - 12:01.

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


Опубликовано ph0enix@drupal.org в вс, 13/03/2011 - 07:46.

В сборке от 13 марта восстановлена поддержка BUEditor. Редактор теперь поддерживается как в составе wysiwyg (вместо модуля wysiwyg_bueditor теперь нужно применять патч http://drupal.org/node/429684#comment-3677486), так и как отдельный модуль.

http://drupal.org/project/elfinder


Опубликовано OldWarrior в вс, 24/04/2011 - 00:23.

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

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

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

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

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


Опубликовано ph0enix@drupal.org в вс, 24/04/2011 - 18:09.

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

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


Опубликовано OldWarrior в вс, 24/04/2011 - 21:17.

"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 файлов. А вообще - лучше убрать эти демки после установки, имхо.


Опубликовано OldWarrior в вс, 24/04/2011 - 23:13.

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

"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-класса просто не обрабатывается.

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


Опубликовано OldWarrior в вс, 24/04/2011 - 23:30.

И ещё :-)

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

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


Опубликовано STINGER в чт, 12/05/2011 - 22:54.

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

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


Опубликовано OldWarrior в сб, 21/05/2011 - 16:29.

"STINGER" написал(а):

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

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

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

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

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


Опубликовано OldWarrior в пт, 08/07/2011 - 21:56.

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


Опубликовано Mafk в вт, 12/07/2011 - 09:50.

Поздравляю с выходом elFinder 2.0 beta. Как скоро ожидается его поддержка для  wysiwyg ?


Опубликовано xxandeadxx в вт, 12/07/2011 - 11:23.

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


Опубликовано Patriot_Z в чт, 08/09/2011 - 21:08.

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


Опубликовано Mafk в пт, 09/09/2011 - 00:26.

"Patriot_Z" написал(а):

Загружается но без оформления.

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


Опубликовано ph0enix@drupal.org в пт, 07/10/2011 - 15:55.

"Mafk" написал(а):

Поздравляю с выходом elFinder 2.0 beta. Как скоро ожидается его поддержка для wysiwyg ?

Модуль интеграции 2.0 (равно как и сам 2.0) находится в разработке. Сейчас все силы направлены на реализацию наиболее запрашиваемых фич:

1. Интеграция с файловой таблицей Drupal
2. Разграничение доступа к файлам
3. Поддержка профилей конфигурации

По срокам не хочу ничего обещать. Разрабатываемая версия будет выложена как только будет завершена разработка новой админской части.


Опубликовано ph0enix@drupal.org в пт, 07/10/2011 - 16:49.

Mafk написал(а):
"Patriot_Z" написал(а):

Загружается но без оформления.

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

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


Новое на сайте

Ссылки партнёров