Skip to content

Latest commit

 

History

History
1772 lines (1529 loc) · 121 KB

CHANGELOG.md

File metadata and controls

1772 lines (1529 loc) · 121 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

  • Notable changes for users:
    • Fixed physical constants values which resulted in wrong AVG center of mass energy
    • Minor improvements to environments configuration display
      • Table is now sorted alphabetically
      • Table columns are not truncated anymore
    • Use proper configuration for CCDB synchronization period and not monalisa one
    • Added visualization of QC flags for data pass
  • Notable changes for developers:
    • Extended chart renderers:
      • both x and y can be configured as index axis
      • each bar in bar chart can have specific visual properties: color, stroke, pattern
  • Notable changes for users:
    • Prevented the QC summary color from changing to gray after more than one verification
    • Create a log when tag "Not for physics" is added/removed to a run
  • Notable changes for developers:
    • Added separate request to fetch non-verified flags when calculating QC summary
    • BKP process do not crash anymore when database crash
  • Notable changes for users:
    • Store phase shift for runs at start and stop for both beams 1 and 2
    • Display mean STF size and data rate per FLP
    • Store nanoseconds of environments transitions
    • Environments with bookkept: false in configuration are not stored
    • Users can only press "copy to..." button when the clipboard is available. Otherwise, they will see a message explaining the reason.
    • Store timestamps of first and last TF per runs in bookkeeping
    • Display colliding bunches and luminosity on fills details page
  • Notable changes for developers:
    • First and Last TF timestamps are regularly fetched and sync from CCDB
  • Notable changes for users:
    • Fixed gRPC API not updating run LHC period
  • Notable changes for users:
    • Added filtering by not-bad percentage of data according to GAQ
    • Added button for setting skimmable production
    • Added column to Runs Per (skimmable) Data Pass page with toggle elements for marking runs as ready/not ready for skimming
    • Environments with status "DONE" are now considered to be ended
    • Extract missing data from environment configuration:
      • nEpns
      • LHC period
      • run type
  • Notable changes for developers:
    • Added API for setting skimmable data pass
    • Added API for fetching and setting ready_for_skimming flag for runs
    • Removed failing alpine package from Dockerfile
    • Fixed gRPC API for service LhcFill.getLast
    • Store XSection, trigger efficiency & acceptance, phase shift at start and end
  • Notable changes for users:
    • Fixed log creation for detector EoR reason
    • Fixed defining skimmingStage in ML synchronizer
  • Notable changes for users:
    • Format properly FLP statistics
    • Removed colour of deleted productions.
    • Added status history columns to overview of data passes
    • Removed GLO column from runs views
    • The info from previous shifter field in eos report creation is now readonly
    • Added runs filtering by INEL and mu values
    • Added switch for changing Interpretation of MC.Reproducible flag type between bad and not-bad what affects QC summary display
    • Added display of synchronous QC flags
    • Added page with overview of synchronous QC flags
    • Per fill delivered lumi and colliding bunches can be defined
    • Fixed formatting of TF/CTF file size/count in run details
    • Extract user that start/stop runs from kafka message
    • FLP hosts list is now properly extracted when consuming ECS new run message
    • Create a log entry when DETECTOR is chosen as EoR reason
  • Notable changes for developers:
    • Added filtering by INEL and mu values to runs API
    • Added API for fetching synchronous QC flags
    • Added API for fetching QC summary of synchronous QC flags
    • Fixed randomness of one of GAQ overview tests
    • Removed notion of Dpl detectors from QcFlag creation and setting GAQ detectors
    • Added filtering by GAQ not bad data fraction to runs API
  • Notable changes for users:
    • Fixed unnecessary splitting of GAQ periods
    • Format properly FLP statistics
  • Notable changes for developers:
    • Fixed calculation of timestamps which define gaq_effective_periods, so only flags of detectors which are defined in global_aggregated_quality_detectors are taken into account for the calculation
    • Added filtering by INEL and mu values to runs API
    • Added API for fetching synchronous QC flags
  • Notable changes for users:
    • Updates some of the headers from the FLP Statistics table from run-details page
    • Improved the way numbers are displayed in the FLP Statistics table from run-details page
    • Improved labels for some of the run-details page and their value to improve readability of the numbers
    • Adjusted run's detectors creation to work only with physical detectors
    • (Unused) Subsystems have been removed
    • Several improvements to environments:
      • Add PENDING, MIXED, DONE possible status for environments
      • Handle unknown environment status
      • Make environment timestamps store milliseconds to properly handle history state ordering
    • Min/max length of text inputs is now displayed and invalid values are correctly outlined
    • Toggle button on lhc overview page to show either all lhc fills or only ones with stable beam
    • GAQ:
      • Added GAQ flags overview for data passes
      • Added GAQ summary to Runs Per Data Pass view
      • Added form for choosing GAQ detectors
    • Fixed QC flag origin display on details page
    • Added property skimmingStage to data pass entity
    • Added logic to ML synchronizer to recognize skimming stage of given data pass if it applies
    • Implemented sorting of runs by runNumber
    • Infologger links from run overview includes environment id
    • RC daily template:
      • Updated p2info to P2INFO tag in rc daily template
      • Sort runs to be checked in ascending order in RC daily template
      • Added EMC to list of detectors in RC daily template
    • Consume ECS kafka messages to get runs and environment information
  • Notable changes for developers:
    • Subsequent test runs don't run npm ci unless there are changes to package-lock.json
    • Fixed usage of transaction in run creation
    • No coverage output in console of test runs, less cluttered
    • Uniformized enums: all are frozen objects in dedicated files, named in PascalCase with properties in CAPITAL_SNAKE_CASE
    • Use new logging interface from WebUI
    • Refactored DplDetector service to work upon Detectors
    • Added mcReproducible property to QcFlagType adapter
    • Change order of foreign key constraints creation for run_detectors table
    • GAQ:
      • Added endpoint for fetching GAQ detectors
      • Added missing associations to GAQ flags
      • Added alphabetical sorting to GAQ detectors fetching method
      • Fixed migration file adding default GAQ detectors
      • Fixed GAQ overview tests
      • Added API for fetching GAQ summary
      • Added 'gaq' role to (dev) UserRoleSelectionModel
      • Restricted setting GAQ detectors to 'gaq' role
      • Extracted GAQ detectors related logic to separate service and controller
    • Replaces docker-compose command by docker compose
    • Updates files name as per docker requirements: https://docs.docker.com/compose/project-name/#set-a-project-name
    • default value for tokens is set to expire after 7d (7 days). This will not impact prod deployments as value is configured on deployment
    • Changed valid data pass name regex to include skimming productions
    • Added logging of QC flag deletion
    • Added Anonymous to users seeder and QC flag with origin to QC flags seeder
    • Added column skimming_stage to data_passes
    • Fixed several typos in the project
    • Removed Dpl detectors provider
    • Fixed async run-detectors active columns factory utilisation
    • Removed toredown_at information from environment
    • Enviroment raw configuration is handled as JSON
  • Notable changes for users:
    • Allow filtering tags in log creation and run edition
    • Fixed bug with QC flag deletion introduced in #1638
  • Notable changes for developers:
    • Added methods for fetching QC flags in GAQ periods
    • Added npm command npm run docker-test:parallel to run the tests in parallel
  • Notable changes for users:
    • Fixed incorrect values of run coverage in QC summary
    • Added handling of QC summary calculation for runs with missing timestamps
    • Fixed bug with QC flag creation when run's timestamp is missing
    • In RC daily meeting template, logs, fills and magnets are now fetched between 4PM the day before and 4PM today. The runs stay from noon to noon.
    • Added API for setting GAQ detectors
  • Notable changes for developers:
    • Fixed randomly failing tests for Runs Per Data Pass Page
    • Separated tests environment into individual docker instances to run tests in parallel
  • Notable changes for users:
    • Replaced previous display for missing verifications with warning icon displaying information tooltip
    • Changed display of Add QC button in QC summary to take all available space
    • Added navigation to ECS active environments and for running runs:
      • from run details page
      • from run overview page
      • from environments details page
      • from environments overview page
    • Added special display for Limited Acceptance MC Reproducible in QC summary
    • Changed QC summary colours palette to match bookkeeping standards
    • Added possibility to save raw configuration when creating an environment
    • Display a new tab in environments details to show raw configuration
    • Added ADJUST beam mode option for on-call log template
    • Format properly fill start and duration in RC daily meeting minutes template
    • Fixed runs to check display to be in a panel as the other inputs
    • Marked data passes deleted from ML with green color and icon
  • Notable changes for users:
    • Added c++ client to set trigger counters for a run
    • Improved RC daily template:
      • Display fills on one line
      • Display only fills with stable beams
      • Exclude the EoS report from the logs list in RC daily meeting minutes template
      • Display only physics runs
      • Display the runs list as pre-filled editable markdown input
    • Display run period in LHC fill display page
    • Disabled QC for runs which are tags as Not for physics and marked such runs in RunPerLhcPeriod view
    • Fixed bug of popover not being placed in the right position when using browser zoom
    • Fixed popover not being resized when filtering drop-down options
    • Fixed popover not being properly resized along cross axis when using browser zoom
    • Fixed popover not being properly clipped when overflowing along cross axis
  • Notable changes for developers:
    • Added runs' filtering by aliceL3Current and aliceDipoleCurrent
    • Removed default URLs from services config
    • Removed randomness of two QC flags creation tests
  • Notable changes for users:
    • Adds 2 decimals display to plots of LHC Fills statistics
  • Notable changes for developers:
    • Adds new C++ pipe for creating qc flags for detector and pass
    • Does not crash bookkeeping if kafka fails
  • Notable changes for users:
    • Added a new tab in runs details to display trigger counters table
    • Disable sorting reconstructedEventsCount and outputSize on DataPasses overview pages
    • Added iconBan to RCT runs overviews in case there is no QC flag assigned to detector and user has no permission to add one
    • Added gRPC interface to create/update trigger counters
    • Changed display of Bad runs in Runs per data/simulation pass views and disabled QC management for them
  • Notable change for developers:
    • Several improvements has been done on frontend suite:
      • Set default navigation timeout to 5s
      • Set default timeout (except for navigation) to 1.5s
      • Removed waitForNetworkIdleAndRedraw and improved tests incorrectly waiting for navigation
      • Replaced checkMismatchingUrlParam by easier to use function expectUrlParams
      • Removed function validateElement and replaced its calls by native waitForSelector
    • Refactored ML client to fetch data passes data n CSV format
    • Refactored ML synchronization to work with lastSeen instead of lastRunNumber
    • Factorized QC flags breadcrumbs
  • Notable changes for users:
    • Ordered magnets input Dipole first then solenoid in RC daily meeting template and SL EoS report
    • Added inputs for magnets configuration of noon the day before in the RC daily meeting template
    • Added description tooltip for tags in run details
    • Normal inputs (runs, fills, tags etc) can now be filled for the RC daily template log
    • Added requirement for users to have sufficient roles (per detector) in order to manage (create, verify) QC flags
    • Allow the creator of QC flag to verify it
    • A tooltip has been added to inform user about the expected unit in run duration filter
    • Fixed missing current environment state on overview page when error state occurred
  • Notable change for developers:
    • Frontend tests suites are now independent the one from the others
    • Dependabot will not create PRs to update eslint to 9.x
    • Added c++ API for QC flags creation
    • Fixed randomness of waitForDownload in tests
    • Updated the cxx API to not mention deleted proto API
    • Added model and an endpoint to fetch all trigger counters for a given run
  • Notable changes for users:
    • Fixed the error thrown when updating environment through gRPC API (Fix was not properly done in 0.89.1)
  • Notable changes for users:
    • Fixed the error thrown when updating environment through gRPC API
  • Notable changes for users:
    • Added filtering to Run Per Data Pass
    • Fixed DPL detectors order
    • Added QC summary legend to Runs Per Data/Simulation Pass overviews
    • Allow create multiple QC flags at once
    • Allow create QC flag specifying data pass name or simulation pass name
  • Notable change for developers:
    • Repeated fields in proto files are now properly handled
    • Breaking changes in c++ library:
      • Removed proto bookkeeping API
      • Moved DPL process registration to non-proto API
      • Remove Get runs functions
    • Added the gRPC API to create QC flags
  • Notable changes for users:
    • QC Flag deletion now requires confirmation via browser prompt.
    • QC Flag deletion button is disabled if a flag is already verified.
    • Button to reset a filter is now always present at the top of the filter panel.
    • Adds horizontal-scroll for table on runs-with-detectors view.
    • Add QC Summary display for data and simulation passes.
    • Displays DPL detectors in alphabetical order with the exception of 'GLO' always at the front.
    • Fixes a bug in which the creation of QC flags for GLO detector was failing.
    • Improves display of RCT links as badges.
  • Notable change for developers: N/A
  • Notable changes for users:
    • Log overview loading time has been improved:
      • Before: ~5.5s to load 10 logs out of ~85000
      • After: ~60ms to load 10 logs out of ~85000
    • Author and tags are now included in the LHC fill details page
    • RC daily meeting log template now have tags RC and p2info
  • Notable change for developers:
    • Added DPL process registration to api client not exposing proto
  • Notable changes for users:
    • Placed RCT entry point directly in navigation bar
    • Changed QC flag delete button access to admins only
    • Added runs counts for simulation pass overview
    • Added data passes counts for simulation pass overview
    • ALICE efficiency computation now uses mean weighted by stable beam duration
    • Removed missing trigger start/stop warning if trigger is OFF
  • Notable change for developers:
    • Run optional properties are now optional in proto file
  • Notable changes for users:
    • Added possibility to filter out runs that contains any of the given tags
    • Added input inelastic interaction rate values in run details page and RCT runs overviews
  • Notable change for developers:
    • Added possibility to set visibility of detail component configuration based on the current item
  • Notable changes for users:
    • Removed spurious detectors from Runs Per Data Pass and Runs Per Simulation Pass pages
    • Removed Id input from QC flag creation page
    • Added QC flag creation panel
    • Minor visual improvements of QC flags creation page
    • Added QC flag creation for simulation pass
    • Added QC flag details page
    • Added QC flag delete button
    • Fixed QCG links to include runType and detector
  • Notable change for developers:
    • Added QC flag deletion API
    • Added verifications to QC flags API structures
    • Added QC flag verification endpoint
  • Notable changes for users:
    • [BREAKING CHANGE] All the HTTP API routes are now private, thus needing a token to be accessible
    • Added anchored MC counts to Data Pass per LHC Period view
    • Added QC Flag Types overview page
    • Fixed resetting of beamType filter in LHC period overview
    • Added Data Passes per Simulation Pass page
    • Added Runs per Simulation Pass page
    • Added QC Flag Type creation page
    • Fixed log creation inputs having incoherent heights
    • Fixed log reply displaying oversize left panel
    • Fixed LHC fill number not being filled when creating a log from run details page
    • Links to QCG has been added to runs overview and runs details
    • Fixed link to infologger not including run number from run details
    • EoS report can be created at the end of night shift even if switch to/from daylight saving time has been switched during the night
    • Added QC flag overview pages
    • Added id input for QC flag type creation
  • Notable change for developers:
    • Refactored DataPassService - removed sub queries
    • Added dev dependency: 'date-and-time'
    • Added frontend testing methods: expectColumnValues and checkColumnValuesWithRegex
    • Merge similar errors for MonALISA Synchronizer to prevent logs flood
    • Replaced docker-compose by docker compose everywhere
    • Configuration endpoint is now private
    • Moved sort model declaration to generic overview model (frontend)
    • Removed redundant test suite call
    • Added QC Flag types endpoints:
      • create
      • update
    • Added QC Flag endpoints:
      • create
      • fetch by id
      • fetch all
  • Notable changes for users:
    • Fixed spurious runs being marked as stopped few seconds after their creation, and same for envs
    • Added log creation template for RC daily meeting
    • When clicking any infologger link, only severity warn, error and fatal are displayed
    • Added formatting to following columns in Data Passes view:
      • Output Size
      • Reconstructed Events
    • Fixed issue in which lhcPeriodName was not being saved in Bookkeeping
  • Notable change for developers:
    • Use observable data for detectors provider
    • Added QC flag types fetching by id endpoint
    • Added fetch all QC flag types endpoint
    • Added tests for no-anonymous toggle in logs overview
    • Added column-specific class to every table cells to be used in tests to fetch the content of all the cells of one column
  • Notable changes for users:
    • Fixed fill statistics not being displayed in fill overview
    • Environments are now linked to eos reports
    • Added simulation passes counts to MC buttons on LHC Periods overview page
    • Autofill environments when creating a log from either the environments or runs page
    • Added an easy to reach no-anonymous toggle in logs overview
    • Added Simulation Passes per Data Pass view
    • Magnets input in SL EoS report now require date
    • Spurious title has been removed from overview tables
    • Title option has been removed from table utility, because it was used mostly to display overflowing data, now handled by overflow baloon
    • Fixed statistics input displaying error with valid values
  • Notable change for developers:
    • Extracted a state-full controlled date input component, to simplify its use and make its model optional
    • Add endpoint serving DPL Detectors list
    • Extracted a magnet filling input
    • Title option has been removed from table utility, because it was used mostly to display overflowing data, now handled by overflow baloon
    • Fixed setting value of date time input with minutes granularity
  • Notable changes for users:
    • Fixed run quality being sent in patch even if it has not been updated
    • Display errors when update run fails
    • Unicode characters are now properly handled as file attachment
    • SL EoS report now include the three shifter's logs
    • Added Simulation Passes per LHC Period view
    • Remove TST detector from Runs Per Data Pass and LHC Period views
    • All PHYSICS runs are displayed on Runs Per Data Pass view, regardless of their online quality
    • When replying to a log, the environment id and lhcFill numbers are autofilled from their parent
    • Automatically add tags when filling on-call template
  • Notable change for developers:
    • Add procedure for fetching and storing in DB Simulation Passes from MonALISA
    • Removed wait for timeout longer than 1s from tests
    • Add constraint on inserting data from MonALISA - only PHYSICS runs association are stored now
    • Added Simulation Passes API
    • Added new endpoint for fetching root logs only
    • Added new endpoint to fetch fills ended in the given period has been added
    • Added new endpoint that uses a log id to fetch it's child logs
    • Refactor LhcPeriodStatisticsService and DataPassesService in order to remove subqueries
    • Added waitForTableDataReload method for testing with puppeteer
    • Use breadcrumbs for Runs Per Data Pass page title and tooltip to display error
    • New default method expectInputValue, does the same as expectInnerText but then for values instead of innerHTML
  • Notable changes for users:
    • A log template for on-call has been created
    • Improved formatting of on-call logs
  • Notable change for developers:
    • All dependencies has been added to the bundle dependencies
  • Notable changes for users:
    • Physics runs filter toggle has a more consistent behavior:
      • Enabling it will set the run definition filter to PHYSICS runs only
      • Disabling it will disable run definition filtering
      • Enabling more than one run definition in filter or disabling all the run definition filtering will disable the toggle
    • Fixed application of filtering to runs export
    • Added Runs Per Data Pass view
  • Notable change for developers:
    • Allow compiling c++ api with gcc 13.2
    • Seeding does not throw validation error if you already visited the application before seeding
    • Refactored RunsOverviewModel to use OverviewPageModel
    • Fixed typedefs for RunsOverviewModel
    • Fixed environments tests randomly failing on SQL fetch sorting
  • Notable changes for users:
    • Uniformized LHC fill number column (in LHC fill overview) to be uniform with other tables and provide links to infologgers
    • Improved filtering on run number in runs overview to use like if there is only one run number (45 will match 45 but also 345, 456, 3456 and so on, but 45,46 will match exactly 45 and 46)
    • The DPL tasks tree will now display "NO DETECTOR" when no detector has been found, and tasks are ordered alphabetically
    • Task type information is now displayed after the process type name in the DPL tasks tree
    • Added a new table "LHC Fills" providing information about stable beams to the home page
    • Logs table in the home page now displays exclusively non-anonymous logs
    • Optimized the amount of information displayed in each table of the home page
    • Added page to display Data Passes Per LHC Period
    • Fixed the environments overview page crash
    • Improved the columns width and order in the environment overview
    • LHC period page styles has been unified with other pages
    • Fixed popover balloon being displayed on every detectors list in runs
    • Fixed the border for detector quality being cropped by overflow hidden
    • Added possibility to specify a color for tag, which is applied where tag badge is displayed
    • Added file preview to attachments in log display and creation for some specific files types (images and text-based files)
    • An info icon with legend has been added to overview table to explain environment history acronyms
    • Display data passes counts on LHC Periods page
  • Notable change for developers:
    • Use generic overview page model in LHC Periods model
    • Removed dead code from chart library
    • Added filtering on environment fetching API: current status, status history and related runs
    • Overflow balloon now also trigger on vertical overflow
  • Notable changes for users:
    • Overview of runs now show quality by using a line under them in green/red
    • The link to details page from run overview page do not include all the run info anymore
    • Environment id is now written in white in the environment overview
    • Fixed links of attachment in log tree
    • Added a button in runs overview to filter on PHYSICS
    • Added the possibility to filter logs to remove anonymous
    • Fixed LHC info that disappeared after saving the run in RunDetail
    • Added counts of runs associated with given LHC Periods on LHC Periods page
    • The statistics page now contains a histogram which displays the most frequent environment history combinations and their occurrences within a given timeframe
    • Changed existing environment status acronyms in accordance to the RMreportW29_2023
  • Notable change for developers:
    • Added possibility in run update proto request to specify user that started and user that stopped the run
    • The GetAllLogsUseCase now supports simultaneous inclusion and exclusion filter parameters for the author filter
    • Added Data Pass Service (MonALISA)
    • Added a service to fetch data passes from MonALISA
    • Added a few new env variables in config.ServicesConfig
    • Added a service to schedule processes and applied it to the existing handling of lost envs and runs
    • Created a reusable overview page model and applied it on LHC fills page
    • Fixed race condition on c++ API on RHEL 8
    • Added filters on environment API to filter on ID
    • Use scheduled process manager for synchronisation with MonALISA
  • Notable changes for users:
    • Added run per Period view
    • The run number filter has been put back in place after being accidentally removed
    • Fixed error displayed when deleting environment filter on logs overview
    • A margin has been added between the popover and the screen edges
    • Missing dates on the LHC overview pages are now shown to the user as '-' instead of 01/01/1970 01:00:00
    • The LHC Periods page filter button is now styled in the same way as other pages
    • Clicking in popover keep the scroll in place
  • Notable change for developers:
    • Refactored LogsModel, extracted overview to separate class
    • Created separate model for Home page
    • Reduce number of request of RunsOverviewModel
    • Added getOrCreate function to UserService replacing the CreateOrUpdateUser use case and cleaned the user authentication code
  • Notable changes for users:
    • Tag details logs list now has a pagination
    • LHC Data is hidden when the beam mode is not stable
    • Removed spurious rendering on chart hover
    • Fixed time input clear re-render
    • More rows (up to capacity of page) is displayed on LHC Periods page by default
    • Minor user-interface improvements readability for the LHC Fill table
    • Added a line in efficiency chart to display mean efficiency on the period
    • Replies are now tallied not only for the primary log but also for its associated child logs.
    • The number of replies is now displayed on every log overview page, extending beyond just the log entries page.
  • Notable change for developers:
    • RemoteDataFetcher has been split in RemoteDataSource and ObservableData
    • Removed the remnants of the FLP Log implementation that was broken and disabled
    • Removed test cases that were testing non-existent FLP functionality
    • FLP API tests have been fixed and re-added to the API test suites
    • A new stateful component has been created to create components that can trigger re-rendering without depending on the model
    • extract Runs Overview model
    • refactor createRunsExport
    • refactor Runs Overview Page
    • remove unnecessary call when loading log-overview
    • /api/tags/:tagId/logs now allows for pagination parameters as in offset, and limit values
  • Changes made to the database:
    • Added index on runs.lhc_period_id in order to boost performance for LHC Period page
  • Notable changes for users:
    • Replace nav bar LHC Fills tab with LHC dropdown with two options:
      • LHC Fills
      • LHC Periods
  • Notable change for developers:
    • A script has been added to update Dockerfile dependencies automatically
    • Filter panel now uses popover
    • Added an option to GetAllLhcFills to filter on stable beams
    • use only one method in model to toggle nav bar dropdowns
  • Notable changes for users:
    • Added EoR reason chart
    • run-detail page use runNumber instead of runId as run identifier, using runId is still possible but not recommended
    • Fixed the run order in LHC fill API when some of the runs have EoR reason
    • User can now choose the date range on which statistics must be applied, using a time picker with pre-defined options
    • Fixed misbehaving in chart fill conditions
    • add LHC Period overview page from RCT and the corresponding API
    • existing endpoints which used :runId, use :runNumber now instead
    • endpoint GET /api/runs/:runId moved to GET /api/legacy/runs/:runId
    • change links id in https://github.com/AliceO2Group/Bookkeeping/pull/1240/files#diff-90f47b96a0752a7ea8dbe41825baf3804e1228ab28f024b599524e0d0ea2c551R47-R49, because of test failure after adding LHC Fills as pageLink
    • A time range picker has been created
    • Updated the way docker compose is started
    • formatTimestamp function now properly display 0 timestamp value
    • refactor docs: scalar types to lowercase
  • Notable changes for users:
    • Only admin is authorised to create and delete tags
    • Added tag occurrences in logs chart
    • Added link to ali-flp main page visible as button with text - 'ALI FLP'
    • Added parent log entry display when replying to log
  • Notable change for developers:
    • Chart system has been improved to allow easily display bar charts
    • Extracted two utility functions isInTestMode and isInDevMode to factorize configuration
    • Added runToHTTPView function to handle introduced differences of entity Run
    • Added LhcPeriod sequelize model
    • Refactored log-related components
  • Changes made to the database:
    • add table lhc_periods, replaced column runs.lhc_period with run.lhc_period_id (reference to table lhc_periods)
  • Notable changes for users:
    • Fixed broken infologger run link
    • A second input field is visible to filter runs. This input is visible in the main overview screen without opening the filter tab.
    • Added endpoint to fetch detectors efficiency
    • Efficiency graph vertical axis is forced between 0 and 100%
    • Fixed bugs in chart renderer:
      • Fixed popover staying displayed when cursor moves out of the graph
      • Fixed graph not updating in some specific conditions
    • Run API allow filtering on calibration status
    • Fixed display error when displaying chart with empty data
    • Detectors efficiencies graphs has been added
  • Notable change for developers:
    • Improved formatPercentage to use normalized values ([0, 1])
    • Chart axis limits can be overiden
    • remove dead code (/api/runs/endpoint)
    • update runs related usecases
  • Notable changes for users:
    • Infologger links has been added in run overview, run details, environment overview and environment details
    • Fixed the misbehaving time between runs graphs
    • Fixed the popover of tag description not being displayed after filtering
    • Fixed tag picker glitch when unselecting then selecting a tag
    • Popover can now be opened in any direction relatively to the trigger
  • Notable change for developers:
    • Fixed infinite selector failing tests
    • Deleted useless controllers (exposing only routes returning 501) and the corresponding routers:
      • AuthController
      • CreatepdfController
      • OverviewController
      • SettingsController
      • UsersController
    • use newer docker compose syntax instead of legacy docker-compose
  • Notable changes for users:
    • Added time between runs histogram
    • Display EoR reason in runs table in LHC fill and environments details pages
  • Notable changes for users:
    • Added horizontal lines in front of axis ticks
    • Weekly data size graph is now available in statistics page
    • Mean run duration graph is now available in statistics page
    • Fixed popover misbehaving when cursor moves from child element to parent element
  • Notable changes for users:
    • An endpoint has been added to fetch all the logs for a given LHC fill
    • Added a tab in LHC fill display to show all the related logs
    • Added endpoint to fetch all the logs for a given environment
    • Added a tab displaying the logs of a given environment in display view
    • An icon with tooltip has been added to tag pickers to display description
    • Fixed the alignment of chart tooltip
  • Notable changes for developers:
    • QueryBuilder is now provided by a factory method in DataSource class
    • Transaction wrapper is now provided by DataSource class
    • Popover is rendered outside its trigger to not be limited by overflow
  • Notable changes for users:
    • LHC fill details statistics rely on stableBeamsEnd as end of run, not stableBeamsStart + duration
    • A button to create a log is now available in LHC fill details page
    • Run edition justification inputs are now visually similar to other inputs
    • Fixed bug for filtering tags using "or"
    • Added possibility to filter runs on updatedAt for /api/runs
    • Editing run quality from none to good or test is now possible without justification
    • A button has been added to create log for a given environment
  • Notable changes for users:
    • Changing the DETECTOR run quality will require input from user as justification for the change.
    • Changing the GLOBAL run quality will require input from user as justification for the change.
  • Notable changes for users:
    • Removed the dupplicate LHC fill input in the log creation page
  • Notable changes for users:
    • Logs can now be assigned to environment
    • Logs can now be filtered by environment
    • Related environments are displayed in the log tree view
    • Logs can now be assigned to LHC fill
    • Logs can now be filtered by LHC fill
    • Related LHC fill are displayed in the log tree view
    • Bug of calibration runs not being registered has been fixed
    • Statistics graph display efficiency in %
    • Statistics graph have axis labels
    • Where runs have detectors without qualities, they are shown as being a different colour to detectors that weren't included in the run
    • Fill statistics now also include fills without runs
  • Notable changes for developers:
    • Graphs library handle display of axis labels
  • Notable changes for users:
    • End of Shift reports are pre-filled with information from the previous shifter
    • Fixed the efficiency graph tooltip value display
    • Calibration runs can now have a calibration status assigned defined
      • A log is created when calibration status goes from/to failed
    • Show 'Number of EPNs' as 'ON' if nEpns not defined on Run Details page and Run Overview page
    • Efficiency graphs points size have been increased
  • Notable changes for developers:
    • Added an adapter for lhc fills to logs
    • Added API route for adding environments to logs
    • API route for logs accepts filtering on environments
  • Changes made to the database:
    • Added a table, migration, and seeders for the log_lhcFills table, enabling a many-to-many relationship between logs and lhc fills.
    • Added calibration_status column to runs table
  • Notable changes for users:
    • DPL processes executions can be inserted concurrently in bookkeeping to help with processing thousands of requests from QC at a time
    • End of Shift reports are pre-filled with information from the previous shifter
    • Added a statistics page that displays efficiency statistics as a graph
    • When the log tree view page is displayed for single logs with no replies, the button now shows 'Collapse all' by default
    • Removed Active Filters bar on Run Overview page and Log Overview page
    • Run Overview page no longer has Data Distrubution column
    • EPN columns on Run Overview page are combined to show either the number or 'OFF'
    • In the runs overview, the EOR reasons are displayed and runs can be filtered on it
    • Further improves the style of the log details page
    • Adds feedback to the user when the log link is successfully copied
    • The about page now includes information and status of services including the Bookkeeping gui and the database.
  • Notable changes for developers:
    • A library has been created to render line-charts based on d3
      • Line chart display a tooltip with dataset's values on point hover
    • Adds a primary button component to the common component library
    • Adds more tests on the log details page
    • Refactored the log component to share common code between expanded and collapsed logs.
    • An endpoint to fetch LHC fill statistics has been added
  • Changes made to the database:
    • Two views has been added: one view representing overlap between runs and lhc fill and one view representing lhc fill statistics
    • Added environment table to link logs to environment
  • Notable changes for users:
    • Run details page shows all detectors as grey (not present) or green/red (good/bad quality)
    • Use dropdown to filter run types in Run Overview page
    • int64 in proto files are casted to javascript numbers, not BigInt (be careful with overflow)
  • Notable changes for developers:
    • Runs filtering has been separated from runs fetching to easily add relations in endpoints to fetch a list of runs
  • Notable changes for users:
    • Run numbers and LHC period columns are wider on runs overview to improve readability on small screens
  • Notable changes for developers:
    • Readout counters are now unsigned bigints
    • gRPC server controllers can now handle bigints
  • Changes made to the database:
    • Readout counters are now unsigned bigints
  • Notable changes for users:
    • A gRPC endpoint to insert DPL process executions has been added, and it has been implemented in the gRPC c++ library
    • Fixed the COSMICS run filtering, now correctly allowing for undefined beam
    • When replying to a log, the reply title is the same as the parent and is not modifiable
    • Added HTTP endpoint for DPL processes:
      • An endpoint to fetch all DPL processes that have been executed on a given run and detector
      • An endpoint to fetch all the hosts on which a given process has been executed for a given run & detector
      • An endpoint to fetch all the executions of a given process, on a given host for a given run & detector
    • In environment overview page, the full line of environments that has been to error at some point are displayed in red
    • The list of executed DPL processes are now available in a new tab in run details page
    • Fix the visibility of environment details badges
    • An icon has been added to environment overview to highlight environments that have been to error but are not in error anymore
  • Notable changes for developers:
    • A reusable component has been created to display tabbed components
    • The run-details page has been reworked to use the new tabs system
  • Notable changes for users:
    • Adds total TF size display to LHC fill details, renamed 'total CTF' to 'total CTF size'
    • Environment status in overview page is now colored according to the status
    • Hints has been added on some of the EoS reports form fields
    • A button to create EoS report has been added to the permanent top-bar of the application
    • The DCS EoS report is now available
    • A new gRPC enpoint has been added to fetch the last LHC fill
    • The total TF size is now displayed on LHC fill details page
  • Notable changes for users:
    • The SLIMOS automatic EoS report has been added
    • A firt version of the Shift Leader automatic EoS report has been added
  • Notable changes for developers:
    • The model to store DPL processes has been created
    • A flag has been added to enable housekeeping, which for now consists in cleaning lost runs & environments
    • Logs ended and environments transitionned to error by housekeeping script are now logged
  • Notable changes for users:
    • Every 30 seconds, bookkeeping check on AliECS GUI the active environments and their runs, and transition to error lost environments and set timeO2End of lost runs
  • Notable changes for users:
    • Runs will be definied as Definition PHYSICS only if they include both detectors FT0 and ITS. This change will also apply to previous runs
  • Notable changes for users:
    • QC/PDP EoS report now includes the following tags: QC-PDP shifter, QC, PDP, EoS
  • Notable changes for users:

    • Shift endpoint can now provide QC data
    • The EoS report generation API endpoint now support QC EoS report generation
    • The semi-automated QC/PDP EoS report has been added
    • LHC fill display now include total CTF size for good physics runs
    • File size are now displayed in GB in run details and LHC fill details
  • Notable changes for developers:

    • Use new headless chrome for pupeteer tests
    • Updated Docker ca-certificates dependency
  • Notable changes for users:

    • Reply logs do not appear in EoS report anymore
    • Bug of LHC fill overview infinite scroll missing data has been fixed
    • The tag update access has been reestablished
    • Detectors are now sorted alphabetically in run overview & details and lhc fill details in runs tab
    • Fixed bug which reseted the input data of EoS report's shifter name when clicking in it while it is focused
  • Notable changes for developers:

    • Dockerfile git version has been updated
    • The rbac middleware now split the list of user roles if it is a string considering it as being a coma separated list
    • In seeders, tag ids for ITS and FT0 has been swapped so that id sort is in the reverse way of alphabetical sort
    • Adds the GH option to allow for manual triggers on release job
  • Notable changes for users:

    • EoS report now have the related runs linked to it
    • The current user is used as author of EoS report log
    • Search inside dropdown selection is now case-insensitive
    • Run duration is now displayed in EoS report
    • Shifter name can be modified in EoS report form
    • The issues summary block has been removed from the EoS report
    • The time to fill EoS report after the end of shift is now 30min (previously 2h)
  • Notable changes for developers:

    • Adds dependabot configuration so that it can check monthly for new versions of plugins that Bookkeeping uses with GH actions
    • Chromium has been updated to 112.0.5615.165-r0 in Dockerfile
  • Notable changes for users:
    • Adds a new page for End-of-Shift(EOS) report generation which retrieves and build a report and allows users to modify before saving it
    • Allows users to search by content of a log
    • Allows admins to add tag description which is displayed then in tag-details
  • Notable changes for users:

    • EOR reason is now reverted when reverting the operation of editing details of a run
    • Runs overview columns do not overlap anymore on small screens
    • When editing a TAG, logs displayed in the tag table are not visually disappearing anymore
    • Filtering on tags is now done using a dropdown tag picker
    • CALIBRATION definition will now look for NOISE as runType as well
    • A new endpoint has been added to gRPC API (with its c++ implementation) to fetch a run details by its runNumber
  • Notable changes for developers:

    • Cleaned run detail models (edition)
    • Refactored run edition
    • Tag model has been refactored, extracting details-related code has been moved to a separated sub-model
    • Tags used in picker and dropdown now comes from a separate provider, not from model
  • Notable changes for users:
    • A popover is displayed in place of * and ** for run start/stop/duration with missing triggers
    • When displaying a log tree, the log selected in the URL is expanded by default
    • Runs are now clickable in environments overview and logs overview
    • Fixed the date of log creation for detectors/runs quality change
  • Notable changes for users:

    • cxx API's documentation has been fixed
    • A log is created when detector quality changes, and tags depend on which detector is concerned
    • A new run quality none has been added
    • Emails formatting has been improved in tag display page
    • Physics runs quality is not set to good automatically when ending runs anymore (revert [O2B-777])
    • An environment details page has been added
  • Notable changes for developers:

    • Packages used by the local docker stack has been upgraded to comply with alpine linux 3.17
    • Local stack node has been upgraded to new LTS 18
    • Tests runs locally do not have the coverage report displayed anymore
    • Database connection is retried every 5 seconds on failing (before running migrations)
    • Environment states are now stored in an history table
    • NotificationService now passes logIdand parentLogId as well
  • Notable changes for developers:
    • Timeout for connection to the database has been temporarily removed
  • Notable changes for users:

    • Physics runs automatically have a 'good' quality when they ends
    • When creating or updating a run, if related detectors and run type do not exists, create them
    • Detectors quality can not be updated for not ended runs
    • Add a gRPC endpoint to update FLP readout counters
    • COSMICS run definition condition on beam_mode updated to also allow for missing values
    • Add run types CALIBRATION_PULSE_LENGTH and CALIBRATION_VRESETD
    • Fixed linking to runs in FLP creation
  • Notable changes for developers:

    • Reset database at the beginning of each API test files
    • The Flp naming has been uniformized to FlpRole, and the relation is a one to many between Run (1) <--> (n) FlpRole
  • Notable changes for users:

    • Log runs filter applies on run number and not on run ID anymore
    • An icon has been added to outline the detector's quality
    • OpenAPI has been removed, and with it all the auto-generated Go and c++ plugins
    • Detectors are now sorted in the run's detector filter
    • FLP proto creation request expect a hostname instead of hostName
    • LHC fill GET endpoint returns the fill with all its runs, and not only the physics ones
    • LHC fill display page now have tabs to display all the runs or physics ones ony
    • Tags can now be marked as archived by administrators, and those tags can not be linked to new runs or logs
  • Notable changes for developers:

    • A general architecture documentation has been added
  • Notable changes for users:
    • A log is created when run quality change, and DPG and RC tags are added for good<->bad quality change only
    • Run's detectors are sorted alphabetically in run details
    • No more errors when ECS creates logs through gRPC
    • Fixed bug where text selection was canceled on mouse up after page switch
  • Notable changes for developers:
    • Tests were added for the run detectors quality edition
  • Notable changes for users:
    • Fixes an issue in which clicking on an attachement link would not open/download the file
    • Introduces run quality per detector which allows users to modify the run and specify the quality for each detector on top of the current general run quality;
    • Adds restriction to not allow general run quality to be changed unless the run has ended;
    • Improves filtering by detector in RunsOverview page by adding checkboxes instead of free input box
  • Notable changes for developers: none
  • Notable changes for developers:
    • GRPC endpoints have been added in parallel of the endpoints available through the Go API (the GO plugin will be removed in a future release)
  • Notable changes for developers:
    • Fixed the detectors table fill migration to handle runs with empty or null detectors list
  • Notable changes for users:

    • Synthetic run definition is less restrictive on readout_cfg_uri, it simply needs to contain replay and one of pp or pbpb
    • There is no more links that refresh completely the page and discard user configuration
  • Notable changes for developers:

    • updates new log create service to use the SequalizeUser parameter rather than the one from LogAdapter
    • Docker tests may be run in parallel to docker run
    • gRPC API has been created (see docs to know how it works and how endpoints can be added)
    • All links are now frontLink, which are handled by the frontend router
  • Notable changes for users:

    • Adds a new run definition CALIBRATION for runs that do not match any criteria
    • Adds a new feature which allows the user to see how many entries in a table (runs, logs, etc.) match their filtering;
    • Improves the display of run dates times on home page table in one line
    • Improves Log creation tag selection: it now displays all the tags and outlines the already selected ones
    • Improves run definition for COSMIC to:
      • require COSMIC(S) run_type and renames it to COSMICS
      • require beam_mode as NO BEAM
    • Improves run definition for PHYSICS to check stable beam interval
    • Improves run definition for SYNTHETIC to remove the restriction on pdp_workflow_parameters
    • Improves run definition for CALIBRATION to include runs with run_type of one of CALIBRATION_, PEDESTAL, LASER, PULSER
    • Improves notification for run quality change to:
      • only notify on change from good to bad and the other way around
      • add information on who and when the changes was made
    • Fixes a bug which did not link the run to an environment properly
    • Fixes a bug in which fields which contained value "0" would be displayed as null rather than "0"
    • Fixes infinite scrolling across all tables
  • Notable changes for developers:

    • Picker (front component) has been improved to make it more configurable
    • Overview pagination has been uniformized on every pages
    • Some UseCases have been reworked to be more reusable and their implementation has been extracted into services (their signature did not changed)
    • Rework adapters to be class instances and not only static methods, thus making them able to depend the one on the other recursively
  • Notable changes for users:
    • Added extra run fields for ccdb in the run details
  • Notable changes for develops:
    • RUN Definitions criteria can be found DEFINITIONS
    • Runs API:
      • GET
        • startOfDataTransfer, endOfDataTransfer, ctf, tf, other file size/count are added to the run object.
      • PATCH
        • startOfDataTransfer, endOfDataTransfer, ctf, tf, other file size/count are added to update run by run number.
    • Added a loading icon when log overview is loading
    • Fixed infinite requests when moving to homepage from logs/runs overview
    • Fixed Trigger Value displayed as active filter if any filter is active on run overview page
    • Run start/stop on the home screen is now consistent with the run overview page.
    • Add CALIBRATION run definition
    • Pagination limits is now of 1000 items in GUI and 5k in the API and export
  • Notable changes for developers:
    • Some entities and sequelize models have typedefs to help autocompletion, code navigation and refactoring
  • Notable changes for users:
    • Efficiency per detector and Time between runs are now displayed on LHC fill details
    • UX improvements on displaying and calculating run_duration based on o2 time/date values when trigger time/date values are missing
    • Replying to a log will inherit the log's tags, run numbers and title
    • Filling filters for log overview will not automatically remove whitespaces on typing
    • A toggle in user actions is present to display timestamps as unix timestamps instead of local dates
    • Accents are now handled in file names
  • Notable changes for users:
    • Fix synthetic run definition computation
    • Fix fill efficiency on LHC fill overview
    • Run definition is now displayed on run details page
    • Detectors can be filled in any order in run overview filters
    • Visual improvements to log creation page
    • Run types are now added and can be filtered. The type for a run is shown in the details page.
    • Runs
      • Run duration values:
        • Is based on the trigger when it exists
        • Is based on o2 start/stop when trigger does not exist and is displayed with an Asterisk
        • Is based on o2_stop - o2_trigger_start when there is a trigger start but there is no trigger_end; this is displayed with 2 Asterisks;
  • Notable changes for developers:
    • Balloon system is now a global popover system, not limited to content overflow
    • Runs API:
      • GET Runs API
        • runDuration New logic to generating a time stamp:
          • Is based on the trigger when it exists;
          • Is based on o2 start/stop when trigger does not exist;
          • Is based on o2_stop - o2_trigger_start when there is a trigger start but there is no trigger_end;
        • runTypes Run types can be fetched by id or overall.
        • runTypes Run types are added to a run, this can be an id or object depending on how the endpoint is set.
      • POST
        • runType A run type in a string can now be given when starting a run or updating a run.
      • PATCH
        • runType A run type can be given to a run to update it. A new type will be generated if it does not exist.
  • Notable changes for users:
    • Environment overview page now loads in a normal time
    • Only administrators as defined in CERN Application portal can create and edit tags
    • definition is now available in run overview's table and filtering
    • Fixed table bug when row ids of multiple tables were the same and in the same order
    • Fixed log creation display bug when doing log creation => any page => log creation
    • LHC fills runs list are limited to physics runs only
    • Fixed LHC fill detail page cleanup
    • Fix the environment overview switch to infinite mode when changing page
    • Fixed log detail page cleanup
  • Notable changes for developers:
    • Runs API:
      • GET
        • definition Can now be fetched in runs and a specific run.
    • Table system:
      • Table systems now support profiles, which allows to:
        • Display columns only under a specific profile or one of the listed specific profiles
        • Override column configuration under a specific profile
        • Apply one profile to a table
  • Notable changes for users:
    • pdpWorkflowParameters, pdpBeamType, readoutCfgUri field added to the runs detail page and can be exported.
    • Time after last run and corresponding loss has been added to fill statistics
    • Fix bug where some LHC fills had a negative time before first run (and associated loss)
    • Fix log notification not sent with logs created automatically
    • Fix bug where hovering log columns reset page to 1
  • Notable changes for developers:
    • Runs API:
    • GET
      • pdpWorkflowParameters, pdpBeamType, readoutCfgUri Can now be fetched in runs and a specific run.
    • PATCH
      • pdpWorkflowParameters, pdpBeamType, readoutCfgUri Can now be updated when updating a run.
  • Notable changes for users:
    • Tags with a length of 2 characters are now allowed
    • A notification is sent any time a log is created, not only when a log is created from the log creation page (for example auto-generated logs)
    • Main links now have a complete link behavior, such as ctrl+click to open in a new tab
    • Changing run quality will automatically create a log with the following tags: DPG and RC
    • pdpWorkflowParameters, pdpBeamType, readoutCfgUri field added to the runs detail page and can be exported.
  • Notable changes for developers:
    • Any log creation using CreateLogUseCase will send a notification, not only logs created from logs controller
    • Runs API:
    • GET
      • pdpWorkflowParameters, pdpBeamType, readoutCfgUri Can now be fetched in runs and a specific run.
    • PATCH
      • pdpWorkflowParameters, pdpBeamType, readoutCfgUri Can now be updated when updating a run.
  • Notable changes for users:
    • odcTopologyFullname field added to the runs detail page and can be exported.
    • A detail page has been created for LHC fills and is accessible from LHC fills overview, run details and runs overview. This page contains statistics about:
      • Fill efficiency
        • The fill efficiency, calculated based on the percent of time we had ongoing RUNS compared to the FILL duration during a stable beam
        • The time elapsed between the stable beam start and the start of the first run, and the percentage that this time represents compared to the total SB duration (loss)
        • The mean run duration
        • The total run duration
      • Related runs
        • Total runs count
        • Amount of runs above/under 2 minutes of duration
        • Runs count grouped by quality
        • Runs count grouped by detectors
  • Notable changes for developers:
    • Runs API:
      • GET
        • odcTopologyFullname Can now be fetched in runs and a specific run.
      • POST
        • odcTopologyFullname Can now be created when creating/starting a run.
      • PATCH
        • odcTopologyFullname Can now be updated when updating a run.
  • Notable changes for users:
    • Fixes a bug in which updating EOR reasons for a run, would change the RunQuality back to default;
    • Run LHC period, number of EPNs are now shown in the run details and can be exported via the export runs tab;
    • trgEnabled + trgGlobalRunEnabled are now shown as triggerValue and has the values OFF or LTU or CTP;
    • Notification service will now include runNumbers when used together with creating a log;
  • Notable changes for developers:
    • GET Runs API:
      • lhcPeriods Runs can now be filtered by using the lhcPeriods field. Multiple values can be used with comma seperation;
      • nEpns Runs can now be filtered by using an operator and number;
      • triggerValue Runs can now be filtered by using the triggerValues field. These values can be a string array of this enum: OFF, LTU, CTP;
    • PATCH Runs API:
      • lhcPeriod is added to endRun endpoint and for the GO openAPI the updateRun function;
  • Notable changes for users:
    • Run tags update is now integrated in the global run update
    • LHC Fill overview's run lists are now hyperlinks to the corresponding run detail page
    • A spinner is displayed in each table when data is loading
  • Notable changes for developers:
    • GET RUNS API:
      • tag filter do not exist anymore, it is replaced by tags which is the list of tags texts to filter on
    • PUT RUNS API:
      • tags can be provided to update the tags linked to the run, as a list of tag texts
    • POST RUNS TAGS API:
      • Route has been deleted
    • GET LOGS API:
      • tag filter do not exist anymore, it is replaced by tags which is the list of tags texts to filter on
    • POST LOGS API:
      • tags list is now the list of tag text and no tags ids
  • Notable changes for users:
    • Displays UNKNOWN for run duration above 48 hours, else RUNNING
    • Add fill number information on run overview page and in its filtering
  • Notable changes for developers:
    • GET RUNS API:
      • fillNumbers is a new optional filter
  • Notable changes for users:
    • Adds new fields for Run-Details
    • Fixes a bug in which infinite scrolling would not apply filters on runs & logs pages
    • Runs older than 48 hours and without a trigger end timestamp will be displayed as UNKNOWN
  • Notable changes for developers:
    • POST RUNS API:
      • timeTrgStart and timeO2Start fields are not required anymore
    • PATCH RUNS API:
      • timeO2Start, timeTrgStart, trgGlobalRunEnabled, trgEnabled, pdpConfigOption, pdpTopologyDescriptionLibraryFile, tfbDdMode are now added and optional fields.
  • Notable changes for users:
    • Adds RunDuration for Run-Overview, Run-Details and Run-Filters
    • Adds option to export the currently filtered runs from Run-Overview Page
    • Adds aliceL3Polarity and aliceDipolePolarity to Run-Details
  • Notable changes for developers:
    • GET RUNS API:
      • runDuration added as a virtual column with sequalize
  • Notable changes for users:
    • Improvements on RunFilters:
      • Numerical input now accepts operators (<, <=, =, =>, >);
      • Text inputs accept list of strings separated by commas;
      • RunQuality filter is now represented with checkboxes;
    • Tags UX improvements:
      • Tags are sorted alphabetically across the platform;
      • Tags selection is now uniform across the platform;
    • Fixes a bug in which a run entry could duplicate a runNumber;
    • Improves UX for table cells which are wider than space allows;
  • Notable changes for developers:
    • GET RUNS API:
      • nDetectors and nFLPS filter needs to provide both operator and limit for the values;
      • environmentId is now environmentIds allowing for multiple values separated by comma;
      • runQuality is now runQualities allowing for multiple values separated by comma;
  • Notable changes for users:
    • Improves Run-Overview page to better display information;
    • Improves usability of LHC Fills page;
    • Bug fixes for systems with no tags;
  • Notable changes for users:
    • Introduces support for AliECS - End Of Run - Reason;
    • Introduces support for LHC Fills Data;
  • Notable changes for developers:
    • Adds new eor_reasons and reason_types SQL tables and migration scripts;
    • Adds new lhc_fills SQL Table and migration scripts;
    • Adds API routes to retrieve lhc fills data individually or collectively;
    • Adds API routes to retrieve eor reasons data individually or collectively;
  • Notable changes for users:
    • Introduces support for AliECS environments;
  • Notable changes for developers:
    • Adds new Env SQL Table and migration scripts
    • Adds a new page to display all environments
    • GET /api/environments && GET /api/environments/:envId - Adds API routes to retrieve environments data
    • POST /api/environments && PUT /api/environments/:envId - Adds API routes to store environment data
    • Generates new OpenAPI GO plugin to include environments manipulation methods
  • Notable changes for users:
    • Improves UX when users would input negative filter values;
  • Notable changes for users:
    • Fixes a bug in which filters would not work due to cached date on server side;
    • Admin users can specify emails and mattermost channels at TAG creation time;
    • Fixes a bug in which admin users were not correctly identified;
  • Notable changes for developers:
    • POST /api/tags/ - Add emails and mattermost channels for a tag if user has admin privileges;
  • Notable changes for users:
    • RUN Filters Improvements:
      • Allow users to specify start and stop filters with time;
    • Admin users can edit tags by adding emails and mattermost channels;
    • Fixes a bug in which infinite mode would display duplicated data;
    • Opens log details if log tree contains one log only;
  • Notable changes for developers:
    • PUT /api/tags/:id - Update the emails and mattermost channels for a tag if user has admin privileges;
    • GET /api/tags/name - Expects a query parameter name to return one tag with specified name;
  • Notable changes for users:
    • RUN Filters Improvements:
      • Allows users to filter by DD, DCS, EPN with ON,OFF or ANY
    • RUN Exports:
      • [FIXED] - exporting a list of runs by their runNumber would not retrieve the whole list;
      • o2TimeStart, o2TimeStop, o2TrgStart, o2TrgStop converts timestamps to user friendly date formats;
    • LOG Creation:
      • [FIXED] - removes duplicated runNumbers when creating a log entry instead of throwing error;
    • TAGS Page:
      • Displays new tag information: email and mattermost groups;
  • Notable changes for developers:
    • /api/runs - listRuns - accepts multiple runNumbers for filtering;
    • /api/runs - listRuns - improves filtering for dcs, dd_flp, epn;
    • /api/tags - listTags - accepts multiple ids, texts, emails and/or mattermosts as filters;
  • Notable changes for developers:
    • Add as new feature the option to send email and mattermost log creation notification;
  • Notable changes for developers:
    • Path for storing attachments of logs is now configurable via ATTACHMENT_PATH env;
  • Notable changes for developers:
    • Adds run_quality back to validation of EndRun request to ensure backwards compatibility;
  • Notable changes for users:
    • Run Quality is now displayed in both Run-Statistics and Run-Details pages;
    • Users are now able to update the quality of a run (good, test, bad);
    • Users can filter Run-Statistics table by run quality;
    • Bug fixed in which a page would not load if a run was missing properties;
  • Notable changes for developers:
    • CPP API:
      • Adds validation of URL and API token;
      • Adds /status path;
      • Improved error and exception handling;
      • Fixed CMake config;
    • Adds migration file for run_quality column so that enum accepts test as well;
  • Notable changes for users:
    • All tables were refactored and are now fixed in width, reducing the text displayed if it is longer than the space;
    • Tables take into consideration the user's screen space and adapt accordingly on first load;
    • New log creation button placed on top of the navigation bar so that it can be accessed from any page;
    • Users are allowed to copy the content of a log;
    • "Reply logs" with no title will inherit the title of the parent log;
  • Notable changes for developers:
    • ca-certificates dependency in docker updated
  • Notable changes for users:
    • Tables from Logs, Runs and Home pages benefit of a new button More, making the tables not actionable anymore; This will allows the users to easily copy table values;
    • Fixes a bug in which users were not able to download attachments;
    • In case of no tags in the system, run filter box will now inform the user about it;
  • Notable changes for developers:
    • New API route added: status for providing information on bookkeeping and database;
    • Adds new GitHub workflow to improve release & deployment procedures;
    • Server will boot up even if database is not up and running;
    • Refactors configuration loading files;
    • Updates dependencies versions to avoid security flaws;

[0.18.0]

  • Updates dependencies versions to avoid security flaws
  • Updates Dockerfile and fixes lint issues
  • Allow users to insert replies to logs without having to specify a title
  • Updates Run Details page to make use of the unused space and display logs for the run by default
  • Updates Tag Details page to show logs for the tag by default
  • Run Filters will inform users if there are no tags created
  • Fixes a bug in which updating the tags of a run would hide the logs for the run

[0.17.12]

  • Added run filter to run-overview table [#433]#433
  • Changed verification of Title [#432]#432

[0.17.11]

  • Changes made to the database and go-api-bindings[#420]#420
    • New field to be added to the RUNS table.
      • name: detectors
        • type: SET
          • ALTER TABLE runs ADD detectors SET('CPV', 'EMC', 'FDD', 'FT0', 'FV0', 'HMP', 'ITS', 'MCH', 'MFT', 'MID', 'PHS', 'TOF', 'TPC', 'TRD', 'TST', 'ZDC');
          • ALTER TABLE runs modify detectors SET('CPV', 'EMC', 'FDD', 'FT0', 'FV0', 'HMP', 'ITS', 'MCH', 'MFT', 'MID', 'PHS', 'TOF', 'TPC', 'TRD', 'TST', 'ZDC');

[0.17.10]

  • Make /logs, /flps and /attachment routes private again [#419] #419

[0.17.9]

  • Added optional chaining to usecases.

[0.17.8]

  • updated dockerfile from version node:12.18.1-alpine3.12 to node:16.9.1-alpine3.12
  • Made api/log and api/flp public [#415] (#415)
  • log-overview changed id to runNumber [#416] (#416)

[0.17.7]

  • Added the field epn_topology. [#411] (#411)

  • Changes made to the database. Changes are registerd in the CHANGELOG.md file in the database folder.

    • New fields to be added to the RUNS table:
      • epn_topology
        • type: string

[0.17.6]

  • Add more information to run entries. [#406] (#406)

  • Hide/change existing Run Statistics fields. [#408] (#408)

  • Changes made to the database and go-api-bindings. Changes are registerd in the CHANGELOG.md file in the database folder.

    • New fields to be added to the RUNS table:

      • dd_flp
        • type: boolean
      • dcs
        • type: boolean
      • epn
        • type: boolean
    • Changed a field to another name in the RUNS table:

      • activity_id is changed to environment_id

[0.17.4]

  • Added text and made the UI more clear. Log create and run detail was unclear on how the tags were implemented. #398
  • There was a unique error that when occured it made the title repeated in create log. This was prevented with changing the create tag file. #397
  • Added an extra function that grabs all tags for the log creation page [#395] (#395)
  • When the log encouters an error and the user goes back to the page. Some fields were not reset. now all fields will be reset so the user have a blank slate to create a new log. #394

[0.17.3]

  • Bumped patch version to 0.17.3

[0.17.2]

  • O2B-410 CPP-api-client can now be updated with the unqiue combination of flpName and runNumber instead of a auto incrementend integer. [$388] (#388)
  • O2B-419 Fixed an issue where the log creation got a bug when both tag and attachment was selected. The issue was with multiform data and the way it accepts array data. #386

[0.17.1]

[0.17.0]

  • Reverted ibm-openapi-validator to version 0.44.0 in the bookkeeping/.github/workflows/openapi.yml file. Version 0.46.0 has problems with invalid configuration with validaterc. The GitHub checks for OpenApi / validate pull request would fail with version 0.46.0. However version 0.44.0 does not have this problem and the checks will pass, ready for the pull request to be merged with the master. This is a temporary solution and we should later try to fix the OpenApi/validate with the newest version 0.46.0.

0.14.0 (2020-09-18)

Features

  • Anonymous logs are now possible (#194) (93d983b)
  • Associated tags now visible on log detail screen (#193) (0eec605)

0.13.0 (2020-09-08)

Features

  • Add functionality to filter by author name (b358524)
  • Add functionality to filter by creation date (274174d)
  • Add functionality to filter by title (4e0c52e)
  • added displaying logs by subsystem (fa78705)
  • added overview and detail screen for subsystem (9ede071)
  • Added Support Forum link to profile dropdown (7c1bcd6)
  • added test files for subsystem-overview (5399a6f)
  • Rebuilt filter components to support multiple filter types through dropdowns (d251f5d)

Bug Fixes

  • added jsdoc return descriptions (b9ba9c3)
  • added log-subsystems seed (38af419)
  • added LogsBySubsystem to the index file (8aef110)
  • added subsystems to log API-source (71de72b)
  • added subsystems to the logdetail view (213adff)
  • added various syntax fixes (2f19404)
  • fixed import issue on LogRepository (e54391d)
  • fixed syntax in testsuite subsystems (dfb937a)
  • Long attachment names are now wrapped, minor CSS improvements (#180) (4ee7ed4)
  • Pagination values no longer reset when navigating away from logs overview (0c84a09)
  • Prevented run numbers overflowing beyond the log details table (#176) (a822b84)
  • Restored row ids (6ee1a3b)
  • docker: unsatisfiable constraints (cf02a6f)
  • ui: HyperMD editor not properly removed (ded9d7c)

0.6.0 (2020-06-26)

Features

  • added and updated controllers, routers, middleware and utils in server for attachments (096c27c)
  • Added attachment Adapter and repository (782cb00)
  • Added attachment dtos (002155d)
  • added Attachment model (cf0d3c4)
  • Added Attachment related DTOs and entities (ca394a9)
  • Added attachment related use cases (bae2677)
  • added attachments to openapi (f1caee7)
  • added collapse feature in generic table component (0993678)
  • added file and files to dtovalidator (b2da043)
  • Added file uploading (8fc1b8f)
  • added index on Attachment mime type (10c539c)
  • Added middleware (60833c4)
  • added middleware possibility to route builder (099ae3c)
  • added OpenID integration (267e8fe)
  • added startsWith and endsWith filter in QueryBuilder (47b3abc)
  • Added tests (bf5e660)
  • Added tests and test assets (a29555b)
  • Updated and added use cases needed for attachments (1a9fd72)
  • Updated attachment database adapter and repo (ff03b92)
  • updated attachment related routers and controllers (3bbcf99)
  • ui: added Emoji hint and autocomplete (498f8de)
  • ui: added links to Jira and GitHub in profile dropdown (be4fca8)
  • use OpenID data to link user to created logs (00afc71)

Bug Fixes

  • cleanup (55980aa)
  • cleanup of attachmentAdapter (90a1502)
  • CreateTagDto can have a token in the query (9785e7d)
  • Fixed some problems (3888955)
  • Removed useless filename from DTO (9bf91bb)
  • docker: updated unsatisfiable constraints (ee3b6ee)
  • ui: RemoteData failure can be a Framework error which are not JSON:API conform (0ecec06)
  • ui: set column width during loading of Log overview to prevent resizing (5d9f7bf)
  • tag list of a log incomplete when filtering based tags (3ad21f3)

0.5.0 (2020-06-12)

Features

  • ui: added tag filtering with AND/OR operators to the filters component (cf96571)
  • added between option for WhereQueryBuilder (d37ad45)
  • added DELETE /api/subsystems/subsystemId endpoint (0dd0c35)
  • added GET /api/subsystems/subsystemId endpoint (8e7544c)
  • added GET /api/subystems endpoint (986e7a3)
  • added JWT configuration (96cf435)
  • added markdown preview in the detail view (fe5d9d5)
  • added not option for WhereQueryBuilder (c11c37a)
  • added oneOf and allOf options for WhereQueryBuilder (a9fbb7f)
  • added POST /api/subsystems endpoint (ec08049)
  • allow AND/OR filtering by tag id on the logs endpoint (3733ae2)
  • allow deepmerging multiple objects (3495484)
  • allow users to reply on other logs (035c0bb)
  • markdown: Added the HyperMD lib locally and added a Markdown box instead of a generic textarea to the create screen (faca6e1)
  • ui: added Alice O2 favicon (a17b09b)
  • ui: added table-hover class (da23191)
  • ui: added Tag detail view screen (e508f28)
  • ui: added Tag overview screen (85c3057)
  • ui: include comma separated tags on the Log table view (aee65d7)
  • ui: redirect to overview if no tag id is provided (53d6a6f)
  • ui: scroll to the selected Log entry on detail view (7e1cb32)

Bug Fixes

  • docker: added bash to all targets (7db5ad8)
  • docker: bump ca-certificates from 20191127-r1 to 20191127-r2 (727cea4)
  • docker: updated unsatisfiable constraints (003c2f6)
  • ui: autoscrolling not completely going down on long Log threads (035b455)
  • ui: trigger scrollTo on both create and update (59c6ebc)
  • ui: use ternary instead of boolean expression as an expression wil result in a false text (e9ab282)
  • ui: width of Markdown box when creating an entry should be 100% (2271219)
  • do not call process.exit in test modus as this affects mocha (9ad965b)
  • resolved issues (eb4c1a4)
  • toTreeView should traverse all children (677377b)
  • use 201 for Created instead of 301, naming of variables (b2477d9)

0.4.0 (2020-05-29)

Features

  • Added association execution on models (e2faf43)
  • added associations on log, run and user (ea979d3)
  • Added automatic timestamps (3953877)
  • Added create log screen (8b0ff45)
  • added DELETE /api/tags/:tagId endpoint (b9aa839)
  • Added epn role model and migration (7a83ee3)
  • added Epn, FLp, Log, Run, Tag and User models (322b739)
  • Added flp role model and migration (56c2608)
  • added GET /api/logs/{logId}/tree endpoint (031899e)
  • added GET /api/tags endpoint (784c17d)
  • added GET /api/tags endpoint (7911fcf)
  • added GET /api/tags/{tagId} endpoint (b2d5f62)
  • added GET /api/tags/{tagId}/logs endpoint (f6d4918)
  • added GET /logs/{logId}/tags endpoint (b15508e)
  • added GET /logs/{logId}/tags endpoint (e9699d4)
  • added indexes on Log (e804ebb)
  • added indexes on the subtype and origin of Log (85d82c5)
  • Added log model and migration (801aaf6)
  • Added logruns and add associations migration (bf208e8)
  • added meta section to GET /api/logs (b50cc92)
  • Added more models to index (1fc6549)
  • added multiple /tags endpoints (09d8c83)
  • added OpenAPI converter (0614c25)
  • added option to configure database port (2df0905)
  • added origin filtering on /api/logs (8496133)
  • added POST /api/tags endpoint (dd4fbca)
  • added Subsystem model (91708ee)
  • added Swagger UI integration (679b153)
  • added tags (bce046f)
  • Added working log pagination (with hardcoded logs per page) (2cc3f1d)
  • allow filtering by parent log id (31b7ad9)
  • allow filtering by root log id (9b031f6)
  • Allowed user to select amount of logs per page (ba3440f)
  • overview pagination (0f0c2b9)
  • openapi: added default response UnexpectedError (d9b525e)
  • openapi: added IBM OpenAPI validator (3c66898)
  • openapi: added security scheme (21d8e76)
  • ui: added loading spinner (a56ae58)
  • Added run model and migration (a9a3daa)
  • Added tags association (8055798)
  • allow pagination on /api/logs (b7a3e5a)
  • allow sorting on /api/logs (3b574d9)
  • detail view of a Log should use the tree format (183f058)
  • ui: added width steps of 5% (2d20784)
  • Added tag model and migration (eecf12e)
  • added timezone config (3d85e16)
  • Added user model and migration (3403a4f)
  • dedicated Docker Compose for staging (3dec5cf)
  • filtering on GET /api/logs (f20dcb0)
  • Implemented a generic object-to-table mapper (7dbce76)

Bug Fixes

  • count should not include associations (d08d92c)
  • DTO validation should not abort early (d3f5b31)
  • methods of QueryBuilder should return the instance (656a009)
  • database: include charset and collate in database creation (03ce9c6)
  • database: removed unnecessary foreign key specification (3d657bf)
  • database: set migrationStorageTableName value in the configuration (d1e1c7c)
  • docker: include spec directory (12bf56c)
  • license: added missing file headers (a5d7961)
  • openapi: 404 response should not be a Bad Request (c885e52)
  • openapi: added missing request bodies (c95fb31)
  • openapi: added missing request body for POST /api/logs (400d6ec)
  • openapi: added missing request body for POST /api/tags (490c944)
  • openapi: an entity id must be atleast 1 (8035efe)
  • openapi: query parameters should have style deepObject (e2e240f)
  • openapi: switched description of LogText and LogTitle (057a3f3)
  • openapi: use $ref requesty bodies schema's (c996044)
  • ui: added viewport meta tag (2980584)
  • ui: filter limiting now working properly (e139aef)
  • ui: removed bottom margin of table (e11543b)
  • ui: table should have a header and body group (101a0fa)
  • added missing fields (ac9b3ba)
  • Added mount of scripts directory in the container (a6b7f74)
  • Added some options to user log association (0705aae)
  • Added user seeder (c867114)
  • changed capitalized drop table names to lowercase (32f3347)
  • changed user 0 to 1 (5b3ff32)
  • Cleaned seeders (8a19a44)
  • Get the headers dynamically and filter out the field not needed for the table (99a31f4)
  • Log detail no longer shows error on refresh (2194aca)
  • overview table column mapping (ba04766)
  • removed id (e80d1d0)
  • removed migration skeleton (f03a595)
  • Renamed Log.js to log.js (5b3a78f)
  • Restored filtering functionality (0df675a)
  • ui: removed bottom margin of table (8e2cfc7)
  • ui: table should have a header and body group (0ae99f8)
  • log user relation (ddd0d2e)
  • re-create database in the test environment (0aad7ea)
  • renamed model flproles to flprole (f135ee7)
  • renamed runs tablename (71d6a93)
  • restored original casing of userid in the Log adapter (4430ee1)
  • snake_cased table names (97d1a26)
  • user_id cant be 0 (830f1b3)
  • wrong arg use (6963305)

0.3.0 (2020-05-08)

Bug Fixes

  • Added executable permission on docker build script (2299c2d)
  • addressed bug that brought down code coverage (9d6608f)
  • Addressed bug which would cause log detail page to fetch every log entry (2a87b58)
  • database should use UTF-8 encoding (344c1c9)
  • Fix the mapping error (x is undefined) in the detail view (60eda29)
  • route error handler should distinguish between async and regular functions (5bbd025)
  • use try catch to return instead of Promise catch (7373267)
  • docker: added missing node_modules volume (cce1233)
  • docker: production compose should expose port 80 (302c745)
  • docker: wait for database to be up (c6c3fd7)
  • spec: use relative instead of absolute server url (90d7cb8)
  • test: test should only start the application once (df16d2d)

Features

  • added Application interface (3c3b488)
  • added Configuration (57655be)
  • added count method to Repository (d8319b5)
  • added CreateLogUseCase (5e24f73)
  • added Database interface (fdf97e2)
  • added dedicated test database (0e905a5)
  • added GetDeployInformationUseCase (eac217f)
  • added isInTestMode method to Application (e56c70d)
  • added Log adapter (fed335a)
  • added Log model and repository implementation (be96df7)
  • added Logger interface and implementation (015859b)
  • added population sql (cc1d9b5)
  • added Sequelize CLI (d45658b)
  • added Sequelize database (a5d80b8)
  • added Sequelize migration (bcdfb40)
  • added Sequelize seeder (b3301c7)
  • added Structure package (ca7dcc6)
  • added TransactionHelper (4649722)
  • implemented graceful shutdown process (0088052)
  • mount MariaDB data directory on host (11f0e56)

0.2.0 (2020-04-24)

Bug Fixes

  • docker: production compose should expose port 80 (302c745)
  • docs: markdown depth (a30cbb6)
  • Added code for coverage compatibility in the tests (8301188)
  • Added licenses (fd0a064)
  • Adjusted in indent in Model.js (e80ae57)
  • Changed the structure of the tests and added an empty line between methods in Overview.js (ce16582)
  • Extended timeout on the filter test (2ae6781)
  • Fixed appendPath utility and its test (334d4c2)
  • Fixed deepmerge in appendPath utility (2d51a70)
  • Fixed indentation (4fc26d6)
  • Fixed jdoc in controllers and routes (ca86375)
  • Fixed linting erros (d201276)
  • Fixed route argument inheritance issue (a8134fd)
  • Fixed the compatiblity issue with Firefox (70b7d1a)
  • NGINX does not yet have a production configuration (94955e1)
  • Removed the tags header, added comment in the start-dev script for its purpose (2424e0b)
  • Renamed tag and user controller to be a bit more verbose (b0de0c6)
  • route /tag is not plural (efecacd)
  • starting the application via NPM not Node (860b5ab)
  • starting the application via NPM not Node (8d444a9)

Features

  • Added appendPath to route builder (d3d3ebd)
  • added appendPath utility (9a740ad)
  • Added attachment endpoint (dfba079)
  • Added auth endpoints (39066f8)
  • Added createpdf endpoint (724f854)
  • Added deepmerge dependency (e854ac3)
  • Added deepmerge wrapper (0e1ea71)
  • Added detail screen (e0bc9e3)
  • Added flp endpoint (6f0c890)
  • added GetAllLogsUseCase (64eeb62)
  • added GetServerInformationUseCase (c368b20)
  • Added logs endpoint (dc85779)
  • added Nginx integration (0d7868a)
  • Added overviews endpoint (57b64bb)
  • Added reusable table components and start on the mock table with static data (e899de4)
  • Added routerBuilder (995f8a1)
  • Added runs endpoint (8e1c15a)
  • Added settings endpoint (1b03bf7)
  • Added subsystem controller (7564524)
  • Added subsystems router (521c828)
  • Added tags controller and route (00866d1)
  • Added tests (a7e1047)
  • Added user controller (c0a5f75)
  • Added user route (4b3506d)
  • Added utils index (8cffbbd)
  • allow Framework to override interfaces (623181d)
  • Codecov integration for backend (032ea1c)
  • ESLint integration (c86b116)
  • GitHub actions integrations for backend (db06cb3)
  • GitHub actions integrations for frontend (d5dd04f)
  • GitHub actions integrations for spec (db62696)
  • Got filtering working, reflects on the actual table now (5b56dcc)
  • Upgraded appendPath utility (40f366b)

0.1.0 (2020-03-03)

Features

  • added Nginx integration (fb27bef)
  • added Nginx integration (0d7868a)
  • Code coverage reporting to Codecov (42ebcee)
  • Codecov integration for backend (032ea1c)
  • Continuous Integration using GitHub actions (9939709)
  • ESLint integration (9ce0624)
  • ESLint integration (c86b116)
  • GitHub actions integrations for backend (db06cb3)
  • GitHub actions integrations for frontend (d5dd04f)
  • GitHub actions integrations for spec (db62696)