Re: [Kraft-user] Kraft - Dokumentenverwaltung auf Verzeichnisebene: Version 0.0.0.1
Kraft helps to handle daily quotes and invoices in your small business
Brought to you by:
kfreitag
From: Axel B. <ab...@si...> - 2014-02-12 23:34:51
|
Hi Klaas, @all >> der vierte Versuch ... ich probiers mal ohne Signatur. >Das Problem scheint zu sein, dass die ersten ... Modems auch geholfen hat ;-) Was ich nicht verstehe: obwohl als "Text/Plain" abgefasst, war die gesendete Nachricht hinterher in HTML... Was solls, schreibe ich eben in Kate. Ich muss auch mal nachsehen, warum ich von der kraft-user-Mailingliste nichts mehr empfange. ------------------------------------------------------------------------------- Part 1: >> - wenn es ein "kundenspezifisches Verzeichnis" gibt, lägen eben jene Kraft- >> Dokumente vor > Das kundenspez. Verzeichnis läge dann in $HOME/KraftTestAkten ? und Part 2: >> Klaas, gibt es die Möglichkeit, das "kundenspezifische Verzeichnis" zu >> erstellen? Eine Idee wäre: >> - $HOME/.kde/share/apps/kraft/archivePDF/UID >> - $HOME/.kde/share/apps/kraft/archivePDF/UID/Angebote >> - $HOME/.kde/share/apps/kraft/archivePDF/UID/Rechnungen >> (also einfach alle Dokumenttypen) >Ja, das kann ich tun. Danke Dir, damit erschlagen wir fast alle Aufgaben auf einmal. Sorry, zu (1) habe ich mich schlecht erklärt: Mit "das kundenspezifische Verzeichnis" war das/Dein neues Verzeichnis nebst Unterverzeichnissen (zu 2) gemeint, in dem Kraft zukünftig die erstellten PDF-Dokumente "je nach Dokumenttyp" entsprechend der von Kraft genutzten contact-uid des Empfängers/Kunden ablegen soll. electronic-file_create.sh guckt nun in den Zeilen 68 - 75 nach, ob es dieses "kundenspezifische Verzeichnis" unterhalb $HOME/.kde/share/apps/kraft/archivePDF gibt. Wenn ja, wird dieses gleich in das (derzeit) aus den KAddressbook-Kontakten neu erstellte "Kontakt- Verzeichnis" (z.B. Max_Mueller) unterhalb "$HOME/Aktenverwaltung" (hier noch als KraftTestAkten bezeichnet) gelinkt (Zeile 72). Der Nutzer findet also im jeweiligen "Kontakt-Verzeichnis" ein Unterverzeichnis z.B. "Kraft- Dokumente_Max_Mueller", und in dem wiederum in ihren eigenen (verlinkten) Unterverzeichnissen alle Angebote, Auftragsbestätigungen, Rechnungen etc.; fein säuberlich und speziell zu diesem Kontakt "Max_Mueller". ------------------------------------------------------------------------------- >> - bei Rechtsklick auf irgendeine Datei findet sich ein Sub "Test" im >> Kontextmenue >> - Sub "Test" holt aus der versteckten Datenressource die Mailadresse (sofern >> in der entsprechenden *.vcf vorhanden) und macht eine Mail (KMail) an den >> Empfänger fertig >Cool! Das ist ja nur der Bequemlichkeit geschuldet; warum erst KMail starten, Empfänger auswählen, was Nettes schreiben, Dokument anhängen nicht vergessen und dann auch noch auf [Senden] klicken. Viel zu viel Arbeit mit der man sich den Tag versaut, das soll mal schön der Rechner machen, ist seine Aufgabe. Vor allem, da die Implementation an sich simpel ist: für jede Aufgabe eine Desktop-Datei und ein Script. Das wars. Beide werden in jedes "Kontakt- Verzeichnis" und in dessen Unterverzeichnisse kopiert, holen sich bei Aufruf aus der versteckten Daten-Ressource die benötigten Parameter und erledigen ihren Job. In der endgültigen Ausbaustufe gibt es dann solche Subs, die z.B. in einen Brief schon mal die Adresse einsetzen oder das gewählte Dokument direkt per Fax versenden, einen möglichen Termin im Kalender suchen oder, ganz wichtig, ein Dokument mit /usr/local/bin/kraft --option zur sofortigen Bearbeitung starten usw. >Du weisst aber, dass man mit Kraft auch Dokumenten direkt vermailen >kann? Wobei dieser Mechanismus natürlich weit mehr Möglichkeiten bietet >als "nur" das wegmailen... Besonders das mit dem Service-Menu ist ne >super Idee. Ja, wenn ich direkt mit Kraft arbeite, drucke / maile ich auch direkt über das Kontextmenue. Am Rande: Dabei ist mir übrigens aufgefallen, dass die Mailadresse des Empfängers nicht an KMail übergeben wird. Ist das beabsichtigt? Es erschiene mir schlüssig, die bevorzugte Mailadresse gleich mitzugeben. ------------------------------------------------------------------------------- >Ein Problem hat die Lösung noch: Es setzt voraus, dass die Kontaktdaten >wirklich als resource-files rumliegen. Ich verwende zb. das Adressbuch >von ownCloud als Backend für Akonadi, weil damit das Sharen von den >Adressen über mehrere Accounts möglich wird. Das klappt dann nicht mehr. Du hast völlig recht! Daten nur unterhalb $HOME/.local/share/contacts zu suchen, ist daneben. Mit jetzigem electronic-file_create.sh würde in Deinem Fall korrekt ein leeres Verzeichnis Namens "KraftTestAkten" angelegt. Das liegt wohl daran, dass ich (zu fortgeschrittener Stunde auf den Rat eines befreundeten Arztes hin) aus Gründen der individuellen Daseinsvorsorge, zur Selbsterhaltung und Schmerzlinderung das Thema Akonadi letztlich erfolgreich verdrängt habe, denn Medikamente gibt es, soweit mir bekannt, gegen Akonadi noch nicht und die Regierung schaut nur zu. Andererseits müssen selbstverständlich alle möglichen Kontakte aus dem Akonadispeicher geholt werden. Ich habe es in den vergangenen zwei Jahren trotz API-Dokumentation und allerlei Hinweisen nicht gerafft, wie ich beispielsweise einen Kontakt aus Akonadi holen kann; daher meine Bitte an Dich, da Du, im Gegensatz zu mir, ein richtiger Programmierer bist: Könntest Du mir bei Gelegenheit je eine gut kommentierte Header- und CPP-file zukommen lassen, welche nach compilen nichts anderes tut, als bei Aufruf mit Parameterübergabe (z.B. Name) einen beliebigen Wert des aufgerufenen Kontakts (z.B. Tel-Nr oder Adresse) auf stdout schreibt, bzw ein Exemplar, welches einfach alle contact-uid ausgibt? Anhand dessen könnte ich nicht nur lernen, wie es wirklich geht, sondern ein Programm schreiben, welches die Zeilen 35 - 43 in electronic-file_create.sh ersetzt und sämtliche Kontaktressourcen mitnimmt. Auch könnte ich besagtem Arzt dann mitteilen, daß er eine Weile mit Bier bezahlen dran ist, weil seine Ratschläge nichts taugen. ------------------------------------------------------------------------------- >Einen "Gesendet Status" gibts ja in Kraft noch nicht. Das werde ich >alsbald mal einbauen. Hast Du Input, wie das genau aussehen sollte? Eine richtig gute Idee noch nicht. Mir schwebt derzeit etwas vor, wie: - Dateiname des Dokuments in Variable schreiben. - KMail Sent Folder durchsuchen, welche Mail-ID den Dateinamen enthält, - Versanddatum- und Uhrzeit jener Mail-ID in Variable schreiben, - Nepomuk Tag "gesendet am $Variable" in Metadaten des Dokuments schreiben Ich denke aber bereits darüber nach und gebe Dir entsprechend Nachricht. ------------------------------------------------------------------------------- >> Wenn Kraft mit folgenden Optionsschaltern ausgestattet wäre: >> --uid (contact uid) >Was macht der? siehe unten >> --doctype (Dokumenttyp) >> dann könnten mit electronic-file_create.sh einige *.desktop Dateien in das >> "Kontakt Verzeichnis" kopiert werden, die dann Kraft mit gewünschtem >> Dokumenttyp und mit den entsprechenden Kontaktdaten vorausgefüllt aufrufen. >Ah, wenn man vom Dateisystem ausgehend ein Dokument an den Kunden >erstellen möchte? Coole Idee! Korrekt. Mit Kommandozeilenoptionen würden bei Parameterübergabe folgende Funktionalitäten mit einem einfachen Klick auf eine "ausführbare Datei = Desktop-Datei" innerhalb des "Kontakt-Verzeichnis" von z.B. "Max_Mueller" erreicht: "Angebot erstellen" ruft auf: /usr/local/bin/kraft --uid --doctype Angebot "Rechnung erstellen" ruft auf: /usr/local/bin/kraft --uid --doctype Rechnung "XYZ machen" ruft auf: --uid --... usw. wobei --uid mit der contact-uid von Max Mueller (aus der versteckten Daten- Ressource) ersetzt wird, oder bei Rechtsklick auf ein bestehendes Kraft-Dokument im Kontextmenue: (Pseudocode sinngemäß) die Sub "Folgedokument erstellen" [code] [Desktop Action Test] ... Exec=$HOME/.kde/share/kde4/services/folgedokument.sh %f [/code] ruft . folgedokument.sh wie folgt auf: [code] case basename $1 in .*Angebot.*) /usr/local/bin/kraft -d $1 --follow --doctype Auftragsbestätigung ;; .*Auftragsbestätigung.*) /usr/local/bin/kraft -d $1 --follow --doctype Rechnung ;; .*Muster3.*) Kommando3 ;; esac [/code] wobei --follow einen Optionsschalter darstellt, der dem Aufruf mitteilt: "Kraft-Folgedokument" zu -d "Dokumentnummer" ------------------------------------------------------------------------------- Alles in allem sind wir, so denke ich, auf dem richtigen Weg. Zum Ende 2014 sage ich heute schon mal den Import für DATANORM, EDIFACT und Co an. Danke Dir Grüße aus Hamburg axel beu (ab) ------------------------------------------------ On 11.02.2014 14:36, Axel Beu wrote: Hi Axel, > der vierte Versuch ... ich probiers mal ohne Signatur. Das Problem scheint zu sein, dass die ersten drei mails als html kamen, was die ML scheinbar nicht ordentlich rendert, und früher mal, dass die Mails zu grosse Attachments hatten. Mailinglisten-SW lehnt zu grosse Attachments, manchmal sogar Attachments überhaupt, ab, was zu Zeiten von Modems auch geholfen hat ;-) > Bezug nehmend auf: > http://sourceforge.net/p/kraft/mailman/message/31925529/ > liegt die erste Version einer Dokumentenverwaltung auf Verzeichnisebene vor. Sehr cool! Danke, dass Du das hier vorstellst! > > Anhänge: > electronic-file_create.sh - z.B. im Homeverzeichnis ablegen + ausführbar machen > servicemenu_test.desktop - in $HOME/.kde/share/kde4/services verschieben > testdesktop.sh - in $HOME/.kde/share/kde4/services verschieben > > Die Wirkung vorgenannter Scripte und Dateien wurde unter Debian/siduction > getestet, sollte aber auch unter anderen Distributionen mit KDE SC > funktionieren. Wer testen will, kann in electronic-file_create.sh eigene > Verzeichnisse anlegen (Zeilen 61-63) > Wie immer, bitte Umsicht bei der Verwendung walten lassen! > > Funktionsweise Anlage: > - prüft, ob ein Verzeichnis "KraftTestAkten" existiert > -- wenn nicht, wird es angelegt > - holt aus allen *.vcf unterhalb $HOME/.local/share/contacts Informationen > - legt unterhalb $HOME/KraftTestAkten für jeden Kontakt ein eigenes > Verzeichnis an > - füllt dieses Verzeichnis mit Unterverzeichnissen und je einer versteckten > Datenressource > - prüft, ob unterhalb $HOME/.kde/share/apps/kraft/archivePDF ein Verzeichnis > "UID" existiert > -- wenn ja, wird ein Link darauf erstellt > > Funktionsweise Betrieb: > - wenn es ein "kundenspezifisches Verzeichnis" gibt, lägen eben jene Kraft- > Dokumente vor Das kundenspez. Verzeichnis läge dann in $HOME/KraftTestAkten ? > - bei Rechtsklick auf irgendeine Datei findet sich ein Sub "Test" im > Kontextmenue > - Sub "Test" holt aus der versteckten Datenressource die Mailadresse (sofern > in der entsprechenden *.vcf vorhanden) und macht eine Mail (KMail) an den > Empfänger fertig Cool! Du weisst aber, dass man mit Kraft auch Dokumenten direkt vermailen kann? Wobei dieser Mechanismus natürlich weit mehr Möglichkeiten bietet als "nur" das wegmailen... Besonders das mit dem Service-Menu ist ne super Idee. Ein Problem hat die Lösung noch: Es setzt voraus, dass die Kontaktdaten wirklich als resource-files rumliegen. Ich verwende zb. das Adressbuch von ownCloud als Backend für Akonadi, weil damit das Sharen von den Adressen über mehrere Accounts möglich wird. Das klappt dann nicht mehr. Das könnte man lösen, indem Kraft die .resource_$NAME-Datei mitschreibt, richtig? > Funktionsweise ToDo in Version 0.0.0.2: > - Unterverzeichnis "empfangene Mails" + KMail-Filter > - Unterverzeichnis "gesendete Mails" + KMail-Filter > - Nepomuk-Tagging für das "Kontakt Verzeichnis" > - Nepomuk-Tagging für "gesendet Status" von Kraft-Dokumenten Einen "Gesendet Status" gibts ja in Kraft noch nicht. Das werde ich alsbald mal einbauen. Hast Du Input, wie das genau aussehen sollte? > ########################################### > > Klaas, gibt es die Möglichkeit, das "kundenspezifische Verzeichnis" zu > erstellen? Eine Idee wäre: > - $HOME/.kde/share/apps/kraft/archivePDF/UID > - $HOME/.kde/share/apps/kraft/archivePDF/UID/Angebote > - $HOME/.kde/share/apps/kraft/archivePDF/UID/Rechnungen > (also einfach alle Dokumenttypen) Ja, das kann ich tun. > > Zweiter Wunsch: > Gibt es eine Möglichkeit, Kraft mit zusätzlichen CLI-Optionen auszubauen? > > Begründung: > Wenn Kraft mit folgenden Optionsschaltern ausgestattet wäre: > --uid (contact uid) Was macht der? > --doctype (Dokumenttyp) > dann könnten mit electronic-file_create.sh einige *.desktop Dateien in das > "Kontakt Verzeichnis" kopiert werden, die dann Kraft mit gewünschtem > Dokumenttyp und mit den entsprechenden Kontaktdaten vorausgefüllt aufrufen. Ah, wenn man vom Dateisystem ausgehend ein Dokument an den Kunden erstellen möchte? Coole Idee! Dank Dir! Gruß, Klaas -- Kraft - KDE Software zur Rechnungslegung für Kleinunternehmen siduction - the community based OS www.siduction.org axel beu business development ab...@si... 7C82 C9E0 47E6 3223 7652 A8E6 D9B4 C366 9862 9A00 |