However, I feel that it would be more useful for the manager output to be tab delimited, one record per line:
i.e. instead of
Event: Agents Agent: 6038 Name: A User Status: AGENT_LOGGEDOFF LoggedInChan: n/a LoggedInTime: 0 TalkingTo: n/a
Event: Agents Agent: 6039 Name: An Other Status: AGENT_LOGGEDOFF LoggedInChan: n/a LoggedInTime: 0 TalkingTo: n/a
I would prefer to see the following format:
Event~tAgents~t1~t6038~tA User~tAGENT_LOGGEDOFF~tn/a~t0~tn/a Event~tAgents~t1~t6039~tAn Other~tAGENT_LOGGEDOFF~tn/a~t0~tn/a
Where ~t is a tab character, and the layout starts Type~tName~tVersion~tData
Version is the version number of the data layout for the Agents Event. For version 1 we have
AgentNum/Name/Status/LoggedinChan/LoggedinTime/Talkingto
This allows us to add further fields to the record as and when required and not break any existing code in the field.
In my mind, (yes, a small one compared to the giants walking around here) There are several advantages in this method:
a) Parsing one line of data per record is in order of magnitude easier to code.
b) As mentioned, further fields can be added at any time without breaking code
c) output can be exported directly into spreadsheets
d) It is very easy to skip records that you are not interested in - If field 2 is not "Agents" then ignore
In order not to break existing code, we could provide a flag or setting to determine which output format to use: further more we could slowly update all of the manager events until they are all available in old and new formats.
I know that perhaps I've talked a load of BS - I would appreciate it if people could comment on this before I head up a blind alley. I feel that it would be more useful and easier for us as developers if there were a common event manager layout, rather than a fixed number of lines per action type / event type, and one that follows a more common data / record layout.
Please feel free to comment / flame whatever.
exten => 999,n,GetFlameSuit(MaxStrength) exten => 999,n,WearFlameSuit(MaxStrength) exten => 999,n,HoldBreathAndWaitToBeFlamedBigTime()
Julian.
_______________________________________________ Asterisk-Users mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
