<!--
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.