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.

    Hallo evgeninikolov ,

    ich nehme an, man verknüpft die Dokumenten programmtechnisch. Gibt es Bespiele oder Hinweise, wie man es machen kann?

    Ja, man kann die Dokumente per JS verknüpfen.
    Ein Beispiel und Erklärung findest du in der Doku zu common/objects.
    Bitte beachte den "Tipp"-Kasten:

    Zitat

    Nutzen Sie das Funktionspaar (link()/unlink(), add()/remove()) zusammen, um Objekte zu verschieben.

    Nutzen Sie eine der Funktionen link()/add(), um Dokumente zu verlinken.

    Nutzen Sie unlink()/remove(), um Verlinkungen zu entfernen.


    Wäre es möglich in Agorum Core Open das Kontextmenü zu Ändern, damit die Funktion wieder zu Aktivieren? Ich bin zwar neu bei Agorum, aber ich sehe, das ziemlich vieles konfigurierbar ist, was mich bei diesem DMS fasziniert.

    Ja, dass geht - ist aber meiner Meinung nach der Pro Version vorbehalten - oder annkatrin.goepfert ?




    Und, last but not least, wie könnte man als normalsterblicher, irgendwie Dokumente zusammenführen, wenn Verknüpfen per UI nicht mehr möglich ist?

    Solange es sich um PDFs handelt geht das durchaus (nur bei encrypted-PDFs natürlich nicht).

    Dazu bietet sich der Workflow-Knoten "agorum.object.pdf.organize.ui" an - ich bin mir aber grade unsicher, ob es workflow 3.0 in der open-Version gibt.

    Darin findet sich im Zweifel auch der Quellcode, um eigene PDF-behandlungen vornehmen zu können - aber das geht dann schon sehr tief in die Entwicklung rein.

    Hallo @evgeninikolov

    Die Funktion "verknüpfen" ist im Standard seitens agorum im Frontend nicht eingebaut, technisch aber sehr wohl möglich und wir als Dienstleister benutzen das auch regelmäßig, um verschiedene Dokumente (z.B. Rechnungen, Lieferscheine, Warenscheine usw.) miteinander zu verbinden, so dass die user schnell von Dokument a zu b kommen.

    Von daher ist es kein "Bug" sondern ein normales, allerdings technisches Feature.


    Interessant wird es erst wieder, wenn es darum geht, Dokumente zu "entknüpfen". Stand jetzt ist mir nicht bekannt, dass es dazu eine Oberfläche gäbe.

    Das müsste dann tatsächlich zunächst auf script-ebene gelöst werden oder eine Oberfläche gebaut werden.

    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.