Some ideas on creating items:
- schemas are lists of properties
- schemas have labels and descriptions
- schemas define which properties are "usually" provided for a given type of thing
- Have a special page, say Special:CreateItem, for creating items
- step one: enter label and description, optionally select a schema
- step two: add properties freely and/or fill in values for the properties provided by the schema
- the URL in step two will be the ID-based canonical url of the newly created item
- The subpage-part of the title may be used to pre-select a specific schema:
- Special:NewItem/person may be used to link to a page for creating people
- When linking to a non-existing page using an ID-form URL (this is always an error, but may happen)
- show a message "no such item"
- When linking to a non-existing page using an site/title-based URL
- show a message "no such item" and a form
- the form has a label field (pre-filled from the title, after removing suffixes)
- the form also allows the user to enter a description and select a schema (like above)
- Submitting the form to create the item will again lead to a page that allows properties to be added/specified
- the URL for that page will remain the site/title-based URL!
- Properties that reference items can not be "red links"
- Instead, item stubs can be created inline
- The user is creating the item for Berlin
- The "mayor" property should point to Klaus Wowereit, but Wowi isn't in the system yet.
- So, the "find item" widget should have a "create new item" option.
- the user has already provided the label and can/should also provide a description (e.g. "German politician")
- the property "mayor" specifies that the "people" schema should be used when creating items based on that property
- the user can also override that default and select a different schema
- the user can choose "create and continue" and "create and fill in details"
- "create and continue" will create the item and return the user to editing Berlin
- "create and fill in details" will create the item and take the user to the item's (edit) page, to fill in or add more properties
- title-based URLs get rewritten so a special page, e.g. Special:ItemByTitle/site/Title
- should we also support language/label based urls?
- that would essentially be a search, the result would be an automatic redirect or an automatic disambig page
- when an item is created using a specific schema, all properties listed in the schema are added to the item, but marked as "not specified".
- no reference to the schema is kept in the item
- (properties from) more schemas can be added to the item later