Skip to content

Latest commit

 

History

History
168 lines (162 loc) · 6.57 KB

XML-API.md

File metadata and controls

168 lines (162 loc) · 6.57 KB

Version 1.0.0

Changelog

  • Added Tables:
    • Tags
    • Mediums
    • Playlists

Migration Guide

No migration needed for the first version.

Specification

  • Info
    • Description: The XML-file can be used to export and import catalogs and their data. It can hold catalog information, tags, media and playlists.
    • Version: 1.0.0
    • Title: Media Manager XML Export
    • Existing Versions: 1.0.0
  • XML Root
    • Name: FinanceLoggerData
    • Description: The document root provides information regarding the export version and catalog settings.
    • Properties:
      • ExportVersion
        • Type: string
        • Values: one of the existing versions
        • Description: Represents the used version for the xml export.
      • DownwardsCompatibleTo
        • Type: string
        • Values: one of the existing versions which is ≤ to the ExportVersion of the XML Root
        • Description: Represents, which older versions of the xml export/import system are able to import this version of the export. The import of compatible versions will simply ignore newly added fields (e.g. whole tables or attributes of entities) so it can still understand some newer formats. The given data will simply be ignored. Only if mandatory attributes or lists are removed the downwards compatibility will be restricted to a newer version, because older version may need those values to work with.
      • Title
        • Type: string
        • Description: Description of the catalog.
        • Max Length: 128
      • Description
        • Type: string
        • Description: Description of the catalog.
        • Max Length: 2048
        • Default: empty string
      • DeletionConfirmationMedium
        • Type: bool
        • Description: Setting for displaying the deletion confirmation for media within the application.
        • Default: true
      • DeletionConfirmationPart
        • Type: bool
        • Description: Setting for displaying the deletion confirmation for parts within the application.
        • Default: true
      • DeletionConfirmationTag
        • Type: bool
        • Description: Setting for displaying the deletion confirmation for tags within the application.
        • Default: true
      • DeletionConfirmationPlaylist
        • Type: bool
        • Description: Setting for displaying the deletion confirmation for playlists within the application.
        • Default: true
      • ShowTitleOfTheDayAsMedium
        • Type: bool
        • Description: Setting for the way of displaying the current title of the day within the application.
        • Default: false
  • XML Content
    • Tags
      • List Description: Holds a list of all tags within the catalog.
      • Element Type: Tag
    • Mediums
      • List Description: Holds a list of all media within the catalog.
      • Element Type: Medium
    • Playlists
      • List Description: Holds a list of all playlists within the catalog.
      • Element Type: Playlist
  • Schemas
    • TagID
      • Description: A unique tag identifier.
      • Type: int
      • Min Value: 1
    • PartID
      • Description: A unique part identifier.
      • Type: int
      • Min Value: 1
    • Title
      • Description: A title of an element.
      • Type: string
      • Max Length: 128
    • Description
      • Description: A description of an element.
      • Type: string
      • Max Length: 512
    • Tag
      • Description: Represents a category within the catalog. Each category has a given title and can be referenced by its id.
      • Type: object
      • Properties:
        • Id
          • Type: TagID
        • Title
          • Type: Title
    • Medium
      • Description: Represents a medium within the catalog. Each medium can contain a list of Parts.
      • Type: object
      • List Description: Holds a list of all parts within the medium.
      • Element Type: Part
      • Properties:
        • Title
          • Type: Title
        • Description
          • Type: Description
          • Default: empty string
        • Location
          • Description: A location description for the medium.
          • Type: string
          • Max Length: 128
          • Default: empty string
        • PositiveTags
          • Description: A list of positive tags of the medium.
          • Type: TagID[]
          • Default: empty array []
        • NegativeTags
          • Description: A list of negative tags of the medium.
          • Type: TagID[]
          • Default: empty array []
    • Part
      • Description: Represents a part within a medium.
      • Type: object
      • Properties:
        • Id
          • Type: PartID
        • Title
          • Type: Title
        • Description
          • Type: Description
          • Default: empty string
        • Favourite
          • Type: bool
          • Description: true, if the part is a favourite.
          • Default: false
        • Length
          • Type: int
          • Description: Length of the part.
          • Default: 0
          • Min Value: 0
        • Publication_Year
          • Type: int
          • Description: Publication year of the part.
          • Default: 0
          • Min Value: 0
        • Image
          • Type: string
          • Description: Base64-String of an image.
          • Default: empty string
          • Null Replacement: empty string
        • PositiveTags
          • Description: A list of positive tags of the part.
          • Type: TagID[]
          • Default: empty array []
        • NegativeTags
          • Description: A list of negative tags of the part.
          • Type: TagID[]
          • Default: empty array []
    • Playlist
      • Description: Represents a playlist within the catalog.
      • Type: object
      • Properties:
        • Title
          • Type: Title
        • PlaylistParts
          • Description: A list of parts within the playlist.
          • Type: PartID[]
          • Default: empty array []