Process:
- Create preliminary gadget to do the same
- Decide how mappings will be handled - will it be hard-coded, as in a gadget, or will there be some user-editable way to do it, as in TemplateData + VisualEditor, via JSON, or perhaps modelling it in wikibase itself using wikidata items/properties?
General way: Pros: Can be used with any wikibase instance. Hardcoding to specific properties is a bit problematic because the properties are theoretically quite changeable. It would be much less useful on non wikidata implementations of wikibase.
Cons: As we discovered with TemplateData + VisualEditor, users are sometimes frustrated at the inflexibility of only having a JSON block to work with in order to insert data, and want the Citoid extension to be able to make more fine tuned adjustments. This definitely still works for VisualEditor because there are many different languages all with different templates, but there will be less of an argument to make on this with Wikidata because we really only have one Wikibase instance and the possibility of using it on other instances is more theoretical than actual.