Skip to content

eduNEXT/xblock-filesmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilesManager XBlock

status-badge License CI

Purpose

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.

Compatibility Notes

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.

Enabling the XBlock in a course

When the XBlock has been installed, you can enable it in a course from Studio through the Advanced Settings.

  1. Go to Studio and open the course you want to add the XBlock to.

  2. Go to Settings > Advanced Settings from the top menu.

  3. Search for Advanced Module List and add "filesmanager" to the list.

  4. Click Save Changes button.

    Enable XBlock in a course

Adding a Files Manager Component to a course unit

From Studio, you can add the Files Manager Component to a course unit.

  1. Click on the Advanced button in Add New Component.

    Open Advanced Components
  2. Select filesmanager from the list.

    Select Files Manager Component

Using the Files Manager Component

Create folders

  1. Go to edit section of the component from Studio.

  2. Create your folders structure by clicking on the Create folder button.

    Create folder

Upload files

  1. Go to edit section of the component from Studio.

  2. Upload files by clicking on the Upload files button.

    Upload files

    NOTE: The soported files types are the same as the ones supported by the Open edX platform.

  3. The uploaded files are added to the course assets, and they can be viewed from Content > Files in Studio.

    Files in Course Assets
  4. 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.

    Course Assets Unpublished folder Unpublished folder

    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.

Delete files

To delete a file, the following must be taken into account:

  1. 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.

    Delete file Delete file from course assets File removed from Files Manager component
  2. 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.

    Unpublish file Move file to Unpublished folder
  3. 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.

    Publish file Move file to destination folder

View from the Learning Management System (LMS)

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).

View from the LMS

Experimenting with this XBlock in the Workbench

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.

Getting Help

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.

License

The code in this repository is licensed under the AGPL-3.0 unless otherwise noted.

Please see LICENSE.txt for details.

Contributing

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.

Reporting Security Issues

Please do not report a potential security issue in public. Please email [email protected].