Vorlage:Opencast Versionsgraph

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 29. August 2021 um 17:16 Uhr durch imported>Ziegenberg(159771) (Verbreiterung der Grafik auf 1000px um mehr Versionen darstellen zu können).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ziel dieses Graphen ist es, den zeitlichen Verlauf der Opencast-Releases darzustellen. Die Daten kommen direkt aus Wikidata und werden dort aktuell durch einen Bot gepflegt, der sie aus GitHub holt. Eine Version für Vega5 ist schon vorbereitet.

Man erkennt:

  • Wie häufig es Minor Updates für Major Versionen gibt
  • Wie lange die Versionen üblicherweise mit (Sicherheits)updates versorgt werden
  • Welches die aktuelle Major Version ist und ob es sich um die erste (manchmal fehlerdurchsetzte) Minor Version dieses Zweiges handelt
  • Überlappungen der Support-Zeiträume


<graph mode=interactive> {

 "version": 2,
 "data": [
   {
     "name": "releases",
     "url": "wikidatasparql:///?query=%23defaultView%3ATimeline%0ASELECT%20%3Fdate%20%3Fversion%20%7B%0A%20%20wd%3AQ955212%20p%3AP348%20%5B%20%23%20replace%20Q381%20with%20Wikidata%20identifier%20of%20your%20software%0A%20%20%20%20ps%3AP348%20%3Fversion%20%3B%0A%20%20%20%20pq%3AP577%20%3Fdate%0A%20%20%5D%0A%7D&format=json",
     "format": {"type": "json"},
     "transform": [
       {
         "type": "formula",
         "field": "release_date",
         "as": "release_date",
         "expr": "datetime(datum.date)"
       },
       {
         "type": "formula",
         "field": "release_version",
         "as": "release_version",
         "expr": "datum.version"
       },
       {
         "type": "formula",
         "field": "release_major",
         "as": "release_major",
         "expr": "replace(datum.version, /^(\\d+).+/, '$1')"
       },
       {
         "type": "formula",
         "field": "release_major_numeric",
         "as": "release_major_numeric",
         "expr": "1*datum.release_major"
       },
       {
         "type": "formula",
         "field": "release_dot_text",
         "as": "release_dot_text",
         "expr": "'Version: ' + datum.release_version + ' | ' + date(datum.release_date) + '.' + (month(datum.release_date) + 1) + '.' + year(datum.release_date)"
       },
       {"type": "sort","by": "release_major_numeric"}
     ]
   }
 ],
 "width": 1000,
 "height": 200,
 "config": {
   "text": {"font": "Ideal Sans, Avenir Next, Helvetica"},
   "title": {
     "font": "Ideal Sans, Avenir Next, Helvetica",
     "fontWeight": 500,
     "fontSize": 17,
     "limit": -1
   },
   "axis": {
     "labelFont": "Ideal Sans, Avenir Next, Helvetica",
     "labelFontSize": 12
   }
 },
 "title": {
   "text": "Opencast Veröffentlichungen",
   "orient": "top",
   "anchor": "start",
   "frame": "group"
 },
 "scales": [
   {
     "name": "xScale",
     "type": "time",
     "domain": {"data": "releases","field": "release_date"},
     "range": "width"
   },
   {
     "name": "yScale",
     "type": "linear",
     "domain": {"data": "releases","field": "release_major_numeric"},
     "range": "height",
     "reverse": true
   },
   {
     "name": "colorScale",
     "type": "ordinal",
     "domain": {"data": "releases","field": "release_major_numeric"},
     "range": "category20"
   }
 ],
 "axes": [
   {"scale": "xScale","orient": "bottom","type": "x"},
   {"scale": "yScale","orient": "left","type": "y"}
 ],
 "marks": [
   {
     "type": "symbol",
     "name": "dots",
     "from": {"data": "releases"},
     "properties": {
       "enter": {
         "shape": {"value": "circle"},
         "x": {"field": "release_date","scale": "xScale"},
         "y": {"field": "release_major_numeric","scale": "yScale"},
         "fill": {"field": "release_major_numeric","scale": "colorScale"}
       },
       "update": {"fillOpacity": {"value": 1}},
       "hover": {"fillOpacity": {"value": 0.5}}
     }
   }, {
     "type": "text",
     "properties": {
       "enter": {
         "align": {"value": "center"},
         "fill": {"value": "#333"}
       },
       "update": {
         "x": {"scale": "xScale", "signal": "tooltip.release_date"},
         "y": {"scale": "yScale", "signal": "tooltip.release_major", "offset": -8},
         "text": {"signal": "tooltip.release_dot_text"},
         "fillOpacity": {
           "rule": [
             {
               "predicate": {"name": "tooltip", "id": {"value": null}},
               "value": 0
             },
             {"value": 1}
           ]
         }
       }
     }
   }
 ],
 "signals": [
   {
     "name": "tooltip",
     "init": {},
     "streams": [
       {"type": "symbol:mouseover", "expr": "datum"},
       {"type": "symbol:mouseout", "expr": "{}"}
     ]
   }
 ],
 "predicates": [
   {
     "name": "tooltip", "type": "==", 
     "operands": [{"signal": "tooltip._id"}, {"arg": "id"}]
   }
 ],
 "legends": [
   {
     "title": "Hauptversion",
     "fill": "colorScale",
     "orient": "bottom",
     "direction": "horizontal",
     "encode": {
       "title": {"update": {"fontSize": {"value": 15}}},
       "labels": {"update": {"fontSize": {"value": 12}}}
     }
   }
 ]

} </graph>