Skip to content

Latest commit

 

History

History
832 lines (617 loc) · 47 KB

CHANGELOG.MD

File metadata and controls

832 lines (617 loc) · 47 KB

October 2, 2024

  • Feature New Who is Listening widget front end 🎟️ DESENG-695

    • Implemented Figma design
    • Added widget_listening table to db for widget instance data
    • Added option to enter widget description text (below title, above contacts)
    • Adjusted CSS to accomodate multiple viewports
    • Added ARIA labels for accessibility
    • Updated contact create/edit form
    • Updated Who is Listening widget form
  • Feature New Video Widget front end 🎟️ DESENG-692

    • Changed icon colour from yellow to white to accomodate company branding requests
  • Feature New Map Widget front end 🎟️ DESENG-693

    • Adjusted viewport settings of expand map link to accomodate breakpoints of engagement view page

September 26, 2024

  • Feature New Timeline Widget designs 🎟️ DESENG-694
    • Implemented Figma design
    • Adjusted styling in Engagement views slightly to accommodate theme-aware widgets

September 25, 2024

  • Feature New Video Widget front end 🎟️ DESENG-692

    • Removed unneeded tables from db
    • Updated all other met_api and met_web logic to accomodate this
  • Feature New Map Widget front end 🎟️ DESENG-693

    • Implemented Figma design
    • Fixed accessibility issue with map labels (white text on white background)

September 23, 2024

  • Feature New Hero Banner page in authoring section 🎟️ DESENG-670
    • Hooks into existing AuthoringTemplate component for form submission
    • Added new fields for hero banner content
    • Added image upload functionality
    • Added layout components for engagement authoring form fields

September 18, 2024

  • Feature New Video Widget front end 🎟️ DESENG-692

    • Implemented Figma design
    • Created custom layover bar for videos that shows video provider and has a custom logo
    • Transcripts will not be implemented at this time
  • Summary page in authoring section 🎟️ DESENG-671

    • Streamlined data loaders and actions to account for page changes
    • Updated data structure so that summary data is pulled from engagement table
      • Added 'description_title' column to engagement table

September 12, 2024

  • Feature New Summary page in authoring section 🎟️ DESENG-671
    • Fetches values
    • Saves values to database
    • Returns success and error messages to user after form submission
    • Resets form dirty state after submission

September 9, 2024

  • Feature Add image widget 🎟️ DESENG-689
    • Added a new "ImageWidget" widget type in the API
    • Image widgets can have a title, optional description, uploaded image, and optional alt text
    • Added image widget option to the engagement authoring wizard
    • Added image widget display for the engagement view page

September 3, 2024

  • Feature New authoring content section 🎟️ DESENG-668
    • Implemented authoring side nav
    • Implemented authoring bottom nav
    • Implemented authoring section context
    • Added skeletons for the required sections

August 28, 2024

August 27, 2024

  • Task Upgrade to Node v20 🎟️ DESENG-682
    • Upgraded deployment / CI configs to reference Node v20

August 22, 2024

  • Task Merge engagement summary content and custom content 🎟️ DESENG-676
    • Combine the text and rich content fields from redundant types SummaryContent and CustomContent and store them in the existing EngagementContent table
    • Update the API to handle the new content structure
    • Todo: Update the frontend to properly leverage the new content structure and allow editing of the simplified content type

August 21, 2024

August 15, 2024

  • Feature Add engagement configuration summary 🎟️ DESENG-667

    • Added a tabbed layout to the new engagement view page
    • Added a new "Configuration" tab to display the engagement's configuration details
      • The other tabs are blank for now, but will be filled in future tickets
    • The configuration tab allows navigating back to the engagement configuration page
    • Improvements to how engagements and related resources are fetched and saved
  • Feature New engagement authoring view tab 🎟️ DESENG-674

August 13, 2024

August 8, 2024

  • Feature New engagement details page 🎟️ DESENG-666

  • Old engagement details page still available under "old-view" route

  • Feature Implement UX designs for engagement creation wizard 🎟️ DESENG-663

    • Implemented the new design for the engagement creation wizard
    • Added a new "Step" component to handle the wizard's steps
    • Added a new "SystemMessage" component to display system messages
    • Made engagement configuration form reusable for an edit engagement flow
    • Added a new "EngagementWizard" component to handle the entire wizard

August 6, 2024

  • Hotfix Fix styling issues with the new admin header - 🎟️ HOTFIX
    • Fixed an issue where page widths above 100% were causing the header to become misaligned
    • Fixed a z-index issue with the tenant selector on mobile

July 31, 2024

  • Feature New footer (public and admin) 🎟️ DESENG-662
    • Implemented new footer design for desktop and mobile viewports.
    • Addressed some issues with z-index between footer and side nav.

July 30, 2024

  • Feature New admin header 🎟️ DESENG-660

    • Added a new API endpoint to fetch a list of a user's tenants, required for the new header
    • Redesigned the admin header to match the new design system
    • Added a new dropdown to the header to allow users to switch between tenants
    • Added a user menu, which for now only contains a logout button
    • Added a "drawer" view for the tenant switcher and user menu on mobile
  • Task Update Contributing guide, pull request template 🎟️ DESENG-651

July 25, 2024

  • Feature New admin navigation 🎟️ DESENG-661
    • Implemented new admin navigation design for desktop and mobile viewports.
    • Implemented additional accessibility for admin navigation

July 17, 2024

  • Feature Admin authoring experience - language selector 🎟️ DESENG-657

    • Created loader for engagement creation wizard
    • Created language selector field in engagement creation wizard
  • Hotfix Fix MET-web CI build errors 🎟️ DESENG-665

    • Update the npm install command in CI for the web app to use --legacy-peer-deps, resolving a dependency issue that was causing the build to fail

July 16, 2024

  • Feature Add user management to engagement authoring wizard 🎟️ DESENG-656
    • Added new UI component to handle searching, selecting, and displaying users
    • Minor tweaks to existing wizard functionality
      • Minor backend change: don't throw error when setting an engagement's slug to its current value
  • Feature Rerouted engagement components to use useRouteLoaderData instead of making direct calls to services. 🎟️ DESENG-643
    • Authorized engagement listing page is now working, complete with filter, search, and pagination
    • Authorized view engagement is fully working with widgets
    • Authorized edit engagement is fully working (including custom data)
    • Authorized create engagement is mostly working, with the exception of edit updates
      • TODO: Users should be redirected to edit page once engagement is created
    • Unauthorized homepage is working with engagements

July 11, 2024

  • Feature Add the existing engagement form fields to the engagement authoring wizard 🎟️ DESENG-655
    • Added fields for the existing data (engagement title, dates, internal/external, public slug)
    • Create button is now enabled when all required fields are filled
    • Users are redirected to the old form after creating a new engagement
      • (clicking "edit" on an existing engagement also brings you to the old form, as usual)
  • Some extracurricular work:
    • Created a reusable component to warn users when they're about to navigate away from the page while editing content
    • Adjusted theming throughout the app to reduce the number of places where colors are defined
    • Updated to the latest version of @mui/x-date-pickers and adjust existing components where necessary

July 10, 2024

  • Feature Add a skeleton page for the new engagement authoring wizard 🎟️ DESENG-654
    • Users are taken to the new page when pressing the "create engagement" button.
    • This route will be updated in future tickets to include the full authoring wizard, and will eventually replace the old authoring flow.

July 9, 2024

  • Task Add data router features to survey pages DESENG-642
    • Remove "ActionContext" files and fetches to survey service
    • Replace with SurveyLoader on the survey parent route that creates survey data promises
    • Restructure survey pages to use <Suspense> / <Await> for data loading
    • Add useBlocker() call to the survey authoring and survey submission pages to prevent users from navigating away from the page while in the middle of creating or submitting a survey

June 28, 2024

  • Task Improve screen reader support for home/engagement search page DESENG-617

June 27, 2024

  • Bugfix Fix tenant landing page 🎟️ DESENG-635
    • Fixed an issue where the tenant's uploaded banner would appear in the position of the BC Logo instead of the banner
    • Renamed columns within the DB and app to more accurately describe their purpose

June 26, 2024

  • Feature Redesigned Engagement Cards & added Suggested Engagements to the engagement page 🎟️ DESENG-634
    • Redesigned the engagement cards to match the new design system
    • Added a new section to the engagement page to display suggested engagements
    • Engagement cards now take you to the "new look" route
    • Tweaks to the engagement list page layout
    • Minor tweaks to the engagement view page layout

June 24, 2024

  • Feature Add a new survey block to the engagement page 🎟️ DESENG-633
    • Added a survey block to the new engagement page matching the designs from UX
    • The survey block displays side-by-side with the second widget of the engagement
    • The survey block is not displayed if there is no survey and no second widget
    • Customized the rich text editor/display to render links and h2 elements using the correct components
    • Transitioned many new design system components to rely on Material theming for colors and typography, allowing for areas with dark backgrounds to have light text and vice versa
    • Moved useLoaderData() calls to within smaller components to reduce prop drilling, improve readability, make it easier to test components in isolation, and make it easier to create skeletons for loading states

June 19, 2024

  • Feature Add a new tabbed content view to the new engagement page 🎟️ DESENG-632
    • Added a new tabbed content view to the new engagement page
    • Tabs are pulled from the engagement's summary and custom content sections (to be revisited when redoing authoring flow)

June 18, 2024

June 17, 2024

  • Feature Add engagement description to the engagement page 🎟️ DESENG-631
    • Display engagement description on the new engagement page
    • Display first widget of the engagement beside the description
    • Limit text editor to remove disruptive formatting options

June 11, 2024

  • Feature Add new header to "new look" engagement page 🎟️ DESENG-630
    • Added a new hero image to the new engagement page
    • Added a header overlaying the hero image
      • The header uses the sponsor name, CTA message, and CTA URL from DESENG-629, as well as the engagement title, dates, and status
    • Added new engagement status chips for use in the header
    • Added link from the old engagement page offering the option to preview the new engagement page
    • Added global width limit to the public view to avoid display issues on very wide screens
  • Task De-duplicate link code and only use <Link>s from the common/Navigation module

June 10, 2024

  • Feature Add new fields for use in "new look" design 🎟️ DESENG-629
    • Added the fields sponsor_name, cta_message, and cta_url to the engagement model
    • Added Sponsor Name, Call To Action, and CTA URL to the engagement form
    • Added basic validation for the new fields

June 6, 2024

  • Feature Add a new engagement view page 🎟️ DESENG-636
    • Added a new page to view engagements using the new look for MET
    • The page is available at /gdx/new-look/[name]/[language]
    • The page is a work in progress and will be updated in the future
  • Feature Use createBrowserRouter insead of <BrowserRouter> in the App component 🎟️ DESENG-627
    • Updated the App component to use the more flexible createBrowserRouter function instead of the component
    • This enables the use of data router functionality and other advanced features in the future, most notably the Blocker component
    • Added the AutoBreadcrumbs component to the common components library, which will be used to generate breadcrumbs based on the current route
    • Updated the Tenant Admin pages as a proof of concept
      • Tenant Admin pages now use the AutoBreadcrumbs component to generate breadcrumbs based on the current route
      • Tenant Admin pages use data loaders to fetch data from the API instead of relying on a state or context
      • Tenant Admin pages use useBlocker() to prompt for confirmation from users navigating away from the page when they're in the middle of editing a form

June 3, 2024

  • Bugfix Patch button styles (follow-up to 🎟️ DESENG-583)
    • Fixed button styles to match the design system
    • Removed state management overhead from the Link component

May 30, 2024

  • Feature Remove web components 🎟️ DESENG-616
    • Removed web components and all code that references it
  • Feature Remove EAO process widget 🎟️ DESENG-626
    • Removed EAO process widget
    • Added migration file to remove EAO process widget attached to any existing engagement

May 29, 2024

  • Bugfix Null in the public URL 🎟️ DESENG-625
    • Removed language from URLs other than engagement/survey links
    • Fixed the issue of null appearing in public URLs
  • Feature MET split out tenant specific variables from locale files 🎟️ DESENG-612
    • Replaced tenant based values with data from tenant detail API

May 27, 2024

  • Feature MET translation file keys used on pages needing translation 🎟️ DESENG-611
    • Removed Tenant based translations from langauge files
    • Set TODO statements to replace tenant related values from backend
    • Splitting translations based on language files and added a common translation file for items common across all languages
  • Bugfix Global Focus State (UXD) 🎟️ DESENG-583
    • Worked on components to match the design system and support new colors
    • Implemented focus states across public pages and components

May 23, 2024

  • Feature Finish tenant management UX 🎟️ DESENG-605, 🎟️ DESENG-606
    • Added a new tenant detail page
    • Added a form for filling out tenant details
    • Added a new tenant creation page
    • Added a new tenant edit page
  • Feature Add design system components to common components
    • Added Table components, DetailsContainer, and Detail for layout
    • Reworked button components to match the design system and support new colors
    • Reworked modal components to match the design system
    • Reworked image upload component to match the design system
    • Added new form components that align with the design system
  • Bugfix Security issue with email verification 🎟️ DESENG-618
    • Removed verification token from the response object
    • Updated the test to reflect the change
  • Bugfix Add try catch block around snowplow call 🎟️ DESENG-621
    • Added a try catch block to all snowplow calls

May 22, 2024

May 21, 2024

May 16, 2024

  • Bugfix Replace Material Icons with Font Awesome 🎟️ DESENG-608
    • Replaced Material Icons with Font Awesome for all icons for which we had a mapping
    • Noted a few icons for which we did not have a mapping and those have been added to the ticket

May 14, 2024

  • Bugfix Add language code to email links 🎟️ DESENG-579
    • Added a language code to email template links so that they point to a valid page again
    • The system tries to determine the language from the user's browser, but if it can't, it defaults to English
    • A future, larger refactor could allow us to remember the user's language preference and always use that

May 13, 2024

  • Bugfix Date shown on rejection email preview is incorrect 🎟️ DESENG-597
    • Fixed the date formatting issue and using the end_date in the email preview
    • Updated unit tests
  • Feature Create role for metadata management 🎟️ DESENG-603
    • Implemented a new role named "manage_metadata" within the Admin group to restrci access for metadata management
    • Updated the frontend to restrict access to the "metadata management" link in the menu for users without the newly added role
    • Backend changes to incorporate the new role for access control purposes, ensuring only authorized users can perform metadata management actions

May 10, 2024

  • Bugfix Language picker should only appear on engagements with more than one language 🎟️ DESENG-575
    • Allow for the web app to see if there are available translations by language
    • Disable language switching itself for now until design decisions are made

May 9, 2024

  • Feature [Engagement Filtering UXD] - Public | No Results Message 🎟️ DESENG-586
    • Added a new no results page to display to users when their search term(s) and / or filter(s) returns no engagement results on landing page.
    • Contact information is developed but hidden currently as this was the approach requested in the ticket till the contact information is decided.
  • Feature Added the initial version of the tenant listing page 🎟️ DESENG-592
    • The page lists all tenants in the system
    • Functionality to view or create individual tenants is still under construction
    • Began work on adding new components from the MET component library, with high reusability in mind

May 8, 2024

  • Feature Add font awesome to MET web 🎟️ DESENG-543
    • Added font awesome to MET web.
    • Created .npmrc file to set the registry for fontawesome
    • Updated github actions to pull fontawesome auth token from github secrets

May 7, 2024

  • Feature Ensure users can belong to more than one tenant 🎟️ DESENG-478
    • Tested users can belong to more than one tenant.
    • Overide the default tenant filter for staff_user table to check with user_group_membership table.

May 6, 2024

  • Feature Auto-populate question descriptions 🎟️ DESENG-596
    • Upgrading the version of met-formio to version 1.0.15-rc1. This version has the changes to have a default description for the form components. The changes were pushed to met-formio by the PR: bcgov/met-formio#25.

May 2, 2024

  • Feature Added a new landing page for tenant management 🎟️ DESENG-591
    • The page will be updated to list and manage tenants in upcoming tickets.

April 30, 2024

  • Task Dagster ETL error DESENG-599
    • Upgrading the version of python to 3.12 for dagster user code
    • Upgrading the dependencies to support the version of python.
    • Fixing a bug on survey etl service.
  • Feature Add Super Admin role 🎟️ DESENG-557
    • Added a new role, SUPER_ADMIN, to MET.
    • The SUPER_ADMIN role has the highest level of access in the MET application.
    • The SUPER_ADMIN role can perform all actions in MET, including actions in other tenants.
    • The role can be only be assigned through the single sign-on (SSO) service.
    • This overrides any other permissions set, e.g, a Viewer user who gets the super_admin role will have all the permissions of a normal super admin.
    • Change the React app's admin role to SUPER_ADMIN (previously CREATE_TENANT).
    • Force all UI elements to be enabled for the SUPER_ADMIN role.
    • Added unit tests for the new role, and updated an existing test related to cross-tenant access.

April 29, 2024

  • Task Upgrade python to 3.12 DESENG-466
    • Upgrading the version of python to 3.12
    • Upgrading the dependencies to support the version of python.
    • Modify code as needed if the newer version does not support the former.

April 22, 2024

  • Task Openshift - Update the buildconfig for the MET-cron job runner 🎟️ DESENG-559
    • Versioning now uses the openshift.io namespace
  • Task In-app role management DESENG-574
    • Introduced new database models to manage user roles and user-to-role mappings in the Met database.
    • Revamped the authentication validation process to rely on roles retrieved directly from the database, rather than relying solely on token-based roles.
    • Eliminated redundant or unused roles from the system.
    • Updated unit tests to to fetch roles directly from the database instead of relying on role generation from the factory and eliminated the Keycloak mock.
    • Renamed admin and viewer role.
    • Removed the usage of CSS API for role management.

April 11, 2024

  • Task Multi-language - Create engagement content translation tables & API routes DESENG-544
    • Created a new table for engagement content translations
    • Created API routes and services for engagement content translations
    • Created Unit tests for engagement content translations

April 10, 2024

  • Task Remove default taxa from GDX tenant DESENG-578
    • Removed the pre-populated taxon entries from the GDX tenant.
    • With the power of the editor interface, tenants are now expected to create their own taxon entries.
  • Task Update contributing guide for developers DESENG-475

April 09, 2024

  • Bugfix: Stop Axios from trying to be a smarty pants and sending data in a format Flask doesn't understand 🎟️ DESENG-580
    • This was preventing the filtering feature from working
    • Directly serialize any metadata filters before the request to avoid Axios's new nested object serialization
    • Deserialize it again on the Flask side
  • Task: MET Web - Some URLs not taking users to correct locations/timing out DESENG-542
    • Created authentication provider to know the logged-in state before the App component is rendered.
    • Optimized tenant identification from the url.
    • Optimized path segments identification.
  • Task: CSS Selector specificity 🎟️ DESENG-577
    • Replace the !important flag with more specific CSS selectors, specifically within dropdowns, to ensure that the correct styles are applied, and that states we have not yet designed for (e.g, complex focus states) are still styled appropriately and in an accessible manner.
    • Soon, we will be doing a more in-depth revamp of dropdowns in the app to make them more accessible and user-friendly. This helps work towards that goal.
  • Bugfix: MET Web - No save feedback unless main content tab is selected 🎟️ DESENG-541
    • Implemented notifications for successful saves across all engagement tabs.
    • Resolved issue with saving engagement summary content during engagement creation.
    • Updated tooltip on engagement content to use MetTooltip for consistency.

April 08, 2024

  • Bugfix: Submission of rejected comments 🎟️ DESENG-527
    • Fixed issue where resubmitted comments would not reappear in the queue for approval.
    • Added unit tests to ensure the issue does not reoccur.
  • Task: MET - Clean up outstanding dependabot PRs DESENG-535
    • Bump axios from 0.26.1 to 0.28.0 in met-web. Dependabot suggested this upgrade, but it required a few minor code changes.
    • Updated the type definition of the 'error' parameter to include a generic type '{ message?: string }' to handle the AxiosError response properly.

April 05, 2024

  • Task: Allow for any gov.bc.ca email to receive emails in MET's dev & test environments DESENG-533
    • Enabled dev open shift to use GC_NOTIFY api key of test which allows all email.
    • Added new env var SEND_EMAIL_INTERNAL_ONLY to allow for internal emails such as govt emails only.

April 04, 2024

  • Feature Engagement filtering - Add filtering by taxon 🎟️DESENG-445
    • Added properties to metadata taxa to allow them to be marked as filterable.
    • Added a new file filter_types.py where additional filters can be added as subquery factory functions.
    • Added a new endpoint to the API to retrieve filterable taxa.
    • Modified the search endpoint to allow filtering by metadata.
    • Added schemas, data validation and unit tests for the new functionality.
    • Updated the Metadata Management UI to allow taxa to be marked as filterable.
      • Currently, the only two filter types are chips_any and chips_all.
      • chips_any: Displays as a series of toggleable buttons ("chips"), uses the list_match_any subquery returning engagements with any of the selected values.
      • chips_all: Similar to chips_any; uses the list_match_all subquery to get only engagements with ALL of the selected values.
    • If multiple filterable taxa are selected, all the taxon filters must be met for an engagement to be returned.
    • Updated the public-facing engagement list to allow filtering by metadata taxa. This makes use of the new API endpoint to retrieve filterable taxa.
    • Added a new filter "drawer" to the listing page to hold these and any future filter types.
    • (Out of scope, but related to UX work for this ticket) Fixed a display issue with the public engagements page where engagements would not take up the full width of their grid cell.
  • Task: Keycloak Unit Tests for New CSS API Integration DESENG-508
    • Updated Keycloak Unit Tests for New CSS API Integration.

April 02, 2024

  • Task: DEV clean up DESENG-503
    • Updated deployment configurations to add new configs.

March 28, 2024

  • Bug Fix: Feedback fixes DESENG-524
    • Fixed feedback path not updating issue.
    • Fixed feedback table grid styles.

March 27, 2024

  • Bug Fix: MET - Engagement tab does not revert the filtered out data DESENG-525
    • Resetting search filter values invoke the list to reload
  • Task: Add missing unit tests for analytics api DESENG-482
    • Added unit tests for analytics API models and API end points

March 26, 2024

  • Bug Fix: Various bugs in the survey tab DESENG-520
    • Update survey components and services to fix the bugs.
      • Removed is_template and is_hidden values from autosaving to avoid the debounce function consuming it older values
  • Task: Add a custom dynamic page to engagement DESENG-501
    • Integrated new summary and custom content tabs into the engagement form, providing users with structured sections for managing different types of content, enhancing overall organization and user experience.
    • Implemented functionality to allow users to add custom tabs with a variety of provided icons, along with options to edit or delete tabs as needed, granting users greater flexibility and control over their engagement content layout.
    • Streamlined data management by transitioning content and rich content from engagement tables to dedicated content tables, while also implementing logic to automatically generate default summary and custom content upon engagement creation or tab addition, ensuring consistent content structure and user experience.

March 21, 2024

  • Task: MET Web - Replace hover & background colours DESENG-520
    • Update Table and Menu Dropdown hover colors
    • Update engagement tiles hover color.
    • Updated all white backgrounds to use css variable.

March 19, 2024

  • Task: Add poll results to results tab DESENG-513
    • Added poll results to results tab.
    • Added poll results API.
    • Added Unit tests.
  • Task: Change static english text to be able to support string translations DESENG-467
    • Implemented a language selector in the public header.
    • Incorporated logic to dynamically adjust the unauthenticated route based on the selected language and load the appropriate translation file.
    • Enhanced all public pages to fetch static text from the translation file.

March 15, 2024

  • Task: Multi-language - Create event, subcribe_item, poll, timeline widget translation tables & API routes DESENG-515
    • Added Poll answer translation API.
    • Added Timeline Event translation API.
    • Added Subscribe Item translation API.
    • Added Event item translation API
    • Added Unit tests.
  • Task Add "Results" page to engagements DESENG-512

March 08, 2024

  • Task: Multi-language - Create engagement translation table & API routes DESENG-510
    • Added Engagement translation model.
    • Added Engagement translation API.
    • Added Unit tests.

March 07, 2024

  • Task: Remove "default_values" from metadata taxa. Replace with "preset values", metadata entries that are not assigned to an engagement.
  • Task: Update authorization documentation in the API blueprint. Update metadata management to rely on normal authorization check functions.
  • Task: Clean up metadata management code and tests.
  • Task: Add endpoint for updating metadata by taxon in bulk
  • Feature: Add editor for metadata taxa (admin only). 🎟️DESENG-443
  • Feature: Add editor for metadata entries (available to anyone who can edit an engagement). 🎟️DESENG-443

March 06, 2024

  • TaskMulti-language - Create simple widget translation tables & API routes DESENG-514
    • Added Widget translation model.
    • Added Widget translation API.
    • Added Unit tests.
  • TaskMulti-language - Create survey translation table & API routes DESENG-511
    • Added Survey Translation model.
    • Added Survey Translation API.
    • Added Survey Translation tests.

March 04, 2024

  • TaskEngagement "save" enhancements DESENG-507
    • The existing "Save" button in the floating bar has been split into two distinct actions: "Save and Continue" and "Save and Exit".
    • Tabs are greyed out, and widgets are disabled until the engagement is successfully saved. A helpful tool-tip has been added to inform users that the engagement needs to be saved before accessing certain features.
    • Independent save buttons previously present in tabs, such as "Additional Details", "Settings" have been removed. Now, the floating save bar is universally employed when editing an engagement.
  • TaskMulti-language - Create language table & API DESENG-509
    • Added Language model.
    • Added Language API.
    • Added Unit tests.

February 27, 2024

  • Bug FixComments cannot be approved while reviewing DESENG-496
    • Fixed by adding a missing decorator for transactional methods.
  • TaskEnhance analytics api for Improved Readability and Maintainability DESENG-492
    • Refactor analytics-api config to harmonize its structure and conventions with met-api.
    • Ensure the sample.env file maintains consistent formatting.
    • Adjusted the component_id column size in the comment table of the met-api to resolve an error encountered during user submissions.

February 26, 2024

  • TaskModels for dynamic engagement pages DESENG-500
    • Implemented endpoints for dynamic engagement pages, including summary and custom sections.
    • Default behavior ensures that each engagement has a dynamic summary page.
    • Introduced logic to migrate existing content and rich content for engagements to the summary table.
  • TaskAdd font awesome libraries DESENG-490
    • Added related libraries to the frontend package.json.
  • TaskAdding missing unit test DESENG-483
    • Added missing unit test for components.

February 20, 2024

  • TaskUpgrade the version of flask DESENG-502
    • Performed a Flask version upgrade to version 2.2.5.

February 16, 2024

  • TaskMake a floating save/preview bar when editing engagements DESENG-498
    • Implemented a floating behavior for the save/preview buttons during engagement editing. This feature persists across all tabs but exclusively saves data for the Engagement Content tab.

February 15, 2024

  • TaskRestore role assignment functionality to MET with the CSS API DESENG-473
    • Utilize the CSS API for efficient management of composite roles. This involves the assignment, reassignment, or removal of users from the composite roles of TEAM_MEMBER, REVIEWER, IT_ADMIN, or IT_VIEWER.

February 09, 2024

February 08, 2024

  • TaskCache CORS preflight responses with the browser for a given period of time DESENG-484
    • Introduces a new configuration variable to specify the maximum age for Cross-Origin Resource Sharing (CORS)
    • Modified the CORS preflight method to utilize this newly introduced variable.
  • TaskConsolidate and re-write old migration files DESENG-452
    • Change some foreign key field to nullbale false in model files
    • Change rejected_reason_other to nullable true in submission model
    • Generated new migration file based on the pending model changes which confirmed to be valid
    • Updated Unit test of email verfication to send type to the api

February 06, 2024

  • TaskConvert keycloak groups to composite roles for permission levels DESENG-447
    • Commented out unit test related to Keycloak groups
    • Changed reference of Keycloak groups to roles
    • Commented out code related to Keycloak groups

February 06, 2024

  • Task Streamline CRON jobs DESENG-493
    • Aligned the CRON configuration and sample environment files with the structure used in the Met API.
    • Eliminated the reliance on engagement metadata within CRON jobs.
    • Implemented necessary code adjustments to seamlessly integrate with the updated CRON configuration.

February 05, 2024

  • Task Change "Superuser" to "Administrator" DESENG-476

February 02, 2024

  • Task Updated Timeline widget icons so that the circles are more consistent. 🎟️DESENG-488

February 01, 2024

January 29, 2024

  • Task Updated Babel Traverse library. 🎟️DESENG-474
    • Run npm audit fix to update the vulnerable Babel traverse library.

January 26, 2024

  • Task Poll Widget: Front-end. 🎟️DESENG-464
    • Created UI for Poll Widget.
    • Updated Poll widget API and unit tests.

January 25, 2024

  • Task Resolve issue preventing met-web from deploying on the Dev OpenShift environment. 🎟️DESENG-469
    • Remove Epic Engage-related links and update Keycloak link.
    • Remove additional authentication method.

January 24, 2024

  • Task Update default project type to GDX for all deployments by default. 🎟️DESENG-472
    • Set the default project type to GDX on all continuous deployment (CD) files.
    • Removed the option to deploy to EAO.

January 22, 2024

  • Task Poll Widget: Back-end 🎟️DESENG-463
    • Created Database models for Widget Poll, Poll Answers, Poll Response.
    • Created API to manage Widget Poll, Poll Answers, Poll Response.
    • Created Unit tests to test the code.
  • Task Add missing unit tests for met api 🎟️DESENG-481
    • Added missing unit tests for met api
    • Added unit tests for error handling for met api

January 19, 2024

  • Feature: Add metadata management to the API 🎟️DESENG-442
    • Add new models, services, and endpoints for metadata and metadata taxonomy
    • Add test coverage for new endpoints
    • Begin documenting new endpoints using Flask-RESTX
    • Add new endpoints to the API blueprint
    • Enabled pylint for flask and flask_sqlalchemy in vscode
    • Created a new "transactional" decorator to wrap model methods in a transaction that safely rolls back on error
    • Stub out frontend components for metadata management in preparation for the next step
  • Task: Continue switching staff users to db-based (rather than keycloak based) authentication

January 15, 2024

  • Task Audit for missing unit tests 🎟️DESENG-436
    • Corrected tests to execute smoothly in the local environment using development variables.
    • Established continuous integration configuration to automatically run tests upon each commit.
    • Ensured that the tests pass successfully in our GitHub test environment.
  • Task Audit for missing unit tests 🎟️DESENG-449
    • Identified and corrected failing unit test for api and web
  • Bug Fix: Fixing Form.io error when reordering Radio Button options 🎟️DESENG-446

January 10, 2024

  • Task Custom Consent per Engagement 🎟️DESENG-456
  • Task Engagement Edit Screen Reorder/Redesign 🎟️DESENG-448
    • Added new tab Addional Details and moved metadata inside that
    • Moved public url section inside Settings tab
    • Changed Engagement Details to Engagement Core
    • Removed Links tab

January 9, 2024

  • Task Improvements from Epic 🎟️DESENG-468
    • Improvements to Survey Result Tracking analytics
    • New Rejection Email Template for Closed Engagements
    • Export Format for Proponent updated to be in excel format
    • Formio Version Update
    • Enable Survey Editing for Open Engagements
  • Bug Fix: Fixing timezone issue while publishing using met cron 🎟️DESENG-437

December 28, 2023

December 11, 2023

December 5, 2023

December 4, 2023

  • Feature: .env var audit and cleanup 🎟️DESENG-414 (work finished)
    • Full rewrite of met_api/config.py
    • Sample .env files updated to capture all current settings
    • Changed many configs to use a nested dict structure
    • Changed all configs to use get_named_config() to access settings
    • SQLAlchemy now generates its url based on db settings
    • Default settings are handled more gracefully
    • Enable file-watching reloader and debugger for development environments
    • Inline documentation added in config.py
    • Removed unused settings

November 29, 2023

  • Feature: Superusers can publish engagements without attached surveys 🎟️DESENG-438

November 21, 2023

  • Feature: Started logging source url path with feedback submission. Viewable in dashboard. 🎟️DESENG-415

November 11, 2023

November 6, 2023

  • Feature: Switch MET to use Keycloak SSO service 🎟️DESENG-408
    • Switch all role-based checks on the API to use a single callback function (current_app.config['JWT_ROLE_CALLBACK'])
    • Added a configurable path JWT_ROLE_CLAIM to indicate where your SSO instance places role information in the JWT token. If your access token looks like: { ..., "realm_access": { "roles": [ "role1", "role2"]}} you would set JWT_ROLE_CLAIM=realm_access.roles
    • Explicitly disable single tenant mode by default to ensure correct multi-tenancy behaviour
    • Remove local Keycloak instances and configuration
    • Default to the "standard" realm for Keycloak
    • Use tenancy information from DB rather than Keycloak
  • Feature: .env var audit and cleanup 🎟️DESENG-414

October 26, 2023

October 19, 2023

  • Feature: Update sample .env files 🎟️DESENG-414
    • Sample .env files have been updated to reflect the current state of the project.
    • Keycloak URLs and resources now point to the BC Government's SSO service when using sample.env as a baseline
    • The met_api module has been updated slightly to consume Pathfinder SSO's API schema.
    • Remove one old production .env file with obsolete settings
  • Changes to DEVELOPMENT.md to reflect the current state of the project

v1.0.0 - 2023-10-01

  • App handoff from EAO to GDX
  • Added changelog