{"id":2593,"date":"2014-12-20T18:39:00","date_gmt":"2014-12-20T16:39:00","guid":{"rendered":"http:\/\/jml.kapsi.fi\/jussi\/?p=2593"},"modified":"2015-03-19T08:39:17","modified_gmt":"2015-03-19T06:39:17","slug":"mediawiki-open-graph-featured-image","status":"publish","type":"post","link":"https:\/\/jml.kapsi.fi\/jussi\/2014\/12\/20\/mediawiki-open-graph-featured-image\/","title":{"rendered":"MediaWiki, Open Graph ja Featured Image"},"content":{"rendered":"<p><a href=\"https:\/\/www.mediawiki.org\/\">MediaWiki<\/a>-ohjelmistolla tehdyn sivuston sivuja Facebookiin jaettaessa voi olla vaikeuksia saada haluttu kuva mukaan linkkijulkaisuun. <a href=\"https:\/\/developers.facebook.com\/docs\/sharing\/best-practices?locale=fi_FI#tags\">Open Graph Tagit<\/a> ovat verkkosivun <code class=\"language-markup\">&lt;head&gt;<\/code>-osioon asetettavia tietueita, joilla voi antaa Facebookille ohjeet, kuinka sivuun liittyv\u00e4t tiedot n\u00e4ytet\u00e4\u00e4n, kun se jaetaan Facebookissa. MediaWikiss\u00e4 t\u00e4m\u00e4n voi tehd\u00e4 lis\u00e4osalla, joka omassa k\u00e4yt\u00f6ss\u00e4ni ei toiminut suoraan asennettuna toivotulla tavalla.<\/p>\n<p><!--more--><\/p>\n<p>N\u00e4m\u00e4 ohjeet perustuvat <strong>MediaWikin versioon 1.23.2<\/strong>, kokeilu omalla vastuulla.<\/p>\n<h2>OpenGraphMeta Extension<\/h2>\n<p>Open Graph -m\u00e4\u00e4ritysten lis\u00e4\u00e4miseen on t\u00e4ss\u00e4 esimerkiss\u00e4 k\u00e4ytetty <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension:OpenGraphMeta\">OpenGraphMeta<\/a>-nimist\u00e4 laajennusta, joka asennetaan aluksi asennusohjeen mukaan.<\/p>\n<h2>Tavoitetila<\/h2>\n<p>Halutaan, ett\u00e4 sivuilla, joille ei erikseen ole m\u00e4\u00e4ritelty artikkelikuvaa (Featured Image), Facebook n\u00e4ytt\u00e4\u00e4 linkin yhteydess\u00e4 wikisivuston logon. Oletuskuva pit\u00e4\u00e4 voida ohittaa m\u00e4\u00e4rittelem\u00e4ll\u00e4 sivulle erikseen kuva, jota sen oletuskuvana k\u00e4ytet\u00e4\u00e4n. Artikkelikuvaan liittyv\u00e4 Open Graph -tietue n\u00e4ytt\u00e4\u00e4 suunnilleen t\u00e4lt\u00e4:<\/p>\n<pre>\r\n<code class=\"language-markup\">&lt;meta property=\"og:image\" content=\"http:\/\/example.com\/w\/skins\/myskin\/mylogo.jpg\" \/&gt;<\/code>\r\n<\/pre>\n<h2>Havaitut ongelmat<\/h2>\n<p>Asennuksen j\u00e4lkeen OpenGraphMeta tuottaa <code class=\"language-markup\">&lt;head&gt;<\/code>-osioon sivuston logoon viittaavan artikkelikuvan, kun kyseess\u00e4 on sivuston etusivu. Muille sivuille kuvatietue ei tulostu.<\/p>\n<h2>Korjauksia<\/h2>\n<p>Ensimm\u00e4inen korjaus l\u00f6ytyy <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension_talk:OpenGraphMeta\">OpenGraphMeta-lis\u00e4osan keskustelusivulta<\/a>. Lis\u00e4osan koodia tiedostossa <code class=\"language-markup\">\/extensions\/OpenGraphMeta\/OpenGraphMeta.php<\/code> pit\u00e4\u00e4 muuttaa seuraavasti:<\/p>\n<p><strong>Rivill\u00e4 46<\/strong> oleva m\u00e4\u00e4ritys:<\/p>\n<p><code class=\"language-php\">Title::newFromDBkey($data['dbkey'], NS_FILE) )<\/code><\/p>\n<p>muutetaan muotoon:<\/p>\n<p><code class=\"language-php\">Title::newFromDBkey( \"File:\" . $data['dbkey'] )<\/code><\/p>\n<p>T\u00e4m\u00e4n j\u00e4lkeen lis\u00e4osan ohjeiden mukaisen, wikitekstin sekaan m\u00e4\u00e4ritellyn parseri-funktion, esimerkiksi <code class=\"language-markup\">{{#setmainimage:Otsakekuva.jpg}}<\/code>, pit\u00e4isi tuoda haluttu og:image m\u00e4\u00e4ritys sivun otsakkeiden joukkoon.<\/p>\n<p>Nyt pit\u00e4\u00e4 saada viel\u00e4 sivuston logo oletuskuvaksi, joka n\u00e4ytet\u00e4\u00e4n aina, kun muuta kuvaa ei ole m\u00e4\u00e4ritelty. <strong>Rivilt\u00e4 80<\/strong> alkava lauseke:<\/p>\n<pre>\r\n<code class=\"language-php\">elseif ( $isMainpage ) {\r\n                $meta[\"og:image\"] = wfExpandUrl($wgLogo);<\/code>\r\n<\/pre>\n<p>muutetaan muotoon:<\/p>\n<pre>\r\n<code class=\"language-php\">else {\r\n                $meta[\"og:image\"] = wfExpandUrl($wgLogo);<\/code>\r\n<\/pre>\n<h2>Muuta huomioitavaa<\/h2>\n<p>Lis\u00e4osa ei ole aivan uusi, ja se muokkaa itse m\u00e4\u00e4ritellyst\u00e4 kuvasta varsin pienen kuvakkeen. Open Graphin nykyisiss\u00e4 suosituksissa otsakekuvan koko olisi minimiss\u00e4\u00e4n <strong>1200&#215;630<\/strong> pikseli\u00e4, joten kuvakkeelle asetetun koon voi muuttaa suuremmaksi. (Jos kuvakekoko on suurempi kuin alkuper\u00e4inen kuva, k\u00e4yt\u00e4\u00e4 MediaWiki alkuper\u00e4ist\u00e4 kuvaa.) Eli <strong>rivill\u00e4 75<\/strong>:<\/p>\n<pre>\r\n<code class=\"language-php\">$meta[\"og:image\"] = wfExpandUrl($out->mMainImage->createThumb(100*3, 100));<\/code>\r\n<\/pre>\n<p>mutetaan esimerkiksi muotoon:<\/p>\n<pre>\r\n<code class=\"language-php\">$meta[\"og:image\"] = wfExpandUrl($out->mMainImage->createThumb(1200, 630));<\/code>\r\n<\/pre>\n<h3>Logon m\u00e4\u00e4ritt\u00e4minen<\/h3>\n<p>Oletuskuvan osalta pit\u00e4\u00e4 huomata, ett\u00e4 logon polun on oltava m\u00e4\u00e4riteltyn\u00e4 LocalSettings.php -tiedostossa:<\/p>\n<p><code class=\"language-php\">$wgLogo = \"$wgStylePath\/myskin\/mylogo.jpg\";<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ohjeita MediaWikin ja Facebookiin jaettavan wikisivun artikkelikuvan asettamiseen OpenGraphMeta-lis\u00e4osan avulla sek\u00e4 parannuksia lis\u00e4osan toimintaan.<\/p>\n","protected":false},"author":2,"featured_media":2805,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,4,25],"tags":[457,13,5,456,458,60],"class_list":["post-2593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oppaat","category-verkkojulkaiseminen","category-web","tag-extension","tag-facebook","tag-mediawiki","tag-open-graph","tag-opengraphmeta","tag-plugin"],"_links":{"self":[{"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/posts\/2593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/comments?post=2593"}],"version-history":[{"count":13,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/posts\/2593\/revisions"}],"predecessor-version":[{"id":2667,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/posts\/2593\/revisions\/2667"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/media\/2805"}],"wp:attachment":[{"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/media?parent=2593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/categories?post=2593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jml.kapsi.fi\/jussi\/wp-json\/wp\/v2\/tags?post=2593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}