Autor Thema: Trouble Ticket System gesucht...  (Gelesen 326895 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #380 am: 16.02.05 - 19:25:03 »
Danke; sitze eh gerade am Release Build. Da werde ich das dann noch fix mit einbinden  :D

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #381 am: 16.02.05 - 20:42:55 »
Zitat
sitze eh gerade am Release Build. Da werde ich das dann noch fix mit einbinden 

ist eingebaut !

Wie ich gerade erfahren habe, ist der Code für das escalation management nicht termingerecht fertiggeworden. OK, wenn ich auf Aruba leben würde, wäre ich auch öfter mal vom PC weg  ;D

Ich möchte aber auch nicht länger warten und spätestens zum EntwicklerCamp ( deutsche Lotusphere ? ) die Neuerungen releasen. Thomas Schulte hat sich so viel Mühe gegeben.
Ich hoffe nur, die User gehen uns nicht an die Gurgel, weil wir den Sprachteil wieder umgebaut habe. @Thomas: Anfangs war ich da nicht so begeistert von; mitlerweile sehe ich die Vorteile.
Durch den Umbau sind auch noch ein paar Bugs sichtbar geworden. Ich werde morgen noch einmal alle Felder, jeden berechneten Wert, jede Aktion und jedes Label durchgehen.

Was Thomas als "ASubject"  8)  bezeichnet, sollte er am Besten mal selber erklären  ;D

 

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Trouble Ticket System gesucht...
« Antwort #382 am: 17.02.05 - 07:47:59 »
wann ist dann das neue Release zu downloaden?
Zum Downloaden auf der Homepage, oder?

Mfg Horst
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #383 am: 17.02.05 - 08:07:42 »
Hallo Horst,

ich denke, daß ich das Release 1.0.6 Sonntag abend oder Montag morgen zum DL freigebe.
Auf der http://www.eknori.de und auf http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/!!HELP!!


Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Trouble Ticket System gesucht...
« Antwort #384 am: 17.02.05 - 08:17:51 »
vielen Dank, ich kanns gar nicht mehr erwarten, JUHU!

danke nochmal!
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Trouble Ticket System gesucht...
« Antwort #385 am: 17.02.05 - 08:54:06 »
[Was Thomas als "ASubject" 8) bezeichnet, sollte er am Besten mal selber erklären ;D
in der Kurzen oder in der Langen Form?

Erst mal in der kurzen Form, wenn jemand Interesse an den Technischen Details hat kann er sich ja melden.
Das Feld ASubjekt ist ein verstecktes Feld in einer Form, das als Berechnetes Feld Werte aus anderen Feldern dieser Form aufnehmen kann. Das Feld ist Mulitvalue und dient als eine Art Summary Feld.
Die Verwendung eines solchen Feldes in jeder Form hat den Vorteil, das man z.B. bei Ansichten keine Maskenabhängige Codierung verwenden muss, sondern einfach dieses Feld einbinden kann und sich damit eine Menge Pflegeaufwand spart.

In der Regel werden diese Felder in die Forms hardcoded reingeschrieben, das heist das jedesmal wenn der Inhalt geändert wird ein Programmierer da drüberschauen muss, was im Zusammenhang mit den UDF (UserDefinedField) Teilmasken dafür sorgt das jeder Release Wechsel erneuten Anpassungsaufwand zur Folge hat.

Nun wir haben das im !!!Help!!! jetzt so gelöst, das die Zusammensetzung des Feldes, die Anzahl der Zeilen und die maximale Länge der Zeilen bevor sie Abgeschnitten wird über eine Regel definiert werden kann. Aufgrund dieser Regel wird dann das Feld berechnet.

Das Teil kann mit Text, Zahl und Datumsfeldern umgehen. Mit Mehrfachwerten und Richtext denke ich auch, das habe ich aber noch nicht ausprobiert.
« Letzte Änderung: 17.02.05 - 12:19:12 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #386 am: 17.02.05 - 19:52:14 »
jetzt wird es lustig:

Jemand hatte danach gefragt, ob man nicht alle Kategorien einer View zusammenklappen kann; hab ich mir gedacht, geht doch einfach ... Im Prinzip ja ...

Also habe ich flugs in die Views folgenede Formel reingepappt

key:="ViewCollapseAll";
@If(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; key ; 2 )="YES";
@Command([ViewCollapseAll]);
"")

Das Ganze sollte natürlich wieder aus einem ConfigDoc einstellbar sein.
Das funktioniert auch  ...

ABär:

WEchsele ich nun die Sprache, bekomme ich einen RSOD.

Der ganze Vorgang ist reproduzierbar:

Im ConfigDoc von YES auf NO wechseln
( alle weiteren Aktionen in der gleichen Sprache funktionieren )
Sprache wechseln und ...  RSOD

Nach den Notes Neustart kann ich mit den bestehenden Einstellungen wunder bar arbeiten. Und auch munter die Sprachen hin und her wechseln. Mache ich wieder eine Änderung am beteiligten Config Doc und wechsele dann die Sprache ...  RSOD.

Der Sprachwechsel findet in einem Gliederungseintrag mit folgender Formel statt

REM { find users language };
_defaultLang := _defaultLang := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "LANGUAGE" ; 2 ));
_view:="($LULANG)";
_foundlanguages := @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
_userlanguage :=@If(@ClientType="Web";
@UpperCase(@LanguagePreference([Region]))[1];
@If(@Environment("HDLang")="";@UpperCase(@LanguagePreference([Content]));@Environment("HDLang")));
_language:=@If(@IsMember(_userlanguage;_foundlanguages);_userlanguage;_defaultlang);

REM { find label };
_key:="outDlgLang";
_label := @Implode(@DbLookup( "" : "NoCache" ; "":"" ; "($LULANGTYPE)" ;_language + "~outline";"typestring");";");
_val:=@Right(_LABEL; _key + "= ");
REM { find all possible languages };
_LANGUAGE:="**": @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
REM {select a new language or delete the entry from notes.ini if "**" is selected};
_NEWLANG:=@Prompt([OkCancelCombo];
@Word(@Word(_val;";";1);"~";1);
@Word(@Word(_val;";";1);"~";2);
@Environment("HDLang"); _LANGUAGE);
REM { Set the environment variable };
@If(_NEWLANG = "**";@Environment("HDLang"; "");@Environment("HDLang"; @UpperCase(_NEWLANG)));
@SetTargetFrame("_top");
@PostedCommand([OpenFrameset];"FS-MAIN")

Wo ist der Fehler ?  ;D

Sorry, wollte auch  mal so eine Frage stellen  ;D

Spaß beiseite; Möglicherweise gibt es jemanden hier, der das erklären kann : "Logisch, kann man doch nicht so machen; muss ja crashen", oder es handelt sich um einen BUG.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #387 am: 18.02.05 - 18:24:48 »
hier noch mal ein bisschen Nachschlag zur Sprachsteuerung

Ich habe mr die Formeln noch einmal angeschaut ( mit DP - Come hell or high water im Kopfhörer geht das alles besser  ;D )

Um bei einem nicht vorhandenen Eintrag im Sprachendokument eine Error Message auszugeben, hatten wir ja schon Code eingebaut.

Den habe ich ein wenig überarbeitet; herausgekommen ist eine "Funktion"
In den Masken lesen wir alle relevanten Strings in ein oder mehrere Felder ein ( hier MESSAGES )

In einer Aktion wirden dann am Anfang erst einmal ein paar Variablen vorbesetzt:

_SourceField:=MESSAGES;
_ErrMsgHeader:="Language settings";
_ErrMsgText:="ERROR: " ;
_ErrNotFound:= " not found";

Jedes Sprachelement ist nach dem Schema key=String aufgebaut.
Die folgende Formel weist jetzt der Variablen _ConstErr einen Wert mit dem Key "msgTicketError" zu.

key := "msgTicketError";
_ConstErr:=
@If(@Trim(@Middle(_SourceField; key + "=" ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + "=" ;";")));

Wird der Eintrag nicht gefunden, wird eine Fehlermeldung ausgegeben, die sich aus den Werten der vorausgegangenen Variablen/Konstantendeklaration ergibt.
Diese Werte könnte man nun ihrerseits wieder aus dem Sprachdoc holen, aber irgendwo muß schluss sein ...

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #388 am: 18.02.05 - 19:01:02 »
und da es immer was zu optimieren gibt, habe ich das "=" im Code noch schnell durch _seperator ersetzt ( _seperator:="="; )

dann sieht die "Function" so aus:

key := "msgTicketAssigned";
_val:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));

Ach ja, und wenn man jetzt noch in Formelsprache folgendes machen könnte:

@define(Macro$):=

[ @If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";"))) ];

bekäme man richtig feinen Formelcode

key := "msgTicketAssigned";
_val:= Macro$;

aber leider geht das ja nicht





Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #389 am: 18.02.05 - 19:21:14 »
das würde dann aus

_SourceField:=MESSAGES;
_seperator:="=";
_ErrMsgHeader:="Language settings";
_ErrMsgText:="ERROR: " ;
_ErrNotFound:= " not found";

key := "msgTicketError";
_ConstErr:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketNotAvailable";
_ConstNotFoundInConfig:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketWarning";
_ConstWarning:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketUserNull";
_ConstUser:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketProbNull";
_ConstProblem:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketProdNull";
_ConstProdukt:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));
key := "msgTicketParam";
_ConstParameter:=
@If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";")));


dies hier machen:

_SourceField:=MESSAGES;
_seperator:="=";
_ErrMsgHeader:="Language settings";
_ErrMsgText:="ERROR: " ;
_ErrNotFound:= " not found";

@define(Macro$):=

[ @If(@Trim(@Middle(_SourceField; key + _seperator ;";"))="";
@Return(@Prompt([Ok];_ErrMsgHeader;_ErrMsgText + key + _ErrNotFound ));
@Trim(@Middle(_SourceField; key + _seperator ;";"))) ];


key := "msgTicketError";
_ConstErr:= Macro$;
key := "msgTicketNotAvailable";
_ConstNotFoundInConfig:=Macro$;
key := "msgTicketWarning";
_ConstWarning:=Macro$;
key := "msgTicketUserNull";
_ConstUser:=Macro$;
key := "msgTicketProbNull";
_ConstProblem:=Macro$;
key := "msgTicketProdNull";
_ConstProdukt:=Macro$;
key := "msgTicketParam";
_ConstParameter:=Macro$;

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #392 am: 25.02.05 - 19:40:18 »
hmm, jemand Lust, das Sprachfile z.B. in einen Dialekt zu übersetzen ? ( funktioniert mit jedem Editor )

Offline feargus

  • Aktives Mitglied
  • ***
  • Beiträge: 144
  • Geschlecht: Männlich
  • Und welche Farbe soll die Datenbank haben?
Re: Trouble Ticket System gesucht...
« Antwort #393 am: 07.03.05 - 11:50:03 »
Hallo Ulrich,

wurde schon mal über die Möglichkeit von "individuellen" Benachrichtigungstexten nachgedacht ?

Ich stell mir das ungefähr so vor:
1. Systemvariable mit auswahl ob Individuelle Nachtichten oder standart Texte
2. Eintrag im Sprachfile könnte dann in etwa so aussehen:
NEWREQUEST=Hallo -<user>-, -<LF>-Ihr Request wurde unter der Nummer -<ReqNumber>- angelegt. Sie können den Bearbeitungsstatus jederzeit über diesen Dokumentenlink einsehen: -<doclink>-
CLOSEREQUEST=Hallo -<user>-, -<LF>-Ihr Request mit der Nummer -<ReqNumber>- (-<Problem>-) wurde von -<CompletedBy>- mit folgender Lösung geschlossen:-<LF>- -<solution>-

Reservierte Felder -<LF>-, -<CR>-, -<doclink>-
Ansonsten werden die Platzhalter analog der im Request enthaltenen Feldinhalte ersetzt..
2 x 6.5.5 Mail Server on Windos 2003
2 x 6.5.5 Application Server on Windos 2003

Clients:
500 User (Win.XP) 6.5.5

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #394 am: 07.03.05 - 12:26:54 »
hmm, eigentlich haben wir das doch schon ( für das Subject )

msgTicketAssigned=      Ihre Helpdeskanfrage wurde von ~~&supporter~~ zur Bearbeitung unter der Nummer ~~&ReqNumber~~ angelegt
msgTicketReopened=      Ihre Helpdeskanfrage ~~&ReqNumber~~ wurde von ~~&supporter~~ wieder aufgenommen.
msgTicketClosed=        Ihre Helpdeskanfrage ~~&ReqNumber~~ wurde von ~~&CompletedBy~~ bearbeitet. Der Vorgang ist abgeschlossen.
msgTicketHint=          Ihre Helpdeskanfrage ~~&ReqNumber~~ wurde von ~~&ReroutedBy~~ an ~~&supporter~~ zur Bearbeitung weitergeleitet
msgTicketReAssign=      Ticket ~~&ReqNumber~~ von ~~&User~~ wurde von  ~~&ReroutedBy~~ zur Bearbeitung an sie weitergeleitet

auch das doclink ist verfügbar.

oder meinest du jetzt individuelle Body-Texte ?

Offline feargus

  • Aktives Mitglied
  • ***
  • Beiträge: 144
  • Geschlecht: Männlich
  • Und welche Farbe soll die Datenbank haben?
Re: Trouble Ticket System gesucht...
« Antwort #395 am: 07.03.05 - 14:14:02 »
Hallo Ulrich,

eigentlich eher im Body.

Dort können dann auch Infos zur Lösung gleich mitgeschickt werden. Somit brauchen Die Benutzer die Datenbank garnicht erst zu öffnen.  (Optimal wäre natürlich RTF - das ist dann aber wohl doch zu aufwendig)

So wurde es z.b. auch in die BCCTools intigriert ;)
2 x 6.5.5 Mail Server on Windos 2003
2 x 6.5.5 Application Server on Windos 2003

Clients:
500 User (Win.XP) 6.5.5

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #396 am: 07.03.05 - 14:27:19 »
Ist notiert.


Offline ihalono

  • Frischling
  • *
  • Beiträge: 12
Re: Trouble Ticket System gesucht...
« Antwort #397 am: 11.03.05 - 09:23:39 »
Hallo,
mal eine grundsätzliche Frage: Wie füge ich Supporter hinzu bzw. warum steht als Supporter immer der da, der ein Ticket aufgeben will? Oder ist das nur so weil ich die Datenbank zu testzwecken lokal laufen habe (einfach mit Doppelklick geöffnet)
Disclaimer: Bitte sprecht deutsch mit mir, meine Noteskentnisse sind auf einer Skala von 0 - 100 ca. bei 0,1 ;)

Gruß

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.615
  • Geschlecht: Männlich
Re: Trouble Ticket System gesucht...
« Antwort #398 am: 11.03.05 - 09:32:01 »

Zitat
Wie füge ich Supporter

Das funktioniert über die Konfiguration; wenn die die Supporter aus dem Adressbuch auswählen möchtest, brauchst du nur den Systemparameter LUPNAMES auf CLASSIC zu stellen.

Zitat
warum steht als Supporter immer der da, der ein Ticket aufgeben will?

Die Grundidee hinter  der bisherigen Lösung ist folgende. Kommt das Ticket über Mail herein, wird der Supporte ja erst dann eingetragen, wenn jemand das Ticket annimmt.

Wird ein Ticket direkt in der DB erstellt bin ich davon ausgegangen, daß der Erfasser auch gleich der erste Bearbeiter ist. Ist er es nicht kannst du aber in der Historie schön verfolgen, wer das Ticket angenommen hat und an wen er es dann weitergeleitet hat.

Damit könntest du auch feststellen, wer sich immer die Rosinen rauspickt und wer Tickets gleich wieder abgibt, obwohl er das selber lösen könnte

Das ist dann ab version 1.0.7 konfigurierbar; Thomas Schulte hat da was eingebaut


Offline ihalono

  • Frischling
  • *
  • Beiträge: 12
Re: Trouble Ticket System gesucht...
« Antwort #399 am: 11.03.05 - 09:48:32 »

Zitat
Wie füge ich Supporter

Das funktioniert über die Konfiguration; wenn die die Supporter aus dem Adressbuch auswählen möchtest, brauchst du nur den Systemparameter LUPNAMES auf CLASSIC zu stellen.

Zitat
warum steht als Supporter immer der da, der ein Ticket aufgeben will?

Die Grundidee hinter  der bisherigen Lösung ist folgende. Kommt das Ticket über Mail herein, wird der Supporte ja erst dann eingetragen, wenn jemand das Ticket annimmt.

Wird ein Ticket direkt in der DB erstellt bin ich davon ausgegangen, daß der Erfasser auch gleich der erste Bearbeiter ist. Ist er es nicht kannst du aber in der Historie schön verfolgen, wer das Ticket angenommen hat und an wen er es dann weitergeleitet hat.

Damit könntest du auch feststellen, wer sich immer die Rosinen rauspickt und wer Tickets gleich wieder abgibt, obwohl er das selber lösen könnte

Das ist dann ab version 1.0.7 konfigurierbar; Thomas Schulte hat da was eingebaut



Ah OK. Danke erstma! Tauchen sicher noch mehr Fragen auf ;)

EDIT: Da ist schon eine: Würde das auch auf nem fünfer Server funktionieren?

Gruß
« Letzte Änderung: 11.03.05 - 09:52:53 von ihalono »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz