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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions