Bots 3.1.0¶
- Bots 3.1.0RC was released 2013-07-17.
 - No database migration is needed.
 - Some small changes in x12 grammar might be needed, see details below.
 
Migration notes (from 3.0.0)¶
Editype x12: in ISA definition ‘ISA11’ has to be conditional
Bots 3.1.0 supports the repeating character (for ISA-versions >= 00403).
- If you use this, ISA11 has to be conditional in definition; file
 usersys/grammars/x12/envelope.py, was:
['ISA11','M',(1,1),'AN'],
- becomes in 3.1.0:
 
['ISA11','C',(1,1),'AN'],This change also works for older ISA-version. Advised is to use this.
Editype x12, edifact, tradacoms: different handling of syntax parameters
- Bots handles the syntax parameters differently. In bots 3.0 and earlier this was somewhat ‘fuzzy’. This works now like:
 
- default syntax parameters are overruled by envelope parameters,
 - are overruled by message parameters,
 - are overruled by frompartner parameters,
 - are overruled by topartner parameters.
 
- Most common problem will be for x12: message grammars had by default in syntax parameters:
 
'version' : '00403',Formerly this was not used; now it is used.
This might lead to sending another version of ISA-envelope, this is probably not what you want!
Solution: delete (or uncomment) the
versionsyntax parameter for message grammar.Note
The ISA-version you send now is probably in
usersys/grammars/x12/x12.pyEditype fixed and idoc: ‘startrecordID’ and ‘endrecordID’ not longer used
- Bots calculates this automatically now.
 - Bots also checks for all used records if this is used the same over all records.
 - This might lead to errors.
 - Solution: BOTSID should have correct length in all records and be at correct position.
 Envelope scripts
- was:
 
self._openoutenvelope(self.ta_info['editype'],self.ta_info['envelope'])
- becomes in 3.1.0:
 
self._openoutenvelope()Route scripting
Function transform.translate is changed:parameters startstatus,endstatus,idroute,rootidta have to be explicitly indicated (no more defaults).
Changes¶
Interface (GUI)
- Improved and simplified many screens. Eg only filename is displayed (takes less space), a pop-up show full path name
 
- incoming
 - outgoing
 - detail
 - document; split up to incoming and outgoing screens;
 - confirm
 Show in configuration screen if there are routescripts, communicationscripts, mappingscripts, grammars. Routescripts etc can be viewed.
Partners and partnergroups are split up (via menu and screens).
Added a cancel button in configuration editing.
Added a choice list for routes in Configuration-Confirm.
Display edifact/x12: display per segment for better readability.
Show correct number of messages for resends.
Email error report is extended with information about errors.
Improved view/edit counters screen.
In errors the correct name of eg grammars is shown. This was confusing (using sometimes ‘.’ instead of ‘’ etc).
Highlights
- Extra debug option: check all get/getloop if OK with grammars.
 - Support for repeating elements is added (x12/edifact).
 - Simplified logic of syntax reading: default syntax is overridden by envelope syntax is overridden by message sytax is overridden by partner-syntax.
 - Added: fixed records can now be ‘nobotsid’: one record type, split to messages via field.
 - Generating 997’s can be done/manipulated via user script .
 Smaller changes
- Skip empty json elements in incoming files.
 - StartrecordID and endrecordID are not needed anymore for in grammars for fixed message/idoc, bots calculates this now.
 - Small improvements and bug fixes in XML reading/writing.
 - QUERIES now also support callables.
 - Xml2botsgrammar: sort fields in recorddefs, use empty elements in grammar.
 - If ‘alt’ transaltion is not found, use default translation.
 - More consistent handling of exceptions and logging (coding only).
 - Fixed problems starting bots-engine from webserver in less common situations.
 - Get correct incoming filename for re-receive.
 - Removed code for old database connector and code-conversion via file.
 - Automaticretry: first run only initialization (to avoid sending moch older files).
 - Explicitly set for outgoing file: no automatic retry.
 - Plugins: for different environments, path and testpath in channels are also relocated .
 - Plugins: handling of unicode-characters is now correct.
 - Add mapping function: getdecimal(). Returns a python decimal; if not found or non-valid input: returns decimal 0.
 - For csv and fixed with ‘noBOTSID’: nextmessageblock can check for multiple fields, eg:
 nextmessageblock = ([{'BOTSID':'lin','field1':None},{'BOTSID':'lin','field2':None}])- When deleting configuration items via ‘bulk delete’: make a backup plugin first.
 Bug fixes
- There was a missing import in
 xml2botsgrammar- Logging of mapping debug did not work in 3.0
 - Correct handling of resends/rereceives for already resend/received files
 - Fixed bug in automaticretrycommunication
 - Confirmation can now be asked via channel-rule.
 - if multiple commands in run: reports etc are based on timestamp. This messed up the relation between runs and eg incoming files.