Revision history for Perl extension Remedy::ARSTools. 1.08 Wed Feb 26 13:45:57 CST 2014 * fixed inverted logic in CheckFields / TruncateOK, prevented field lengths from being truncated * fixed error in CreateTicket causing CheckFields output to be returned instead of undef when CheckFields fails * fixed CheckFields date & time_of_day conversions to not die on NULL field values adding this to the to-do list * CoalesceRecords -> add two records together, spit out complete record with updates * IntersectRecords -> take two records, spit out only the fields they have in common * SubtractRecords -> take two records, spit out only the fields that are different * CompareRecord -> take two records, compare them. spit out a 1 if they're the same 0 if they're different 1.07 Mon Jan 27 16:49:06 CST 2014 forgot to update dependencies in Makefile.PL to include Date::Parse and Time::Interval 1.06 Mon Jan 27 11:23:05 CST 2014 * added automatic date, datetime & time_of_day string<->integer conversions on CreateTicket, ModifyTicket, MergeTicket and Query * added ImportDefinition * added 'dataType' to cache field datastructure * added '__Remedy_ARSTools_Version' to cache datastructure * added automatic rebuild of cache for upgraded Remedy::ARSTools version * enhanced non-sequential custom enum decoding / encoding * added user-definable GMT offset for date/time conversions * enhanced ParseDBDiary to use datetime conversions * added EncodeDBDiary * added automatic diary datastructure -> string encoding for MergeTickets * added ExportDefinition * added TunnelSQL * added DeleteObjectFromServer * added more complete test suite w/optional test form import some things on my to-do list: * FindFilterInGuides find all the filter guides containing the specified filter name * FindActiveLinkInGuides find all the active link guides containing the specified active link name * some kinda hack to make CreateTicket not return undef every time you create a ticket on a join form though presently I'm stumped. Querying by $LASTID$ in that scenario actually core dumped my 8.1 test arserver. suggestions welcome. 1.05 Tue Jun 12 23:30:02 GMT 2012 fixed bug in CheckFields causing enums to return null value match 1.04 Sat Apr 28 00:46:04 GMT 2012 fixed CheckFields bug preventing ModifyTicket from setting a null value on an enum field. fixed the hacky duct-tape that was the 1.03 implementation of custom enum value lists with the help mister John Zhang . Thanks, man! 1.031 Sat Apr 28 00:46:04 GMT 2012 fixed CheckFields bug preventing ModifyTicket from setting a null value on an enum field. 1.03 Fri Mar 23 16:49:48 EDT 2012 LoadARSConfig now supports enums with custom value lists 1.02 Mon Nov 14 18:19:17 EST 2011 added Merge function 1.01 Mon Jul 20 20:12:36 CDT 2009 fixed problem with matching ARSPerl version number 1.0 Mon Nov 13 20:59:52 GMT 2006 complete re-write. should work for all versions of ARSperl. a lot of things changed, a lot of things stayed the same. - now works without a config file (but faster WITH one) - reloads field definition data when missing config data - automatically reconnects on ARERR161 type errors - converts strings to integers for enum fields - removed snarky comments - rewrote documentation, removed even more snarky comments - removed 'timeout' option 0.92 Tue Oct 17 21:45:35 GMT 2006 added 'timeout' option. If set, the control structure is reloaded if last access was more than that long ago goddam this module needs a rewrite like a new set of drawers. it's FUNKY in there! ;-) 0.91 Tue Mar 21 16:16:25 GMT 2006 modified checkFieldLengths to accept blessed references on the Fields argument. 0.9 Fri Jul 9 09:46:50 EDT 2004 well crap! 0.6 sais I added truncate, but damn if I can find it in the code now ... added the TruncateOK => 1 option to CheckFieldLengths that will truncate long fields. CreateTicket and ModifyTicket will pass this option allong to CheckFieldLengths. 0.8 01/30/04 16:12:02 still carrying all the "things to do" CreateTicket now spews field value submissions in Debug mode 0.7 05/12/03 21:50:47 now exports procedural methods to calling namespace nothing else added/changed, so considder all the "things to do" from .06 be the things to do for .08 procrastination is the mother of intervention. 0.6 05/05/03 21:50:35 added TruncateFieldLengths, and Truncate support to CreateTicket and ModifyTicket. Pod updated to reflect new options to CreateTicket and ModifyTicket. -Things To Do for 0.7: add docs to pod for actual TruncateFieldLengths method add better port switching via: ars_SetServerPort(ctrl, serverName, TCPport, RPCnumber) add the self-healing config legit test suite switch GenerateARSConfig to _GenerateARSConfig (fix autosplit problem) 0.5 Wed 10/30/02 11:27:02 initial release to CPAN under Remedy::ARSTools namespace added ParseDiay added ParseDBDiary added support for auto-generating config files at object creation added support for auto-regenerating config files when fields not found modified RefreshConfig added GenerateConfig added GenerateARSConfig added GetFieldData -Still To Do: 'AutoConfig' automatically refresh ConfigFile upon field data exceptions Write Test Suite. Make complains about GenerateConfig and GenerateARSConfig: that they are not unique when truncated to 8 chars. Fix in next release.