Difference between revisions of "Development guidelines"
(→Existing base elements for review) |
|||
(29 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | # Maintained Templates should be put in the [[:Category:Template]] | + | = 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 | # 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]] <pre>{{Property|has type=URL|isA=Property|used for=Concept:Event}}</pre> | ## make sure this holds true for Meta-Properties e.g [[Property:Homepage]] <pre>{{Property|has type=URL|isA=Property|used for=Concept:Event}}</pre> | ||
− | # use bots like wikipush, wikiedit, wikinuke, wikuser to do mass changes of pages e.g. adding the source "WikiCfP" information to pages imported from WikiCfp<pre> This CfP was obtained from [http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=3864&copyownerid=2 WikiCFP]</pre> => <pre>[[Source::wikicfp]][[eventId::3864]]</pre> | + | # use bots like [http://mediawiki-japi.bitplan.com/index.php/Py-3rdparty-mediawiki#wikipush_.2F_wikiedit_.2F_wiknuke_.2F_wikupload_.2F_wikiuser_scripts wikipush, wikiedit, wikinuke, wikiupload, wikuser] to do mass changes of pages e.g. adding the source "WikiCfP" information [https://www.openresearch.org/mediawiki/index.php?search=%22This+CfP+was+obtained+from%22&title=Special%3ASearch&profile=advanced&fulltext=1&ns0=1 to pages imported from WikiCfp]<pre> This CfP was obtained from [http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=3864&copyownerid=2 WikiCFP]</pre> => <pre>[[Source::wikicfp]][[eventId::3864]]</pre> => <pre>{{Event|...|Source=wikicfp|eventId=3864| ...}}</pre> |
− | # use | + | # 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 == | ||
+ | # usage of https://www.mediawiki.org/wiki/Extension:UrlGetParameters | ||
+ | ## see e.g. {{Link|target=Template:Events_menu}} | ||
− | = Copy of | + | = 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 == | == Main Entities only == | ||
# [[Concept:Event]] | # [[Concept:Event]] | ||
Line 40: | Line 52: | ||
== Properties == | == Properties == | ||
− | Only the ones used in templates. | + | * Only the ones used in templates, as discussed in the section below. |
− | See e.g. [[PropertyUsage]] | + | * 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 === | === isA Property === | ||
see [[Property:isA]] | 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. | ||
<pre> | <pre> | ||
{{#ask: [[isA::Property]] | {{#ask: [[isA::Property]] | ||
Line 52: | Line 69: | ||
==== Entity List ==== | ==== Entity List ==== | ||
see [[Template:EntityList]] | 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. | ||
<pre> | <pre> | ||
{{EntityList|type=Property}} | {{EntityList|type=Property}} | ||
Line 59: | Line 79: | ||
=== used For === | === used For === | ||
see [[Property: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. | ||
+ | |||
<pre> | <pre> | ||
{{#ask: [[used for::+]] | {{#ask: [[used for::+]] | ||
Line 69: | Line 93: | ||
=== Event series === | === 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. | ||
<pre> | <pre> | ||
{{Event series | {{Event series | ||
Line 74: | Line 99: | ||
| Title = | | Title = | ||
| Field = | | Field = | ||
+ | | city = | ||
}} | }} | ||
</pre> | </pre> | ||
− | # [[Property:acronym]] | + | # [[Property:acronym]] is OK |
− | # [[Property:title]] | + | # [[Property:title]] is not OK (case different) |
− | # [[Property:field]] | + | # [[Property:field]] is not OK (does not exist at all any more) |
+ | city label is linked to property "has_city" | ||
+ | |||
== Pushing Properties == | == 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. | ||
<source lang='bash'> | <source lang='bash'> | ||
− | wikipush -s or -t test -p "Property:Acronym" "Property:Title" "Property:Start date" "Property:End date" "Property:Homepage" -f | + | 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 | copying 5 pages from or to test | ||
1/5 ( 20%): copying Property:Acronym ...✅ | 1/5 ( 20%): copying Property:Acronym ...✅ | ||
Line 91: | Line 120: | ||
=== Simple Template === | === 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 <nowiki>#if</nowiki> and handling elements with multiple allowed entries | ||
<source lang='bash'> | <source lang='bash'> | ||
<noinclude> | <noinclude> | ||
Line 128: | Line 158: | ||
|- | |- | ||
! Name !! Value | ! Name !! Value | ||
+ | |- | ||
+ | | [[Property:isA|isA]] || [[isA::{{{isA|Event}}}]] | ||
|- | |- | ||
| [[Property:Acronym|Acronym]] || [[Acronym::{{{Acronym|}}}]] | | [[Property:Acronym|Acronym]] || [[Acronym::{{{Acronym|}}}]] |
Latest revision as of 08:59, 12 January 2021
Contents
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, Attendance fee currency, Attendance fee reduced, Camera ready due, Cfp, DBLP-venue-ID, DID, DOI landing page, DblpSeries, Demo deadline, Early bird regular, Early bird student, End date, Event in series, Event status, Event type, Event type other, EventSeries acronym, Extension name, Extension purpose, Extension since, Extension url, Extension wiki, Fixme done, Fixme todo, GND-ID, Has Average 5y Acceptance Rate, Has Average Acceptance Rate, Has CORE Rank, Has Keynote speaker, Has OC member, Has PC chair, Has PC member, Has Submitting link, Has coordinates, Has coordinator, Has demo chair, Has general chair, Has local chair, Has location city, Has location country, Has location state, Has person, Has program chair, Has publication chair, Has publicity chair, Has sub event, Has subject... 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}}
111 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>