In an earlier post, I explained some of the history behind the Collation Editor, and our use of it in Textual Communities. At last, I am updating the Collation Editor embedded into TC!
The Collation Editor has two major dependencies:
- On Python, for a series of critical tasks run through a Python server;
- On CollateX, for the actual collation.
The first task was to create a version of the Collation Editor Core implementing both dependencies. I did this by mirroring the structure of the stand-alone collation editor code (available at https://github.com/itsee-birmingham/standalone_collation_editor). Thus, this is what the top-level folder looks like in my implementation (in my installation, in /Applications/Collation_Editor_Core):
That is: at the root level I have a folder holding collateX, with the collatex-tools jar in it. There is a folder labelled "collation" which we will look at in a moment. There are two python files, and then a .sh and .bat file which start up the application (this structure is taken from the current stand-alone collation editor structure).
Within the "collation" folder, here is what I have:
And then, going still deeper, this is the content of the "core" folder:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=8" /><title>Collation Editor</title><meta name="description" content="Collation and Apparatus Editor" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><script>var SITE_DOMAIN = "http://localhost:8080";var staticUrl = SITE_DOMAIN + '/collation/';</script><script type="text/javascript" src="/collation/js/jquery-3.3.1.min.js"></script><script type="text/javascript" src="/collation/js/jquery-ui.min.js"></script><link rel=stylesheet href="/collation/pure-release-1.0.0/pure-min.css"type="text/css"/><script type="text/javascript" src="/collation/CE_core/js/collation_editor.js"></script><script type="text/javascript">var servicesFile = 'js/local_services.js';collation_editor.init();</script></head><body oncontextmenu="return false;"><div id="header" class="collation_header"><h1 id="stage_id">Collation</h1><h1 id="project_name"></h1><div id="login_status"></div></div><div id="container"><p>Loading, Please wait.</p><br/><br/></div><div id="footer"></div><div id="tool_tip" class="tooltip"></div></body></html>
Note that the "src" and "href" attributes direct to "/collation..." not to "collation..". The preceding "/" is important as this sends the server to look for these files in the root "collation" folder.
cd /Applications/Collation_Editor_Core
And then starting up the instance with
./startup.sh
This calls Python 3 to start a server at localhost:8080, with the "collation" folder as the root, and running the Python .py files in the "collation/core" folder. It also starts up CollateX, from the "collatex" folder at the root, with CollateX running on another. If all is in place, this is what you will see when you go to "http://localhost:8080/collation/" in your browser.
If you have the "data" folder from the stand-alone installation in the "collation" folder, you can type in "B04K6V23" into the "Select" box and then hit the "Collate Project Witnesses" button (currently not working ...)