March 10th, 2024: The style guide has had an overhaul to make it easier to understand! Please check what's changed, and chime in with feedback so that our wiki can continue to improve.

SHIORI

SHIORI refers to the standard of communication between ghosts and baseware. It may also be used to refer to ghost programming languages, though not all languages used for ghosts are exclusively for SHIORI.1)

List of SHIORI

SHIORI Notes
Akari C based. Can also be used as SAORI.
AYA C based, though very simplified. No longer in development, succeeded by YAYA.
Kawari A SHIORI with a focus on a flexible “entry” system, which can be used to create dialogues with complex variations. Typically used with middleware.
Misaka
PERL Shiori PERL based.
Phiori Python based.
Satori (里々) Very popular in the Japanese community for its simplicity. Not generally suitable for international developers, as it relies on characters found only on Japanese keyboards.
YAYA C based, though very simplified. The open-source successor to AYA. Can be used for things other than SHIORI.

SHIORI Events

SHIORI events are sent from the baseware to a ghost/plugin/etc., and contain various information, such as what type of event is being called, what baseware is sending it, and additional information passed along as references.

The ghost/plugin/etc. will then return a response, including a script to be displayed by the baseware. The script may be omitted if no output is desired. For SHIORI events that are sent as NOTIFY instead of GET, the returned script will always be ignored.

Below is a sample of a SHIORI request:2)

GET SHIORI/3.0
Charset: UTF-8
Sender: SSP
SenderType: internal,raise
Security Level: local
Status: choosing,balloon(0=0)
ID: OnFirstBoot
BaseID: OnBoot
Reference0: 1

Below is a sample of a response from a ghost:3)

SHIORI/3.0 200 OK
Charset: UTF-8
Sender: AYA
Value: \1\s[10]\0\s[0]\e

For more information, see Ukadoc's page on SHIORI/3.0.

1)
For example, YAYA may be used as SHIORI, or it may be used for other things, including as a general Windows dll file.
2) , 3)
example from Ukadoc