In large organizations, you will sometimes encounter situations where users want to extend the functionality of SD Element to meet specific needs. There are four options for extending SD Elements functionality. We cover each at a high level here, however a detailed description of each is out-of-scope for this documentation.
SD Elements provides a RESTful Application Programming Interface (API) to extend SD Elements functionality. This is the preferred way of extending SD Elements functionality and can be done by anyone with access to an SD Elements server.
You can review API documentation by logging into SD Elements and navigating to Support->API Documentation.
Custom Report Templates
SD Elements provides functionality for creating custom project reports. Unlike APIs, these reports reside within the application itself. Security Compass engineers can create these reports as part of SD Elements, sold as SD Elements services.
In certain cases, users may wish to extend functionality beyond what’s available from the API. For example, bulk importing data, such as existing security policies. In these cases, Security Compass engineers can create special ‘management commands’, which are manually executed scripts that interact directly with the SD Elements database. Since these commands are not necessarily restricted to using the API, they are more susceptible to behind-the-scenes programming changes and should only be used as stop-gap solutions when an API solution is not available. Contact your Security Compass representative for more information about building a management command.
Customers can also formally request a feature be added to the product. While we do our best to accommodate customer needs, we cannot act on every feature request. Every time we receive a feature request we first determine if it aligns with our production direction. If the feature request is consistent with the overall direction of SD Elements, we compare it with existing requests and determine how many other customers are requesting the same need. This helps us determine which features to focus on for a given time period. It's important to note that we take an agile approach to product planning, which means we do not commit to specific timelines but rather we assign priorities to requests on a relative basis.
For these reasons, feature requests should be a last resort when the other methods for extending functionality won’t work.