User:Tpt/RFC

I have the project to implement in Extension:ProofreadPage a metadata storage system base on an sql table in order to provide an api and metadata in the header of each pages, in the Index, Page and Main namespaces. But there are a lot of technical chooses to do before beginning an implementation.

Way of getting metadata ?
We can create a new parser function like. This can be add directly in MediaWiki:Proofreadpage index template and MediaWiki:Proofreadpage header template. The new information are store by the parser as the Extension:Geodata work. We can imagine also that show the metadata.
 * Advantages : Compatibility, flexibility...
 * Disadvantages : It's not kiss.

We can also Rewrite index: form in order to store metadata directly. I don't know how implement it. Maybe an editmetadata api ? I don't think it's a good idea because we will have to be fully compatible with the existing system. We can also rewrite later the form maker in order to improve the edit system.

Witch ID for metadatas ?
We can provide a base set of metadata (lang, title, publisher, pubdate...) and allow to add custom ones with a configuration system. We must provide a common base set in order to let tool use it for all Wikisource. We can also imagine to internationalize the IDs.

Witch format for data ?
There are two way :
 * Be very flexible in the input, let the user set the field with that he want. The advantage will be that it's fully compatible with existing system. But it's not fun for tools that have to check the type of the input before use them.
 * Be strict. By example, the language must be the ISO language code like en or fr, the author must be a link to the author page in Wikisource... In this case the data entry may be multiple in order to allow set many authors... The transition will be hard but I think it's the moment. With this system we can imagine a good interconnection with wikidata. The bots can help us for basic cases for the transition.

Is there a communication of metadata from Index namespace to main namespace ?
I think we mustn't change the way of the communication between index and main namespaces and the header template may be used in order to set metadata for pages that use transclusion.

Witch format choose for metadata in Wikisource pages
I think Dublin Core is a good format, xhtml compatible and very used. We can imagine an output of the api in RDF as Wikidata will do.

Draft of sql structure
The problem of this system is that the values aren't typed.