Комментарии 50
Еще один?
Но… Зачем? Because I can? Нет, похвально конечно, но…
Но… Зачем? Because I can? Нет, похвально конечно, но…
Буду благодарен, если вы поделитесь ссылками на аналогичные двухпанельные веб-файл менеджеры.
У dhtmlx есть похожее демо приложение двух-панельного файл менеджера на JavaScript (это, конечно, не полноценный продукт, но что-то похожее)
Я после долгих лет использования Total Commander перешел на Multi Commander. Все тоже самое, только бесплатно и с адекватной 64 битной версией. Хотя в последнее время много использую и Проводник. Благо его в Windows 8 довели наконец до удобоваримого вида.
Особенно радует, что автор осзнает недостатки архетектуры своего приложения и не усалчивает о них. Приятно читать техническую статью без маркетингового запаха. После таких статей хочется воскликуть Хабр — торт :)
Согласен с комментарием выше, но, автор, какое реальное применение этого менеджера? На локальном компьютере не получится, слишком много недостатков.
Показывать его пользователю сайта? Тогда он особо ничем не отличается от перечисленных вами же аналогов.
Показывать его пользователю сайта? Тогда он особо ничем не отличается от перечисленных вами же аналогов.
Кроме недостатков есть достоинства, благодаря чему его вполне можно использовать как на локальном компьютере, так и на удаленном. Одно из реальных применений: разработка приложений. Как я уже говорил, Cloud Commander пишется в самом себе (и эта статья тоже была написана в нём), он запущен на удаленном компьютере, я могу к нему подключится с любого браузера. На работе я использую локально установленную версию, и пишу в ней код связанный с текущими проектами.
Ладно, ваше дело, я просто выразил свое мнение, что нативные файловые менеджеры веб полноценно не заменит.
Кстати, добавьте к недостаткам: нет драг-н-дропа из одной панели в другую (win7, chrome 35, cloudcmd.jit.su/)
Кстати, добавьте к недостаткам: нет драг-н-дропа из одной панели в другую (win7, chrome 35, cloudcmd.jit.su/)
чем это лучше доступа по ssh?
Во-первых, нет смены контекста, веб-разработчик может всё делать в браузере, не переключаясь между окнами и приложениями.
Во-вторых, поддержка Drag'n'Drop на уровне редактора и файлового менеджера и многие другие функции.
В-третьих, есть компьютеры, где нельзя устанавливать и запускать свои приложения, браузер, в свою очередь, есть везде.
А в целом, это не вытеснитель доступа по ssh, а взгляд с другой стороны.
Во-вторых, поддержка Drag'n'Drop на уровне редактора и файлового менеджера и многие другие функции.
В-третьих, есть компьютеры, где нельзя устанавливать и запускать свои приложения, браузер, в свою очередь, есть везде.
А в целом, это не вытеснитель доступа по ssh, а взгляд с другой стороны.
ну, например включить в поставку админ-панели хостера и иметь нормальный файл-менеджер из коробки, а не те жуткие обрезки, которые обычно там поставляются
Посмотрите на файловый менеджер в Бегете — тоже двухпанельный
Вы имеете ввиду вот этот?
Выглядит очень неплохо, интересно было бы посмотреть что внутри. Он с закрытым кодом?
Скриншот

Выглядит очень неплохо, интересно было бы посмотреть что внутри. Он с закрытым кодом?
В качестве хостинга используется GitHub Pages с подключенным CloudFlare, может в нём дело?
Какой-нибудь прогресс бы прикрутить, когда большие файлы открываешь…
А так — очень классная штука. Спасибо!
А так — очень классная штука. Спасибо!
Да, согласен, этого действительно не хватает, думаю в будущем можно будет реализовать.
Одна из таких функций, это перемещение указателя текущего файла во время ввода имени.
В mc — ctrl +s.
Умопотрясающая штука.
Её можно сделать ещё более умопотрясающею, если навесить этот код на интеловский движокnode-webkit, который позволяет запускать код Node.js локально в окошке Chromium-подобного браузера. Тогда получится более полный аналог Total Commander в том смысле, что работать станет не на отдалённом сервере, а у себя на компьютере.
Её можно сделать ещё более умопотрясающею, если навесить этот код на интеловский движок
Такой эксперимент недавно проводился, действительно, выглядит очень интересно.
Поддерживаю! Запакуйте Cloud Commander в десктопную оболочку и цены ему не будет! Особенно на линуксах
Отличный проект. Скоро у нас будет всё в браузере, а все приложения окажутся замаскированными браузерами )
Отличный проект. Скоро у нас будет всё в браузере, а все приложения окажутся замаскированными браузерами )
Можно обойтись совсем без сервера.
Google Chrome уже умеет TCP/UDP, правда только для приложений — developer.chrome.com/apps/app_network
Вот вполне рабочий SSH клиент чисто браузерный — chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo
Google Chrome уже умеет TCP/UDP, правда только для приложений — developer.chrome.com/apps/app_network
Вот вполне рабочий SSH клиент чисто браузерный — chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo
Думаю, совсем без сервера не-получится обойтись, поскольку основной нюанс не в том, каким способом обмениваться данными с сервером (сейчас, всё происходит по HTTP), а в том, как работать с файловой системой. К тому же, клиент-серверная архитектура даёт множество преимуществ: возможность удаленной работы, например.
С удаленными файловыми системами получается можно работать по (S)FTP/FISH… без посреднического сервера.
И для удаленной работы вполне подходит — у меня сейчас tmux сессия открыта и в xterm и в chrome — одна и та же сессия.
Запустил в ней mc — двухпанельный файлменеджер с неплохими возможностями. И в браузере.
Были бы иксы в браузере — запустил бы крусадер.
Кстати неплохая идея — сделать Xorg сервер в chrome. И вроде еще такого нет в природе.
И для удаленной работы вполне подходит — у меня сейчас tmux сессия открыта и в xterm и в chrome — одна и та же сессия.
Запустил в ней mc — двухпанельный файлменеджер с неплохими возможностями. И в браузере.
Были бы иксы в браузере — запустил бы крусадер.
Кстати неплохая идея — сделать Xorg сервер в chrome. И вроде еще такого нет в природе.
Вещь очень хорошая, но для полноценного использования для серверных целей не нашел двух вещей:
Есть ли эти фичи уже или возможно планируется работа по ним?
- ограничения прав (хотя бы на уровне приложения, а на пользователей)
- назначение root директории: только CWD или свой путь
- скрывать определённые пути/папки через regexpы
- ограничения функционала
- использование менеджера как модуля. Помимо основного приложения, у нас есть админ-приложение, и хотелось бы встроить ваш менеджер, как connect middleware например, или просто запросы пробрасывать.
Есть ли эти фичи уже или возможно планируется работа по ним?
Нужно обязательно также и в этом направлении двигаться: ограничение прав и midd прослойка. Иначе без первого, как по мне, вообще невозможно использовать commander на сервере — для этого есть sftp. Для десктопов есть родные менеджеры с более полным функционалом и портативными версиями. А вот для админ панелей подобная разработка подходит просто шикарно. Или я упускаю что-то?
И думаю вам не будет сложно сделать как минимум две вещи:
—
—
И вот с таким api уже можно делать многое.
И думаю вам не будет сложно сделать как минимум две вещи:
—
options: `rootPath`, `cmdEnabled`
—
exports.process = function(req, res, ctx /* current request options*/)
И вот с таким api уже можно делать многое.
Покрасить бы все в синий и будет Far в браузере. Я об этом мечатл
Клёво. Нашел пару багов:
1. Не работают символические ссылки (на windows)
2. Нет возможности сменить диск (на windows)
3. Кнопка настроек (F10) не всегда срабатывает на клик (точнее только раз)
Сырая, конечно, приблуда, но очень прикольная. Буду рад, если получит развитие.
Спасибо за описание использованных технологий.
1. Не работают символические ссылки (на windows)
2. Нет возможности сменить диск (на windows)
3. Кнопка настроек (F10) не всегда срабатывает на клик (точнее только раз)
Сырая, конечно, приблуда, но очень прикольная. Буду рад, если получит развитие.
Спасибо за описание использованных технологий.
Спасибо, действительно, символические ссылки и на windows, и на linux воспринимаются как обычные файлы,
в будущем думаю можно будет это изменить.
По-поводу смены диска на windows, это очень существенный пункт, я раздумываю как это сделать, но пока с этим трудности, в плане:
1. Интерфейса файлового менеджера
2. Изменения REST
Ведь диски есть только на windows, в linux, mac os, freebsd и т.д. их нет и отображать их смысла нету.
По-поводу кнопки настроек, да, это правда, была такая ошибка, я сегодня исправил, спасибо.
в будущем думаю можно будет это изменить.
По-поводу смены диска на windows, это очень существенный пункт, я раздумываю как это сделать, но пока с этим трудности, в плане:
1. Интерфейса файлового менеджера
2. Изменения REST
Ведь диски есть только на windows, в linux, mac os, freebsd и т.д. их нет и отображать их смысла нету.
По-поводу кнопки настроек, да, это правда, была такая ошибка, я сегодня исправил, спасибо.
Начало отличное. И код аккуратно и хорошо написан (правда, используются отступы в 4 пробела вместо канонических джаваскриптовых 2-х).
Будет интересно понаблюдать за развитием.
Один вопрос:
Что имеется в виду? Какой встроенный?
Будет интересно понаблюдать за развитием.
Один вопрос:
веб-сервер express который работает на порядок быстрее, чем встроенный;
Что имеется в виду? Какой встроенный?
Если зависимости Cloud Commander'a не установлены, он будет работать без них, и в качестве веб-сервера будет использоваться велосипед, который работает похожим образом, на гораздо проще. Конечно, express, гораздо лучше, стабильнее и эффективнее во всех планах, но, при желании, без него можно и обойтись.
Ну Express — это не HTTP-сервер, это утилита вокруг http-модуля самого Node. Что же там за велосипед, который умудряется так замедлить работу сервера?
Спасибо за наводку по Pydio.Уже поселил на сервере и сравниваю с Owncloud.
Зачем он git запускает при старте? Особенно, если я поставил его через npm глобально?
Увы, посмотреть не могу.
Связьнадзоровская заглушка Ростелекома :(
Связьнадзоровская заглушка Ростелекома :(
А в localStorage не мало места для кеширования? Почему IndexedDB не используете?
В принципе в localStorage вполне достаточно места для таких нужд. С indexedDB проблема в том, что она поддерживается не всеми браузерами, то есть, в идеале, стоит смотреть, что браузер поддерживает, и то использовать. Мне понравился проект localForage, который использует то, что доступно, предоставляя при этом унифицированный интерфейс. Но в процесе его использования, у меня возникла проблема с тем, что в режиме Инкогнито firefox, который поддерживает IndexedDB, выкидывает ошибку на открытие БД. Возможно сейчас этот баг пофиксили и всё должно работать хорошо. В целом, IndexedDB быстрее, поэтому её, конечно, лучше использовать.
Взаимодействие с localStorage в Cloud Commander'е происходит в файле storage.js. Пул реквесты приветствуются.
Взаимодействие с localStorage в Cloud Commander'е происходит в файле storage.js. Пул реквесты приветствуются.
С indexedDB проблема в том, что она поддерживается не всеми браузерами
Кстати, забыл спросить: а какой набор браузеров официально поддерживается?
В целом, IndexedDB быстрее, поэтому её, конечно, лучше использовать.
Не уверен. Могу ошибаться, но исходя из размеров, localStorage хранится в оперативе, а IndexedDB — это работа с жестким диском.
Посмотрел код, приятно удивлен, что даже при работе с localStorage используются коллбэки. Подумаю на тему пуллреквеста.
> Кстати, забыл спросить: а какой набор браузеров официально поддерживается?
Все последние версии браузеров: Chrome, Firefox, Opera и IE (начиная с версии, которая поддерживает addEventListener, это, кажеться, 9).
В целях упрощения кода, было решено отказаться от всех условных комментариев и хаков для старых версий IE, поэтому те, которые не смогут обработать JavaScript и загрузить необходимые модули, будут работать без него (то есть, код будет генерироваться на сервере).
Если браузер что-то не поддерживает, подгружается файл с основными полифилами.
Все последние версии браузеров: Chrome, Firefox, Opera и IE (начиная с версии, которая поддерживает addEventListener, это, кажеться, 9).
В целях упрощения кода, было решено отказаться от всех условных комментариев и хаков для старых версий IE, поэтому те, которые не смогут обработать JavaScript и загрузить необходимые модули, будут работать без него (то есть, код будет генерироваться на сервере).
Если браузер что-то не поддерживает, подгружается файл с основными полифилами.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Двухпанельный веб-файл менеджер Cloud Commander