erDiagram
HYPHA ||--o| TITLE : has
HYPHA ||--o| HEADER : has
HYPHA ||--o| FOOTER : has
HYPHA ||--o| MENU : has
HYPHA ||--o| DIGEST : has
HYPHA ||--|| USER_LIST : contains
HYPHA ||--|| PAGE_LIST : contains
HYPHA ||--|| TAG_LIST : contains
USER_LIST ||--o{ USER : has
PAGE_LIST ||--o{ PAGE : has
TAG_LIST ||--o{ TAG : has
PAGE ||--o{ PAGE_LANGUAGE : has
PAGE ||--o{ PAGE_TAG_REF : tagged_with
TAG ||--o{ TAG_LANGUAGE : has
HYPHA {
string type
string defaultLanguage
string defaultPage
string email
int digestInterval
int schemaVersion
string lastDigestTime
string theme
string defaultNewPageType
string defaultInterfaceLanguage
}
TITLE {
string value
}
HEADER {
string element_name
}
FOOTER {
string element_name
}
MENU {
string element_name
}
DIGEST {
string element_name
}
USER_LIST {
string container_name
}
USER {
string id
string email
string language
string username
string rights
string password
string fullname
string key
}
PAGE_LIST {
string container_name
}
PAGE {
string id
string type
string private
}
PAGE_LANGUAGE {
string id
string name
}
PAGE_TAG_REF {
string id
}
TAG_LIST {
string container_name
}
TAG {
string xml_id
}
TAG_LANGUAGE {
string id
string label
string value
}
For as far as I could determine, the XML data model for Hypha is shown below for reference purposes:
Document Type
projecterDiagram HYPHA ||--o| TITLE : has HYPHA ||--o| HEADER : has HYPHA ||--o| FOOTER : has HYPHA ||--o| MENU : has HYPHA ||--o| DIGEST : has HYPHA ||--|| USER_LIST : contains HYPHA ||--|| PAGE_LIST : contains HYPHA ||--|| TAG_LIST : contains USER_LIST ||--o{ USER : has PAGE_LIST ||--o{ PAGE : has TAG_LIST ||--o{ TAG : has PAGE ||--o{ PAGE_LANGUAGE : has PAGE ||--o{ PAGE_TAG_REF : tagged_with TAG ||--o{ TAG_LANGUAGE : has HYPHA { string type string defaultLanguage string defaultPage string email int digestInterval int schemaVersion string lastDigestTime string theme string defaultNewPageType string defaultInterfaceLanguage } TITLE { string value } HEADER { string element_name } FOOTER { string element_name } MENU { string element_name } DIGEST { string element_name } USER_LIST { string container_name } USER { string id string email string language string username string rights string password string fullname string key } PAGE_LIST { string container_name } PAGE { string id string type string private } PAGE_LANGUAGE { string id string name } PAGE_TAG_REF { string id } TAG_LIST { string container_name } TAG { string xml_id } TAG_LANGUAGE { string id string label string value }Page Type
textpageerDiagram HYPHA ||--|{ LANGUAGE : contains LANGUAGE ||--|{ VERSION : has HYPHA { string type string multiLingual string versions int schemaVersion } LANGUAGE { string xml_id } VERSION { string xml_id string author }Page Type
mailinglisterDiagram HYPHA ||--o| EMAIL_WELCOME_TEXT : has HYPHA ||--o| EMAIL_WELCOME_TEXT_LEGACY : has HYPHA ||--o| DESCRIPTION : has HYPHA ||--|| ADDRESSES : contains HYPHA ||--|| MAILINGS : contains ADDRESSES ||--o{ ADDRESS : has MAILINGS ||--o{ MAILING : has HYPHA { string type string multiLingual string versions int schemaVersion string sender_email_kebab string sender_name_kebab string sender_email_snake string sender_name_snake } EMAIL_WELCOME_TEXT { string element_name } EMAIL_WELCOME_TEXT_LEGACY { string element_name } DESCRIPTION { string element_name } ADDRESSES { string container_name } ADDRESS { string email string status string confirm_code string unsubscribe_code } MAILINGS { string container_name } MAILING { string xml_id string subject string status string date int receivers }Page Type
peer_reviewed_articleerDiagram HYPHA ||--|| ARTICLE : contains HYPHA ||--|| DISCUSSIONS : has HYPHA ||--o{ APPROVE : receives ARTICLE ||--|| CONTENT : has ARTICLE ||--|| CONTEXT : has CONTENT ||--|| TEXT_BLOCK : contains CONTENT ||--o| SOURCES : contains CONTEXT ||--|| TITLE : has CONTEXT ||--o| EXCERPT : has CONTEXT ||--o| METHOD : has DISCUSSIONS ||--o{ REVIEW : contains DISCUSSIONS ||--o{ PUBLIC_DISCUSSION : contains TEXT_BLOCK ||--o{ TEXT_ELEMENT : consists_of SOURCES ||--o{ SOURCE_ELEMENT : consists_of METHOD ||--o{ METHOD_ELEMENT : consists_of HYPHA { string type bool multiLingual bool versions int schemaVersion } ARTICLE { string status string author datetime created_at } CONTENT { string content_id } TEXT_BLOCK { string text_block_id } TEXT_ELEMENT { string element_type string text_value string alt string title string src string width } SOURCES { string sources_id } SOURCE_ELEMENT { string element_type string text_value } CONTEXT { string context_id } TITLE { string value } EXCERPT { string value } METHOD { string method_id } METHOD_ELEMENT { string element_type string text_value } DISCUSSIONS { string discussions_id } REVIEW { string review_id } PUBLIC_DISCUSSION { string public_id } APPROVE { string approve_id }