Script - Exportar una carpeta del repositorio al servidor como archivo ZIP
Este script exporta todo el contenido de una carpeta de OpenKM al servidor de aplicaciones como un archivo ZIP.
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();