tree to view the files and folders, and
log to see
messages attached to each change in the project. This page contains
the overall plan and status report on the project. At the bottom of
the page are my notes.
Currently, the software component of the project consists of two main
parts: data visualization functions and the
Both components will share several dependencies. Right now, they are
Darwin Core, a standard
facilitate the sharing of information about biological diversity
the database, PostgreSQL (?)
We will likely contribute upstream to Darwin Core.
The helper program imports existing datasets from Microsoft Access and moves them to the server. It helps the researcher format their database using aliases and rules from Darwin Core.
The program will:
Commas are now fine in quoted fields. All special characters work.
Why not lisp? Common Lisp lacks the first-class Windows support I need, and I felt that I was wasting too much time with its outdated documentation.
Creating a command-line program allows me to focus on the logic of the application and more quickly move to the data visualization part. The helper program only needs to display text and take input, and the command-line is perfect for this. No knowledge of programming or special syntax will be needed by the researcher. Here's an example of what the output might look like. I've denoted user input with <>.
$<helper database.csv> Do you want to create a new database on the server? y/n <y> Please enter a name for the database: <olduvai-researcher-2> We will now run through each variable and allow you to choose actions for that variable. Typing "Enter" repeatedly will choose the default actions, which are to keep the current variable name without linking to a DWC term, and to use the inferred type. Variable "Catalogue Number" Possible DWC equivalent terms: ====== catalogNumber(1): An identifier (preferably unique) for the record within the data set or collection. ====== recordNumber(2): An identifier given to the Occurrence at the time it was recorded. Often serves as a link between field notes and an Occurrence record, such as a specimen collector's number. ====== otherCatalogNumbers(3):A list (concatenated and separated) of previous or alternate fully qualified catalog numbers or other human-used identifiers for the same Occurrence, whether in the current or any other data set or collection. ====== fieldNumber(4):An identifier given to the event in the field. Often serves as a link between field notes and the Event. Type "Enter" or any combination of 1, 2, 3, 4: <13> Terms catalogNumber and otherCatalogNumber selected. Do you want to keep "Catalogue Number" as the variable name? y/n <n> Please type a new variable name, or "1" or "3" for "catalogNumber" or "otherCatalogNumber": <catalogueNumber> The variable "Catalogue Number" will be imported as "catalogueNumber", with the inferred type "INTEGER" from database.csv. It will be linked to the DWC terms "catalogNumber" and "otherCatalogNumber". You can change this later before uploading your changes. Moving on... ...
The program will continue through each variable, and then allow the user to modify records if needed (to change the type, for example, although type inference should be correct 99% of the time). The researcher will need a password to the server to upload the database.
Simple, a predefined
normative subset of dwc terms that
assumes (and allows) no structure
beyond the concept of rows and columns. DKEFauna is almost entirely
compatable with Darwin Core simple without modifications, because
there are no required fields.
apt install ufw
ufw app list
ufw allow OpenSSH
ufw allow 60000:61000/udp (mosh)
ufw allow 873 (rsync)
ufw allow 5432 (postgresql)
create role olduvai;
alter role wrycode with nosuperuser;
uncomment the line with
localhost in it, and replace localhost with
host olduvai wrycode 0.0.0.0/0 md5
psql -h ip -d olduvai -U wrycode