Development Environment Set-Up
Requirements
Python Distribution
Universal Extensions are implemented in Python. Therefore, an appropriate Python distribution must be available on the agent system where Universal Extensions run.
The portion of the Universal Extension implementation that is provided by Stonebranch (the Universal Extension Base Package) is compatible with Python versions 2.6 and higher. However, user developed Extensions are free to restrict Python version requirements to a smaller subset of Python versions in order to meet the needs of the extension.
Universal Agent
Universal Extensions require a compatible Universal Agent for execution. The Universal Extension functionality is available in agent distributions starting with Version 7.0.0.
Universal Controller
Universal Extensions require a compatible Controller. The Universal Extension functionality is available in Universal Controller distributions starting with Version 7.0.0.
Platform
The Universal Extension Base Package is platform-independent. It is supported by the Universal Agent on the following platforms:
AIX
Linux x64 Debian
Linux x64 Redhat
Linux PPC64LE
Linux S390x
Solaris SPARC
Solaris x64
- Windows X64
Universal Extensions can be developed on and targeted for any/all of the supported platforms.
Code Editor
Any text editor can be used to develop Universal Extensions. However, an IDE with support for the Python language is recommended.
For the purposes of this document, the code editor of choice will be Visual Studio Code. From this point, documentation will be described in the context of a Visual Studio Code development environment however, the code and concepts will be applicable to any editor.
Environment
As mentioned, the code editor used for this documentation will be Visual Studio Code. Visual Studio Code runs on multiple platforms (macOS, Linux, and Windows).
For this documentation, Visual Studio will be running in Windows with the “Remote WSL extension”: (WSL is Windows Subsystem for Linux). This set-up is essentially a Linux development environment running in Windows.
UIP-CLI Tool and UIP VS Code Extension
As mentioned in the previous document, uip-cli
can be used to make the process of creating, editing, and deploying Extensions convenient. The UIP VS Code Extension takes this a step further by integrating the functionality of uip-cli into the VS Code IDE. However, the UIP VS Code Extension is specific to the Visual Studio Code IDE, whereas uip-cli is development environment agnostic.
The tutorials in the rest of the documentation will presented in the context of a Visual Studio Code development environment. Therefore, the tutorial will demonstrate the functionality using the UIP VS Code Extension. For additional details on working with uip-cli directly, refer to the documentation here.
See the set-up instructions below for instructions regarding installing UIP VS Code Extension and uip-cli
.
Environment Set-up
/wiki/spaces/UC71x/pages/5178160 Universal Controller version 7.0.0 or greater. This does not have to be on the development host; however, you must be able to access the Controller from the development host.
/wiki/spaces/UA71x/pages/2657964 Universal Agent version 7.0.0 or greater on the target development host. Ensure that the agent is connecting to the same OMS server that is being used by the Controller.
Install Visual Studio Code (optional)
Install the Python extension for Visual Studio Code (optional)
Install the Remote Development extension pack (optional)
For additional details on setting up and using Visual Studio Code with WSL, Microsoft provides the following page: "Get started using Visual Studio Code with Windows Subsystem for Linux".
- Install UIP VS Code Extension from the Visual Studio Code Marketplace. This can be performed from within the Visual Studio Code IDE by selecting the View→Extensions and typing "UIP" into the search field.
- Note: uip-cli can be automatically installed as needed by the UIP VS Code Extension.
- Install
uip-cli
from the PyPi database (optional). The README on the project homepage contains instructions for downloading the CLI and verifying the install. Note: If using the UIP VS Code Extension, the uip-cli install can be performed automatically as needed.