Files Manager XBlock is a pluggable extension to the Open edX platform that allows course creators to add a file manager to upload/download files and create, delete and download folders, and students to view and download them.
It leverages the chonky component to provide a intuituve and complete file manager that allows users to upload, download, delete and move files and folders including drag and drop support, toggleable view modes, keyboard shortcuts, and more.
This XBlock has been created as an open source contribution to the Open edX platform and has been funded by Unidigital project from the Spanish Government - 2023.
Open edX Release | Version |
---|---|
Palm | >= 0.7.0 |
Quince | >= 0.7.0 |
Redwood | >= 0.7.0 |
The settings can be changed in filesmanager/settings/common.py
or, for example, in tutor configurations.
NOTE: the current common.py
works with Open edX Palm, Quince and Redwood version.
When the XBlock has been installed, you can enable it in a course from Studio through the Advanced Settings.
Go to Studio and open the course you want to add the XBlock to.
Go to Settings > Advanced Settings from the top menu.
Search for Advanced Module List and add
"filesmanager"
to the list.Click Save Changes button.
From Studio, you can add the Files Manager Component to a course unit.
Go to edit section of the component from Studio.
Create your folders structure by clicking on the Create folder button.
Go to edit section of the component from Studio.
Upload files by clicking on the Upload files button.
NOTE: The soported files types are the same as the ones supported by the Open edX platform.
The uploaded files are added to the course assets, and they can be viewed from Content > Files in Studio.
The instructors have an Unpublished folder where they can view files into the course assets that have not been categorized yet in the component. This folder is not visible to the students.
In addition, instructors can preview files and folders that have been added to the component before publishing the changes in the course.
NOTE: The files uploaded to the component will be available in the course assets. However, their name will be changed to a string following this format:
files-<component_id>-<file_path>-<file_name>
. This is done to avoid conflicts with files that have the same name.
To delete a file, the following must be taken into account:
The deletion of files directly from the Files Manager component is restricted. If you want to delete a file, you must do it from the course assets.
To unpublish a file that you uploaded in the Files Manager component, you must move that file to the Unpublished folder. This action will not delete the file from the course assets, but it will remove it from the student view.
To publish a file you must move that file from the Unpublished folder to the destination folder. This action allow that file to be visible from the student view.
The students can view and download files and folders that have been added to the component from the LMS. The download can be individual or multiple (as a zip file).
XBlock is the Open edX component architecture for building custom learning interactive components.
You can see the Files Manager component in action in the XBlock Workbench. Running the Workbench requires having docker running.
git clone [email protected]:eduNEXT/xblock-filesmanager
virtualenv venv/
source venv/bin/activate
cd xblock-filesmanager
make upgrade
make install
make dev.run
Once the process is done, you can interact with the Files Manager XBlock in the Workbench by navigating to http://localhost:8000
For details regarding how to deploy this or any other XBlock in the Open edX platform, see the installing-the-xblock documentation.
If you're having trouble, the Open edX community has active discussion forums available at https://discuss.openedx.org where you can connect with others in the community.
Also, real-time conversations are always happening on the Open edX community Slack channel. You can request a Slack invitation, then join the community Slack workspace.
For anything non-trivial, the best path is to open an issue in this repository with as many details about the issue you are facing as you can provide.
For more information about these options, see the Getting Help page.
The code in this repository is licensed under the AGPL-3.0 unless otherwise noted.
Please see LICENSE.txt for details.
Contributions are very welcome.
This project is currently accepting all types of contributions, bug fixes, security fixes, maintenance work, or new features. However, please make sure to have a discussion about your new feature idea with the maintainers prior to beginning development to maximize the chances of your change being accepted. You can start a conversation by creating a new issue on this repo summarizing your idea.
Please do not report a potential security issue in public. Please email [email protected].