Publish customizations

Publishing customizations makes the web application aware of changes to the data that affects the user interface.

When to publish customizations

Customizations are automatically published when new items are created or existing items are deleted. You must publish changes after updating table definitions or tables that affect the user interface. You can decide to wait and publish a set of related changes together. Only published customizations are exported with a solution. You should always publish customizations before exporting a solution.

When you perform customizations that will appear in Dynamics 365 for tablets, you should always explicitly publish your customizations to make sure that every item is synchronized with the Dynamics 365 for tablets application.

Note

Publishing customizations can interfere with normal system operation. In a production environment, we recommend that you schedule publishing customizations when it's least disruptive to users.

Publishing programmatically

The following table lists the two messages that you can use to publish customizations.

Message Description
PublishAllXmlRequest Publishes all customizations.
PublishXmlRequest Publishes the specified customizations.

When you use the PublishXmlRequest message, you specify which items you want to publish by using the ParameterXml parameter. ParameterXML must comply with the Publish Request Schema.

Retrieving unpublished metadata

If you want to create an application to edit customizable items in model-driven apps, you must retrieve any unpublished definitions of those items. If a developer defines some changes but does not publish them, your application must be able to retrieve them to display them in the user interface.

Use the following two methods to retrieve unpublished metadata:

RetrieveAsIfPublished parameter
Retrieves table, colum, table relationship, and choice data by using the following messages:

See also

Extend table definitions model
Publish request schema
Customize forms
Customize views
Change application navigation using the SiteMap