Multisite Content Publisher Plugin
The Multisite Content Publisher (MCP) gives a template site the ability to push content to other sites that have the same page structure. These other sites must be in the template site's group in the partner portal or in a subgroup of the template's group.
As a practical matter, if you have any sites the template will not be pushing content to, it is an excellent idea not to put those sites in the template's group or in any subgroups of the template's group.
Publishing with the MCP
Eight areas of creating and editing in Pixelsilk are addressable with the MCP. There are also many things the MCP will not do. It is important to know the difference when using it.
What the MCP Can Publish
Here is the detail on what the template site may push to other sites. Once the MCP is set up properly, it will be possible to push content from each of these areas. In each case when the given action takes place (saving, moving, deleting) a dialogue pops up asking, "Do you want to synchronize these changes on related sites?" If "Cancel" is selected, nothing happens. No synchronization takes place. If "OK" is selected another dialogue pops up showing "Sites to Include in Synchronization." Checkboxes are provided for site selection. An "All" checkbox also allows selection of all sites at once. All content in the site is not pushed to other sites. Only the content just worked on is pushed. So saving content in a content editor allows synchronizing of only that content. Saving content in a webbox editor allows synchronizing of only that content, and so on.
Page Content: Page content is created in the content editor and edited in the content editor. Pushing the "Save" button will save the new content and will also activate the two described dialogues. The content pushed to any selected sites will be limited to the content just saved in that particular content editor.
HTML Webbox Content: Saving the content in an HTML webbox editor saves that content and allows synchronization of only that content.
Text Webbox Content: Saving the content in a text webbox editor saves that content and allows synchronization of only that content.
List Items: The template site can push individual list items to other sites as well. To do this choose a list item and click its edit link. When the edit form is displayed, it will include a button that says "Synchronize." This is how publishing is activated for list items, and it is only for the list item being edited. The usual two dialogues will be displayed in sequence for the synchronization process. Make sure the edits are submitted first. Then click the edit link again to come back in and synchronize. If the edits are not submitted first, the changes will not be pushed out. The data before the edit will be pushed out instead.
This method can be used for giving sites items they do not have and also for updating items they do have. Also, one does not have to synchronize list items immediately after editing. Edit now and synchronize days later. In that way of doing it, the list item does not need to be submitted before synchronizing. One still gets to the "Synchronize" button by clicking on the Edit link. Just ignore the form and click the "Synchronize" button.
Newly Created Pages: In the admin area when a page is created the opportunity is given at that time for creating the same new page on other sites. If it is not done now it can still be done later.
Previously Created Pages: In Manage Pages in admin the leftmost button on the right end of each page bar is a pair of arrows forming a circle. That button is for synchronizing pages that already exist in the template site. Click the button to bring up the first dialogue. In that dialogue click "OK". That brings up the second dialogue which is a little different from the second dialogue you get in all the other areas. This dialogue is entitled "Data and Sites to Include in the Synchronization." It is in most respects the same as the other second dialogues, but it adds two checkboxes: "Include settings for page" and "Include HTML page content".
Clicking the pencil on a page bar expands the bar, exposing several tabs: Options, Security, Skins, URL, and Advanced. Everything on all of these tabs taken together represents the "settings" of the "Include settings for page" checkbox. If that checkbox is checked, all of the settings are synchronized. If the box is unchecked, none of them is synchronized. It's all or nothing. There is no way to pick and choose among the settings.
If the "Include HTML page content" checkbox is checked and the page in question is of page type "HTML Page," the content from that page will be pushed to the other sites. Again "content" has a very specific meaning. It is the content entered or edited when the "Edit Content" button is clicked on the page itself. If the checkbox is not checked the content will not be pushed out.
Page Moves in Admin: In Manage Pages in admin moving a page in the hierarchy can be pushed out to other sites. If a page is moved to a different position in the list, or if it is moved underneath another page, the usual dialogues are presented and those moves can be synchronized.
Page Deletions in Admin: In Manage Pages in admin deleting a page can be pushed out to other sites. Clicking the delete button on the right end of that page's bar deletes the page and activates the usual two MCP dialogues. Using them in the usual way will bring about the same deletion on the selected sites.
What the MCP Cannot Publish:
The MCP cannot publish anything that was not described above. This may seem obvious, but a little care given to this idea can avoid undesired results. For example, if the settings for a page are synchronized, it is important to remember that all of the settings will be synchronized and not just the one that was changed. It may not be desireable to push all of them out to the sites. The MCP does not know which settings were just changed. It pushes them all out. Another example is that the MCP does not push out content editor content plus the content from all of the webboxes in the page. It only does the content by itself or any given webbox by itself. So each one has to be synchronized individually.
Who Can Use the MCP
A user with the appropriate access permissions for the given area may use the MCP in that area.
Setting up the MCP
There are three configuration variables affecting the behavior of the MCP: MSDomain, MSChildSites, and MSSyncAgent.
MSDomain specifies the domain in use for the template. If the site has a primary domain and several secondary domains, any one of them (and only one of them) can be the domain the template uses for the MCP.
MSChildSites is a comma separated list of host names (subdomain.domain.topdomain) for sites to push content to. Do not use spaces after the commas.
MSSyncAgent is set to one of two values: "Customer" or "Partner." If it is set to "Customer," the MCP uses the host names from MSChildSites to populate the second dialogue. If it is set to "Partner," the MCP uses the domains from the partner portal to populate the dialogue.