Fix integrated subscription editor record field
[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     README           - this file
21     misc/            - patches to EDI4R; purely temporary until we can
22                        get the changes accepted upstream
23
24 This service can be run on a local or remote system that has the proper ruby environment
25 established.  See the install.sh script for an example of how to install the needed ruby
26 components (on debian lenny linux).
27
28 There is no such thing (yet?) as "push" from a vendor of their EDI responses.  Basically
29 they just put responses in an FTP directory somewhere that you are expected to check.  It
30 would be cool if there were a better way to do that like consuming some RSS feed or
31 remote API callbacks.  Similarly, nobody seems willing to utilize interactive EDI.
32
33 Evergreen will only support one delivery address per PO.  That limitation is based
34 on the mapping to the delivery address via the ordering_agency org_unit.  If items
35 need to be shipped someplace else, then they need a different PO, for now at least.
36
37 If we want to support multiple vendor profiles, then we drop the unique constraint
38 on SAN, add a new one on SAN + profile_code.  Profile code then goes in the template.
39 The template logic could get rather complex to support all the optional data elements.
40
41 SEE ALSO:
42     http://github.com/mbklein/openils-mapper