4 Replies Latest reply: Sep 24, 2012 11:52 PM by 862998 RSS

    Content Rendered from UCM after updation returns old data

    862998
      Hi

      The requirement that i have in place is as below:
      1. Portal application should have an option to display content from UCM(Content here is just the metadata like title, description, etc of the content)
      2. The application should also have options for adding, updating and deleting the content.
      3. The updates should immediately reflect on the display.

      I am achieving the above using RIDC apis, not using OOTB task flows.

      But the issue that am facing here is that after performing any of add,update or delete the results fetched are still the older ones. There fore my display screen still shows old data.
      And one observation is that the updates are reflected only when i send a new browser request.
      I have tried refreshing, clearing browser cache, but nothing seems to work. Not sure if the content is being cached on the UCM server itself.
      If so how do i clear it?

      I am using GET_SEARCH_RESULTS to fetch the data and display.

      And i am using PS4 version of webcenter.

      I really need some help on this ASAP as it is in a critical state or any work around please.

      Thanks
        • 1. Re: Content Rendered from UCM after updation returns old data
          734958
          Can you send the code that you did to GET and DISPLAY content?
          • 2. Re: Content Rendered from UCM after updation returns old data
            862998
            Hi Nelson

            The code snippet used for fetching the content metadata is as below

            To retrieve all the Folder information
            --------------------------------------------
            requestBinder.putLocal("IdcService","COLLECTION_DISPLAY");
            requestBinder.putLocal("hasCollectionID","true");
            requestBinder.putLocal("dCollectionID",rootFolderId);
            ServiceResponse response = idcClient.sendRequest(idcContext, requestBinder);
            DataBinder resultbinder = response.getResponseAsBinder();
            resultbinder.getResultSet("COLLECTIONS");
            List folderList = new ArrayList();
            for (DataObject data : resultSet.getRows())
            {
            String parentId = data.get("dParentCollectionID");
            if (folderId.equals(parentId))
            {
            folderList.add(data);
            }
            }

            To retrieve all the content information under a folder
            --------------------------------------------------------------

            requestBinder.putLocal("IdcService","GET_SEARCH_RESULTS");
            requestBinder.putLocal("QueryText",
            new StringBuilder().append("xCollectionID >= `").append(docInfo.get("xCollectionID")).append("` <AND> xCollectionID <= `").append(docInfo.get("xCollectionID")).append(" ` ").toString());
            requestBinder.putLocal("SortField","dInDate");
            requestBinder.putLocal("SortOrder","DESC");
            idcClient.sendRequest(idcContext, requestBinder);
            resultbinder.getResultSet("SEARCH_RESULTS");
            List files = new ArrayList();
            for (DataObject dataObject : resultSet.getRows())
            {
                 files.add(dataObject);
            }

            Once i have the list i just iterate over it and display using <af:outputText> or <af:commandLink>
            Till now havent been able to find the issue.

            The ony solution which helped this is to call this retrieval method twice before displaying. But this is creating a huge performance issue.
            So i am looking for a proper solution for this.
            Please help.

            Thanks
            • 3. Re: Content Rendered from UCM after updation returns old data
              961179
              You can try creating a refresh button on the page that would call the RIDC method. And have your content display region refresh on button action.
              • 4. Re: Content Rendered from UCM after updation returns old data
                862998
                Tried that already. That doesnot work either :(
                I am stuck with this