Expo Systems To-Do List
How this works
Click on the solid triangle in a sub-heading to reveal the individual to-do items. Click again to hide.
Printing this page uses a much smaller font. Complain to the nerd list if you don't like this behaviour.
Edit this page by using the same "Edit this page" function that you may have used before.
To see the "data maintenance" and "survey data-entry" to-do lists, go to the other TO-DO list
Module to-do texts
These are extracted directly from the todo = '''Thing to do ''' string at the top of each file of troggle code:
This list is generated directly from the troggle python code files.
Other coding To Do things
See also these long-running issues which have their own 'to do' implications:
- What Troggle Does Badly - Design Decisions
- New Menu System
- Troggle in 2025-2030
Process Documentation
Wallets and new-cave
Explain how to link a new cave into the other caves in
troggle filesystem
Explain how to add photos with the correct URL format to sub-HTML files attached to New Caves
explain how to put stuff in the wallet folder and how to look at expofiles/photos/xml/
Scans and Drawings Uploads
Add to user data manual how to upload to expofiles - in the "survey manual"
Add in description of *where* to put the drawings files
svx check
explain command line to run on newly typed survex file to check for format errors '$cavern xxxx.svx'
explain when to use svxtrace.py current scripts
Making an svx - explain how to make link to *ref to wallet folder
Wallets re-programming
Things wallets.py might do in future
- integrate into troggle, remove as a distinct script
- relates to conversion of the XRF shell script into python/troggle too
- checking the cave number specified matches the folder for the .svx file,
- checking that the *ref: filed in the survex file is the same as the wallet nameS
- detecting whether there is a description or a list of QMs in the survex file,
- accepting a list of .svx files and not just one (a very common thing),
- checking the name of the cave against the cave number,
- checking whether the website page even exists for this cave,
- being more intelligent about .topo files and thus the lack of scan files,
- checking the date is in the recent past etc.
Surveys data entry documentation
Write code to automatically extract ref info about wallets from tunnel xml files
This will replace :drawings:chk-xml.txt as used by :drawings:check-xml.sh
Do similar for Therion files when people start using #REF comments
2019 surveyscans
edit all the content.json files
try to autocomplete the content.json by parsing .svx files
Put personal names into canonical form
2014 contents.json
parse all the svx files to extract people, dates & svx references
Handbook
Navigation - Context, Situational Awareness
No overall view of what there is: need a user-friendly diagrammatic overview sitemap. There are 4,869 files in :expoweb:
Not fixed by menus - breadcrumbs needed?
Diagrams of major sections: survey handbook, rigging handbook, computing handbook, Areas, cave data..
Chase Airoa to help fix the menus for phones
Look at gov.uk guidelines for inspiration
Areas and prospecting guides
Areas (these are the sub-areas)
Downgrade the "areas" aspect of the documentation as we don't use these now
Photos
Fix the BINS package (Wookey is looking for replacement)
set up git on the BINS software? Fix base url sautret.org
set up a cron / Makefile job to run BINS
why is 'updatephotos' script in expofiles?
Document the ~expo/webphotos/ directory and how it works
Why does expofiles/photos/xml/ get created containing all the generated xml files? Fix this.
galley thumbs etc.
:expoweb:/galley/0.htm thumbnails not loading
Laptop config.
imagemagick convert
Not working for PDFs on current version of xubuntu ! Fix & document. Also not working on WSL ubuntu. Needed to work with logbook images easily & to extract PDFs, JPEGs. Need to edit /etc/ImageMagick-6/policy.xml
cromwell-intl.com/open-source/pdf-not-authorized.html
System Documentation
Document how we generate the SMK overall lengths and stats
scripts and manual actions in cavern
smklengths.sh script
smklengsths.odt
:loser:/docs/ files
Questions.txt
SMKlog.txt
Troggle architecture
Regenerate the diagram of the tables in the database & document
Describe the parsing/import procedures so non-nerds can do it
Surveyscans
explain where the image files are referenced from: svx, tunnel/therion, and
Be exhaustive in checking all the broken links between svx & wallets
Makefile
Get it working ! How many of other scripts should be in it ? Should we do data imports to schedule too ?
Troggle
Testing git status
add settings.SURVEX_DATA when loser is gitified. In test_imports.py
Expo log parsing
Parsing broken on several old expo logs, excluded in the source code
CaveView fixing
re-enable CaveView
non-server, non-Apache links to Cave HTML i/t/l pages ALL BROKEN
http://expo.survex.com/1623/others/l/113day.htm works but, and
http://localhost:8000/1623/others/l/113day.htm works but
http://localhost:8000/cave/others/l/purple.htm is a 404 as troggle urls.py doesn't do it at all
Ah it is because of the 'cave' page being at /cave/ instead of sent to /1623/ which is the problem..
QM links in cave descriptions ALL BROKEN
There are HREF links to individual QMs in the cave description in e.g. 204
Swings and Roundabouts such as "At the bottom there is a climb down over boulders [C2001-204-45 C]." where the troggle URL fails completely.
Troggle parser/viewer
Explain how expopages (formerly flatpages) work. refer to computing/hbmanual1.html
Completely new design of QM management needed
see QM status and redesign needed document
Troggle Refactoring
MIME types and filename extensions
We should use standard https://docs.python.org/3/library/mimetypes.html
to convert between mimetypes and filenames, not our own hacks
We should not be relying on filenames to accurately describe the format of the files. This is not robus and may also be a bit insecure.
We should use python-magic or some other wrapper around Linux libmagic1 C library.
But note that there are TWO packages called python-magic, see https://stackoverflow.com/questions/436220/how-to-determine-the-encoding-of-text/16203777#16203777
Make parsers use generators to yield one line at a time
Both recursive load and linear load parsers/survex could do this.
In the logbooks parsing and cache loading.
Enhance some exceptions with dataIssue [NOTIFICATION pattern], not just in parsers
https://martinfowler.com/articles/replaceThrowWithNotification.html
Python documentation: Django's use of modern unobvious idioms
[DECORATOR] pattern used for login-required pages
Get all trogglistas to read https://ebookscart.com/effective-python-by-brett-slatkin-pdf-download/ - downloded to /expofiles/
Get all trogglistas to read https://martinfowler.com/tags/refactoring.html
expopages is used to deliver CSS and JS for django admin pages,
gardening our main model files for unused things
get rid of 'expeditionday' as a concept everywhere ?
Make QM a first-class 'thing' and manage them explicitly in troggle
after fixing the display of QMs from the existing hodge-podge
Expo Server
document cgit installation and config
as per Wookey on Debian 10
MySQL configuration
robots.txt completely missing from /home/expo/static or troggle:/media
Document "anacron" / cron system on server
The To Do pages
We were working on a more capable and easier-to-use to-do system which would mimic
how GitHub Issues do this sort of thing,
but now we are just going to use standard HTML5 tags.
See also Data maintenance to-do list
Back to Online Systems manual