<!-- SPDX-FileCopyrightText: 2022 Helmholtz-Zentrum Dresden-Rossendorf (HZDR) SPDX-License-Identifier: GPL-3.0-or-later -->

Changelog

0.6.0

Release date: 2023-06-15

User Interface:

  • The navbar was split in two. The top one still holds globally useful navigations like user settings and the search. The navbar below it shows project-related settings and apps that were previously shown in the left-most column of the project graph so that they are now easily accessible from other places.
  • HELIPORT now uses Font Awesome 6 icons. Font Awesome 6 is backwards-compatible, thus old icons (fa, fas, fab, ... classes) still work.

Architecture Additions:

  • Introduced the concept of Actions that allow to use functionality of one app inside another app without dependency between the apps
  • Introduce the concept of a DigitalObject that represents a File
  • Introduce the concept of a DigitalObject that represents a Directory
  • Introduce the concept of operation context that allows to cache values with support for python context managers
  • Introduce the concept of user messages that can be raised as exception to display an error to the user
  • Introduce the concept of GeneralValue to represent something that can be a value of some parameter of a digital object and can be serialized
  • Introduce the concept of GeneralDigitalObject to represent objects not stored in the HELIPORT database. A GeneralDigitalObject supports only the most basic functionality but can be easily imported as DigitalObject.
  • Introduce the concept of object resolution, that allows to represent objects not stored in the HELIPORT database (e.g. in URL parameters)

Core App:

  • Added field is_helper to DigitalObject to allow representing DigitalObjects that are not explicitly created by the user.
  • Added functions and methods to allow working with tags more easily
  • Added view to allow importing a GeneralDigitalObject as DigitalObject into the HELIPORT database
  • The views are now split into multiple modules within {mod}heliport.core.views
  • HELIPORT mixins are now found in {mod}heliport.core.mixins; HeliportObjectListView is under {mod}heliport.core.views.generic
  • Added support for login selection and actions in {class}heliport.core.views.generic.HeliportObjectListView
  • Added {class}heliport.core.renderers.HeliportPartialRenderer for rendering of HTML partials to be sent via the API
  • Added {class}heliport.core.negotiation.HeliportContentNegotiation which handles API requests sent from HTMX and returns partials to them

Data Source App:

  • Extend data source list to support actions
  • New view to show arbitrary directories and allow file download
  • Data sources with ssh protocol are now deprecated in favour of the ssh app
  • New actions to open arbitrary files and directories

UNICORE App:

  • UNICORE storages can now be added to projects
  • Implement file and directory interfaces for UNICORE storages (this allows for example a preview)
  • The UNICORE "overview" view was removed in favor of an interface that looks more like other apps

SSH App:

  • Introduced this as the new app to handle all ssh functionality
  • Allows adding SSH files and directories to project
  • Implement file and directory interfaces for files and directories accessible via SSH (this allows for example a preview)
  • Add action to migrate old ssh data sources to this app

SMB Files App:

  • Introduce this as a new app to handle SMB shares
  • Allow adding SMB shares to project
  • Implement file and directory interfaces for SMB files and directories (this allows for example a preview)

Version Control App:

  • Implement file and directory interfaces for GitLab and GitHub files and directories (this allows e.g. download)

Miscellaneous:

  • The default database location in production mode (DEVELOPMENT == False) changed from ${BASE_DIR}/heliport.sqlite3 to /var/lib/heliport/heliport.sqlite3.
  • The monitoring extra for the Flower monitor was removed as it wasn't well integrated in the repo and lacked instructions due to not being used by the maintainers.
  • HELIPORT is now running on Django 4.2.
  • The main JavaScript and CSS libraries are now installed with yarn and bundled with webpack. Some CSS and JavaScript is managed using django-vendor-files and will be moved into the webpack setup eventually.
  • HELIPORT now provides heliport-cli as a convenience command for the Django manage.py script.
  • The minimum required Poetry version is now 1.2.
  • Added alpinejs to be used in frontend
  • Added RootedRDFGraph to collections to store RDF data about something specific (that is the root)
  • Renamed Project.digitalobject_set to Project.parts
  • Project list now supports pagination and sorting
  • Projects can now be tagged

0.5.0

Release date: 2022-11-24

This is the first release after some major restructuring in the HELIPORT codebase and infrastructure. Future releases will provide more detailed information about the changes that were introduced.