LP#1796945 Reporter cloning and creation fixes
[working/Evergreen.git] / Open-ILS / src / edi_translator / README
1 EDI Translator XML-RPC Service (for Evergreen)
2
3 Copyright 2010-2011
4 License: GNU Public License v 2.0 or later
5
6 Author: Joe Atzberger
7         Equinox Software, Inc.
8
9 For ease of interpretation, Evergreen needs a service to convert between raw EDI and a
10 more commonly used JSON-based notation.  Here we have the script (edi_webrick.rb) to
11 do that.  The Translator will be called on both inbound and outbound EDI messages,
12 translating to JSON (JEDI) for edi_fetcher.pl and to EDI for edi_pusher.pl,
13 respectively.
14
15 Files:
16     edi_webrick.bash  - wrapper script for setting ENV, calling edi_webrick.rb
17     edi_webrick.cnf   - edi_webrick.rb config script
18     edi_webrick.rb    - the main EDI translator daemon script
19     install.sh        - dependency installer for Debian Lenny
20     install-ubuntu.sh - dependency installer for Ubuntu Trusty and Xenial
21     README            - this file
22     misc/             - patches to EDI4R; purely temporary until we can
23                         get the changes accepted upstream
24
25 This service can be run on a local or remote system that has the proper Ruby environment
26 established.  See the install.sh script for an example of how to install the needed Ruby
27 components (on Debian Lenny linux) or install-ubuntu.sh (on Ubuntu Trusty and Xenial).
28
29 There is no such thing (yet?) as "push" from a vendor of their EDI responses.  Basically
30 they just put responses in an FTP directory somewhere that you are expected to check.  It
31 would be cool if there were a better way to do that like consuming some RSS feed or
32 remote API callbacks.  Similarly, nobody seems willing to utilize interactive EDI.
33
34 Evergreen will only support one delivery address per PO.  That limitation is based
35 on the mapping to the delivery address via the ordering_agency org_unit.  If items
36 need to be shipped someplace else, then they need a different PO, for now at least.
37
38 If we want to support multiple vendor profiles, then we drop the unique constraint
39 on SAN, add a new one on SAN + profile_code.  Profile code then goes in the template.
40 The template logic could get rather complex to support all the optional data elements.
41
42 SEE ALSO:
43     http://github.com/mbklein/openils-mapper