FAQ Bots open source Edi translator
Links for questions about:
- EDI standards,
- Functions of EDI software (or: why edi software),
- Translations, mappings, grammars,
- Setting up EDI in a stable way.
- Installation problems.
- Starting with Bots (after installation).
- Starting with EDI.
- Can Bots....about functionality of Bots.
- Other problems.
Installation problems
- Can I install Bots on Linux?
Yes. See the installation instructions in the documentation section of this web site.
- I try to install Bots at Windows Vista, and I failed
Probably a rights problem - you'll have to have administrator rights in order to do a proper install.
Right click the installer program, and choose 'Run as Administrator'.
We installed Bots on Vista. Yes, this works.
- Other installation problems
Of course we receive reactions about installations that are not working :-(
Please let us know if the installation of Bots fails (what happened, OS, error, etc).
We want to help..
Starting with Bots (after installation)
- When I use Bots-monitor, I sometimes see a very small 'window'. What is wrong?
You probably use Internet Explorer 6. Use Internet Explorer 7/8, Firefox, Opera, etc.
- The interface does not work as you describe it.
The interface needs JavaScript. Turn it on. (or unblock/allow/put on white list)
- I installed Bots, and am trying to log in. What username/password to use?
Username: bots
Password: botsbots
- When starting bots-webserver it terminates after a few seconds.
In order to see what goes wrong you will have to start the bots-webserver from the command line (command prompt, dosbox).
Open the command line, and use (for windows installation and python 2.5):
c:\python25\Scripts\bots-webserver
Now you will be able to see why this went wrong; see also the next question.
- When starting bots-webserver I get this error:
(blah-blah error stuff)
cherrypy._cperror.NotReady: Port not free.
This means another program already uses this 'port'.
This is easy to adapt by telling Bots to use another port.
open configuration file bots/config/botstg.cfg; look for this line:
# server.socket_port=8080
Change it to eg:
server.socket_port=8090
Start bots-webserver again.
In your browser you will have to indicate another port, use eg: http://localhost:8090
- I installed Bots on *nux, but it's not working.
Often a rights problem. Possible solutions:
- Start bots-webserver and bots-engine with sufficient rights - e.g. as root.
- Change the owner/rights of the files in botssys, usersys and config; run bots-webserver/bots-engine as an user.
- We ourselves place the directories botssys, usersys and config somewhere else (out of /usr), change the owner/rights and make symbolic links in the bots installation to these directories.
- I use linux. I get this error:
File "/var/lib/python-support/python2.5/sqlalchemy/engine/strategies.py", line 81, in connect
raise exceptions.DBAPIError.instance(None, None, e)
sqlalchemy.exceptions.OperationalError: (OperationalError) unable to open database file None None
This happens in some linux distributions. Something is wrong in turbogears and/or setuptools: the var top_level_dir in configuration files is not treated correct: last character is chopped off.
Workaround is to use full paths in bots/config/botstg.cfg (mind the extra ' /'), eg:
sqlalchemy.dburi="sqlite:////usr/lib/python2.5/site-packages/bots-1.5.0-py2.5.egg/bots/botssys/sqlitedb/botsdb"
in bots/config/app.cfg:
static_filter.dir = "/usr/lib/python2.5/site-packages/bots-1.5.0-py2.5.egg/bots/static"
static_filter.file = "/usr/lib/python2.5/site-packages/bots-1.5.0-py2.5.egg/bots/static/images/favicon.ico"
- I use linux. I get a strange layout; looks like CSS is not working.
Seems to be the same problem as in the last question.
Starting with EDI
- Where do I start with Bots? It looks promising, but...
Best way to get started is to download a plugin, which may provide you with good examples. Plugins are available on the web site.
The plugin 'my_first_plugin_1_5.zip' is quite simple and there is a tutorial for it in the documentation section of this web site.
- OK, Bots looks suited for my purposes. But how do I start EDI?
EDI can be complicated.
It involves EDI standards, communication protocols, EDI partners, commercial relationships, logistics, ERP software, etc.
This can be pretty confusing.
Bots is just a tool, if (in our opinion) a very good one.
You can hire EbbersConsult to help you get started with EDI and Bots.
- We have to do a lot of translations. Can you train us to set up translations?
Yes.
If you use a lot of EDI messages or want to have different mappings for different EDI partners, EDI can become expensive.
We will set up the first translation; you can set up the other translations and/or do smaller adoptions (for eg new business partners); we can guide you to do this.
Can Bots....about functionality of Bots
- How can I see what the message tree looks like?
In the mapping script, after you've made made the outgoing message, use:
out.root.display()
- I need some changes in the codes/qualifiers used in the X12 envelope for a edi partner. How can I do this?
Yes, you can change this easy for outgoing edi file.
Just set the syntax section in usersys/partners/x12/<partnerid>.py
You can set specific seperators; you can set ISA01, ISA02, ISA03, ISA04, ISA05, ISA07, ISA11, version (ISA12), ISA14, ISA15, functionalgroup (GS01) and GS07.
Check also bots/grammar.py in class x12 for detailed information and examples.
(For incoming: this is not needed. Bots handles all seperators used.)
- Can Bots handle message X in format Y?
Yes (most likely).
Basically Bots can handle all message types of most EDI formats (edifact, X12, XML).
And the messages can be converted to 'any' message format in the layout you want.
(this is often called an 'any-to-any translator').
- Can Bots do a translation of e.g. edifact to fixed records?
Each field in edifact would get a fixed length in the fixed records;
each segment is translated to its own type of fixed record.
Yes, no problem. We calls this a 'one-to-one' translation. More info: Translations, mappings, grammars.
- Where can I download a grammar for message X ?
See the documentation section of this web site.
If it's not mentioned there, there probably isn't one yet.
If you have a SEF file, it can be converted to a Bots grammar. Use sef2bots.
If you have a SAP idoc definition, it can be converted to a Bots grammar. Use idoc2bots.
Otherwise you can either make one yourself, or pay us to do make one (normally EUR 200).
- Does Bots support AS2?
No. Bots is designed as a client - for AS2 a server is required.
This is quite expensive.
We ourselves prefer to use a provider for this.
You could use Bots as translator and organise the AS2 communication in a different way.
- Can Bots do the translation of the xxx edi message?
Yes, no problem. But to what do you want to translate this?
See the links above for more information.
- Can Bots handle a lot of EDI messages and/or very large messages?
Yes. We are quite happy with the performance.
Our experiences running test sets:
- We run >1000 messages per run without problems.
- We run edi files of 20 Mb without problems.
- Performance is stable and does not degrade with large numbers of messages and runs (over 10.000 runs).
- Is there a C/java/compiled/etc version of Bots?
No. And neither is this planned. Of course: feel free to .....
Performance is not a problem; Python is very stable.
Bots uses the python interpreter for e.g. mapping scripts. So using an interpreted language is a logical choice for EDI software - we do not want to write our own interpreter.
Other problems
- Bots does not translate anymore. When I use 'Run (etc)' in the interface, I see 'bots-engine is started' but nothing happens - no new reports appear.
First check if the bots-engine is still running. Sometimes this takes some time, especially when you have configured longer time-outs for ftp-connections, or you receive/send a lot of data. You can check if the bots-engine proces is still running (eg in Task Manager).
Then check again the reports.
Run the bots-engine again, and check after some time if you can see a report of the last run.
If not, it might be possible the database is locked. (the bots-engine locks the database in order to prevent it is running twice).
Possible reasons why the database is locked:
- System problem: eg computer shut down while bots-engine was running.
- Bots-engine was shut down by the user while running. This is sometimes unavoidable, eg when a mapping script contains an 'endless loop'.
- Programming error in Bots (not a error in a user script).
You can unlock the database using the command 'bots-unlock'. In windows this would be something like 'C:\python25\scripts\bots-unlock'.
You should be able to run the bots-engine now.
Bots TRIES to log what happened in a file called bots/panic.txt
- Bots-engine stopped working. I get the message 'database locked'(etc).
See the last question.