Download private files from other moodle platforms

Blocks ::: block_my_external_privatefiles
Maintained by Céline Perves
my_external_privatesfiles is a Moodle block that enable a user to retirieve a zip of his private files from one or more external moodles
Latest release:
11 sites
4 fans
Current versions available: 3

block my_external_privatesfiles : Download private files from other moodle platforms

my_external_privatesfiles is a Moodle block that enable a user to retirieve a zip of his private files from an external moodle


  • private files retrieved from username
  • Multiple external moodle possible
  • create zip files on external moodle that are destructed by cron
  • in case of webservice error doesn't, show the link to external moodle in block
  • in case of webservice error while downloading, show an error page

Security warning

  • This plugin use a capability block/my_external_privatefiles:can_retrieve_files_from_other_users that enable webservice account to donload files of other users
  • To improve security it is strongly recommended to generate token with IPrestriction on server side IPs



Block installation

Install block on blocks directory in the current moodle and in each external moodle youy need to connect to for each moodle concerned :

  • create a profile for webservice
    • add the protocol rest capability to this role webservice/rest:use
    • add the capbility to download files of other users block/my_external_privatefiles:can_retrieve_files_from_other_users *add the capability block/my_external_privatefiles:can_create_draftuserfiles_for_other_users
    • Create a user account for webservice account
  • assign role on system context for this newly created account
  • Under webservice administration :
    • Under Site administration -> Plugins -> Web Services -> External services, add a new custom service
      • check Enabled
      • ckeck Authorised users only
      • check Can download files
    • once created add funtions to the new custom external service
      • core_webservice_get_site_info
      • block_my_external_privatefiles_get_private_files_zip
    • add the webservice user account created previously to the authorized users of the new custom service
    • Under Site administration -> Plugins -> Web Services -> Manage Tokens
      • create a new token, restrited on your php server(s) for the custom external sservice previously created
      • This token will be one to enter in the block parameters off block_my_external_privatefiles

Block setting

Under Plugins -> Blocks -> Download private files from other moodle platforms

  • in my_external_privatefiles | external_moodles enter the key/value list of moodles/token to connect to
    • The format is a php list [moodle_url1,external_moodle_token_for_webservice_account1;moodle_url2,external_moodle_token_for_webservice_account2...]


Contributions of any form are welcome. Github pull requests are preferred.

File any bugs, improvements, or feature requiests in our [issue tracker][issues].



Screenshot #0


Céline Perves (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Thu, Mar 12, 2015, 8:17 PM
  • Fri, Mar 13, 2015, 7:48 AM
    Hi Céline. I have not had a chance to test the functionality of the block yet (although I expect it works for you). While reviewing the implementation, I spotted some issues and reported them into your tracker. Some are trivial to fix, some may need more work (such as overall code cleanup to meet the Moodle coding style standards). Of the reported issues, at least #1 and #2 would be good to have fixed before we approve this plugin.
  • Fri, Apr 3, 2015, 3:56 PM
    Hi Céline, I see that all issues on github are closed : . I understand that the newest version upload here contains all the fixes and your plugin is ready for the review.

  • Anthony Borrow
    Tue, Apr 7, 2015, 5:59 AM
    Céline - You may want to rename the Github repository to moodle-block_my_external_privatefiles as that more closely conforms to the naming convention.
  • Wed, Apr 8, 2015, 7:52 PM
    Hi Céline. I gave this another round of review and discovered some things to be discussed/fixed yet. Please see issues #5 to #8 in your tracker for details. Thanks in advance.
  • Sat, Oct 3, 2015, 10:36 PM

    Hi again. The plugins team is currently busy with other development tasks for the upcoming Moodle 3.0 release, so please expect delays in the review and approval process. Thanks for your understanding and patience, we will do our best to get to reviewing your plugin soon.

  • Thu, Nov 5, 2015, 10:05 PM

    Hi Céline. I finally got to reviewing this plugin again, sorry for the delay. Unfortunately, I have to mark this as needing more work now unless you are able to test the plugin on a more recent Moodle version a mark such version as supported. Please see for details.

    Thanks for your patience with the approval review process.

  • Tue, Nov 10, 2015, 9:46 PM
    I made a mistake ne supported version is the curent I work on that is to say 2.9
  • Tue, Nov 10, 2015, 9:47 PM
    I made an error while commiting the code
    I correct that and reask for aproval
  • Tue, Nov 10, 2015, 10:49 PM

    Hi Céline. Thanks for providing the updated version. I just put of further suggestions into your issues tracker and I am going to approve this now. Welcome to the Plugins directory!

Please login to post comments