Relations Tracker Field
New in Tiki8
Allows to create arbitrary relations between the trackers and other objects in the system. See also Items List and Item Link Tracker Fields
Relation Relation qualifier. Must be a three-part qualifier containing letters and separated by dots.
This can be anything (just a reference)
Filter URL-encoded list of filters to be applied on object selection. (see the list below)
ex.: tracker_id=5&object_type=trackeritem
tracker_id=5 is to filter in tracker #5
object_type=trackeritem is to only get tracker items (and not tracker fields)
Unified Index is required for relations fields to work.
See Search and List from Unified Index
Read-only Only display the incoming relations instead of manipulating them.
Include Invert Include invert relations in the list
Notes
When the result show several related items they will be ordered by itemId asc.
Example
bug tracker in dev.t.o
Tracker field definition (tiki-admin_tracker_fields.php?trackerId=N):
The previous example produces this field when adding a new tracker item (tiki-view_tracker.php?trackerId=N):
Note: The pagination setting will change the way the field is displayed. If the number of possible relations is higher than the "Object selector threshold" parameter that can be found at tiki-admin.php?page=look#contentadmin_look-3. If the field displays more that the "Object selector threshold" value then it will change for a Search input field.
Filtering valid parameters
parameter | Usage | notes |
tracker_id | tracker_id=11 | |
object_type | object_type=trackeritem | |
tracker_status | tracker_status=o | the parameter accept one argument (=op doesn’t work) |
... | ... | ... |
Sample: tracker_id=11&object_type=trackeritem&tracker_status=o
Many to many
If you want a many to many relation, create a field in each tracker, with the following params
- Relation: put one as normal, and for the other, add a fourth qualifier .invert (ex.: institution.published.work and institution.published.work.invert)
- Filter: set tracker_id=XYZ where XYZ is the ID of the other tracker. Ex: In tracker 19, put tracker_id=20 and in tracker 20, put tracker_id=19
- Read Only: Both set to no
- Include Invert: Both set to no (the inversion will come from the setting above)
- Force Refresh: should be set to on if you are using Mathematical Calculation Tracker Field which could impact.
Use case: Projects and Subprojects
One use case for this type of setup is a projects tracker, in which you define a parent - child relationship among items: which are parent projects of which child projects, while all data reside in the same project tracker.
Even if this setup would probably imply a one to many relationship, the setup is the equivalent as the one indicated in the section above currently named "Many to many", but using the same tracker id in both fields of type "relation" in that same tracker.
Related: