Development guidelines
Guidelines
Proposed and tested
- Maintained Templates should be put in the Category:Template and have minimum explanation e.g. with Usage/Example
- all relevant Properties should be set via Templates/Forms -> make systematic handling possible
- make sure this holds true for Meta-Properties e.g Property:Homepage
{{Property|has type=URL|isA=Property|used for=Concept:Event}}
- make sure this holds true for Meta-Properties e.g Property:Homepage
- use bots like wikipush, wikiedit, wikinuke, wikiupload, wikuser to do mass changes of pages e.g. adding the source "WikiCfP" information to pages imported from WikiCfp
This CfP was obtained from [http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=3864©ownerid=2 WikiCFP]
=>[[Source::wikicfp]][[eventId::3864]]
=>{{Event|...|Source=wikicfp|eventId=3864| ...}}
- use WikiFarms for creating development copies e.g. prod 1x /dev 1x /test (1x per developer) (reversible!)
- document Server configurations in confluence (complete) and in openresearch (for non critical e.g. which extensions are used)
- Mapping to Aeon of properties is done via Property:mapsToAEON which for the time being references the vanilla wiki property according to https://wiki.tib.eu/jira/browse/CONFIDENT-242 (may be used this only as a temporary to work with a bot solution)
- Discussions by curators for each property are in the talk page e.g. https://www.openresearch.org/wiki/Property_talk:Title
- There should be a usage guideline for curators for each property in the property page see https://www.openresearch.org/wiki/Property:Title
Existing base elements for review
Copy of OpenResearch
- We would like to make a "vanilla" copy of OpenResearch that focuses only on those concepts that are relevant to us.
- We take the MVP approach, because otherwise things won't be manageable.
- If/when someone misses something and complains, we can still (re-)add it.
Main Entities only
wikipush -l -s or -t test -q "[[isA::Event]]"
copying 8848 pages from or to test
1/8848 ( 0%): copying 3DUI 2020 ...✅
2/8848 ( 0%): copying 3IA 2009 ...✅
3/8848 ( 0%): copying 3PGIC 2010 ...✅
4/8848 ( 0%): copying 4S4D 2017 ...✅
5/8848 ( 0%): copying 5GU 2017 ...✅
6/8848 ( 0%): copying 5GWN 2017 ...✅
7/8848 ( 0%): copying AAAI 1980 ...✅
8/8848 ( 0%): copying AAAI 1982 ...✅
9/8848 ( 0%): copying AAAI 1983 ...✅
10/8848 ( 0%): copying AAAI 1984 ...✅
11/8848 ( 0%): copying AAAI 1986 ...✅
...
wikipush -s or -t test -q "[[Category:Event series]]"
copying 1029 pages from or to test
1/1029 ( 0%): copying 3DUI ...✅
2/1029 ( 0%): copying AAAAECC ...✅
3/1029 ( 0%): copying AAAI ...✅
4/1029 ( 0%): copying AAMAS ...✅
5/1029 ( 0%): copying ACAH ...✅
6/1029 ( 1%): copying ACC ...✅
7/1029 ( 1%): copying ACCV ...✅
8/1029 ( 1%): copying ACE (DIMEA) ...✅
9/1029 ( 1%): copying ACIIDS ...✅
10/1029 ( 1%): copying ACIVS ...✅
11/1029 ( 1%): copying ACL ...✅
Properties
- Only the ones used in templates, as discussed in the section below.
- See e.g. PropertyUsage – e.g. DID is not used.
- Define the cut-off threshold (e.g., with SEO we had said "25%").
- The MVP wiki should implement its templates in such a way that arguments referring to properties below this threshold will be ignored.
isA Property
see Property:isA Should only be used once on an instance, because one "isA" type maps exactly to one template, whereas an instance can be in multiple categories. For the same "one template" reason, "isA" is not transitive. E.g., if we model Event and EventSeries as subclasses of Process, we don't use this "meta-level" information on the instance level (which takes effect for templates, forms, etc.). A non-flat hierarchy increases complexity of maintenance and for end users.
{{#ask: [[isA::Property]] }}
Abstract deadline, Accepted papers, Acronym, Action actionpage, Action author, Action comment, Action engine, Action input, Action inputtype, Action name, Action output, Action service, Action servicetype, Action since, Bigstock file, Bigstock id, BlogEntry author, BlogEntry date, BlogEntry pdf, BlogEntry title, Bogensportverein lat, Bogensportverein lon, Bogensportverein name, Bogensportverein url, Bogenturnier date, Bogenturnier name, Bogenturnier url, Bogenturnier veranstalter, Brainteaser date, Brainteaser finishDate, Brainteaser issue, Brainteaser page, Brainteaser pdf, Brainteaser problem, Brainteaser solution, CANInfo description, CANInfo name, CANInfo pid, CANInfo unit, Camera ready due, Commit date, Commit hash, Commit host, Commit name, Commit path, Commit project, Commit subject, ConfIDent property name, Context master, Context name... further results
Entity List
In such auto-generated overviews, properties considered "irrelevant" above (for lack of usage) should not appear. On such properties, use meta property "to be used later", "is related to milestone M", "not yet relevant", etc., by which we can filter.
{{EntityList|type=Property}}
used For
Conference and Project (on which "usedFor" is apparently "used") are not among the relevant ones for us (see above). If we want to keep these entities, we should once more follow the "meta property" approach, e.g., say that "startDate usedFor Conference" is only valid in a certain range of time.
{{#ask: [[used for::+]] |?used for }}
Event series
Make sure that templates, forms and property lists are aligned. Labels should correspond to property names. Here, e.g., some are uppercase, some are lowercase.
{{Event series | acronym = | Title = | Field = | city = }}
- Property:acronym is OK
- Property:title is not OK (case different)
- Property:field is not OK (does not exist at all any more)
city label is linked to property "has_city"
Pushing Properties
Copy into the target wiki those properties that we have agreed to use. The following list of arguments can be generated by a query.
wikipush -s or -t test -p "Property:isA" "Property:used for" "Property:Acronym" "Property:Title" "Property:Start date" "Property:End date" "Property:Homepage" -f
copying 5 pages from or to test
1/5 ( 20%): copying Property:Acronym ...✅
2/5 ( 40%): copying Property:Title ...✅
3/5 ( 60%): copying Property:Start date ...✅
4/5 ( 80%): copying Property:End date ...✅
5/5 ( 100%): copying Property:Homepage ...✅
Simple Template
This style of templates is for debugging purposes and not for end user display. It can be easily generated with a few lines of python and an smw query. See also https://www.confident-conference.org/r/wiki/index.php?title=Template:Process&action=edit for more specific additions like #if and handling elements with multiple allowed entries
<noinclude>
= Usage =
<pre>
{{Event
|Acronym=ATDM 2009
|Title=2nd International Workshop on Agent Technology for Disaster Management
|Type=Workshop
|Field=Artificial intelligence
|Superevent=PRIMA 2009
|Start date=2009/12/13
|End date=2009/12/13
|Homepage=doesnotunderstand.org/wikka.php?wakka=ATDM2009
|City=Nagoya
|Country=Japan
|Submission deadline=2009/09/15
}}
</pre>
== Example ==
{{Event
|Acronym=ATDM 2009
|Title=2nd International Workshop on Agent Technology for Disaster Management
|Type=Workshop
|Field=Artificial intelligence
|Superevent=PRIMA 2009
|Start date=2009/12/13
|End date=2009/12/13
|Homepage=doesnotunderstand.org/wikka.php?wakka=ATDM2009
|City=Nagoya
|Country=Japan
|Submission deadline=2009/09/15
}}
</noinclude><includeonly>
{| class="wikitable sortable"
|+ Event
|-
! Name !! Value
|-
| [[Property:isA|isA]] || [[isA::{{{isA|Event}}}]]
|-
| [[Property:Acronym|Acronym]] || [[Acronym::{{{Acronym|}}}]]
|-
| [[Property:Title|Title]] || [[Title::{{{Title|}}}]]
|-
| [[Property:Start date|Start date]] || [[Start date::{{{Start date|}}}]]
|-
| [[Property:End date|End date]] || [[End date::{{{End date|}}}]]
|-
| [[Property:Homepage|Homepage]] || [[Homepage::{{{Homepage|}}}]]
|-
| ... || ...
|}
[[Category:Event]]
</includeonly>