-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Feature Request: Provide different ways to upload and store attachments, and drag attachment to card to upload it #142
Comments
i agree 👍 |
Local filesystem would definitely be nice. Not sure someone who wants a self-hosted board is going to really want to store data on Google or Amazon clouds though, as that largely defeats the point. |
Users may or may not find value in self hosted attachments. I'd prefer if i could like to my google drive account. Any ideas of how we might achieve non-gridfs storage? |
I will add S3, Google Drive support etc. I'll add this to my todo list. |
supporting something like owncloud or next cloud would be great, also supporting access to davros on sandstorm would also be pretty cool! I doubt that using google, or AS would help much, this defeats the point point of own hosting ! |
Planning to use this package https://atmospherejs.com/malibun23/files |
Storing attachments in a different manner would certainly help organisations using Wekan self-hosted. The last thing they want is to have data stored in many places. In my mind AWS and GDrive would be the most applicable places to store and they're both supported by the "files" package |
@ocdtrekkie @ahashibon please, note, s3 does not "defeat the point" because it's a protocol and there's https://github.com/minio/minio self-hosted alternative with the same api (@rossmansfield mentioned it as well) |
@xet7 @blaggacao did you have time to get back on this btw? could you maybe add p.s oh, it seems like tech discussion continues here #3272 |
@rossmansfield feel free to plegde anything https://www.bountysource.com/ or in crypto https://gitcoin.co/ do you still need this? |
The current implementation on #3273 is just a special implementation of a storage backend towards GridFS MongoDB Buckets. With the same strategy, those can be stored anywhere given a connector is provided. See for example here. I'd assume, storing to file system is as simple as not deleting the uploaded files and not storing them into a specific backend. |
@blaggacao thanks for such a quick reply, btw, what do you think about another idea: given there's already a self-hosted minio and some images inside - can we just render direct |
Yes the download location of
would be rather awkward to support. Though nothing speaks against using a self hosted minion and populate it through wekan uploads. |
oh, sorry, didn't realised input can contain just html #2635 (comment) |
Here is where a hook intercepts the upload and stores it into the back-end (and deletes the uploaded files): |
From @razum2um
For Wekan, current payment options are at https://wekan.team/commercial-support/ . Those BountySource and Gitcoin or anything else are not in use at Wekan, it was already a lot of work to move away from BountySource #3177 . |
@mfilser @NotTheEvilOne @blaggacao Any ideas how to fix my first try of AWS S3 code 21e2eab so that after upload and optionally checking file with ClamAV etc, it would upload file to S3 ? And show attachments at cards, be able to move files to S3, etc? Beginnings of those changes are at feature-s3 branch https://github.com/wekan/wekan/tree/feature-s3 Related https://github.com/veliovgroup/Meteor-Files/blob/master/docs/aws-s3-integration.md |
Hi, Fortunately from the validation part no changes are required at all. Validation and storage movement are separated steps by now and can easily work with your changes. I'll try to find some time to look more detailed into the S3 branch over the holidays. |
I fixed some typos and added some more code so that WeKan starts properly with those S3 related changes, but I have not yet tested does it work. Have you made any changes? |
I listed related S3 commits at https://github.com/wekan/wekan/blob/master/CHANGELOG.md#upcoming-wekan--release I merged feature-s3 branch to master, and deleted feature-s3 branch, because it seems WeKan starts anyway with these changes. Currently I'm getting this error, when trying to click button to move attachment to S3. Trying to figure it out.
|
I got some S3 example working at https://github.com/wekan/meteor-files-website where I made these changes wekan/meteor-files-website@c56185e so that it would start properly with:
So with that example, I'm able to upload to S3. I'll look what is different with that example, and current WeKan code, what would be required to get WeKan code working. |
I asked from Meteor-Files is there possibility for Custom Endpoint for MinIO veliovgroup/Meteor-Files#862 |
It's possible to use MinIO and other cloud storage as filesystem mounted with Rclone, docs here: It works with move to filesystem button (not move to S3 button, that does not work yet). |
…encies. S3/MinIO support In Progress. Thanks to xet7 ! Related #142
@xet7, do I understand correctly that the current WeKan code using I pass an object in the {"s3":{"endpoint": "https://storage.googleapis.com", "port": "443", "sslEnabled": "true", "bucket": "bucket-name", "key": "client-key", "secret": "client-secret"}} but I still get the error |
There is some file store strategy pattern using code here, but some is still missing from being able to move files to/from S3 compatible storage: |
Yes, I took a closer look at the code and found the reason. In this part, the When initializing the Since this is not happening, later in the code, when the Further down the code, there are additional issues that will prevent it from working correctly:
It seems to me that the implementation of working with S3 in its current form is still too early to add to release versions. Perhaps it would be wise to temporarily disable this functionality and wait for its full implementation? |
Hmm, disable how? |
I made this strategy classes (design pattern), but only implemented GridFs and Filesystem, not S3. I wonder who made the S3 implementation as it's probably missing a lot of code to get it working. Also, I doubt the S3 code was successfully tested to have it in an official wekan release? |
@xet7, ideally, all the code related to the S3 implementation should be moved to a separate After these changes, a new release will need to be issued. @mfilser, the author of the commits that added the implementation is @xet7 |
Large databases are not easy to handle and to backup.
It would be useful to store attachments as file in the local filesystem (or maybe on a Cloud Storage provider like Google Cloud Storage or Amazon S3?).
The text was updated successfully, but these errors were encountered: