Getting started

📘

IXON Backend Component Workspace

Follow the development process to get started. The SDK to build a Cloud Function can be found on GitHub:

https://github.com/ixoncloud/backend-component-workspace

In the SDK there is a simple example function that can be used as a starting point when developing a new Cloud Function.

Getting started developing a Cloud Function is easy. You can develop it locally without the need for registration in IXON Cloud.

In its most basic form, a Cloud Function consists of two files:

  • A Python file containing the entry point(s) for the component
  • A requirements.txt file that declares the dependencies of the component. It should always include at least the ixoncdkingress dependency. This should be locked to a specific version to avoid breaking in the future.

To get you started as quickly and easily as possible, a Component workspace is provided with everything you need to develop and deploy Cloud Functions.

Development process

📘

A Cloud Function requires one or more UI Components. UI Components are developed separately by using their own SDK. When requesting a Cloud Function, you can choose to link to an existing Cloud Function or create a new one.

UI Components linked to a Cloud Function are visible as apps in IXON Cloud under Admin > Apps, where they can be enabled.

Using the Component SDK, a Cloud Function is first built and tested locally. Next, the component can be uploaded to the company account to make it available to all users in the company account where the Cloud Function is deployed. The complete process consists of these steps:

  1. Follow these tutorials to get started.
    1. Developing a Cloud Function
    2. Calling a Cloud Function from a UI Component
  2. Develop and test a Cloud Function locally until an early version is ready.
  3. Request a new component template by sending an email to [email protected] providing these details:
    1. Request for a Cloud Function
    2. The company name
    3. The Company ID (can be found at Admin > Company info > Company ID.)
    4. The name of the new Cloud Function (this name will be displayed in IXON Cloud under Admin > Apps)
    5. The UI Component(s) to link. Choose between:
      1. Existing name(s) and page-component-template ID(s)
      2. Name(s) of the new UI Component(s)
    6. For new UI Component(s) only: If the UI Component will be used on a main page (Main page: yes/no)
  4. IXON Support will send a reply when the component template is created. This e-mail will contain a backend-component-template ID.
    1. If a new UI Component is created the e-mail will also contain a page-component-template ID, which can be used to deploy the UI Component.
  5. Send an email to [email protected] to specify which endpoints you use so we can authorise them for your application.
  6. Deploy the new version to the company account (see GitHub). At this moment, it is available in IXON Cloud under Admin > Apps, where it can be enabled.
    1. Both the Company ID and the backend-component-template ID are required to upload the Cloud Function.

📘

Notes

  • The version number needs to be increased every time a new version is deployed.
  • The user account that is used for deploying needs to have the role of Platform administrator.
  • If a third party is hired to develop the Cloud Function it might be undesirable that they are given the role of Platform administrator in a company account that is used for production. A better solution is to create a separate company account, where the third party has full access, and afterward share the Cloud Function with the company account that is used for production.

Sharing Cloud Functions

A Cloud Function can be shared from Admin > Apps in IXON Cloud. Linked UI Components are also automatically shared.

Download Cloud Function logs

Cloud Function logs can be downloaded from Admin > Apps > More options (three dots) > Download logs. The logs show all calls and exceptions for the current version of the Cloud Function for the last 48 hours. The logs show information from all company accounts where the app is active. However, only the owner of the Cloud Function can download the logs. Please note that there is a delay of approximately 5 minutes before log entries are displayed.