Project ATHN specification

Project ATHN is still very early in development. Suggestions and discussion are very welcome. Expect everything to change at any time.

Project ATHN will probably be made up of several standards made to come together to provide the full experience. Right now only one of them are being worked on. Here is a list of all of the standards that make up project ATHN with links to their specifications

Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in these documents are to be interpreted as described in BCP14.

Here are some terms that are used in the specifications and precisely what they mean

Document

The ATHN system
The specifications on this page
ATHN document
A file written in the ATHN markup language. It consists of a number of (mostly) indepedent lines
Line type
Every line in an ATHN document has a line type
LTI (line type identifier)
The first 3 bytes of a line, which identify the line type of that line
Section
There are a few sections in an ATHN document which have different rules and can be switched between with a section line

Forms

Form field
A line type with the LTI: ???, also refers to the object that is rendered by the client. A form field has:
Input
The data the user inputs into the form field. It consists of:
Property
A rule stating something about a form field. Properties are written by the author in the document. They consist of:
Form data
A data structure containing the inputs of all form fields in a form
Submit
The act of sending a write request with the data of a form

Software

ATHN client
A piece of software that processes ATHN documents. They usually also send requests.
Automated client
A client that's only operated by non human users
Document validator client
A client whose purpose is to validate ATHN documents and nothing else
Server
A piece of software that responds to ATHN requests

Network

User
An entity that uses a client to interact with documents. Can be human or non human
Author
A person who authors a document, or writes a piece of software that generates documents, ie. hosts a site.
Request
A client sends requests to a server. There are 2 types of requests:
Read request
Is sent to request an ATHN document
Write request
Is sent with (or without) form data to request some action
Response
A server sends a response back to the client when it recieves a request.
Read response
A response to a read request, contains an ATHN document
Write response
A response to a write request
Transaction
One request followed by one response. You can have read transactions and write transactions