Script - Export repository folder to server as a ZIP file
This script exports all contents of an OpenKM folder to the 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);
// DestinationFile file = new File("/home/openkm/import/folderExport.zip");// OpenKM folder contents to be exportedString 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();