Serendipity: Es gibt noch Blogs

SCREENGUIDE - - Inneres - TEXT: Mal­te Pas­ku­da

Ein klei­nes Sys­tem, das sich auf Blogs kon­zen­triert

Für ein Blog ste­hen Ih­nen vie­le Sys­te­me zur Ver­fü­gung. Ob aus­ge­wach­se­ne CMS oder sta­ti­sche Sei­ten­ge­ne­ra­to­ren – ei­gent­lich bleibt kein Wunsch of­fen. Serendipity will sich da­zwi­schen­set­zen und als klas­si­sche Blog-En­gi­ne ei­ne ver­mu­te­te Lü­cke fül­len.

Serendipity (kurz: S9Y) ist ein auf PHP ba­sie­ren­des Blog­sys­tem, des­sen ers­te sta­bi­le Ver­si­on schon 2006 ver­öf­fent­licht wur­de [docs.s9y.org]. En­de 2015 wur­de das Sys­tem nach ei­ner grund­le­gen­den Über­ar­bei­tung in der Ver­si­on 2.0 ver­öf­fent­licht. Aus mo­der­ner Per­spek­ti­ve sitzt es zwi­schen den Stüh­len: Ver­g­li­chen mit be­kann­ten Con­tent-Ma­nage­ment-Sys­te­men wie Dru­pal oder Ty­po3 ist Serendipity win­zig, bie­tet da­bei je­doch mehr Funk­tio­nen als vie­le an­de­re mo­der­ne Blog-En­gi­nes wie bei­spiels­wei­se Ghost [ghost.org/de].

In die­ser Be­schrän­kung auf sei­ne Funk­ti­on als Blog bei gleich­zei­ti­ger Kom­plett­heit liegt der Reiz von Serendipity. Denn da­durch ist es ein­fach zu nut­zen, wie auch Host­blog­ger Ma­nu­el Sch­mitt (Ma­ni­tu) in sei­nem Blog schreibt: „… ein ein­dring­li­cher Tipp für al­le, die ein rei­nes Blog-Sys­tem su­chen: S9Y ist um Wel­ten ein­fa­cher zu be­die­nen und bie­tet, wenn man mal ehr­lich ist, al­les, was man für ein rei­nes Blog braucht.”

Da­bei ist Serendipity freie Soft­ware un­ter der BSD-Li­zenz und wird vom Pro­jekt­lei­ter Gar­vin Hi­cking mit ei­nem klei­nen Team Frei­wil­li­ger ent­wi­ckelt.

IN­STAL­LA­TI­ON

Serendipity be­wahrt ei­ne gu­te Ei­gen­schaft ty­pi­scher PHP-Pro­gram­me: Es ist auf na­he­zu je­dem Hos­ter ein­fach in­stal­lier­bar. Wenn Ihr Web­pa­ket über PHP ver­fügt, müs­sen Sie die Da­tei­en nur hoch­la­den und die URL der Si­te auf­ru­fen. An­schlie­ßend führt Sie ein In­stal­ler durch die ver­blie­be­nen Schrit­te, wie et­wa die Ein­ga­be der Da­ten­bank­zu­gangs­da­ten (Abb. 1). Als Da­ten­bank kommt in ers­ter Li­nie MySQL zum Zu­ge, das Sys­tem un­ter­stützt aber auch Al­ter­na­ti­ven wie SQ­Li­te und Post­greSQL.

FUNK­TIO­NEN EI­NES BLOGS

Wäh­rend der In­stal­la­ti­on wird ein Nut­zer an­ge­legt, mit des­sen Zu­gangs­da­ten Sie direkt den ers­ten Ein­trag schrei­ben kön­nen. Die­ser Ein­trag wird im so­ge­nann­ten Ba­ckend ge­schrie­ben, in dem Sie Serendipity auch um­fang­reich kon­fi­gu­rie­ren kön­nen. Die Kern­funk­ti­on ist aber klar der Bei­trags­edi­tor; je nach Ein­stel­lung ent­we­der ein ein­fa­ches Ein­ga­be­feld samt ein paar For­ma­tie­rungs­knöp­fen oder ein kom­plet­ter WYSIWYG-Edi­tor (CKE­di­tor, Abb. 2). Von die­ser Ein­ga­be gibt es zwei In­stan­zen, denn auf Wunsch tren­nen Sie Ih­re Ar­ti­kel in ei­ne Ein­lei­tung und den er­wei­ter­ten In­halt, ähn­lich wie es auch an­de­re Sys­te­me hand­ha­ben. So wird dann im RSS-Feed nur die Ein­lei­tung an­ge­zeigt, wenn die­se Tren­nung in der Kon­fi­gu­ra­ti­on nicht de­ak­ti­viert wur­de. Falls Sie kei­nen WYSIWYG-Edi­tor ver­wen­den möch­ten, un­ter­stützt das Sys­tem auch die be­kann­ten Mark­up-Spra­chen Tex­ti­le und Mark­down, die For­ma­tie­rung mit­tels HTML ist eben­falls mög­lich. Um die­se Ein­ga­be her­um sind die wei­te­ren Funk­tio­nen grup­piert, bei­spiels­wei­se Me­tain­for­ma­tio­nen für die Ka­te­go­rie- und Da­tums­aus­wahl.

Ne­ben den Blog­bei­trä­gen gibt es noch ei­nen wei­te­ren In­halt­s­ty­pen: per Plu­gin rea­li­sier­te sta­ti­sche Sei­ten, mit de­nen Sie be­lie­bi­gen In­halt auf ei­ner fest­leg­ba­ren URL ver­öf­fent­li­chen. Ty­pi­scher­wei­se wer­den sie für das Im­pres­sum oder ei­ne Au­to­r­en­sei­te be­nutzt. Das ent­spricht et­wa der Un­ter­tei­lung in Wor­dPress, aber die Funk­ti­on ist ru­di­men­tär; ins­be­son­de­re wenn meh­re­re Sei­ten im Sys­tem exis­tie­ren, wird es schnell un­über­sicht­lich. Serendipity will ja ex­pli­zit kein CMS sein. Mit dem Plu­gin „Er­wei­ter­te Ei­gen­schaf­ten für Ar­ti­kel” kön­nen Sie die In­hal­te um freie Fel­der er­gän­zen. Da­mit kön­nen Sie wei­te­re fes­te De­tails für ei­nen Ar­ti­kel fest­le­gen, bei­spiel­wei­se ein de­di­zier­tes Ar­ti­kel­bild in ei­nem Ma­ga­zin-De­sign. Die­se Fel­der wer­den im Ein­trags­edi­tor an­ge­zeigt. Für wei­te­re In­halt­s­ty­pen be­nö­ti­gen Sie neue Plug­ins.

Da­für or­ga­ni­siert Serendipity die Ver­wen­dung von Bil­dern, Vi­de­os und sons­ti­gen Da­tei­en über ei­ne Me­di­en­da­ten­bank. Ins­be­son­de­re Bil­der wer­den um­fang­reich un­ter­stützt. Sie kön­nen auf den Ser­ver hoch­ge­la­den wer­den, wor­auf­hin für sie ein Vor­schau­bild in der in den Ein­stel­lun­gen vor­ge­ge­be­nen Grö­ße er­stellt wird. Im Edi­tor gibt es ei­ne Aus­wahl­funk­ti­on für die In­hal­te der Me­di­en­da­ten­bank. Mit ihr kön­nen Sie das Bild oder sei­ne Vor­schau dann in den Ar­ti­kel ein­set­zen und aus­rich­ten. Än­de­run­gen am Bild, wie ein neu er­stell­tes grö­ße­res Vor­schau­bild, wer­den au­to­ma­tisch über­nom­men. Die Me­di­en­da­ten­bank eig­net sich auch, um vie­le Da­tei­en mit ihr zu or­ga­ni­sie­ren. Sie kann ef­fek­tiv durch­sucht und ge­fil­tert wer­den und er­laubt das Or­ga­ni­sie­ren der Da­tei­en in Ord­ner und Un­ter­ord­ner.

Eben­so wer­den vom Rech­te­sys­tem deut­lich kom­pli­zier­te­re Ar­beits­ab­läu­fe un­ter­stützt, als Sie für ein ein­fa­ches pri­va­tes Blog be­nö­ti­gen. Das Rech­te­sys­tem kennt Rol­len und se­pa­ra­te Rech­te, die Sie den Rol­len zu­wei­sen kön­nen. Je­der Nut­zer be­kommt ge­nau ei­ne Rol­le und da­mit des­sen Rech­te. Die Rech­te kon­trol­lie­ren re­la­tiv fein­gra­nu­lar al­le Aspek­te des Sys­tems, et­wa wel­che Be­rei­che ge­öff­net wer­den und wel­che Ak­tio­nen durch­ge­führt wer­den dür­fen.

Be­reits an­ge­legt ist das Kon­zept des Chef­re­dak­teurs: Er kann al­le Ein­trä­ge be­ar­bei­ten und die Ein­stel­lun­gen an­pas­sen, die Be­su­cher se­hen dür­fen. Ein nor­ma­ler Re­dak­teur darf nur sei­ne ei­ge­nen Ar­ti­kel be­ar­bei­ten und nur sei­ne per­sön­li­chen Ein­stel­lun­gen än­dern. Der Ad­mi­nis­tra­tor da­ge­gen hat voll­stän­di­gen Zu­griff auf die ge­sam­te Kon­fi­gu­ra­ti­on.

Die­se Grup­pen mit ih­ren Rech­ten kön­nen er­wei­tert und an­ge­passt wer­den. Es wä­re zum Bei­spiel mög­lich, ei­ne Grup­pe von Au­to­ren an­zu­le­gen, die Ein­trä­ge schrei­ben, aber nicht ver­öf­fent-

li­chen dür­fen. Dann könn­te ein Chef­re­dak­teur ein­ge­setzt wer­den, der al­le ver­öf­fent­lich­ten Ein­trä­ge prü­fen und frei­ge­ben muss. Serendipity ist al­so ein Blog, aber nicht zwin­gend nur ein pri­va­tes Blog. Auch die spä­ter auf­ge­kom­me­nen kom­mer­zi­el­len Blogs, oder schlicht sol­che mit meh­re­ren Be­nut­zern, kön­nen Sie mit Serendipity be­trei­ben.

EI­NE VIELZAHL VON DE­SIGNS

Die Ar­chi­tek­tur Se­ren­di­pi­tys trennt Co­de und Prä­sen­ta­ti­on, al­so PHP-Co­de und HTML-Ge­ne­rie­rung. Bei je­dem Auf­ruf ei­ner Sei­te sam­melt der PHP-Co­de die nö­ti­gen Da­ten aus der Da­ten­bank, führt et­wai­ge Zu­satz­funk­tio­nen aus und gibt die so er­stell­ten Da­ten an das Tem­pla­te­sys­tem. Da­für wird Smar­ty ge­nutzt. Mit Smar­ty kön­nen Sie die in De­signs ge­bün­del­ten HTML-Tem­pla­tes schrei­ben, was et­was ein­fa­cher als PHP-Co­de ist. Ent­spre­chend ein­fach wech­seln Sie das De­sign. Da­für wäh­len Sie nur im Ba­ckend ein neu­es De­sign aus, wo­durch so­fort die ent­spre­chen­den Tem­pla­tes, Bil­der, Ja­vas­cript- und CSS-Da­tei­en ver­wen­det wer­den. Serendipity kommt erst mal nur mit neun mit­ge­lie­fer­ten De­signs. Da­bei ist 2k11, das der­zei­ti­ge Stan­dard­de­sign von De­si­gner Mat­thi­as Mees (Abb. 7), schon mit­ge­zählt. Ein an­de­res ist bul­let­proof, ein sehr stark kon­fi­gu­rier­ba­res De­sign, das in vor­he­ri­gen Ver­sio­nen die Stan­dard­aus­wahl war. Aber bul­let­proof ist schon sicht­bar äl­ter, und ge­ne­rell sind neun De­signs nicht viel. Hier kommt Spar­ta­cus ins Spiel. Spar­ta­cus ist ei­ne Er­wei­te­rung, mit der Serendipity wei­te­re In­hal­te her­un­ter­la­den kann. Die Qu­el­le für wei­te­re In­hal­te ist ein zen­tra­les, vom Ent­wick­lungs­team ver­wal­te­tes Git­hub-Re­po­si­to­ry. In die­sem Re­po­si­to­ry lie­gen über 100 wei­te­re De­signs. Ei­ni­ge da­von sind äl­ter, aber sie­ben sehr un­ter­schied­li­che ak­tu­el­le De­signs wur­den vom Ent­wick­lungs­team als emp­foh­len mar­kiert. Sie wer­den in der Aus­wahl­lis­te zu­erst an­ge­zeigt.

UND NOCH MEHR PLUG­INS

Spar­ta­cus kann auch wei­te­re Plug­ins her­un­ter­la­den, die die voll­stän­di­ge An­pas­sung des Sys­tems er­mög­li­chen. Sie sind der­art mäch­tig, weil mit ih­nen be­lie­bi­ger PHP-Co­de aus­ge­führt wer­den

kann. Au­ßer­dem kön­nen sie sich auch über im Qu­ell­text ver­teil­te Event-Hooks in den nor­ma­len Ablauf Se­ren­di­pi­tys in­te­grie­ren. Ein Bei­spiel: Wird ein Ar­ti­kel kom­men­tiert, spei­chert Serendipity den Kom­men­tar in die Da­ten­bank. Aber vor dem Ab­spei­chern löst es ein ent­spre­chen­des Event aus und ver­sen­det so den Kom­men­tar. Ein Plu­gin kann sich hier ein­hän­gen, den Kom­men­tar be­trach­ten und da­nach Se­ren­dip­tiy ver­an­las­sen, den Kom­men­tar nicht ab­zu­spei­chern. Und ge­nau so sind sämt­li­che Spam­schutz­maß­nah­men um­ge­setzt. Das mit­ge­lie­fer­te Plu­gin Spam­block un­ter­stützt vie­le Spam­kri­te­ri­en und ist nach der In­stal­la­ti­on be­reits ak­tiv. Mit ihm kann der Kom­men­tar un­ter an­de­rem zu Akis­met ge­sen­det und dort ge­prüft wer­den, oder es könn­te ein Wort­fil­ter ein­ge­setzt wer­den. Aber Sie kön­nen auch wei­te­re Spam­schut­zPlug­ins in­stal­lie­ren. Es gibt zum Bei­spiel die Spam­schutz­bie­ne, wel­che die Spam­schutz­maß­nah­men um ei­nen Ho­ney­pot ergänzt, oder mit dem Bayes-Plu­gin ei­nen ler­nen­den lo­ka­len Spam­fil­ter. We­ni­ger mäch­tig sind die Sei­ten­leis­ten-Plug­ins, von de­nen es aber auch ei­ne Aus­wahl in Spar­ta­cus gibt. Sei­ten­leis­ten-Plug­ins kön­nen sich nicht in das Sys­tem ein­hän­gen, sie be­kom­men kei­ne Events zu­ge­schickt. Statt­des­sen be­set­zen sie ei­nen Ab­schnitt in der Sei­ten­leis­te des Blogs. Im Ba­ckend kann der Blog­be­sit­zer sie in die ge­wünsch­te Sei­ten­leis­te zie­hen (Abb. 9). Mit­hil­fe von Plug­ins ist auch die Mehr­spra­chig­keit im­ple­men­tiert. Da­mit ist nicht die Spra­che der Ober­flä­che ge­meint, die ist vom Pro­jekt be­reits in 30 Spra­chen über­setzt. Serendipity un­ter­stützt aber auch mehr­spra­chi­ge Ein­trä­ge über das Plu­gin „Mul­ti­lin­gua­le Ein­trä­ge”. Der Au­tor schreibt da­für meh­re­re Ver­sio­nen des glei­chen Ein­trags, Blog­be­su­cher kön­nen die für sie rich­ti­ge aus­wäh­len. Die Ein­bin­dung in so­zia­le Netz­wer­ke funk­tio­niert be­grenzt mit­hil­fe des Sha­riff-Plug­ins, das im Sys­tem schlicht „Sha­re­but­tons” heißt. Sha­riff ist ein Sys­tem des hei­se-Ver­la­ges, um Sei­ten da­ten­schutz­kon­form in so­zia­len Netz­wer­ken zu tei­len. Wo mög­lich, zei­gen da­mit Zäh­ler an, wie häu­fig ein Ar­ti­kel ge­teilt wur­de. Das Sha­riff-Plu­gin küm­mert sich auch um die Er­stel­lung der nö­ti­gen Me­taele­men­te (Open Graph), in­klu­si­ve des op­tio­na­len Al­ter­na­tiv­bil­des, das ge­setzt wird, wenn der Ein­trag kein ei­ge­nes Bild hat. Ge­spie­gelt wer­den in den Netz­wer­ken ab­ge­sen­de­te Kom­men­ta­re al­ler­dings nicht. Aber na­tür­lich un­ter­stützt Serendipity von Haus aus die be­kann­tes­ten SEO-Maß­nah­men der Blo­gära: Track­backs und Ping­backs, kom­pa­ti­bel mit an­de­ren Blog­sys­te­men wie Wor­dpress. An­de­re ty­pi­sche SEO-Maß­nah­men wie das An­pas­sen der Me­ta-Tags im He­a­der sind über de­di­zier­te Plug­ins mög­lich. No-In­dex für Über­sichts­sei­te, zur Ver­mei­dung dop­pel­ter In­hal­te, wur­de mit Ver­si­on 2.0 in die mo­der­nen De­signs in­te­griert.

SUP­PORT

Die Haupt­quel­le für Sup­port ist das Fo­rum [goo.gl/rsN9aj], das auch von den Ent­wick­lern be­sucht wird. Die­ser di­rek­te Sup­port ist ein ent­schei­den­des Kri­te­ri­um man­cher Serendipity-Nut­zer für ih­re Ent­schei­dung ge­we­sen. So schrieb Ro­bert Len­der, er­klär­ter Serendipity-Evan­ge­list, das Sys­tem des­we­gen zu schät­zen. Und Ähn­li­ches sag­te auch Dirk Deime­ke, Au­tor von „Li­nux-Ser­ver – Das um­fas­sen­de Hand­buch” und lang­jäh­ri­ger Serendipity-Nut­zer. Die Pro­jekt­web­sei­te ent­hält au­ßer­dem ei­ne On­li­ne-Do­ku­men­ta­ti­on, die zu­sam­men mit der Web­site En­de 2016 mo­der­ni­siert wur­de. Wei­ter­hin gibt es ein Serendipity-Buch von Gar­vin Hi­cking, das zwar schon 2008 ver­öf­fent­licht und 2012 un­ter freie Li­zenz ge­stellt wur­de, aber im­mer noch ak­tu­el­le In­for­ma­tio­nen zum Kern bie­tet [goo.gl/c7FoZQ].

AUSBLICK

Zum jet­zi­gen Zeit­punkt ist die ak­tu­el­le sta­bi­le Ver­si­on noch die 2.0, die neue Ver­si­on 2.1 steht aber un­mit­tel­bar vor der Ver­öf­fent­li­chung. Ver­si­on 2.0 war ein gro­ßer Um­bruch, mit ei­nem neu­en re­s­pon­siven Ba­ckend­de­sign und gro­ßen Än­de­run­gen in der in­ter­nen Ar­chi­tek­tur. 2.1 ist ei­ne be­hut­sa­me Fort­füh­rung die­ser Be­mü­hun­gen. Die größ­te Än­de­rung ist die Un­ter­stüt­zung von PHP 7, wo­für ei­ni­ge der ge­nutz­ten Bi­b­lio­the­ken aus­ge­wech­selt wur­den. Auch in­te­griert die neue Ver­si­on mo­der­ne re­s­pon­sive De­signs wie Ske­le­ton von Mat­thi­as Mees (auf­bau­end auf dem gleich­na­mi­gen CSS-Frame­work) und Ti­me­li­ne von Don Cham­bers (auf­bau­end auf Bul­let­proof). De­si­gner be­kom­men Ver­bes­se­run­gen der API, um ein­fa­cher Da­tei­en in die Tem­pla­tes ih­rer De­signs ein­zu­bin­den. Vie­le Bugs wur­den ge­fixt und ei­ni­ge Kom­fort­funk­tio­nen für Nut­zer ein­ge­baut, wie das Up­daten al­ler Plug­ins über ei­nen ein­zel­nen But­ton oder die be­reits er­wähn­te Her­aus­stel­lung mo­der­ner De­signs im Ba­ckend. Die Plä­ne für die Ver­sio­nen da­nach sind noch nicht kon­kret, das tra­di­tio­nell im April an­ste­hen­de Tref­fen von Ent­wick­lern und Com­mu­ni­ty im Li­nux­ho­tel in Es­sen dürf­te das än­dern [docs.s9y.org/camp.html].

Mal­te Pas­ku­da ist ein in Frank­reich le­ben­der Blog­ger, In­for­ma­ti­ker, HCI­ler so­wie seit ei­ni­gen Jah­ren Ent­wick­ler frei­er Soft­ware für Li­nux und das Web. Er bloggt un­ter on­li-blog­ging.de mit Serendipity und ist seit Ver­si­on 2.0 an des­sen Ent­wick­lung be­tei­ligt. Twit­ter: @on­lian­do­ne Kom­men­tie­ren: screen­gui.de/34/serendipity

In an­de­ren Blog­sys­te­men hei­ßen Sei­ten­leis­ten-Plug­ins auch Wid­gets.

Abb. 1: Start der In­stal­la­ti­on

Abb. 2: Der WYSIWYG-Edi­tor in Ver­wen­dung

Abb. 3: Die An­sicht des ge­spei­cher­ten Ein­trags

Abb. 4: Bil­der und ei­ne Co­de­da­tei in der Me­di­en­da­ten­bank

Abb. 5: Ei­ne neue Nut­zer­grup­pe wird an­ge­legt.

Abb. 8: Vier Vor­schau­bil­der emp­foh­le­ner De­signs

Abb. 6: Die De­si­gnaus­wahl

Abb. 7: Ein Ar­ti­kel im Stan­dard­de­sign 2k11

Abb. 9: Sei­ten­leis­ten-Plug­ins

Abb. 10: Das Sup­port­fo­rum

Newspapers in German

Newspapers from Germany

© PressReader. All rights reserved.