V2 Object Linking
User Basket
- We decided not to implement user baskets. Users can use private dossiers, which can be created, deleted as needed
Implement basket's that are associated with users
Baskets are private to the user they belong to
Baskets can contain the same kinds of objects that a dossier can contain
Baskets are implemented hidden Dossiers
Link Types
Links will have a direction
Links have a this end and an other end
When links are created, they will always be created from this end, by linking items from dossiers to the other end
Link types are not predefined in the system's configuration
- Link types may be implemented later, at customers request
The type of objects being linked is defined in the enumerated values left and right of the ObjectLink model
Link Display in Link Blocks
The links start with an HTML header Linked Items
- Followed by two sets of link blocks:
A References block, which displays (left) links, in sub-blocks, from this object's end
A Referenced by block, which displays (right) links, in sub-blocks, where this object appears as the other end of the link
The References and Referenced by blocks appear in each Document/Revision block on revision detail
- The sub-blocks for each set contain separate blocks for displaying the individual Document, Revision, Task, and User links
- The ordering of the link sub-blocks, within each set of blocks, is defined by the object type in the link
- Sub-blocks appear only if there is at least one reference to be displayed (which must respect the user's access permissions!)
- An object link displays the following fields:
Code - a link to the linked object
Title (or Name for linked users)
Comment - A non-required simple text field, which is entered when the link is created (it can also be edited later)
And Edit & Delete buttons, as controlled by the user's permissions
And a +Link button in the References block
Link Creation
Links are made with a new link block (+Links?), which appears near the end of the sub-block References/Reference by of the the detail screen
- Linking objects is performed on the current object, linking items from dossiers
The block is like the Add Revisions from Dossier block on Transmittal/New
When a link is created, it is created from the this side of the link
The linked items are the other end
You can only create links from this end (e.g. the current object)
In order to create an A->B link you start from a create A->B block
In order to create an B->A link you start from a create B->A block
- When the block is opened:
- When you select a dossier
- A list of the dossier contents's is displayed (possibly filtered by the item type)
- Each item has a select box
- You can select individual items
Or (de-)select all items with JavaScript augmented buttons
- When you select a dossier
- There is a simple (non-required) note field which will be added to all newly created links