Skip to content

Data model #403

@monty241

Description

@monty241

For as far as I could determine, the XML data model for Hypha is shown below for reference purposes:

Document Type project

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
    }
Loading

Page Type textpage

erDiagram
    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
    }
Loading

Page Type mailinglist

erDiagram
    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
    }
Loading

Page Type peer_reviewed_article

erDiagram
    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
    }
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions