Pull to refresh

sjFilemanager — бесплатный AJAX файл менеджер. Колесо или ноу-хау?

Reading time 2 min
Views 9.2K
JavaScript *
Sandbox
Начиная с тех времен когда я только познавал всю прелесть программирования у веб, у меня возникала задача создания файлового менеджера для tinyMCE. Но изобретать велосипед — это пустая трата времени, поэтому я часто обходился какой-то простой реализацией или сторонним плагином, вроде этого. На тот момент Image Manager 1.1 был еще бета версией. К сожалению со временем этот вариант меня перестал устраивать по ряду причин и пришлось реализовать собственное решение.

Начало


Хочу представить Вашему вниманию краткий обзор sjFilemanager. Целью его реализации было использование на backend-е. Посмотрим, что он умеет и как выглядит:
ajax filemanager

  • copy/cut/paste файлов
  • удаление файлов/папок
  • создание динамических (уникальных) имен для файлов
  • переименование файлов/папок
  • изменение прав доступа для файла/папки
  • создание папки
  • загрузка нескольких файлов с использованием SWFUpload
  • скачивание файлов/папок с использованием zip-компрессора
  • получение всей информации о папке/файле из файловой системы
  • дружественный интерфейс
  • возможность выполнения операций над группой файлов/папок
  • frontend может работать с backend-ом написаным на любом языке
  • backend реализован на PHP5 с использованием ООП
  • стандартный набор кросс браузерности
  • никаких баз данных

Одним из его основных преимуществ является то, что он является полноценным приложением, которое можно использовать в rich-text редакторах. Из него просто сделать плагин для Symfony 1.4, а можно использовать и в обычной форме (когда пользователю нужно добавить к статье рисунок, то он может его или загрузить, или выбрать в файловой системе). Нужно только подключить нужные скрипты, создать шаблон для окна и сконфигурировать сам менеджер.

Какие же я вижу минусы:
  • локализирован не полностью
  • нет превью для медиа файлов
  • javascript написан без использования известных библиотек

Для примера я приведу плюсы и минусы других решений, а решать чем пользоваться придется Вам.

sjFilemanager vs Image Manager


Плюсы Image Manager:
  • локализация на 2 языка (английский, русский)
  • мультизагрузка
  • удобная навигация по папкам, создание/удаление папок
  • вывод информации о файле (в нижнюю панель)
  • смена имени файла
  • суммарная информация о выбранных файлах
  • автоматическая вставка ссылки на исходное изображение (если оно больше максимально допустимого (по-умолчанию 500px))
  • вставка изображения (изображений) по кнопке вставить

Минусы Image Manager:
  • плохой код, сложно что-то менять
  • практически нет сообщений об ошибках
  • генерация превью занимает ужасно много времени в папке с большим к-вом рисунков
  • имена файлов — это уникальные хэши
  • подключение целой библиотеки jQuery
  • табличная верстка
  • это всего лишь плагин для tinyMCE

Более детальную информацию об этом плагине можно найти здесь.

sjFilemanager vs Ajax file manager


Плюсы Ajax file Manager:
  • поддержка нескольких JavaScript редакторов
  • полностью реализован на AJAX
  • встроенный редактор рисунков
  • поддержка utf-8
  • авторизация
  • легко изменять и создавать темы

Меня такой вариант очень сильно заинтересовал и решил посмотреть демо. Проанализировав его возможности, я понял что это чистый PR.

Какие же минусы:
  • нет полной поддержки AJAX (нажмите кнопку «Refresh»)
  • ограниченные возможности
  • превью растягивается и можно увидеть пиксели
  • большая часть написана в процедурном стиле

Ну вот, это конец моей конструктивной критики существующих решений. Больше о sjFilemanager можно узнать здесь.
Tags:
Hubs:
Total votes 32: ↑32 and ↓0 +32
Comments 16
Comments Comments 16

Posts