Welcome to Portal Developer’s documentation

This guide serves to describe how to develop with and for Cantemo Portal. Is it part of three guides for Cantemo Portal:

  • User’s Documentation.
  • Installation and Administrator’s Documentation.
  • Developer’s Documentation. (this document).

It is expected that you have read and have knowledge of Portal before you start to develop.

How to use this documentation

This documentation is used for theming, creating Portal Apps and creating new integration to you services with Cantemo products:

  1. Please read the section on installing for development first.
  2. Play with the Portal and get used its capabilities.
  3. Read the User and Administrator guides to get a greater understanding of the system.
  4. Understand how to stop/start the system and how to read the logs.
  5. Read the example source code for Applications to get an idea of how to write Apps.
  6. Start reading the documentation, read about themes and have a look at the theme files.
  7. If in doubt start a conversation on the Cantemo or your local reseller.

We are constantly in the process of improving the documentation, any suggestions are very welcome.

News for Portal 4

Portal 4.0 comes with a bunch of upgrades to vital components in Portal. If you have made plugins or components that are bound to the previous version you may need to make changes.

Celery Upgrade

Celery has been upgraded to Celery 4.1. The command for setting up queues manage.py celery is backwards compatible.

Django Upgrade

Django has been upgraded to Django 1.11. The main changes that you may change your code with are:

URL patterns

Database migrations Use manage.py makemigrations <app name> instead of the south migrations. When merging code with new database migrations to Portal4.0, the migrations need to be redone on new Django and additionally extra code added to prevent these from failing on upgrades.

DJANGO REST Framework The serializer is different. See http://www.django-rest-framework.org/topics/3.0-announcement/#serializers for an explaination

Python upgrade

Python has been upgraded from version 2.7 to version 3.6. After you have done the Django upgrade you should be able to convert your code to Python 3. There are tools on Internet that can help you with the convert.

React upgrade

React has been upgraded to version 16, but the upgrade should not break your React plugins, you should be able to run which React version you want, but we suggest you to upgrade to at least version 16.

Plugins on Collection page that contain React code may be affected.

Rules Engine Python Scripts

Python 2 scripts in Rules Engine 3 needs to be converted to Python 3

Development Setup

Information on how to setup Portal for development.

App Development

Apps and plugins API information. Building Apps in Portal greatly extends the functionality available to your users, and this section details the capabilities of the Apps and what can be built from the plugin infrastructure.

Testing

Testing and Debugging information for developing Apps.

Portal REST interface

Integration support for models and objects stored within Portal via REST, or with systems that we interface with and provide support around. Further documentation can be found in the help menu in Portal under the headline REST API Reference.

Indices and tables

If you require more information than contained in these documents please contact Cantemo for assistance.