Filemanager icon indicating copy to clipboard operation
Filemanager copied to clipboard

Road map for coordination

Open psolom opened this issue 8 years ago • 29 comments

Hi @simogeo I am working diligently on filemanager on my fork now. I have updated a lot of code, third-patry pluging and made a thorough refactoring (perhaps will announce a changelog later), but my fork hasn't tested well and, what is more important, it has backward incompatible changes so I have decided not to merge my fork so far. For this reason I don't have much time for bug fixing, but I am watching for issues and your updates, hope you will keep doing.

As we are working together simultaneously on different forks I propose to share road map here for both of us. Currently I am implementing drag'n'drop feature. Let me know if you are working on some new features and keep me in touch further, please.

My fork: https://github.com/servocoder/Filemanager

psolom avatar Feb 23 '16 05:02 psolom

Hi @servocoder : thanks for creating this thread. Indeed, this is the right place to share issues, updates and thoughts.

Actually, the main priority for your fork is to implement this security fix (see also #453)

See also theses improvements :

  • https://github.com/simogeo/Filemanager/commit/fb27b08349e888e554c9edef9501a427b5393ae1
  • https://github.com/simogeo/Filemanager/commit/d8b1fc03ce682d64f838abf8a572e2d8b8ae7368

Let me know if you are working on some new features and keep me in touch further, please.

I'll let you know. Thanks Also have a look on WIP labeled issues - just one right now.

simogeo avatar Feb 23 '16 13:02 simogeo

Yea, I saw #453 and your commits, I am going to merge them after completion drag'n'drop feature - #84. After that I will be able to take a look the things you have pointed.

psolom avatar Feb 23 '16 13:02 psolom

drag'n drop is wonderful ! (by the way, I will maybe install your fork in a public server)

simogeo avatar Feb 23 '16 13:02 simogeo

It would be great if you will test it, but you'd better to wait for next commit with drag'n'drop, because I have found some bugs. I will let you know when it is ready.

psolom avatar Feb 23 '16 14:02 psolom

Hi @simogeo, I believe the release on my branch is stable enough finally. It would be great if you are able to test it. There are lot of changes, I have prepared a changelog, but I could miss something due to amount of new features and bugfixes. Check the changelog below:

  • Drag & Drop feature
  • Updated third-party libraries and plugins
  • Optimized for integration with frameworks - added "pluginPath" option to load scripts correctly when using custom path routing
  • Optimized for integration with S3 server, see below (S3 PHP connector in progress...)
  • Improved Filetree: allow to open and display multiple subfolders at a time
  • Improved manipulation of Filetree nodes:
    • rewritten most of items manipulation methods to perform all possible operations on client-side
    • this made possible to significantly reduce number of server requests (which is critical for S3 servers that charge you for each request)
    • implemented "moveNode" for Drag & Drop and "replace" action
  • Implemented natural sorting on the client-side for Filetree nodes and Fileinfo items after "upload", "add", "rename", "move" and other actions
  • Improved list view sorting: sort settings are persistent during folders navigation and not reset as it was before
  • Caching result of some requests which were duplicated for Filetree and Fileinfo sections (like "getfolder")
  • Reduced number of requests to server by implementing "getFolderData" method that caches data for a short time
  • FM template wrapped with ".fm-container" container; CSS rules in all themes were encapsulated to affect only elements inside container
  • New transliteration methods on client and server sides (PHP) to support a wide range of chars (cyrillic, chinese, etc.)
  • Auto calculating FM height when place it to the non-empty page to fill the empty space (between header and footer, for example)
  • Improved FM height calculating (check required for CKEditor and other WYSIWYGs)
  • A lot of bugfixes, improvements and changes:
    • fixed: security vulnerables in PHP connector ("getinfo", "rename" and "move" methods)
    • fixed: "Parent Folder" button in file preview mode works correctly
    • fixed: sorting respects type of item (file/folder) and doesn't mixes them together
    • changed FM template and scripts to support updated context menu plugin
    • etc.

psolom avatar Mar 03 '16 12:03 psolom

And remember that my release has some backward incompatible changes, like new HTML template, for example.

psolom avatar Mar 03 '16 12:03 psolom

@servocoder : Sounds really great ! I'll try to test this soon.

simogeo avatar Mar 05 '16 10:03 simogeo

I did some tests and already observed some issues :

  • drag'n drop returns a "no way" to me from both fileTree and main panel
  • some font style missing (or changed) in modal box it seems - not a big deal.
  • is the unfolding effect wanted in impromptu modal box ?
  • there is no "move folder to" item in contextmenu
  • the loading icon in filetree has been lost. Available at : https://github.com/simogeo/Filemanager/blob/master/scripts/jquery.filetree/images/square-loading.gif

I only tested with default config. Great work.

simogeo avatar Mar 08 '16 19:03 simogeo

Thank you! I will check drag'n'drop issue with default config and other stuff a bit later. As for "move folder to" - I will fix it but I am not sure we need it since drag'n'drop is implemented. Can you suggest a case when it is useful and there is no capability to make it with drag'n'drop ?

psolom avatar Mar 10 '16 15:03 psolom

As for "move folder to" - I will fix it but I am not sure we need it since drag'n'drop is implemented. Can you suggest a case when it is useful and there is no capability to make it with drag'n'drop ?

Actually, you're right, there is no need it seems. But according to me, the "move folder" button on right panel should also disappear in that case.

simogeo avatar Mar 11 '16 12:03 simogeo

Finally! :) I have commited a big update to my fork: https://github.com/servocoder/Filemanager

A short changelog (something is missed for sure):

  • implemented plugins system for PHP connector (server-based)
  • implemented AWS S3 plugin; @see https://github.com/servocoder/Filemanager/wiki/Integration-with-AWS-S3-storage
  • extended list of previewed file types via ViewerJS; @see config["pdfs"]["pdfsExt"]
  • added preview of MS Office file types via Google Docs Viewer; @see config["docs"]["showGoogleViewer"]
  • Dropzone file uploader replaced with Blueimp's jQuery-File-Upload, which provides out of the box following features:
    • chunked upload; @see config["upload"]["chunkSize"]
    • image resizing; Wideimage lib was removed,
    • image orientation (orientation), etc.
  • new design and features in multiple upload window for preview items; controls for each item (start, abort, resume, delete, etc.)
  • config file "upload" section was extended and refactored
  • added new "Type" column in list view;
  • new "downloadItem" method, to handle download errors correctly;
  • better error handling for client-size and in PHP connector;
  • jQuery-ContextMenu plugin reverted to v.2.0.1 until the bug with positioning is fixed; @see https://github.com/swisnl/jQuery-contextMenu/pull/354

psolom avatar May 07 '16 16:05 psolom

IMPORTANT: PHP is the only actual connector currently. Compatibility with others connectors was completely broken I guess, refactoring required.

psolom avatar May 07 '16 16:05 psolom

@simogeo Please test my fork. I guess all or most of your last notes are fixed now. Waiting for your feedback. In any case don't rush to merge my fork to the main repo. It shold be well testes.

psolom avatar May 07 '16 16:05 psolom

@servocoder : looking forward to test this again ... I hope, I'll have time to do it this week. I let you know.

IMPORTANT: PHP is the only actual connector currently. Compatibility with others connectors was completely broken I guess, refactoring required.

It's maybe even better ! Actually I could experience that a connector with no maintainer is not worth value ...

simogeo avatar May 08 '16 17:05 simogeo

Great! Let me know when you do.

Meanwhile new update:

  • new option "fileRootSizeLimit" to limit max size of root folder (in Bytes)
  • new "summarize" method in PHP connector to retrieve storage details (click upon "i" button in the right bottom to invoke)
  • config file refactoring: removed "autoload" option; thumbs related options moved from ["options"] to ["images"]["thumbnail"] section
  • all lang files renamed from ".js" to ".json"
  • new translations

psolom avatar May 10 '16 16:05 psolom

Docs are outdated currently, I'm going to adjust them soon.

psolom avatar May 10 '16 16:05 psolom

@servocoder : big hardware issue right now ... I d'ont have a ready use environnement. I'll test it asap ... sorry for that

simogeo avatar May 16 '16 14:05 simogeo

Hi @simogeo, how is your hardware issue?

Since I expect my fork to be tested I assume some bugs will occur during the testing of new features. To track and fix all issues explicitly, I've decided to create new repo: https://github.com/servocoder/RichFilemanager

I also believe that such a filemanager must have a particular name, not just "Filemanager", this will make it more recognizable and help to find it easily. Of course it contains link to the original repo, noted as improved version and so on. So you and anyone else are able to test and track my code in the new repo. It makes sense to expose a link to the new repo at "readme" file of the current repo, to share new version with others and encourage them to test it. Are you ok with that?

psolom avatar May 19 '16 07:05 psolom

@servocoder : you did well creating a new repo. My system is not ready yet but I will try asap ... I also will do online.

I'll update the readme quickly to let people try. is RichFilemanager the definitive name ?

bBy the way, you online demo is very slow ... This will not serve the FM at all.

simogeo avatar May 20 '16 08:05 simogeo

I see.

I'll update the readme quickly to let people try. is RichFilemanager the definitive name ?

Do you have some other suggestion regarding the name? Share please.

bBy the way, you online demo is very slow ... This will not serve the FM at all.

Yea, I don't have a free domain name currently, so I use free hosting and domain name. Do you have any to deploy the code from my repo?

psolom avatar May 20 '16 09:05 psolom

hi servocder. Got few time only ... (no time to investigate on errors)

Just unzipping master file and putting it to webroot folder, I get the following error message : The file /RichFilemanager/ does not exist.

http://localhost/RichFilemanager/connectors/php/filemanager.php?mode=getfolder&path=%2FRichFilemanager%2F&config=filemanager.config.json&showThumbs=true&time=1464639187946&_=1464639187352

{"Error":"The file /RichFilemanager/ does not exist.","Code":"-1","Properties":{"Date Created":"","Date Modified":"","filemtime":"","Height":0,"Width":0,"Size":0}}

But I guess userfiles/ should automatically added, isn't it ?

simogeo avatar May 30 '16 20:05 simogeo

Hi @simogeo ! You are right, the bug has confirmed. It occured in some cases. I have fixed it today and ask you to try again. Should be smooth now.

psolom avatar Jun 12 '16 17:06 psolom

I've only tested with default config options. I spotted two bugs only .... See https://github.com/servocoder/RichFilemanager/issues/

Since there is some paths issue, I guess, you will have some more using serverRoot and fileRoot settings. It has always been a nightmare to me ;-)

By the way, there is also some few thing I already mentioned before :

  • some font style missing (or changed) in modal box it seems - not a big deal.
  • is the unfolding effect wanted in impromptu modal box ?
  • the loading icon in filetree has been lost. Available at : https://github.com/simogeo/Filemanager/blob/master/scripts/jquery.filetree/images/square-loading.gif

Just aesthetic stuff. I could do some PR if you agree with that !?

Anyway, Good job :+1: . Drag'n drop feature is really comfortable.

simogeo avatar Jun 12 '16 19:06 simogeo

Thank you for the time you have spent for testing!

Yea, I have been trying to simplify all that serverRoot and fileRoot related staff on both server-side and client-side. It was fine while I tested it at a simple host like "http://filemanager.loc" as a base path and now some problems is surfaced for other cases. It's good that you point these issues, and it seems your nightmare is coming to me :)

I have considered your aesthetic notes. It's a good idea to create PR for each of them, but let me deal with the PRs that you have already created, at first. Nice to hear that you like new features in overall.

I will come back when the current issues is fixed.

psolom avatar Jun 13 '16 07:06 psolom

@servocoder I'm the developer of the java backend for the filemanager of simogeo. If I'm right, the project is deprecated. That's why I'm thinking about switching to your RicheFilemanger. Do you think the time is right for switching? Is your project stable enough?

th-schwarz avatar Aug 01 '16 17:08 th-schwarz

Hi @th-schwarz Glad to hear you wish to maintain Java backend. Server-side PHP connector works well and not going to be changed currently. I have loads of plans for frontend to implement, but that's apply to client-side solely. So answer is YES, the API is stable enough, you could follow it and also address to PHP connector for reference.

psolom avatar Aug 01 '16 18:08 psolom

@th-schwarz : could your java connector be embedded into the RichFilemanager package ? Would be great to centralize all of them in one repo only.

simogeo avatar Aug 12 '16 07:08 simogeo

Right, @th-schwarz please check out this thread to get the idea of the current state of Java connector implementation. If you sre are still interested, of course.

psolom avatar Aug 12 '16 07:08 psolom

@servocoder : could you email me please ? (don't have your email). Mine is in php file.

simogeo avatar Sep 09 '16 14:09 simogeo