Development guidelines

From OPENRESEARCH mk copy Wiki
Jump to navigation Jump to search

Guidelines

Proposed and tested

  1. Maintained Templates should be put in the Category:Template and have minimum explanation e.g. with Usage/Example
  2. all relevant Properties should be set via Templates/Forms -> make systematic handling possible
    1. make sure this holds true for Meta-Properties e.g Property:Homepage
      {{Property|has type=URL|isA=Property|used for=Concept:Event}}
  3. 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&copyownerid=2 WikiCFP]
    =>
    [[Source::wikicfp]][[eventId::3864]]
    =>
    {{Event|...|Source=wikicfp|eventId=3864| ...}}
  4. use WikiFarms for creating development copies e.g. prod 1x /dev 1x /test (1x per developer) (reversible!)
  5. document Server configurations in confluence (complete) and in openresearch (for non critical e.g. which extensions are used)
  6. 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)
  7. Discussions by curators for each property are in the talk page e.g. https://www.openresearch.org/wiki/Property_talk:Title
  8. 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

  1. usage of https://www.mediawiki.org/wiki/Extension:UrlGetParameters
    1. see e.g. Template:Events_menu

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

  1. Concept:Event
  2. Concept:Event series
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

see Template:EntityList

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}}

Template:EntityList

used For

see 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
}}
 Used for
Abstract deadlineEvent
Accepted papersEvent
Camera ready dueEvent
DBLP IDEvent series
Event
DIDEvent series
Event
DOI landing pageEvent series
Event
DblpIdEvent series
Event
Demo deadlineEvent
End dateProject
Event
Event in seriesEvent
Event statusEvent
Event typeEvent
Event type otherEvent
GND-IDEvent series
Event
Has Keynote speakerEvent
Has coordinatorEvent series
Event
Has location cityEvent
Has location countryEvent
Has location stateEvent
Has subjectEvent series
Event
HomepageEvent series
Event
Metadata authorEvent series
Event
Metadata sourceEvent series
Event
Metadata timestampEvent series
Event
NotificationEvent
OrdinalEvent
Paper deadlineEvent
Poster deadlineEvent
SponsorEvent series
Event
Start dateProject
Event
Submission deadlineEvent
Submitted papersEvent
TitleEvent series
Event
Tutorial deadlineEvent
WikiCFP-IDEvent series
Event
Workshop deadlineEvent

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 =
}}
  1. Property:acronym is OK
  2. Property:title is not OK (case different)
  3. 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>