Difference between revisions of "Data Submission Formats"

From ISFDB
Jump to navigation Jump to search
(→‎Title Related Submissions: Moving TitleUnmerge)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
  
 +
Data is submitted to the ISFDB either from the online editing tools, or by the [[Web API]]. Accepted submissions are placed in the [[Database_Schema#submissions|submissions]] table in the MySQL database.
 
The data submitted to the ISFDB must be a well-formed XML string. All submissions must contain the following:
 
The data submitted to the ISFDB must be a well-formed XML string. All submissions must contain the following:
  
Line 10: Line 11:
 
A stubbed out version of a generic submission looks like this:
 
A stubbed out version of a generic submission looks like this:
  
 +
<source lang="xml">
 
  <?xml version="1.0" encoding="iso-8859-1" ?>
 
  <?xml version="1.0" encoding="iso-8859-1" ?>
 
  <IsfdbSubmission>
 
  <IsfdbSubmission>
Line 18: Line 20:
 
   </...Type...>
 
   </...Type...>
 
  </IsfdbSubmission>
 
  </IsfdbSubmission>
 +
</source>
  
 
==Author Related Submissions==
 
==Author Related Submissions==
  
There are two data submission types necessary for the upkeep of the authors table:
+
There are three data submission types necessary for the upkeep of the authors table:
  
* [[XML:AuthorMerge]] - handles merging two authors together; it does have side effects on publication and title mapping tables, as one of the authors is replaced with the other.
+
* [[XML:AuthorMerge]] - Merges two author records together.
* [[XML:AuthorUpdate]] - handles changes made to the author-related tables; it has no side effects on other tables.
+
* [[XML:AuthorUpdate]] - Updates an author record.
 +
* [[XML:MakePseudonym]] - Makes an author record a alternate name.
  
Note that their are no submission types to create or delete author entries. Author entries are created on demand when a title or publication requires them. Likewise author entries are delete when no other records refer to them.
+
Note that there are no submission types to create or delete author entries. Author entries are created on demand when a title or publication requires them. Likewise author entries are deleted when no other records refer to them.
  
 
==Publication Related Submissions==
 
==Publication Related Submissions==
Line 39: Line 43:
 
==Title Related Submissions==
 
==Title Related Submissions==
  
* [[XML:TitleUpdate]] - Modifies a title record.
+
There are six data submission types necessary for the upkeep of the titles table:
 +
 
 +
* [[XML:LinkReview]] - Links a review record to the reviewed title.
 +
* [[XML:MakeVariant]] - Makes the current title a variant title.
 
* [[XML:TitleDelete]] - Deletes a title record.
 
* [[XML:TitleDelete]] - Deletes a title record.
 
* [[XML:TitleMerge]] - Merges two or more title records.
 
* [[XML:TitleMerge]] - Merges two or more title records.
 
* [[XML:TitleUnmerge]] - Unmerges one or more title records.
 
* [[XML:TitleUnmerge]] - Unmerges one or more title records.
 +
* [[XML:TitleUpdate]] - Modifies a title record.
 +
* [[XML:VariantTitle]] - Adds a variant title to the current title.
 +
 +
==Series Related Submissions==
 +
 +
There is one series-related data submission type:
 +
 +
* [[XML:SeriesUpdate]] - Updates a series record.
 +
 +
Note that there are no submission types to create or delete series entries. Series entries are created on demand when a title requires them. There is a submission type to delete an empty series, but it shouldn't be used via the Web API.
  
 +
==Awards Related Submissions==
  
===MakeVariant===
+
There are three data submission types necessary for the upkeep of the awards table:
  
This submission is used to make current title a variant title. It can either link to an existing parent title, or it can specify that a parent title be created.
+
* [[XML:NewAward]] - Creates a new award record.
 +
* [[XML:AwardDelete]] - Deletes an award record.
 +
* [[XML:AwardUpdate]] - Updates an award record.
  
Example where parent exists:
+
==Publisher Related Submissions==
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
There are two data submission types necessary for the upkeep of the publishers table:
<IsfdbSubmission>
 
  <MakeVariant>
 
    <Submitter>CoachPaul</Submitter>
 
    <Subject>Luella Miller</Subject>
 
    <Record>883909</Record>
 
    <Parent>99468</Parent>
 
  </MakeVariant>
 
</IsfdbSubmission>
 
  
Example where parent is created:
+
* [[XML:PublisherUpdate]] - Updates a publisher record.
 +
* [[XML:PublisherMerge]] - Merges two or more publisher records.
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
Note that there are no submission types to create or delete publisher entries. Publisher entries are created on demand when a publication requires them. Likewise publisher entries are deleted when no other publications refer to them.
<IsfdbSubmission>
 
  <MakeVariant>
 
    <Record>884039</Record>
 
    <Submitter>Rkihara</Submitter>
 
    <Subject>Buying Time: A Jaunt in Time and Space</Subject>
 
    <Title>Buying Time: A Jaunt in Time and Space</Title>
 
    <Year>2001-00-00</Year>
 
    <TitleType>NOVEL</TitleType>
 
    <Authors>
 
      <Author>Alan Glasser</Author>
 
    </Authors>
 
  </MakeVariant>
 
</IsfdbSubmission>
 
  
===VariantTitle===
+
==See Also==
 +
* [[Web API]] -- Page that describes the API within which these formats may be used
 +
* [[Help:Screen:EditPub]] -- detailed help on the various publication-level fields and how they are used.
 +
* [[Help:Screen:EditTitle]] -- detailed help on the various title-level fields and how they are used.
  
This submission is used to add a variant title to the current title. This is useful if you know from a secondary bibliography that a variant title exists, but no publication has every been entered under that title as yet. Usage of this submission type is fairly rare.
 
  
Example:
 
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
[[Category:Data Submission Formats]]
<IsfdbSubmission>
 
  <VariantTitle>
 
    <Submitter>Ahasuerus</Submitter>
 
    <Subject>Nad Bezdnoj</Subject>
 
    <Parent>877998</Parent>
 
    <Title>Nad Chernoj Bezdnoj</Title>
 
    <Year>1927-00-00</Year>
 
    <Storylen>ss</Storylen>
 
    <TitleType>SHORTFICTION</TitleType>
 
    <Note>Originally published as "Nad Chernoj Bezdnoj", book publication as "Nad Bezdnoj".</Note>
 
    <Authors>
 
      <Author>Alexander Beliaev</Author>
 
    </Authors>
 
  </VariantTitle>
 
</IsfdbSubmission>
 

Latest revision as of 10:21, 27 June 2019

Introduction

Data is submitted to the ISFDB either from the online editing tools, or by the Web API. Accepted submissions are placed in the submissions table in the MySQL database. The data submitted to the ISFDB must be a well-formed XML string. All submissions must contain the following:

  • An xml header utilizing version 1.0, and a recommended encoding of iso-8859-1.
  • The data must be enclosed within a set of IsfdbSubmission tags.
  • The data must contain a valid registered user within a set of Submitter tags.
  • The data must contain a subject heading within a set of Subject tags. This subject is displayed in the moderator queue, and is not integrated into the ISFDB data.

A stubbed out version of a generic submission looks like this:

 <?xml version="1.0" encoding="iso-8859-1" ?>
 <IsfdbSubmission>
   <...Type...>
      <Submitter>Registered_User_Name</Submitter>
      <Subject>Subject Line That Will Appear in Moderator Queue</Subject>
      ...
   </...Type...>
 </IsfdbSubmission>

Author Related Submissions

There are three data submission types necessary for the upkeep of the authors table:

Note that there are no submission types to create or delete author entries. Author entries are created on demand when a title or publication requires them. Likewise author entries are deleted when no other records refer to them.

Publication Related Submissions

There are four data submission types necessary for the upkeep of the pubs table:

Title Related Submissions

There are six data submission types necessary for the upkeep of the titles table:

Series Related Submissions

There is one series-related data submission type:

Note that there are no submission types to create or delete series entries. Series entries are created on demand when a title requires them. There is a submission type to delete an empty series, but it shouldn't be used via the Web API.

Awards Related Submissions

There are three data submission types necessary for the upkeep of the awards table:

Publisher Related Submissions

There are two data submission types necessary for the upkeep of the publishers table:

Note that there are no submission types to create or delete publisher entries. Publisher entries are created on demand when a publication requires them. Likewise publisher entries are deleted when no other publications refer to them.

See Also

  • Web API -- Page that describes the API within which these formats may be used
  • Help:Screen:EditPub -- detailed help on the various publication-level fields and how they are used.
  • Help:Screen:EditTitle -- detailed help on the various title-level fields and how they are used.