Recent posts

#21
Announcements and News / Re: The future of ODUG...
Last post by Justin Derrick - January 19, 2026, 04:09:54 PM
Broadly speaking, I advise *against* using AI/LLM output for anything important.  I've had a few occasions where people have written to me, letting me know that machine generated summaries (of information clearly found on the Forums or Wiki) were not accurate.  I informed them to use the source itself and not summaries, because I can't stop LLMs from generating garbage output.

I will *also* say that many, many folks have moved on -- I haven't counted the full total yet, but I'm going to estimate I have nearly 100 eMail bounces waiting for me to deal with.

EDIT:  About 10% of eMails were bounces, or recipients asked to be removed from the Forums, we've got a little over 800 users, down from a high of around 1100.

-JD.
#22
Announcements and News / Re: The future of ODUG...
Last post by geoffwilde - January 19, 2026, 02:56:25 PM
I have come to the site looking for similar experiences I have, but it is not frequent. I have not played with chatgpt or copiot to see how accurate those are in assessing and resolving questions.

I know every sort of conference and travel suffered a lot with budget constraints. I miss the days of what ODUG started out as but nothing good lasts forever. I know the user group, if it continues, will not be what it once was. I'm not even sure how many of those I met thru the user group are still with ODUG. I would continue to use the forum if it stays around.
#23
Announcements and News / Re: The future of ODUG...
Last post by tomondemand - January 19, 2026, 02:24:22 PM
There are little to no recourses available when trying to learn CMOD and am very thankful that this forum existed to answer my questions. For that reason, it would be great if it would continue. Of course, it needs to be monitored by those capable of answering questions.
#24
Announcements and News / The future of ODUG...
Last post by Justin Derrick - January 18, 2026, 11:20:36 PM
So, it's time to have the discussion...  It's approaching 5 years since our last technical conference...  Five since the last Board of Directors meeting, Three since ODUG ceased to exist according to its Bylaws...  Two years since the old forums went offline suddenly and I managed to recover them from a routine database backup...

ODUG has had a rich history spanning 30+ years... but it's future is currently a blank canvas.  So, with the new year, I ask the question to the community...

What do the Users want to happen to their User's Group?  I'm open to any and all input and feedback, good, bad, and/or ugly.

-JD.

#25
Announcements and News / We're back... AGAIN!
Last post by Justin Derrick - January 18, 2026, 10:51:47 PM
Hey everyone...

While trying to move the Forums to a new cloud provider over the holidays (with a better reputation for mail delivery) and doing some upgrades at the same time, I made a tremendous mistake, and deleted the *real* ODUG Forums, instead of the test machine I *thought* I was working on.  The real catastrophe came when I realized that the backups I was using to do the migration only existed on the real server, and the only offsite copies were several months old.

Unfortunately, we've lost about 5 months of data from the Forums, including posts, replies, and new user memberships...  but also small fixes and improvements I'd made to the server -- tightening firewall rules, database performance tweaks, among others.

To ensure this never happens again, I took a few parts from my old office, and built a 30TB backup server with 3x redundant storage -- 5 disks of ZFS RAIDz3.  Local database backups happen nightly.  Whole-server file-level backups are initiated from the new backup server, which is currently living on my desk.  Offsite copies to a 'tough' USB stick will be rotated out at least monthly.

I've always taken the reliability of ODUG very seriously, and I'm sorry for this lapse that's resulted in data loss.

Having said all that...  ODUG has been extraordinarily quiet lately, and the actual volume of new users / posts / replies has been very low.  That's something I've been meaning to work on as well.  I'll start another thread about that shortly.  :)

-JD.

 
#26
CMOD for Multiplatforms / Re: Encryption failing - Best ...
Last post by teera_aoo - August 01, 2025, 10:59:38 AM
This is quite an old forum, but if it helps, please check the initial encryption key for arssockd.

Reference: https://www.ibm.com/support/pages/ibm-content-manager-ondemand-native-encryption (PDF on page 5)

# Create key store
gsk8capicmd_64 -keydb -create -db "odkeys.p12" -pw "myKeyDBpasswd" -type pkcs12 -stash

# Update Key to arssockd
arssockd -I <INSTANCE> -d "keystore_type=PKCS12,keystore_location=/opt/IBM/ondemand/V10.5/config/odkeys.p12,keystore_mkl=*"

# Checked by
arssockd -I <INSTANCE> -D

#27
Content Navigator / Re: ICN 3.1.0 load main page f...
Last post by Ed_Arnold - July 29, 2025, 04:41:26 PM
Hello teera_aoo -

When I get an unable to connect message here is what I try first:


1. Ping the arssockd server host from Windows.  Does that work?

2. Next try the port:

Powershell - (failure shown first, then I opened up the firewall and retried successfully)

PS C:\Users\ed.arnold> test-netconnection 10.1.203.52 -port 1447
WARNING: TCP connect to (10.1.203.52 : 1447) failed
WARNING: Ping to 10.1.203.52 failed with status: TimedOut


ComputerName           : 10.1.203.52
RemoteAddress          : 10.1.203.52
RemotePort             : 1447
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.1.133
PingSucceeded          : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False



PS C:\Users\ed.arnold> test-netconnection 10.1.203.52 -port 1447


ComputerName     : 10.1.203.52
RemoteAddress    : 10.1.203.52
RemotePort       : 1447
InterfaceAlias   : Ethernet 2
SourceAddress    : 10.111.105.47
TcpTestSucceeded : True

3. If both of these fail it's time for a packet trace to see where the packets are going or not going

Ed Arnold
#28
Content Navigator / ICN 3.1.0 load main page faile...
Last post by teera_aoo - July 25, 2025, 10:58:08 AM
I'm having trouble accessing the main page (ICN admin desktop) after deploying ICN. All deployment steps completed successfully, and the JDBC datasource test passed.

Can anyone suggest a solution?

ICN:
Cannot connect to the web client.
The web application server might not be running or cannot be reached because of network problems.
Ask your system administrator to review the web application server log files.

In SystemOut.log:
[7/25/25 17:42:51:654 ICT] 0000009d SystemErr     R CIWEB Error: [@x.x.x.x] com.ibm.ecm.jaxrs.Actions.loadAndExecuteAction() Failed processing
javax.servlet.ServletException: Failed to initialize.
        at com.ibm.ecm.jaxrs.GlobalConfiguration.initialize(GlobalConfiguration.java:84)
        at com.ibm.ecm.jaxrs.GlobalConfiguration.process(GlobalConfiguration.java:177)
        at com.ibm.ecm.jaxrs.Actions.loadAndExecuteAction(Actions.java:951)
        at com.ibm.ecm.jaxrs.Actions.handleAction(Actions.java:134)
        at com.ibm.ecm.jaxrs.Actions.handlePostActions(Actions.java:204)
        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 com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:650)
        at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.performInvocation(LibertyJaxRsInvoker.java:108)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
        at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.invoke(LibertyJaxRsInvoker.java:176)
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:191)
        at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.invoke(LibertyJaxRsInvoker.java:364)
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:73)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:111)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:309)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:136)
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:280)
        at com.ibm.ws.jaxrs20.endpoint.AbstractJaxRsWebEndpoint.invoke(AbstractJaxRsWebEndpoint.java:147)
        at com.ibm.websphere.jaxrs.server.IBMRestServlet.handleRequest(IBMRestServlet.java:192)
        at com.ibm.websphere.jaxrs.server.IBMRestServlet.doPost(IBMRestServlet.java:150)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at com.ibm.websphere.jaxrs.server.IBMRestServlet.service(IBMRestServlet.java:138)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:143)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:96)
        at com.ibm.ecm.filters.JAXRSFilter.doFilter(JAXRSFilter.java:42)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ecm.filters.CSPFilter.doFilter(CSPFilter.java:89)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ecm.filters.ESAPIWafFilter.doFilter(ESAPIWafFilter.java:265)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ecm.filters.CORSFilter.doFilter(CORSFilter.java:85)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ecm.jaxrs.ContextFilter.contextFilter(ContextFilter.java:75)
        at com.ibm.ecm.jaxrs.ContextFilter.doFilter(ContextFilter.java:55)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ecm.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:79)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:979)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1119)
        at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:966)
        at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:289)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
        at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
        at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
        at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
        at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
Caused by: java.lang.IllegalStateException: Data store is null
        at com.ibm.ecm.configuration.GlobalConfig.initializeDatabaseConfiguration(GlobalConfig.java:114)
        at com.ibm.ecm.configuration.GlobalConfig.initialize(GlobalConfig.java:62)
        at com.ibm.ecm.configuration.Config.initialize(Config.java:112)
        at com.ibm.ecm.jaxrs.GlobalConfiguration.initializeConfig(GlobalConfiguration.java:93)
        at com.ibm.ecm.jaxrs.GlobalConfiguration.initialize(GlobalConfiguration.java:76)
        ... 70 more
#29
CMOD for z/OS Server / Improved Diagnostics for Max T...
Last post by Ed_Arnold - July 22, 2025, 09:42:46 PM
ARS0188E - IBM Content Manager OnDemand server issues the message "ARS0188E Unable to create thread. The return code is X" and exits.

Unfortunately ARSSOCKD ends without enough diagnostic information to tell where the issue was.

Starting at 10.5.0.8 CMOD on z/OS, instead of just terminating, now ends with a dump.

Support can analyze the dump and should be able to localize the root cause.

Ed
#30
Tips and Tricks / Sample JCL to compile arsuperm...
Last post by Ed_Arnold - July 18, 2025, 08:57:30 PM
// JOBCARD
//*       
//* -----------------------------------------------------------------
//*                                                                   
//*  CHANGE THE OPERANDS ON THE FOLLOWING SET STATEMENTS             
//*  TO REFERENCE THE DATA SET NAMES APPROPRIATE FOR                 
//*  YOUR INSTALLATION.                                               
//*                                                                   
//*     SRCLIB  REFERENCES THE LIBRARY WHICH CONTAINS                 
//*             THE SOURCE CODE PARTS.                               
//*                                                                   
//*     TGTLIB  REFERENCES THE TARGET HFS TO CONTAIN                 
//*             THE LOAD MODULE.                                     
//*                                                                   
//*                                                                   
//PROCESS   OUTPUT  DEFAULT=YES,CLASS=*,JESDS=ALL,OUTDISP=HOLD       
//SRCLIB    SET SRCLIB='ARS.SMPE105.SARSINST'                         
//TGTLIB    SET TGTLIB='/u/some/target/exits'                               
//*                                                                   
//* -----------------------------------------------------------------
//*                                                                   
//COMP     EXEC PGM=CCNDRVR,                                       
// PARM=('/OPTFILE(DD:COPTS)')                                     
//STEPLIB  DD DSN=CEE.SCEERUN,DISP=SHR                             
//         DD DSN=CBC.SCCNCMP,DISP=SHR                             
//COPTS    DD *                                                     
DEFINE(OS390)                                                       
DEFINE(UNIX)                                                       
DEFINE(ARS_COPYRIGHT)                                               
DEFINE(MVS_PRAGMA)                                                 
DEFINE(_THREAD_SAFE)                                               
DEFINE(_OPEN_SYS)                                                   
DEFINE(_XOPEN_SOURCE_EXTENDED)                                     
DEFINE(__OS390__)                                                   
OPT(2)                                                             
GOFF                                                               
XPLINK                                                             
CSECT                                                               
INLRPT                                                             
LIB                                                                 
ARCH(10)                                                           
TUNE(12)
LONGNAME                                                             
RENT                                                                 
SOURCE                                                               
LIST                                                                 
NOSEQ                                                               
NOMAR                                                               
SPILL(512)                                                           
//SYSIN    DD  DSN=&SRCLIB(ARSUPERM),DISP=SHR                       
//USERLIB  DD  DISP=SHR,DSN=ARS.SMPE105.SARSINST                     
//SYSLIB   DD  DISP=SHR,DSN=ARS.SMPE105.SARSINST                     
//         DD  DSNAME=CEE.SCEEH.H,DISP=SHR                           
//         DD  DSNAME=CEE.SCEEH.SYS.H,DISP=SHR                       
//SYSUT1   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)     
//SYSUT4   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)     
//SYSUT5   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)   
//SYSUT6   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)   
//SYSUT7   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)   
//SYSUT8   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)   
//SYSUT9   DD  UNIT=SYSDA,DISP=(NEW,DELETE),                         
//   SPACE=(32000,(30,30)),DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)     
//SYSUT14  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),                     
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)               
//SYSPRINT DD SYSOUT=*                                               
//SYSCPRT  DD SYSOUT=*                                               
//SYSLIN   DD DSN=&&OBJ,                                             
//             DISP=(MOD,PASS),                                     
//             UNIT=SYSALLDA,LRECL=80,RECFM=FB,BLKSIZE=3120,         
//             SPACE=(TRK,(30,30))                                   
//LKED     EXEC PGM=IEWL,COND=(4,LT,COMP),                           
//     PARM='AC=1,CASE=MIXED,OPTIONS=OPTS'                           
//SYSLIB   DD  DISP=SHR,DSN=CEE.SCEEBND2                             
//OPTS     DD  *                                                     
    XREF                                                             
    AMODE=31,MAP                                                     
    RENT,DYNAM(DLL)                                                 
//SYSLMOD  DD PATH='&TGTLIB'                                         
//SYSUT1   DD UNIT=VIO,SPACE=(CYL,(10,2)),DISP=(NEW,DELETE)           
//SARSLOAD DD DISP=SHR,DSN=ARS.SMPE105.SARSLOAD                       
//SCEELIB  DD DISP=SHR,DSN=CEE.SCEELIB                                 
//SYSPRINT DD SYSOUT=*                                                 
//SYSDEFSD DD DUMMY                                                   
//SYSLIN   DD  DSN=*.COMP.SYSLIN,DISP=(OLD,DELETE)                     
//         DD  DDNAME=SYSIN                                           
//SYSIN    DD  *                                                       
   SETOPT PARM(PATHMODE(0,7,5,5),EXTATTR(APF))                         
    INCLUDE SARSLOAD(ARSZUXFX)                                         
    INCLUDE SCEELIB(CELHS003,CELHS001)                                 
    NAME    arsuperm(R)                                               
//*