Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

luci-app-file-plug-manager: Full featured file manager with plugins #7492

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rdmitry0911
Copy link
Contributor

  • minimal working set: file-plug-manager + Navigation plugin. All other plugins are optional
  • Directory Navigation and Traversal
  • File and Directory Operations
  • Bulk Selection and Management
  • drug'n'drop to/from local computer
  • drug'n'drop to router local folders
  • copy/move mode for drug'n'drop switching with 'Alt' key
  • Editing text files with find/replace functionality
  • Hex editor
  • Save/load settings
  • Dumb Terminal
  • [x ] This PR is not from my main or master branch 💩, but a separate branch ✅
  • [x ] Each commit has a valid ✒️ Signed-off-by: <[email protected]> row (via git commit --signoff)
  • [x ] Each commit and PR title has a valid 📝 <package name>: title first line subject for packages
  • [x ] Incremented 🆙 any PKG_VERSION in the Makefile
  • [ramips/mt7621, x86/64, OpenWrt 23.05.2 Chrome, Firefox ] Tested on: (architecture, openwrt version, browser) ✅
  • ( Preferred ) Mention: @ the original code author for feedback
  • [x ] ( Preferred ) Screenshot or mp4 of changes:
  • ( Optional ) Closes: e.g. openwrt/luci#issue-number
  • ( Optional ) Depends on: e.g. openwrt/packages#pr-number in sister repo
  • [luci-app-filemanager with plugins support and enchanced functionality ] Description: (describe the changes proposed in this PR)
Screenshot 2024-12-19 at 2 06 03 PM Screenshot 2024-12-19 at 2 03 44 PM Screenshot 2024-12-19 at 2 02 39 PM Screenshot 2024-12-19 at 2 02 13 PM Screenshot 2024-12-19 at 2 01 11 PM Screenshot 2024-12-19 at 2 00 53 PM

@rdmitry0911 rdmitry0911 force-pushed the luci-app-file-plug-manager branch from 7617053 to 0b7a706 Compare December 23, 2024 11:18
@systemcrash
Copy link
Contributor

systemcrash commented Dec 23, 2024

Perhaps revise to drag and drop. And at least a monospace font for any terminal. Do we need a terminal in a file manager?

Revise hexeditor to monospace font also. Rename this to File Manager Plugins, so the association is clear.

 - minimal working set: file-plug-manager + Navigation plugin. All other plugins are optional
 - Directory Navigation and Traversal
 - File and Directory Operations
 - Bulk Selection and Management
 - drug'n'drop to/from local computer
 - drug'n'drop to router local folders
 - copy/move mode for drug'n'drop switching with 'Alt' key
 - Editing text files with find/replace functionality
 - Hex editor
 - Save/load settings
 - Dumb Terminal

Signed-off-by: Dmitry R <[email protected]>

luci-app-file-plug-manager: Fixed application name and monospace fonts usage across plugins

Signed-off-by: Dmitry R <[email protected]>
@rdmitry0911 rdmitry0911 force-pushed the luci-app-file-plug-manager branch from 0b7a706 to d543b4a Compare December 24, 2024 11:49
@rdmitry0911
Copy link
Contributor Author

Revise hexeditor to monospace font also.

Perhaps revise to drag and drop. And at least a monospace font for any terminal. Do we need a terminal in a file manager?

Revise hexeditor to monospace font also. Rename this to File Manager Plugins, so the association is clear.

Have just updated this PR. Fixed monospace font usage across plugins, changed menu name an logo, drag'n'drop substituted with drag and drop As for the terminal, sometimes it is convenient to run a program and get its output here rather than use ssh or putty. And as far as its size is pretty small, I think it worth it.

@stokito
Copy link
Contributor

stokito commented Dec 24, 2024

I don't thing this worth a for separate app. Just add the "plugins" into the existing FM. The main problem is maintaining of this: you added an advanced functionality that is out of scope the Luci. And this is a complicated task by itself, for example showing an image with zoom and rotate.

I think the more stable solution would be to use an existing web file managers that are many lacks of contributors e.g.

  1. FileManager.org the most popular web UI with own backend in Go and frontend written in Vue https://github.com/filebrowser/filebrowser/tree/master/frontend
  2. For the WebDAV
    1. Chrome App with open sources but not sure if it can be reused.
    2. https://github.com/dom111/webdav-js the simplest and outdated, written in React
  3. WYSIWYG editors like FCKEditor and TinyMCE have own file managers
    Screenshot TinyMCE image gallery file manager
  4. NextCloud and others

So if we might use the same codebase for all file managers that would be just great. But not sure if this possible.

@rdmitry0911
Copy link
Contributor Author

I don't thing this worth a for separate app. Just add the "plugins" into the existing FM. The main problem is maintaining of this: you added an advanced functionality that is out of scope the Luci. And this is a complicated task by itself, for example showing an image with zoom and rotate.

I think the more stable solution would be to use an existing web file managers that are many lacks of contributors e.g.

  1. FileManager.org the most popular web UI with own backend in Go and frontend written in Vue https://github.com/filebrowser/filebrowser/tree/master/frontend

  2. For the WebDAV

    1. Chrome App with open sources but not sure if it can be reused.
    2. https://github.com/dom111/webdav-js the simplest and outdated, written in React
  3. WYSIWYG editors like FCKEditor and TinyMCE have own file managers
    Screenshot TinyMCE image gallery file manager

  4. NextCloud and others

So if we might use the same codebase for all file managers that would be just great. But not sure if this possible.

I agree and I'm reconsidering the idea. I'll try to find a way to keep the router footprint as small as possible and extend the functionality by using client's or other external system resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants