Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
How do I update component and reflect in all dot pages ?
ivanho
Dear members,
Would need your advice whether this is possible. We want to create a component A and with lot of pages having this component A.
The pain point we are facing right now is when we update component A, we need to update lot of pages having this component A by getting latest component and publish the pages. It is daunting for us once there's component code change and we will spend at least 5 hours minimum for that component A to be updated into our web site pages.
Any suggestion we don't have to do this way ? A typical programming method would be to just publish that component A (jsp or whatever) and those pages calling this component A will call the latest. It is less than 5 minutes job.
Find more posts tagged with
Comments
AlexC
A component that relies on a DCR or external data where the data change is driving the display instead of actual component content.
Migrateduser
First ensure you have externalized your xsl, css and as much as possible. We externalize everything in the Appearance XSL like:
[HTML]
[/HTML]
Then in Content Center Professional ont the Content tab there is a SitePublisher menu. Select all the .page files you want to update, we just expand the root directory for the site and select all. Then expand the SitePublisher menu and choose "Get Latest Components". It will allow you to update all the pages at once. When it is done there will be a report of all the pages that were updated and which ones failed to update. Usually they fail to update because they are locked by another user.
ivanho
Hi,
Now we're using the Get Latest Components function to update the component is a page. This is like deploying an updated JSP in Tomcat, then asking all the other pages that includes this jsp to be updated. Instead of doing this, is there a way where we can just publish the component, and every page that has this component inside will be reflected?
Could we do a nested page, maybe? Like having a Login.component in 1 .page (Login.page), then let's say in the content page - AboutUs.page, I want to include this Login.page. So when there are changes/updates in the Login.component, we only update the Login.page and it will reflect in AboutUs.page.
Is this possible? Or are there any similar way to achieve this?
vpatel
Are you talking about just updating the look and feel (i.e. the XSL skin)? If yes, then that has already been explained by AlexC and CyberPop.
If you are talking about actually component fields updating (i.e. not just the XSL but which set of fields are displayed and not displayed) then what you are trying / asking for actually has much much more complexity and issues. Your use case may be simple and one-dimensional. To put it quite simply: what happens if you add a new "required field" that on a component that is used 1000 times on various pages all over your site?
Tool allows you to update either on a page-by-page basis OR take a batch-approach. Alternatively, you can update the look and feel of a given component across all instances by simply externalizing the XSL.
HTH!
Migrateduser
I suppose you could create an include component that would include any url you put in it. Your login.page would only contain the login component. Then the include component would control where it displays. Updating the login.page should be automaticly reflected anywhere the include component uses it. I think in the end sticking with batch updates and externalized css and xsl will serve you better.