Difference between revisions of "Reports"
From OpenKM Documentation
(→Add new report) |
|||
Line 12: | Line 12: | ||
− | Report can use internally Scripting or SQL. The file to uploading must be .jrxml JasperReport source file. Starting with OpenKM 5.1 you can also upload compiled reports (files with .jasper extension). | + | Report can use internally Scripting or SQL. The file to uploading must be '''.jrxml''' JasperReport source file. Starting with OpenKM 5.1 you can also upload compiled reports (files with '''.jasper''' extension). |
If you want to create a report which uses an XPath query, use scripting to do the trick. This code will query for locked documents: | If you want to create a report which uses an XPath query, use scripting to do the trick. This code will query for locked documents: | ||
Line 44: | Line 44: | ||
</source> | </source> | ||
+ | You can finde the whole report at [[File:LockedDocuments.jrxml]]. | ||
[[Category: Administration Guide]] | [[Category: Administration Guide]] |
Revision as of 13:57, 25 January 2011
In Report view you can uploading your own jasper reports. Reports are in PDF format.
Add new report
Then make click new report icon
Report can use internally Scripting or SQL. The file to uploading must be .jrxml JasperReport source file. Starting with OpenKM 5.1 you can also upload compiled reports (files with .jasper extension).
If you want to create a report which uses an XPath query, use scripting to do the trick. This code will query for locked documents:
import javax.jcr.*;
import javax.jcr.query.*;
import org.apache.jackrabbit.*;
import com.openkm.module.direct.*;
List al = new ArrayList ();
String statement = "/jcr:root/okm:root//element(*,okm:document)[@jcr:lockOwner]/@jcr:lockOwner";
String type = "xpath";
Session jcrSession = DirectRepositoryModule.getSystemSession();
Workspace workspace = jcrSession.getWorkspace();
QueryManager queryManager = workspace.getQueryManager();
Query query = queryManager.createQuery(statement, type);
QueryResult result = query.execute();
for (RowIterator it = result.getRows(); it.hasNext();) {
Map ld = new HashMap();
javax.jcr.query.Row row = it.nextRow();
javax.jcr.Value v = row.getValue(JcrConstants.JCR_LOCKOWNER);
ld.put("owner", v==null?"NULL":v.getString());
v = row.getValue(JcrConstants.JCR_PATH);
ld.put("path", v==null?"NULL":v.getString());
al.add(ld);
}
return al;
You can finde the whole report at File:LockedDocuments.jrxml.