Guidelines for customizing

This topic outlines the guidelines for customizing BMC Cloud Lifecycle Management. BMC assumes that readers are familiar with BMC Cloud Lifecycle Management and its components. Customers should maintain any customizations themselves or with the help of BMC Professional Services who are trained on BMC Cloud Lifecycle Management.

BMC does not support a BMC Cloud Lifecycle Management deployment where the guidelines in this documentation are not followed. Such deployments can also result in errors during upgrades to the latest service pack releases of BMC Cloud Lifecycle Management. BMC is not responsible for any enhancements, modifications, maintenance, or creation of required customizations after a contract ends with BMC Professional Services.

This topic includes:

Prerequisites for working with customizations

This topic lists guidelines for developing and using customizations to BMC Cloud Lifecycle Management. Readers should be well aware of:

  • BMC Cloud Lifecycle Management product features
  • BMC Cloud Lifecycle Management APIs
  • BMC Atrium Orchestrator workflow development
  • JavaScript

If you have any questions, contact BMC Customer Support, who can connect you with someone who can review your needs and provide feedback.

Supported customizations in BMC Cloud Lifecycle Management

To customize BMC Cloud Lifecycle Management, use the following supported methods:

  • BMC Cloud Lifecycle Management API-based customizations
    • APIs or the SDK can be called from any external tools.
    • Using BMC Cloud Lifecycle Management API or SDK, you can integrate third-party UIs.

  • New My Cloud Services console (end user portal) UI customizations made by using JavaScript
    • Skinning the portal
    • Changing or adding new logos
    • Adding custom panels for Day1 operations
    • NEW IN 4.6.06 Adding custom panels for Day2 operations
    • NEW IN 4.6.06Customizing fields in custom server operator actions
    • Hiding some fields in the request
    • Customizing the BMC Cloud Lifecycle Management cart

  • Backend customizations – Callouts using BMC Atrium Orchestrator workflows
    Callouts can help change the out-of-the-box behavior of the operations.

  • Integrating a custom provider by using BMC Atrium Orchestrator workflows
    Using Advisors can help in writing custom placement and host-name patterns. To develop custom providers, contact the BMC Services team. 

Note

BMC plans to deprecate the legacy My Cloud Services Console, which was based on BMC Remedy AR System Mid Tier technology. Existing customers should migrate any customizations to the new My Cloud Services console, which was introduced in BMC Cloud Lifecycle Management 4.5. You must rewrite the customizations in JavaScript. For more information, see Customizing the My Cloud Services console.

New customers of BMC Cloud Lifecycle Management must not develop any customizations on the legacy My Cloud Services Console.

General guidelines for BMC Cloud Lifecycle Management customizations

  • For any customizations, do not change any out-of-the-box objects that are installed on AR System, BMC Server Automation, BMC Network Automation, or BMC Atrium Orchestrator as part of a BMC Cloud Lifecycle Management deployment. Changing these objects can cause out-of-the-box use cases to fail. The following objects are overwritten during the upgrade of BMC Cloud Lifecycle Management:
    • Database schemas
    • Scripts that are installed on BMC Server Automation, BMC Network Automation, and BMC Atrium Orchestrator applications
    • AR System filters, escalations, and guides
    • AR System forms
    • CMDB classes
    • BMC Atrium Orchestrator workflows
  • During customization, use only public APIs that are documented in BMC Cloud Lifecycle Management documentation. BMC is not responsible for supporting or fixing BMC Cloud Lifecycle Management customizations that use other undocumented APIs. For more information, see Developing. 
  • Use these guidelines to make changes to a customization. Do not remove any customization directly through the cloud database. This may cause Platform Manager to behave improperly, which may cause use-case failures.
  • Before upgrading BMC Cloud Lifecycle Management, make sure that all of your customizations are working (running UATs).
  • Back up customizations before upgrading BMC Cloud Lifecycle Management.
  • When developing or creating a customization, build a set of granular test cases. This will help to test the customizations outside of the BMC Cloud Lifecycle Management environment and also identify the root cause of failures in the customizations.
  • Do not use BMC Cloud Lifecycle Management servers for any other business workflows, application, and scripts.

Guidelines for customizing the My Cloud Services console

  • All of the customizations for the My Cloud Services console (end user portal or EUP) should reside in the custom folder under the EUP installation directory of BMC Cloud Lifecycle Management.

  • Do not access the BMC Atrium Orchestrator server directly from JavaScript. Instead, create a data source to access BMC Atrium Orchestrator using JavaScript.

  • Use JavaScript for UI-level customizations only. Changing the core SOI provisioning flow is not supported.

  • The following actions are not supported:
    • Changing out-of-the-box JavaScript
    • Hooking custom JavaScript scripts to the selection of option choices

  • In custom JavaScript code, use public BMC Cloud Lifecycle Management JavaScript APIs only.

For more information, see Customizing the My Cloud Services console.

Guidelines for callouts

  • Callouts must return a result to BMC Cloud Lifecycle Management. Any failure in callouts may result in showing an incorrect status about the submitted request in flight.

  • Any data to be extracted from the CSM request in the callout's logic must be fetched from the CSM request operationParameters XML tag.

  • BMC does not support references to tags other than operationParameters within a BMC Cloud Lifecycle Management request.

  • The output of a callout should adhere to the BMC Cloud Lifecycle Management object model and send the result in a specific format.

  • You cannot use callouts to change or insert any data into a BMC Cloud Lifecycle Management request for the current transaction.

For more information, see Working with callouts. 

Guidelines for custom provider development

  • Do not add any operation after you register the provider definition. (This is not supported.) You must first de-register the provider definition, add the new operation, and register the provider again.

  • If the parent provider GUID is incorrect, de-register the provider definition and register it again.

  • BMC Atrium Orchestrator workflow should not fail. Make sure that it sends an error cloud object back to BMC Cloud Lifecycle Management; otherwise, the status of the request will not be reflected properly in BMC Cloud Lifecycle Management.

  • Do not register the provider definition using the CLMAdmin credentials.

  • Do not try to persist any data into BMC Cloud Lifecycle Management CMDB classes from BMC Atrium Orchestrator workflow. You will then require custom classes and forms if you want to store anything in AR System.

  • BMC does not support two provider instances for the same provider definition.

  • Before de-registering a custom provider, remove all of the resources that belong to the provider.

  • If two different provider definitions are providing the same operation on the same level, create a disambiguation filter.

For more information, see Registering a custom hostname advisor. For any questions about custom providers, contact BMC Support.  

Guidelines for BMC Cloud Lifecycle Management API-based integrations

Only use public APIs. For more information, see Developing . 

Guidelines for customizations based on BMC Remedy AR System for the legacy My Cloud Services Console

For existing customers, use overlay mode to make customizations on the AR System platform. Customizations made in base mode are not supported.

During an upgrade, back up any customizations in overlay mode.

For more information, see Customizing applications using overlays and custom objects.

Was this page helpful? Yes No Submitting... Thank you

Comments