OWCS 220.127.116.11 Missing Nodes in Site Plan Tree
You wake up one morning, get into work, grab your morning coffee and log into Web Center Sites. As you sip your coffee you look at the Site Plan Tree tab, which contains the 600 or so pages that you painstakingly organized with pride. You get an email saying that now Page X needs to be moved under Page Y for the breadcrumbs.
You put down your coffee and you start to drag Page X under Page Y. Page X has 100 pages underneath it and the dragging seems to lag. You let go of your mouse button only to see the Page and all its children disappear. You frantically expand various nodes on the Site Plan Tree searching for the page, but can’t find it. You try and search for the page and manage to find it in the search results but still can’t see it in the Site Plan Tree. You try logging in and out and still can’t the find the node and its children. What happened??? Have my pages been deleted???
Likely no, the Site Plan Tree manipulates the SitePlanTree table, not the actual Page Asset table. So it is probable that your pages were NOT deleted. The likely scenario is that the Page got dragged into itself and thus the parent node of Page X has been set to itself. The end result is the node for Page X does not get rendered and thus its child nodes do not get rendered. However the relationship between Page X and its children are intact. If the incorrect parent reference of the Page X is resolved, Page X and all its child nodes will render appropriately.
To resolve this, the parent of Page X just needs to be changed to a different node (any node but itself) in the SitePlanTree table. This can be done via the following SQL commands below:
1) To get the displaced pages execute select nid,nparentid,oid,otype from siteplantree where nid = nparentid. This should return the nodeid of Page X (and any other pages with this problem).
2) Get the node id of the Page you would like to use as the new parent page of Page X. To do this execute the following SQL: select nid from siteplantree where oid='<asset id of the parent page>' and otype='Page'.
3) Update the parentid of the of the node for Page X using the following command: update siteplantree set nparentid='<node id of the new parent page (result of step 2)>' where nid='<node id of Page X (result of step 1)>'
If you have multiple pages that disappeared with this same problem (where the parent of the node is set to itself) you can update them all to point to a new parent page using the following SQL: update SitePlanTree set nparentid='<node id of the new parent page (result of step 2)>' where nid=nparentid.
This issue was discovered in Sites 18.104.22.168 Patch 11 and reported to Oracle Support. This issue will be resolved in a subsequent patch.