Skip to content

Releases: oslokommune/okr-tracker

[2.0.0-beta] 2020-11-03

03 Nov 15:25
81d0195
Compare
Choose a tag to compare

Lots of changes in version 2. Most notably a new data model and restructured front end components.

What’s new

Introducing KPIs

Key performance indicators (KPIs) can now be registered and tracked in the OKR tracker. There are three categories for which KPIs can be added to organisations, departments and products. Each KPI must be paired with a cell in a shared Google Sheets document containing its value.

Access requests

Users who are not whitelisted may now ask permission to gain access to the system. They must submit their email address, which will be registered to a separate Firestore collection. A Cloud Function will trigger a message to the connected Slack channel where system administrators can grant or deny their request directly.

Weighted objectives and key results

All objectives and key results now contain a weight property for which administrators or team members may customise the weight. The weight of an object affects how progression is calculated. Objectives’ weight affects their period’s overall progression and the weight of key results affect their parent objective’s progression.

Improved development experience

It is now easier to get started setting up a new instance of the OKR Tracker or contributing to an existing Firebase project, due to improved documentation and simpler and better routines in regards to local mock data and development environment.

Progression is handled on server

There are now Firestore Cloud Functions that monitor CRUD operations to periods, objectives, key results, and their progressions, and automatically handling updating progression for the affected objects.

Firestore rules

Version 2.0.0 introduces better security. All documents in Firestore are now protected by database rules dictating read, write, and delete permissions based on document type and the user attempting to perform the action.

Move products, objectives and key results

It is now possible to move a product from one department to another. There is also support for moving objectives and key results to different periods and objective respectively.

Save view preferences

Users’ view preferences are stored in the database each time they make a change to their view (including minimize/expand widgets).

Audit logging on server

All CRUD events are audited and stored by Cloud Functions containing the affected object, the performing user and a timestamp. Updates include the before and after values.

Changed

  • Several user interface changes
  • More consistent styles and visual design
  • Dashboard view available for organisations and departments
  • Improved responsive design

Removed

  • Audit feed
  • Images for organisations, departments and products

[1.4.2] - 2020-04-22

22 Apr 16:20
6c6dcea
Compare
Choose a tag to compare

Added

  • MIT License

Changed

  • Improve documentation

Fixed

  • Fix issue regarding saving longDescription for key results

[1.4.1] - 2020-04-17

17 Apr 13:04
3240373
Compare
Choose a tag to compare

Added

  • Description-field for key-result. Ref. issue #106.

Changed

  • Upgrade dependencies

Fixed

  • User-search: sum of weighted keys is not allowed to exceed 1
  • Typo in nb-no translation
  • Objective-progression was always 0
  • Products did not update accordingly when changing routes
  • keyResultPage did not show longDescription correctly

[1.4.0] - 2020-03-25

25 Mar 14:57
Compare
Choose a tag to compare

Added

  • Dynamic <title>s with vue-meta
  • Ability to add comments when updating progress for a key result via toaster
  • Display comments as tooltips on progressions list for a key result
  • Fuzzy search for user list on admin panel with Fuse.js

Changed

  • Increase modal size for members chart
  • Sortable columns for user list on admin panel

Fixed

  • Layout issue on key result page on certain page widths
  • A few locale strings that were not mapped correctly
  • Remove random word space before 'Home' in breadcrumbs
  • Fix issue where progression for an empty objective shows as 'NaN'
  • Fix z-index issue with the members modal

[1.3.0] - 2020-03-18

18 Mar 16:19
cbc907a
Compare
Choose a tag to compare

Added

  • Visualising members of a department as a network graph
  • Localization for nb-no with vue-i18n

Changed

  • Refactor all Cloud Functions
  • Better documentation (jsdoc) for all Cloud Functions
  • Show progress next to an objective also when it's empty (0%)

Fixed

  • Fix bug where progression for objectives and periods did not get updated when a new (empty) key result was created
  • Hide dashboard view for departments and organisations
  • Fix error logged when toggling archived documents on admin panel

[1.2.0] - 2020-03-11

18 Mar 14:59
2c359e9
Compare
Choose a tag to compare

OKRs are now supported on organisation level. This will allow administrators to create and manage details (name, mission statement), objectives and key results for organisations.

Organisations will work in a similar fashion as departments and products, whereas the child departments will be displayed on an organisation’s page. Please note that creating and/or deleting organisations is not included in this version.

What’s new

  • OKRs for organisation level
  • Character limits for user inputs

Added

  • OKRs for organisation level
    • Edit existing organisations from the admin panel
    • Page to view organisations under route /organization/<slug>
    • Manage objectives and key results for organisation at /organization/<slug>/edit
    • Cloud functions to handle progression for organisation
  • Supporting Markdown for mission statements

Changed

  • Convert the organisation in breadcrumbs to a link
  • Use placeholder-image.svg instead of placeholder-user.svg for departments and products that do not have an image
  • Consistently use American organization instead of organisation as function and variable names
  • Reduce font weight on table of contents on help page
  • Limit character count on various user inputs
    • profile/displayName <= 32 char
    • organization/name <= 64 char
    • department/name <= 64 char
    • product/name <= 64 char
    • period/name <= 12 char
    • objective/description <= 320 char
    • objective/name <= 160 char
    • missionStatement <= 320 char
    • keyResult/description <= 120 char
    • keyResult/unit <= 32 char
  • Improved design on members and products lists (include name next to its image)
  • Improved content on help.md
    • Managing products
    • Managing organisations
    • Managing dynamic periods
  • Reduce size of image preview on forms for editing organisations, departments and products
  • Visualise the (positive or negative) change on the newsfeed card for updating progress on a key result

Deprecated

Migrating data from Google Sheets: Functionality for migrating data from Google Sheets should no longer be necessary. The scripts for handling this will remain in the codebase for now, but will soon be removed. The description and file upload will be removed in the UI.

Removed

  • Form for migrating data from Google Sheets

Fixed

  • Fix JSDoc errors in db.js

[1.1.0] - 2020-03-09

09 Mar 10:34
5fdfe40
Compare
Choose a tag to compare

This release introduces dynamic date periods that replace static annual quarters for objectives. This means that custom date periods need to be manually created on each department and product onwards.

Under the ‘Danger Zone’ section on the admin view there is an action that automates the convertion of currently existing objecties onto dyamic date periods. This should only be triggered once in production after release of this version to prevent data loss.

This change adds a /periods subcollection on the departments and products collections that holds the details for the periods as well as the progression for that period.

Added

  • Show callout to team members when a product image is missing
  • Documentation for managing departments on Help page
  • Automated backup of the firebase database
  • Automated restore of backup for the firebase database

Changed

  • Converting static annual quarters to dynamic and custom date periods
    • Users can now create unlimited future (and past) periods
    • Users must give name date periods
    • Navigating between periods using URL query parameters
    • Adjustments in Cloud Functions to handle progression for dynamic periods
  • Refactoring some Firestore handling – introducing the serializeList function to make the codebase a bit more DRY.
  • Hide progress visualisation when department or product does not have any objectives

Removed

  • Legacy dashboard component

Fixed

  • Fix issue where progress graphic did not always update when navigating between pages
  • Force the submenu to appear even when no periods are available
  • Minor layout adjustment on the page header (less white space below page name on desktop)
  • Allow floating point numbers as key result progress
  • Replace ninjas with cubes when a department has zero products

[1.0.1] - 2020-02-24

24 Feb 13:36
Compare
Choose a tag to compare

Added

  • Table of contents on help page
  • CHANGELOG.md

Changed

  • Fixed misleading text on help page for updating profile image
  • Hide notes on key result page for non-members
  • Improve styling of line chart (gradient fill)
  • Increase size and quality for uploaded images
  • Updated event-types.md with correct data

Fixed

  • Navigating to products/departments didn’t load the correct data
  • Updating/changing a migrated key results

First official release (v1.0)

21 Feb 14:14
1c4a765
Compare
Choose a tag to compare

First stable release.