• LDAP (Active Directory) and mail notification problem

  • OpenKM has many interesting features, but requires some configuration process to show its full potential.
OpenKM has many interesting features, but requires some configuration process to show its full potential.
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.
 #7439  by ales.zima
 
Hello.

I have running OpenKM 5.0-RC1 with working Active Directory authentication (against Windows Server 2003).

My OpenKM.cfg contains:
Code: Select all
principal.adapter=com.openkm.principal.LdapPrincipalAdapter
principal.ldap.server=ldap://ldap.server.cz
principal.ldap.security.principal=CN=*****,cn=Users,dc=server,dc=cz
principal.ldap.security.credentials=*****
principal.ldap.user.search.base=ou=RG Users OpenKM,dc=server,dc=cz
principal.ldap.user.search.filter=(&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz))
principal.ldap.user.attribute=cn
principal.ldap.role.search.base=ou=RG Users OpenKM,dc=server,dc=cz
principal.ldap.role.search.filter=(&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz))
principal.ldap.role.attribute=cn
principal.ldap.mail.search.base=cn={0},ou=RG Users OpenKM,dc=server,dc=cz
principal.ldap.mail.search.filter=(objectClass=person)
principal.ldap.mail.attribute=mail
principal.ldap.users.by.role.search.filter=(&(objectClass=group)(cn={0}))
principal.ldap.roles.by.user.search.filter=(&(objectClass=group)(cn={0}))
and my login-conf.xml contains:
Code: Select all
<application-policy name="OpenKM">
     <authentication>
         <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" > 
             <module-option name="java.naming.provider.url">ldap://ldap.server.cz</module-option> 
             <module-option name="bindDN">CN=*****,cn=Users,dc=server,dc=cz</module-option>
             <module-option name="java.naming.security.authentication">simple</module-option>
             <module-option name="bindCredential">*****</module-option>
             <module-option name="baseCtxDN">ou=RG Users OpenKM,dc=server,dc=cz</module-option>
             <module-option name="baseFilter">(sAMAccountName={0})</module-option>
             <module-option name="rolesCtxDN">ou=RG Users OpenKM,dc=server,dc=cz</module-option>
             <module-option name="roleFilter">(member={1})</module-option>
             <module-option name="roleAttributeID">cn</module-option>
             <module-option name="roleAttributeIsDN">false</module-option>
             <module-option name="roleRecursion">2</module-option>
             <module-option name="searchScope">ONELEVEL_SCOPE</module-option>
             <module-option name="baseFilter">(&(sAMAccountName={0})(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz))</module-option>
             <module-option name="allowEmptyPasswords">false</module-option>
         </login-module> 
     </authentication>
</application-policy>
Everything works fine, but e-mail notification worked only with simple user name. I try to explain:

user1
login: user1
full user name: user1
e-mail: user1@server.cz

user2
login: john.doe
full user name: John Doe
e-mail: john.doe@server.cz

When user1 is logged in and for example upload new document with user2 notification, everything works fine. E-mail with "From: user1@server.cz" and "To: john.doe@server.cz" is sent.

When user2 is logged in and for example upload new document with user1 notification, no e-mail is sent with error:
ERROR [STDERR] javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001CD, problem 2001 (NO_OBJECT),
data 0, best match of:
'OU=RG Users OpenKM,DC=server,DC=cz'
^@]; remaining name 'cn=john.doe,ou=RG Users OpenKM,dc=server,dc=cz'
It looks like the OpenKM cannot identify sender address from LDAP (Active Directory).
This behavior was the same in OpenKM 4.1.

Can someone help me please?

Aleš Zima
 #7457  by ales.zima
 
Thanks for reply.

Yes, this is probably a problem, because "CN=John Doe" (DN: CN=John Doe,OU=RG Users OpenKM,DC=server,DC=cz). But i don't exactly understand why. E-mail addresses for accounts user1 and john.doe is extracted correctly. Both e-mails is seen in Administration -> User list. When OpenKM is trying to send notification e-mail, recipient e-mail is always extracted correctly (for user1 and john.doe) but sender e-mail is extracted only for user1. For john.doe ended with NO_OBJECT error.
 #7476  by jllort
 
it's strange because I think both might use same method for getting mail address. Could be some error here if we use other method for getting it. In both cases might be uses the method public List<String> getMails(List<String> users) , in your log appears we're using the same ?
 #7481  by ales.zima
 
I don't know. When notification is sent correctly (from user1 to john.doe), log contains this:
Code: Select all
2010-12-11 18:35:02,256 INFO  [STDOUT] DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
2010-12-11 18:35:02,269 INFO  [STDOUT] DEBUG SMTP: useEhlo true, useAuth false
2010-12-11 18:35:02,269 INFO  [STDOUT] DEBUG SMTP: trying to connect to host "smtp.server.cz", port 25, isSSL false
2010-12-11 18:35:02,272 INFO  [STDOUT] 220 smtp.server.cz Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at  Sat, 11 Dec 2010 18:35:02 +0100 
2010-12-11 18:35:02,272 INFO  [STDOUT] DEBUG SMTP: connected to host "smtp.server.cz", port: 25
2010-12-11 18:35:02,274 INFO  [STDOUT] EHLO linux.server.cz
2010-12-11 18:35:02,274 INFO  [STDOUT] 250-smtp.server.cz Hello [192.168.68.249]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK
2010-12-11 18:35:02,274 INFO  [STDOUT] DEBUG SMTP: Found extension "TURN", arg ""
2010-12-11 18:35:02,274 INFO  [STDOUT] DEBUG SMTP: Found extension "SIZE", arg ""
2010-12-11 18:35:02,274 INFO  [STDOUT] DEBUG SMTP: Found extension "ETRN", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "PIPELINING", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "DSN", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "8bitmime", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "BINARYMIME", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "CHUNKING", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "VRFY", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "X-EXPS", arg "GSSAPI NTLM LOGIN"
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "X-EXPS=LOGIN", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "AUTH", arg "GSSAPI NTLM LOGIN"
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "AUTH=LOGIN", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "X-LINK2STATE", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "XEXCH50", arg ""
2010-12-11 18:35:02,275 INFO  [STDOUT] DEBUG SMTP: Found extension "OK", arg ""
2010-12-11 18:35:02,276 INFO  [STDOUT] DEBUG SMTP: use8bit false
2010-12-11 18:35:02,276 INFO  [STDOUT] MAIL FROM:<user1@server.cz>
2010-12-11 18:35:02,277 INFO  [STDOUT] 250 2.1.0 user1@server.cz....Sender OK
2010-12-11 18:35:02,277 INFO  [STDOUT] RCPT TO:<john.doe@server.cz>
2010-12-11 18:35:02,277 INFO  [STDOUT] 250 2.1.5 john.doe@server.cz 
2010-12-11 18:35:02,277 INFO  [STDOUT] DEBUG SMTP: Verified Addresses
2010-12-11 18:35:02,278 INFO  [STDOUT] DEBUG SMTP:   john.doe@server.cz
2010-12-11 18:35:02,278 INFO  [STDOUT] DATA
2010-12-11 18:35:02,278 INFO  [STDOUT] 354 Start mail input; end with <CRLF>.<CRLF>
2010-12-11 18:35:02,283 INFO  [STDOUT] Date: Sat, 11 Dec 2010 18:35:02 +0100 (CET)
From: user1@server.cz
To: john.doe@server.cz
Message-ID: <225695171.01292088902254.JavaMail.openkm@server.cz>
Subject: OpenKM - NOTIFICATION - Makefile
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_0_1336131694.1292088902225"
charset: UTF-8

------=_Part_0_1336131694.1292088902225
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Document: /okm:root/Makefile
User: user1
Message: 

------=_Part_0_1336131694.1292088902225
Content-Type: text/html
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<b>Document: </b><a href="http://dm.server.cz:8080/OpenKM/com.openkm.frontend.Main/index.jsp?docPath=%2Fokm%3Aroot%2FMakefile">/okm:root/Makefile</a><br/><b>User: </b>user1<br/><b>Message: </b><br/>
</body>
</html>
------=_Part_0_1336131694.1292088902225--

.
2010-12-11 18:35:02,313 INFO  [STDOUT] 250 2.6.0  <225695171.01292088902254.JavaMail.openkm@server.cz> Queued mail for delivery
2010-12-11 18:35:02,313 INFO  [STDOUT] QUIT
2010-12-11 18:35:02,314 INFO  [STDOUT] 221 2.0.0 smtp.server.cz Service closing transmission channel
and when notification is unsuccesfull (from john.doe to user1), log contains this:
Code: Select all
2010-12-11 18:28:49,901 ERROR [STDERR] javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001CD, problem 2001 (NO_OBJECT), data 0, best match of:
	'OU=RG Users OpenKM,DC=server,DC=cz'
]; remaining name 'cn=john.doe,ou=RG Users OpenKM,dc=server,dc=cz'
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3066)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2794)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1826)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.openkm.principal.LdapPrincipalAdapter.ldapSearch(LdapPrincipalAdapter.java:200)
2010-12-11 18:28:49,904 ERROR [STDERR] 	at com.openkm.principal.LdapPrincipalAdapter.getMails(LdapPrincipalAdapter.java:160)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at com.openkm.module.direct.DirectAuthModule.getMails(DirectAuthModule.java:853)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at com.openkm.module.direct.DirectNotificationModule.notify(DirectNotificationModule.java:270)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at com.openkm.api.OKMNotification.notify(OKMNotification.java:83)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at com.openkm.frontend.server.OKMFileUploadServlet.doPost(OKMFileUploadServlet.java:199)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
2010-12-11 18:28:49,905 ERROR [STDERR] 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
2010-12-11 18:28:49,906 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:619)
Where can i find the answer to your question?
 #7483  by jllort
 
Seems it uses the correct method ( getMails ):
Code: Select all
2010-12-11 18:28:49,904 ERROR [STDERR] at com.openkm.principal.LdapPrincipalAdapter.ldapSearch(LdapPrincipalAdapter.java:200)
2010-12-11 18:28:49,904 ERROR [STDERR] at com.openkm.principal.LdapPrincipalAdapter.getMails(LdapPrincipalAdapter.java:160)
I don't know the reason, we'll investigate.
 #7542  by ales.zima
 
OK. In the first half of the protocol has been successfully sent notification by user1 to the user john.doe.
Code: Select all
2010-12-15 15:14:05,282 INFO  [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] Started in 28s:476ms
2010-12-15 15:15:32,342 DEBUG [org.jboss.security.plugins.JaasSecurityManager.OpenKM] CallbackHandler: org.jboss.security.auth.callback.SecurityAssociationHandler@4543294a
2010-12-15 15:15:32,353 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] Created securityMgr=org.jboss.security.plugins.JaasSecurityManager@4de77a3e
2010-12-15 15:15:32,354 DEBUG [org.jboss.security.plugins.JaasSecurityManager.OpenKM] CachePolicy set to: org.jboss.util.TimedCachePolicy@180aa467
2010-12-15 15:15:32,354 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] setCachePolicy, c=org.jboss.util.TimedCachePolicy@180aa467
2010-12-15 15:15:32,354 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] Added OpenKM, org.jboss.security.plugins.SecurityDomainContext@62af7285 to map
2010-12-15 15:16:10,831 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:16:10,833 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:10,859 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:16:10,859 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:16:11,252 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:16:11,252 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:11,258 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles()
2010-12-15 15:16:11,258 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:11,276 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [UserRole, AdminRole]
2010-12-15 15:16:11,276 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles: [UserRole]
2010-12-15 15:16:11,294 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:16:11,294 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:16:15,581 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRolesByUser()
2010-12-15 15:16:15,581 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(cn=user1)), cn)
2010-12-15 15:16:15,602 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: []
2010-12-15 15:16:15,602 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRolesByUser: []
2010-12-15 15:16:21,335 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:16:21,336 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:21,336 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles()
2010-12-15 15:16:21,336 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:21,343 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [UserRole, AdminRole]
2010-12-15 15:16:21,343 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles: [UserRole]
2010-12-15 15:16:21,353 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:16:21,353 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:16:46,181 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:16:46,182 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:46,189 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles()
2010-12-15 15:16:46,189 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:16:46,199 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [UserRole, AdminRole]
2010-12-15 15:16:46,199 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles: [UserRole]
2010-12-15 15:16:46,208 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:16:46,208 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:16:59,326 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsersByRole()
2010-12-15 15:16:59,326 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(cn=)), cn)
2010-12-15 15:16:59,333 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: []
2010-12-15 15:16:59,334 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsersByRole: []
2010-12-15 15:16:59,339 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails()
2010-12-15 15:16:59,339 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=john doe,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
2010-12-15 15:16:59,348 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [john.doe@server.cz]
2010-12-15 15:16:59,348 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails: [john.doe@server.cz]
2010-12-15 15:16:59,348 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails()
2010-12-15 15:16:59,348 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=user1,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
2010-12-15 15:16:59,360 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [user1@server.cz]
2010-12-15 15:16:59,360 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails: [user1@server.cz]
2010-12-15 15:16:59,459 INFO  [STDOUT] DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
2010-12-15 15:16:59,471 INFO  [STDOUT] DEBUG SMTP: useEhlo true, useAuth false
2010-12-15 15:16:59,471 INFO  [STDOUT] DEBUG SMTP: trying to connect to host "smtp.server.cz", port 25, isSSL false
2010-12-15 15:16:59,474 INFO  [STDOUT] 220 smtp.server.cz Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at  Wed, 15 Dec 2010 15:16:59 +0100 
2010-12-15 15:16:59,474 INFO  [STDOUT] DEBUG SMTP: connected to host "smtp.server.cz", port: 25
2010-12-15 15:16:59,476 INFO  [STDOUT] EHLO linux.server.cz
2010-12-15 15:16:59,476 INFO  [STDOUT] 250-smtp.server.cz Hello [192.168.68.249]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "TURN", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "SIZE", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "ETRN", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "PIPELINING", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "DSN", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "8bitmime", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "BINARYMIME", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "CHUNKING", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "VRFY", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "X-EXPS", arg "GSSAPI NTLM LOGIN"
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "X-EXPS=LOGIN", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "AUTH", arg "GSSAPI NTLM LOGIN"
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "AUTH=LOGIN", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "X-LINK2STATE", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "XEXCH50", arg ""
2010-12-15 15:16:59,477 INFO  [STDOUT] DEBUG SMTP: Found extension "OK", arg ""
2010-12-15 15:16:59,478 INFO  [STDOUT] DEBUG SMTP: use8bit false
2010-12-15 15:16:59,479 INFO  [STDOUT] MAIL FROM:<user1@server.cz>
2010-12-15 15:16:59,479 INFO  [STDOUT] 250 2.1.0 user1@server.cz....Sender OK
2010-12-15 15:16:59,479 INFO  [STDOUT] RCPT TO:<john.doe@server.cz>
2010-12-15 15:16:59,480 INFO  [STDOUT] 250 2.1.5 john.doe@server.cz 
2010-12-15 15:16:59,480 INFO  [STDOUT] DEBUG SMTP: Verified Addresses
2010-12-15 15:16:59,480 INFO  [STDOUT] DEBUG SMTP:   john.doe@server.cz
2010-12-15 15:16:59,480 INFO  [STDOUT] DATA
2010-12-15 15:16:59,481 INFO  [STDOUT] 354 Start mail input; end with <CRLF>.<CRLF>
2010-12-15 15:16:59,485 INFO  [STDOUT] Date: Wed, 15 Dec 2010 15:16:59 +0100 (CET)
From: user1@server.cz
To: john.doe@server.cz
Message-ID: <329699585.01292422619457.JavaMail.openkm@server.cz>
Subject: OpenKM - NOTIFICATION - opletal.txt
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_0_2051758557.1292422619427"
charset: UTF-8

------=_Part_0_2051758557.1292422619427
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Document: /okm:root/opletal.txt
User: user1
Message: 

------=_Part_0_2051758557.1292422619427
Content-Type: text/html
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<b>Document: </b><a href="http://dm.server.cz:8080/OpenKM/com.openkm.frontend.Main/index.jsp?docPath=%2Fokm%3Aroot%2Fopletal.txt">/okm:root/opletal.txt</a><br/><b>User: </b>user1<br/><b>Message: </b><br/>
</body>
</html>
------=_Part_0_2051758557.1292422619427--

.
2010-12-15 15:16:59,513 INFO  [STDOUT] 250 2.6.0  <329699585.01292422619457.JavaMail.openkm@server.cz> Queued mail for delivery
2010-12-15 15:16:59,513 INFO  [STDOUT] QUIT
2010-12-15 15:16:59,514 INFO  [STDOUT] 221 2.0.0 smtp.server.cz Service closing transmission channel
In the second half of the protocol is a failed attempt to send the notice by john.doe to the user user1.
Code: Select all
2010-12-15 15:17:45,473 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:17:45,473 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:17:45,496 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:17:45,496 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:17:45,819 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:17:45,819 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:17:45,826 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles()
2010-12-15 15:17:45,826 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:17:45,837 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:17:45,837 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:17:45,840 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [UserRole, AdminRole]
2010-12-15 15:17:45,840 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles: [UserRole]
2010-12-15 15:17:47,074 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRolesByUser()
2010-12-15 15:17:47,075 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(cn=john.doe)), cn)
2010-12-15 15:17:47,078 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: []
2010-12-15 15:17:47,079 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRolesByUser: []
2010-12-15 15:17:50,593 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers()
2010-12-15 15:17:50,593 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=user)(memberOf=CN=UserRole,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:17:50,599 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles()
2010-12-15 15:17:50,599 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(memberOf=CN=OpenKM,OU=RG Users OpenKM,DC=server,DC=cz)), cn)
2010-12-15 15:17:50,608 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [UserRole, AdminRole]
2010-12-15 15:17:50,608 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getRoles: [UserRole]
2010-12-15 15:17:50,611 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [User1, John Doe]
2010-12-15 15:17:50,611 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsers: [user1, john doe]
2010-12-15 15:18:04,955 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsersByRole()
2010-12-15 15:18:04,955 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, ou=RG Users OpenKM,dc=server,dc=cz, (&(objectClass=group)(cn=)), cn)
2010-12-15 15:18:04,972 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: []
2010-12-15 15:18:04,972 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getUsersByRole: []
2010-12-15 15:18:04,977 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails()
2010-12-15 15:18:04,977 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=user1,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
2010-12-15 15:18:04,982 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [user1@server.cz]
2010-12-15 15:18:04,982 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails: [user1@server.cz]
2010-12-15 15:18:04,982 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails()
2010-12-15 15:18:04,982 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=john.doe,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
2010-12-15 15:18:04,987 ERROR [STDERR] javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001CD, problem 2001 (NO_OBJECT), data 0, best match of:
	'OU=RG Users OpenKM,DC=server,DC=cz'
]; remaining name 'cn=john.doe,ou=RG Users OpenKM,dc=server,dc=cz'
2010-12-15 15:18:04,987 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3066)
2010-12-15 15:18:04,987 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987)
2010-12-15 15:18:04,987 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2794)
2010-12-15 15:18:04,987 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1826)
2010-12-15 15:18:04,987 ERROR [STDERR] 	at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.principal.LdapPrincipalAdapter.ldapSearch(LdapPrincipalAdapter.java:200)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.principal.LdapPrincipalAdapter.getMails(LdapPrincipalAdapter.java:160)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.module.direct.DirectAuthModule.getMails(DirectAuthModule.java:853)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.module.direct.DirectNotificationModule.notify(DirectNotificationModule.java:270)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.api.OKMNotification.notify(OKMNotification.java:83)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at com.openkm.frontend.server.OKMFileUploadServlet.doPost(OKMFileUploadServlet.java:200)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2010-12-15 15:18:04,988 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
2010-12-15 15:18:04,989 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:619)
2010-12-15 15:18:04,989 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: []
2010-12-15 15:18:04,989 DEBUG [com.openkm.principal.LdapPrincipalAdapter] getMails: []
Hope this helps.
 #7555  by jllort
 
Really no, we've been talking developers about which could be the problem, and really it's very strange. Both from and to, calls the same method getMails() and we can not find any reason why when calling to runs well and where calling from runs bad. We can not helping you via forum, we'll need connecting to system and make testing etc... ( but that's only part of our supported customers ).

The first query is
Code: Select all
2010-12-15 15:16:59,339 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=john doe,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
2010-12-15 15:16:59,348 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch: [john.doe@server.cz]
And that's the second
Code: Select all
2010-12-15 15:18:04,982 DEBUG [com.openkm.principal.LdapPrincipalAdapter] ldapSearch(ldap://ldap.server.cz, CN=*****,cn=Users,dc=server,dc=cz, *****, cn=john.doe,ou=RG Users OpenKM,dc=server,dc=cz, (objectClass=person), mail)
Simply are the same but then second not runs ... the only explaination it's that could be some problem in windows server, do you've got the last service pack etc... I could not understand why the same query depending will get that result. I can give to you any reasonable explanation.

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.