expoweb/handbook/onlinesystems.html

153 lines
8.1 KiB
HTML

<html>
<head>
<title>CUCC Expedition Handbook: Online system overview</title>
<link rel="stylesheet" type="text/css" href="../css/main2.css" />
</head>
<body>
<h2 id="tophead">CUCC Expedition Handbook - Online systems</h2>
<h1>Expo Online Systems Overview</h1>
<p>The online data and web publishing system (i.e. "the website") is now large and complicated with a lot of aspects.
This handbook section contains info at various levels:
simple 'How to add stuff' information for the typical expoer,
more detailed info for cloning it onto your own machine for more significant edits,
and structural info on how it's all put together for people who want/need to change things.
<p>We have <a href="http://wookware.org/talks/expocomputer/#/">an Overview Presentation</a> (many parts out of date)
on how the cave data,
handbook and public website are constructed and managed.
It contains material which will be merged into this online systems manual.
<p>These pages listed below have been reviewed recently (2018), and a
fuller list of "How do I..." instruction pages are on <a href="index.htm">the handbook opening page</a>.
<ul>
<li><a href="uploading.html">Uploading your photos</a></li>
<li><a href="logbooks.html">Uploading typed logbooks</a></li>
<li><a href="gpxupload.html">Uploading GPS tracks</a></li>
<li><a href="survey/newcave.html">Recording a new cave discovery</a></li>
<li><a href="survey/status.html">Monitoring the status cave survey workflow during and after expo</a></li>
</ul>
<p>But the systems Manual is still being actively edited to extract and simplify documentation. At the moment
it is the only documentation we have for:
<ul>
<li><a href="manual.html#update">Manual: Creating a new 'year' in the system</a></li>
<li><a href="manual.html#update">Manual: Updating the cave guidebook descriptions</a></li>
<li><a href="manual.html#manual">Manual: Expo software and server maintenance manual</a></li>
</ul>
<h2><a id="update">Updating the online systems - overview</a></h2>
<h3>Autogenerated pages</h3>
<p>Some key sections of the online webpages are autogenerated by scripts or by
<a href="#troggle">troggle</a>, and are not static files,
so you have to edit the base data, not the generated file (e.g cave
pages, QM (question mark) lists, expo members list, prospecting pages). All
autogenerated files say 'This file is autogenerated - do not edit' at
the top - so check for that before wasting time on changes that will
just be overwritten</p>
<h3 id="edithandbook">Editing this handbook and historic expo documentation</h3>
<p>The primary and recommended way of editing this handbook (and the website generally) is to use
a laptop which has the <a href="#mercurial">Distributed Version Control System</a> software installed. The
person editing needs to know how to use this software, and also needs to know how to edit raw HTML files
using a text editor.
<p>The <em>Expo laptop</em> has the software installed, so it is best to learn how to do this
when sitting at that laptop.
<p>It's important to understand that the pages you can edit by this method
are stored in a distributed version control system (see below). This stops us losing data and
makes it very hard for you to screw anything up permanently, so don't
worry about making changes - they can always be reverted if there is a
problem. It also means that several people can work on the site on
different computers at once and normally merge their changes
easily.
<p>The recommended editing workflow is to (a) use the DVCM to synchronise your local laptop copy of the
website files with that on the server; (b) edit a set of .html files on your laptop so that all links between them are consistent,
save the files locally, and "commit" them locally;
(c) "push" the collection of changes to the expo online server as a single action.
<p>See the <a href="manual.html#manual">Expo data management systems manual</a> for a fuller description of the DVCM
repositories and how to install and use the software.
<h3 id="editthispage">Using "Edit this page"</h3>
<p>You can update a single webpage
online via a browser. This is best used for urgent edits to a single page, e.g.
if the emergency phone at top-camp has to use a new SIM with a different phone number.
If you are a logged-on user you will see "Edit this page" on the menu on the left of this page. It appears on
nearly all pages in this website. If you click on it you will be able to edit the raw HTML of the page - so you need
to know how to do that.
<p>After doing the page editing and saving your work, you need to ask a nerd to finish the process fairly soon as the "Edit this page"
mechanism does not tidy-up after itself properly.
See <a href="manual.html#editthispage">these instructions for this tidy-up</a>
<h3 id="mercurial">DVCS - version control</a></h3>
<p>We use a distributed revision control system (DVCS) for all the important data.
This means that many people can edit and merge their changes with the expo
server in Cambridge at the same time: inlcuding people still on expo in the Tatty Hut
and those who have returned to the UK. Also anyone who is up
to date can take their laptop somewhere and enter data even if they have no internet access,
and the updates will be merged when they get back to civilization.
</p>
<p>In principle, survey notes can be typed into a laptop up on the plateau which would
then get synchronised when it next gets internet access.
</p>
<p>A DVCS is inefficient for scanned survey notes, which are large files that
do not get modified, so they are kept as a plain directory of files 'expofiles'.
The same goes for holiday photographs and GPS logs.</p>
<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.
<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>< 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>
<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).
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.
<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="#editthispage">above for
how to use it</a> and how to tidy up afterwards.
</ol>
<p>See the <a href="troggle-ish.html">notes on troggle</a> page
for how and why it was developed and what needs to be done.
<hr />
</body>
</html>