Солидный файловый менеджер

Поскольку мне не очень понравились интерфейсы, которые я нашел для управления твердыми модулями, я решил поискать файловый менеджер с открытым исходным кодом и подключить его к Solid.

Текущая версия: https://otto-aa.github.io/solid-filemanager/
Исходный код: https://github.com/Otto-AA/solid-filemanager/

Текущие функции (обновлены):

  • просматривать папку и файлы вашего модуля;
  • открывать файлы/папки в новой вкладке
  • загружать файлы
  • создавать новые файлы и папки
  • копировать/перемещать/переименовывать файлы и папки
  • редактировать текстовые файлы (txt, html,…; специальных функций редактора пока нет)
  • загрузка файлов
  • .zip действия (сжатие, извлечение)
  • удалить файлы и папки
  • фильтровать текущую папку (поиск)

Поддержка Drag & Drop была бы крутой, но я не уверен, как это сложно реализовать.

Поскольку я не уверен на 100%, что все работает правильно, и я уверен, что можно сделать много улучшений, отзывы и, возможно, также помощь будут очень добро пожаловать,
(Может, пока не пробуйте это делать со сверхважными вещами)

И если вам это нравится, также подумайте о поддержке создателя файлового менеджера с открытым исходным кодом здесь: https://github.com/joni2back/react-filemanager/


Вы возможно, захотите добавить его на https://github.com/solid/solid-apps, когда считаете, что он готов


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


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

Я тестировал его в основном в Firefox (65.0) и немного в Chrome (72.0). Если бы кто-то здесь мог проверить это в других браузерах, это было бы действительно полезно.


Нет возможности редактирования для .TTL
Редактировать не работают для .JSON
Без отключения

Тест с телефона Android


Отличная работа!

У меня следующие проблемы при использовании демонстрации по адресу: https://otto-aa.github.io/solid-filemanager/build/.

  1. Я предоставляю https ://solid.openlinksw. com: 8445 в качестве моего предпочтительного поставщика удостоверений, но по умолчанию диспетчер файлов использует его в качестве корня моего модуля или предпочтительного места хранения

  2. При входе в систему у меня есть невозможно выйти из системы через пользовательский интерфейс

Вы можете устранить проблемы, описанные выше, следующим образом:

  1. Поиск в документе WebID-Profile вошедшего в систему пользователя о предпочтениях хранения с помощью объектов ldp: inbox или pim: storage Relations

  2. Добавление значка для с указанием состояния входа и выхода.


Спасибо за ваш отзыв

Я добавил файлы .ttl в список редактируемых файлов, так что теперь они должны работать. Я также думал о том, чтобы сделать все файлы редактируемыми по умолчанию, но я не уверен в этом.

Редактирование файлов json будет иметь ту же проблему, что и перемещение, копирование и переименование их (и, вероятно, также скачивание). Я изучу это на этой неделе.

Я добавлю функцию выхода из системы, но, поскольку для этого можно просто перезагрузить страницу, это пока не является приоритетом. Изменить: поскольку у двоих из вас, похоже, есть эта проблема … перезагрузка поможет вам?


Перезагрузка поможет да/нет Я не могу изменить webID


Спасибо за объяснение, теперь я понял проблему. Я добавил возможность выхода и входа в систему с другим WebId.


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

  • Мой поставщик удостоверений: https://solid.openlinksw.com:8445
  • Мой веб-идентификатор: https://kidehen3.solid.openlinksw.com: 8445/profile/card # me
  • Общая папка моего модуля: https://kidehen3.solid.openlinksw.com:8445/public/

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

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


Я исправил метод копирования для отправки json в виде текста, и теперь копирование, перемещение, переименование и редактирование их работает отлично (насколько я тестировал)


Работает лучше, но только через Firefox (а не Chrome).

После успешного входа в систему я невозможно просматривать папки, нажимая на значки папок.

Скриншоты:

Вход

Использование

Не могу откройте папку CoolStuff.


Странно, я ввел вашу общую папку в качестве места хранения и смог открыть CoolStuff без каких-либо проблем (в Chrome 72.0).

Возможно, проблема в том, что вы вошли в хранилище местоположение возраста со знаком «/» в конце, чего не ожидалось (но исправлено сейчас). Можете ли вы попробовать это снова после перезагрузки приложения?

Если это не сработает, не могли бы вы взглянуть на консоль браузера и выполненные сетевые запросы, если там отображаются какие-либо ошибки?


Есть ли еще какие-либо ошибки, которые вы заметили, или функции, которые, по вашему мнению, необходимы?
Если нет, я бы обновил файл readme и попросил добавить его в Solid- список приложений в ближайшие несколько дней.


Вы разрешаете изменить хранилище/местоположение, но если я сделаю это и войду в модуль, я получу ошибку


Какую ошибку вы получили? (И можете ли вы также проверить консоль и сетевые запросы на наличие ошибок?)


Вот ошибка, я полагаю, это потому, что/root не разрешен, что всегда должно быть при изменении модуля.

  • отображается ошибка
    Ошибка:

    Нет разрешения

    В настоящее время вы вошли в систему как https://alain.bourgeoa.ga/profile/card#me , но у вас нет разрешения на доступ к https://bourgeoa.solid.community/.

  • ошибка консоли
    GET https://bourgeoa.solid.community/401 (Unauthorized)
    bourgeoa .solid.community/: 1 GET https://bourgeoa.solid.community/403 (Запрещено)
    ApiHandler.js: 12 handleFetchError
    ApiHandler.js: 16 url: https://bourgeoa .solid.community/
    (анонимно) @ ApiHandler.js: 16
    x @ runtime.js: 63
    (анонимно) @ runtime.js: 282
    е. (анонимная функция) @ runtime.js: 116
    r @ asyncToGenerator.js: 3
    s @ asyncToGenerator.js: 25
    Promise.then (async)
    r @ asyncToGenerator.js: 13
    s @ asyncToGenerator.js: 25
    (анонимно) @ asyncToGenerator.js: 32
    (анонимно) @ asyncToGenerator.js: 21
    (анонимно) @ ApiHandler.js: 9
    Promise.catch (async)
    de @ ApiHandler.js: 54
    (анонимный ) @ Actions.js: 123
    (анонимно) @ index.js: 8
    (анонимно) @ SolidLogin.jsx: 91
    value @ SolidLogin.jsx: 31
    (анонимно) @ response-dom.production.min.js: 49
    d @ response-dom.production.min.js: 69
    (анонимно) @ response-dom.production. min.js: 73
    E @ react-dom.production.min.js: 140
    C @ response-dom.production.min.js: 168
    T @ react- dom.production.min. js: 158
    N @ react-dom.production.min.js: 232
    kn @ react-dom.production.min.js: 1713
    Aa @ react-dom. production.min.js: 5400
    De @ react-dom.production.min.js: 660
    Cn @ react-dom.production.min.js: 1755
    La @ response-dom.production.min.js: 5428
    На @ response-dom.production.min.js: 1732
    ApiHandler.js: 17 статус: 403
    (анонимно) @ ApiHandler.js: 17
    x @ runtime.js: 63
    (анонимно) @ runtime.js: 282
    e. (Анонимная функция) @ runtime.js: 116
    r @ asyncToGenerator.js: 3
    s @ asyncToGenerator.js: 25
    Promise.then (async)
    r @ asyncToGenerator.js: 13
    s @ asyncToGenerator.js: 25
    (анонимно) @ asyncToGenerator.js: 32
    (анонимно) @ asyncToGenerator.js: 21
    (анонимно) @ ApiHandler.js: 9
    Promise.catch (async)
    de @ ApiHandler.js: 54
    (анонимно) @ Actions.js: 123
    (анонимно) @ index.js: 8
    (анонимно) @ SolidLogin.jsx: 91
    значение @ SolidLogin.jsx: 31
    (анонимно) @ response-dom.production.min.js: 49
    d @ react- dom.production.min.js: 69
    (анонимно) @ response-dom.production.min.js: 73
    E @ response-dom.production.min.js: 140
    C @ response-dom.production.min.js: 168
    T @ response-dom.production.min.js: 158
    N @ response-dom.production.min.js: 232
    kn @ react-dom.production.min.js: 1713
    Aa @ react-dom.production.min.js: 5400
    De @ response-dom.production. min.js: 660
    Cn @ response-dom.production.min.js: 1755
    La @ response-dom.production.min.js: 5428
    На @ response- dom.production.min.js: 1732
    ApiHandler.js: 29 errorMessage:

  • Нет разрешения

    В настоящее время вы вошли в систему как https://alain.bourgeoa.ga/profile/card#me , но у вас нет разрешения для доступа к https://bourgeoa.solid.community/.

    Выйти

    (анонимно) @ ApiHandler.js: 29
    x @ runtime.js: 63
    (анонимный) @ runtime.js: 282
    e. (анонимная функция) @ runtime.js: 116
    r @ asyncToGenerator.js: 3
    s @ asyncToGenerator .js: 25
    Promise.then (async)
    r @ asyncToGenerator.js: 13
    s @ asyncToGenerator.js: 25
    (анонимный) @ asyncToGenerator. js: 32
    (анонимно) @ asyncToGenerator.js: 21
    (анонимно) @ ApiHandler.js: 9
    Promise.catch (async)
    de @ ApiHandler .js: 54
    (анонимно) @ Actions.js: 123
    (анонимно) @ index.js: 8
    (анонимно) @ SolidLogin.jsx: 91
    значение @ SolidLogin.jsx: 31
    (анонимно) @ response-dom.production.min.js: 49
    d @ response-dom.production.min.js: 69
    (анонимно) @ response-dom.production.min.js: 73
    E @ response-dom.production.min.js: 140
    C @ response-dom.production.min.js : 168
    T @ react-dom.production.min.js: 158
    N @ react-dom.production.min.js: 232
    kn @ react-dom.production .min.js: 1713
    Aa @ react-dom.p roduction.min.js: 5400
    De @ response-dom.production.min.js: 660
    Cn @ response-dom.production.min.js: 1755
    La @ react-dom.production.min.js: 5428
    на @ response-dom.production.min. js: 1732
    ApiHandler.js: 30 error: [object Response]


    Извините, я не совсем понимаю проблему и не могу исправить ее правильно прочь.

    Подводя итоги ошибки: как показывает отображаемая ошибка, вы вошли в систему с помощью https://alain.bourgeoa.ga/profile/card#me код>. Затем вы указываете https://bourgeoa.solid.community/ в качестве места хранения, но когда приложение пытается получить его, вы получаете ответ 401 - Unauthorized.

    Итак, вот несколько мыслей с моей стороны:
    Во-первых, наиболее очевидной причиной этого может быть то, что ваша учетная запись, вошедшая в систему, не имеет разрешений на получение этой папки. Есть ли у вас эти разрешения для других приложений (например, Solid ide)? Если нет, что бы вы изменили в текущем поведении этого приложения?

    Вы имеете в виду, что вы изменили место хранения (модуль), но не вошли в систему с соответствующей учетной записью до этого? Если да, то сначала войдите в систему с учетной записью модуля (я немного обновил [но еще не загрузил] поведение пользовательского интерфейса, чтобы оно было более интуитивно понятным).


    проблемы, которые вы описали, теперь решены, @bourgeoa @kidehen?

    Я бы посмотрел, могу ли я улучшить уведомления об ошибках, иначе я бы попросил добавить его в репозиторий solid-apps.

    И спасибо за помощь в выявлении и устранении проблем



    Как перемещать или переименовывать файлы без разрыва ссылок

    Лучшая практика для переименования или перемещения файлов деталей

    Если вы хотите переименовать или переместить файл детали или сборки, можно использовать функциональные возможности, предоставляемые дизайнерской программой САПР. Ниже приведены инструкции, как это сделать для SolidWorks.

    1
    Найдите сборку и части вашего проекта в локальном каталоге.
    2
    Щелкните правой кнопкой мыши часть файла детали SolidWorks и откройте контекстное меню SolidWork.
    3
    Выберите переименовать или переместить в контекстном меню SolidWorks.
    4
    Переместите файл или переименуйте файл в приглашении, которое появляется после выбора варианта, который вы хотеть.

    5
    После того, как вы выполнили одно или несколько из этих действий, файл сборки теперь обновляется правильными ссылками на переименованную или перемещенную деталь файлы. Когда вы будете готовы, вы можете войти в Workbench, чтобы просмотреть ожидающие изменения.
    6
    Щелкните, чтобы просмотреть ожидающие изменения, и выберите изменения, которые вы хотите загрузить. Обратите внимание, что файл сборки показывает ожидающее изменение, поскольку ссылки на детали были обновлены в результате действий переименования и перемещения.

    Использование переименования для объединения файлов

    Если у вас есть два файла с двумя разными именами, вы можете объединить их в один файл в Workbench. Это полезно, если вы используете соглашение о переименовании локально для отслеживания версий, но вы хотите, чтобы Workbench отображал только последнюю версию файла и содержал более старые версии в истории версий.

    1
    Скажем, например, что в вашем проекте Workbench есть несколько файлов деталей с суффиксами, обозначающими версию. Начните с самой старой версии и переименуйте ее. Используйте имя, которое вы хотите для объединенного файла.
    2
    Затем перейдите к следующей новейшей версии и переименуйте ее с тем же именем. Вам будет предложено решить, как объединить эти файлы. В этом случае вы хотите выбрать «Обновить»
    4
    Продолжайте этот процесс с каждой последующей новой версией. Номера версий увеличиваются с 1 и не читаются из имени файла
Оцените статью
clickpad.ru
Добавить комментарий