Beiträge von volker.trotte

Als Gast kann das komplette Forum angesehen werden. Um selbst Beiträge oder Themen verfassen zu können, musst du dich erst registrieren.

    Das hier

    Zitat

    Port 8981 is already being used by another process (pid: 8668)

    Please choose a different port using the -p option.

    ist wohl das problem

    Das sagt, Port 8981 ist bereits belegt (den will solr benutzen).
    Da spricht dafür, das solr oder ein anderer Prozess, der den Port benutzt bereits läuft.
    Das müsste geprüft werden.


    Bei Debian können man das über

    Code
    netstat -tulpn | grep 8981

    versuchen.
    Da bekommt man dann alles zu sehen, was ggf. auf diesem Port läuft inklusive der pid.
    Dieser Prozess müsste dann genauer analysiert werden (wieso, weshalb, warum)

    PeterStrothmann

    Einen solchen Ansatz gab es seitens agorum mal (nur in der Pro-Variante) - wurde aber schon vor mehreren Jahren abgekündigt und verworfen.
    Das aktuelle Vorgehen ist, die Daten mit der vorhanden Ordnerstruktur ins agorum übertragen und dann den Netzlaufwerkpfad anzupassen.

    Ist nicht perfekt, geht aber auch mit der open-Variante.

    Fabian

    Wenn du dir das Thema Import/export genauer anschaust, dann stellst du fest, dass du via export.yml eine zip-Datei erstellen/herunterladen kannst.

    DIese kannst du ins git bringen. Entweder direkt die zip-Datei oder die entpackte Version der zip-Datei (wobei es ja nach export darin weitere zip-Dateien geben kann).

    Es gibt kleine Tools, mit denen sich auch zip-Dateien in Git vernünftig verwalten lassen können (Stichwort diff).
    Das ist die die einfachste, wenn gleich nicht eleganteste Methode.


    Es gibt noch weitere Möglichkeiten, die aber etwas aufwändiger sind.

    So könntest du z.B. per Netzlaufwerk und Visual Studio Code (oder einer beliebigen IDE) die Änderungen tracken und ans git anbinden.

    Majob oder NorbertK haben auch noch viel weitergehende Ansätze, die noch wesentlich tiefer gehen und komplexer sind.

    Hallo ihost,

    habe Sie auch schonmal das Originaldokument von Veeam ausprobiert?
    Unter https://www.veeam.com/wp-consi…ection-mysql-mariadb.html


    Woran sehen Sie, dass das Backup nicht geklappt hat? Kommt ein Fehler? Wenn ja, welche Fehlermeldung kommt?


    Grundsätzlich ist die Frage, ob ein Livebackup (agorum selbst wird nicht gestoppt) oder ein Coldbackup (agorum wird gestoppt) gemacht werden soll. Je nach dem sind ggf. weitere Dinge bei Einrichtung und Test eines Backup/Restore-Prozesses zu beachten (z.B. Backup/Restore von SolR etc.).

    Fabian:
    Es würde ausreichen, dem Widget die ID des Ordners mitzugeben.

    Dann per common/metadata die metadata des ordners laden.

    Dieser erweitern,

    dann auf dem erzeugten dokument speichern.

    Etwa so:


    Beachte, dass wir hier
    -> explizit agorum.composite.form verwenden

    -> eine weitgehend aktuelle agorum Version nutzen (>=11.3)

    -> die IDs natürlich angepasst werden müssen

    -> Metadaten generell ein Präfix haben sollten (z.B. fabian_briefBetreff)
    -> und (eine Empfehlung meinerseits) metadaten immer klein geschrieben werden sollten (z.B. fabian_brief_betreff), da du sonst immer bei Suchen nach Metadaten mit Groß- und Kleinschreibung durcheinander kommst.

    Fabian

    wenn cih das richtig sehe ist

    metadataObject ein property (eigenschaft) des widgets

    D.h. es kann "von außen" dem widget das metadataObject gegeben bzw. verändert.
    Wenn man das script so startet, wie es in deinem Post ist, ist metadataObject undefined, weil es nirgendwo gesetzt wird.

    Rufst du das widget von woanders aus auf?


    Was genau willst du eigentlich erreichen?

    Wenn du Metadaten lesen willst, dann nutze doch einfach common/metadata.

    Fabian

    poste doch mal deinen Quellcode, ggf. auch Screenshots vom System, wo der Quellcode zu sehen ist, damit wir den Kontext sehen können, in dem es ausgeführt wird.

    Gerne auch mal die Ausgabe von

    throw JSON.stringify(metadataObject);

    bzw. throw typeof metadataObject;

    Fabian:

    Zitat

    Der Zugriff auf die Variable erfolgt ohne Definition in der Zeile data._capitalPath = "Ordnername";

    data._capitalPath ="Ordnername" ist eine Definition.
    Hier wird die Eigenschaft (key) _capitalPath mit dem Wert (value) "Ordnername" des Javascript-Objektes data definitiert.


    Ein JS-Objekt kann beliebig viele key-value-Paare haben.


    Schau dich gerne einfach mal in Richtung Objektorientiertes Programmierung (OOP) um, da das Grundprinzip klarer. (z.B. hier: wiki.selfhtml.org)

    Noch ein Standardbeispiel:


    let auto = 

    {

    farbe: "grün"

    tueren: 5

    };

    auto.scheibenwischer = true;


    Das Objekt "auto" hat nun die Eigenschaften "farbe", "tueren" und "scheibenwischer" mit den jeweiligen Werten "grün" (string), 5 (number) und true (boolean);


    OOP selbst geht noch viel weiter, aber die grundlegende Erkenntnis ist, dass man ein Objekt mit beliebigen Eigenschaften hat.

    Ich hatte die vorhergehenden Tutorials durchgearbeitet. Auch die MetaDaten sind über die metadata.yml vordefiniert und eingespielt. Dennoch bekomme ich Sie nur in die obere Tabelle eingefügt. der "Stift" der unteren Tabelle lässt (browserunabhängig) keine Aktion zu. Nur das Feld "Optional" lässt sich hier editieren.


    Ohne screenshot etwas schwer - aber ich vermute einfach mal, dass es um die untere Tabelle direkt auf der "Akte" im Smart-Assistant-Konfigurator Punkt "Anlage" geht (die Ebene mit dem Plus-Symbol davor).

    Diese Metadaten werden automatisch aus der tieferliegenden Struktur übernommen und von dort nur solche Metadaten, die keinen festen Werden haben - also eingegebene werden müssen.

    Angenommen deine Struktur hat einen Hauptordner "Akte".
    Auf diesem legst du fest, das er Metadatum "a" und Metadatum "b" hat (vorher über metadata.yml erstellen).

    Bei Metadatum a schreibst du in der Spalte "Fester Wert" ein beliebiges Wort rein, in Metadatum "b" kommt nichts rein, das ist leer.


    Dann erscheint Metadatum b auf der obersten Ebene in der unteren Tabelle und du kannst nur noch sagen, ob das optional ist oder nicht (dann ist es Pflicht)