Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Andreas Baaserud Hauge

Pages: [1]
1
We are about to upgrade our CMOD environment running under RHEL 7.9, to RHEL 9

The following components are running on this Linux RHEL 7.9 server:
  • IBM Content Navigator 3.0.11
  • IBM Content Manager OnDemand 10.5.0.5
  • IBM Websphere Application Server 9.0.5.13 ND

Does IBM software (ICN, WAS and CMOD) support in-place OS upgrade from RHEL7.9 to RHEL9 or should we make a new installations on a new Linux RHEL 9 server and make switch-over from old RHEL 7.9 server to new RHEL 9 server?

2
Hi,

I am working with the ODWek REST API on IBM Content Manager OnDemand version 10.5.0.4
When performing the follow HTTP POST request

URL = http://localhost/cmod-rest/v1/hits/
HTTP Method = POST
Body
Code: [Select]
{
    "query": "where DateField between 230301 and 240301",
    "folder": "MYFOLDER"
}

Response
Code: [Select]
Information has been modified on the server.  Please logoff, logon, and retry the operation.
Bit surprised I get this response as I thought the ODWek REST API would take care of logoff, log on to CMOD right?

3
Hi,

In our ODWek REST api we are getting the following response: No availble connections to pool <poolname>

Request
HTTP request to /cmod-rest/v1/ping
Header includes key / pair
  • Authorization = CMODSharedKey <connection_poolname-connection_poolkey>

Response
HTTP Code = 408
Reponse body = No availble connections to pool <poolname>

I have tried to increase the max poolsize in odwek-rest.war even. Any idea what is going on here?
This happends in our test environment - production is fine.

4
MP Server / CMOD 10.5 License Type
« on: January 11, 2024, 02:17:05 AM »
3) Can we changed the license types after CMOD 9.5 installed on system?

The post I am quoting was related to CMOD 9.5, this post is about CMOD 10.5, how do you change license type after CMOD 10.5 installed on the system?
I read from post quote, you have two options:

Do we have any other options today?

Thanks in advance :)

5
Hi,

I am working on a Content Navigator Plugin where I need to get hold of the user id for the logged in user in Content Navigator.
Does anyone have any clue how I can achieve this?

Love your reply <3

6
Hi,

I have installed ODWek REST a couple of times now in different environments, with success.
This environment I'm installing in now is just a production environment and is set up same in test where I have installed ODWek REST successfully.

So in the production environment I have created a connection pool and access key, configured cmod rest configuration folder as an environment(restcfgdir) variable in WebSphere, installed the cmod-rest.war application and started it.
The cmod-rest application seems to start ok, but when I start to verify the services it starts to get weird.

service cmod-rest/v1/documentation respond with HTTP 200 and the documentation page is visible.
service cmod-rest/v1/ping respond with HTTP 404, the WebSphere logs does not show much right now. earlier I saw LTPA token expired, that has disappeared. I'll increase log level tomorrow.

Environment:
  • WebSphere Base 9.0.5.10
  • OnDemand 10.5.0.4
  • Windows Server 2016

Any idea what could be wrong here?

7
Hi,

In the documentation https://cmod.wiki/dox/RESTapiDoc/CMOD_10_5_REST_API_Documentation.html chapter 3.5.2. Search with SQL it says
Quote
When using search with SQL, it is imperative you include a segment start and stop date when available. The format of the start/stop dates is %Y-%m-%d. Failure to include a segment feild will result in a search across all application group data tables severly impacting system performance.
My question is, how do I know what segment start and stop date to use?

Quote
Failure to include a segment feild will result in a search across all application group data tables severly impacting system performance.
Hence that quote, it seems like I should be able to know what segment start and stop date I can use for a query.

In this sample request, the startdate and stopdate spans over 27 years. 27 years of records seems a bit odd to search through if the point of segment startdate and stopdate is to narrow the search down to increase performance.
Code: [Select]
POST /cmod-rest/v1/hits/ HTTP/1.1
usi-date: 2020-02-25T00:31:30Z
Authorization: CMODSharedKey externpool1-P0mFoCU5H83lN9uQcRUA:5au9U9epefygVH22mKfR8yGkS+XiA0D8CDmcOvZrt58=
Content-Type: application/json; charset=UTF-8
Host: localhost
Content-Length: 191

{
  "startdate" : "1993-01-01",
  "stopdate" : "2020-02-11",
  "query" : "where name like 'VILL%'",
  "folder" : "Baxter Bay CC Statements",
  "applicationgroup" : "Baxter Bay Credit"
}

8
OD/WEK & JAVA API / Can we adjust the ODWek REST max hits
« on: March 01, 2023, 04:11:53 AM »
Hi,

Through ODWek Java Api - ODFolder.setMaxHits(...) we can adjust the max hits.
With ODWek Rest, is it possible to increase the max hits through ODWek Rest ? or is the ODWek Rest limited to max 200 hits?

Thanks in advance

9
Hi,

OD version: 10.1.0.5

I am currently facing a problem where Group Memberships are not adding users, only deleting both existing and not existing users.

I have a few test cases I'd like to show, which might explain my problem
Test casePrerequisitsStatus
User created in ODUser created in ADOK
User deleted in ODUser deleted from ADOK
Group created in ODGroup created in ADOK
Group deleted in ODGroup deleted from ADOK
Group membership addedUser added to group in ADNOT OK, no entry in log
Group membership deletedUser removed from group in ADNOT OK, user deleted from OD group even when AD group has membership of that user

For test case "Group membership added", the user has been added to the group in AD. Group is synchronized to OD, but no users added to that group in OD.
For test case "Group membership deleted", users are deleted, but users that exist on that group in AD are also deleted. The users with membership to that same AD group, I would expect to still be part of that group in OD.

Help wanted <3

10
MP Server / Verifying synchronized users from AD to OD
« on: February 01, 2022, 07:29:01 AM »
Hi,

I have synchronized users from AD to OD with ARSLSYNC.
After synchronization, the user is found in OD.

When I look at the user with our OD Admin client, I cant see anything referring to AD for that user.
Is there a way to distinguish a synchronized AD user from a regular OD user? with regular I mean a user I have created in OD directly.

Best regards Andreas BH

11
Other / Create a new field on an existing folder with existing documents
« on: November 30, 2021, 06:05:31 AM »
Hi,

If I want to create a new field on an existing folder with existing documents, what happends to the existing documents in that folder?
  • will the existing documents get the new field with some kind of default / null value so I can update this field on the existing documents?
  • will only new documents created after the field has been created, get this new field?

Its snowing in Norway today

12
Hi,

Not sure if this topic is suitable for this forum or not..since it is related to OD authentication, I'll give it a shot.

System information:
OnDemand: 10.1.0.5
WebSphere 8.5.5 fixpack 20
Content Navigator 3.0.7

OnDemand configuration:
  • SSO enabled
  • AD users synchronised

WebSphere configuration:
  • SSO enabled
  • AD integration(SPNEGO/Kerberos)

Content Navigator configuration:
  • Deployed to WebSphere with Application Authentication enabled
  • Desktop, SSO enabled

When an AD user(i.e wasadmin) access the SSO Navigator Desktop, I receive the following error in WebSphere application server
Code: [Select]
SystemOut     O CIWEB Error: [wasadmin @ adserver] com.ibm.ecm.struts.actions.od.ODLogonAction.createODConnection()
java.lang.NoClassDefFoundError: com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl
        at com.ibm.edms.od.ODServer.logonICN(ODServer.java:484)
        at com.ibm.ecm.struts.actions.od.ODLogonAction.createODConnection(ODLogonAction.java:307)
        at com.ibm.ecm.struts.actions.GetDesktopAction.desktopConnect(GetDesktopAction.java:431)
        at com.ibm.ecm.struts.actions.GetDesktopAction.executeBaseAction(GetDesktopAction.java:148)
        at com.ibm.ecm.struts.actions.BaseActionHandlerImpl.executeAction(BaseActionHandlerImpl.java:472)
        at com.ibm.ecm.struts.actions.BaseAction.execute(BaseAction.java:76)
        at com.ibm.ecm.jaxrs.Actions.loadAndExecuteAction(Actions.java:719)
        at com.ibm.ecm.jaxrs.Actions.handleAction(Actions.java:111)
        at com.ibm.ecm.jaxrs.Actions.handlePostActions(Actions.java:148)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:508)
        at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
        at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:188)
        at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
        at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
        at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
        at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)
        at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
        at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
        at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1233)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:782)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
        at com.ibm.ecm.filters.ESAPIWafFilter.doFilter(ESAPIWafFilter.java:267)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
        at com.ibm.ecm.filters.CORSFilter.doFilter(CORSFilter.java:96)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
        at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4075)
        at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1019)
        at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:213)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
        at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
        at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:558)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:608)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:985)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1074)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
Caused by: java.lang.ClassNotFoundException: com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl
        at java.net.URLClassLoader.findClass(URLClassLoader.java:610)
        at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:942)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:887)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:870)

The exception says class com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl is not found. I have verified that the jar file where com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl is located is loaded in WebSphere(sas.jar). Would it be beneficial if I included this jar file in the navigator war file, though I would expect navigator to be able to reach the jar file when its available on the same node as navigator.

Anyone can guide me somewhere? I have kind of hit the end of the tunnel right now :-\ thanks in advance  :)

13
Configuration file: /ondemand/installation/path/config/ars.cfg
OnDemand version: 10.1.0.5

Is there a way to reference multiple users in ARS_LDAP_IGN_USERIDS, without specifying the exact username?
example:
I have the following users in OD:
  • F001
  • F002
Instead of putting both users in ARS_LDAP_IGN_USERIDS, like
Code: [Select]
ARS_LDAP_IGN_USERIDS=F001,F002
I would rather like to add a wildcard
Code: [Select]
ARS_LDAP_IGN_USERIDS=F*
Thanks in advance  :D

14
MP Server / LDAP SSL configuration, OnDemand wont start
« on: October 26, 2021, 10:50:43 AM »
I am configuring OnDemand with LDAP over SSL between OnDemand on AIX and Windows AD. I am having trouble getting the LDAP SSL configuration to work.

What has been done so far:
configured /opt/IBM/ondemand/config/ars.cfg, configuration parameters can be seen further down
restarted ondemand
made sure I can reach LDAP server on port 636
credentials for bind user is ok

When starting OnDemand after SSL has been enabled in ars.cfg, it seems OnDemand dont start
ARS1106E Connection cannot be established for the >ARCHIVE< server

Error received in OnDemand System Log:
LDAP Error: The SSL library cannot be loaded. -- ldap_rc=118, -- extended_rc=-1, Unknown error -- ldap_errno=-1, extra_rc=118, File=arsldap.c, Line=1198

LDAP has been enabled through OnDemand Administrator Client

Environment Variable (I am not sure about this GSK_KEYRING_STASH. I see it mentioned for z/OS only)
GSK_KEYRING_STASH=/opt/IBM/ondemand/V10.1/config/ldap.sth

ars.cfg configuration:
###########################################
# LDAP Parameters (Library Server Only)   #
###########################################
ARS_LDAP_SERVER=hostname
ARS_LDAP_PORT=636
ARS_LDAP_USE_SSL=TRUE
ARS_LDAP_BASE_DN=OU=Service Accounts
ARS_LDAP_BIND_ATTRIBUTE=sAMAccountName
ARS_LDAP_MAPPED_ATTRIBUTE=sAMAccountName
ARS_LDAP_ALLOW_ANONYMOUS=FALSE
ARS_LDAP_OD_AUTHORITY_FALLBACK=TRUE
ARS_LDAP_KEYRING_FILE=/opt/IBM/ondemand/V10.1/config/ldap.kdb
ARS_LDAP_KEYRING_LABEL=CERTLABEL

####################################################
# LDAP SYNC Parameters (requires CMOD v10.1.0.2+)  #
####################################################
ARS_LDAP_SERVER_TYPE=AD
ARS_LDAP_USER_FILTER=(ObjectClass=USER)
ARS_LDAP_GROUP_FILTER=(ObjectClass=GROUP)
ARS_LDAP_GROUP_MAPPED_ATTRIBUTE=cn
ARS_LDAP_IGN_USERIDS=ADMIN
ARS_LDAP_IGN_GROUPS=ADMINS

System information:
Aix: v7200-05-02-2114
OnDemand: 10.1.0.5
DB2: 11.1.1.1
TSM 7.1.6.5

Thanks in advance  :)

15
MP Server / Unable to contact LDAP server through arslsync
« on: October 14, 2021, 01:47:49 PM »
I am configuring OnDemand to synchronise users / groups from Windows AD to OnDemand, through LDAP, non SSL. I am having trouble getting the synchronisation to connect to the LDAP server.

What has been done so far:
  • configured /opt/IBM/ondemand/config/ars.cfg, configuration parameters can be seen further down
  • restarted ondemand
  • made sure I can reach LDAP server on port 389
  • credentials for bind user is ok

Command:
/opt/IBM/ondemand/bin/arslsync -tv

Error received in OnDemand System Log:
LDAP Error: Can't contact LDAP server -- ldap_rc=81, -- extended_rc=0, -- ldap_errno=81, extra_rc=-1, File=arsldap.c, Line=1448


arc.cfg configuration:
###########################################
# LDAP Parameters (Library Server Only)   #
###########################################
ARS_LDAP_SERVER=hostname
ARS_LDAP_PORT=389
ARS_LDAP_USE_SSL=FALSE
ARS_LDAP_BASE_DN=OU=Service Accounts
ARS_LDAP_BIND_DN=CN=bind-user,OU=Service Accounts
ARS_LDAP_BIND_DN_PWD=xxxxxx
ARS_LDAP_BIND_ATTRIBUTE=cn
ARS_LDAP_MAPPED_ATTRIBUTE=cn
ARS_LDAP_ALLOW_ANONYMOUS=TRUE

####################################################
# LDAP SYNC Parameters (requires CMOD v10.1.0.2+)  #
####################################################
ARS_LDAP_SERVER_TYPE=AD
ARS_LDAP_USER_FILTER=(ObjectClass=USER)
ARS_LDAP_GROUP_FILTER=(ObjectClass=GROUP)
ARS_LDAP_GROUP_MAPPED_ATTRIBUTE=cn
ARS_LDAP_IGN_USERIDS=ADMIN
ARS_LDAP_IGN_GROUPS=ADMINS


System information:
Aix: v7200-05-02-2114
OnDemand: 10.1.0.5
DB2: 11.1.1.1

Thanks in advance  :D

Pages: [1]