Roadmap

Umbau auf .Net 8

AspNetCore + Webassembly

Der mobile Client wird als Testprojekt mit AspNetCore für REST und Webassembly für den Client aufgesetzt

Aspire / Webassembly / Blazor

Ein Video dazu. Werd DTN für IPM fertig machen und dann ein entsprechendes Projekt fuer die weitere Diskussion als Beispiel aufsetzen. Ist allerdings erst in preview … das sollte man evtl. abwarten

Avalonia

Zurückgestellt Mit dem Avalonia framework könnte man einfache Clients wie e.g. die Spreadsheets für die Module bereitstellen. Das waere vorallem für Desktop Apps. Ansonsten würde Blazor wohl die einfachere Herangehensweise sein weil es über den Browser alles abdeckt. Sollte auf jeden Fall in separatem Verzeichnis entwickelt werden weil es Einstellungen vornimmt die mit anderen Frameworks nicht kompatibel sind. Ist allerdings noch auf .Net 7. Wird wohl noch ein bisschen dauern bis das fuer .Net 8 nachgezogen ist.

  • Alternativen:
    • MAUI - das unterstützt aber kein Linux und ist was ich gesehen hab auch nicht so performant
    • UNO - hab ich noch nicht genauer angesehen. Wohl ähnlich zu Avalonia aber nicht so verbreitet etc.

Cocona

Für CLI Clients

Beispiele für Diagramme

Note

for demo only - dates are not valid

timeline
    title Diversity Workbench - timeline
    2023-11-15 : Einstieg in Version 8
    2023-12-15 : IPM 
                : WinForm Client 2023-11-15
                : WASM-Client 2023-12-15
    2023-12-20 : WASM-Client 
               : Preview 2024-01-20
               : Workshop 2014-03-22
    2024-02-15 : WASM-Client for DC
gantt
        dateFormat  YYYY-MM-DD
        title IPM
        section IPM Winforms Client
        Completed task            :done,    des1, 2024-01-06,2024-01-08
        Active task               :active,  des2, 2024-01-09, 3d
        Future task               :         des3, after des2, 5d
        Future task2              :         des4, after des3, 5d
        section IPM WASM Client
        Completed task in the critical line :crit, done, 2024-01-06,24h
        Implement parser and jison          :crit, done, after des1, 2d
        Create tests for parser             :crit, active, 3d
        Future task in critical line        :crit, 5d
        Create tests for renderer           :2d
        Add to Mermaid                      :1d
gitGraph
    commit
    commit
    branch develop
    checkout develop
    commit
    commit
    checkout main
    merge develop
    commit
    commit
May 3, 2024

Subsections of Roadmap

Diversity Workbench

Version 8

Permissions

No direct access to tables. Access via views that restrict to user available data and implement permissions that had been set for tables. These views relate to the previous tables and implement the restrictions with a WHERE clause and without any joins.

There may be 2 views: [Table]_Read for content including data with read only access and [Table]_Edit for content the user can edit.

Icons

To ensure that users can distinguish versions 4.x from versions 8.x of the software, the new versions get icons different from the old versions. The colors of the characters reflect the colors of the symbols used in the menu.

Aug 6, 2024

IPM

The DiversityWorkbench provides several applications addressing every IPM related task:

  • Taxonomy of IPM related taxa
  • Identification key for pests
  • Collecting sensor data
  • Editing, collecting, exporting data in a desktop application.
  • A web application for trap inspection (ongoing project)

IPMtaxa

(!!! Heisst des wiklich so?, ist das nicht DTN? Der Kurz-Name ist doch schon TaxRef_SNSB_NHC-Pests? Es ist nicht klug Synonyme zu erzeugen.) -> das sind alles Platzhalter fuer Projekte in C#. TaxRef_SNSB_NHC-Pests ist nix was man als Projektbezeichner verwenden würde. Das ist ein internes Kürzel.

Taxonomic backbone providing 3 lists of taxa related to IPM:

  • Pests
  • Bycatch
  • Beneficials

The data include the taxonomic hierarchy, synonoyms, common names, life stages, links to information and thumbnails of the taxa for inclusion in e.g. tabular lists used for monitoring. Data are provided via a JSON API. For details see IPM

IPMdescriptions or IPMkey

(Gibt es das schon?) -> nein - Platzhalter

Identification key for taxa provided by IPMtaxa

IPMobile

(ongoing project) -> klar - aber das sollte bis September fertig sein. Ongoing ist bei uns alles

Mobile application for collecting taxon observations in traps etc. You can import existing data to ensure continuity and build upon historical information. Data are stored in a local SQLite database and synchronized via an API with the main database to enable offline inspection of the traps, specimen etc.

Zwischengespeicherte Daten für offline Betrieb

  • Taxonliste incl. Vorschaubildern
  • Bilder von Fallen
  • Grundriss

Zugriffsarten

es können alte Daten eingelesen und neue Daten geschrieben werden. Ändern und Löschen nach dem Speichern ist nicht vorgesehen.

  • Lesen
    • Taxonliste
    • Grundrisse
    • Bar- und QR-Codes
  • Schreiben
    • Beobachtungen von Schädlingen (Art, Anzahl, Ort)
    • Eingeben von Anmerkungen
  • Ändern
    • x
  • Löschen
    • x

Einstellungen

Auswahl der Taxa die für die Erfassung berücksichtigt werden sollen

Bereiche

  • Fallen
  • Specimen
  • Sensoren

Funktionen

  • Verortung in Plänen
  • Bilder von Fallen etc.
  • Zuordnung von Detailbildern zu Übersichtsaufnahme und deren Verortung innerhalb der Übersichtsaufnahme
  • Scannen von Codes auf Objekten und automatisches Laden der zugehörigen Daten
  • Eintrag von Notizen

Szenarien

  • Der User will einen Schädling eintragen können den er gerade auf einem Specimen gefunden hat.
  • Der User will eintragen, dass er keinen Schädling gefunden hat auf einem Specimen, Falle, Raum, Sammlung, …
  • Der User hat eine Falle aufgestellt und möchte die Falle anhand des QR-Codes auf der Falle identifizieren und die Position der Falle im Plan vermerken sowie evtl. eine Beschreibung des Standorts eingeben.
  • Der User möchte alle Fallen anhand eines Plans der Aktuellen Etage abgehen und dabei prüfen ob in den Fallen Fänge sind.
  • Der User möchte den aktuellen Zustand der Falle anhand von Bildern mit vorherigen Zuständen vergleichen
  • Der User hat einen Schaden entdeckt und möchte das Objekt anhand des Codes identifizieren sowie den Schaden mit einem Bild dokumentieren und einen kurzen Text schreiben was genau kaputt ist.
  • Über Bestimmungsapp via DD
    • Der User will dem gefunden Schädling einen Namen zuweisen

Tabellen in SQLite

  • lesend

    • Collection
    • CollectionSpecimen
    • CollectionSpecimenPart
    • IdentificationUnit
    • Task
    • CollectionTask_old (oder Marker in Tabelle CollectionTask)
    • CollectionTaskImage_old (oder Marker in Tabelle CollectionTaskImage)
  • schreibend

    • CollectionTask
    • CollectionTaskImage

IPMsensor

Sensors collecting room temperature and moisture values communicate via Bluetooth LE with IPMhubs. IPMhubs communicate with IPMserver via LoRa IPMserver collects sensor data provided by the IPMhubs and stores these data in a Prometheus timeseries database. These data are then provided for import in the main database via LAN.

IPMcollection

  • Spatial: The software provides the option to include floor plans and accurately pinpoint the locations of sensors and traps including the hight within a room. To avoid interference with administrative aspects of a collection, the software includes the option for a second hierarchy according to the positions.
  • Recording: Next to sensor data all events, observations etc. can be recorded for later evaluation aiming at the prediction of the effect of IPM related actions.
  • Customization: You can define templates or create custom task definitions based on your specific IPM requirements. This includes e.g. the typification of traps and treatments. The list of taxa based on the backbone can be adapted based on those taxa that should be included in the recoding.
  • Reports: Generation of reports including charts, floorplans, treatments etc.
  • Actions: Documenation of IPM related treatments of collection specimen, application of beneficial organisms etc.