expoweb/handbook/computing/troggle-ish.html

370 lines
16 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Handbook Troggle Notes</title>
<link rel="stylesheet" type="text/css" href="../../css/main2.css" />
</head>
<body>
<h2 id="tophead">CUCC Expedition Handbook</h2>
<h1>Troggle - what you may need to know</h1>
<p>Troggle runs much of the the cave survey data management, presents the data on the website and manages the Expo Handbook.
<p>You may have arrived here by accident when where you really need to be is <a href="../website-history.html">website history</a>.
<p>This page needs to be restructured and rewritten so that it describes these things:
<ul>
<li>Day to day troggle tasks - usually during expo. i.e. links to the "survey handbook"
<li>Annual tasks: preparing for next year, finishing last year (troggle & scripts)
<li>Architectural documentation of how it all fits together & list of active scripts
<li>How to edit and maintain troggle itself. The code is public on repository <a href="http://expo.survex.com/repositories/">::troggle::</a>
</ul>
<br />
<tt><em>Everything here should be updated or replaced - this page just records a lot of unfinished ideas.
Most people will not want to read this at all. This is for speleosoftwarearcheologists only.</em>
</tt>
<p>This page is mostly an index to other records of what troggle is and what plans have been made - but never implemented - to improve it.
<h3 id="troggle">Troggle - what it is</a></h3>
<p>
Troggle is the software collection (not really a "package") based on <a href="https://www.djangoproject.com/">Django</a>
originally intended to manage all expo data in a logical and accessible way
and publish it on the web. It was first used on the 2009 expo - see <a href="../../years/2009/report.html">2009 logbook</a>.
<p>Only a small part of troggle's original plan was fully implemented and deployed.
Many of the things it was intended to replace are still operating as a motley collection written by many different people in
several languages (but mostly perl and python; we won't talk about the person who likes to use OCamL).
<p>Examples of troggle-generated pages from data:
<ul>
<li><a href="http://expo.survex.com/caves">expo.survex.com/caves</a> - list of caves surveyed and links to guidebook descriptions
<li><a href="http://expo.survex.com/pubs.htm">http://expo.survex.com/pubs.htm</a> - reports, accounts and logbooks
<li><a href="http://expo.survex.com/expedition/2018">expo.survex.com/expedition/2018</a> - Members on expo 2018: . Scroll down for a list of all the data typed in from survey trips.
<li><a href="http://expo.survex.com/survexfile/caves/">expo.survex.com/survexfile/caves/</a> - List of caves with all the surveys done for each.
<li><a href="http://expo.survex.com/survexfile/caves-1623/115/cucc/futility.svx">expo.survex.com/survexfile/caves-1623/115/cucc/futility.svx</a> - Cave survey data from 1983 in Schnellzughohle.
<li><a href="http://expo.survex.com/survey_scans/">expo.survex.com/survey_scans/</a> - List of all scanned original survey notes.
<li><a href="http://expo.survex.com/survey_scans/2018%252343/">expo.survex.com/survey_scans/2018%252343/</a> - list of links to scanned notes for wallet #43 during the 2018 expo.
</ul>
Today troggle is used for only three things:
<ol>
<li>Reformatting all the visible webpages such that they have a coherent style and have a contents list at the top-left
hand corner. This is particularly true of the handbook you are reading now and the historic records of past expeditions.
<li>Publishing the "guidebook descriptions" of caves. The user who is creating a new guidebook description
can do this by filling-in some online forms. (And managing all the cave suvey data to produce this.)
<li>Providing a secondary way of editing individual pages of the handbook and historic records pages
for very quick and urgent changes.
This is the "Edit this page" capability; see <a href="../onlinesystems.html#editthispage"> for
how to use it</a> and <em>how to tidy up afterwards</em>.
</ol>
<h3>The first thing to do</h3>
<p>The first thing to do is to read: "<a href="../../../troggle/docsEtc/troggle_paper.odt" download>Troggle: a novel system for cave exploration information management</a>", by Aaron Curtis, CUCC.</em>
<p>Two things to remember are
<ul>
<li>that troggle is just one of several cave-survey management online software systems. CUCC EXPO is not the only caving expedition with a substantial nerd community.<br /><br />
<li>that troggle is part of a 40-year ongoing project and lives in a soup of several disparate scripts all working on the same data
</ul>
<h3>Troggle Login</h3>
<p>Yes you can log in to the troggle control panel: <a href="http://expo.survex.com/troggle">expo.survex.com/troggle</a>.
</p>
<p>It has this menu of commands:
<pre>
All Survex | Scans | Tunneldata | 107 | 161 | 204 | 258 | 264 | Expo2016 | Expo2017 | Expo2018 | Django admin
</pre>
<h3>Future Developments: Preamble</h3>
<p><em>Assumptions</em> (points to necessarily agree upon)
<ol>
<li>Let's NOT try to design a generic catalogue for storing all kind of data about caves of the whole world, intended for every kind of user (sports, exploration, science). Let's just settle for a generic framework. Let geeks in individual countries or individual communities write their tools operating within this framework.
<li>Let's try make it available for the layman, but still well-playable for the geeks.
<li>Let's rely on already existing, popular technologies. Let's keep it open source and multiplatform. Let's try not to reinvent the wheel.
<li>Let's not assume everyone has an Internet connection while working with their data.
<li>Let's version-control as much as possible.
<li>Let's support i18n - let's use UTF-8 everywhere and cater for data in many languages(entrance names, cave descriptions, location descriptions etc.)
</ol>
<p>Two page preliminary design document for <a href="../../documents/caca_arch2.pdf">'caca' (Cave Catalogue) rev.2 2013-07-26</a> by Wookey (copied from http://wookware.org/software/cavearchive/caca_arch2.pdf)
<h3>stroggle</h3>
<p>At one time Martin Green attempted to reimplement troggle as "stroggle" using <a href="https://www.fullstackpython.com/flask.html">flask</a> instead of Django at
<a href="https://en.wikipedia.org/wiki/Gitorious">git@gitorious.org:stroggle/stroggle.git</a> (but gitorious has been deleted).</p>
<p>A copy of this project is archived by Wookey on <a href="http://wookware.org/software/cavearchive/stroggle/">wookware.org/software/cavearchive/stroggle/</a>.
<p>There is also a copy of stroggle on the backed-up, read-only copy of gitorious on "<a href="https://gitorious.org/">gitorious valhalla</a>"<br />
<a href="https://gitorious.org/stroggle/stroggle.git/">stroggle code</a></br>
<a href="https://gitorious.org/stroggle/stroggle-gitorious-wiki.git/">stroggle-gitorious-wiki</a></br>
but note that this domain has an expired ertificate so https:// complains.
<h3>CUCC wiki on troggle</h3>
<p>CUCC still has an archive list of things that at one time were live tasks:
from <a href="https://camcaving.uk/Documents/Expo/Legacy/Misc/Troggle%20-%20Cambridge%20University%20Caving%20Club.htm">camcaving.uk/Documents/Expo/Legacy/Misc/...</a> and that page is reproduced in the table below (so don't worry if the URL link goes dark when CUCC reorganise their legacy pages).
<p>Troggle is a system under development for keeping track of all expo data in a logical and accessible way, and displaying it on the web. At the moment, it is [no longer] under development at <u>http://troggle.cavingexpedition.com/</u>
<tt>But note that this is Aaron's version of troggle, forked from the version of troggle we use. Aaron uses this for the <a href="https://expeditionwriter.com/new-expedition-to-mount-erebus-antarctica/">Erebus expedition</a>.</tt>
</p>
<p>Note that the information there is incomplete and editing is not yet enabled.
</p>
<table border="1" cellspacing="0">
<tr>
<th><p>Feature</p></th>
<th><p>Old expo website</p></th>
<th><p>Troggle: planned</p></th>
<th><p>Troggle: progress so far</p></th>
</tr>
<tr>
<td><p>Logbook</p></td>
<td><p>Yes; manually formatted each year</p></td>
<td><p>Yes; wiki-style</p></td>
<td><p>Start at the front page, <a rel="nofollow" class="external autonumber" href="http://expo.survex.com/expedition/2007">troggle.cavingexpedition.com/ [1]</a> and click to logbook for year. The logbooks have been parsed back to 1997. </p></td>
</tr>
<tr>
<td><p>Cave index and stats generated from survex file</p></td>
<td><p>Yes</p></td>
<td><p>Yes</p></td>
<td><p>Done; see <a rel="nofollow" class="external autonumber" href="http://expo.survex.com/survexfile/caves/264">troggle.cavingexpedition.com/survey/caves/264 [2]</a> </p></td>
</tr>
<tr>
<td><p>Survey workflow helper</p></td>
<td><p>Yes; minimal. surveys.csv produced an html table of whose surveys were not marked “finished”</p></td>
<td><p>Yes. Makes table of surveys per expo which shows exactly what needs doing. Displays scans. Integrated with survex, scanner software, and tunnel.</p></td>
<td><p>See it at <a rel="nofollow" class="external free" href="http://expo.survex.com/survey_scans/">troggle.cavingexpedition.com/survey</a> . Be sure to try a recent year when we should have data. Survex, scanner, and tunnel integration still needs doing.</p></td>
</tr>
<tr>
<td><p>QM lists generated automatically</p></td>
<td><p>Depends on the cave. Each cave had a different system.</p></td>
<td><p>Yes; unified system.</p></td>
<td><p>Done, but only 204 and 234 Qms have been imported from old system so far. No view yet.</p></td>
</tr>
<tr>
<td><p>Automatic calendar for each year of who will be on expo when</p></td>
<td><p>No, manually produced some years</p></td>
<td><p>Yes</p></td>
<td><p>Done; see <a rel="nofollow" class="external free" href="http://expo.survex.com/expedition/2007">troggle.cavingexpedition.com/calendar/2007</a> (replace 2007 with year in question)</p></td>
</tr>
<tr>
<td><p>Web browser used to enter data</p></td>
<td><p>No</p></td>
<td><p>Yes</p></td>
<td><p>Everything can be edited through admin, at <a rel="nofollow" class="external free" href="http://expo.survex.com/admin/">troggle.cavingexpedition.com/admin</a> . Ask aaron, martin, or julian for the password if you want to have a look / play around with the admin site. Any changes you make will be overwritten. Eventually, data entry will probably be done using custom forms.
</p></td>
</tr>
<tr>
<td><p>Cave and passage descriptions</p></td>
<td><p>Yes, manually html coded.</p></td>
<td><p>Yes, wiki-style.</p></td>
<td><p>Not done yet.<br />
</p></td>
</tr>
<tr>
<td><p>Expo handbook</p></td>
<td><p>Yes, manually html coded.<br />
</p>Maybe. Needs to be discussed further.</td>
<td><p><br />
</p></td>
<td><p>Not done yet.</p></td>
</tr>
<tr>
<td><p>Table of who was on which expo</p></td>
<td><p>Yes</p></td>
<td><p>Yes</p></td>
<td><p>Data has been parsed, this view hasn't been written yet. </p></td>
</tr>
<tr>
<td><p>Signup form, System for keeping contact, medical and next of kin info</p></td>
<td><p>No</p></td>
<td><p>Yes</p></td>
<td><p>Signup form should be ready by 20 Jan.</p></td>
</tr>
<tr>
<td><p>Automated photo upload and gallery</p></td>
<td><p>No; some manual photo galleries put together with lots of effort</p></td>
<td><p>Yes</p></td>
<td><p>Photo upload done, gallery needs writing.</p></td>
</tr>
<tr>
<td><p>Search</p></td>
<td><p>No</p></td>
<td><p>Yes</p></td>
<td><p></p></td>
</tr>
</table>
<h3>List of cave database software</h3>
from <a href="http://wookware.org/software/cavearchive/databasesoftwarelist">wookware.org/software/cavearchive/databasesoftwarelist</a>
<pre>
ckan is something like this - could we use it?
esri online
CUCC (troggle) http://cucc.survex.com/ - this site.
virgina caves database (access+arcgis) (futrell)
each country database
Austria (spelix) ( <a href="https://www.spelix.at/">www.spelix.at/</a>
UK cave registry
mendip cave registry: (access) <a href="http://www.mcra.org.uk/wiki/doku.php">www.mcra.org.uk/wiki/doku.php</a>
White mountains database (gpx + google earth)
Matienzo (?)
Fisher ridge (stephen cladiux)
hong meigui (erin) <a href="http://www.hongmeigui.net/"http://www.hongmeigui.net/</a> (ask erin later)
Wikicaves <a href="http://www.grottocenter.org/">www.grottocenter.org/</a>
multilingual, slippymap, wiki data entry. includes coordinate-free caves.
focus on sport-caving type info (access, basic gear list, overall description, bibliography)
e.g. australians only publish coordinates to nearest 10km
turkey <a href="http://www.tayproject.org">www.tayproject.org</a>.
<a href="http://www.uisic.uis-speleo.org/contacts.html">www.uisic.uis-speleo.org/contacts.html</a> change link. no-one looks for list of databases under 'contacts'
graziano ferrari northern italy list (access + google earth)
</pre>
<h3>Wookey's notes on things to do</h3>
from <a href="http://wookware.org/software/cavearchive/goliczmail">wookware.org/software/cavearchive/goliczmail</a>
<pre>
Generally I'd like to find some people (geeks) that share these technical
ideas: (1) store things in a file system, (2) use XML, (3) do not aim too high
(do not try designing a general system for handling all caving-related data
for the whole world).
If I could find some people that agree with this, then we could try to reach a
compromise on:
(1) how do we store our data in a file system,
(2) how do we use this XML (let's do a common spec, but keep it simple)
(3) how do we aim not to high and not end up dead like CaveXML :)
After we do that, everyone goes away to do their own projects and write their
own code. Or maybe we have some degree of co-operation in actually writing the
code. Normal life. But the idea is that all geeks working on "cave inventory"
and systems making extensive use of cave inventories try to adhere to this
framework as much as possible. So that we can then exchange our tools.
I think things like "which revision system do we use" or "do we use web or
Python" are really secondary. Everyone has their own views, habits,
backgrounds.
My idea is to work on this in a small group (no more than a few persons) - to
get things going fast, even if they are not perfect from the beginning. If it
works, we try to convince others to use it and maybe push it through UIS.
</pre>
<h3>Wookey's other notes on things to do</h3>
from <a href="http://wookware.org/software/cavearchive/troggle2design">wookware.org/software/cavearchive/troggle2design</a>
<pre>
forms
-----
1) members read/write folk.csv and year/members
2) cave read/write cave_data, entrance_data, surveys/pics
3) trips -> logbook , QMs, or surveys (more than one survey or location possible)
4) logbook reads/write year/logbook
5) survey
6) prospecting app
forms show who is logged in.
databases
---------
trips, read from
logbook entry
folder year#index
.svx files
description
QMs
members (cache from form)
caves
caves_data
entrance_data
storage:
expoweb
data/
cave_entrances
caves
descriptions
loser
foo.svx
</pre>
<h3>Yet more of Wookey's notes</h3>
from <a href="http://wookware.org/software/cavearchive/expoweb-design">wookware.org/software/cavearchive/expoweb-design</a>
<pre>
frontpage
---------
quick to load:
Links:
Caves number, name, location
Years
Handbook
Data Entry
Main Index
Slippy map:
Indexes to cave page
Cave page:
Access, description, photos, QMs, Survey
Years:
Logbooks/surveynotes/survexdata/people matrix
Documents
Data Entry:
Logbook entry
Survey data
Survey Notes
Cave description
QMs
Photos
New cave
Backend datafiles:
caves/
cave_entrance
cave_data
directory of info
years/
year/
logbook
pubs/
reports
admin/
lists
who_and_when
travel
jobs
surveyscans/
year/
index
#num
handbook/
(all static info)
Storage:
non-html or > 200K go in 'files' (PDF, PNG, JPEG, DOC, ODF, SVG)
convert small 800x600 version into website by default. (matching structure?
</pre>
<hr />
<ul id="links">
<li><a href="../index.htm">Expedition Handbook</a>
<ul>
<li><a href="../survey/index.htm">Surveying guide</a> - Overview</li>
<li><a href="../look4.htm">Prospecting guide</a> &ndash; Overview</li>
<li><a href="../rescue.htm">Rescue guide</a></li>
</ul></li>
<li><a href="../../index.htm">Expedition Intro </a></li>
<li><a href="https://camcaving.uk">CUCC Home </a></li>
</ul>
</body>
</html>