Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

EGI-InSPIRE:NRMS New Release MetaDATA schema

From EGIWiki
Revision as of 16:09, 21 September 2010 by Eangelou (talk | contribs)
Jump to navigation Jump to search

Schema definition This document described the definition of the XML file that should be provided to the UMD repo in order to update it, using metadata collected by the RT from the software providers. This provides the software provider with a way to define the packages in a release, along with the release metadata. A full example follows:

<Release>
    <Name>glite</Name>
    <SoftwareProvider>EMI</SoftwareProvider>
    <SoftwareComponent>glite3.2</SoftwareComponent>
    <Contact>eangelou@cslab.ntua.gr</Contact>
    <Description>Yet another glite release</Description>   

<Keywords>gLite</Kewords>

<DocumentationLinks>http://www.cslab.ece.ntua.gr http://www.egi.eu<DocumentationLinks>
    <Date>21/6/2010</Date>
    <Version>3.2</Version>

<Package>
        <Name>glite-WN-manpages</Name>
        <Type>Virtual</Type
        <Creator>eangelou</Creator>
        <Contact>eangelou@cslab.ntua.gr</Contact>

    <Description>Provides glite-WN with manpages for the appropriate tools</Description>
        <SLDType>community</SLDType>
        <License>GPL v.3</License>

    <Keywords>gLite gLite-WN man manpages</Keywords>

    <SupportedPlatforms>SL5</SupportedPlatforms>

    <Architecture>any</Architecture>
        <DocumentationLinks>http://www.cslab.ece.ntua.gr http://www.egi.eu<DocumentationLinks>
        <Date>21/6/2010</Date>

    <Version>3.2.1</Version>

<ReleaseNotesURL>http://www.cslab.ece.ntua.gr</ReleaseNotesURL>
        <ChangeLogURL>http://www.cslab.ece.ntua.gr</ChangeLogURL>

<RepositoryURL>http://repository.egi.eu/</RepositoryURL>

<DocumentationURL>http://www.cslab.ece.ntua.gr</DocumentationURL>
    <Dependencies>glite-WN-manpages-3.2.15 manpages</Dependencies>

</Package>

<Package>
        <Name>glite-WN-manpages</Name>
        <Type>Physical</Type>
        <Creator>eangelou</Creator>
        <Contact>eangelou@cslab.ntua.gr</Contact>
        <Description>Provides glite-WN with manpages for the appropriate tools</Description>
        <SLDType>community</SLDType>
        <License>GPL v.3</License>
        <Keywords>gLite gLite-WN man manpages</Keywords>
        <SupportedPlatforms>SL5</SupportedPlatforms>
        <Architecture>any</Architecture>
        <DocumentationLinks>http://www.cslab.ece.ntua.gr http://www.egi.eu<DocumentationLinks>
        <Date>21/6/2010</Date>
        <Version>3.2.15</Version>

<ReleaseNotes>This is a new release that adds features X and Y</ReleaseNotes>
        <ChangeLog>Added features X and Y, fixed bug Z (http://bug.tracker.eu)</ChangeLog>

<RsyncURL>ftp://www.cslab.ece.ntua.gr/</RsyncURL>
        <Method>apt</Method>

<DocumentationURL>http://www.cslab.ece.ntua.gr</DocumentationURL>

<Category>WN</Category>
        <ServicesAffected>gLite-WN</ServicesAffected>

<Dependencies>manpages</Dependencies>

</Package>
</Release>

A minimal XML file can be uploaded as well, but in this case a synchronization URL is required. It is implied that all packages are contained at this URL, so that the repository can fetch them:

<Release>
    <Name>glite</Name>
    <SoftwareProvider>EMI</SoftwareProvider>
    <SoftwareComponent>glite3.2</SoftwareComponent>
    <Contact>eangelou@cslab.ntua.gr</Contact>
    <Description>Yet another glite release</Description>   <Keywords>gLite</Kewords>
    <DocumentationLinks>http://www.cslab.ece.ntua.gr http://www.egi.eu<DocumentationLinks>
    <Date>21/6/2010</Date>
    <Version>3.2</Version>
    <SynchProtocol>ftp</SynchProtocol>
    <SynchURL>ftp://repository.egi.eu/~eangelou/myfiles/</SynchURL>
</Release>

An example DTD governing these XML files follows:

<!DOCTYPE repository [
<!ELEMENT Release ( Name, SoftwareProvider, SoftwareComponent, Contact, Description, Keywords, DocumentationLinks, Date, Version, SynchProtocol, SynchURL, Package* ) >
  <!ELEMENT Name ( #PCDATA) >
  <!ELEMENT SoftwareProvider ( #PCDATA) >
  <!ELEMENT SoftwareComponent ( #PCDATA) >
  <!ELEMENT Contact ( #PCDATA) >
  <!ELEMENT Description ( #PCDATA) >
  <!ELEMENT Keywords ( #PCDATA) >
  <!ELEMENT DocumentationLinks ( #PCDATA) >
  <!ELEMENT Date ( #PCDATA) >
  <!ELEMENT Version ( #PCDATA) >
  <!ATTLIST SynchProtocol reply ( http| ftp | rsync | sftp ) "http" >
  <!ELEMENT SynchURL ( #PCDATA) >

<!ELEMENT Package ( Name, Type, Creator, Contact, Description, SLDType, License, Keywords, SupportedPlatforms, Architecture, DocumentationLinks, Date, Version, ReleaseNotes, ChangeLog, RsyncURL, Method, DocumentationURL, Category, ServicesAffected, Dependencies ) >
  <!ELEMENT Name ( #PCDATA) >
  <!ELEMENT Type ( #PCDATA) >
  <!ELEMENT Creator ( #PCDATA) >
  <!ELEMENT Contact ( #PCDATA) >
  <!ELEMENT Description ( #PCDATA) >
  <!ATTLIST SLDType reply ( supported| community | component) "community" >
  <!ELEMENT License ( #PCDATA) >
  <!ELEMENT Keywords ( #PCDATA) >
  <!ELEMENT SupportedPlatforms ( #PCDATA) >
  <!ELEMENT Architecture ( #PCDATA) >
  <!ELEMENT DocumentationLinks ( #PCDATA) >
  <!ELEMENT Date ( #PCDATA) >
  <!ELEMENT Version ( #PCDATA) >
  <!ELEMENT ReleaseNotes ( #PCDATA) >
  <!ELEMENT ChangeLog ( #PCDATA) >
  <!ELEMENT RsyncURL ( #PCDATA) >
  <!ELEMENT Method ( #PCDATA) >
  <!ELEMENT DocumentationURL ( #PCDATA) >
  <!ELEMENT Category ( #PCDATA) >
  <!ELEMENT ServicesAffected ( #PCDATA) >
  <!ELEMENT Dependencies ( #PCDATA) >
]>