Script - Compact documents with size equals to 0
Find all documents with size=0 and compact history of versions to latest.
import java.util.*;import com.openkm.api.OKMDocument;import com.openkm.api.OKMRepository;import com.openkm.dao.HibernateUtil;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.Query;import com.openkm.dao.bean.NodeDocumentVersion;
String qs = "from NodeDocumentVersion ndv where ndv.size=0";Session session = HibernateUtil.getSessionFactory().openSession();Transaction tx = session.beginTransaction();Query q = session.createQuery(qs);List docVersionList = q.list();HibernateUtil.commit(tx);
print("Number of nodes: "+docVersionList.size()+"<br/>");
for (NodeDocumentVersion ndv : docVersionList) { String path = OKMRepository.getInstance().getNodePath(null,ndv.getParent()); OKMDocument.getInstance().purgeVersionHistory(null, path);}
HibernateUtil.close(session);print("done");