• SOLVED Change Version Numbers to Letters

  • He we will discuss about how to make customization and improvement to the OpenKM source code.
He we will discuss about how to make customization and improvement to the OpenKM source code.
Forum rules: Please, before asking something see the documentation wiki or use the search feature of the forum. And remember we don't have a crystal ball or mental readers, so if you post about an issue tell us which OpenKM are you using and also the browser and operating system version. For more info read How to Report Bugs Effectively.
 #30380  by alexwgordon
 
Hi Guys!

I'm just starting out using OpenKM and so far it's just what we're looking for! However, I'd like the have the revision numbering scheme be as follows:

A, B, C, ... AA, AB, AC ...BA, BB, BC, etc.

There would be no minor revisions, just major. I'm not familiar with java and if anyone has created a similar scheme or can help me develop another scheme that would be great. Thank you so much in advance for any and all help in this matter! :)
Last edited by alexwgordon on Thu Nov 06, 2014 9:12 pm, edited 1 time in total.
 #30396  by jllort
 
You must create your own version number class, take a look here https://sourceforge.net/p/openkm/code/H ... km/vernum/

In Administration / configuration there's a parameters what set the numeration you're using, you must change by your own and restart openkm to take effect.
Code: Select all
version.numeration.adapter=com.openkm.vernum.MajorMinorVersionNumerationAdapter 
And also you have to take a look here http://wiki.openkm.com/index.php/Developer_Guide for development environment.
 #30453  by alexwgordon
 
Hi jllort,

Thank you for the advice! I've managed to create the working versioning that goes A, B, C..., AA, AB...all the way up to ZZ. If anyone is interested in the .class file, I'd be happy to send it your way :D I can't say how clean the code is, as I've learned to program in java for this task only, but it definitely works and has not caused any issues as of yet.
 #30475  by jllort
 
If you send us the java class we will incorporate into openkm community version by default. We're pleased to see you got it.
 #30510  by jllort
 
You can attach here the code into zip file. It's the easiest. If you got problems on it tell me.
 #30517  by alexwgordon
 
I'm having some issues getting it to play nice with a tomcat windows service on my server now. I got it working on a test environment on my localhost. Getting a loading error when first logging into OpenKM on "Loading User Values." Any thoughts on what could be causing the issue jllort?
 #30518  by alexwgordon
 
In the catalina log I see:
Code: Select all
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsupportedClassVersionError: com/openkm/vernum/LetterVersionAdapter : Unsupported major.minor version 52.0 (unable to load class com.openkm.vernum.LetterVersionAdapter)
 #30519  by alexwgordon
 
So I attempted to delete the $OPENKM\tomcat\webapps\OpenKM folder and $OPENKM\tomcat\work\Catalina\localhost, then start catalina.bat, change the version numeration adapter to my custom adapter LetterVersionAdapater and it gets past the loading process but when I attempt to upload a file I get the error:
"Error importing file (java.lang.NullPointerException)"
Code: Select all
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.base.url=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.owl.file=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.skos.file=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.tree.childs=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.tree.root=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - kea.thesaurus.vocabulary.serql=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - keep.session.alive.interval=5
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction=true
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction.batch=10
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction.concurrent=false
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction.pool.size=5
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction.pool.threads=5
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - managed.text.extraction.pool.timeout=1
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - max.file.size=0
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - max.search.results=500
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - min.search.characters=3
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - notification.message.body=<b>Message: </b>${notificationMessage}<br/><b>User: </b>${userId}<br/><#list documentList as doc><b>Document: </b><a href="${doc.url}">${doc.path}</a><br/></#list>
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - notification.message.subject=OpenKM - NOTIFICATION
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - notify.twitter.password=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - notify.twitter.status=OpenKM - ${documentUrl} - ${documentPath} - ${userId} - ${eventType}
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - notify.twitter.user=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - openmeetings.credentials=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - openmeetings.port=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - openmeetings.url=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - openmeetings.user=
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - plugin.debug=false
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.adapter=com.openkm.principal.DatabasePrincipalAdapter
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.database.filter.inactive.users=true
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.hide.connection.roles=false
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.identifier.validation=^[a-zA-Z0-9_]+$
2014-11-12 16:37:48,612 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.mail.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.mail.search.base=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.mail.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.referral=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.role.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.role.search.base=[]
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.role.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.roles.by.user.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.roles.by.user.search.base=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.roles.by.user.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.security.credentials=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.security.principal=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.server=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.user.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.user.search.base=[]
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.user.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.username.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.username.search.base=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.username.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.users.by.role.attribute=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.users.by.role.search.base=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.users.by.role.search.filter=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - principal.ldap.users.from.roles=false
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - property.groups.cnd=D:\OpenKM\openkm-6.3.0-community\tomcat\PropertyGroups.cnd
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - property.groups.xml=D:\OpenKM\openkm-6.3.0-community\tomcat\PropertyGroups.xml
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - registered.text.extractors=[org.apache.jackrabbit.extractor.PlainTextExtractor, org.apache.jackrabbit.extractor.MsWordTextExtractor, org.apache.jackrabbit.extractor.MsExcelTextExtractor, org.apache.jackrabbit.extractor.MsPowerPointTextExtractor, org.apache.jackrabbit.extractor.OpenOfficeTextExtractor, org.apache.jackrabbit.extractor.RTFTextExtractor, org.apache.jackrabbit.extractor.HTMLTextExtractor, org.apache.jackrabbit.extractor.XMLTextExtractor, org.apache.jackrabbit.extractor.PngTextExtractor, org.apache.jackrabbit.extractor.MsOutlookTextExtractor, com.openkm.extractor.PdfTextExtractor, com.openkm.extractor.AudioTextExtractor, com.openkm.extractor.ExifTextExtractor, com.openkm.extractor.CuneiformTextExtractor, com.openkm.extractor.SourceCodeTextExtractor, com.openkm.extractor.MsOffice2007TextExtractor]
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - remote.conversion.server=
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.cache.dxf=D:\OpenKM\openkm-6.3.0-community\tomcat\repository\cache\dxf
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.cache.home=D:\OpenKM\openkm-6.3.0-community\tomcat\repository\cache
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.cache.pdf=D:\OpenKM\openkm-6.3.0-community\tomcat\repository\cache\pdf
2014-11-12 16:37:48,628 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.cache.swf=D:\OpenKM\openkm-6.3.0-community\tomcat\repository\cache\swf
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.config=NUL:
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.content.checksum=true
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.datastore.backend=fs
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.datastore.home=D:\OpenKM\openkm-6.3.0-community\tomcat\repository\datastore
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.home=D:\OpenKM\openkm-6.3.0-community\tomcat\repository
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.native=true
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - repository.purgatory.home=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - restrict.file.mime=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - restrict.file.name=*~;*.bak
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - schedule.dashboard.refresh=30
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - schedule.session.keepalive=15
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - schedule.ui.notification=1
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - security.access.manager=simple
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - security.live.change.node.limit=100
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - security.mode.multiple=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - security.search.evaluation=lucene
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - store.node.path=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - subscription.message.body=<b>Document: </b><a href="${documentUrl}">${documentPath}</a><br/><b>User: </b>${userId}<br/><b>Event: </b>${eventType}<br/><b>Comment: </b>${subscriptionComment}<br/>
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - subscription.message.subject=OpenKM - ${eventType} - ${documentPath}
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.antivir=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.apache.request.header.fix=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.catdoc.xls2csv=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.document.name.mismatch.check=true
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.execution.timeout=5
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.ghostscript.ps2pdf=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.imagemagick.convert=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.keyword.lowercase=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.login.lowercase=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.maintenance=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.multiple.instances=false
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.ocr=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.ocr.rotate=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.openoffice.dictionary=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.openoffice.path=
2014-11-12 16:37:48,643 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.openoffice.port=2002
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.openoffice.server=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.openoffice.tasks=200
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.pdf.force.ocr=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.previewer=flexpaper
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.profiling=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.readonly=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.swftools.pdf2swf=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.webdav.fix=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - system.webdav.server=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - tomcat.connector.uri.encoding=ISO-8859-1
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - upload.throttle.filter=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - user.admin=okmAdmin
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - user.assign.document.creation=true
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - user.password.reset=false
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - user.system=system
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password=com.openkm.validator.password.NoPasswordValidator
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.max.length=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.min.digits=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.min.length=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.min.lowercase=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.min.uppercase=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - validator.password.mini.special=0
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - version.numeration.adapter=com.openkm.vernum.LetterVersionAdapter
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - version.numeration.format=%d
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - workflow.run.config.form=run_config
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - workflow.start.task.auto.run=true
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - zoho.api.key=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - zoho.password=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - zoho.secret.key=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.core.Config- RELOAD - zoho.user=
2014-11-12 16:37:48,659 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Repository initializing... ***
2014-11-12 16:37:48,768 [localhost-startStop-1] INFO  com.openkm.module.db.stuff.SecurityHelper- Configuring AccessManager with com.openkm.module.db.stuff.DbSimpleAccessManager
2014-11-12 16:37:48,784 [localhost-startStop-1] INFO  com.openkm.module.db.DbRepositoryModule- Repository already created
2014-11-12 16:37:48,815 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Repository initialized ***
2014-11-12 16:37:48,815 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** User database initialized ***
2014-11-12 16:37:48,815 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Initializing workflow engine... ***
2014-11-12 16:37:48,815 [localhost-startStop-1] INFO  com.openkm.util.JBPMUtils- Creating JBPM default configuration
2014-11-12 16:37:48,908 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Initializing MIME types... ***
2014-11-12 16:37:49,018 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Activating update info ***
2014-11-12 16:37:49,018 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Activating cron ***
2014-11-12 16:37:49,018 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Activating UI Notification ***
2014-11-12 16:37:49,096 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Activating thesaurus repository ***
2014-11-12 16:37:49,111 [localhost-startStop-1] WARN  com.openkm.servlet.RepositoryStartupServlet- *** No OpenOffice manager nor server configured ***
2014-11-12 16:37:49,111 [localhost-startStop-1] INFO  com.openkm.extension.core.ExtensionManager- Initialize and load plugins...
2014-11-12 16:37:49,220 [localhost-startStop-1] WARN  net.xeoh.plugins.base.impl.classpath.loader.FileLoader- Supplied path does not exist. Unable to add plugins from there.
2014-11-12 16:37:49,220 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Execute start script ***
2014-11-12 16:37:49,220 [localhost-startStop-1] WARN  com.openkm.util.ExecutionUtils- Unable to read script: D:\OpenKM\openkm-6.3.0-community\tomcat\start.bsh
2014-11-12 16:37:49,220 [localhost-startStop-1] WARN  com.openkm.util.ExecutionUtils- Unable to read jar: D:\OpenKM\openkm-6.3.0-community\tomcat\start.jar
2014-11-12 16:37:49,236 [localhost-startStop-1] INFO  com.openkm.servlet.RepositoryStartupServlet- *** Execute start SQL ***
2014-11-12 16:37:49,236 [localhost-startStop-1] WARN  com.openkm.servlet.RepositoryStartupServlet- Unable to read sql: D:\OpenKM\openkm-6.3.0-community\tomcat\start.sql
2014-11-12 16:37:49,330 [localhost-startStop-1] WARN  org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet- CMIS version is not defined! Setting it to CMIS 1.0.
2014-11-12 16:37:49,470 [localhost-startStop-1] INFO  org.apache.catalina.startup.HostConfig- Deploying web application directory D:\OpenKM\openkm-6.3.0-community\tomcat\webapps\.Keka-D483E52E-EF7C-4EAD-A1AD-B27A093FA503
2014-11-12 16:37:51,295 [localhost-startStop-1] INFO  org.apache.catalina.startup.HostConfig- Deploying web application directory D:\OpenKM\openkm-6.3.0-community\tomcat\webapps\ROOT
2014-11-12 16:37:53,854 [main] INFO  org.apache.coyote.http11.Http11Protocol- Starting ProtocolHandler ["http-bio-0.0.0.0-8080"]
2014-11-12 16:37:53,869 [main] INFO  org.apache.coyote.ajp.AjpProtocol- Starting ProtocolHandler ["ajp-bio-127.0.0.1-8009"]
2014-11-12 16:37:53,869 [main] INFO  org.apache.catalina.startup.Catalina- Server startup in 59040 ms
2014-11-12 16:38:00,359 [http-bio-0.0.0.0-8080-exec-2] INFO  org.apache.jasper.compiler.TldLocationsCache- At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2014-11-12 16:38:19,344 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.config.GlobalSettings- Trying to find Dozer configuration file: dozer.properties
2014-11-12 16:38:19,360 [http-bio-0.0.0.0-8080-exec-8] INFO  com.openkm.module.common.CommonAuthModule- PrincipalAdapter: com.openkm.principal.DatabasePrincipalAdapter
2014-11-12 16:38:19,375 [http-bio-0.0.0.0-8080-exec-10] WARN  org.dozer.config.GlobalSettings- Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.
2014-11-12 16:38:19,375 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.DozerInitializer- Initializing Dozer. Version: 5.3.2, Thread Name: http-bio-0.0.0.0-8080-exec-10
2014-11-12 16:38:19,391 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.jmx.JMXPlatformImpl- Dozer JMX MBean [org.dozer.jmx:type=DozerStatisticsController] auto registered with the Platform MBean Server
2014-11-12 16:38:19,391 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.jmx.JMXPlatformImpl- Dozer JMX MBean [org.dozer.jmx:type=DozerAdminController] auto registered with the Platform MBean Server
2014-11-12 16:38:19,407 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.DozerBeanMapper- Initializing a new instance of dozer bean mapper.
2014-11-12 16:38:19,422 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.loader.CustomMappingsLoader- Using the following xml files to load custom mappings for the bean mapper instance: [dozerBeanMapping.xml]
2014-11-12 16:38:19,422 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.loader.CustomMappingsLoader- Trying to find xml mapping file: dozerBeanMapping.xml
2014-11-12 16:38:19,438 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.loader.CustomMappingsLoader- Using URL [file:/D:/OpenKM/openkm-6.3.0-community/tomcat/webapps/OpenKM/WEB-INF/classes/dozerBeanMapping.xml] to load custom xml mappings
2014-11-12 16:38:19,453 [http-bio-0.0.0.0-8080-exec-10] INFO  org.dozer.loader.CustomMappingsLoader- Successfully loaded custom xml mappings from URL: [file:/D:/OpenKM/openkm-6.3.0-community/tomcat/webapps/OpenKM/WEB-INF/classes/dozerBeanMapping.xml]
2014-11-12 16:38:19,672 [http-bio-0.0.0.0-8080-exec-8] INFO  com.openkm.vernum.VersionNumerationFactory- VersionNumerationAdapter: com.openkm.vernum.LetterVersionAdapter
2014-11-12 16:38:19,672 [http-bio-0.0.0.0-8080-exec-8] WARN  com.openkm.vernum.VersionNumerationFactory- ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
java.lang.ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:190)
	at com.openkm.vernum.VersionNumerationFactory.getVersionNumerationAdapter(VersionNumerationFactory.java:40)
	at com.openkm.servlet.frontend.WorkspaceServlet.getUserWorkspace(WorkspaceServlet.java:166)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:38:20,249 [http-bio-0.0.0.0-8080-exec-2] WARN  com.openkm.util.DocConverter- system.openoffice.path not configured
2014-11-12 16:38:20,249 [http-bio-0.0.0.0-8080-exec-2] WARN  com.openkm.util.DocConverter- and also system.openoffice.server not configured
2014-11-12 16:40:05,596 [http-bio-0.0.0.0-8080-exec-6] INFO  com.openkm.vernum.VersionNumerationFactory- VersionNumerationAdapter: com.openkm.vernum.LetterVersionAdapter
2014-11-12 16:40:05,596 [http-bio-0.0.0.0-8080-exec-6] WARN  com.openkm.vernum.VersionNumerationFactory- ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
java.lang.ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:190)
	at com.openkm.vernum.VersionNumerationFactory.getVersionNumerationAdapter(VersionNumerationFactory.java:40)
	at com.openkm.dao.NodeDocumentDAO.create(NodeDocumentDAO.java:113)
	at com.openkm.module.db.base.BaseDocumentModule.create(BaseDocumentModule.java:161)
	at com.openkm.module.db.DbDocumentModule.create(DbDocumentModule.java:228)
	at com.openkm.servlet.frontend.FileUploadServlet.doPost(FileUploadServlet.java:282)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.openkm.servlet.frontend.UploadThrottleFilter.doFilter(UploadThrottleFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:40:05,628 [http-bio-0.0.0.0-8080-exec-6] ERROR com.openkm.servlet.frontend.FileUploadServlet- 
java.lang.NullPointerException
	at com.openkm.dao.NodeDocumentDAO.create(NodeDocumentDAO.java:116)
	at com.openkm.module.db.base.BaseDocumentModule.create(BaseDocumentModule.java:161)
	at com.openkm.module.db.DbDocumentModule.create(DbDocumentModule.java:228)
	at com.openkm.servlet.frontend.FileUploadServlet.doPost(FileUploadServlet.java:282)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.openkm.servlet.frontend.UploadThrottleFilter.doFilter(UploadThrottleFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:40:49,121 [http-bio-0.0.0.0-8080-exec-2] INFO  com.openkm.vernum.VersionNumerationFactory- VersionNumerationAdapter: com.openkm.vernum.LetterVersionAdapter
2014-11-12 16:40:49,121 [http-bio-0.0.0.0-8080-exec-2] WARN  com.openkm.vernum.VersionNumerationFactory- ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
java.lang.ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:190)
	at com.openkm.vernum.VersionNumerationFactory.getVersionNumerationAdapter(VersionNumerationFactory.java:40)
	at com.openkm.servlet.frontend.WorkspaceServlet.getUserWorkspace(WorkspaceServlet.java:166)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:41:02,053 [http-bio-0.0.0.0-8080-exec-4] INFO  com.openkm.vernum.VersionNumerationFactory- VersionNumerationAdapter: com.openkm.vernum.LetterVersionAdapter
2014-11-12 16:41:02,053 [http-bio-0.0.0.0-8080-exec-4] WARN  com.openkm.vernum.VersionNumerationFactory- ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
java.lang.ClassNotFoundException: com.openkm.vernum.LetterVersionAdapter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:190)
	at com.openkm.vernum.VersionNumerationFactory.getVersionNumerationAdapter(VersionNumerationFactory.java:40)
	at com.openkm.dao.NodeDocumentDAO.create(NodeDocumentDAO.java:113)
	at com.openkm.module.db.base.BaseDocumentModule.create(BaseDocumentModule.java:161)
	at com.openkm.module.db.DbDocumentModule.create(DbDocumentModule.java:228)
	at com.openkm.servlet.frontend.FileUploadServlet.doPost(FileUploadServlet.java:282)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.openkm.servlet.frontend.UploadThrottleFilter.doFilter(UploadThrottleFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:41:02,069 [http-bio-0.0.0.0-8080-exec-4] ERROR com.openkm.servlet.frontend.FileUploadServlet- 
java.lang.NullPointerException
	at com.openkm.dao.NodeDocumentDAO.create(NodeDocumentDAO.java:116)
	at com.openkm.module.db.base.BaseDocumentModule.create(BaseDocumentModule.java:161)
	at com.openkm.module.db.DbDocumentModule.create(DbDocumentModule.java:228)
	at com.openkm.servlet.frontend.FileUploadServlet.doPost(FileUploadServlet.java:282)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.openkm.servlet.frontend.UploadThrottleFilter.doFilter(UploadThrottleFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2014-11-12 16:42:49,195 [Update Info] INFO  com.openkm.core.UpdateInfo- *** UpdateInfo activated ***
2014-11-12 16:42:49,553 [Update Info] INFO  com.openkm.util.Update- checkVersion: 
 #30538  by jllort
 
This error is caused, because you've compiled the class with older jdk than 1.7 what's running openkm into tomcat ( openkm need oracle jdk 1.7 ). I will add your class into OpenKM community. You'll get available on next community release or at integration.openkm.com ( nightly buld )
 #30579  by alexwgordon
 
Hi jllort!

I've downloaded the nightly 6.3.x build at integration.openkm.com — awesome to see my adapter in there! I've also resolved my issue. I had a typo in my version.numeration.adapter pairing. I misspelled adapter :oops: So it seems like everything works beautifully now! Thanks for all your help with resolving these issues!
 #30589  by jllort
 
It's available for everybody ( is into community source code ), if you want I include your name in our acknowledgement website section, send me a private message and I will add.
 #43865  by dferguson
 
I have tried delete version.numeration.adapter and replace with the LetterVersionAdapter.class from the Admin config screen. But I can't seem to delete this class and replace it with the letter class. Any suggestions?
 #43871  by jllort
 
You must replace it at the begining, otherwise if you have documents into you will have to update to new version numeration format.
After replacing the class in the configuration parameters you must restart the openkm application.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.