### Install Add-Ons to an Object Store Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=objects-installing-add Demonstrates installing required add-ons by first identifying prerequisites and then iterating through them to install each one. ```java public void verifyPublishingExtensions() { System.out.println("Checking for required Add-Ons ..."); IdList requiredAddOnIds = objectStore.determinePrerequisiteAddOnIds(SystemAddOnId.PUBLISHING); for (int i = 0; i < requiredAddOnIds.size(); i++ ) { Id addOnIds = (Id)requiredAddOnIds.get(i); AddOn addOn = Factory.AddOn.getInstance(domain, addOnId); System.out.println("Installing AddOn: " + addOn.get_DisplayName() + " ... "); objectStore.installAddOn(addOn); objectStore.save(RefreshMode.REFRESH); System.out.println("Installed AddOn: " + addOn.get_DisplayName() + "."); } System.out.println("Required Add-Ons installed."); } ``` ```csharp public void verifyPublishingExtensions() { System.Console.WriteLine("Checking for required Add-Ons ..."); IIdList requiredAddOnIds = objectStore.DeterminePrerequisiteAddOnIds(SystemAddOnId.PUBLISHING); for (int i = 0; i < requiredAddOnIds.Count; i++ ) { Id addOnId = (Id)requiredAddOnIds[i]; IAddOn addOn = Factory.AddOn.GetInstance(domain,addOnId); System.Console.WriteLine("Installing AddOn: " + addOn.DisplayName + " ... "); objectStore.InstallAddOn(addOn); objectStore.Save(RefreshMode.REFRESH); System.Console.WriteLine("Installed AddOn: " + addOn.DisplayName + "."); } System.Console.WriteLine("Required Add-Ons installed."); } ``` -------------------------------- ### Start GUI Interface Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=interface-filenet-deployment-manager-command-line-reference Starts FileNet Deployment Manager with the graphical user interface displayed. ```Windows DeploymentManager.exe --gui ``` -------------------------------- ### Execute version command example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=reference-administration-tool-usage Example of running the version command with a specified configuration path and locale. ```bash /user/server/adminTool.sh version -configPath "/user/server/config"  -locale fr ``` -------------------------------- ### Verify oc-mirror installation Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ocp-setting-up-host-mirror-images-private-registry Run the help command to confirm the oc-mirror tool is correctly installed. ```bash oc mirror help ``` -------------------------------- ### Example Output for Document Iteration Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=collections-working Sample console output demonstrating document retrieval results based on different page start parameters. ```text Parameter pageStart: 1 Parameter maxDocCount: 12 Page: 1 Element count: 5 -Document9 -Document7 -Document4 -Document3 -Document1 Page: 2 Element count: 5 -Document2 -Document8 -Document10 -Document12 -Document11 Page: 3 Element count: 2 -Document5 -Document6 ``` ```text Parameter pageStart: 2 Parameter maxDocCount: 12 Page: 1 Element count: 5 -Document2 -Document8 -Document10 -Document12 -Document11 Page: 2 Element count: 2 -Document5 -Document6 ``` ```text Parameter pageStart: 3 Parameter maxDocCount: 12 Page: 1 Element count: 2 -Document5 -Document6 ``` -------------------------------- ### Bulk Import Tool Windows Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=tool-starting-bulk-import Command-line examples for running the Bulk Import Tool on Windows, including standard and WebSphere EJB transport configurations. ```bash "C:\Program Files (x86)\IBM\FileNet\ContentEngine\tools\_jvm17\jre\bin\java" -classpath "C:\Program Files (x86)\IBM\FileNet\CEClient\lib\jace.jar; C:\Program Files (x86)\IBM\FileNet\ContentEngine\tools\CEBI\BulkImport.jar" bulkImport.BI_Start ``` ```bash "C:\Program Files (x86)\IBM\FileNet\ContentEngine\tools\_jvm17\jre\bin\java" -classpath "C:\Program Files (x86)\IBM\FileNet\CEClient\lib\jace.jar; C:\Program Files (x86)\IBM\FileNet\ContentEngine\tools\CEBI\BulkImport.jar" -Djava.ext.dirs=\AppClient\java\jre\lib\ext; \AppClient\lib; \AppClient\plugins bulkImport.BI_Start ``` -------------------------------- ### EOB File Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=bulk-creating-eob-file An example of a configured .eob file entry. ```text /cebulkimportdata/EOB_data 2 4 ``` -------------------------------- ### Event Creation and Lookup Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-lookupevent-member-function Examples demonstrating the creation of events and sub-events using the Listener and Container classes. ```cpp Listener *listener = new Listener("sampleApp", "4.0", NULL, false); Event *creations = listener->lookupEvent(USER, "document creations"); - or - Event *creations = new Event(USER, "document creations"); Accumulator *numCreations = creations->numCreations("number of document creations"); ... delete creations; creations = NULL; - or - Listener *listener = new Listener("sampleApp", "4.0", NULL, false); Container *store = listener->lookupContainer("storeName"); Event *creations = store->lookupEvent("document creations", false); Event *subCreations = creations->lookupEvent("document sub-creations"); Meter *creationSize = creations->lookupMeter("creation size"); Accumulator *numCreations = creations->numCreations("number of document creations"); ... ``` -------------------------------- ### Example Server Base URL configurations Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=properties-setting-web-application-isolated-region Examples of valid Server Base URL configurations for different web applications. ```text http://my-server/navigator ``` ```text http://my-server:8080/RecordsManager ``` ```text https://my-server:8080/MyApp ``` -------------------------------- ### Verify IBM Catalog Management Plug-in installation Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ocp-setting-up-host-mirror-images-private-registry Run the help command to confirm the plug-in is correctly installed. ```bash oc ibm-pak --help ``` -------------------------------- ### Launch Processor URL Runtime Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=system-setting-url-templates Example of a generated URL for a launch processor based on specific server and application settings. ```text http://10.15.4.54:8080/MyWebApp/myLaunchers/myLaunchProcessor.jsp?workflowVersion=%7E%7E1%09... &subject=Loan%20Application&attachmentId= ``` -------------------------------- ### Bulk Import Tool UNIX Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=tool-starting-bulk-import Command-line examples for running the Bulk Import Tool on UNIX, including standard and WebSphere EJB transport configurations. ```bash /opt/IBM/FileNet/ContentEngine/tools/_jvm/jre/bin/java -classpath /opt/IBM/FileNet/CEClient/lib/Jace.jar :/opt/IBM/FileNet/ContentEngine/tools/CEBI/bulkimport.jar bulkImport.BI_Start ``` ```bash /opt/IBM/FileNet/ContentEngine/tools/_jvm/jre/bin/java -classpath /opt/IBM/FileNet/CEClient/lib/Jace.jar :/opt/IBM/FileNet/ContentEngine/tools/CEBI/bulkimport.jar -Djava.ext.dirs=/AppClient/java/jre/lib/ext; /AppClient/lib; /AppClient/plugins bulkImport.BI_Start ``` -------------------------------- ### Start HTTP server container Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=administering-optional-preparing-customized-versions-jdbc-drivers Command to start an HTTPd container to host the compressed driver file for download. ```bash docker run -dit --name http -p 8888:80 httpd ``` -------------------------------- ### transact.dat entry examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=bulk-preparing-use-import-tool Examples showing simple entries, multiple content files, and referencing a text file for content lists. ```text 03:67890,"Hi there",3320.09:This is a test:cat_picture.jpg ``` ```text 03:67890,"Hi there",3320.09:This is a test:kids.tif,ocean_surf.jpg ``` ```text 03:67890,"Hi there",3320.09:This is a test:+x.txt ``` -------------------------------- ### Step Processor URL Runtime Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=system-setting-url-templates Example of a generated URL for a step processor using defined template parameters. ```text http://10.15.4.54:8080/MyWebApp/myStepprocs/myStep.jsp?queueName=Inbox&wobNum=C6F344A9D1....&stepName=Loan%20Eval ``` -------------------------------- ### TraceOptions file path example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=reference-trace Example of the file path where the TraceOptions file should be saved based on the application server user.dir property. ```text C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\traceOptions ``` -------------------------------- ### Install Podman and configure Docker Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=cluster-preparing-client-connect Commands to install the Podman CLI and configure the Docker insecure registry setting for private registry access. ```bash yum -y install podman ``` ```bash INSECURE_REGISTRY='--insecure-registry=route' ``` -------------------------------- ### Using the stop Member Function Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-stop-member-function Example showing the initialization of a Duration object, starting the timer, and stopping it with the incrementCounter parameter set to true. ```cpp Listener *listener = new Listener("sampleApp", "4.0", NULL, false); Duration *readTime = listener->durationFactory("duration of read"); readTime->start(NULL); ... unsigned __int64 totalRead = readTime->stop(true); ... ``` -------------------------------- ### Install Add-on in Object Store Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=objects-checking-superseded-add-ons Checks if an add-on is installed using its ID and performs an installation if it is missing. ```java void installOn(Domain domain, AddOn addOn) { if ( objectStore.isAddOnInstalled(addOn.get_Id()) == false ) { System.out.println("+++ Installing " + addOn.get_DisplayName() + " into object store " + objectStore.get_DisplayName() + " ..."); objectStore.installAddOn(addOn); objectStore.save(RefreshMode.REFRESH); } else { System.out.println("--- " + addOn.get_DisplayName() + " already installed in object store " + objectStore.get_DisplayName() + "."); } } ``` ```csharp void installOn(IDomain domain, IAddOn addOn) { if ( objectStore.IsAddOnInstalled(addOn.Id) == False ) { System.Console.WriteLine("+++ Installing " + addOn.DisplayName + " into object store " + objectStore.DisplayName + " ..."); objectStore.InstallAddOn(addOn); objectStore.Save(RefreshMode.REFRESH); } else { System.Console.WriteLine("--- " + addOn.DisplayName + " already installed in object store " + objectStore.DisplayName + "."); } } ``` -------------------------------- ### Create and Navigate to Configuration Directory Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=deployment-preparing-enable-business-automation-insights Sets up a local directory to store the retrieved BAI configuration files. ```bash mkdir BAI_Kafka_config cd BAI_Kafka_config ``` -------------------------------- ### Create an AddOn object Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=objects-creating-add Examples demonstrating the instantiation and configuration of an AddOn object in Java and C#. ```java public void createAddon(Domain domain) { // Create AddOn object. Use the same Id value for the AddOn instance for all domains. AddOn addon = Factory.AddOn.createInstance(domain, new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9a}") ); // Create FileInputStream for data to be imported // and set it on the AddOn object. File importDataset = new File("C:\\temp\\Addon_v1.xml"); // non-Windows: File importDataset = new File("/tmp/Addon_v1.xml"); FileInputStream fis = null; try { fis = new FileInputStream(importDataset); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); } addon.setImportDataStream(fis); // Set properties of AddOn object. IdList preRequisiteList = Factory.IdList.createList(); preRequisiteList.add(new Id("{a3b865d4-41c4-4e9d-8e97-e9eb54e5752c}") ); addon.set_Prerequisites(preRequisiteList); addon.set_AddOnType(AddOnType.OPTIONAL); addon.set_DisplayName("Addon_v2"); addon.set_DescriptiveText("Installs classes and properties necessary for v2 functionality"); addon.set_Creator("CEMP Integrators"); addon.save(RefreshMode.NO_REFRESH); } ``` ```csharp public void createAddon(IDomain domain) { IAddOn addon = Factory.AddOn.CreateInstance(domain, new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9a}") ); // Create Stream for data to be imported // and set it on the IAddOn object. Stream fileStream = File.OpenRead("C:\\temp\\Addon_v1.xml"); addon.SetImportDataStream(fileStream); // Set properties of IAddOn object. IIdList preRequisiteList = Factory.IdList.CreateList(); preRequisiteList.Add(new Id("{a3b865d4-41c4-4e9d-8e97-e9eb54e5752c}")); addon.Prerequisites = preRequisiteList; addon.AddOnType = AddOnType.OPTIONAL; addon.DisplayName = "C#Addon_v2"; addon.DescriptiveText = "Installs classes and properties necessary for v2 functionality"); addon.Creator = "CEMP Integrators"; addon.Save(RefreshMode.NO_REFRESH); } ``` -------------------------------- ### Transfer Workflow Definition Java Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=workflows-working-workflow-related-objects This example demonstrates how to transfer a workflow definition using the Process Engine Java API. It includes methods for transferring the definition and retrieving its content as an InputStream. ```java public String transferWorkflowDefinition(ObjectStore os, VWSession vwSession, WorkflowDefinition workflowDocCE) throws Exception { String workflowVersion = null; // In addition to the VWSession object, the following Process Java API objects are used. VWWorkflowDefinition workflowDocPE = new VWWorkflowDefinition(); VWTransferResult transferResult = null; // Get the definition content from the Content Engine object store to be transferred to Process Engine. // Calls getContents method. workflowDocPE = VWWorkflowDefinition.read( getContents(os.get_Name(), workflowDocCE) ); // Get the current version series id and use it to create a unique name for the transferred workflow. String verSerId = workflowDocCE.get_VersionSeries().get_Id().toString(); String canonicalName = "document" + ":" + os.get_Name() + ":" + verSerId + ":" + workflowDocCE.get_Id().toString(); // Transfer the workflow. try { transferResult = vwSession.transfer(workflowDocPE, canonicalName, false, false); } catch (VWException e) { throw new Exception (e.getCauseDescription()); } if ( ! transferResult.success() ) throw new Exception("Failed to transfer workflow definition"); else workflowVersion = transferResult.getVersion(); // Return identifier of transferred workflow definition. return workflowVersion; } // Returns the workflow definition content. public InputStream getContents(String objectStoreName, WorkflowDefinition workflowDocCE) throws Exception { InputStream inStream = null; ContentElementList contentList = Factory.ContentElement.createList(); ContentTransfer ctObject; contentList = workflowDocCE.get_ContentElements(); try { ctObject = (ContentTransfer) contentList.get(0); } catch (Exception e) { throw new Exception("Failed to retrieve document content."); } inStream = ctObject.accessContentStream(); return inStream; } ``` -------------------------------- ### strins example variables Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-string Variable definitions for the strins function example. ```text insert_str = "Mr. Jones," ``` ```text source_str = "Good morning, what a lovely day." ``` -------------------------------- ### List Server Parameters Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=reference-configuration-tool-usage Example command to display all current server parameter values for a specific configuration path. ```bash /user/server/configTool.sh list -system -configPath "/user/server/config"  -locale fr ``` -------------------------------- ### Float Literal Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=expressions-literals Examples of valid float literal representations. ```text 1.0 0.53 -1e5 3.43769e-27 ``` -------------------------------- ### Transact.dat File Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=bulk-creating-eob-file An example of the content within a transact.dat file. ```text 03:67890,Document Title,3320.09:Comments here:+x.txt ``` -------------------------------- ### Instantiate and Configure InstallAddOnAction Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=elements-installaddonaction-element Demonstrates creating an instance of the InstallAddOnAction class and setting the required addOnId property. ```C# InstallAddOnAction objInstallAddOn = new InstallAddOnAction(); objInstallAddOn.addOnId="{8ca080f0-7a39-4e26-9e1f-25a8f12b4d52}"; ``` -------------------------------- ### Starting a Duration measurement Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=methods-start-method Initializes a listener and a duration object, then starts the timer. ```java Listener listener = new Listener("sampleApp", "4.0"); Duration readTime = listener.durationFactory("duration of read"); readTime.start(); ... ``` -------------------------------- ### Invoke FileNet Deployment Manager help Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=interface-filenet-deployment-manager-command-line-reference Displays help information using the standard executable. ```bash DeploymentManager.exe --help ``` -------------------------------- ### Initiate Replication on a Document Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=replication-working These examples demonstrate how to select an object store, find a specific replication group, and assign it to a document to initiate replication. ```java // Enter the name of an object store System.out.println("Enter the name of an object store:"); InputStreamReader converter = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(converter); String strOSName = in.readLine(); ObjectStore objObjectStore = Factory.ObjectStore.fetchInstance(objDomain, strOSName, null); objObjectStore.save(RefreshMode.REFRESH); // Enter the name of a replication group System.out.println("Enter the name of a replication group:"); String strSearchName = in.readLine(); // Get the ReplicationGroups collection from an existing Domain object Iterator iter = objDomain.get_ReplicationGroups().iterator(); ReplicationGroup objReplicationGroup = null; String strName; // Loop until matching ReplicationGroup object found while (iter.hasNext()) { objReplicationGroup = (ReplicationGroup)iter.next(); strName = objReplicationGroup.get_DisplayName(); if (strName.equalsIgnoreCase(strSearchName)) { // ReplicationGroup object found System.out.println("Replication group selected: " + strName); } } // Select the Document object on which to initiate replication System.out.println("Type the path name of the Document (//):"); String strPath = in.readLine(); // Retrieve Document object Document objDoc = Factory.Document.fetchInstance(objObjectStore, strPath, null); objDoc.save(RefreshMode.REFRESH); // Set the ReplicationGroup property on the Document object objDoc.set_ReplicationGroup(objReplicationGroup); ``` ```csharp // Enter the name of the object store Console.WriteLine("Enter the name of the object store:"); String strOSName = Console.ReadLine(); IObjectStore objObjectStore = Factory.ObjectStore.FetchInstance(objDomain, strOSName, null); objObjectStore.Save(RefreshMode.REFRESH); // Enter the name of a replication group Console.WriteLine("Enter the name of a replication group:"); String strRGSearchName = Console.ReadLine(); // Get the ReplicationGroups collection from an existing Domain object IReplicationGroupSet objReplicationGroups = objDomain.ReplicationGroups; IReplicationGroup objReplicationGroup = null; String strName; // Loop until matching ReplicationGroup object found foreach (IReplicationGroup objRG in objReplicationGroups) { strName = objRG.DisplayName; if (strName.Equals(strRGSearchName, StringComparison.OrdinalIgnoreCase)) { // ReplicationGroup object found Console.WriteLine("Replication group selected: " + objRG.DisplayName); objReplicationGroup = objRG; Console.WriteLine("Press any key to continue"); Console.ReadLine(); } } // Select the Document object on which to initiate replication Console.WriteLine("Type the path name of the document (//document name>):"); String strPath = Console.ReadLine(); // Retrieve Document object IDocument objDoc = Factory.Document.FetchInstance(objObjectStore, strPath, null); // Set the ReplicationGroup property on the Document object objDoc.ReplicationGroup = objReplicationGroup; ``` -------------------------------- ### View operator installation logs Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=resource-validating-your-deployment Extracts the operator log to monitor the progress of the installation. ```bash # Set your project name here export project_name=$your_project_name # Set target operator name here export operator_name=ibm-fncm-operator operator_pod_name=$(kubectl get pod|grep $operator_name | awk '{print $1}') kubectl exec -i $operator_pod_name -n $project_name -- /bin/bash -c 'cat /tmp/ansible-operator/runner/fncm.ibm.com/v1/*/*/*/artifacts/latest/stdout' > operator-ansible.log ``` -------------------------------- ### Install Python dependencies Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=cncf-getting-access-images-from-local-image-registry Install the required Python packages specified in the requirements.txt file. ```bash python3 -m pip install -r requirements.txt ``` -------------------------------- ### Configure Custom Keystore System Parameters Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=security-enabling-ssl-content-platform-engine Add these parameters to the Java command line in the application server startup script when using a custom keystore. ```text -Djavax.net.ssl.trustStore= path_to_your_keystore_file -Djavax.net.ssl.trustStorePassword= password_of_your_keystore ``` -------------------------------- ### ApplySecurityTemplateAction Usage Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=elements-applysecuritytemplateaction-element Example of instantiating the ApplySecurityTemplateAction and setting the required applyStateId attribute. ```csharp ApplySecurityTemplateAction objAST = new ApplySecurityTemplateAction(); objAST.applyStateId = "{95AD7AED-DFA0-4459-AE95-2CA2FC041602}"; ``` -------------------------------- ### Start Configuration Manager on Windows Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ccpeibugui-starting-configuration-manager-graphical-user-interface Execute this batch file from the command prompt to launch the GUI on Windows. ```batch ce_install_path\tools\configure\configmgr.bat ``` -------------------------------- ### Example Group Search Filter Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=directory-configuration-properties-active An example of a search filter for groups in Active Directory. ```text (&(objectclass=group)(samAccountName={0})) ``` -------------------------------- ### Example InstallAnywhere Registry Entry Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=kps-content-platform-engine-installation-fails-later-version-is-detected-cannot-downgrade-error This XML structure represents the product entries in the .com.zerog.registry.xml file that must be identified and removed to resolve downgrade conflicts. ```xml 
 
 
 
 
 
 
 
 
 
 
 ``` -------------------------------- ### Example Outputs for Collection Iteration Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=collections-working Sample console outputs demonstrating different configurations of pageSizePrefetch and pageSizeFetch. ```text Parameter pageSizePrefetch: 1 Parameter pageSizeFetch: 3 Page: 1 Element count: 1 -Subfolder5 Page: 2 Element count: 3 -Subfolder7 -Subfolder2 -Subfolder6 Page: 3 Element count: 3 -Subfolder3 -Subfolder4 -Subfolder1 ``` ```text Parameter pageSizePrefetch: 3 Parameter pageSizeFetch: 1 Page: 1 Element count: 3 -Subfolder5 -Subfolder7 -Subfolder2 Page: 2 Element count: 1 -Subfolder6 Page: 3 Element count: 1 -Subfolder3 Page: 4 Element count: 1 -Subfolder4 Page: 5 Element count: 1 -Subfolder1 ``` ```text Parameter pageSizePrefetch: 3 Parameter pageSizeFetch: 3 Page: 1 Element count: 3 -Subfolder5 -Subfolder7 -Subfolder2 Page: 2 Element count: 3 -Subfolder6 -Subfolder3 -Subfolder4 Page: 3 Element count: 1 -Subfolder1 ``` -------------------------------- ### Choice list entry examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=bulk-preparing-use-import-tool Examples of single and multi-valued entries for choice lists. ```text Single-valued entry: `17:Green,CEBIStr::test.text` Multi-valued entry: `17:{Green|Blue|Red},CEBIStr::test.text` ``` -------------------------------- ### Create and Configure a Task Instance Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=tasks-working-task-objects Demonstrates creating a task instance from a subclass, assigning a document as the coordinator, setting custom properties, and persisting the changes. ```Java // Create instance from task subclass created in previous example. CmTask task = Factory.CmTask.createInstance(store, "FloodClaimTaskSubclass"); // Set the Coordinator property with a Document object. Document activityCoordinator = Factory.Document.getInstance(store, ClassNames.DOCUMENT, new Id("{486F9C7F-DD8C-4EB9-A7CC-98A3A4DAD1EB}")); task.set_Coordinator(activityCoordinator); // Set custom property for naming the instance. task.getProperties().putValue("taskName", "Flood Claim Task Instance"); // Save task instance to the server. task.save(RefreshMode.REFRESH); ``` ```C# // Create instance from task subclass created in previous example. ICmTask task = Factory.CmTask.CreateInstance(store, "FloodClaimTaskSubclass"); // Set the Coordinator property with a Document object. IDocument activityCoordinator = Factory.Document.GetInstance(store, ClassNames.DOCUMENT, new Id("{486F9C7F-DD8C-4EB9-A7CC-98A3A4DAD1EB}")); task.Coordinator = activityCoordinator; // Set custom property for naming the instance. task.Properties["taskName"] = "Flood Claim Task Instance"; // Save task instance to the server. task.Save(RefreshMode.REFRESH); ``` -------------------------------- ### Retrieve Add-on Installation Records Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=objects-retrieving-add-installation-records Retrieves and iterates through the collection of installed add-ons from an object store. ```java public void retrieveInstalledAddons(ObjectStore objectStore) { AddOnInstallationRecordList installList = objectStore.get_AddOnInstallationRecords(); AddOnInstallationRecord aoir = null; Iterator iter = installList.iterator(); while (iter.hasNext()) { aoir = (AddOnInstallationRecord)iter.next(); System.out.println("Addon name: " + aoir.get_AddOnName() + "\n" + "Install ID: " + aoir.get_Id().toString() + "\n" + "Install date: " + aoir.get_InstallationDate() + "\n" + "Installer: " + aoir.get_Installer() + "\n" + "Install status: " + aoir.get_InstallationStatus() + "\n" + "Install report: " + aoir.get_InstallationReport() + "\n" ); } } ``` ```csharp public void retrieveInstalledAddons(IObjectStore objectStore) { IAddOnInstallationRecordList installList = objectStore.AddOnInstallationRecords; IAddOnInstallationRecord aoir = null; System.Collections.IEnumerator installIter = installList.GetEnumerator(); while (installIter.MoveNext()) { aoir = (IAddOnInstallationRecord)installIter.Current; System.Console.WriteLine("Addon name: " + aoir.AddOnName + "\n" + "Install ID: " + aoir.Id.ToString() + "\n" + "Install date: " + aoir.InstallationDate + "\n" + "Installer: " + aoir.Installer + "\n" + "Install status: " + aoir.InstallationStatus + "\n" + "Install report: " + aoir.InstallationReport + "\n" ); } } ``` -------------------------------- ### Create a working directory Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=insights-retrieving-content-event-emitter-module Prepare a local directory on the client machine to store the retrieved module. ```bash mkdir /opt/downloads cd /opt/downloads ``` -------------------------------- ### Remove synonym command example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=reference-synonym-tool-usage Example command to remove a synonym using the synonymTool.sh script. ```bash /user/server/synonymTool.sh removeSynonym -configPath "/user/server/config" -locale fr -language fr ``` -------------------------------- ### IlmtCollector Usage and Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=overview-collecting-license-compliance-records Displays the command-line syntax and various operational examples for the IlmtCollector script. ```text Usage: IlmtCollector OPTION CONFIG_FILE [ LISTENER_HOST LISTENER_PORT | PURGE_YEAR] Where OPTION can be one of the following: -u downloads user session history into database (removes the history data from the server) -t tests connection to the database, host, port -p deletes database history records older than date (yyyy) -s collects content operation information to include with the concurrent user report -h help Example: IlmtCollector -u IlmtReporter.conf localhost 32775 Example: IlmtCollector -s IlmtReporter.conf localhost 32775 Example: IlmtCollector -t IlmtReporter.conf localhost 32775 Example: IlmtCollector -p IlmtReporter.conf 2013 ``` -------------------------------- ### Create and configure the external-jars directory Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=cn-adding-libraries-navigator-class-path-in-container-environment Create the required external-jars subdirectory and set appropriate permissions for the Navigator deployment. ```bash kubectl exec $pod_name -- mkdir /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/external-jars kubectl exec $pod_name -- chmod 770 /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/external-jars ``` -------------------------------- ### Extracting a substring example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-string Example demonstrating the extraction of 'Morning' from the source string 'Good Morning!'. ```text substr ("Good Morning!", 6, 7) ``` -------------------------------- ### Examples of Ping Page addresses Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=engine-verifying-content-platform-server-status Common URL examples for different application server types. ```text http://myserver:9080/FileNet/Engine ``` ```text http://myserver:7001/FileNet/Engine ``` -------------------------------- ### Promote Task State in Java and C# Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=tasks-working-task-objects These examples demonstrate how to fetch a task instance by ID, promote its state, and save the changes. ```java // Fetch task instance created in previous example. CmTask task = Factory.CmTask.fetchInstance(store, new Id("{D0544111-24FC-4B9E-A905-DFFDBEC733B7}"), null); // Print current state, promote task, print new state. try { System.out.println("Current state is " + task.get_TaskState().toString()); task.changeState(LifecycleChangeFlags.PROMOTE); task.save(RefreshMode.REFRESH); System.out.println("New state is " + task.get_TaskState().toString()); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); } ``` ```csharp // Fetch task instance created in previous example. ICmTask task = Factory.CmTask.FetchInstance(store, new Id("{4B8AEBA2-8F3F-4010-AAAC-6BFF64695677}"), null); // Print current state, promote task, print new state. try { System.Console.WriteLine("Current state is " + task.TaskState); task.ChangeState(LifecycleChangeFlags.PROMOTE); task.Save(RefreshMode.REFRESH); System.Console.WriteLine("New state is " + task.TaskState); } catch (Exception e) { System.Console.WriteLine("Error: " + e.Message); } ``` -------------------------------- ### Example DirectoryServerUserName DN Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=directory-configuration-properties-oracle-unified An example of a Distinguished Name (DN) used for authenticating to the directory server. ```text uid=bindUser1,ou=People,dc=example,dc=com ``` -------------------------------- ### Example set-cookie header with HttpOnly Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=csgd-configuring-security-against-cross-site-request-forgery-csrf An example of the set-cookie header format including the HttpOnly attribute. ```text set-cookie: ECM-CS-XSRF-Token=adfafeeb-566f-4827-b4a8-a0a9a2142124; Path=/; Secure; HttpOnly; SameSite=None ``` -------------------------------- ### Start the content federation exporter Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ssfpc-starting-stopping-filenet-content-federation-services-content-integrator Commands to start the exporter component on Windows and UNIX environments. ```batch install_directory\FileNet\CFS\FedExporter\bin\run_exporter.bat ``` ```bash install_directory/FileNet/CFS/FedExporter/bin/run_exporter.sh ``` -------------------------------- ### Generate configuration XML files Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=gcxfci-generating-all-configuration-xml-files-same-time Execute this command from the installation directory to generate all configuration files at once. Ensure no line breaks are included when entering the command. ```bash configmgr_cl generateconfig -appserver app_server_type -ldap ldap_type -repositorytype ldap_repository_type -deploy deploy_type -profile myprofile ``` -------------------------------- ### void start([optional] Accumulator accumulatorName) Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=methods-start-method Starts the time interval measurement for the Duration object. ```APIDOC ## void start([optional] Accumulator accumulatorName) ### Description Indicates the beginning of the time interval that is to be measured (accumulated) for the Duration object. Once the interval has completed, the application will call the stop method. ### Parameters - **accumulatorName** (Accumulator) - Optional - A reference to an Accumulator object, which provides the Accumulator for the recorded durations of the associated Event. If not specified, the current Accumulator is used. ### Example ```java Listener listener = new Listener("sampleApp", "4.0"); Duration readTime = listener.durationFactory("duration of read"); readTime.start(); ``` ``` -------------------------------- ### Start IBM Content Search Services Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=components-starting-stopping-content-search-services Execute the startup script from the command line for the respective operating system. ```Windows CSS_installation_directory\CSS_Server\bin\startup.bat ``` ```UNIX CSS_installation_directory/CSS_Server/bin/startup.sh ``` -------------------------------- ### Provider ID Examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=tasks-configuring-redirect-url-identity-provider Examples of provider IDs generated by appending the instance acronym to the provider name. ```text IBMVerifyCPE IBMVerifyES IBMVerifyNAV IBMVerifyCMIS IBMVerifyGRAPHQL IBMVerifyTM ``` -------------------------------- ### Create a temporary directory Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=administering-enabling-business-automation-insights-your-container-environment Prepare a local workspace for BAI configuration files. ```bash mkdir mytmp cd mytmp ``` -------------------------------- ### Start Configuration Manager on Linux or AIX Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ccpeibugui-starting-configuration-manager-graphical-user-interface Execute this command from the terminal to launch the GUI on Linux or supported AIX environments. ```bash ce_install_path/tools/configure/configmgr ``` -------------------------------- ### XML to string format example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-xml Example showing the transformation of an XML schema into an encoded string format. ```xml Root      ``` -------------------------------- ### Start Configuration Manager via Command Line Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=cuibugui-starting-configuration-manager-graphical-user-interface-1 Use these commands to launch the Configuration Manager GUI from the terminal or command prompt. ```bash ce_install_path/tools/configure/configmgr ``` ```batch ce_install_path\tools\configure\configmgr.bat ``` -------------------------------- ### Create an UpgradeAddOn in C# Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=objects-creating-upgrade-add Demonstrates the C# implementation for creating an IUpgradeAddOn, setting version lists, and saving the object to the domain. ```csharp public void createUpgradeAddon(IDomain domain) { // Create UpgradeAddOn object. IUpgradeAddOn UAO = Factory.UpgradeAddOn.CreateInstance(domain, new Id("{1dbfc769-d033-46dc-804f-ad603fa07282}")); // Create list with installed add-ons to be upgraded. IIdList fromList = Factory.IdList.CreateList(); fromList.Add(new Id("{ce400add-aaaa-bbbb-cccc-00000000000a}")); fromList.Add(new Id("{ce400add-aaaa-bbbb-cccc-00000000000b}")); fromList.Add(new Id("{ce400add-aaaa-bbbb-cccc-00000000000c}")); // Create list with new add-ons that will replace existing add-ons. IIdList toList = Factory.IdList.CreateList(); toList.Add(new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9a}")); toList.Add(new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9b}")); toList.Add(new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9c}")); // Create Stream for upgrade data to be imported // and set it on IUpgradeAddOn object. Stream fileStream = File.OpenRead("C:\\temp\\Upgrade_v1_to_v2.xml"); UAO.SetImportDataStream(fileStream); // Set properties of IUpgradeAddOn object. UAO.FromVersions = fromList; UAO.ToVersions = toList; UAO.AddOnType = AddOnType.OPTIONAL; UAO.DisplayName = "Upgrade_v1_To_v2"; UAO.DescriptiveText = "Updates classes and properties added by addon v1 to required functionality provided by addon v2, and adds new classes and properties as appropriate."; UAO.Creator = "CEMP Integrators"; UAO.Save(RefreshMode.REFRESH); } ``` -------------------------------- ### Numeric Mask Example Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=functions-data-type-conversion Example demonstrating the use of a plus sign component within a numeric mask. ```text numbertostring (12345, "###+##") ``` -------------------------------- ### Configure JVM SSL Arguments in Startup Script Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=manager-configuring-ssl-process-task-case-analyzer Add the trust store path and password arguments to the Java command line in the captm.bat or captm.sh file. ```bash $JAVA_HOME/bin/java -cp /opt/IBM/FileNet/ContentEngine/lib/catoolsResources.jar: /opt/IBM/FileNet/ContentEngine/lib/catools.jar: /opt/IBM/FileNet/ContentEngine/lib/pe.jar: /opt/IBM/FileNet/ContentEngine/lib/peresources.jar: /opt/IBM/FileNet/ContentEngine/lib/petools.jar: /opt/IBM/FileNet/ContentEngine/lib/pe3pt.jar: /opt/IBM/FileNet/ContentEngine/lib/Jace.jar -Djavax.net.ssl.trustStore= path_to_your_keystore_file -Djavax.net.ssl.trustStorePassword= password_of_your_keystore -DJPEINSTALL_DIR=$JPEINSTALL_DIR -DJPEDATA_DIR=$JPEDATA_DIR -Djava.security.auth.login.config=$JPEINSTALL_DIR/config/jaas.conf.WSI -Dfilenet.wcmapiconfig=$JPEINSTALL_DIR/config/WcmApiConfig.properties -DTaskManager.Properties=$JPEINSTALL_DIR/taskman.properties -Dcom.sun.management.jmxremote -DPELogLevel=TRACE filenet.vw.apps.taskman.VWTaskApplication $1 $2 $3 $4 ``` -------------------------------- ### Example User or Group ID in SID Format Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=directory-configuration-properties-oracle-unified An example of a security identifier (SID) string format. ```text S-1-97-1124740210-2521433463-1853067420-201580076 ``` -------------------------------- ### Create and Configure CmTextSearchServer in Java Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=retrieval-working-content-based Demonstrates initializing a server instance, setting connection properties, and defining the operational mode. ```java // Create a CmTextSearchServer instance. // Assumes you have the ObjectStore object Domain myDomain = os.get_Domain(); CmTextSearchServer tss = Factory.CmTextSearchServer.createInstance(myDomain); // Provide a name for this server tss.set_DisplayName("tsServer1"); // Assign the server host and port. tss.set_TextSearchServerHost("tsServerHost"); tss.set_TextSearchServerPort(8191); // Specify authentication token tss.set_TextSearchCredential("EPhhaz0=".getBytes()); // Set the usage mode for this server and enable it tss.set_TextSearchServerMode(TextSearchServerMode.INDEX_AND_SEARCH); tss.set_TextSearchServerStatus(TextSearchServerStatus.ENABLED); // Set the site for the server tss.set_Site(myDomain.get_DefaultSite()); // Save the server tss.save(RefreshMode.REFRESH); ``` -------------------------------- ### Example Group Search Filter Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=directory-configuration-properties-ca Example of a search filter string used for group lookups in the directory server. ```text (&(objectclass=groupOfNames)(uid={0})) ``` -------------------------------- ### Multi-valued property examples Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=bulk-preparing-use-import-tool Examples of various data types formatted for multi-valued entries using the pipe delimiter. ```text Integer (integer): `19:{3|1088|45},DocNameMVint::test.txt` String (string): `03:{This|is|test},DocNameMVstr::test.txt` Binary (Base64): `10:{9876|54321},DocNameMVbin::test.txt` Date/Time (date or date and time): `02:{03/07/2012T13:28:49.123z|09/17/2011T02:01:00.888z},CEBIMVDateTimeFile::test.txt` Float64 (exponential) - `06:{12345678901234567890|12345678901234567890|3.21E5},CEBIMVFloat64::test.txt` ID (GUID): `07:{562F02F1-E172-41AB-B041-E02A6C0DA9EC|562F02F1-E172-41AB-B041-E02A6C0DA9ED},CEBIMVid::test.txt` Boolean (zero/one):`05:{no|yes|true},CEBIMVboo::test.txt` ``` -------------------------------- ### Configure Content Platform Engine probes Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=administering-configuring-application-probes Example configuration for startup, readiness, and liveness probes in the Content Platform Engine custom resource. ```yaml cpe: probe: startup: initial_delay_seconds: 120 period_seconds: 30 timeout_seconds: 10 failure_threshold: 16 readiness: period_seconds: 30 timeout_seconds: 10 failure_threshold: 6 liveness: period_seconds: 30 timeout_seconds: 5 failure_threshold: 6 ``` -------------------------------- ### View help options for the upgrade script Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=components-upgrading-operator-by-running-script Displays the available commands and options for the upgradedeployment.py script. ```bash python3 upgradedeployment.py --help Usage: upgradedeployment.py [OPTIONS] COMMAND [ARGS]... FileNet Content Manager Upgrade Deployment CLI. Options: --version Show version and exit. --install-completion Install completion for the current shell. --show-completion Show completion for the current shell, to copy it or customize the installation. --help Show this message and exit. Customization and Utils: --silent --no-silent Enable Silent Install (no prompts). [default: no-silent] --verbose --no-verbose Enable verbose logging. [default: no-verbose] --dryrun --no-dryrun Perform a dry run [default: no-dryrun] Commands: deployment Upgrade FNCM Deployment Only. operator Upgrade FNCM Operator only. ``` -------------------------------- ### Start Configuration Manager on Linux Source: https://www.ibm.com/docs/en/content-cortex/5.6.0?topic=ducpei-deploying-upgraded-instances-by-using-graphical-user-interface Command to launch the Configuration Manager tool on Linux systems. ```bash export SWT_GTK3=0h I ce_install_path/tools/configure/configmgr ```