SpecDB

From W3C Wiki

It would be useful for W3C to maintain a database of all of its Technical Reports ("TR documents"), with a history of each. This could be expose this as a bibliographic service, as BibTeX or BIBO or RDF or the format we use for our spec references; the latter would be useful for ReSpec or our other spec-build systems.

This could include a front end to manage them, and an API to allow queries. The front end might include a script to extract information from a spec automatically, which would simplify populating and keeping the database up-to-date.

This could be very useful in our goal of keeping WGs on track. Down the road, we could even make nice visualization tools.

Useful Information

  • spec name
  • spec shortname
  • subtitle
  • abstract
  • canonical (stable) URL
  • anticipated timeline (projected dates for FPWD, LC, CR, PR, Rec)
  • each spec version (including Editor's Draft)
    • publication date
    • dated URL
    • alternate URL (e.g., IETF, WHATWG)
    • Recommendation-track status
    • normativity (normative or informative, e.g. spec vs. note)
    • editors
    • authors
    • acknowledgments
    • Working Group
    • comments email
    • bug report URL
    • issue tracker (may be same as bug report URL)
    • Patent Policy terms
    • document license terms
    • translations
      • URL of each translation
    • alternate format (e.g., PDF, ePUB)
      • URL of each alternate format
    • spec dependencies
    • provenance records (eg, reference to the formal and public steps taken for the publication of that particular version, previous versions)

Useful Outputs

  • API for queries on document status (internal or external)
  • Document schedule and status calendar
  • Bibliography or reference generator
  • Spec interdependency visualizer

Useful Inputs

  • Data extractor: pulls information from a spec to populate database
  • Form field, for manual entry

Database

Tables

Please help with this!

Field Type Null Key Default extra
spec_id int(10) unsigned NO PRI NULL auto_increment
spec_name
spec_shortname

Note: the content should be more structured, reusing other parts of our database. Eg, editor, author, etc, should be references to person's records, and not simply strings.

Types

Just for reference...

  • int(size)
  • int(size) unsigned
  • tinyint(size)
  • tinyint(size) unsigned
  • bigint(size)
  • bigint(size) unsigned
  • double
  • double unsigned
  • binary(size)
  • varbinary(size)
  • tinyblob
  • char(size)
  • varchar(size)