v1.1.0
Within this first minor release since CADRE's major release, we've added Terms of Service acceptance tracking and fixed a number of bugs.
Matej Mitrev, 17 Mar 2025
Commit 009e479
General
- [Removed] Help page (
/help
) no longer exists and has been removed from the sidebar. - [New] Replaced the Help page with a link to the documentation site.
- Fixed and adjusted the placement of the title of a DSR resource and text styling on resource hover.
Notifications
- Fixed a bug where comment notifications would not show all comments relevant to the user.
- Fixed a bug where invitations that were revoked before the user had accepted were still being displayed as a pending notification.
- Added an 'Incoming' filter under comment notifications to hide/show self-authored comments.
- To improve clarity for self-authored comments within your comment notification, these comments will explicity say 'Written by yourself' instead of 'Read' or 'Unread'.
Login Page
- [New] On successful log-in into CADRE, users are presented with the terms and conditions in using the application. Entry into the application is only permitted after acceptance of the service's terms and conditions.
- [Removed] All help content such as explaining the acronyms has been removed.
- [New] Added a 'Getting Started' section to explain how to use CADRE and how to create your first application.
Dashboard Page
- For requests with an expiry date, added a expiry message to the slider that is absolutely positioned at the bottom right of the slide.
- Hovering over the expiry time shows the expiry date
- Fixed a bug where the training alert under the 'Todo' list would not always show on the dashboard.
- Fixed the render logic for the 'Todo' list.
Training Page
- [New] All external partner training is now rendered on this page so users can see which trainings are associated with their own identity.
- The page has been renamed from 'Trainings' ('/trainings') to 'Training' ('/training').
Search Resource Page
- [New] Users can no longer create applications for resources which they have a pending application for. In action, this means that any DSR that is currently in 'DRAFT', 'RETURNED', and 'SUBMITTED'.
- Fixed a bug where the searchbar autocomplete would incorrectly render and would show duplicate search results.
Resource Application Page
- [New] If the user already has a pending application, the page will gracefully fail showing an error messaging explaining that they cannot create applications for resources which they have a pending application.
- Help page link has been replaced with a link to the external documentation website.
My DSRs Page
- For requests with an expiry date, added a expiry message next to the state of the request.
- Hovering over the expiry time shows the expiry date
- Fixed a bug where the state 'Returned' showed up twice when filtering the requests by state.
View DSRs Page
- [New] The 'Duplicate Application' button will not allow creation of applications for resources which have a pending application.
- Button will be disabled for applications which are currently in 'DRAFT', 'RETURNED', and 'SUBMITTED'.
- For requests with an expiry date, added a expiry message below the request status.
- Hovering over the expiry time shows the expiry date.
- Fixed a bug where if an email field was typed as
email
and nottext
, user's emails were not autofilled. - Fixed a bug where new comments from yourself would not be automatically marked as read.
- Fixed a bug where the new comment form would not reset the form fields after completion.
- To improve clarity for self-authored comments within the Communication section, these comments will explicity say 'Written by yourself' instead of 'Read' or 'Unread'.
- Fixed a bug to correctly disable illegal access expiry dates.
- Fixed a bug where comments files would not show their filenames.
- Fixed a bug where the root comment files folder could render as a leaf, thus preventing it being opened.
- Comment attachments are now opened in a new tab when downloading.
- Relabelled the 'Cancel Access' button to 'Cancel Approval' for clarity.
- DSR Applicant information is requested on page load rather than on open of the applicant information expander. This will mean quicker load times to see applicant information.
- External partner training is now rendered under the applicant's information when accessing a submitted application. Only relevant external partner training information is shown for the given resource.
- The expander chevrons icons have been reduced in size for page uniformity.
- The
Submit
button will now be disabled when there are hanging invitees to the DSR. - Fixed a bug where DSRs could be submitted even when all members of the DSR have not accepted the terms and conditions.
Review DSRs Page
- The 'Stage' and 'Status' of an application are now in separate columns. This change was done to enable better filtering by stage and status.
- For requests with an expiry date, uadded a expiry message next to the state of the request.
- Hovering over the expiry time shows the expiry date.
- Better display the empty review message for when there are no reviewable data sharing requests.
My DSAs Page
- For requests with an expiry date, updated the end-date column to calculate time until or time after expiry.
- Hovering over the expiry time shows the expiry date.
v1.0.4
Within this patch we have fixed a number of bugs which have been identified since the last release of CADRE. In addition to these bugfixes, we have made some quality of life changes to improve user experience.
Matej Mitrev, 17 Jan 2025
General
- Added filtering of table content to CADRE tables
- Fixed a bug where comment notifications only showed your own comments rather than all comments
Documentation
INTEGRATION.md
has been corrected to reflect the change from DOI to ID in patch v1.0.1.
Login
- The
login
button on this page will now show beneath the CADRE logo and will be rendered as the same width as the CADRE logo on small screens. - The "Frequently Asked Questions" section on this page has been replaced with a "Getting Started" section.
- As CADRE now has a dedicated FAQ page on the documentation site, the information on the Login page was redundant.
Dashboard
- Added an expiration message to the DSR sliders for approved requests that have an expiration date set.
- Fixed a bug where the Action Item
"Recommended Learning Modules"
was not being shown.
Notifications
- Fixed a bug where invitations that were revoked before the user had accepted were still being displayed as a pending notification.
- Added an 'Incoming' filter under comment notifications to hide/show self-authored comments.
- To improve clarity for self-authored comments within your comment notification, these comments will explicitly say 'Written by yourself' instead of 'Read' or 'Unread'.
Navigation
Help
page has been removed and replaced with a link to ourDocumentation
website
Trainings
- All of the CADRE training modules are shown on the page, even if the user has not enrolled into them.
Search Resource
- The skeletons shown when loading resources no longer hang in edge cases where requesting for resources fails.
- Fixed a bug where the auto-complete for the search bar would break when rendering a lot of items.
Projects
- All 'Start Date' form inputs in projects can now be back-dated.
- Project users will include the given user at minimum when checking if a project can be linked to an application.
My DSRs
- Under the 'Status' column, if a DSR has been approved and an expiration date has been set, an expiration date will be displayed next to the DSR's status.
- Removed the duplicated
Returned
filter option in the 'Status' column.
View DSRs
- Added an expiration message under the DSR summary for approved requests that have an expiration date set
- The ID of the field is now used to determine auto-fill for the following fields:
fldName
=> Autofill with the user's namefldEmail
=> Autofill with the user's emailfldInstitution
=> Autofill with the user's institution
- Fixed a bug where email fields did not always autofill.
- Updated the expiry date selection to enforce that approvers cannot set an expiration date earlier than tomorrow's date.
- Setting the expiration date as tomorrow's date is not allowed by the backend and leads to an error being thrown.
- The
Submit
button will now be disabled when there are hanging invitees to the DSR. - Fixed a bug where DSRs could be submitted even when all members of the DSR have not accepted the terms and conditions.
- The
Close
button is now renamed toCancel Approval
if a DSR is 'Approved' to properly reflect that the button's functionality at this point within the application. - Fixed a bug where the filenames for attachments were not always displayed.
- Fixed a visual bug where the attachment expander would not display a folder with a nested structured.
- Adding attachments to comments has been removed whilst the functionality is being reworked.
- The size of the expander arrows have been reduced.
- Creating a new comment will automatically mark it as read for yourself.
- To improve clarity for self-authored comments within the Communication section, these comments will explicitly say 'Written by yourself' instead of 'Read' or 'Unread'.
My DSAs
- The 'End Date' column now calculates how long until the DSA expires instead of displaying the expiry date.
Review DSRs
- The 'Stage' and 'Status' of the DSR are no longer displayed in a single column, rather, they now have separate columns.
- This was change was done to allow for improved filtering of DSRs.
- Added filtering of DSRs by 'Stage' and 'Status'.
v1.0.3
The main feature of this patch is the introduction of resources which cannot be submitted unless a project has been linked.
Matej Mitrev, 13 Sep 2024
Commit 8d2a999
General
- Fixed a bug where users with the 'Reviewer' and 'Decider' admin roles were not recognised as admins.
Login Page
- The login button has been renamed to 'Login' from 'Institution Login'.
Search Resource Page
- Fixed a bug where the page size selection dropdown (at the bottom of the page) did not modify the total number of visible resources at a given time.
- Page size options have also been updated from [10, 20, 50, 100] to [12, 24, 60, 120].
View DSRs
- [New] Resources which include the category 'Project Required' will require a project to be linked to the given DSR before submission.
Projects ('New Project' & 'View Project')
- The email invite label now reads 'Invite Collaborator/Owner via Email' instead of 'Add Email via Collaborator'.
v1.0.2
This patch is a quick bugfix fixing breaking project behaviour.
Matej Mitrev, 30 Jul 2024
Commit ffe67d7
View DSRs
- Fixed a bug where projects would infinitely load for approvers.
- [New] Added support and a file tree for the attachment type licenses.
- Updated the tooltip for the
Close
action to reflect that it also lets approvers cancel access rights to resources.
Review DSR Page
- [New] Approvers can now close DSRs which have been approved to cancel access rights to the resources within the approved DSR.
- This was available on the
View DSRs
page but now the functionality exists on theReview DSR
page too.
- This was available on the
v1.0.1
Miscellaneous bug fixes to the full-release from last month.
Matej Mitrev, 11 Jul 2024
Commit b0f37db
General
- Changed all references of
Datasets
toResources
- Changed all references of
DOI
toID
- Users will now be redirected to the
/login
page whenever the web application believes the user's login has expired.- Display a notification whenever this happens, explaining that the user's session has expired.
Dashboard
- Changed the default empty icon for the dashboard carousel sliders from a frown face icon to an alert icon.
- If the current user is an approver, and they do not have any personal DSRs, the personal DSRs carousel will not be shown.
- Fixed a bug where the URL reference for downloading the DSA '.pdf' file was incorrect.
- The copy-to-clipboard icon for approvers seeking CADRE help from the CADRE team is now a
Mail
icon.
Search Resource Page
- When the page is still loading, the skeletons within each resource card are now two rows long rather than being four rows long. This more closely aligns with the card content after resources are all retrieved.
- The grouping message
Resources are only grouped if they share the same approval process.
has been moved from the top to the bottom of the cart.
Projects ('New Project' & 'View Project')
- Text overflow is now prevented for each user within the project user search component.
- Fixed a bug where the warning text for linking an incompatible DSR (due to the subset rule) with an application was not displaying the given DSR's unique identifier and did not correctly generate the link to the given DSR.
My DSR Page
- [New] When the 'Delete DSR' button is disabled it now shows a pop-over tooltip explaining why it's disabled.
- Fixed a bug where 'Returned' DSRs would show as deletable when they were not.
View DSR Page
- Added consistency between the colours and icons used for styling the event timeline on the 'View DSR' page and for styling the DSRs' on the dashboard.
- [New] Licenses with a text description within the terms and conditions will now display the full description beneath the license name.
- [New] Added a checkbox confirming that applicants have read the terms and conditions before they are able to accept all of the DSR's terms and conditions.
- Fixed a bug where the terms and conditions for collaborators would show as unaccepted even when they had accepted them.
- Licenses which have been disabled or archived are no longer shown.
- Fixed a bug where the 'PDF' button was not downloading the file correctly.
- Improved the logic when loading 'Projects'.
- [New] Add tooltips to both 'Link Project' and 'Invite Collaborator' when disabled.
- Changed the 'Enabled' field name under the "Requested Resources" expander to be 'Disabled'.
- Updated the 'Expired', 'Archived' and 'Disabled' tags under the "Requested Resources" to use 'Yes'/'No' as the terms instead of 'True'/'False'.
- Added a popover description to the 'Expired', 'Archived' and 'Disabled' tags under the "Requested Resources" to explain what they are describing.
My DSA Page
- The table actions icons have been replaced with buttons to align with the rest of pages.
- Fixed a bug where the URL reference for downloading the DSA '.pdf' file was incorrect.
v1.0.0
This update vastly improves the dashboard by providing much needed clarity to the carousel sliders, introduces the notification system to check pending invitations and new comments directly in CADRE instead of having to refer to an external email inbox, extends upon the existing project features and adds a comment system for all users.
Matej Mitrev, 26 May 2024
Commit d20675a
Documentation
- [New] Updated README.md to include information about running a React development environment outside of the Docker container
- [New] Retroactively created and collated all changes into this CHANGELOG.md document
General
- Fixed the browser history so users can navigate backwards and forwards using their browser navigation buttons
- Updated router navigation to the latest version
- Removed files which should not have been exposed:
- manifest.json
- robots.txt
- Static source images are correctly hosted
- Experiencing a 404 error will now redirect users to the appropriate error page
- Optional mark for all CADRE forms has been reversed to show a Required mark instead
- Users are now given avatars based on their name
- These avatars are just the initials of the user's name
- The background colour for the avatar icon is generated based on a seed determined by the user's name
- Footer's height has been reduced to take up less space on the screen
- [New] Consolidated all API endpoints
- [New] API URL is now an environment variable
[New] Notifications
- Users can access their pending CADRE notifications using the floating notification bell at the bottom-right of the all pages or by navigating to their Profile page
- The badge on the notification bell shows the total amount of unread/pending notifications
- The notifications UI is split between two tabs, user Invites and Comments
- Under Invites, users are shown their pending, accepted and revoked project and application invitations
- If the invitation is pending, users can accept the invitation from this screen
- If the invitation is pending, users can navigate to the Accept Invitation page as if they clicked on the invitation within their email inbox
- If the invitation is accepted, users can navigate to the project or DSR respectively
- There are no navigation options if the user has been revoked
- Under Comments, users are shown their comments sent to DSRs which they are members of
- If the comment is unread, the user can mark the comment as read
- Users can also navigate to any mentioned DSRs
- The shown Invites can be toggled to show unread, DSR, and project invites inclusively or exclusively
- The shown Comments can be toggled to show only unread comments
[New] Error Page
- When the API returns an error redirect page, the user is redirect to this page.
- This page is similar to the 404 page but instead displays a 500 error code
Dashboard Page
- [New] Dashboard has been reorganised and includes first-time user content for returning users as well
- [New] All carousel slider functionality has been redone from the ground-up to resolve certain edge-case bugs
- [New] DSR carousel slider UI has been updated
- Title now has text-clamp
- Linked projects are listed below title
- State of DSR is shown in the middle of the carousel slider item
- Avatars of applicants are included on the bottom-left of the slider item
- Date update (shown as time since rather than date)
- Date created (shown as time since rather than date)
- [New] Project carousel slider has been updated
- Title now has text-clamp
- Overall state of project is displayed
- Project start date
- Project end date
- State of all linked project applications (displayed similarly to the DSR carousel)
- Avatars of project owners, invitees and collaborators
- [New] DSA carousel slider has been updated
- Title now has text-clamp
- Includes button to download PDF agreement
- Date agreement was approved (shown as time since rather than date)
- Date agreement expired (shown as time since rather than date), if applicable
- [New] If the user is a handler, also show DSRs pending for their review
Training
Page
- [Removed] No longer saves a saves a cookie to determine user training
Search Datasets Page
- [New] The dataset search bar is now affix to the top of page when scrolling
- [New] Included a Having issues finding datasets? below title to pop-up assistance for finding datasets in CADRE and through external partners
- [New] Added searching for datasets by organisation in addition to the existing Name and DOI filters
- Fixed a bug where only 100 datasets were ever shown at a time
- Fixed a bug where no datasets were shown briefly after page load
[New] Accept Invitation Page
- Users who are sent a project or DSR invitation via email or via notification are navigated to this page
- On this page users can choose to accept their invitation to be added to the given invitation's project or DSR
- Page is also populated with the additional invitation metadata
- The name of either the project or DSR
- The description (project only)
- The details of the individual who sent the invitation
My Projects Page
- Pagination is now centered instead of being right-aligned
New Project Page
- [New] People can be invited to projects via email*
- When sending an invitiation, the person can be preassigned either the owner or collaborator roles
- [New] Invited individuals can have their invitations revoked and are sent an email saying they have been removed*
- [New] Projects now include additional metadata support*
- Start Date (optional)
- Pending, Accepted, and Revoked email invitations
- Invite ID
- Invitee Name
- Invitee Role (on invitation acceptance)
- Date Invitation Created
- Date Invitation Sent
- Link to Invitation (which is copyable & includes a scannable QR-Code)
- RAiD Organisations
- Organisation ROR Identifier
- Organisation's Role in Project
- Role Start Date
- Role End Date
- Project form field titles now have better styling*
- Fixed a bug where required project fields did not show a Required mark*
- [New] Link DSRs from the New Project page* so the DSR is link as soon as the project is created
- Prevent users from attempting to link a DSR to a project which do not contain a subset of project users
- Right-handside overview section is now correctly sticky*
- [Removed] All users are no longer available as options when modifying a project's owners or collaborators
- Only current project members are available as options when modifying a project's owners or collaborators
Asterisk (*): these changes are also reflect on the View Project page when editting
View Project Page
- Improved the styling for the project owner and collaborator look-up UI
My DSRs Page
- By default on navigation to this page, DSRs are sorted descending by Modification Date rather than descending by DSR ID
View DSR Page
- [New] The Requested Resources section is displayed in a read-only field group
- [New] The Requested Resources section now includes additional information about the datasets
- Resource Name (unchanged)
- Availability End Date (if specified)
- DOI
- If Expired or Not
- If Archived or Not
- If Enabled or Not
- External Information URL Link
- [New] Users are blocked from submitting DSRs for datasets which are disabled/archived/expired
- [New] Handlers cannot positively modify DSRs for datasets which are disabled/archived/expired
- [New] Handler actions are now given row labels for grouping and categorising actions
- [New] Action forms are now shown as a pop-up rather than generating on the page
- Approval and Rejection are now separate actions rather than being bundled into a single button
- Correctly disable DSR editting based on user's personal permissions
- Fixed dependance for Option and Multiselect form items
- [New] IP-Address form items are now correctly validated
- Fixed form validation for Attachment form items
- [New] Form items can be given a help tooltip to provide additional clarity and assistance
- [New] If a form item ID contains CountryISO3166 and has the form item type text, a dropdown country selection is render instead of a text input
- Changed the section title from Links & Collaborations to Projects & Collaborations.
- [New] Users can now create projects from this page
- No longer requires users to navigate away and come back to link a new project
- Creating a project from this page will automatically link the new project to the open DSR
- Linking projects or creating a new project will now show in a pop-up
- [Removed] Projects are no longer displays on the DSR page as a summary table
- [New] Projects are displayed in the read-only format the same as shown on the View Project page
- Hide applicant DSR, DSA, and Project totals if the individual viewing the DSR does not have permission
- Previously, it would show the totals as zero
- Approval Communication expandable section title is renamed to Communication
- [New] Applicants can now create comments on an application much like how handlers could create comments
- These comments can be created by pressing the New Comment button under Communication
- These comments can be marked read either within this page or through the Notification interface
- [New] Handlers can now see a given applicant's completed training
Review DSR Page
- Fixed sorting resources by their title
Profile Page
- Replaced the disabled form input profile description interface with a read-only format
- [New] The notification interface is reused and shown on this page as well
v0.4.0
This release significantly enhances user experience with the new cart system for dataset selection, more accessible URLs, and improved connectivity with external applications.
Matej Mitrev, 13 Mar 2024
Commit c15cd7d
Documentation
- [New] All CADRE front-end integration points are defined and explained in the INTEGRATION.md document
General
- The response header when returing user profile information is now used to populate roles
- This allows for determing if a user is a Handler which could not be done in older versions
- [New] URLs have been simplified
- /dashboard/ => /
- /dashboard/datasets/search => /datasets
- /dashboard/projects => /projects
- /dashboard/projects/<Project-ID> => /projects/<Project-ID>
- /dashboard/new-project => /new-project
- /dashboard/dsrs/my-dsr => /dsrs
- /dashboard/dsrs/view-dsr/<DSR-ID> => /dsrs/<DSR-ID>
- /dashboard/dsrs/review-dsrs => /review-dsrs
- /dashboard/dsas/my-dsa => /dsas
- /dashboard/others/trainings => /trainings
- /dashboard/others/partners => /partners
- /dashboard/others/help => /help
- /dashboard/user-profile => /profile
- [New] Bundler changed as previous bundler was no longer being supported
- This led to some security concerns that were not being updated or addressed with the old bundler
- [New] Added page breadcrumbs to all pages and the breadcrumb formatting has improved consistency
- [Removed] Exposed help page has been removed
- [New] Page redirect after authentication is no longer static
- E.g., if the user is being directed to a given dataset on the /datasets page the user will be redirected back to that dataset after they login
- E.g., if a handler is sending another handler a link to a DSR (/dsrs/{id}), the handler will be redirected back to the DSR they have openned after they login
- Updated the method to authenticate modification requests so the administrative api key does not need to be exposed
- Better align counts & welcome message on mobile displays
- Fixed toggle on the training action card for first time users
- The action cards are now better formatted on smaller screens
- Improve carousel slider popovers on smaller displays
Login Page
- [New] With the exposed help page being removed, all exposed help content was moved to this page
- [New] FAQ is put into expanders
- Better margins & padding on small displays
- [New] Added a unique background to the mobile display for the CADRE information section
Help Page
- [New] FAQ is put into expanders
Partner Page
- Improved the method for determining which partner cards have their description revealed and which are not at a given time
Search Datasets Page
- [New] Introduced a cart system for multiple resource selection in DSR creation
- Selection for datasets is no longer restricted to a maximum of one
- New DSR button is replaced with a Cart button which opens a drawer to show all selected datasets
- Remove datasets by pressing the X button beside it's name
-
Datasets can still be removed by clicking on a selected dataset again
- Create a new dataset WITHOUT navigating to the View DSR page by pressing the + button
- Create a new dataset AND navigate to the View DSR page by pressing the -> button
- If a selected resources have the same workflow, they can be bulked together into a single DSR
- Dataset cart is saved on browser session, leaving and returning to the Search Datasets page will remember your previously selected datasets
- If the page is refreshed or closed, the page will not remember the previously selected datasets
- [Removed] List view, page is always shown Grid view
- [New] Swap between searching for datasets by their Name and DOI
- [Removed] Date added is no longer shown on the description for a given dataset
- [New] Show the dataset's DOI on the description for a given dataset
- Page title and cart button stack on smaller displays
[New] Dataset Applications Page
- This new page allows for external applications to redirect users to CADRE and automatically create DSRs
- Page works by utilising the following query parameters which are then processed by the page:
- ?doi=<resource-id-in-CADRE>: Will create a DSR for the given DOI
- ?redirect=<boolean>: Toggles navigation to new application (default: False)
- ?combine=<boolean>: Toggles combines datasets with the same wfid into a single application (default: True)
- Page has support for gracefully failing to assist users with trouble shooting if the external application failed to correctly intregrate with CADRE
My DSRs Page
- [New] Mass delete DSRs
View DSR Page
- [Removed] the invited applicants and member applicants tables
- [New] All applicants (including original, invited and member applicants) are displayed in a new section named Appliant Information
- All applicants are shown as a list with the following information:
- Name
- Whether or not they've accepted the given DSR's Terms and Conditions
- Application handlers can also see additional information about the applicants such as:
- Their Research Graph link
- Total amount of DSRs submitted
- Total amount of Projects created
- Total amount of DSAs (approved DSRs)
- All applicants are shown as a list with the following information:
- [New] Description provided to actions (approval, return, remark, etc.) will now show in a list section named Approval Communication
- [New] To prevent content from being cluttered on the page, all DSR items except for the forms have been moved within expanders
- Requested Resources
- Applicant Information
- Links and Associations
- Terms and Conditions
- Approval Communication
Review DSRs Page
- [New] Mass close DSRs
v0.3.2
This release extends upon v0.3.0 and introduces miscellaneous bug fixes before the end-of-year product demonstration with partners.
Matej Mitrev, 19 Dec 2023
Commit e23fb8d
Navigation
- No longer render mobile menu logo on 1000-770px displays
Dashboard
- The View all 'Projects' link now correctly navigates to the My Projects page
- Fixed error where carousel project sliders would throw an error if no project RAiD was defined
- Dashboard totals for DSRs & DSAs are now more consistent
Help Page
- Internal help page includes a rounded grey boarder
Search Datasets Page
- Button to create a new DSR has been updated to be similar to the 'New Project' button on the My Projects page
- Text was changed from Create a new DSR to New DSR
- Added a plus (+) icon to the button
View DSR Page
- Fixed a bug where private remarks for DSRs sometimes were sent as public remarks
- When approving a DSR and setting the DSR's access period, the access period now cannot be set in the past
v0.3.1
A hotfix patch which syncs the submodule with the current 'origin/master' branch.
Matej Mitrev, 14 Dec 2023
Commit 08b77c3
Hotfix
- Updated the REM's submodule to be in sync with
origin/master
v0.3.0
Within this release CADRE introduces Projects as a method to link related requests to a single, unifying group called a project. Projects allow users to be able to organise their associate collaborators and to reuse descriptions for their research without having to rewrite the same content over again. Due to the way which projects operate, much of the functionality present within DSRs had to be updated to accommodate how projects are intended to be used. Other additional changes include an overhaul to the Login page's visuals and an additional Help page to house CADRE's FAQ.
Matej Mitrev, 14 Dec 2023
Commit f188e51
Documentation
- [New] README.md includes CI/CD status badge (either passing or fail) from CircleCI
- Updated docker compose commands within the README.md to use docker compose v2 (originally was v1)
General
- [New] CADRE will prevent user browsers from caching index.html
- This prevents 'missing chunk' errors when pushing a new update to CADRE
- [New] Project & projects hooks for populating project data between Dashboard, My Projects and View Project
- The styling of the hover effect which occurs when viewing a title that includes multiple datasets (e.g., My DSRs, & Review DSRs pages) has been updated with the following:
- Text description is no longer centered and is instead left aligned for English readers
- Popover has a max height of 100px and has scrolling for text which goes over this limit
- MIME type of files are checked before being uploaded. Acceptable files include:
- image/bmp (BMP image)
- text/csv (Comma-separated values)
- application/msword (Microsoft Word document, 97-2003)
- application/vnd.ms-word.document.macroEnabled.12 (Microsoft Word macro-enabled document)
- application/vnd.openxmlformats-officedocument.wordprocessingml.document (Microsoft Word document, 2007 or later)
- image/jpeg (JPEG image)
- application/pdf (PDF document)
- image/png (PNG image)
- text/plain (Text Document)
- image/webp (WebP Image File)
- application/vnd.ms-excel (Microsoft Excel Spreadsheet, 97-2003)
- application/vnd.ms-excel.sheet.binary.macroEnabled.12 (Microsoft Excel Binary Spreadsheet)
- application/vnd.ms-excel.sheet.macroEnabled.12 (Microsoft Excel Macro-Enabled Spreadsheet)
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (Microsoft Excel Spreadsheet, OpenXML)
- The sticky summary section used for both the View DSR and View Project pages now function correctly across all browsers
- Tables are now better supported on mobile with scroll enabled on the 'X' axis
Navigation
- Sidebar has been fixed so the navigation tabs function like a website links
- Logout link is no longer obscured by sidebar size toggle on displays with short vertical height
- Fixed bug where the mobile menu sometimes rendered under page content instead of above the page content
- [New] Navigating using the mobile menu will now automatically close the menu after successfully changing the page
Login Page
- Overhauled the Login page
- [New] Include a section describing CADRE
- [New] Include gradients and waves to the login page for aesthetic value
[New] Help Page
- Exposed page for information about CADRE (meaning that non-logged in users can view this page)
- Explaination of the five safes framework
- FAQ section for the following questions:
- "What does DSR & DSA mean?"
- "Who are the different people in CADRE?"
- "How do I find new datasets?"
- "What are 'Projects' in CADRE?"
- Email contact link for further assistance and clarification
Dashboard Page
- [New] Project carousel slider on the dashboard which includes the following information about the given project:
- Project name
- Number of participants
- Specified end date
- Enable state of project
- Archival state of project
- Click on the popover to use the project's link to navigate to the given project
- [New] First time users (users with no DSRs, no DSAs and no Projects) are shown a different dashboard to help and advise them with CADRE. This new dashboard shows the following information:
- Pending user actions, this includes:
- Completion of 'Recommended Learning Modules'
- Linking of the user's ORCiD
- A 'Recently Added Datasets' carousel which shows the latest '10' datasets added to CADRE
- Pending user actions, this includes:
Search Datasets Page
- [New] Added support for the dataset query parameter to auto-select and auto-search for a dataset
- Format to do so is: ?dataset={Name-of-the-dataset-in-CADRE}
[New] My Projects Page
- Each Project is shown in a tabular view (much like the My DSRs, Review DSRs, & My DSAs page), where each project has the following column data:
- Unique project identifier
- Name
- Research Activity Identifier Service (RAiD)
- End date
- Owners
- Collaborators
- Enable state of project
- Archival state of project
- Users navigate to their existing projects
- Users can enable/disable or archive/un-archive projects by pressing the equivalent icons under the action column
- Users can also navigate to the New Project page by pressing the open icon under the action column
[New] New Project Page
- On this page users can create projects which describe the research being undertaken
- Projects have the following attributes:
- Name
- Research Activity Identifier Service (RAiD)
- End date
- Owners
- Collaborators
[New] View Project Page
- On this page users can view and edit their project details
- Shows all the project content from the New Project in a read-only format (unless editting)
- Added DSRs on the View Project page by implementing a table which includes the following information:
- DSR ID (which links to the given DSR)
- DSR Resources
- DSR Status
View DSR Page
- [New] Optionally choose a project to link to a DSR to reuse and describe the undertaken work among all DSRs
- [New] Cannot link a project to a DSR which contains users who do not exist within the project. If this occurs, user either need to:
- Remove all users from the DSR which do not exist within the project
- Add all users from the DSR which are missing within the project
In other words, DSRs must contain a subset of project users
- [New] If a project is linked, adding members to the DSR is replaced with a dropdown selection. This enforces the following:
- Ensures that the DSR members are only a subset of project members
- This prevents users from being added to the DSR who do not exist within the linked project
- [New] Warning message when attempting to invite a users when the linked project has no collaborators
- [New] Warning message when attempting to link a project to a DSR when there are no projects available to be linked
- [New] Approval of a DSR is disabled while there are still hanging member invitations
- [New] Added a tooltip explaining what the following handler actions do:
- Remark - "Provide an internally or externally visible comment"
- Return - "Send application back for user to re-complete"
- Close - "End an application without reaching a decision"
- Delete - "Permanently remove DSR"
My DSAs Page
- Fixed error where table was not being assigned a unique row identifier
v0.2.1
Much of this release looks to extend upon the handler functionality implemented in the previous release. As handlers can now approve of a DSR, DSAs now had to be created to show the completion and output of the request. The introduction of DSAs also meant updating the Dashboard to show all recently approved applications and updating the My DSA. With the introduction of submission of multiple forms and auto-filling of personal details within a form, this release looks to improve clarity and usability of CADRE.
Matej Mitrev, 16 Nov 2023
Commit 9c67c47
Documentation
- Update references to set-up to use new docker compose service names
Docker
- Add ./src/docker-compose.prod.yml as a local example of what is used on our CADRE instances
- Updated the developer compose file (./src/docker-compose.yml)
- Both admin and clientapi services now volume in the ./src/rems/target/uberjar/rems.jar file into the container, no longer requiring a build each time it's re-compiled
- [Removed] voluming unnecessary .pem files
- Assign the db service a Docker volume for saving database information
- Container have a restart policy of on-failure:5 to prevent failed containers from boot-looping
- nginx service no longer volumes entire ./src/nginx folder as it includes both the development & production configuration files.
Aside, the updated version of the developer compose file was being used locally for months but it had not committed
General
- [New] DSR hook to reuse populating DSRs between Dashboard and My DSRs pages
- [New] DSA hook to reuse populating DSAs between Dashboard and My DSAs pages
- [New] Training hook to reuse populating course information between Dashboard and Training pages
- [Removed] the DSA Detail and Manage DSAs pages
- [New] Pulling affiliation information occurs on user login
- [New] DSRs & DSAs with multiple resources will now say that they are for multiple resources
- On the dashboard slider cards this is done with a tag hover effect.
- On the dashboard slider card popover and View DSR page this is done by listing all items
- [New] Redirect to the /login page if the user's session is expired
Dashboard Page
- Padding added to the carousel slider
- [New] DSA carousel slider on the dashboard which includes the following information about the given DSA:
- Requested resource name
- Clickable button to immediately download the DSA PDF
- Date access was granted
- End date (if specified)
- Updated the DSR carousel slider to better format the last modification date
- [New] Debounce on resize of window to calculate new item amount
- If the profile amount of DSRs, DSAs, or Projects is wrong, the dashboard counts correctly update the total
- [New] Courses added as an additional statistic amount
- [New] Added a dismissable on-screen alert that covers the profile amount totals which reminds users to complete their CADRE-5-Safes training
- If this alert is dismissed, then it will not pop-up again until the user starts a new browser session
View DSR Page
- [New] Form items which request for Name, Email, or Institution will now populate with user information found within CADRE
- These fields will always automatically populate with the given information and cannot be editted
- [New] For DSRs which require multiple forms to be submitted as part of the application (e.g., if the DSR includes requests for multiple datasets), the forms will now be displayed and submitted corrected
- Accepting the Terms & Conditions for a DSR will update the timeline
- Pressing the Submit button without completing all of the required form items will trigger a validation fail event
- Pressing the Submit button when you have not completed the Terms and Conditions will give you a warning to accept them before submitting.
- Fixed the table form item to pop by row index instead of popping from the bottom
- Fixed providing attachments as an application handler
- Original attachment upload was mock but now functionality was introduced
- When the remark is submitted, the attachment's ID is used to populate the attachments JSON
- [New] Added 'Revoke' as a new DSR action for revoking user access to an approved application
My DSAs Page
- [New] Each approved DSR is shown in a tabular view (much like the My DSRs & Review DSRs page), where each DSA has the following column data:
- Unique DSR identifier
- Requested resources
- Start date
- End date (if specified)
- Approver
Training Page
- Updated the information and UI for each of the user's courses to include the following information:
- Course name
- Completion status
- [New] Link to the given course on the CADRE-5-Safes website
- [New] Date which the course was last accessed
- [New] Course description
- [New] Course progress (shown as a dashboard radar)
- [New] Users are also shown their Pending Courses, courses which they have not applied for, as well as their Enrolled Courses
v0.2.0
This release of CADRE introduces essential functionality to allow for accessment of application requests for datasets. Users who access DSRs, referred to as handlers, can now view their pending and complete applications as well as make an outcome decision for application requests. Notably, the View DSR page has been updated to be dynamic and allow for users of different roles to see different content to one another. Furthermore, bugs with the Dashboard page's sliders have been addressed and resolved.
Matej Mitrev, 02 Nov 2023
Commit 74183b0
General
- If the user does have a logged_in cookie, request for their profile information and route them to their original URL (if they attempted to directly navigate)
- Attempting to redirect to a non-existant page will no longer redirects the user to the Dashboard page and instead show an invalid URL/page.
- A lot of components created/refactored for usage outside of their original page
- All references to messages and notifications are now implemented using AntD application wrapper (App)
- This provides upstream and downstream method calls through Context
Dashboard Page
- Introduced improvements to the carousel sliders
- Improved method for determining when to show the 'Next' and 'Previous' buttons on the slider
- [New] Filter carousel items by date (latest to oldest)
- [New] Show a maximum of 10 items on the carousel at a single time.
- [New] Show <Skeletons /> while the page is loading
- Updated the implementation of slider to not use the deprected findDOMNode and will now utilize forwardRef for element reference between parents and children
- Fixed calculating dashboard totals
- Fixed a bug when re-entering the dashboard would display information incorrectly
- Moodle pop-up no longer affects how sliders behave
Search Datasets Page
- Correctly display fail message if creating a new DSR application failed
My DSRs Page
- Sorting DSR titles ascendingly or descending will now correctly titles alphabetically rather than by string length
View DSR Page
- [New] The URL for View DSR has been updated to have the DSR ID as a URL resource
- Change was made to allow for ease of distribution of applications between users
- Utilize createContext and useContext to pass DSR ID to all child components
- [New] Provide an error message when non-authorised individuals attempt to access a DSR which they do not have permissions to view
- [New] Render <Skeleton /> components while the page is requesting a given DSR's information
- [New] Replace the old timeline with a timeline which shows events which have occurred during the DSR's history
- This new timeline is dynamic and populates from the API rather than being static
- Action buttons are no longer static and render dynamically based on a user's permissions for a given DSR
- If the user is an applicant, they will still have the Delete, Save and Submit actions
- If the user is a handler, they will have permissions which are handler specific, such as:
- Request review
- Request decision
- Remark
- Return
- Close
- Reject
- Approve
- Reject
- Duplicate
- [New] On-page notifications appear after the following notifications are triggered: Submit, Close, Reject, Return, and Approve
- [New] Using an action which does not trigger navigation to leave the page (e.g., Save) will update the timeline to show the action's exection
- [New] If an action requires additional details to send along with the action (e.g. comments, and attachments), then an additional form UI is rendered before making the decision action
Review DSRs Page
- The URL for Review DSRs has been updated from /dashboard/dsrs/dsr-detail to /dashboard/dsrs/review-dsrs
- [New] Swap between "Pending", "Archived", and "All" applications
- Application handlers can view their list of "Pending" applications which are pending review by them
- Applications which have had a decision made, the "archived" applications, can also be viewed
- [New] Each pending DSR is shown in a tabular view (much like the My DSRs page), each DSR has the following column data:
- Unique DSR identifier
- Requested resources
- Requestee (applicant)
- DSR submission date
- [New] From this page, handlers can open the relevant application or close a given application
v0.1.0
CADRE has undergone a significant transformation from a mock front-end application to a system with futher integration with it's back-end. This update includes a comprehensive overhaul to many pages to allow for selection of, and applying for, datasets by users. This version still lacks the approval or rejection processes to applications but with changes to the user interface and initial implementation of API integration, it allows for intital support for the user's desired workflow.
Matej Mitrev, 17 Jan 2023
Commit 3bb10a1
Documentation
- [New] Migrated CADRE set-up documentation from Notion to the README.md file
General
- CADRE's page min-height is set to '100vh' so it will always be full-screen at minimum
- Primary AntD component colour was changed from the deep blue (#33871 ) to the brighter AntD default blue
- Colour used for sidebar and footer was changed from #fcfdfd to #fafafa so it could be lighter
- [New] Determine logged in user's role by API request
Login Page
- Updated styling to correctly center the email and password form submission
- Added block styling to the CI Logon button
- [New] Provide a better description and include an external link to CI Logon resources.\
Navigation
- [New] Mobile navigation menu which replaces sidebar on mobile displays
- [New] Logout navigation item will now call /rems/oidc-logout to log users out of CADRE
- Consolidate navigation sidebar from two <Menu /> components into one
- Navigation sidebar now styled to be static
- Navigation sidebar width improved on medium-sized displays
- [Removed] .png icons used in the sidebar and replaced them with icons from the react-bootstrap library
- Fix alignment of navigation icons
- Move Search Datasets link to be between My Dashboard and Projects
- [Removed] My Datasets page
- [Removed] Manage Datasets page to Admin links
- [Removed] Cadre Users page to Admin links
- [Removed] Notification bell
- [Removed] "Others" sub-navigation section
- Training was moved to the main navigation section
Search Datasets Page
- All mock content has been removed and now correctly integrates and invokes the REMs API
- [New] Invokes the dataset's API and populates the page with all datasets available to the user
- [New] Search narrows displayed datasets by matching the provided input to the dataset title
- [New] Each dataset displayed shows the following information:
- Dataset name
- Date added
- Owner organisation
- An external information URL (if defined by dataset)
- [New] Ability to swap between a "grid" and "list" display of the datasets
- Grid display shows the datasets 3x4 (on large displays)
- List display stacks the datasets vertically (this was the original page layout)
Dashboard Page (Landing-Page)
- Moodle modal pop-up buttons moved to the footer of the modal
- Move user statistics (Projects, DSRs, DSAs, and Datasets) to reside next to the user welcome message at the top of the page
- Replaced the tables with a custom slider
- Hovering an item within the slider will enlarge the item, display a background transition effect, and push all other items aside.
- Selecting an item with prompt a popover effect which will give additional information about the DSR, it will prevent the push aside styling while active, and will stylistically transition back to normal if the popover is closed (either by pressing the close button or by clicking elsewhere on the page).
- There are routes on the dashboard itself to easily traverse CADRE. The popover lets you route to the given DSR and there's a "View all <CADRE Type>" link on the side of the page.
- Slider information is populated by our API
- The order which the user's Projects, DSRs, DSAs appear have been changed
- Previously was 1. Projects, 2. DSRs, and 3. DSAs
- Now is 1. DSRs, 2. DSAs, 3. Projects
- Displays the following message when there is no data: "You have no {CADRE Type}"
My DSRs Page
- Update Table
- Status column uses colored tags (with each status having different colours).
- Action column has dynamic icon rendering depending on DSR status
- Update Search
- Users can search for content using a custom search callback on the table column.
- Action icons now have onClick events associated with them.
[New] Partners Page
- The partners are displayed in a grid of cards
- Clicking on a card gives information about the given Partner (same info as on the CADRE Five Safe's website)
View DSR Page
- [Removed] All mock content has been removed
- [New] Page is now split into two halves where:
- Left-hand section displays key DSR content such as member invites & form details
- Right-hand section utilises the sticky styling to allow for viewing the overview content at all times
- [New] unique DSR identifier
- [New] DSR date created
- [New] DSR state is displayed as a <Timeline /> which progresses as the state of the DSR changes
- [New] Applicant DSR management actions
- Delete button, to permanently remove the DSR
- Save button, to save the DSR without submitting
- Submit button, to submit the DSR for review to the handlers
- [New] the page is dynamically populated with form data from the API. Supported form item types are as follow:
- Description
- Phone number
- IP Address
- Text
- Text Area
- Option (single select dropdowns)
- Multiselect (multiselect dropdowns)
- Date
- Attachments
- [New] Invitations to DSRs
- Invite and uninvite collaborators from a DSR
- Invited members and current members are shown in two separate tables on this page
- [New] Terms & Conditions
- Populate the licenses associated with the given DSR
- Button to accept licenses
Profile Page
- [New] User avatar section to display DSR, Project & DSA amounts with user icon
- [New] Display a given user's affiliations on their profile
- While affiliations are loading, a skeleton preview section is rendered
- Handling for when the user has no organisations
- User's affiliation information is saved in RootState
- ORCiD is manually assigned as an affiliation within this section
- Resize and reorganise Profile page content based on display width
- User overview and profile information sections are displayed side-by-side on large displays
- Move ORCiD button to reside next to user's ORCiD section
- Lighten the <Card /> components background