I have released a new version of CRMQuickDeploy with the following improvements:
- Option to auto deploy on save for Portal artefacts
- Ability to specify MIME Type and Display Order for Portal web files
Auto deploy on save for Portal artefacts
You can now enable this option to have Visual Studio automatically deploys a Portal artefact file when you save it from the code editor.
This option is disabled by default, but you can enable it by going to Tools \ Options \ CRMQuickDeploy.
Note that this option is only applicable to Portal artefacts.
Ability to specify MIME Type and Display Order for Portal web files
Configuration settings for web files are defined in the DeploymentSettings.xml file. This file now allows you to specify MIME Type and Display Order for web files. Below is an annotated example XML.
<?xml version="1.0" encoding="utf-8" ?> <DeploymentSettings> <!-- Define a collection of items that will be deployed as Web Files and associated with a particular website. --> <WebFiles> <!-- Separately define each local files to be deployed as Web Files. localPath: Required. Relative to the root PortalWebFiles folder of the project. Value should not start with '\'. targetName: Optional. The name of the web file once deployed. Default to the same value as partialUrl. parentPage: Required. The name of the parent web page in CRM. partialUrl: Optional. The partial URL of the web file once deployed. Default to the file name of the Visual Studio item with all spaces removed. mimeType: Optional. The MIME type of the file. If not specified, the MIME type will be determined based on the file extension. displayOrder: Optional. The display order of the file. Must be an integer. The file extension to MIME type mapping is as follow: txt: text/plain css: txt/css js: txt/javascript htm, html: text/html gif: image/gif jpg, jpeg: image/jpeg png: image/png svg: image/svg+xml ico: image/x-icon xml: application/xml json: application/json all other extensions: application/octet-stream --> <File localPath="common.js" parentPage="Home" /> <File localPath="scripts\script1.js" parentPage="Home" /> <File localPath="styles\styles.css" targetName="Portal Styles" parentPage="Home" partialUrl="styles.css" mimeType="text/css" displayOrder="1"/> <!-- Define local files to be deployed as Web files using the folder approach. When this approach is used, default value will be used for targetName and partialUrl for each item under the folder. mimeType for each item will be determined based on the file extension, unless the item is specified in the folder's MimeTypeOverride child element. A Folder element only covers the files that are found directly underneath that folder. Separate Folder elements must be defined for each sub-folders. localPath: Required. Relative to the root PortalWebFiles folder of the project. Value should not start with '\'. To refer to files directly underneath the root PortalWebFiles, specify an empty string for this attribute, i.e. localPath="". parentPage: Required. The name of the parent web page in CRM that will be applied to all items under this folder. targetNamePrefix: Optional. The specified value will be added to the targetName for all items under this folder. --> <Folder localPath="scripts" parentPage="Home" /> <Folder localPath="styles" parentPage="Home" targetNamePrefix="My Portal - "> <!-- Define MIME type for selected items underneath this folder. This element is optional. --> <MimeTypeOverride> <!-- Define MIME type for items underneath this folder. The MIME type for an item will be automatically determined based on the file extension if the item is not defined here. name: Required. The filename of the item. Value should not start with '\'. mimeType: Required. The MIME type for the item. --> <File name="styles.css" mimeType="text/css" /> </MimeTypeOverride> <!-- Define display order for selected items underneath the folder. This element is optional. --> <DisplayOrderOverride> <!-- Define display order for items underneath this folder. The display order for an item will be blank if the item is not defined here. name: Required. The filename of the item. Value should not start with '\'. displayOrder: Required. Must be an integer. --> <File name="styles.css" displayOrder="1" /> </DisplayOrderOverride> </Folder> </WebFiles> </DeploymentSettings>
Download
You can download this extension from the Visual Studio Marketplace.
I hope you find this addition useful!