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
version
syntax parameter for message grammar.Note
The ISA-version you send now is probably in
usersys/grammars/x12/x12.py
Editype 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.