A tool that turns content files and a metadata spreadsheet into a Simple Archive Format (SAF) package for batch import to DSpace.
This version is a modernization of the original DSpace-Labs/SAFBuilder, updated to Java 17 with a clean architecture and a modern Desktop UI.
- Decoupled Directories: No longer restricted to the CSV folder. You can independently select the Source Directory (where your PDFs are) and the Output Directory (where the SAF package will be generated).
- Modern UI: Dark mode interface powered by FlatLaf for a professional look and feel.
- Native Packaging: Generate professional installers (.dmg for Mac, .msi for Windows) or portable app folders that include their own Java runtime.
- Java 17 or higher
- Maven 3.8+
- WiX Toolset v3.11 (Only required for creating Windows
.msiinstallers)
The easiest way to use SAFBuilder is via its modern interface:
# Run the local script to launch the UI
./safbuilder.shTo process a CSV and generate a SAF package from the command line:
./safbuilder.sh -c path/to/metadata.csv -d path/to/bitstreams -D path/to/output -zusage: safbuilder -c <metadata.csv> [options]
-c,--csv <arg> Path to the metadata CSV file.
-d,--directory <arg> (Optional) Source directory where content files (PDFs) are located.
-D,--destination <arg> (Optional) Destination directory for the generated SAF package.
-z,--zip (Optional) ZIP the resulting SAF directory (saved in Destination).
-o,--output-name <arg> (Optional) Custom name for the output folder (default: SimpleArchiveFormat).
-m,--manifest (Optional) Generate a skeleton CSV manifest from files in a folder.
-h,--help Show this help.Creates a formal installer for your operating system.
- Mac:
mvn clean package -Pnative-installer -DskipTests(Generates.dmg) - Windows:
mvn clean package -Pnative-installer -DskipTests(Generates.msi, requires WiX 3.11)
Creates a self-contained folder that can be shared and run without installation.
mvn clean package -Pnative-app-image -DskipTestsThe result will be in target/installer/SAFBuilder.
The classic single-file distribution:
mvn clean package -DskipTestsMaintained by: Hernán Lagos