Content
View differences
Updated by Hagen Mahnke 10 months ago
**Context**
We might be extending or using the Work packages module as a base for the new Documents module. However, work packages have a lot of features and characteristics (such as relations, watchers) and are themselves connected to a lot of other services (such as boards, notifications).
This post seeks to identify as many of those areas as possible, so that the development team has a better view of these connections.
**Part of work packages**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head" style="width:120px;"><p class="op-uc-p"><strong>Object</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Remarks (for work packages)</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:180px;"><p class="op-uc-p">WP implementation relevant to Documents?</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:80px;"><p class="op-uc-p">Priority</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Activity tab</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Journal entries, aggreated (time definedin settings) organised chronologically per user, per aggregation. Also includes comments and internal comments.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🤷♂️ Useful, but not mandatory.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium low?</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Comments</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Including @mentions and internal comments</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Files tab</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Direct file attachments, but also connected file stroages (See 'File storages' below)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Even if just images or in-line stuff (attachments)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Relations</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be various types, always symmetric (same relation on both sides), some have special functions (duplicates, blocked by). Hierarchy is also defined via relations.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Concept of relations relevant, but maybe not the WP implementation</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium/High - this is a unique difference to other document solutions</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Macros</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Other work packages can be 'mentioned' in-line (including with status). Eg. <mention class="mention" data-id="23923" data-type="work_package" data-text="##23923">##23923</mention> </p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Maybe not like on work packages if we're using BlockNote</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Watching</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes the 'watchers' tab with list</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Status</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Defined in admin settings per type. Can also include workflows (which roles can change from which status to which status).</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Editor</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">CKEditor by default, some testing being done with BlockNote</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High (Blocknote)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Default attributes</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Assignee, Date (start/finish or combined), Priority, Version</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Documents will need their own default attributes, unrelated to WPs</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Scheduling and Gantt view</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Somewhat related to 'relations' above and the default 'Date' attribute. Work packages can have some complex scheduling. In manual mode, any date can be picked (regarldess of relations); in automatic mode, the date is inferred from relations, notably from predecessors or children (if parent). Additional elements like 'lag' can make things more complex.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Custom fields</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Custom fields and even the form configurare are tied to individual types; each has their own configuration</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Maybe not in v1, but important</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Time tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes live tracking, 'log time' function and 'Spent time' values</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Not needed for v1, S-team will extend time tracking so Documents might connect to that.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Budget</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Linked to 'Spent time' as well (unit cost), but can also linked to defined budgets per project</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Reminders</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Kabiru feature.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Nice to have</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Progress tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be work-based or status-based (certain statuses have pre-defined % complete values). Fields: % Complete, Work, Remaining work. Unrelated to time tracking.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Sharing</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">With users who are not project members, or with any existing user with a specific set of permissions. No guest users; sharing with external users requires them to create an account.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Permissions</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes specific permissions for all features, based on roles</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Unsure if the WP implementation is what we want to have</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Export</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">PDF and Atom export options</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🤷♂️ Extend on existing. BlockNote might make this difficult, might have to create a new one.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Baseline</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Relevant at a work package table level and depends on what's journaled. But there are some quirks; not all work package attributes are 'Baseline' compatible (can show changes within a given period). Useful for seeing all changes to saved work package queries between two dates.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">🤷♂️ Unsure if the WP implementation is sufficient as diffing on a large text in an understandable way is required</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Automatically generated subject pattern</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Sets the name/title based on attributes, for example a configuration could look like this:<br>"<Parent title> - <Target date> <Priority>"<br>This would create titles like<br>"Beyond Documents - 12.09.2025 Medium"</p></td><td class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Priorities</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be defined at an instance level by an admin, available to all work packages.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">🤷♂️ (can't think of a strong use case at the moment)</p></td><td class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>...</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr></tbody></table></figure>
**Connected to**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head" style="width:120px;"><p class="op-uc-p"><strong>Object</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Remarks</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:180px;"><p class="op-uc-p">Do we want Documents also to show up here?</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:80px;"><p class="op-uc-p">Priority</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Notifications</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Currently the only module that can show notifications</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes (possibly need to adapt the implementation) </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Email notifications</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Certain events send out email notifications but have no representation in Notification centre</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No (for emails without notification)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>File storages</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configured file storages eg. Nextcloud, OneDrive</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Work package queries (incl. search)</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">These can be lists (saved queries) or any number of dynamic queries (embedded tables, filtered results, search results...)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No (but we very likely want queries for documents)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Meetings</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be added to meetings. Deep integration: WPs added to work packages appear in the 'Meetings' tab, including any notes and outcomes. Planned future integration includes showing Meeting-related events in the Activity tab.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Budget</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Unit costs or labour costs</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Gantt charts</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can show work packages with dates in a Gantt view</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Team planner</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can show work packages in a timeline view, one row per assignee</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Boards</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages can be added to a manual list, or organised with dynamic boards (each column is an attribute like assignee or status; moving cards changes attribute value)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Maybe</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Wiki</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Individual work packages or work package tables can be called/embedded via macros.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>GitHub/GitLab integrations</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">PRs or MRs can be connected to work packages. Updates are visible in the work package activity tab, a new 'GitHub' or 'GitLabl' tabs are added, actions are visible and Git snippets suggested.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Backlogs</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages can be organised by versions, each work package can have 'story points' and burn down charts can be generated for each version</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Activity module</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">This is the activity module either at a project level or a 'global' (cross-project level). The events displayed here related to the events displayed in the work package activity tab, but since this is older and hasn't been improved on, it has a bunch of other things: changesets, documents, forums, meetings, news, spent time and project details.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>My time tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Each tracked time (spent time) object is displayed as a work package</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Calendar</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages with dates can appear in calendars. Calendars can be filtered based on work package attributes.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Maybe?</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Repository</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Never used this; I think it was used for svn repos. Unsure what the connection is, although I think there <i>is</i> a connection via the Activity tab. To be confirmed.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Documents</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">AFAIK, no direct connection. Individual work packages or work package tables can be called/embedded via macros.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Not applicable</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Forum</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">AFAIK, no direct connection. Individual work packages or work package tables can be called/embedded via macros.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>News</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">AFAIK, no direct connection. Individual work packages or work package tables can be called/embedded via macros.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Custom actions</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configurable by admins, visible only in particular types, statuses and to certain roles in certain projects. (These are the "Assign to me" buttons you see sometimes). A pre-cursor to a future planned feature of conditional actions (things that happen automatically if certain conditions are met)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes</p></td><td class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>...</strong> </p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr></tbody></table></figure>
We might be extending or using the Work packages module as a base for the new Documents module. However, work packages have a lot of features and characteristics (such as relations, watchers) and are themselves connected to a lot of other services (such as boards, notifications).
This post seeks to identify as many of those areas as possible, so that the development team has a better view of these connections.
**Part of work packages**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head" style="width:120px;"><p class="op-uc-p"><strong>Object</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Remarks (for work packages)</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:180px;"><p class="op-uc-p">WP implementation relevant to Documents?</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:80px;"><p class="op-uc-p">Priority</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Activity tab</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Journal entries, aggreated (time definedin settings) organised chronologically per user, per aggregation. Also includes comments and internal comments.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🤷♂️ Useful, but not mandatory.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium low?</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Comments</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Including @mentions and internal comments</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Files tab</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Direct file attachments, but also connected file stroages (See 'File storages' below)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Even if just images or in-line stuff (attachments)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Relations</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be various types, always symmetric (same relation on both sides), some have special functions (duplicates, blocked by). Hierarchy is also defined via relations.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Concept of relations relevant, but maybe not the WP implementation</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium/High - this is a unique difference to other document solutions</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Macros</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Other work packages can be 'mentioned' in-line (including with status). Eg. <mention class="mention" data-id="23923" data-type="work_package" data-text="##23923">##23923</mention> </p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Maybe not like on work packages if we're using BlockNote</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Watching</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes the 'watchers' tab with list</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Status</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Defined in admin settings per type. Can also include workflows (which roles can change from which status to which status).</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Editor</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">CKEditor by default, some testing being done with BlockNote</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High (Blocknote)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Default attributes</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Assignee, Date (start/finish or combined), Priority, Version</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Documents will need their own default attributes, unrelated to WPs</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Scheduling and Gantt view</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Somewhat related to 'relations' above and the default 'Date' attribute. Work packages can have some complex scheduling. In manual mode, any date can be picked (regarldess of relations); in automatic mode, the date is inferred from relations, notably from predecessors or children (if parent). Additional elements like 'lag' can make things more complex.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Custom fields</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Custom fields and even the form configurare are tied to individual types; each has their own configuration</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Maybe not in v1, but important</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Time tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes live tracking, 'log time' function and 'Spent time' values</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 Not needed for v1, S-team will extend time tracking so Documents might connect to that.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Budget</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Linked to 'Spent time' as well (unit cost), but can also linked to defined budgets per project</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Reminders</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Kabiru feature.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Nice to have</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Progress tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be work-based or status-based (certain statuses have pre-defined % complete values). Fields: % Complete, Work, Remaining work. Unrelated to time tracking.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🚫 </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Sharing</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">With users who are not project members, or with any existing user with a specific set of permissions. No guest users; sharing with external users requires them to create an account.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Permissions</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Includes specific permissions for all features, based on roles</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">✅ Unsure if the WP implementation is what we want to have</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Export</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">PDF and Atom export options</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">🤷♂️ Extend on existing. BlockNote might make this difficult, might have to create a new one.</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Baseline</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Relevant at a work package table level and depends on what's journaled. But there are some quirks; not all work package attributes are 'Baseline' compatible (can show changes within a given period). Useful for seeing all changes to saved work package queries between two dates.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">🤷♂️ Unsure if the WP implementation is sufficient as diffing on a large text in an understandable way is required</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Automatically generated subject pattern</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Sets the name/title based on attributes, for example a configuration could look like this:<br>"<Parent title> - <Target date> <Priority>"<br>This would create titles like<br>"Beyond Documents - 12.09.2025 Medium"</p></td><td
**Connected to**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head" style="width:120px;"><p class="op-uc-p"><strong>Object</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Remarks</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:180px;"><p class="op-uc-p">Do we want Documents also to show up here?</p></th><th class="op-uc-table--cell op-uc-table--cell_head" style="width:80px;"><p class="op-uc-p">Priority</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Notifications</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Currently the only module that can show notifications</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes (possibly need to adapt the implementation) </p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">High</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Email notifications</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Certain events send out email notifications but have no representation in Notification centre</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No (for emails without notification)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>File storages</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configured file storages eg. Nextcloud, OneDrive</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Work package queries (incl. search)</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">These can be lists (saved queries) or any number of dynamic queries (embedded tables, filtered results, search results...)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No (but we very likely want queries for documents)</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Meetings</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can be added to meetings. Deep integration: WPs added to work packages appear in the 'Meetings' tab, including any notes and outcomes. Planned future integration includes showing Meeting-related events in the Activity tab.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Budget</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Unit costs or labour costs</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Gantt charts</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can show work packages with dates in a Gantt view</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Team planner</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Can show work packages in a timeline view, one row per assignee</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Boards</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages can be added to a manual list, or organised with dynamic boards (each column is an attribute like assignee or status; moving cards changes attribute value)</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Maybe</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Wiki</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Individual work packages or work package tables can be called/embedded via macros.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">Medium</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>GitHub/GitLab integrations</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">PRs or MRs can be connected to work packages. Updates are visible in the work package activity tab, a new 'GitHub' or 'GitLabl' tabs are added, actions are visible and Git snippets suggested.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Backlogs</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages can be organised by versions, each work package can have 'story points' and burn down charts can be generated for each version</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p">-</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Activity module</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">This is the activity module either at a project level or a 'global' (cross-project level). The events displayed here related to the events displayed in the work package activity tab, but since this is older and hasn't been improved on, it has a bunch of other things: changesets, documents, forums, meetings, news, spent time and project details.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>My time tracking</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Each tracked time (spent time) object is displayed as a work package</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Yes</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Low</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Calendar</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work packages with dates can appear in calendars. Calendars can be filtered based on work package attributes.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">Maybe?</p></td><td class="op-uc-table--cell" style="width:80px;"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="width:120px;"><p class="op-uc-p"><strong>Repository</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Never used this; I think it was used for svn repos. Unsure what the connection is, although I think there <i>is</i> a connection via the Activity tab. To be confirmed.</p></td><td class="op-uc-table--cell" style="width:180px;"><p class="op-uc-p">No</p></td><td