Skip to content

uPortal-Project/esup-filemanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

648 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESUP File Manager

Esup File Manager allows users to perform file management on their home directories.

Features

  • CAS authentication
  • Modern interface built with Vanilla JavaScript (ES6 modules)
  • Responsive interface optimized for both mobile and desktop devices
  • Native touch support and mobile gestures
  • Copy/cut/paste, rename, create folder, upload/download files
  • Copy/cut/paste inter-servers
  • Multiple file systems support via Apache Commons VFS: http://commons.apache.org/vfs/filesystems.html - URIs like file:///home/bob, FTP and SFTP supported
  • SMB support (with smbj), support kerberos authentication
  • S3 storage support (with s3 from awssdk)
  • Webdav support (with Sardine)
  • Built on Spring Boot 3.5.x and Bootstrap 5
  • Server access configuration via configuration file

This version of esup-filemanager is now a standalone servlet application with Spring Boot

Since April 2026, esup-filemanager is now a standalone servlet application powered by Spring Boot 3.5.x and no longer a portlet application.

Breaking Changes

  • The application is no longer a portlet and cannot be deployed in a portlet container.
  • The frontend stack has been fully replaced (no jQuery, no jQuery Mobile).
  • Java 21 is required (up from the previous Java version requirement).
  • The application is now a standalone Spring Boot application and can be run directly with mvn spring-boot:run or packaged as a WAR file for deployment.
  • CMIS support has been removed in this version.
  • SMB support has been migrated from jcifs(-g) to smbj, including support for Kerberos authentication.
  • S3 support has been implemented using s3 library from awssdk.
  • Rules for file system access have been simplified and use Spring El Expressions and no more uPortal groups/attributes/preferences evaluators.
  • Configuration is now handled via application.properties (Spring Boot) and drives.xml ; configuration from older versions is not compatible and must be adapted.

Technologies

Backend

  • Spring Boot 3.5.x
  • Spring Security with CAS support
  • Apache Commons VFS for file system access
  • Thymeleaf for templating

Frontend

  • Vanilla JavaScript (ES6 modules) - jQuery and jQuery Mobile have been completely removed
  • Bootstrap 5 for CSS framework and UI components
  • Bootstrap Icons for iconography
  • Responsive interface adapted for mobile and desktop
  • Native touch gestures and mobile interactions support

Configuration

You have to configure your application with CAS parameters in application.properties file.

drives.xml let you configure the drives you want to access.

This project requires Java 21 and Maven to build.

Package

To have the war file, you have to run the maven command :

mvn clean package

Run

If you want to launch directly the application, you can run the command :

mvn spring-boot:run

Next go to http://localhost:8080

Development environment with Docker

Default configuration is set to use CAS server and filesystems servers running in Docker containers. You can start them with the command :

docker compose -f src/etc/docker-compose.yml up

This will start a CAS server with test users and filesystems servers (s3, webdav, samba, sftp).

Users are :

  • joe / pass
  • jack / pass

With this and the command 'mvn spring-boot:run', you can access esup-filemanager on http://localhost:8080/

Testing environment with Docker

If you want that esup-filemanager run with docker containers also, just run docker compose with the profile 'with-esup-filemanager' :

docker compose -f src/etc/docker-compose.yml --profile with-esup-filemanager up

This will start esup-filemanager and all the servers it needs to run (CAS, openldap, s3, webdav, samba, sftp).

No need to run 'mvn spring-boot:run' in this case and no need to hava java, just docker and docker compose are required.

Go to http://localhost:8080/ and login with joe/pass or jack/pass to access esup-filemanager.

Screenshot

Esup File Manager Screenshot

Esup File Manager Screenshot - Mobile

Esup File Manager Screenshot - JavaPerf

About

ESUP File Manager is a JSR286 Portlet. Esup File Manager allows users to perform file management on their HomeDirs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors