IPublishingTargetPublishPages Method |
Performs publishes on multiple root Pages, or together with their descendants, toward this publishing target.
For a non-Transform-on-publish target, this action creates XML files for pages and components marked for publishing on this target; generates all metadata files needed for the Dynamic Site Server; and copies over all updated assets.
For a Transform-on-publish target, Pages are fully expanded and XSLT transformed, then saved to target folder in a structured format. Updated assets are also copied over.
Namespace: Ingeniux.CMS
void PublishPages( IEnumerable<IPage> pages, bool recursive = true, bool incremental = true, bool replicate = true )
Exception | Condition |
---|---|
InvalidOperationException | When this Publishing Target is retrieved via a Read-only Session. |
SecurityException | When current user doesn't have the permission to perform a publish; when the current user can't access this publishing target; or when performing an incremental publish and the current user doesn't have permision to incrementally publish. |
XmlException | When any XSLT style sheet failed to load as an XML document. |
This method is in charge of handling the task that carries out the actual publishes. It will not wait for the publish to finish.
All publish tasks are pushed into a queue and executed in sequence.
Incremental publishes will detect if any pages were changed (checked in, marked for publish changes, etc.), since the last publish. If no pages are changed since the last publish, an error is thrown.
Full publishes first clean up the target folder by deleting all files and directories.
If the current user doesn't have access right to use this publishing target, a publish will not happen and an error log entry will be written to design-time log.
All XSLT style sheets in the "xml/Stylesheets" folder are validated during publish.
The event BeforePublish is fired prior to creating a Publishing Task.
The event BeforePublish is fired after a Publishing Task completes the actual publish, not after the Publishing Task is created.