Difference between revisions of "Knowledge:Script Utilities"

From OpenKM Documentation
Jump to: navigation, search
Line 4: Line 4:
  
 
print(PrincipalUtils.getRoles());
 
print(PrincipalUtils.getRoles());
 +
</source>
 +
 +
== List missing datastore document ==
 +
<source lang="java">
 +
import com.openkm.module.db.stuff.*;
 +
import com.openkm.dao.bean.*;
 +
import com.openkm.dao.*;
 +
 +
for (NodeDocumentVersion ndv : NodeDocumentVersionDAO.getInstance().findAll()) {
 +
    String verUuid = ndv.getUuid();
 +
    File file = FsDataStore.resolveFile(verUuid);
 +
   
 +
    if (!file.exists()) {
 +
        String docUuid = ndv.getParent();
 +
        String docPath = NodeBaseDAO.getInstance().getPathFromUuid(docUuid);
 +
        print("File: " + file + "<br/>");
 +
        print("Path: " + docPath + "<br/>");
 +
    }
 +
}
 +
</source>
 +
 +
== Force text extraction from a folder ==
 +
<source lang="java">
 +
import com.openkm.dao.bean.*;
 +
import com.openkm.dao.*;
 +
 +
void changeNodes(String parentUuid) {
 +
    for (NodeFolder nFld : NodeFolderDAO.getInstance().findByParent(parentUuid)) {
 +
        print("Folder: " + nFld.getUuid() + "<br/>");
 +
        changeNodes(nFld.getUuid());
 +
    }
 +
   
 +
    for (NodeDocument nDoc : NodeDocumentDAO.getInstance().findByParent(parentUuid)) {
 +
        print("Document: " + nDoc.getUuid() + "<br/>");
 +
        NodeDocumentDAO.getInstance().resetPendingExtractionFlag(nDoc.getUuid());
 +
    }
 +
}
 +
 +
changeNodes("folder-uuid");
 
</source>
 
</source>

Revision as of 09:35, 18 October 2012

Get principals

import com.openkm.spring.PrincipalUtils;

print(PrincipalUtils.getRoles());

List missing datastore document

import com.openkm.module.db.stuff.*;
import com.openkm.dao.bean.*;
import com.openkm.dao.*;

for (NodeDocumentVersion ndv : NodeDocumentVersionDAO.getInstance().findAll()) {
    String verUuid = ndv.getUuid();
    File file = FsDataStore.resolveFile(verUuid);
    
    if (!file.exists()) {
        String docUuid = ndv.getParent();
        String docPath = NodeBaseDAO.getInstance().getPathFromUuid(docUuid);
        print("File: " + file + "<br/>");
        print("Path: " + docPath + "<br/>");
    }
}

Force text extraction from a folder

import com.openkm.dao.bean.*;
import com.openkm.dao.*;

void changeNodes(String parentUuid) {
    for (NodeFolder nFld : NodeFolderDAO.getInstance().findByParent(parentUuid)) {
        print("Folder: " + nFld.getUuid() + "<br/>");
        changeNodes(nFld.getUuid());
    }
    
    for (NodeDocument nDoc : NodeDocumentDAO.getInstance().findByParent(parentUuid)) {
        print("Document: " + nDoc.getUuid() + "<br/>");
        NodeDocumentDAO.getInstance().resetPendingExtractionFlag(nDoc.getUuid());
    }
}

changeNodes("folder-uuid");