User:Pavila

From OpenKM Documentation
Jump to: navigation, search

OpenKM Core developer.

Cluster

 $ mysql -h 192.168.0.100 -u root -p
 mysql> CREATE USER openkm@192.168.0.100 IDENTIFIED BY 'openkm';
 mysql> GRANT ALL ON okmdb.* TO openkm@192.168.0.100;

Application with CLOSE_WAIT

sudo netstat -tonp | grep CLOSE_WAIT

See:

File descriptors used by Tomcat

sudo lsof -p $(ps -ef | grep java | grep tomcat | awk '{ print $2 }') | wc -l

Show charset and locale configuration

import java.util.*;
import java.nio.charset.*;

print("Charset: " + Charset.defaultCharset()+"<br/>");
print("Locale: " + Locale.getDefault()+"<br/>");

Show Java version

print("Java Vendor: " + System.getProperty("java.vm.vendor")+"<br/>");
print("Java Version: " + System.getProperty("java.version")+"<br/>");

Fix permissions

find -name "*.okm" -exec sed -i 's/<font>//g' {} \;
find -name "*.okm" -exec sed -i 's/<\/font>//g' {} \;
find -name "*.okm" -exec sed -i 's/<font class="">//g' {} \;

If you have problems read How to set up a clean UTF-8 environment in Linux.

Find duplicates - HSQL

select nd.uuid, nd.name, ndv.checksum from NodeDocument nd, NodeDocumentVersion ndv where nd.uuid = ndv.parent and ndv.checksum in 
  (select ndv.checksum from NodeDocumentVersion ndv where ndv.current = true group by ndv.checksum having count(ndv.checksum) > 1) 
order by ndv.checksum, nd.name;

Find duplicates - SQL

select NBS_UUID, NBS_NAME, NDV_CHECKSUM from OKM_NODE_BASE, OKM_NODE_DOCUMENT_VERSION where NBS_UUID = NDV_PARENT and NDV_CHECKSUM in 
  (select NDV_CHECKSUM from OKM_NODE_DOCUMENT_VERSION where NDV_CURRENT='T' group by NDV_CHECKSUM having count(NDV_CHECKSUM) > 1)
order by NDV_CHECKSUM, NBS_NAME;

Find documents with assigned roles

select count(*) from NodeDocument nd where size(nd.rolePermissions) > 0; -- Slower
select count(*) from NodeDocument nd where exists elements(nd.rolePermissions); -- Faster

Find documents with a keyword

from NodeDocument nd where 'xxx' in elements(nd.keywords);

Find documents with a role

from NodeDocument nd left join nd.rolePermissions as rolePerms where index(rolePerms) = 'ROLE_USER';

Show documents in trash

select nbase.NBS_UUID, nbase.NBS_NAME, nbase.NBS_CONTEXT from OKM_NODE_DOCUMENT ndoc, OKM_NODE_BASE nbase where ndoc.NBS_UUID = nbase.NBS_UUID and NBS_CONTEXT='okm_trash';

MySQL

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'okmdb';

Para que no molestar la integridad referencial:

SET FOREIGN_KEY_CHECKS = 0;
drop table if exists ...;
drop table if exists ...;
drop table if exists ...;
SET FOREIGN_KEY_CHECKS = 1;

Para que no salgan los resultados con separadores hay que iniciar MySQL así:

$ mysql -h localhost -u root -p -s -r

TO DO

Books

See also