Digital Developer Conference: a FREE half-day online conference focused on AI & Cloud – North America: Nov 2 – India: Nov 9 – Europe: Nov 14 – Asia Nov 23 Register now

Close outline
  • United States
IBM?
  • Site map
IBM?
  • Marketplace

  • Close
    Search
  • Sign in
    • Sign in
    • Register
  • IBM Navigation
IBM Developer Answers
  • Spaces
    • Blockchain
    • IBM Cloud platform
    • Internet of Things
    • Predictive Analytics
    • Watson
    • See all spaces
  • Tags
  • Users
  • Badges
  • FAQ
  • Help
Close

Name

Community

  • Learn
  • Develop
  • Connect

Discover IBM

  • ConnectMarketplace
  • Products
  • Services
  • Industries
  • Careers
  • Partners
  • Support
10.190.13.195

Digital Experience×

Refine your search by using the following advanced search options.

Criteria Usage
Questions with keyword1 or keyword2 keyword1 keyword2
Questions with a mandatory word, e.g. keyword2 keyword1 +keyword2
Questions excluding a word, e.g. keyword2 keyword1 -keyword2
Questions with keyword(s) and a specific tag keyword1 [tag1]
Questions with keyword(s) and either of two or more specific tags keyword1 [tag1] [tag2]
To search for all posts by a user or all posts with a specific tag, start typing and choose from the suggestion list. Do not use a plus or minus sign with a tag, e.g., +[tag1].
  • Ask a question

Using WCM API to search for Pages in Portal Site library.

2000002RXD gravatar image
Question by rickett  (14292) | Aug 10, 2016 at 08:30 PM portaldigexpapiwcm

Normal WCM Authoring Search does not work for pages in the Portal Site Library. The page title is in regular text as expected but the page name is in the form of an object id.

People who like this

  0
Comment
10 |3000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster

1 reply

  • Sort: 
2000002RXD gravatar image
Accepted answer

Answer by rickett (14292) | Aug 10, 2016 at 08:32 PM

The following JSP code will display the page name and path when the page title is entered.

DISCLAIMER OF WARRANTIES:
The following [enclosed] code is sample code created by IBM Corporation. This sample code is provided to you solely for the purpose of assisting
you in the development of your applications.
The code is provided "AS IS", without warranty of any kind. IBM shall
not be liable for any damages arising out of your use of the sample code, even if they have been advised of the possibility of such damages.

 <%@page session="false" contentType="text/html" pageEncoding="ISO-8859-1" %>
 
 <%@ page import="java.util.*" %>
 
 <%@ page import="java.io.*" %>
 
 <%@ page import="com.ibm.workplace.wcm.api.*"%>
 
 <H2>
 LOOKUP PAGE NAME IN PORTAL SITE LIBRARY BY PAGE TITLE
 </H2>
 
 <form action="findPage.jsp" method="GET">
   Enter page title to search: 
   <br>
   <input type="text" name="pageName" /> 
   <br>
   <input type="submit" style="display:none">
 </form>
 </div>
 
 <%
 
 
 String pageName = (String) request.getParameter("pageName");
 
 if(pageName !=  null) {
 
   Workspace myworkspace = WCM_API.getRepository().getSystemWorkspace();
 
   DocumentLibrary docLibrary = myworkspace.getDocumentLibrary("Portal Site");
 
   myworkspace.setCurrentDocumentLibrary(docLibrary);
 
   DocumentIdIterator docIt;
 
   DocumentType[] types15 = {DocumentTypes.PortalPage};
 
   String title =  null;
 
          docIt = myworkspace.findByType(types15[0]);
          Document doc = null;
          Document doc1 = null;
          DocumentIdIterator doctmp = null;
          DocumentId docId = null;
          String path =  "empty";
          String initialPath = null;
          String tmpPath[] = null;
          String tmp =  "Portal Site";
          int length = 0;
 
          while (docIt.hasNext()) {
         
            docId = docIt.nextId();
            doc = myworkspace.getById(docId);    
 
 
            title = doc.getTitle();
            if (title.toLowerCase().contains(pageName.toLowerCase())) {
             
               initialPath = myworkspace.getPathById(docId,true,true);
               tmpPath = initialPath.split("/");
               for( int i = 0; i < tmpPath.length - 1; i++) {
                 if(i>0) {
                   doctmp = myworkspace.findByName(DocumentTypes.PortalPage, tmpPath[i]);
                   docId = doctmp.nextId();
                   doc1 = myworkspace.getById(docId);
                   tmp = tmp.concat("/");
                   tmp = tmp.concat(doc1.getTitle());
                 }
                 
              
               }
 
               out.println("<br><br>Page Title: " + title + "<br>Page Name: " + doc.getName() + "<br>"  + "Path: " + tmp);
            }
            
          }         
          
 }  
 
 %>
 
 <br>
 <br>
 <a href="http://rickett8.rtp.raleigh.ibm.com:10039/wps/wcm/jsp/html/findPage.jsp">Search Again</a>
Comment

People who like this

  0   Share
10 |3000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster

Follow this question

80 people are following this question.

Answers

Answers & comments

Related questions

WCM API sample code to lookup the uuid of a wcm item 1 Answer

Sample steps to create an external application jar and invoke via JSP Component 1 Answer

How can you set a visibility rule to a page using API ? 1 Answer

WCM API Sample Code how to update content in a Rich Text Element 2 Answers

When should I set api.use.dn=true when using Portal WCM API? 1 Answer

  • Contact
  • Privacy
  • IBM Developer Terms of use
  • Accessibility
  • Report Abuse
  • Cookie Preferences

Powered by AnswerHub

Authentication check. Please ignore.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • API Connect
  • Analytic Hybrid Cloud Core
  • Application Performance Management
  • Appsecdev
  • BPM
  • Blockchain
  • Business Transaction Intelligence
  • CAPI
  • CAPI SNAP
  • CICS
  • Cloud Analytics
  • Cloud Automation
  • Cloud Object Storage
  • Cloud marketplace
  • Collaboration
  • Content Services (ECM)
  • Continuous Testing
  • Courses
  • Customer Experience Analytics
  • DB2 LUW
  • Data and AI
  • DataPower
  • Decision Optimization
  • DevOps Build
  • DevOps Services
  • Developers IBM MX
  • Digital Commerce
  • Digital Experience
  • Finance
  • Global Entrepreneur Program
  • Hadoop
  • Hybrid Cloud Core
  • Hyper Protect
  • IBM Cloud platform
  • IBM Design
  • IBM Forms Experience Builder
  • IBM Maximo Developer
  • IBM StoredIQ
  • IBM StoredIQ-Cartridges
  • IIDR
  • ITOA
  • InformationServer
  • Integration Bus
  • Internet of Things
  • Kenexa
  • Linux on Power
  • LinuxONE
  • MDM
  • Mainframe
  • Messaging
  • Node.js
  • ODM
  • Open
  • PartnerWorld Developer Support
  • PowerAI
  • PowerVC
  • Predictive Analytics
  • Product Insights
  • PureData for Analytics
  • Push
  • QRadar App Development
  • Run Book Automation
  • Search Insights
  • Security Core
  • Storage
  • Storage Core
  • Streamsdev
  • Supply Chain Business Network
  • Supply Chain Insights
  • Swift
  • UBX Capture
  • Universal Behavior Exchange
  • UrbanCode
  • WASdev
  • WSRR
  • Watson
  • Watson Campaign Automation
  • Watson Content Hub
  • Watson Marketing Insights
  • dW Answers Help
  • dW Premium
  • developerWorks Sandbox
  • developerWorks Team
  • Watson Health
  • More
  • Tags
  • Questions
  • Users
  • Badges