Das Notes Forum
Lotus Notes / Domino Sonstiges => Projekt Bereich => Help-Desk Applikation !!Help!! => Thema gestartet von: eknori am 02.08.05 - 18:16:21
-
... wird am 07.08 veröffentlicht.
Neben jeder Menge Bugfixes gibt es auch wieder ein paar neue Funktionen ( http://eknori.dyndns.org/HelpTheWiki.nsf/pages/HelpVersion110 )
Schön wäre es, wenn sich noch mehr Anwender hier: http://eknori.dyndns.org/HelpTheWiki.nsf/pages/AnWender eintragen würden.
-
Hier findet ihr eine kurze Erläuterung zum Eskalationsmanagements ( http://eknori.dyndns.org/HelpTheWiki.nsf/pages/EskalationsManagement )
Möglicherweise fällt jemandem noch etwas ein, was ich ( apllikationsblind ) vergessen habe.
-
Langsam aber sicher wird es; bin gerade dabei, die Beta2 zu testen. Wie immer hat Thomas in letzter Sekunde vor dem CodeFreeze noch fix was eingebaut. ;D
Hier als appetizer mal ein Screenshot der navigation; wie der sachverständige User unschwer erkennen kann, hat sich da so einiges getan :D
-
schick auch , zusätzliche Ansichten in die Navigation einzubinden ...
- erstelle die Ansicht im Designer
- Konfiguriere das entsprechende ConfigDoc
- Konfiguriere das Sprachdokument
-
FRage in die Runde:
wie sollen denn solche Dokumente behandelt werden, die schon ein oder zweimal eskaliert sind , dann zur Bearbeitung übernommen wurden und wieder nicht weiter bearbeitet werden ?
Macht es es Sinn, ein zusätzliches Feld "IT Termin" einzufügen ? Das Feld würde die Eskalation umgehen, wenn der Termin zwischen IT und dem Fragenden vereinbart wurde ( kann ja mal vorkommen, da0ß man das Ticket annimmt, aber dann feststellt, daß die Lösung erst am xx.xx.xxxx möglich ist.
-
Hallo!
Mach schon Sinn mit dem Termin, sollte dann aber nicht von jedem Supporter änderbar sein. Kompetenzsteuerung auf dieses Feld würde ich für sinnvoll halten.
Zudem vielleicht alle eskalitierten Docs in eine separate Ansicht stellen bzw. die Möglicheit einer Auswertung.
Noch ne Frage zum Eskalationsmanagement und speziell zu den Mailempfängern. Ich kann im Profil einen Empfänger hinterlegen, der dann beim Erfüllen des Kriteriums ne Mail mit Doclink bekommt. Was ist mit dem Supporter??? Bekommt der auch ne Mail??
Gruß Torsten
-
Macht schon Sinn mit dem Termin, sollte dann aber nicht von jedem Supporter änderbar sein. Kompetenzsteuerung auf dieses Feld würde ich für sinnvoll halten.
wir würden das Feld natürlich "monitoren", sprich dochistory.
Zudem vielleicht alle eskalitierten Docs in eine separate Ansicht stellen bzw. die Möglicheit einer Auswertung.
DAs ist kein Problem; alle eskalierten Dokumente haben zwei Felder
Escalated: 1 oder 2 bei erneuter Eskalation
EscalationDate
Dafür haben wir ja die benutzerdefinierten Ansichten, die du ( selber im Designer erstellen musst, aber ) ohne Designänderung in die Navigation einbinden kannst.
Was ist mit dem Supporter??? Bekommt der auch ne Mail??
Nein, der bekommt die Mail ja von seinem Vorgesetzten; zumal er ja seine offenen Tickets im Bereich "My Stuff" sehen kann. Man kann es mit den Benachrichtigungsmails auch übertreiben ;D
ich baue noch einen Indikator in die views ein, der anzeigt, ob escaliert wurde und in welcher Stufe
-
wir würden das Feld natürlich "monitoren", sprich dochistory.
Apropos Monitoren. äääh da hab ich auch was geändert. Da gibt es jetzt auch Konfigurationsdokumente für. Muss man nicht mehr programmieren, kann man einfach eintragen.
-
Die BETA 2 steht zum Download unter http://www.openntf.org/Projects/pmt.nsf/ProjectVersions/8A13E063B86E4F9586257056004707FA?OpenDocument zur Verfügung
-
OK, die Beta2 ist draussen; dann wollen wir uns doch schon einmal an ein paar Änderungen begeben ;D
Das Eskalationsmanagement verwendet die von Thomas eingeführten MailTemplates. Damit lassen sich also die Texte für die BenachrichtigungsMails als MailTemplate erstellen.
Um die Mails zu personalisieren wird es im Release die Möglichkeit geben, im RichText der MailTemplates Platzhalter zu verwenden ( z.B. <<RCPT>> für den Empfänger der Mail )
Im Template schreibt man dann einfach
Sehr geehrte(r) <<RCPT>>,
...
Das wird dann ersetzt durch:
Sehr geehrte(r) Ulrich Krause,
...
Das Ganze wird mit der FindAndReplace method der NotesRichTextRange class bewerkstelligt.
Ist ein schlapper 6 Zeiler, wenn man die Objekte erst einmal vorbelegt hat
While rtrange.FindAndReplace _
("<<RCPT>>",_ ' find
CommonNameString (Trim(atWord(Cstr(v),"|",1))),_ ' replace
RT_FIND_CASEINSENSITIVE) > 0
Call rtItem.Update ' Must update before looping
Wend
Ich denke, daß ich es bis zum Release hinbekomme, daß die Mailtemplates so funktionieren, das aus
Sehr geehrte(r) <<RCPT>>
Es gibt <<COUNT>> Tickets, die nicht angenommen wurden.
<<~DOCLINK>> <<~TICKETNUMBER>>
<<~PROBLEM>>
folgende Ausgabe herauskommt
Sehr geehrte(r) Ulrich Krause
Es gibt 2 Tickets, die nicht angenommen wurden.
COMM-6F2KUU
hier mein Problem :
bla bla
wobei die <<TAG>> Tags Feldern aus dem Eskalationsprofil entsprechen und <<~TAG>> Feldinhalte des zu eskalierenden Tickets /Todo repräsentieren
weitere Informationen zu diesem TeilThema hier: http://www.atnotes.de/index.php?topic=25016.from1124122427;topicseen#msg159879
-
Moin!
Bei einem neuen Call bekommt der User gem. Konfig.Doc ne Mail, aber ohne Doclink. In Konfig.Docs alles durchgeschaut, aber nichts gefunden. ???
Bei allen anderen Ereignisen funzt der Doclink.
-
Moin!
Bei einem neuen Call bekommt der User gem. Konfig.Doc ne Mail, aber ohne Doclink. In Konfig.Docs alles durchgeschaut, aber nichts gefunden. ???
Bei allen anderen Ereignisen funzt der Doclink.
Kommt das über den Dispatcher rein oder wird das manuell erzeugt. Das kann nämlich unterschiedlich reagieren. Über den Dispatcher steuert das
MailIfNewDocDispatcher (BodyFieldName, Link)
während das bei manuell erzeugten Dokumenten über
MailifNewDoc (BodyFieldName, Link)
gesteuert wird. Diese Unterscheidung wurde wegen möglicher Mail Loops eingebaut.
Welchen Wert hat MailIfNewDocLink?
-
Jau!! Das hatte ich übersehen. Jetzt funzt´s !! :)
-
Hallo!
Ist der Server down??
http://eknori.dyndns.org/HelpTheWiki.nsf/pages/HelpVersion110
Gruß Torsten
-
Der Server wohl nicht, aber ich komme nicht remote auf den Router. :P Den hat es wohl geschmissen. Wird gegen 17:00 wieder da sein
-
Ich habe noch ein wenig am Eskalationsprofil gebastelt; speziell an der Formel, die den Suchstring zusammenbaut. Ziel war es, die Felder nType und nDocTypes flexibler zu gestalten.
Die DokumentenTypen ( Forms ) und die Statii sollen später ebenfalls über Konfigurationsdokumente frei definierbar sein.
Im Feld nType haben sich die Aliase geändert; hier wird jetzt direkt der numerische Statuswert als Alias eingetragen.
Die Masken werden überein @For aus dem Feld nDocTypes ausgelesen; somit können die Werte in diesem Feld auf andere Masken erweitert werden, ohne den Code selber ändern zu müssen )
Herausgekommen ist dabei folgendes
_fldForms:=nDocTypes;
_numForms:=@Elements( _fldForms );
_DAYS:="0";
_HOURS:="0";
_MINUTES:="0";
_STATUS:="Status= "+"\""+ nType +"\"";
@For( n := 1; n <= _numForms; n := n + 1;
_FORMS:= _FORMS
+ "@UpperCase(Form) = \"" + _fldForms[n] + "\""+
@If(_numForms > 1;@If(_numForms = n;" )";" | ");"");
_QRYFORMS:="( " +_FORMS + @If(_numForms = 1;" )";"") );
_PREFIX:= @If(n2ndEscalation="1";
"(" + "Escalated = "+"\""+"1"+"\"" + " & "+ _STATUS + ")" ;
"( (" + "Escalated ="+"\""+"0"+"\"" + " | " + "Escalated="+"\""+""+"\" " + ") & " + _STATUS + ")" );
_REFERENCEDATE:=
@If( n2ndEscalation="1";" EscalationDate "; @If(nType="0";"@Created" ;"@TextToTime(OpenedByIT)"));
@If( nTimeScale="D";_DAYS:=nDaysHours;
nTimeScale="H";_HOURS:=nDaysHours;
nTimeScale="M";_MINUTES:=nDaysHours;"");
@Trim( _PREFIX + " & " + _QRYFORMS + " & " + _REFERENCEDATE
+ " <= @Adjust(@Now;0;0;-" + _DAYS + ";-" +_HOURS + ";-" +_MINUTES + ";0)" );
_PREFIX lässt sich auch noch vereinfachen zu:
_PREFIX:= "(" + "Escalated = "+"\""+ n2ndEscalation +"\"" + " & "+ _STATUS + ")" ;
Das setzt aber voraus, daß in der lib.appl.functions in ein paar Routinen das Feld Escalated auf "0" gesetzt wird.
und in die Eingabeumsetzung von n2ndEscalation muss noch folgende Formel rein:
@If(@ThisValue="";"0";@ThisValue)
-
Anmerkung zur Rechteverwaltung:
Würde es nicht Sinn machen, wenn die Felder User
und OtherUsers vom Typ als Leser verwendet werden. So kann der Mitarbeiter ohne Funktionen seine "eigenen" Docs lesen.
Ist das Konzept anders gedacht??
Gruß Torsten
-
Anmerkung zur Rechteverwaltung:
Würde es nicht Sinn machen, wenn die Felder User
und OtherUsers vom Typ als Leser verwendet werden. So kann der Mitarbeiter ohne Funktionen seine "eigenen" Docs lesen.
Ist das Konzept anders gedacht??
Gruß Torsten
Ja das ist anders gedacht. Du kannst einstellen welche Felder in der Maske Als Leserfelder und welche als Autorenfelder hergenommen werden sollen. Schau dir dazu die Konfigurationsdokumente
LockDocuments.... an.
Wenn du bei denen das so änderst:
LockDocumentsTicketAuthors: &Supporter~~[EDITALL]~~&CreatedBy~~[SUPPORT]~~[ADMINISTRATOR]
LockDocumentsTicketReaders: [READALL]~~&User~~&OtherUsers
Dürfte genau das was du willst rauskommen.
-
Idee ist prima!! Genau das wollte ich damit erreichen. :)
-
Ist der Server down??
http://eknori.dyndns.org/HelpTheWiki.nsf/pages/HelpVersion110
Gruß Torsten
Server ist wieder am DRaht ;D
-
Kann ich in der Ticketmaske die Felder Klassifizierung, Typ und Betroffener Service über ne Konfig.Dok ausblenden??
-
Nein das geht nicht. Du kannst sie aber mit anderen Werten belegen und auch anders nennen.
-
Werden die Felder für Ansichten, Auswertungen, etc. benötigt?
Ansonsten könnte man auch über hidewhen ausblenden, ist aber nicht schön
w/g Designänderung.
Danke für die schnelle Antwort. :D
-
Ich habe die Maske noch ein wenig erweitert; es besteht nun die Möglichkeit, einen frei definierbaren Suchstring einzugeben. Auf dem Screenshot habe ich es verbockt, aber SendMessageTo und UseTemplate sollte man schon ausfüllen; sonst schlägt die Formvalidierung zu ...
-
Die Feedback Seite ( http://eknori.dyndns.org/HelpTheWiki.nsf/pages/FeedBack ) sieht so leer aus ::) , kann das mal jemand ändern ? ;D Nur ernstgemeinte Zuschriften, bitte.
-
Ja bitte bitte, streichelt doch mal unser Ego ;D
-
sehr gerne doch ... würde ja gerne tätscheln aber ... geht nicht da eknori.dyndns.org nicht erreichbar ist :)
aber wenns wieder läuft sehr sehr gerne :) ihr seit einfach supper klasse
tim
-
Wir haben die Help Datenbank V.1.07 momentan produktiv im Einsatz.
Da es aber in der neuen Version 1.10 ein Eskalationsmanagement gibt, würde ich meine Version dann gerne auf den neuesten Stand bringen.
Wir haben schon eine Menge Dokumente in der Datenbank und eine Menge Schlüsselwörter eingegeben.
Habe ich die Chance, das nach dem wechseln der Schablone meine ganzen Dokumente sauber übernommen werden!???
-
Wir haben schon eine Menge Dokumente in der Datenbank und eine Menge Schlüsselwörter eingegeben.
Habe ich die Chance, das nach dem wechseln der Schablone meine ganzen Dokumente sauber übernommen werden!???
Bei den Schlüsselwörtern bin ich mir sicher das das richtig funktioniert. Und was die Dokumente angeht, da wir keine Struktur Änderungen vorgenommen oder Felder umbenannt haben sollte es da auch kein Problem geben.
Mit dem Eskalations Managment könnte hier allerdings das erste mal ein Upgrade Problem auftauchen, weil das Feld "Escalated" in den Masken einen Vorgabewert von "0" braucht.
Ulrich hat das in der Beta2 zwar noch so geschrieben das die Eskalation auch bei leeren Werten funktioniert, er wollte das im Release aber auf genau diesen Wert abstellen. In diesem Fall hilft eigentlich nur in einer Testumgebung ausprobieren und wenn irgendetwas nicht funktioniert uns Bescheid geben.
-
Mit dem Eskalations Managment könnte hier allerdings das erste mal ein Upgrade Problem auftauchen, weil das Feld "Escalated" in den Masken einen Vorgabewert von "0" braucht.
Nein, das stimmt so nicht. In der BETA habe ich das berücksichtigt; bei der Erstellung der SearchFormula wird bei offenen Tickets automatisch auch ein Escalated="" in die Formel geschrieben.
Im Release wird das dann anders sein. Es wird da aber einen Agenten geben, der das Feld in die Dokumente schreibt, wo es noch nicht vorhanden ist.
Vondaher steht einem Update auf 1.0.10 nichts im Wege ...
-
Nein, das stimmt so nicht. In der BETA habe ich das berücksichtigt; bei der Erstellung der SearchFormula wird bei offenen Tickets automatisch auch ein Escalated="" in die Formel geschrieben.
Im Release wird das dann anders sein. Es wird da aber einen Agenten geben, der das Feld in die Dokumente schreibt, wo es noch nicht vorhanden ist.
Hab ich doch so gesagt. ???
-
öhhm, ..... ja; man sollte Postings auch immer bis zum Ende lesen :-[
-
Ich habe jetzt testweise mal das 1.10beta2 Design über unsere Datenbank (1.07) gelegt.
Anbei ein Bild wie das danach aussieht.
Beim Wechseln in die Statistik oder in die Konfigurationsansicht kommen dann Fehler, dass die Rahmengruppe nicht vorhanden wäre.
Vielleicht ein kurzer Tipp??
-
ersetze auf jeden Fall das Sprachdokument OUTLINE ( Da habe ich einige Änderungen dran gemacht ) über Ansicht Gehe zu
Den fehler mit der Rahmengruppe erhalte ich, wenn ich die DB ausserhalb des Notes\data Verzteichnisses öffne ( z.B. vom USB Stick )
-
Ja die Sprachdokumente. Die haben es bis jetzt bei jedem Update in sich gehabt. Deswegen sollten die auch immer überprüft, bzw. wenn man selber nichts geändert hat direkt kopieren.
-
Ich weis leider nicht wo ich dieses Sprachdokument finde.
Du hast geschrieben über Ansicht gehe zu und dann gings nicht weiter.
Welches Sprachdokument muss ich dann durch welches ersetzen??
Thanks
-
Die Ansicht heißt sinnigerweise LanguageDocs; Am Besten ist, du ersetzt alle Dokumente in der Ansicht
-
Nach dem einspielen des 1.10 er Designs, habe ich doch auch automatisch die neuen langdocs haben.
Soll ich dort jetzt alle Dokumente mit den alten Dokumenten ersetzen?
Sorry, aber da brauch ich doch noch ein paar detailiertere Angaben.
-
Soll ich dort jetzt alle Dokumente mit den alten Dokumenten ersetzen?
Ja, daß musst du manuell machen; das designupdate schaufelt nicht automatisch die Langdocs aus dem template in die Datenbank.
gehe in die Ansicht ( in der DB ) und lösche alle dort befindlichen LanDocs; Dann kopiere die Langdocs aus dem Template in die DB.
-
Das machen Designupdates übrigens grundsätzlich nicht. Neue oder geänderte Konfigurationsdokumente werden nie mit übertragen. Für die Schlüsselwörter haben wir deswegen eine Aktion eingebaut die neue Schlüsselwörter, geänderte Schlüsselwerte und geänderte Schlüsselbeschreibungen überprüft und übernimmt.
Eine genaue Beschreibung wie das geht findest du im WIKI bei Ulrich (Wenn sein Server wieder online ist).
Für Sprachdokumente wollten wir das auch tun, sind aber bis jetzt noch nicht dazugekommen. Für die anderen Konfigurationsdokumente wie Mail Schablonen und Eskalationsprofile werden wir das denke ich nicht anbieten.
-
o.k.
noch eine Frage hätte ich.
Bei mir fehlt die Ansicht weitere Ansichten.
Muss ich da auch noch was kopieren, oder fehlt das nur, weil ich noch kein Eskalationsprofil angelegt habe?
-
Die "weiteren Ansichten" legst du zum einen im ConfigDoc "UserViewsOpenCalls" fest und zum anderen im Sprachdocument OUTLINE.
-
nein, das fehlt dir deswegen weil du die Systemparameter
UserViewsOpenCalls, UserViewsClosedCalls, UserViewsStatistics
nicht übernommen hast.
Anyway, führe bitte in der Konfigurationsansicht die Aktion "Schlüssel holen" durch. Damit werden alle dir warscheinlich noch fehlenden Schlüsselwörter ergänzt.
-
Zurück zu den Eskalationsprofilen:
Im Release gibt es die Möglichkeit, selber eine Formel anzulegen, die dann an das db.search übergeben wird. Das ist flexibel und ... ... ... fehleranfällig, da Menschen dazu neigen, Fehler zu machen. Dann wäre die ganze Tipperei umsonst gewesen.
Also braucht auch diese Funktion ein entsprechendes ERROR HANDLING 8)
Christian Cloutier hat auf searchdomino.com einen Tip veröffentlicht, der genau das leistet, was hier gebraucht wird; "Validating a Notes formula from LotusScript (http://searchdomino.techtarget.com/tip/1,289483,sid4_gci995153,00.html)".
'lib.appl.NotesAPI:
Option Public
Const NULLHANDLE = 0
Const NO_ERROR = 0
Const ERR_FORMULA_COMPILATION = &h500 + 1
Declare Function NSFFormulaCompile Lib "nnotes.dll" ( _
Byval FormulaName As Long, _
Byval FormulaNameLength As Integer, _
Byval FormulaText As Lmbcs String, _
Byval FormulaTextLength As Integer, _
rethFormula As Long, _
retFormulaLength As Integer, _
retCompileError As Integer, _
retCompileErrorLine As Integer, _
retCompileErrorColumn As Integer, _
retCompileErrorOffset As Integer, _
retCompileErrorLength As Integer _
) As Integer
Declare Sub OSMemFree Lib "nnotes.dll" (Byval hHandle As Long)
Declare Function OSLoadString Lib "nnotes.dll" ( _
Byval hmodule As Long, _
Byval status As Integer, _
Byval s As String, _
Byval slen As Integer _
) As Integer
Sub Initialize
End Sub
' ================================================================================
' CheckSelectionFormulaValid - This function uses the Lotus C API to check thesyntax of a Notes formula.
'
' Return Value: Variant - A 3 elements array containing:
' Index 0 - The compilation error code or NO_ERROR (0) if valid
' Index 1 - The compilation error offset in formula or NO_ERROR if valid
' Index 2 - The compilation error length or NO_ERROR if valid
'
' Note: The compilation error code at Index 0 can then be passed to GetAPIError () to get more info about the error.
' ================================================================================
' ================================================================================
' GetAPIError - This function uses the Lotus C API to return a Notes error's text message.
'
' Return Value: String - The text associated with the Notes API error code.
' ================================================================================
Function CheckSelectionFormulaValid(sFormula) As Variant
Dim iError As Integer
Dim hFormula As Long
Dim wFormulaLen As Integer
Dim iCompileError As Integer
Dim iCompileErrorLine As Integer
Dim iCompileErrorColumn As Integer
Dim iCompileErrorOffset As Integer
Dim iCompileErrorLength As Integer
Dim iArray(2) As Integer
iError = NSFFormulaCompile(0, 0, _
sFormula, _
Len(sFormula), _
hFormula, _
wFormulaLen, _
iCompileError, _
iCompileErrorLine, _
iCompileErrorColumn, _
iCompileErrorOffset, _
iCompileErrorLength)
If hFormula <> NULLHANDLE Then
Call OSMemFree(hFormula)
End If
If iError = ERR_FORMULA_COMPILATION Then
iArray(0) = iCompileError
iArray(1) = iCompileErrorOffset
iArray(2) = iCompileErrorLength
CheckSelectionFormulaValid = iArray
Else
iArray(0) = NO_ERROR
iArray(1) = NO_ERROR
iArray(2) = NO_ERROR
CheckSelectionFormulaValid = iArray
End If
End Function
Function GetAPIError(iErrorCode As Integer) As String
Dim iRetVal As Integer
Dim sError As String * 1024
sError = String(1024, 0)
iRetVal = OSLoadString(0&, iErrorCode, sError, 1023)
If iRetval <> 0 Then
GetApiError = Left$(sError, iRetVal)
End If
End Function
In der Maske " Notification Profile" wird der Code dann in einer Aktion aufgerufen
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
iRC = CheckSelectionFormulaValid( uidoc.FieldGetText( "nFormula" ))
If iRC(0) = NO_ERROR Then
Messagebox "Formula is valid!", 64 , "OK !"
Else
Messagebox GetAPIError(iRC(0)) & " - Pos: " & Cstr(iRC(1)), 16, "Error in Formula"
End If
End Sub
Der Code plaudert nun bei einem Fehler im Klartext aus, an welcher Stelle der Fehler aufgetreten ist und vor allem, was denn da im Argen liegt. Coole Sache, Danke an Christian Cloutier !!
-
So, ich glaube, jetzt habe ich die Eskalation fertig für das Release der 1.0.10.
Es gibt grundsätzlich 2 Möglichkeiten, ein EscalationsProfil zu erstellen.
1. der klassische Weg
Es werden einfach die Felder entsprechend der Vorgabemaske ausgefüllt ( siehe weiter oben in diesem Thread )
2. user defined
Es kann eine beliebige Selektionsformel eingegeben werden ( Feld "Formula" ).
Diese Formel kann vor dem Speichern des Profils über den Buhtong "CheckFormulaSyntax" überprüft werden.
Sollte man diesen Schritt "vergessen" steht die Fehlermeldung im internen LOG und / oder im ServerLOG ;)
Mit den Dokumenten, die man über die Selektionsformel ausgewählt hat, muss ja auch irgend etwas passieren.
Zum einen wird eine Benachrichtigung an die im Feld "Send Message To" verzeichneten Personen in der gewünschten Sprache verschickt. ( !! MailTemplates erstellen !! )
Zum Anderen können bestehende Felder mit neuen Inhalten gefüllt werden, oder neue Felder erstellt und diesen ein Wert zugewiesen werden.
Das geschieht im Feld "Stamp Documents"; links der Feldname, rechts der Wert.
Ist das so i.O. , oder gibt es hierzu noch Anregungen ? Braucht man 1. eigentlich ??
In einer späteren Version werde ich so etwas wie einen Formel Wizard einbauen, bei dem man sich seine Formel einfach nur zusammenklickt; ähnlich den Regeln im Serverdokument.
Das könnte man dan so universell gestalten, daß man das Tool über jede DB stülpen kann, wo es um die "Überwachung" von Dokumenten geht und eine Benachrichtigung losgetreten werden soll, wenn Zustand XYZ erreicht ist ...
-
Ich täts noch kombinieren. Klick dir den Rumpf zumsammen und ergänze eigene Bestandteile frei.
Und ja 1. brauchen wir auch, für die nicht so guten Programmierer. Die sollen zumindest ein paar Basisfunktionen durchziehen können.
Wenn ich jetzt noch meine Wiedervorlage richtig auf die Reihe bekomme, wir die Fehlerüberwachung konfigurierbar einbauen und vielleicht noch ergänzen (ja ich war brav und hab mir das angeschaut), dann sollte das für das endgültige Release 1.10 langen.
Danach steht eigenlich nur noch die automatisierte Übernahme von Sprachelementen und eine saubere Unterstützung beim Übersetzen auf dem Programm.
Anregungen irgendjemand?
-
wir haben übrigens ein Feedback erhalten ... Merci :D
http://eknori.dyndns.org/HelpTheWiki.nsf/pages/FeedBack
Der Server ist wieder am Draht, also ... weiter geht's ;D
-
@Thomas:
Da fallen mir noch die gestern besprochenen View Legends ein ( mehrsprachig, versteht sich )
-
Möchte den Vorschlag "Supporter wird in die Eskalation mit einbezogen" nochmals aufgreifen. Das könnte man doch in die Konfig-Maske mit aufnehmen und entscheiden, ob der Supporter über "offene" Calls wiederholt per Mail informiert wird. Meiner Meinung muss eine Eskalation nicht immer gleich zum Chef. Es gibt doch genug Informationen die als "Holschulden" zu betrachten sind.
Ich hab das mal per Agent in die DB für die Testphase eingebaut und bei uns ist das gut angekommen.
Gruß Torsten
-
Ich habe da auch ein kleines Problem mit den Sprachdokumenten.
Ich habe alle Dokumente aus der Beta2 übernommen und habe folgende Meldung: (Siehe Ansicht.gif)
Im Outline habe ich allerdings nur den Punkt: outdefHeaderClosed=Benutzerdefiniert
gefunden.
Ist das nur ein verdreher oder bin ich nur blind und habe Tomaten vor den Augen 8)
-
Dat is eine Verdreher. Ändere das im Sprachdokument auf "outdefclosedHeader" ab und dann ist das erst einmal gut. Korrigieren wir dann fürs nächste mal.
-
Nach der Exportaktion nach Exel bekomme ich folgende Fehlermeldung:
siehe Anhang
-
welches BS und welche Office Version setzt du als registrierte Version ein ? Es gibt dort Probleme bei bestimmten Konstellationen. Der Code ist laaaange nicht mehr überarbeitet worden ...
-
WinXp Pro. und OpenOffice 1.1.4 wird eingesetzt
-
WinXp Pro. und OpenOffice 1.1.4 wird eingesetzt
dann ist der Fehler ja schon selbsterklärend; ich kenne den Code jetzt nicht zu 100% auswendig, aber spätestens bei
Set excelApp = CreateObject("Excel.Application")
hast du verloren.
Und OpenOffice .. ich glaube hier war schon mal eine Anfrage dazu ... weiß nur nicht wo ...
-
Ich dachte, das mit der Auswertung eine Datei im Excelformat erstellt wird. ???
Macht es nicht Sinn, wenn eine Auswertung mit individuellen Einstellungenmöglichkeiten
direkt in eine Notesmaske gestellt wird und dann über eine Ansicht geöffnet werden kann.
Die Auswertung z.B. mit einem Zeitstempel versehen wird, nach dem die Ansicht kategorisiert wird. Dann ist alles an einem Ort beisammen und je nach Selektionslaune mehr oder weniger.
-
wenn ich mir das Design der Datenbank so anschaue, dann habe ich die starke Vermutung, daß Thomas schon an einer solchen Reporting Lösung werkelt ... ;D
-
wenn ich mir das Design der Datenbank so anschaue, dann habe ich die starke Vermutung, daß Thomas schon an einer solchen Reporting Lösung werkelt ... ;D
Stimmt mach ich, allerdings nicht mit hoher Prio.
-
kann mir noch jemand sagen, für was die Felder Classification(classifictiontype) da sind. Ist das für die Statistik?
-
kann mir noch jemand sagen, für was die Felder Classification(classifictiontype) da sind. Ist das für die Statistik?
Das ist ein Addon zur Nachqualifizierung eines Tickets. Da man hinterher immer schlauer ist, kann man da unabhängig von der Fehlerqualifizierung noch einmal hierarchisch mit einem anderen Blickwinkel draufgucken. Das wird später mal für Auswertungen und für die Technotes gebraucht werden. Und in der Folge auch für die Lösungsvorschläge
-
Hab ne Frage zu persönlichen Ansichten:
Was muss ich einstellen, damit der Name der Ansicht im Nav. angezeigt wird? Bei mir wird nur Nr. 1 und Nr. 2 angezeigt.
-
Das kannst du im SprachDokument OUTLINE einstellen ...
-
obviously are not able to handle "RAR" - archives http://www.openntf.org/projects/pmt.nsf/allbydate/4740792F838D3B0D8625705B00696396?opendocument (http://www.openntf.org/projects/pmt.nsf/allbydate/4740792F838D3B0D8625705B00696396?opendocument)
-
RAR = raving arabic radical ?
Aber Spass beiseite - das ist bestimmt kein amerikanisches Problem. Und wer kein RAR-Archive entpacken, der hat auch !HELP! nicht verdient.
Bernhard
PS: Ob mich jetzt wohl die NSA wegen der Begriffe oben gescannt hat ? ;D
-
Das kannst du im SprachDokument OUTLINE einstellen ...
Supi!! Hat funktioinert!! Danke!!
Hab im Nav Statistiken aber noch ne Ansicht ich nicht in Konfig-Doks gefunden habe, damit ich die anpassen kann.
-
Hab im Nav Statistiken aber noch ne Ansicht ich nicht in Konfig-Doks gefunden habe, damit ich die anpassen kann.
outStatisticMinutes musst du einfach im Sprachdokument Outline mit eintragen und da dann einen Wert reinschreiben. Das ist im Moment so eine Pseudo Auswertung was da drinnen ist. Da werden sich im Laufe der Zeit "vernünftigte Auswertungsansichten" ansammeln. Was man halt so unter vernünftig versteht.
-
Prima! Hat funktioniert!! :)
-
Moin!
Wenn ich in ein Ticket eine weitergeleitete Mail per Aktion "Mail einfügen"
als Anhang speichere, rauscht mir der Client mit einer Erstellung eines NSD.Files ab. Keine RSOD!!! Nach erneutem Aufruf des Tickets ist die Mail im Anhang "sauber" gespeichert. ???
-
Das kann ich mit 6.5.3 Clients nachvollziehen. Upps. Da werd ich mal ein wenig investigative Entwicklung betreiben müssen.
-
@Bilbo. Schau doch bitte mal ob du diesen Fehler hier:
"INSERTFULLEMAIL: 4412 on line 114: Notes Fehler - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar."
In der LogAnsicht angezeigt bekommst?
-
@Bilbo. Schau doch bitte mal ob du diesen Fehler hier:
"INSERTFULLEMAIL: 4412 on line 114: Notes Fehler - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar."
In der LogAnsicht angezeigt bekommst?
Nö! Diese Fehlermeldung habe ich nicht anzubieten.
-
Was passiert wenn du das gleiche dokument versuchst noch einmal anzupacken?
-
Das Doc kann ich anzeigen und editieren. Keine Fehler oder Abstürze!!
-
Und da die Gleiche Aktion (insert) noch einmal durchführen. Was passiert dann?
-
gleiche Aktion => gleiches Ergebnis
-
Das gleiche Spiel wie vorhin. Probier das bitte mal mit dem Debugger an aus und gib mir dazu eine Rückmeldung, was er dann macht.
-
Jetzt kriege ich folgende Meldung:
-
Ok also den Fehler hab ich schon mal eingegrenzt:
'------------------------------------------------------------------------------
'Save backend and close UI
'------------------------------------------------------------------------------
Call docThis.Save(True, False)
docThis.saveoptions = 0
Call uidocThis.Close(True)
'------------------------------------------------------------------------------
'Reopen UI
'------------------------------------------------------------------------------
Call uiws.ViewRefresh 'Refresh view
Set uidocThis = uiws.EditDocument(True , docThis)
Das hier ist irgendwie unnötig:
Call uiws.ViewRefresh 'Refresh view
Schließlich sind wir hier nicht in einer Ansicht das kann also schon einmal raus.
Damit ist der Fehler:
"INSERTFULLEMAIL: 4412 on line 114: Notes Fehler - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar"
weg. Der Abbruch kommt aber immer noch und das liegt an der nächsten Zeile:
Set uidocThis = uiws.EditDocument(True , docThis)
Wenn man diese beiden Zeilen auskommentiert fügt er das korrekt ein und macht das Dokument zu.
Warum er jetzt aber bei einem absoluten Standard Vorgehen, Backend abspeichern, Frontend schließen und Frontend mit Backenddoc wieder holen, rumzickt???
-
Okay alle die diesen Fehler haben probieren doch jetzt bitte mal folgendes aus:
In der Schablone in der Bibliothek Lib.Appl.Functions die Routine InsertFullMail diese Zeile hier
Call uiws.ViewRefresh 'Refresh view
auskommentieren.
Dann abspeichern und anschließend im Designer einmal Werkzeug, LotusScript Vollständig neu kompilieren aufrufen. Dann ein Designupdate auf der normalen DB fahren und testen ob es jetzt funktioniert. Bei mir hat das zumindest geholfen.
-
Moin!
Leider nein!! Stürzt immer noch aber.
-
Dann kommentier doch bitte mal diese beiden Zeilen aus. Was macht er dann?
-
Welche Zeilen meinst du denne ???
-
Die da:
'------------------------------------------------------------------------------
'Reopen UI
'------------------------------------------------------------------------------
Call uiws.ViewRefresh 'Refresh view
Set uidocThis = uiws.EditDocument(True , docThis)
-
Die da:
'------------------------------------------------------------------------------
'Reopen UI
'------------------------------------------------------------------------------
Call uiws.ViewRefresh 'Refresh view
Set uidocThis = uiws.EditDocument(True , docThis)
Die erste Zeile hatte ich schon kommentiert. => Immer noch NSD
Nach dem Kommentieren der zweiten Zeile funzt es. Supi ;)
-
Ja das funzt bloß net so wie es soll. Da macht er nämlich jetzt das Dokument dann zu und eigentlich sollte er das offenlassen.
-
Hab jetzt wieder den Effekt, dass ne weitergeleitete Mail mit einem Haufen Krimskrams nach dem Einfügen in das Ticket dasselbige "abschießt". Fehlermeldung siehe Screenshot
-
Das ist kein Fehler von uns (naja, höchstens ein Design Fehler) sondern ein Verhalten von Notes. Das Body Feld in das wir das einfügen ist Bestandteil einer Tabelle und da kriegen wir dann Probleme mit Layoutbereichen die er kopieren soll. Wobei sich jetzt die Frage stellt können wir das überhaupt abfangen?
Ich hab aber bis jetzt noch keine E-Mail gesehen in die ein Layoutbereich integriert ist. Oder ist das eine spezielle Maske?
-
Jau! Ist eine spezielle Maske gewesen die per Notesmail gesandt wurde.
In der Version 1.09 haben aber schon weitergeleitete Mails dieses Problem verursacht. Das ist jetzt nicht mehr der Fall. :)
-
Warscheinlich wird dann auch noch die Masken mit der Mail mit versandt.
Hmm in dem Fall müsste man dann darüber nachdenken ob man das in irgendeiner Form kapseln und abfangen kann.
-
Moin!
Bei einem User wird bei der Speicherung und Abschluss eines Calls ne Fehlermeldung generiert. Siehe Anhang!!
Gibt´s da ne Info zu??
-
Das wäre diese Zeile hier:
Set uidocThis = uiws.EditDocument(True , docThis)
in der Lib.appl.functions, in der Funktion InsertFullEmail
Ich denke aber das hast du auskommentiert??
-
Jau!! Das habe ich ne alten Fehler gepostet. Sorry!!
Die Fehlermeldung, siehe Anhang, wird erst gar nicht protokolliert.
-
Kannst du da mal mit dem Debugger drübergehen. Irgendwie passt die Zeilennummer nicht zum Code. Generell müsste das ein Zugriffsrechte Problem sein.
-
Hab erst mal noch die Berechtigungen:
User ist Autor mit den Rollen
EDITALL
READALL
SUPPORT
Ach ja, das Dokument wird gespeichert und lässt sich abschließen.
Danach keine Fehlermeldung.
-
Überprüf doch mal an einem neuen Dokument welche Eigenschaft die Leser (Areaders) und Autoren (aAuthors) Felder haben. Das Dokument ist vermutlich über den dispatcher reingekommen, oder?
Da gibt es einen Patch im CreatenewTicket weil die Felder nicht korrekt gesetzt werden.
Set item = NewTicket.ReplaceItemValue ("transformed", "1")
' build the reader and the authors field if necessary
If Ucase(GetConfigDocByKey("LockDocumentsgeneral"))="YES" Then
' create the readers field
namesfield = CreateNamesField(newticket,"LockDocumentsTicketReaders")
If Isarray( namesfield) = True Then
Set item = NewTicket.ReplaceItemValue("AReaders",namesfield)
item.IsReaders = True
End If
' create the authors field
namesfield = CreateNamesField(newticket,"LockDocumentsTicketAuthors")
If Isarray( namesfield) = True Then
Set item = NewTicket.ReplaceItemValue("AAuthors",namesfield)
item.IsAuthors = True
End If
End If
Call NewTicket.Save (True,True)
-
Neee! Der Call wurde direkt in der DB erstellt.
Eigenschaften der Felder => Anhänge
-
Also wenn das neu in der DB erstellt wurde dann darf das eigentlich gar keine Probleme geben. Du müsstest ein paar Umgebungsparameter überprüfen. Zugriffsrechte des Erstellers auf die DB. Ist der Ersteller der der die Fehlermeldung bekommen hat. Wie ist der konkrete Ablauf? Dann kann ich versuchen das nachzustellen.
-
Der User ist Ersteller (Rollen EDITALL, READALL, SUPPORT) und hat das Dokument direkt in der DB erfasst. Beim Speichern wird die Fehlermeldung in der Statuszeile angezeigt, aber das Dokument wurde erstellt. Wenn das Dokument geschlossen wird, dann ist es genauso. D.h. die Fehlermeldung wird in der Statuszeile kurz angezeigt und dann erhält das Dok den Status geschlossen. Augenscheinlich alles okay!!