Click or drag to resize

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
Assembly:  Ingeniux.CMS.CSAPI (in Ingeniux.CMS.CSAPI.dll) Version: 10.6.308
Syntax
void PublishPages(
	IEnumerable<IPage> pages,
	bool recursive = true,
	bool incremental = true,
	bool replicate = true,
	IEnumerable<IDependencyNode> selectedDependencies = null
)

Parameters

pages
Type: System.Collections.GenericIEnumerableIPage
The root Pages to be published
recursive (Optional)
Type: SystemBoolean
Whether to publish only the Pages themselves, or together with their descendants.
incremental (Optional)
Type: SystemBoolean
Whether to publish only changed Pages or all pages. Default is incremental.
replicate (Optional)
Type: SystemBoolean
Whether to perform replication after a successful publish. Default is to replicate.
selectedDependencies (Optional)
Type: System.Collections.GenericIEnumerableIDependencyNode
The selected dependencies to be included in publish task
Exceptions
ExceptionCondition
InvalidOperationExceptionWhen this Publishing Target is retrieved via a Read-only Session.
SecurityExceptionWhen 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.
XmlExceptionWhen any XSLT style sheet failed to load as an XML document.
Remarks

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.

See Also