and you probably will also have installed the survey tools survex, tunnel, therion etc.
in configuring a <ahref="surveylaptop.html">survey laptop</a>.
<p><code>This is an attempt at describing how to configure your laptop to do bulk file transfers to and from the server. If you are only managing one or two files at a time, you don't need this.
<p>If you want to do software development instead, go to <ahref="../troggle/troglaptop.html">configuring a troggle development machine</a>.
</code></p>
<h2>Windows and Linux</h2>
<ul>
<li>You should be able to use any OS (Linux, Windows, Mac), but it's a bit simpler to get set up using Linux.
<li>Windows machines can do almost everything needed directly in Windows itself, but some useful software has no Windows version and you will
need to find your own equivalents. There are also some 'gotchas' to look out for due to filesystem differences (e.g letter case). If you have
the choice, use Linux. Windows/Linux WSL is fine.</li>
<li><ahref="winlaptop.html">A Windows laptop for expo</a> - a page of more detailed instructions for those who are definitely going to be
using a Windows PC or laptop.</li>
<li>The <i>expo laptop</i> uses <ahref="https://www.debian.org/intro/about">Debian</a> with the <a
href="https://en.wikipedia.org/wiki/Cinnamon_(desktop_environment)">Cinnamon</a> interface, but pretty much any Linux
<li>If using a Mac or Red-Hat-based linux you'll need to work it all out for yourself.</li>
<li>You can't
yet do everything on a phone, but you can do some things. See <ahref="phone.html">Android phone page</a>.</li>
<li>Chromebooks work just like a phone, but with a keyboard, so far as Expo is concerned (mostly). So without some tricky configuration you won't be able to do bulk updates. See our <ahref="chromebook.html">chromebooks</a> page.
<li>Version control software (<ahref="https://git-scm.com/">git</a>) for the loser survex data files, drawings (tunnel, therion) files, website and handbook (expoweb) files.
<li>File-transfer tools scp, rsync and sftp (<ahref="fzconfig.html">Filezilla</a>) for the files not under version control: photos, documents, scanned logbooks, scanned
raw survey notes (surveyscans), scanned cave centre-line plots and everything else. [Never use these on the version-controlled folders.]
</ol>
<p>If you are only managing photos, GPS tracks or documents then you don't need the version control stuff.
<p>If you are only managing survey data then you probably don't need the file-transfer stuff.
<p>You need to <ahref="keyexchange.html">register a key with the expo server</a> to get upload (i.e. read/write) access. Do this first, Without it none of git, scp, ftp or rsync will work.
You can do this entirely on your own if you have access to the <i>expo laptop</i> to upload and install the public key generated by your laptop.</p>
<p>To set up your own laptop for bulk cave data maintenance you need to do this:</p>
<ol>
<li>Register an SSH key</a> with an expo nerd i.e 'get a login'. (see "Key Configuration" below)</li>
<li>Install <ahref="#software">git version control software</a> to download ("clone"), view and edit caving data.</li>
<li>Clone two <ahref="../computing/repos.html">expo repositories</a><var>loser</var> and <var>drawings</var> so you have the files on your machine. (Use the <ahref="qstart-git.html">git reminder</a> for how to do this, e.g. <em>git clone ssh://expo@expo.survex.com:/home/expo/expoweb</em> .</li>
<li>If you are also planning on extensive work rewriting parts of the handbook, then you will also need the <ahref="../computing/repos.html">expo repository</a><var>expoweb</var>.
</ol>
<h4>For Linux users only:</h4>
<ul>
<li><ahref="https://git-scm.com/download/gui/linux">GUI for git</a> - There is a choice on Linux but many people just use the command line.
<li>Your favourite text editor. gedit is installed on the <em>expo laptop</em> and has syntax highlighting for .svx files too. This works with <ahref="https://survex.com/changes.html">all GtkSourceView-based editors</a> (thanks to Phil Withnall). Download a local copy of the syntax colourizer <adownloadhref="/site_media/survex.lang">survex.lang</a>.
</ul>
<p>Note that on a Debian or Ubuntu machine you should normally install the versions that come with the specific distro (e.g. v11 Bulleye for Debian, or Jammy Jellyfish 22.04 for Ubuntu) i.e. install using 'sudo apt install xxx', not by downloading things from the above sites. So installing everything you need should be as simple as:
<li><tt>ssh-keygen</tt> (to generate a key if you haven't already)</li>
<li><tt>apt install gpsprune qgis firefox-esr gedit tig gitg meld rsync</tt> (you may prefer other tools - e.g: elpa-magit is amazing but only if you know how to drive emacs)</li>
</ul>
</p>
<h4id="win">For Windows users only:</h4>
<p></p>None of this works until you set up the key-pair setup using PuTty/Pageant.
<p><imgsrc="https://wiki.filezilla-project.org/favicon.ico"width=64style="float:right; margin: 10px">To install and configure Filezilla on your machine see <ahref="fzconfig.html">FileZilla install instructions</a> which will set you up pointing at the correct folder automatically.
<p>Read the <ahref="winlaptop.html">Detailed Windows Configuration Instructions</a> for foconfiguring a Windows Bulk Update machine.
<p>You may not need a full troggle software development machine if you are only fixing a small script. If you are, you need
<ul>
<li>python - maybe - but only if you are working on the <ahref="../troggle/scriptsother.html">scripts in expoweb/noinfo/</a> such as <var>make-folklist.py</var> or some of the <ahref="../troggle/scriptsqms.html">standalone QM scripts</a> - but not on troggle itself - then please use the as close to the same setup as you can to <ahref="../troggle/troglaptop.html">the setup we use for troggle</a>. <imgsrc="https://www.python.org/favicon.ico"width=64hspace="20"align="right">
</ul>
<h3>The Expo Laptop(s)</h3>
<p>[These notes are to remind nerds when configuring or updating a replacement <var>expo laptop</var>.]
<p>The <var>expo laptop</var> is configured as a "Bulk Update" laptop (including al the "Survey laptop" tools), but has a few extras.
<ul>
<li>Create a user 'expo'
<li>Add user 'expo' to <ahref="https://www.how2shout.com/linux/2-ways-to-add-users-to-sudoers-group-in-debian-11/">the sudoers list</a> or alternatively <ahref="https://vitux.com/how-to-make-a-user-an-administrator-in-debian/">use the gui</a> to do the same thing.
<li>Log in as user 'expo' again (so that ~/ = /home/expo/)
<li>Set up the expo Gmail account in Firefox
<li>Install Firezilla FTP software and <ahref="fzconfig.html">download zilla-uploads.xml</a> to configure it
<li>Copy ~/.ssh/* from the previous install or from the other <var>expo laptop</var>
<li>Copy ~/expofiles from from the previous install or from the other <var>expo laptop</var>
<li>Run <ahref="qstart-rsync.html">rsync</a> to ensure /expofiles is correctly identical to the server
<p>When maintaining the HTML files in the expo handbook (the :expoweb: git repository) a link-checker is useful to report bad URLs (links to external sites go bad regularly) and to find orphaned pages with no in-links. The website currently (Dec.2024) has 87,493 URLS including all the generated pages.
<li><ahref="https://xenus-link-sleuth.en.softonic.com/download">Xenu Link Sleuth</a> - install on Windows to do comprehensive link check. Can run this against a locally-running troggle server. You need this 30-thread system running locally on a fast machine to check for bad links if you want to check all ~80,000 links.
<li><ahref="https://www.brokenlinkcheck.com/">Online brokenlinkcheck tool</a> - online, does not install on your laptop. Limited to 3,000 pages.
<li><ahref="https://www.deadlinkchecker.com/website-dead-link-checker.asp">Another online brokenlinkcheck tool</a> - does not install on your laptop. Limited to 2,000 pages but breadth-first rather than depth-first, so it covers a different chunk of the expo website.
<li><ahref="https://www.drlinkcheck.com/account/subscriptions/1/projects/1/overview">Yet another link-checker</a>, only 1,500 pages checked but oh-so-stylish results presentation. Very informative.
<li><ahref="https://www.digitalocean.com/community/tutorials/how-to-find-broken-links-on-your-website-using-wget-on-debian-7">Linkchecking with wget</a> - command line methods on Linux if you are feeling hardcore.