Reference fields. Think of them as the glue that holds different parts of your company or project together.
What is a reference field?
Reference fields let you connect two related items in separate collections. It's what makes Zenkit more powerful than most other spreadsheets or productivity or work management tools. References essentially allow you to create a database, without having to be a database expert.
For example, in your Mission to Mars workspace, you have a collection of all the staff members, as well as collections for various projects.
In your 'Build Spaceship' collection, you could create a reference field that links to the engineer from the 'Mars Staff' collection responsible for each task.
When you click on a reference, it opens a reference field popup of the item, in this case, Bob the Builder from 'Mars Staff'.
You can see all the information about him from the Mars Staff collection, including his contact details, and other projects he's referenced in.
Add a new reference field
You add a reference field in the same way you add any field. Click "Add Field" in the far right hand column of the table view, or open an item in any view, click "+" at the bottom of the item and click "Custom Field". Choose "References to other items".
When you add a new reference field, you can choose an existing collection to reference, or create a new collection. You can even choose to reference a collection to itself.
If you choose to create a new collection, you can name it from the references options panel.
You can also choose whether users can create new items on the go, and whether you can select from items that already exist in the referenced collection.When you link two collections in this way, each collection will receive a reference field to the other.
Create new items inside a referenced collection
If you choose to allow members to create new items, this gives them the ability to create a new item inside the referenced collection from inside another collection.
For example, you need to create a new task in the Mission Control collection that falls under Bob the Builder's administration. You expand 'Bob the Builder' inside the 'Mars Staff' collection, then click on "Add Item" under 'Mission Control'.
To create the new item, you just start typing - in this case 'Regulate internal heating panels' - then hit Enter. This will create an item called 'Regulate internal heating panels' inside the 'Mission Control' collection.
Alternatively, you can just select "Create new item" from the dropdown menu. This way you create an unnamed item, which you can update later on.You can also create a new referenced item directly in table view. In the reference field column, click on the cell you'd like to add the reference to. Type in the new item you'd like to create, or click "Create new item".
Selecting existing items inside a referenced collection
You can also select items that already exist inside the referenced collection. When you click "Add Item", Zenkit will suggest a few from the existing items in the dropdown menu, or you can search for them:
Simply type in part of the name of the item you want to reference and choose from the suggested items in the dropdown list.
You can also use this in table view. In the reference field column, click on the cell you'd like to add the reference to. Use the same steps as above to search for and select the item you want to reference.
Referencing a collection to itself
It's possible to choose the collection you're currently working in as the collection to reference to. When you do this, two reference fields will be set up in the collection, called 'References' and 'References - Mirror' by default. (The same happens when you connect two collections with reference fields - the only difference is that the second field is in another collection!)
Doing this can be helpful if, for example, some tasks have subtasks in the same collection. You can rename the reference fields to 'Main task' and 'Subtasks'. You can then filter for 'Subtasks is empty' to see only the main tasks.
Another example could be a collection of family or company members (Field names 'Parent of' & 'Child of' or 'Boss of' & 'Employee of'). Where the references help show the connections between people.
Removing a reference
Say you've added a reference by mistake, or some references are no longer relevant. Don't worry! It's easy to remove a reference.
In any collection, expand the item you want to remove a reference from. When you hover over the reference, two small icons will appear in the corner. Click on the x to remove the reference.
In table view you can also remove a reference by clicking inside the cell that contains the reference (but not on the referenced item itself!) then clicking the "X" next to the reference you want to delete.
Editing referenced items
You can edit referenced items just like you would edit a normal item in a collection. From the details view, click on the name of the item. In the table view, click on the item under the reference field (column).
This will open a popup that looks just like a normal item detail popup. From here you can rename the item, edit information in any field, and even add new fields!
A word of caution - Don't forget that you're editing items in another collection! For example, adding a field via a referenced item will add that field to every item in the referenced collection! If you click on a referenced item inside a referenced item, it'll open another popup. This can go on and on, without you ever leaving your original collection!
Re-ordering referenced items
You can easily reorder reference fields. First, open the item that contains the references, then drag and drop them, as you would for checklist items or attachments.
This can be useful if some references are more important than others, or you want to see a certain reference on an item while the item is zoomed out in Kanban, list or calendar view.
What happens when a user doesn't have access to a referenced collection?
If you reference items from collections that have different member sets, users who are not members of both collections will be unable to see the referenced items. Users who don't have access to the referenced items will be able to see that items are referenced, but won't see the detail. They will also not be able to add or remove the references.