3 home
Roan Horning edited this page 2024-12-05 00:17:26 +00:00

HPR Workflow

The HPR website is moving to a distributed system where the entire site, can be easily replicated by anyone. With the exception of login credentials, it should be possible for anyone to download and run everything needed to host HPR.

stateDiagram
  [*] --> s1
  state "Host Requests a slot" as s1
  state "Slot is reserved for a short time" as s1
  state "request.php" as s1
  s1 --> s2
  state "Email is sent to host" as s2
  state "request_confirm.php" as s2
  s2 --> s3
  state "Host activates link" as s3
  state "Slot is reserved for a longer time" as s3
  state "upload.php" as s3
  s3 --> s4
  state "Host uploads show" as s4
  state "Host is notified upload complete" as s4
  state "upload_confirm.php" as s4
  s4 --> s5
  state "An HPR Janitor processes the shownotes" as s5
  s5 --> s6
  state "An HPR Janitor processes the media" as s6
  state "hprtranscode.bash" as s6
  state "Show posted to HPR" as s6
  s6 --> s7
  state "An HPR Janitor posts to Archive.org" as s7
  s7 --> [*]

Getting Shows

The upload process requires that the host reserve a slot, after which a link is sent to their email. Once they have the email link they can upload the show. The host then fills in the information related to their show. Some of the information is for processing the show and some is for display on the web site.

request.php > request_confirm.php > upload.php > upload_confirm.php

Processing Shows

The show notes (and any images) are copied and processed locally in order to generate HTML for adding to the database. This process is described under Processing show notes.

The show media is downloaded locally and processed using hprtranscode.bash.

Posting Shows

HPR DB Design

Currently this is the HPR DB Relationships for the HPR website.

HPR DB Relationship