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