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:
- An ID
- A form field type
- An input
- A number of properties
- Input
- The data the user inputs into the form field. It consists of:
- An input type
The type of data that the input value has, the same as the form field type
- An input value
The actual value that's been inputted
- Property
- A rule stating something about a form field. Properties are written by the author in the document. They consist of:
- A property name
States what the property means
- A property type
The data type of the property value, this depends on the property name
- A property value
The value of the property, this is written by the author
- 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