Script - Export repository folder to server as a ZIP file
This script exports all contents of an OpenKM folder to application server as a ZIP file.
import java.io.File;
import java.io.FileOutputStream;
import java.io.StringWriter;
import org.apache.commons.io.IOUtils;
import com.openkm.util.ArchiveUtils;
import com.openkm.util.ContextWrapper;
import com.openkm.util.FileUtils;
import com.openkm.util.impexp.RepositoryExporter;
import com.openkm.util.impexp.TextInfoDecorator;
FileUtils fileUtils = ContextWrapper.getContext().getBean(FileUtils.class);
RepositoryExporter repositoryExporter = ContextWrapper.getContext().getBean(RepositoryExporter.class);
ArchiveUtils archiveUtils = ContextWrapper.getContext().getBean(ArchiveUtils.class);
// Destination
File file = new File("/home/openkm/import/folderExport.zip");
// OpenKM folder contents to be exported
String fldPath = "/okm:root/invoices";
FileOutputStream os = new FileOutputStream(file);
StringWriter out = new StringWriter();
File tmp = fileUtils.createTempDir();
repositoryExporter.exportFolder(null, fldPath, tmp, false, out, new TextInfoDecorator(fldPath));
archiveUtils.createZip(tmp, "import", os);
org.apache.commons.io.FileUtils.deleteDirectory(tmp);
IOUtils.closeQuietly(out);
os.flush();
os.close();