Skip to content

Installation Instructions

The installation of dynamic checklist consists of:

  • Adding the limepkg as a dependency in your solution
  • Run the addon installer
  • Add the initialize checklist automation
  • Configuring where the checklist webcomponent should be shown in the webclient

Preparations

Check that the requirements are met.

Installation

Dependency

Add limepkg-dynamic-checklist as a dependency to your solution in pyproject.toml.

poetry add limepkg-dynamic-checklist

Run the addon installer

Dynamic checklist requires a basic structure and Checklist Owner(s) structure when it comes to fields and tables:

This can be added by using the Setup part of Lime admin by going to: Lime Admin > Settings > Dynamic Checklist > Setup

It will use the Addon-installer to create the needed tables and fields, you can read about the structure under Technical

Info

Run the addon installer by selecting one or more limetypes (Checklist Owners) where you intend on using the checklist.

Automation

For each Checklist Owner, add the the Initialize checklist automation.

Example for the Checklist Owner helpdesk, with helpdesktype as the Checklist Template Owner.

{
    "id": "99b14ab5-366f-41cf-b1dd-bb3a8f6fe5aa",
    "title": "Helpdesk: Initialize checklist",
    "active": true,
    "steps": [
        {
            "id": "set_checklist_template",
            "title": "Initialize checklist (Dynamic Checklist)",
            "action": "limepkg_dynamic_checklist.initialize_checklist",
            "arguments": {
                "checklist_owner": {
                    "key": "event.limeobject",
                    "fallback": null,
                    "exp_type": "context"
                },
                "template_owner_property": {
                    "value": "helpdesktype",
                    "exp_type": "constant"
                },
                "checklist_template_property": {
                    "value": "checklist_template",
                    "exp_type": "constant"
                },
                "current_checklist_item_property": {
                    "value": "checklist_item_current",
                    "exp_type": "constant"
                }
            },
            "condition": {
                "expressions": [
                    {
                        "expressions": [
                            {
                                "limeobject": {
                                    "key": "event.limeobject",
                                    "fallback": null,
                                    "exp_type": "context"
                                },
                                "property_name": {
                                    "value": "helpdesktype",
                                    "exp_type": "constant"
                                },
                                "exp_type": "has_changed"
                            }
                        ],
                        "exp_type": "or"
                    }
                ],
                "exp_type": "and"
            }
        }
    ],
    "trigger": {
        "limeType": "helpdesk",
        "triggerType": "limeobject",
        "onUpdate": true,
        "onCreate": true
    },
    "condition": null
}

Info

Make sure that template_owner_property, checklist_template_property, current_checklist_item_property contains the field name as value and exp_type as constant. The checklist will NOT function if you use exp_type context and the key event.limeobject.name_of_field

Configuration

With the required dependecies, Automations and datastructure in place its time to configure where to use the Dynamic Checklist.