# town signup The point of this command is to enable signing up for tilde.town via an ssh connection. It is designed to be run when `join@tilde.town` is SSH'd to. ## to-dos - [x] finish this command - [x] interactive guts - [x] logging - [x] write answers to disk - [x] take out sidebar - [x] add /help - [x] make copy clearer (that you say whatever and *then* type verb) - [x] enter to send - [ ] splash screen - put off - [ ] easter egg commands - put off - [ ] inactivity timer(?) - put off - [x] review tool - [x] actual account creation - [ ] backlog - [ ] get a manual dump from psql of json - [ ] convert into files in the review directory ## configuration On disk assumptions: - `/town/var/signups` exists and is owned by user `join` and group `admin` - `/town/var/signups/log` exists and is owned by user `join` and group `admin` Assumes the following has been run: ```bash sqlite3 /town/var/signups/signups.db < /town/src/town/sql/create_signups_table.sql sudo chown join:admin /town/var/signups/signups.db ``` It assumes, in `sshd_config`: ``` Match User join ForceCommand /town/src/town/cmd/signup/signup PubkeyAuthentication no KbdInteractiveAuthentication no PasswordAuthentication yes PermitEmptyPasswords yes DisableForwarding yes ``` and in `/etc/pam.d/sshd`: ``` auth [success=done default=ignore] pam_succeed_if.so user ingroup join ``` ## initial thoughts I need a script for how this interaction should go. It should feel more organic and fluid than just filling out a form. It shouldn't, however, take more than 10 minutes to get through stuff. The end result is to collect: - an email address - how a user found out about the town - if they have a referral from an existing member - what interests them about the town - any links to personal websites or social media A given is that the applicant is interacting with a "host" that guides them through the process. Should there be more than one host? How many rooms should there be? 1? more? in terms of data collection, I intend to just save the transcript of their interaction instead of more structured data. The only real structured data are email and referral. another idea/thought/dream: the whole point of this is to spatialize a form. it's a form! a set of questions and corresponding textarea elements. but in order to trigger self reflection -- as well as a feeling of being seen by another (in a good way) -- i want to turn the form into a shape. i'm thinking about this like the room in Eclipse Penumbra: (For the Hollow Head was drug paraphenalia you could walk into. The building itself was the syringe, or the hookah, or the sniff-tube) so, spatialized, every room is a question. the rooms take shape as a linear script the user moves through by: 1. answering a question 2. executing a verb and finally at the end, a verb to confirm submission. ## author vilmibm