Loading...
 
Skip to main content

History: API Tracker

Source of version: 12 (current)

Copy to clipboard
            ! API Tracker
Tiki supports URL arguments and they can be used to interact with the Trackers and the plugins displaying or creating items. For example you can define a default value for a field in a customSearch or force the insertion of a value when creating an item.

!! Examples
~tc~ This displayed only the field childrenIdNumber in the create item form. Needs a fix ?
!!! To set a link that will create a new item and insert a value in a field
Here we use it to create an item with a specific value for field.
(replace "childrenIdNumber" with your category field permaname)
{CODE()}
tiki-tracker-insert_item?trackerId=2&next=tiki-tracker-insert_item%3FtrackerId%3D3&field~childrenIdNumber=17
{CODE}~/tc~

!!! Allow creation, edition and deletion of tracker items in a modal pop-up

This is the html syntax for use in a smarty template file.

{CODE(caption="Creation of an item in tracker 1")}
<a class="click-modal tips" title=":Create new item" data-role="button" data-inline="true" href="tiki-tracker-insert_item?trackerId=1">Create new item</a>
{CODE}
{CODE(caption="Edition of item 3 in tracker 1")}
<a class="click-modal tips" title=":Edit item" data-role="button" data-inline="true" href="tiki-tracker-update_item?trackerId=1&itemId=3">Edit item 3</a>
{CODE}
{CODE(caption="Deletion of item 3 in tracker 1")}
<a class="click-modal tips" title=":Remove item" data-role="button" data-inline="true" href="tiki-tracker-remove_item?trackerId=1&itemId=3">Remove item 3</a>
{CODE}

!!! Create/Update some fields of an item using ''editable''

If you want to update two fields which permanentNames are ''name'' and ''surname'' and leave the other fields unchanged:
{CODE(caption="Edition of two fields of item 3 in tracker 1")}
tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname
{CODE}
(same principle for item creation)

!!! Hide some fields of an item on the creation/edition using ''noteditable''

If you want to hide two fields which permanentNames are name and surname and edit the other fields:
{CODE(caption="Hiding of two fields of item 3 in tracker 1")}
tiki-tracker-update_item?trackerId=1&itemId=3&noteditable[]=name&noteditable[]=surname
{CODE}
(same principle for item creation)

!!! Pre-fill field values using ''fields''
Note: once you use ''fields'', only the fields which you specifically mention will be available for edition.
{CODE(caption="Edition of three fields of item 3 in tracker 1 with a prefilled value")}
tiki-tracker-update_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None
{CODE}
{CODE(caption="Creation of item 3 in tracker 1 with a prefilled value and two extra fields")}
tiki-tracker-insert_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None
{CODE}
This will prefill the "education" field and it will display fields ''name'' and ''surname'' as empty fields. It is probably perfect for creating a new item but not what you would expect for editing an existing item (loss of previous values).

A better solution which does not lose previously entered content:
{CODE(caption="Edition of three fields of item 3 in tracker 1 with one prefilled value")}
tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname&editable[]=school&fields~education=None
{CODE}



!!! To set a link that will create a new item and force-insert and hide a value for a field
Here we use it to create an item with a specific category Id.
(replace "childrenIdNumber" with your category field permaname)
{CODE()}
tiki-tracker-insert_item?trackerId=2&next=tiki-tracker-insert_item%3FtrackerId%3D3&forced~childrenIdNumber=17
{CODE}
All fields can be edited except the one which is forced which will not be shown.

This can be used with a variable like a field from a plugin list. Here we prefill the (user)name and hide it.''The smarty replace modifier is required to remove extra space(s) added to the value(s)''
{CODE()}
tiki-tracker-insert_item?trackerId=11&forced~paymentsFamilyName={$row.name|replace:' ':''}
{CODE}

!!! To set a link that will open the update modal for an existing item and insert a value for a field
Here we use it to create an item with a specific category Id.
(replace "permaname" with your category field permaname)
{CODE()}
tiki-tracker-update_item?trackerId=2&itemId=178&fields~childrenIdNumber=17
{CODE}

!!! Status control with tiki-tracker-insert_item and tiki-tracker-update_item
|| code | status of saved item | is status selector displayed in pop-up window?
status=open | open  | yes
status=pending  | pending | yes
status=closed | closed  | yes
status=0  | default value in tracker properties | No
nothing about status  | default value in tracker properties | only if "show status" is set in tracker properties
||
{CODE(caption="Example" theme="default")}tiki-tracker-insert_item?trackerId=57&editable[]=inscrContenuCmdCommande&status=closed{CODE}

!! Updating a tracker field using POST
((API Tracker Update Demo))