News/change log
(Click on items to see details.)- 2009-11-23: added plugin edifact_invoic2xml: Translates edifact D96A invoic to XML en vice versa. Also show how to use xml attributes.
- 2009-11-21: updated plugin demo_changedelete: example better shows what is happening.
- 2009-11-18: updated x12 grammars: 837 was not correct
- 2009-11-09: updated eggs installer for 1.5.6: database was missing
- 2009-10-08: New plugin 'demo_passthrough'
Example/demo where Bots picks up files and sends them, but where the files are just passed not translated. This is useful when using Bots to monitor all external communication. A small route-script is used.
- 2009-10-08: Updated plugin 'demo_setuperrorreport' (for version 1.5.6)
- 2009-09-23: Version 1.5.6
- fixed bug in gui for 'run all'.
- fixed bug in starting up 'bots-unlockdb'.
- fixed bug in outgoing email-handling.
- fixed bug in incoming email-handling.
Example/demo where Bots picks up files and sends them, but where the files are just passed not translated. This is useful when using Bots to monitor all external communication. A small route-script is used.
Example/demo where Bots picks up files and sends them, but where the files are just passed not translated. This is useful when using Bots to monitor all external communication. A small route-script is used.
- 2009-09-04: Withdraw version 1.5.5
As this version contained some confusing bugs (default 'run' from GUI did not work).
- 2009-09-01: Version 1.5.5
- Added: editype Tradacoms (a plugin is provided).
- Added: hooks for user communication scripts to set subject and attachment-filename in outgoing email.
- Added: Logging of bots-engine to file. A 'rotating' log file is used; seperate file for each run. The log file gives a sequential overview of the actions in bots-engine. Level can be set (DEBUG,INFO,WARNING etc). Advantages: useful for debugging, logging to console/screen can be turned off.
- Added: option in bots.ini (routes_not_in_default_run) to indicate a route should not be used in a default run. Useful if these routes are only called as command line parameters.
- Added: use different environments for bots in one installation. This can be done by using different ini-files. The name of the ini-file can be passed as command line argument, eg 'bots-engine -iconfig/bots.ini'. Ini-file now includes setting for turbogears/database configuration. Limitation (for now): 'run' from bots-monitor always uses 'default' environment.
- Changed: in bots.ini section [directories]: new entry 'usersys'. Previous the individual subdirectories in usersys had their own entires; this is no longer used.
- Improved: reading xml; can now read repeating data-element as records.
- Improved: check edifact-file for separators used. Syntax version 4 uses only standard separators; in real world this is sometimes also done for older syntax versions.
- Improved: bots-monitor - select incoming: uses now dropdownmenu's for eg routes.
- Improved: plugins can have fixed index file name.
- Fixed: calling external program: allow more parameters (than one).
- Fixed: partner dependent syntax for unicode partner-ID (using punycode).
- Fixed: bug in writing outgoing xml-file.
- 2009-07-16: Version 1.5.4
- Added: show additional information for incoming messages instead of asterisk (is parameter in bots.ini)
- Added: archive function for long term archive of edi files. Send/received files are written to archive directories (per channel). Archiving and archive directories can be indicated in bots.ini (for now; this ways it does not lead to database changes in 1.5.* series; will be integrated later).
- Added: existing grammars are not overwritten anymore when reading plugin. Existing files are renamed; used is warned that files have been renamed.
- Added option ' botsreplace' for handling of charsets. Characters not in charset are replaced (with char set in bots.ini, default is space).
- Added change/delete for mapping scripts. This makes it easy to change existing edi files. Another use case: one grand mapping for all partners, and do smaller partner-specific changes/deletes after this grand mapping. An example plugin is provided.
- Added: support edifact UNOY (as UTF-8) incl BOM.
- Added: receiving TA1 in x12 does not give an error.
- Added: generation of 997.
- Added: Utility to generate grammar from xml message.
- Added: communicationscript.filename now receives information about current ta in table.
- Improved: edifact-envelopes support version 4.
- Improved: Better formatting of errors (when debug = True).
- Improved: email reports (beter header, report not as an attachment).
- Improved: status for mailbag.
- Improved: Accept HHMMSSD and HHMMSSDD as time format (x12).
- Improved: better xml output: always xml prologue; include standalone option in xml prologue; support doctype; support processing instructions at start of xml file; indented xml (' human readable').
- Fixed: charset of incoming edi file is not overruled by setting in channel. (charset in grammar is leading for incoming edi files).
- Fixed: bug in GUI for incoming selections.
- Fixed: EDIFACT UNOC with Contrl-Z goes OK now.
- Fixed: errors in UNOB charset.
- Fixed: for selection of incoming edi files: (composite) routes are display only once.
- Changed: Route has to be active in order to run for using as command line parameter (change back because this was confusing).Removed: no more logging for user-scripts: not useful, confusing errors.
- 2009-05-26: Version 1.5.3
- Added: write headers for csv (plugin csvdemo).
- Added: show additional information for incoming messags (instead of asteriks) with parameter in bots.ini.
- Added: more flexibility in communication scripts: eg better filename. (plugin demo_communicationscript).
- Fixed: xml envelope handling.
- Fixed bug in cleanup.
- Improved: cleanup does not stop if files can not be deleted (eg in use; no enough rights)
- Improved checking for date/time formats.
- 2009-05-05: Version 1.5.0
- Improved 'plugout'. Plugout nows create a complete plugin (not only the index file). Plugout can create a 'snapshot' including transactional data; useful for support.
- Improved display of edi files in incoming/outgoing; incl forward/backward (before/after translation)
- Improved performance. Removed bottlenecks, better indexes etc. Bots runs faster; performance stays good for a lot of runs. Better handling of lots of temporary files.
- Added communication using user communication script. Eg to put (partner name, date) in filename, start external programs etc.
- Added more flexibility in route with route scripts: use std route AND call functions from route script: before translation, after in-communication etc.
- Added cleanup can now be scheduled separately (parameter)
- Added 'logout' in main menu.
- Added pop3apop and smtpstarttls to channels types; removed checkboxes. (to simplify channels).
- Added for smtp you can now use a filename for the attachment.
- Added more debug options for communications (ftp, smtp, pop3)
- Added password can be shown as clear text, or 'hidden'.
- Added 2 types of user: admin and non-admin. Only admin can do maintenance tasks.
- Added specific timeout for ftp.
- Added charsets for UNOA and UNOB where all of UNOC is possible.
- Added Cnrtl-Z (EOF) to edifact charsets (except the strict ones).
- Added in xml output entities/fields are sorted (predictable output).
- Improved Xml: better way of accessing xml attributes. Dropped 'non-flatten XML'.
- Improved selections incoming; selections are not lost anymore.
- Improved text login screen
- Improved for edifact charsets : UNOA and UNOB in email is no longer MIME encoded.
- improved information in a reports.
- Improved if communication for incoming messages failed retries could go on forever.
- Improved routes as command line parameters do not need to be activated anymore.
- Improved Mapping script can access the whole edi file.
- Improved for SQLite local time is now used (instead of UTC).
- Fixed bug in ftp non-binary communication module.
- Fixed error in sending email report only for errors.
- Fixed small error in X12 enveloping.
- Fixed handling of ftp active/passive.
- Fixed problem of having to log in to often/visit table is cleaned more often.
- Fixed unicode problem with PostgreSQL
- Fixed UNOA-extended
- Fixed all syntax values are now used in enveloping with partner dependent syntax.
- fixed error in SQL for MySQL for automaticmaintenance.
- 2008-11-02: Grammars for edifact: APERAK, DESADV, INVOIC, INVRPT, ORDERS, ORDRSP, PRICAT, REMADV SLSRPT.
- 2008-11-01: Grammars for used X12: 278, 810, 820, 830, 832, 835, 837, 846, 850, 855, 856, 858, 861, 867, 894, 997.
- 2008-10-05: Version 1.4.0
- Fixed bug prohibiting the use of transform.inn2out().
- Fixed a bug in using partnergroups.
- Fixed problem with aggressive caching of opera.
- Fixed bug in using X12 (forgot parameter for X12).
- Fixed bug in reading grammar for 'xmlnocheck' and 'jsonnocheck'.
- Fixed bug in not compressing UNB segment when testindicator not used.
- Fixed bug that prevented use of 'grammarcheck' on commandline.
- Fixed bug for 'ViewOutgoingSelections' and 'ViewProcessOrdersSelected' in Reportsscreen.
- Fixed bug in plugin reading for bots source files. Now bugfix updates can be in plugins.
- Removed help function in Bots-monitor. It's better to focus on good documentation on the Bots web site.
- Add: function 'transform.dateformat': gives right date format code (for edifact).
- Add: function 'transform.useoneof'; use if different mappings for same data (incoming).
- Add: charsets in out-channel checked for upwards compatibility (eg charset 'UNOA' is allowed in channel with charset 'ASCII').
- Add: database connector; write/read from database as communication channel.
- Add: if Inn.get() is used without None: return True if mpath in in-message, else False. Removed inn.getindicator(). Use inn.get() (without None).
- Add: display report on command line (bots-engine).
- Add: button to toggle all select boxes.
- Add: screen to shows incoming edi files using selection criteria ;.
- Add: interchange control either by sender or reciever (option interchangecontrolperpartner in bots.ini). (edifact, x12) .
- Improve: error when field not in records (error text was too long).
- Improve: flattenxml: skip empty xml entities; skip xml attributes (potentially dangerous; information is lost).
- Improve: handling of retry and retransmit/resend.
- Improve: simpler reports in GUI. Say: OK/NOK, rest of information in a string.
- Improve: not always reprocess files. Let user chose to reprocess.
- Improve: main menu of Bots Gui.
- Improve: new start screen for Bots-monitor.
- Improve: details of a trace: 1 way of viewing.
- Improve: adding emailadresses. Removed 'in/out' parameter: was confusing/too complicated; and it didn't offer much.
- Improve: easier database initialisation (especialt for non-standard database).
- Changed: botslib.ini has changed to botsglobal.ini (can affect mapping scripts).
- 2008-06-17: Version 1.3.0
- Improved installation for windows: all dependecies in one file (no more additional downloading).
- Simpler plugin mechanism; load plugin using bots-monitor. More plugings provided.
- Better installation for windows: existing configuration and database not overwritten when updating to new version.
- Use of test indicator in standard-routing.
- Smaller bug fixes in bots-monitor and error-reporting.
- Show incoming and outgoing edi-files in bots-monitor.
- Engine: returns error code when error(s) occurs in a route.
- Adapt for sqlalchemy 0.4.
- 2007-12-02: Version 1.2.0
- Mapping script:
- Add: inn2out(): use incoming message(tree) verbatim as outgoing message.
- Get(), sort(), etc can also be used for outmessage object.
- Put() etc can also be used for inmessage-object.
- Add: 'persist': store and retrieve persistent data from mapping script. Gives Bots memory.
- Add: getcountoccurrences(mpath): returns the number of occurrences of mpath.
- Add: getcountsum(mpath): returns the counts of values as selected by mpath..
- Bots-engine: route-id's as commandline parameters; for controlling bots when called from another program or script.
- System, performance:
- Improved field checks: 33% faster in reading and writing
- Monitor suited for many reports (eg when scheduled).
- Performance remains stable (large loads, long time).
- Improved making new distribution
- Better errors if eg setuptools not available.
- For python 2.4: better error if pysqlite not installed.
- Add new editypes:
- mailbag: some VAN's deliver 1 file with multiple interchanges: ISA-IES (x12) and/or UNB-UNZ (edifact). These interchanges can use different seperators. Bots splits the interchanges in seperates files. Use editype 'mailbag', messagetype 'mailbag'.
- xmlnocheck and jsonnocheck.
Use XML/JSON without grammar.structure and grammar.recorddefs. This is possible because both xml and json are 'self-descripting'. Use: editype 'xmlnocheck' and messagetype 'xmlnocheck'. In JSON, first object/objecthas no name, 'ROOT' is used. - JSON; this a very good inhouse format.
- FlattenXML: write fields of a record as XML-elements (instead of attributes). This is useful for eg straight fixed to xml mappings. Use parameter 'flattenxml' in grammar.syntax.
- Add XML and JSON: parameter syntax.checkunknownentities gives warning/no warning for unknown elements and attributes. Was: gives no warning.
- Bots-monitor
- Reworked channel-maintenance interface.
- Use select lists where feasible.
- Links to display recieved/send edi files
- Adapt fields sizes to fit data length.
- Limit on nr of (reports,orders) in one screen (performance); incl. 'previous'/'next'.
- Select for reports, orders
- Name of mapping script in incoming message overview.
- Bugfixes (most important)
- filename not always in detail view.
- error in collecting nr files send.
- transform.checkean() is fixed
- transform.rcodetconversion() is fixed
- Time format can be 8 positions in x12.
- Better handling of unicode for MySQL.
- Fixed typo in x12 envelope records.
- Mapping script:
- 2007-10-15: Version 1.1.0
- Documentation
- Tutorial: set up basic translation.
- Overworked manual!
- Added editype X12
- Added editype SAP idoc.
- Sequential record number, number of header segment, level: can turn on/off
- Set MANDT and DOCNUM from within mapping script.
- Improved installation: too much problems trouble with dependecies. Now downloaded from one 'safe' place to avoid bad versions/incompatibilities/version problems/etc.
- Added: partner groups for from/to-partners in translation.
- Added: outchannel dependent on partner/partner group.
- Added: for outgoing, chars not in charset either give error or are skipped.
- Added: partner dependent syntax for outgoing files; especially useful for X12.
- Added: utility to convert SEF files to Bots grammar. SEF is file format for edi messages. SEF files are often easy to find/get.
- Added: stand alone edi: receive orders, view/change them; send DESADV and INVOIC back.
- Added: Functional groups in incoming edifact.
- Added: sort incoming messagetype. Eg sort article lines on article number.
- Improved: Better handling of char sets, eg can use EBCEDIC.
- Improved: error texts.
- Dropped support for IE6.
- Reorganised mappings: subdirectories for editypes
- Important bug fixes:
- bug in error-handling if charset is 'strict' and error occurs.
- bug in UNOB character set.
- Grammars:
- Better handling of grammars: faster, uses less memory.
- Added: minimum length for fields (needed for X12).
- Removed 'defaults'; is done with syntax.
- Added: command line checker for grammars.
- Added: exp. notation for numeric dataformat (needed in X12, edifact version 4).
- Bots monitor:
- Improved: Errors on 'incoming' level.
- Improved: Display mapping script in interface.
- Fixed bug in GUI: if no items in grid, residue is displayed. This could lead to errors.
- Div improvements in interface: other colors, better sys-tasks.
- Improved: Viewing of incoming files is much faster.
- Plugins
- Added plugout: export database data and configuration files from existing bots-installation. This way generating a plugin is easy.
- Format of plugins has changed. Old plugs do not work anymore.
- Documentation
- 2007-06-15: First release of Bots.