Jam.py documentation

Server side programming

In most cases, the client sends a request to the server when following methods of an item are executed:

In this case the client sends to the server the ID of the item’s task, the ID item, the type of the request and its parameters.

The server on receiving the request, based on passed IDs, finds the task (it can be Project task or Application builder task) and the item on the server, executes the corresponing method with passed parameters and returns the result of the execution to the client. The server method can trigger events that can modify its default behavior.

Every item of the task tree have the environ and session attributes that store context of the current request.

The most common server events are:

  • on_created - The event is triggered by the task when it has just been created by the server application. It can be used to initialize the project.
  • on_apply events - These events are triggered when the apply method of the item is called on the client or the server
  • on_open_events - These events are triggered when the open method of the item is called on the client or the server
  • on_generate - “The event is triggered when the print method of a report is called on the client.

Note

Note that the task tree on the server is immutable, you can not change the attributes of the items in the task tree.

You must use the copy method to create a copy of an item. This copy is an exact copy of an item at the time of creating of the task tree. It is not added to the task tree and will be destroyed by Python garbage collector when no longer needed.