Overview
The goal of this AppJar is to provide a complete issue tracking system for enterprise Vaadin applications, covering everything from issue creation and project organisation to workflow management, time tracking, and audit history.
Enterprise applications inevitably encounter defects, feature requests, and operational issues throughout their lifetime. Without a dedicated tracking mechanism, these reports are often scattered across external tools, email threads, or informal channels, making it difficult to maintain visibility, accountability, and resolution history. The Issue Tracker AppJar addresses this by embedding a professional issue management interface directly within the application, so that users can report and follow up on problems without leaving their workflow.
Projects
Issues are organised within projects. Each project defines its own membership, configuration, and set of active trackers. Projects can be nested, allowing teams to represent a hierarchy of work — for example, a top-level product with separate sub-projects for different components or teams.
Project membership is role-based: each member is assigned one or more roles that determine what they can see and do within that project. Administrators manage project settings, tracker assignments, and member lists through dedicated administration views.
Issues and Trackers
An issue is the fundamental unit of work in the Issue Tracker. It carries a subject, description, status, priority, assignee, due date, and an estimated effort. Issues can also be linked to one another to express relationships such as duplicates, dependencies, or related work.
Trackers define the type of an issue — such as Bug, Feature, or Support — and control which workflow applies to it. Each project can enable multiple trackers, and each tracker can carry its own default status and workflow configuration. Issues can be organised into parent-child hierarchies to represent subtasks within a larger piece of work.
Workflow
Every tracker has a configurable set of statuses and the transitions between them. Workflow rules determine which transitions are available to which roles, so that, for example, only a developer can mark an issue as resolved, or only a project manager can close it.
Administrators define statuses and transition rules through the administration interface. This makes the Issue Tracker adaptable to a team's actual process without requiring any code changes.
Time Tracking
The Issue Tracker includes built-in time logging. Users can record time spent against individual issues, specifying the date, hours, and the type of activity performed. These entries are aggregated in reports that give project administrators visibility into how effort is being distributed across issues and time periods.
Time entry visibility is subject to role-based access control, so sensitive time data can be restricted to the appropriate audience.
Custom Fields
Projects and issues can be extended with custom fields defined by administrators. Custom fields support a variety of data types — text, numbers, dates, and single or multiple-choice selectors — and can be configured with validation rules such as required values, regular expressions, and length constraints.
This extensibility allows the Issue Tracker to capture domain-specific information without requiring any development work.
Audit and History
Every change made to an issue is recorded in its journal. The journal shows who changed what and when, giving all participants a transparent history of the issue's lifecycle. Version changes — including setting, updating, or removing the target version — are recorded in the journal and appear as entries in the issue's History tab. Private notes can also be added to an issue's journal for communications that should be visible only to project members with the appropriate role.
Users can subscribe to issues as watchers and receive notifications when changes are made, keeping stakeholders informed without requiring them to poll the system manually.
Licensing
The Issue Tracker can be evaluated without a license. In free mode every feature is fully functional, but the application is limited to five users, five open issues, and ten time entries logged per day. A full license removes these limits and changes nothing else. See Licensing for details.