Update Support for Bundle Site Initializer

Description

Summary: As a user of Bundle Site Initializer I want to update content on sites (created from site initializer) after new changes in the site initializer module are deployed.

 

Description:

Currently BundleSiteInitializer has only addXXX methods, and is able to create content only during the initial site creation. If any changes are made in the site initialization logic - we need to re-created the site again.

The idea is to make BundleSiteInitializer work as a regular site template: if any changes are made to the template - they can be propagated to sites, created from the template.

 Once site is created from initializer - we can save a reference to the initializer instance. Next time initializer module is deployed - we can find the sites created from initializer (using stored reference), and updated content in these sites automatically (based on updated content descriptor files).

Also, we can define different strategies for content update (e.g. CREATE_AS_NEW / OVERRIDE / DELETE_MISSING_CONTENT / etc) - globally and on individual site level. 

 

Slack discussion link: https://liferay-community.slack.com/archives/C5H30KZ1A/p1662032752646039

Related Blog:  https://liferay.dev/blogs/-/blogs/introducing-site-initializers

Environment

None

Activity

Show:

Vitaliy Koshelenko April 12, 2023 at 12:45 PM
Edited

Update support seems to be already implemented in scope of https://issues.liferay.com/browse/LPS-165482

Brian Chan September 2, 2022 at 6:47 AM

this one is a bit hard. I want to first concentrate and getting all the content types in place, then slowly start working on updates etc. But this is a good idea. We've been thinking like this a well.

Dave Truong September 1, 2022 at 9:19 PM

Thank you for taking the time to submit this request; it's been received and we will be evaluating it.

Vitaliy Koshelenko September 1, 2022 at 1:18 PM

Vitaliy Koshelenko September 1, 2022 at 8:42 AM
Edited

Update

As for "update" support - I suggest different "strategies" (configurable at site level), e.g.
1) Only create new content content from SI : no updates/deletion on live site;
2) Create/update content from SI : content on site is created/updated (but not deleted);
3) Delete content missing in SI : this one will delete content which is missing in content descriptors.
Site admins can select the required strategy for the created site, or even detach site from the SI.
Also, these "strategies" could be defined on content type level: e.g. update structures/templates, but do not touch content, etc.

 

Slack Discussion link:  https://liferay-community.slack.com/archives/C5H30KZ1A/p1662032752646039 

 

Already in the Product
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Priority

Zendesk Support

Created August 31, 2022 at 11:35 AM
Updated March 26, 2024 at 6:52 PM
Resolved April 13, 2023 at 12:27 AM