Closed (won't fix)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
13 Aug 2011 at 13:50 UTC
Updated:
13 Jan 2013 at 14:10 UTC
This project is a module of file repository (like Jyraphe for example), very easy to install and easy to use.
With this, it is easy to share (anonymously if we want) files with unique URLs created randomly.
Some features :
- "One time download" : a file can be downloaded only once, then the file is deleted.
- "Time limit" : a file can be shared during a period (1 min, 1 hour, 1 day, 1 week or 1 month). After that time, the file is erased.
- "File key" : a pass-phrase can be used to prevent that the file is downloaded by anyone.
These features can be used at once, or mixed like you want.
The files are stored in private filesystem for security.
Comments
Comment #1
berkas1 commentedYou have to post a link to your drupal.org sandbox project for review of application.
Comment #2
nicolaspalmier commentedSorry.
The link to this sandbox project is : http://drupal.org/sandbox/nicolaspalmier/1248312
Thanks.
Comment #3
berkas1 commentedi don´t see any readme file in your repository
Comment #4
nicolaspalmier commentedOK, I have added LICENCE.txt, README.txt and updated anonymous_sharing_file.info.
Thanks for you help and your patience.
Comment #5
beanluc commentedNice move, a little more than necessary :) LICENSE.txt is added automatically by drupal.org packaging system, you shouldn't have it in your repo.
Comment #6
pillarsdotnet commentedVery cool concept and even better it's D7 so I can actually use it. Will review when I find time.
Comment #7
nicolaspalmier commentedOK. Thanks for using it. Waiting for comments :-)
Comment #8
pillarsdotnet commentedNot using it *yet* -- haven't even looked at the code *yet*, but yeah; subscribing at least.
Saw a nifty and possibly related idea mentioned in IRC -- For image files, make the thumbnail public but the full-sized version private. I can imagine use-cases in online photography sales.
Comment #9
nicolaspalmier commentedOK, i will work on this idea for a near evolution of this module. Thanks
Comment #10
13rac1 commentedComment #11
nicolaspalmier commentedOK, i have worked with these elements.
I have some features to add in a near future, but this release can be used as it.
Don't you think ?
Thanks for your help.
Best regards,
Nicolas Palmier.
Comment #12
klausiReview of the 7.x-1.x branch:
Also in many other places.
Also in many other places.
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Comment #13
nicolaspalmier commentedOK. I have corrected comment lines exceeding 80 characters, and I also have used a new variable to set file extensions allowed.
Thanks for your help.
Best regards,
Nicolas Palmier.
Comment #14
doitDave commentedHi,
Automated review (Please keep in mind that this is primarily a high level check that does not replace but, after all, eases the review process. There is no guarantee that no other issues could show up in a more in-depth manual follow-up review.)
Review of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
HTH, dave
Comment #15
nicolaspalmier commentedHello,
Corrections related to automated review :
- Lines in README.txt exceeding 80 characters have been remade
- Comments inline without space after "//" have been rewrited
- Space after opening "array(" has been erased
Concerning all text files, in my editor there is one and only
one "\n" at the end of these. Can it be an error due to encoding ?
Thanks.
Nicolas Palmier.
Comment #16
nicolaspalmier commentedI have tried to add two "\n" in my text editor, and when it is pushed to GIT, it seems only one line is kept...
Maybe a problem with my config of TortoizeGIT...
Thanks.
Nicolas Palmier.
Comment #17
doitDave commentedAutomated review (Please keep in mind that this is primarily a high level check that does not replace but, after all, eases the review process. There is no guarantee that no other issues could show up in a more in-depth manual follow-up review.)
Review of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Manual review (in brief):
HTH, dave
Comment #18
nicolaspalmier commentedHi,
I have written again my ending lines of text files with one single "\n".
And I have applied the instructions described in http://drupal.org/node/1127732 at step 5.
I can't add screenshots on Edit project page, so I have added 3 image files in the master branch, but I can't use it in the "Description" field because of the difference of URI domain... Can you help me ?
After having searched, I don't know similar projects, if there are any.
Thanks a lot for your patience and your time elapsed to help me in this project.
Nicolas Palmier.
Comment #19
doitDave commentedHi,
That's partly correct, but you may host them outside and just reference them with a link atm. :) Putting them in the repo is no problem IMO, but not very helpful for a site builder's first glance (which often decides about the downloading and trial of a module). But I would not recommend putting them in the master branch (which, as a result, is not empty again then ;))
Ok:
BTW: I subscribe that this is a nice project. Will you backport it to D6 as well? :)
Comment #20
misc commented@nicolaspalmier has been contacted to ask if the application is abandoned.
http://drupal.org/node/894256
Comment #21
nicolaspalmier commentedHi, just one word to say this is not an abandoned application, just having no time in these days, but in some weeks i will be more available. Thanks.
Comment #22
misc commentedHi, you marked as active (which I think is not used for applications, or?), but you say you will work on this later, could we mark this as postponed until you have the time to work on it?
Comment #23
paranojik commentedWhen I try to install the module I get two errors:
- first it complaints if private file system is not set: if this is a requirement, you should check this in hook_requirements() beforehand and act appropriately.
- WD php: Recoverable fatal error: Argument 2 passed to t() must be an array, string given, called in ...anonymous_file_sharing.install on line 107
Aside the mentioned problems the code looks quite solid and clean. Nice job!
Comment #24
nicolaspalmier commentedOk, i will see this today to make needed corrections. Thanks for the tests ! It will be soon fixed.
Comment #25
nicolaspalmier commentedFixes have been made. I hope this module will be useful for others. :-)
Thanks.
Comment #26
nicolaspalmier commentedFixes have been made. I hope this module will be useful for others. :-)
Thanks.
Comment #27
forestmonster commentedHi Nicolas, thanks for your work. Cool dropbox-style file uploads by unauthenticated users. Unlike the commercial Dropbox, but like a classic spy "dropbox."
All in all, though, an interesting idea, and I look forward to it.
Comment #28
forestmonster commentedComment #29
nicolaspalmier commentedHi forestmonster,
I will work in these days on the issues you found, and some others releaved by users (like feuerste and Tech).
When this development will be stable, i will create a full project (when i will able to) with a name more significant than this one.
Thanks !
Comment #30
patrickd commentedkeep it in needs work until issues are resolved.
Comment #31
nicolaspalmier commentedHi,
I would have your opinion on the future new name of this project.
What do you think about "Drupbox" ?
Thanks.
Comment #32
pillarsdotnet commentedI love "Drupbox" for a name.
Comment #33
forestmonster commentedIt is a really cool name.
I'm a little concerned for you about the similarity to the Dropbox name, since their Terms of Service indicate that "These Terms do not grant you any rights to use the Dropbox trademarks, logos, domain names, or other brand features," and this may produce "confusion in the mind of the consumer." Since the venue for any legal disagreement is probably going to be California, you may want to check with a lawyer there who specializes in copyright and intellectual property.
Comment #34
nicolaspalmier commentedAnd what about "sharemyfile" or "sharedfile" ?
Thanks.
Comment #35
nicolaspalmier commentedComment #36
nicolaspalmier commentedComment #37
patrickd commentedBe careful about what you tell people on your project page, some of them won't know what you mean with "A check is made during hook_requirements step". Don't get too technical! Tell them that they can find it at the status report page.
Also nobody (I know) reads readme's try to put all important information onto the project page.
description = Shares files anonymouslyMaybe rather "Provides a system for sharing files anonymously" ? that kind of pattern would follow most other module descriptionsDon't make the descriptions of in your schema's translatable! (hook_menu(), hook_schema() and watchdog() are the places where you should never use such stuff).
Also drupal already has a nice cron-queue api / general queue api, you should have a look on these before reinventing the wheel here.
all - your variables must be prefixed with the full module name!
install, line 41: $types = node_type_get_types(); - what for?
It's not common to use underscores in permission name strings (anyway you can call them however you like)
I'd suggest you to use $items['afs/%node'] for your path, this way it's required that this path get's a node id instead of the title, however it's much easier to handle as you directly get the node object by the parameter and the existance of the node is checked automatically and you don't have to care about this.
To keep it working with nodetitle's in url's you can simply make use of path aliases (this would be the same like node and autopath works, nodes only care about node/%node and autopath give's the possibility to use any other path instead)
sha1(rand());commonly here'sdrupal_hash_base64(drupal_random_bytes(55));used instead'#value' => 'Download',make all human readable stuff translatable with t() (sure with the exceptions mentioned above)your always doing a space between
issetand(, stop it! ;P'TRUE' => t('Yes'),,'60' => t('One Minute'),Got a boolean? use a it as boolean not as string! Got a number? use it as number not as string! - don't make php suffer of instant variable casting ;)Please resolve at least all major (bold) issues, the other's are personal suggestions (I highly recommend :P)
regards
Comment #38
nicolaspalmier commentedThanks for your review. I will fix all these points in these days.
Best regards.
Comment #39
nicolaspalmier commentedHi,
All necessary corrections were made to the module.
When do you think I will be able to publish this module as a "full project" ?
Thank you for your patience and time you spend on my developments.
Best regards.
Comment #40
forestmonster commentedNicolas, thank you for your patience! We know that the review process can be somewhat lengthy. Please review the "Application Review Timelines" (scroll down that page) in order to adjust the priority of this project application as appropriate.
In addition, have you already discovered that you can get your issue advanced in the review queue (a "review bonus"), if you review other project applications?
"sharemyfile" and "sharedfile" seem fine to me.
Comment #41
nicolaspalmier commentedHi Forest,
Thanks for your explanations.
I think during the summer i could make some reviews of others projects to get some bonuses.
The name of my full project for Anonymous File Sharing will be "sharemyfile".
I change the Status for "RTBC" following the "Application Review Timelines"... and hope to be more productive this summer because I have many future projects in standby, and which could be released soon ;-)
Best regards.
Nicolas
Comment #42
klausiDon't RTBC your own issues. The application review timelines only state that can increase the priority of your issue after a certain timeframe.
Comment #43
krylov commentedHi, - I have the following suggestions to you for the code.
in anonymous_file_sharing.module:
1. use underscore ("_") for function names you intend for module's use only.
2.
line 74
function anonymous_file_sharing_node_presave($node) {
--- Indicate in comments that this is a hook implementation
3.
line 105
function anonymous_file_sharing_node_view($node, $view_mode, $langcode) {
--- Indicate in comments that this is a hook implementation
4.
line 286
function anonymous_file_sharing_download_form_validate($form, &$form_state) {
--- Indicate in comments that this is a hook implementation
5.
line 328
function anonymous_file_sharing_download_form_submit($form, &$form_state) {
--- Indicate in comments that this is a hook implementation
6.
line 328
function anonymous_file_sharing_download_form_submit($form, &$form_state) {
--- Is this a hook?
7.
line 445
function anonymous_file_sharing_block_view($delta = '') {
--- Indicate in comments that this is a hook implementation
8.
line 460
function anonymous_file_sharing_create_form($form, &$form_state) {
--- Is this a hook?
9.
line 524
function anonymous_file_sharing_create_form_submit($form, &$form_state) {
--- Indicate in comments that this is a hook implementation
Optional:
1. For text strings use either ' or " consistently. Some of your t() use ", while other '.
2. For expressions like this one
338 $file_one_time = $temp_node->afs_one_time[LANGUAGE_NONE][0]['value'];
you may want to assign the value to a variable and reuse this variable in the code rather than doing the
evaluation several times. This will make the code more readable, too.
Comment #44
misc commentedI think this should be marked as needs work after #43.
Comment #45
nicolaspalmier commentedOkay, i'll work on it this week end.
Thx.
Comment #46
nicolaspalmier commentedHi,
I've done all recommended things in this review, but this is more details than useful code review I did. Can I make a full project with this or its quality is not enough for that ?
Thanks for you contributions.
Nicolas
Comment #47
cubeinspire commentedBonjour Nicolas,
1. First thing I would suggest to get your module approved is to follow the guidelines for the approval process:
http://drupal.org/node/1011698
Those informations should be added in the issue description, not inside a comment. That will make the reviewers task easier and you will get more chances of getting the full project permission.
2. You should remove Master branch and check that you have set the default branch.
see: http://drupal.org/node/1659588 and http://drupal.org/node/1127732
3. There are two errors regarding the code standards:
See: http://ventral.org/pareview/httpgitdrupalorgsandboxnicolaspalmier1248312git
4. You set variables on hook_install, this is not needed as you can use the default value in the variable_get function.
5. This is not really a bug but more a suggestion. The allowed extensions could be configured dynamically on a config page instead hard coding them on the module installation. Beside that there should be also free extensions by default like the ogg format for video, and not only privative extensions as avi or mp3. Well maybe it should be considered as a bug :-)
6. This is very important ! There is a problem on line 157 of the install file. You have not set properly the pair 'value' => 'label', then you create a form again on the module file (line 477) that is never called. Instead of that you should call hook_form_FORM_ID_alter to alter the already existing creation form for the node. You can read again the hook definition to get the details api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_form_FORM_ID_alter/7
Please keep the good job correcting the issues as I found this module very interesting and I'm sure lot of people can get a good use of this.
Comment #48
klausiClosing due to lack of activity. Feel free to reopen if you are still working on this application.