Zum Inhalt

ACPProjectManagement

Beschreibung - Widget

Das Widget stellt eine übersichtlichere Standard-Planungsansicht der Projekte in CAS genesisWorld dar, indem ein Gantt-Diagramm verwendet.

image.png

Voraussetzungen

Das Widget kann innerhalb eines Datensatz oder als Cockpit implementiert werden, je nachdem müssen unterschiedliche Voraussetzungen erfüllt werden. Es gilt jedoch, dass die Basis der Datensatztyp "Projekte" (Project) ist.

Standard-Datenbankanpassungen

Folgend Datenbankfelder sind in den verwendeten Datensatz-Typen der ersten Ebene erforderlich:

Bsp. für die Datensatztypen "Vorgänge" und "Meilensteine". In allen müssen die Felder erstellt werden.

Technischer Name Übersetzung Datenfeldtyp Zusätzliches
ACPGANTTBF ACPProjectManagementBackingfield nvarchar 500 -
ACPGANTTMANAGEMENT ACPGanttManagement nvarchar 50 -
  • keine Anzeige in Schreib/Lesemaske

zusätzliche Datenbankanpassungen für Cockpit

Datensatztyp "Projekte"

Technischer Name Übersetzung Datenfeldtyp Zusätzliches
ACPPROJECTMANAGEMENT Projekt mit Projektmanagement / Project with project management bit (boolean) -
  • Einbau in Schreib/Lesemaske in den Projekten notwendig!

Installation Widget

Installationsanleitung finden Sie hier

Update Widget

Updateanleitung finden Sie hier

Konfiguration Widget

Konfigurationsdatei

INFO

In diesem Abschnitt können Datensatztypen, Felder und Verknüpfungsarten konfiguriert werden.
Bitte beachten Sie, dass hier immer die technischen Namen eingetragen werden müssen. Dabei sollten die technischen Namen vollständig in Großbuchstaben geschrieben werden!

ACHTUNG

Bitte bearbeiten Sie niemals die Beispieldatei.
Wenn Sie Anpassungen vornehmen möchten, kopieren Sie die Beispieldatei und benennen Sie sie entsprechend um.

  1. Im Datei-Explorer folgenden Pfad öffnen:
    C:\Program Files (x86)\Common Files\CAS-Software\Server\JavaServices\smartdesign-apps\{@DATENBANKNAME}\smartdesign.base\smartdesign\base\webcontent\{WIDGETNAME}\assets\configs
    
  2. Datei "example-config.json" im selben Ordner kopieren und einen entsprechenden Namen geben.

  3. Kopierte Datei bearbeiten.

Basis

{
    "projectColor": "rgba(0,0,255,0.5)",
    "projectFrom": "STARTDATE",
    "projectTo": "ENDDATE"
}

Beschreibung
  • projectColor:
    • Beschreibung: Definiert die Standardfarbe des Projektes.
    • Mögliche Werte: Eine beliebige RGBA-Farbe, z.B. "rgba(0,0,255,0.5)".
  • projectFrom:
    • Beschreibung: Das Startdatum des Projektes.
    • Mögliche Werte: Ein String, der das Feld definiert, z.B. "STARTDATE".
  • projectTo:
    • Beschreibung: Das Enddatum des Projektes.
    • Mögliche Werte: Ein String, der das Feld definiert, z.B. "ENDDATE".


firstLevel

"firstLevel": [
    {
        "dataType": "TASK",
        "orderByField": "",
        "orderDirection": "",
        "attribute": "ITDTSKPRJ",
        "color": "#0068B1",
        "fields": {
            "firstLine": "KEYWORD",
            "fromDate": "START_DT",
            "toDate": "END_DT"
        }
    },
    {
        "dataType": "MEILENSTEINE",
        "icon": "milestone.svg",
        "orderByField": "KEYWORD",
        "orderDirection": "DESC",
        "attribute": "Verbindung",
        "point": true,
        "stateColors": {
            "dataField": "STATUS",
            "colors": {
                "noch offen": "#008000",
                "geschlossen": "#ff0000",
                "default": "rgba(0,0,255,0.5)"
            }
        },
        "fields": {
            "firstLine": "KEYWORD",
            "fromDate": "Start_Date",
            "toDate": "Start_Date"
        }
    }
]
Beschreibung
  • dataType:
    • Beschreibung: Der Datensatz-Typ, die im ersten Level angezeigt werden.
    • Mögliche Werte: TASK; MEILENSTEINE etc.
  • icon:
    • Beschreibung: Muss angegeben werden, wenn für den Datensatz-Typ im genesisWorld kein Icon hinterlegt ist! Die angegebene Datei muss im Ordner "assets/images" liegen.
    • Mögliche Werte: svg; png; jpg
  • orderByField (optional):
    • Beschreibung: Das Feld, nach dem die Daten sortiert werden sollen (Betrifft nur "nicht" verknüpfte Datensätze).
    • Mögliche Werte: String, z.B. "KEYWORD".
  • orderDirection (optional):
    • Beschreibung: Die Richtung, in der sortiert wird.
    • Mögliche Werte: "ASC"; "DESC".
  • attribute:
    • Beschreibung: Verknüpfung der Daten mit einem Attribut.
    • Mögliche Werte: Ein String, z.B. „Verbindung“.
  • point (optional):
    • Beschreibung: Gibt an, wenn der Datensatztyp taggenau dargestellt werden soll und beide Felder (fromDate, toDate) identisch sind.
    • Mögliche Werte: true / false
  • color (optional):
    • Beschreibung: Farbe für das Element des Levels.
    • Mögliche Werte: Hex-Farbcode, z.B. #0068B1.
  • stateColors (optional):
    • Beschreibung: Farbliche Auswertung der Eingabehilfen eines Datenbankfeldes.
    • dataField: Das Feld, dessen Status die Farbe definiert.
    • colors: Die Zustandsfarben. Mögliche Unterwerte:
      • „noch offen“: Hex-Farbe für den Status „noch offen“.
      • „geschlossen“: Hex-Farbe für den Status „geschlossen“.
      • „default“: Standardfarbe, falls kein Zustand passt.
  • fields:
    • firstLine:
      • Beschreibung: Hauptelement, das angezeigt wird.
      • Mögliche Werte: Ein String-Feldname, z.B. „KEYWORD“.
    • fromDate und toDate:
      • Beschreibung: Start- und Enddatum für die Daten.
      • Mögliche Werte: Ein Datumsfeld, z.B. „START_DT“.

Hinweise - "stateColors": farbliche Auswertung der Eingabehilfen eines Datenbankfeldes. Wird der Block in einem Datensatz angegeben, ist kein "color" Parameter notwendig, bzw. wird nicht angewendet. - "point": Wenn der Datensatztyp taggenau dargestellt werden soll, dann ist der Parameter "point"=true anzugeben. In diesem Fall sind die beiden Datenbankfelder "fromDate" und "toDate" identisch!


secondLevel

"secondLevel": {
    "dataType": "TODO",
    "orderByField": "START_DT",
    "orderDirection": "ASC",
    "stateColors": {
        "dataField": "WORKINGSTATUS",
        "colors": {
            "erledigt": "#ffab2942",
            "inBearbeitung": "#ff000042",
            "default": "rgba(0,0,255,0.5)"
        }
    },
    "fields": {
        "firstLine": "KEYWORD",
        "fromDate": "START_DT",
        "toDate": "END_DT"
    }
}
Beschreibung
  • dataType:
    • Beschreibung: Der Typ der Datensätze, die im zweiten Level angezeigt werden.
    • Mögliche Werte: TODO etc.
  • orderByField:
    • Beschreibung: Das Feld, nach dem die Daten sortiert werden sollen.
    • Mögliche Werte: String, z.B. "START_DT".
  • orderDirection:
    • Beschreibung: Die Richtung, in der sortiert wird.
    • Mögliche Werte: "ASC"; "DESC".
  • stateColors:
    • Beschreibung: Farbliche Auswertung der Eingabehilfen eines Datenbankfeldes.
    • dataField: Das Feld, dessen Status die Farbe definiert.
    • colors: Die Zustandsfarben. Mögliche Unterwerte:
      • „erledigt“: Hex-Farbe für den Status „erledigt“.
      • „inBearbeitung“: Hex-Farbe für den Status „in Bearbeitung“.
      • „default“: Standardfarbe, falls kein Zustand passt.
  • fields:
    • firstLine:
      • Beschreibung: Feld für die Bezeichnung des Datensatzes
      • Mögliche Werte: Ein String-Feldname, z.B. „KEYWORD“.
    • fromDate und toDate:
      • Beschreibung: Start- und Enddatum für die Daten.
      • Mögliche Werte: Ein Datumsfeld, z.B. „START_DT“.


concatenationLinks

"concatenationLinks": {
    "colors": {
        "endStart": "rgb(120, 120, 120)",
        "endEnd": "rgb(121, 66, 66)",
        "startStart": "rgb(68, 121, 66)"
    }
}
Beschreibung
  • colors:
    • Beschreibung: Definiert spezifische Farben für Verknüpfungen basierend auf den Beziehungen zwischen Start und Endpunkten.
    • Mögliche Werte:
      • EndStart: Verbindungsfarbe für Beziehungen "Ende zu Start".
      • EndEnd: Verbindungsfarbe für Beziehungen "Ende zu Ende".
      • StartStart: Verbindungsfarbe für Beziehungen "Start zu Start".


tooltips

"tooltips": [
    {
        "dataType": "TODO",
        "rows": [
            {
                "dataFields": [
                    {
                        "field": "TODOOWNER",
                        "formatAs": "STRING"
                    }
                ],
                "output": {
                    "text": "TODOROW1"
                }
            },
            {
                "dataFields": [
                    {
                        "field": "WORKINGPERCENT",
                        "formatAs": "NUMBER"
                    }
                ],
                "output": {
                    "text": "TODOROW2"
                }
            },
            {
                "dataFields": [
                    {
                        "field": "WORKINGSTATUS",
                        "formatAs": "STRING"
                    }
                ],
                "output": {
                    "text": "TODOROW3"
                }
            }
        ]
    },
    {
        "dataType": "TASK",
        "rows": [
            {
                "dataFields": [
                    {
                        "field": "TSKNUMBER",
                        "formatAs": "STRING"
                    }
                ],
                "output": {
                    "text": "TASKROW1"
                }
            },
            {
                "dataFields": [
                    {
                        "field": "DURATION",
                        "formatAs": "NUMBER"
                    },
                    {
                        "field": "START_DT",
                        "formatAs": "DATE"
                    }
                ],
                "output": {
                    "textSingular": "TASKROW2SINGULAR",
                    "textPlural": "TASKROW2PLURAL"
                }
            }
        ]
    }
]

Beschreibung
  • tooltips:
    • dataType:
      • Beschreibung: Gibt den Datentyp an, für den der Tooltip verwendet wird.
      • Mögliche Werte: "TODO", "TASK"
    • rows:
      • Beschreibung: Eine Sammlung von Tooltip-Definitionen für die spezifischen Datensätze des angegebenen Datentyps.
      • dataFields:
        • field:
          • Beschreibung: Gibt den Namen des Datenbankfeldes an, dessen Wert im Tooltip angezeigt wird.
          • Beispiele: "TODOOWNER", "WORKINGSTATUS", "TSKNUMBER", "IST", "START_DT"
        • formatAs:
          • Beschreibung: Gibt an, wie das entsprechende Feld formatiert werden soll.
          • Mögliche Werte: "STRING", "NUMBER", "DATE"
      • output:
        • text:
          • Beschreibung: Gibt einen einfachen Tooltip-Text für statische Inhalte oder ohne Plural-Unterscheidung an.
          • Hinweis: Der Text ist ein Schlüssel, der in einer Language-Datei referenziert wird.
        • textSingular/textPlural:
          • Beschreibung: Erzielt eine Plural-Unterscheidung, wenn erforderlich (z. B. "1 Tag" vs. "2 Tage").
          • Hinweis: Funktioniert nur, wenn das dazugehörige Feld vom Typ "NUMBER" ist.
          • Platzhalter: Werte aus den dataFields-Feldern können im Text der Language Datei durch {{ Feldname }} eingefügt werden.

Hinweise - Es darf entweder der Parameter text oder die Parameter textSingular und textPlural angegeben werden. - Die tatsächlichen Tooltip-Texte sind nicht direkt in der JSON definiert, sondern werden über die Language-Dateien gesteuert (z. B. de.json, en.json). - Platzhalter ({{ Feldname }}) repräsentieren Werte aus den dataFields und werden dynamisch durch die Datenbankwerte ersetzt.

App Designer

  1. Loggen Sie sich im genesisWorld SmartDesign ein.
  2. Öffnen Sie die Administrations-App.
  3. Klicken Sie auf den App Designer Abschnitt im linken Teil der Seite.
  4. Klicken Sie im Kästchen Session auf "Aktivieren".
  5. Navigieren Sie im Anschluss in die App wo das Widget eingebunden ist.
  6. Öffnen Sie eine beliebige App und navigieren Sie zu einem beliebigen Datensatz.
  7. Klicken Sie am oberen rechten Rand der Seite auf "Anpassen".
  8. Klicken Sie nun auf das Widget um die Konfiguration zu bearbeiten.

image.png

Parameter Mögliche Werte Beschreibung
Konfigurationsdatei example-config.json Name und Dateiendung der zu verwendenden Konfigurationsdatei.
Anzeigebreite 400px Breite des Widgets
Anzeigehöhe 400px Höhe des Widgets

Übersetzung

Im Standard werden immer Deutsch und Englisch mitgeliefert (de.json; en.json). Anpassungen können in den Dateien vorgenommen werden, jedoch ist zu beachten, dass diese bei einem Update des Widget überschrieben werden.

Pfad zu den Übersetzungsdateien:

C:\Program Files (x86)\Common Files\CAS-Software\Server\JavaServices\smartdesign-apps\{@DATENBANKNAME}\smartdesign.base\smartdesign\base\webcontent\{WIDGETNAME}\assets\lang

Wenn Sie für eine Widget-Integration individuelle Übersetzungen benötigen, erstellen Sie eine Kopie der Standard-Sprachdatei und benennen diese passend zur Konfigurationsdatei des Widgets.

Vorgehen:

  • Konfigurationsdatei: Jedes Widget hat eine eigene Konfigurationsdatei, z.B. example-config.json.
  • Standardsprachdatei: Standardmäßig werden de.json und en.json verwendet.
  • Angepasste Sprachdatei: Erstellen Sie eine Kopie und benennen Sie sie z.B. example-config_de.json für Deutsch.

INFO

Wenn eine angepasste Sprachdatei verwendet wird, müssen die nachfolgenden Parameter in der Konfigurationsdatei des Widget auf true gesetzt werden. Weitere Informationen finden Sie hier.
- useTranslations
- useTranslationsConfiguration

Beispieldatei:

{
    "TODAY": "Heute",
    "CW": "KW",
    "ADJUSTEND": "Enddatum anpassen",
    "ADJUSTSTART": "Startdatum anpassen",
    "RESCHUDULE": "Verschieben",
    "EDITLINK": "Verknüpfung bearbeiten",
    "CREATELINK": "Verknüpfung erstellen",
    "SAVE": "Speichern",
    "CANCEL": "Abbrechen",
    "STARTDATE": "Start Datum",
    "ENDDATE": "End Datum",
    "MOVE": "{{ DATATYPE }} verschieben",
    "STARTLINKELEMENTS": "mit Start verknüpfte Elemente",
    "ENDLINKELEMENTS": "mit Ende verknüpfte Elemente",
    "UNLINK": "Verknüpfungen lösen",
    "SELECTITEM": "Element auswählen",
    "FROMTO": "von - zu",
    "OFFSETTIME": "Versatzzeit in Tagen",
    "DESCRIPTION": "Bezeichnung",
    "DURATION": "Dauer in Tagen",
    "FREEITEMS": "Freie Elemente",
    "LINKEDITEMS": "Verknüpfte Elemente",
    "NEWITEM": "neuer {{ ITEM }}",
    "ENDSTART": "Ende-Beginn",
    "ENDEND": "Ende-Ende",
    "STARTSTART": "Beginn-Beginn",
    "HASNOSTARTERROR": "Beim Datensatz Projekt wurde ein ungültiges oder fehlendes Datum festgestellt.",
    "HASNOENDERROR": "Beim Datensatz Projekt wurde ein ungültiges oder fehlendes Datum festgestellt.",
    "ISOUTSIDEERROR": "Der {{ DATATYPE }} liegt außerhalb des zugehörigen Projektes.",
    "STARBEFORERROR": "Beim Datensatz {{ DATATYPE }} wurde festgestellt, dass der Start zeitlich vor dem Ende des Ausgangsdatensatzes liegt.",
    "ENDSTARTERROR": "Es wurde festgestellt, dass der Start des verknüpften {{ DATATYPE }} zeitlich vor dem Ende des Ausgangsdatensatzes liegt.",
    "STARTSTARTERROR": "Der Datensatz {{ DATATYPE }} hat eine ungültige Verknüpfung: Der Start beginnt früher als der Start des Ausgangsdatensatzes",
    "ENDENDERROR": "Der Datensatz {{ DATATYPE }} enthält eine ungültige Verknüpfung: Das Ende des verknüpften {{ DATATYPE }} liegt vor dem Ende des Ausgangsdatensatzes",
    "TASKROW1":"Nummer: {{ TSKNUMBER }}",
    "TASKROW2SINGULAR": "Beginn: {{ START_DT }} Dauer: {{ IST }} Tag",
    "TASKROW2PLURAL": "Beginn: {{ START_DT }} Dauer: {{ IST }} Tage",
    "TODOROW1": "Bearbeiter: {{ TODOOWNER }}",
    "TODOROW2" :"Stand Bearbeitung: {{ WORKINGPERCENT }}%",
    "TODOROW3": "Arbeitstatus: {{ WORKINGSTATUS }}",
    "MILESTONEROW1": "Status: {{ STATUS }}"
}

Beschreibung

TODAY
Beschriftung für den heutigen Tag.

CW
Anzeige der Kalenderwochen.

ADJUSTEND
Schaltfläche zur Anpassung des Enddatums.

ADJUSTSTART
Schaltfläche zur Anpassung des Startdatums.

RESCHUDULE
Option zur Verschiebung einer Verknüpfung.

EDITLINK
Schaltfläche zum Bearbeiten einer Verknüpfung zwischen Elementen.

CREATELINK
Schaltfläche zum Erstellen einer Verknüpfung zwischen Elementen.

SAVE
Schaltfläche zum Speichern.

CANCEL
Schaltfläche zum Abbrechen.

STARTDATE
Feld oder Text für das Startdatum eines Elements.

ENDDATE
Feld oder Text für das Enddatum eines Elements.

MOVE
Aktion oder Hinweis zum Verschieben eines Datentyps, z. B. Aufgabe oder Vorgang.

STARTLINKELEMENTS
Liste der mit dem Startpunkt verknüpften Elemente.

ENDLINKELEMENTS
Liste der mit dem Endpunkt verknüpften Elemente.

UNLINK
Schaltfläche zum Lösen von Verknüpfungen.

SELECTITEM
Aktion zum Auswählen eines spezifischen Elements.

FROMTO
Darstellung der Zeitspanne, z. B. „von - zu“.

OFFSETTIME
Text zur Einstellung der Versatzzeit in Tagen.

DESCRIPTION
Feld für die Bezeichnung eines Elements.

DURATION
Anzeige der Dauer eines Vorgangs oder der Zeit in Tagen.

FREEITEMS
Liste aller freien (nicht verknüpften) Elemente.

LINKEDITEMS
Liste aller verknüpften Elemente.

NEWITEM
Option zur Erstellung eines neuen Elements, abhängig vom Typ.

ENDSTART
Text zur Beschreibung einer Ende-Beginn-Verknüpfung.

ENDEND
Text zur Beschreibung einer Ende-Ende-Verknüpfung.

STARTSTART
Text zur Beschreibung einer Beginn-Beginn-Verknüpfung.

HASNOSTARTERROR
Fehlermeldung bei ungültigen oder fehlenden Startdatumsinformationen.

HASNOENDERROR
Fehlermeldung bei ungültigen oder fehlenden Enddatumsinformationen.

ISOUTSIDEERROR
Fehlermeldung, wenn ein Datensatz außerhalb des zugehörigen Projekts liegt.

STARBEFORERROR
Fehlermeldung bei einem Startdatum das vor dem Enddatum liegt.

ENDSTARTERROR
Fehlermeldung bei einer Start-Ende-Verknüpfung mit ungültiger Reihenfolge.

STARTSTARTERROR
Fehlermeldung, wenn ein Startdatum früher als das Startdatum des Ausgangsdatensatzes ist.

ENDENDERROR
Fehlermeldung, wenn ein Enddatum vor dem Enddatum des Ausgangsdatensatzes liegt.

TASKROW1
Tooltip: Nummer des Datensatzes, basierend auf Platzhalter.

TASKROW2SINGULAR
Tooltip: Beginn und Dauer, Singular (z. B. 1 Tag) anzeigen.

TASKROW2PLURAL
Tooltip: Beginn und Dauer, Plural (z. B. 2+ Tage) anzeigen.

TODOROW1
Tooltip: Anzeigen des Bearbeiters.

TODOROW2
Tooltip: Fortschritt in Prozent anzeigen.

TODOROW3
Tooltip: Arbeitsstatus anzeigen.

MILESTONEROW1
Tooltip: Status des Meilensteins anzeigen.

Möchte man das Widget mehrfach mit unterschiedlichen Konfigurationen und Übersetzungen verwenden, so muss folgendes beachtet werden.

1. Anpassungen der ACP-config.json

Die Datei ist unter folgendem Pfad abgelegt:

C:\Program Files (x86)\Common Files\CAS-Software\Server\JavaServices\smartdesign-apps\{@DATENBANKNAME}\smartdesign.base\smartdesign\base\webcontent\{WIDGETNAME}\assets

Die Parameter "useTranslations" und "useTranslationsConfiguration" müssen auf "true" gesetzt werden.

{
    "logLevel":"ERROR",
    "useTranslations": true,
    "useTranslationsConfiguration": true
}

Beschreibung
  • logLevel:
    • Beschreibung: Einstellung des Widget, welche Informationen in der Konsole angezeigt werden.
    • Mögliche Werte: Error, Warning, General
  • useTranslations:
    • Beschreibung: Einstellung ob für das Widget Übersetzungen aktiviert werden.
    • Mögliche Werte: true / false
  • useTranslationsConfiguration:
    • Beschreibung: Einstellung ob explizite Übersetzungskonfiguration verwendet werden soll.
    • Mögliche Werte: true / false

2. Sprachdatei für Konfiguration erstellen

Erstellen Sie eine Kopie der "de.json" Datei und ändern Sie den Namen wie folgt:

Bsp.:

Konfigurationsdatei: example-config.json
Sprachdatei: de.json
Angepasste Sprachdatei: example-config_de.json

Nun wird die Sprachdatei nur für das Widget angewendet, bei dem die entsprechende Konfiguration hinterlegt ist.