-
Notifications
You must be signed in to change notification settings - Fork 3
/
plugins_gekoppelt.tex
2720 lines (2272 loc) · 128 KB
/
plugins_gekoppelt.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%revised
\index{Plugins!gekoppelt}%
\index{Plugins!Paired}%
\index{Gekoppelte Plugins}%
\label{Gekoppelte Plugins}%
\chapter{Gekoppelte Plugins}
Gekoppelte Plugins bestehen sowohl aus einem Seitenleisten-Plugin als
auch aus einem Ereignis-Plugin. Beide Plugins können dabei auch im selben
Verzeichnis liegen. Wenn ein Plugin ein anderes bedingt, kann bei der
Installation des einen Plugins auch automatisch ein anderes zugehöriges
Plugin installiert werden. Generell sieht Serendipity dabei das
Ereignis-Plugin als das wichtigere an -- wird dieses entfernt, wird auch
das zugehörige Seitenleisten-Plugin (falls Sie es installiert haben)
entfernt. Umgekehrt wird ein benötigtes Ereignis-Plugin automatisch
installiert, wenn Sie ein zugehöriges Seitenleisten-Plugin installieren.
\section{Standardmäßig verfügbare Plugins}
In der folgenden Liste sind alle miteinander verkoppelten Plugins
aufgeführt, die in der Serendipity-Distribution mitgeliefert werden. Keine
dieser Plugins sind standardmäßig installiert, daher müssen Sie diese
gezielt installieren.
\index{Creative Commons}%
\index{Plugins!Creative Commons Lizenz}%
\index{Plugins!serendipity\_event\_creativecommons}%
\index{Urheberrecht}%
\index{Lizenzen}%
\index{Plugins!serendipity\_plugin\_creativecommons}%
\subsection{Creative Commons, Creative Commons-Lizenz\newline
serendipity\_plugin\_creativecommons,\newline
serendipity\_event\_creativecommons}
Wenn Sie in Ihrem Blog einen Artikel der Allgemeinheit zugänglich machen,
liegen die Urheberrechte meist bei dem Redakteur des jeweiligen Artikels.
In kommerziellen Blogs gehen die Nutzungsrechte dafür üblicherweise in
Firmenbesitz über.
Die Thematik der Eigentums- und Nutzungsrechte von Blogs wird vielerorts
ausgiebig diskutiert -- als Fazit kann man sagen, dass Sie sich auch als
privater Blogger Gedanken über die Verwertungsrechte Ihrer Artikel machen
sollten.
Wenn Sie beispielsweise eine ausführliche Dokumentation zu einem
Open-Source"=Programm schreiben, könnte an diesem Artikel großes Interesse
der Allgemeinheit bestehen. Nun haben Sie als Verfasser zwei
Möglichkeiten: Entweder Sie verbieten Fremden, Ihren Artikel
weiterzuverbreiten, oder Sie erlauben die Verbreitung Ihres Textes in beliebigen
Medien.
Die erste Variante hat für Sie den Vorteil, dass Sie Herr über Ihren
Artikel bleiben und möglicherweise auch durch Werbeschaltung etwas Geld
verdienen können. Auf der anderen Seite werden erfahrungsgemäß trotzdem
viele Benutzer Ihren Artikel einfach weiterverbreiten, und Sie müssen
Rechtsmittel gegen diese Nutzung einlegen.
Die zweite Variante, die Offenlegung Ihres Artikels, hilft der Verbreitung
Ihres Textes. Wenn Sie hauptsächlich aus ideologischen Gründen daran interessiert sind,
Informationen zu verbreiten ("`\emph{Das Internet ist frei}"'), ist dies
sicher die beste Maßnahme, damit Ihr Text Gehör (oder \emph{Geles})
findet. Andererseits könnten böswillige Nutzer Ihren Artikel auf kommerziellen
Webseiten als Eigenleistung darstellen. Da Sie den Text
aber zur freien Vervielfältigung freigegeben haben, sind Ihre
Rechtsmittel bei derartiger Nutzung recht eingeschränkt.
Beide Varianten haben eines gemeinsam: Sie stellen eine Lizenzierung dar.
Sie sollten sich stets für irgendeine Lizenz Ihrer Blog-Inhalte
entscheiden, um klare Verhältnisse zu schaffen.
Es gibt zahlreiche Lizenzen im Internet: Die GPL, BSD,
Mozilla-Lizenz und viele weitere sind grundsätzlich zwar eher für Software
gedacht, können aber durchaus auch auf eigene Werke wie Blog-Artikel
ausgeweitet werden.
Weil Artikel sich aber auch im deutschen Recht von Software
unterscheiden, gibt es spezielle Lizenzen, die sich auf Texte und eigene
Bilder spezialisiert haben. Die wohl verbreitetste und bekannteste ist
die sogenannte \emph{Creative
Commons}-Lizenz\footnote{\cmd{http://de.creativecommons.org/}}. Diese
bietet ein bausatzartiges Modell, bei dem Sie sich Ihre Lizenz aus
einigen Komponenten zusammenstellen können. Sie können auswählen, ob Ihr
Text kommerziell eingesetzt werden darf, ob Ihr Urheberrecht jederzeit
mit angegeben werden muss und ob auf Ihrem Artikel aufbauende Texte
erstellt werden dürfen.
Sie können sowohl das gesamte Blog unter eine derartige Lizenz stellen,
als auch ausgewählte Bereiche des Blogs. Um diese Kennzeichnung zu
erleichtern, bietet Serendipity das \emph{Creative Commons}-Plugin an.
In dem Ereignis-Plugin stellen Sie ein, für welche Lizenz Sie sich
entschieden haben. In dem RSS-Feed Ihres Blogs und in den HTML-Metatags
wird das Plugin daraufhin Lizenzhinweise einbinden, die der gewählten
Lizenz entsprechen.
Das Seitenleisten-Plugin können Sie einbinden, um in der Seitenleiste
für Besucher sichtbar anzuzeigen, welcher Lizenz ihr Blog unterliegt.
Grundsätzlich können Sie für Ihr Blog auch jede andere beliebige Lizenz
einbinden. Dazu können Sie einen HTML-Klotz als Seitenleisten-Plugin
einbinden und dort auf Ihre gewählte Lizenz hinweisen. Die
HTML/RSS"=Metadaten können Sie über die Template-Dateien \cmd{feed*.tpl}
sowie die \cmd{index.""tpl} ebenfalls manuell einpflegen.
\index{Plugins!Template dropdown}%
\index{Plugins!Template-Auswahl}%
\index{Frontend!Layout}%
\index{Plugins!serendipity\_event\_templatechooser}%
\index{Plugins!serendipity\_plugin\_templatedropdown}%
\subsection{Template dropdown,
Template-Auswahl\newline
serendipity\_plugin\_templatedropdown,\newline
serendipity\_event\_templatechooser}
Als Eigentümer des Blogs legen Sie üblicherweise fest, wie es auszusehen
hat. Manchen Betreibern ist das aber relativ egal; sie legen eher Wert
darauf, dass sich der Besucher mit dem Design identifizieren kann. Daher
ist es in manchen Fällen angebracht, dem Besucher eine Wahl des Designs
(\emph{Template}) zu überlassen -- besonders, wenn Sie Wert auf
\index{Barrierefreiheit}%
Barrierefreiheit legen.
Über das Seitenleisten-Plugin \emph{Template dropdown} können Sie ein
Ausklappfeld einbinden, das alle in Ihrem Blog verfügbaren Templates
enthält. Der Besucher kann ein Template auswählen und danach
das Blog im gewünschten Layout ansehen.
Das Seitenleisten-Plugin dient lediglich der Darstellung der verfügbaren
Templates. Damit das Template erfolgreich aktiviert werden kann, muss das
gekoppelte Ereignis-Plugin \emph{Templateauswahl} installiert werden.
Das Ereignis-Plugin setzt einen Browser-Cookie, um die Template-Auswahl
des Besuchers auch beim nächsten Besuch wiederherzustellen. Darüber hinaus
können Sie, sobald das Ereignis-Plugin installiert ist, Ihr Blog mittels
\cmd{http://www.example.com/index.php?user\_template=\cmdvar{default}}
aufrufen. Der Option \cmd{user\_template} können Sie dabei den Namen des
gewünschten Template-Verzeichnisses zuweisen.
Bitte beachten Sie: Wenn Sie eigenständige Anpassungen an einem
Template vornehmen, um beispielsweise spezielle erweiterte Eigenschaften
einzubinden, sind diese nur in dem jeweils von Ihnen modifizierten Template
sichtbar. Wenn ein Besucher ein davon abweichendes Template gewählt
hat, werden möglicherweise wichtige Änderungen bei ihm nicht
korrekt dargestellt. Auch wenn Sie das Plugin
\emph{Eigenschaften/Templates von Kategorien} verwenden, sollten Sie eine
freie Template-Auswahl nur in Sonderfällen zulassen.
\label{statistics}%
\index{Plugins!Statistiken}%
\index{Plugins!serendipity\_event\_statistics}%
\index{Plugins!serendipity\_plugin\_statistics}%
\index{Statistik}%
\subsection{Statistiken\newline
serendipity\_plugin\_statistics,\newline serendipity\_event\_statistics}
Einen sehr wichtigen Haushaltsgegenstand eines jeden Profi-Bloggers stellt
der Bauchpinsel dar. Mit diesem Instrument lässt sich das Ego eines
Bloggers vorzüglich bürsten, was letztlich die beruhigende
Selbstbestätigung für den Betrieb eines Blogs gibt.
Trotz dieser etwas ironischen einleitenden Worte ist es für viele Blogger
tatsächlich sehr wichtig, Statistikwerte über ihr Blog zu sammeln. Ob dies
später als persönlicher Ansporn dient oder als Marketinginstrument der
Geschäftsführung, ist dem Einzelnen überlassen.
Serendipity liefert ein Statistik-Plugin mit. Das Seitenleisten-Plugin
kann für Besucher wertvolle Informationen darstellen, wie beispielsweise
die aktuelle Anzahl an Artikeln, das Datum des aktuellsten Artikels, die
Anzahl der Kommentare und die Anzahl der Besucher im Monat und aktuell
auf der Seite.
Das Ereignis-Plugin bindet eine ausführliche Statistik für Redakteure im
Backend unter \menu{Einträge\sm Statistiken} ein.
\index{awStats}%
\index{modlogan}%
\index{webalizer}%
\index{Google Analytics}%
Abgesehen von diesem internen Plugin macht es durchaus Sinn, weitere
Möglichkeiten der Statistikerhebung auf dem Webserver zu benutzen, allen
voran die Analyse von Webserver-Logfiles mittels Programmen wie
awStats\footnote{\cmd{http://awstats.sourceforge.net/}},
webalizer\footnote{\cmd{http://www.mrunix.net/webalizer/}} oder
Modlogan\footnote{\cmd{http://modlogan.org/}}. Auch das Google
Analytics\footnote{\cmd{http://www.google.com/analytics/}} Widget hat
sich als extrem detailreich erwiesen (und es lässt sich einfach via
JavaScript oder eigenständigem Serendipity-Plugin einbinden).
In der Konfiguration des Seitenleisten-Plugins können Sie gezielt
einstellen, welche statistischen Daten Sie Ihren Besuchern darstellen
wollen. Die Bezeichnung dafür können Sie frei vergeben. Als
Platzhalter für die später dargestellte Zahl verwenden Sie \cmd{\%s}.
Damit das Plugin nicht jedes Mal erneut die Statistiken abfragen muss,
werden die Ergebnisse temporär zwischengespeichert (\cmd{Caching}). Über
die Option \menu{Cache-Zeitlimit} können Sie einstellen, wie viel Zeit
vergehen darf, bevor der Cache neu erstellt wird.
Die Anzahl der monatlichen und der aktuellen Besucher stellt das Plugin nur
dar, wenn Sie im Ereignis-Plugin die Option \menu{Erweiterte
Besucherstatistiken} aktiviert haben. Als \emph{aktueller Besucher} zählt
in diesem Fall jeder Besucher, der in den letzten 15 Minuten auf das Blog
zugegriffen hat.
Die Konfiguration des Ereignis-Plugins bietet folgende Optionen:
\begin{ospdescription}
\ospitem{\menu{Anzahl Einträge}}
Standardmäßig zeigt das Plugin im Menüpunkt \menu{Einträge\sm
Statistiken} immer 20 Datensätze pro statistischem Wert an. Wenn Sie mehr
oder weniger Einträge sehen wollen, können Sie dies mit der Option
\menu{Anzahl Einträge} festlegen.
\ospitem{\menu{Erweiterte Besucherstatistiken}}
Wenn Sie diese Option aktivieren, kann das Plugin jeden Zugriff eines
Besuchers auf das Blog nachverfolgen (\emph{visitor tracking}). Ein
Besucher wird mittels eines Cookies eindeutig identifiziert, alle
Folgezugriffe aktualisieren dann einen bestehenden Datensatz.
Im Gegensatz zu den Statistikfunktionen des \menu{Karma}-Plugins werden
so globale Besucher erfasst, und \emph{nicht} die Klicks bei
individuellen Artikeln. Daher schließen sich beide Plugins gegenseitig
nicht aus, sondern können ergänzend eingesetzt werden.
Ob Sie diese Option auf \menu{Ja, am unteren Ende der Seite} oder
\menu{Ja, oben auf der Seite} stellen, ist nur für die Darstellung der
Statistik erheblich und gibt an, wo die Besucherstatistiken eingebunden
werden sollen.
\index{Datenbank-Tabellen!serendipity\_visitors}%
\index{Datenbank-Tabellen!serendipity\_visitors\_count}%
Wenn die Benutzerzählung aktiviert ist, sollten Sie von Zeit zu Zeit
manuell die Datenbanktabellen \cmd{serendipity\_visitors} und
\cmd{seren\-dipity\_visitors\_count} prüfen, da diese sehr groß werden
können. Schlagen Sie auf Seite \pageref{wartung-visitors} nach, um zu erfahren,
wie Sie derartige Prüfungen gezielt durchführen.
\ospitem{\menu{Alles zeigen}}
Über die Option \menu{Alles zeigen} können Sie festlegen, ob das
Statistik-Plugin sämtliche Daten anzeigt (Einstellung \menu{Ja, alle
Statistiken anzeigen}) oder ob nur die erweiterten Besucherstatistiken
(falls aktiviert) eingebunden werden sollen.
\ospitem{\menu{Robot-Zählung verhindern}}
Nur wenn Sie diese Option aktivieren, kann Serendipity bekannte
Suchmaschinen von der Besucherzählung ausnehmen. Meist macht es für
Sie keinen Sinn, Suchmaschinen in dieser Zählung aufzuführen, daher ist
es selten zu empfehlen, die Option auf \menu{Nein, Robots bitte
mitzählen} zu setzen.
\end{ospdescription}
Die Darstellung des Statistik-Plugins umfasst folgende Daten:
\begin{osplist}
\item Anzahl der Besucher (monatsbezogen, tagesbezogen)
\item Letzte Besucher
\item Top-Referrer\footnote{Referrer sind Webseiten, von denen aus
Besucher zu Ihrem Blog gelangt sind.}
\item Datum des ersten und letzten Blog-Artikels
\item Anzahl insgesamt verfasster Artikel (veröffentlicht, Entwürfe)
\item Anzahl der Artikel vereilt auf einzelne Redakteure
\item Anzahl vorhandener Kategorien
\item Verteilung der Artikel auf die vorhandenen Kategorien
\item Anzahl der Dateien in der Mediendatenbank, Aufteilung nach
Dateityp
\item Anzahl der Kommentare, Verteilung der Kommentare zu den
populärsten Artikeln, Namen der häufigsten Kommentatoren
\item Anzahl der Abonennten von Blog-Artikeln, Verteilung der
Abonnenten auf populäre Artikel. Als \index{Abonnement} Abonnent wird ein
Kommentator bezeichnet, der beim Kommentieren die Option
\menu{Bei Aktualisierung dieser Kommentare benachrichtigen}
aktiviert hat.
\item Anzahl und Verteilung der Trackbacks auf populäre Artikel,
Namen der am häufigsten Trackbacks sendenden Blogs
\item Durchschnittliche Kommentare, Trackbacks pro Artikel
\item Durchschnittliche Artikel pro Tag, Woche und Monat
\item Menge der insgesamt geschriebenen Zeichen, durchschnittliche
Zeichenzahl pro Artikel, Nennung der längsten Blog-Artikel
\item Top-Referrer und Top Exits (siehe zugehörige Plugins auf den
Seiten \pageref{trackexits} und \pageref{trackreferrer})
\end{osplist}
Weiterhin können etwaige weitere Plugins auf dieser Seite ihre eigenen
Statistiken einbinden, wie beispielsweise das Karma-Plugin.
\subsubsection{Datenbanktabellen}
\index{Datenbank-Tabellen!serendipity\_visitors}%
Die Tabelle \cmd{serendipity\_visitors} enthält für jeden
Besucher der Seite einen Eintrag:
\begin{ospdescription}
\ospitem{\cmd{counter\_id}} enthält eine fortlaufende ID.
\ospitem{\cmd{sessID}} enthält die Session-ID des Besuchers, damit nur der erste
seiner Aufrufe gezählt werden muss.
\ospitem{\cmd{day}} enthält das Datum des Besuchs im Textformat.
\ospitem{\cmd{time}} enthält das Datum des Besuchs im UNIX-Zeitstempel-Format.
\ospitem{\cmd{ref}} enthält den HTTP-Referrer (Verweisende Seite).
\ospitem{\cmd{browser}} enthält den Browser-Typ des Besuchers.
\ospitem{\cmd{ip}} enthält die IP des Besuchers.
\end{ospdescription}
\index{Datenbank-Tabellen!serendipity\_visitors\_count}%
Die Datenbanktabelle \cmd{serendipity\_visitors\_count} enthält eine
Zusammenfassung der Besucher an einem einzelnen Tag:
\begin{ospdescription}
\ospitem{\cmd{year}} enthält das Datum (Jahr) der Zugriffe.
\ospitem{\cmd{month}} enthält das Datum (Monat) der Zugriffe.
\ospitem{\cmd{day}} enthält das Datum (Tag) der Zugriffe.
\ospitem{\cmd{visits}} enthält die Anzahl der Besucher an diesem Tag.
\ospitem{\cmd{hits}} enthält die Gesamtzahl an aufgerufenen Seiten an diesem Tag.
\end{ospdescription}
\index{Datenbank-Tabellen!serendipity\_refs}%
Die Referrer werden in der Tabelle
\cmd{serendipity\_refs} gespeichert. Neben dem fortlaufenden
Primärschlüssel \cmd{id} enthält die Spalte \cmd{refs} die URL der
Webseite und \cmd{count} die Anzahl der Besucher von dieser Seite.
Diese Tabellen können auf großen Blogs sehr umfangreich
werden. Warten Sie diese daher regelmäßig.
\section{Auswahl externer Plugins}
Abgesehen von den mitgelieferten gekoppelten Plugins finden Sie auch eine
große Zahl an Plugins über \cmd{http://spartacus.s9y.org/}. Eine
Auswahl an häufig gekoppelten Ereignis-Plugins finden Sie auf den
folgenden Seiten.
\index{Plugins!Geotag Google Map}%
\index{Plugins!Geotag}
\index{Plugins!serendipity\_plugin\_geotag}%
\index{Plugins!serendipity\_event\_geotag}%
\index{Geotagging}%
\index{Meta-Informationen}%
\subsection{Geotag Google Map, Geotag\newline
serendipity\_plugin\_geotag,
serendipity\_event\_geotag}
Als \emph{Geotagging} bezeichnet man den Vorgang, zu einem Artikel (oder
auch einem Bild) einen geographischen Bezug (\emph{Meta-Informationen})
zuzuordnen.
\index{Semantic Web}%
Diese Meta-Informationen sind oft für Besucher gar nicht offensichtlich, da sie im
XHTML-Code versteckt sind und nur von Schnittstellen oder Browser-Plugins
ausgewertet werden. Meta-Informationen (oder auch \emph{Microformats}) sind die
Grundidee der nächsten Evolutionsstufe des Internets, genannt
\emph{Semantic Web}. Anhand klar strukturierter, maschinenlesbarer
Informationen können Suchmaschinen Details auswerten und miteinander verknüpfen.
Konkret kann dies bedeuten, dass man mit einer Suchmaschine alle
Blog-Artikel suchen kann, die im Starbucks-Cafe am Kölner Hauptbahnhof
verfasst wurden; oder alle Blog-Einträge, die sich auf die Semperoper
beziehen. Der sinnvolle Umgang mit den Metadaten eröffnet zahlreiche
Möglichkeiten und Verkettungen von Daten, die ein eigenes Buch zu diesem Thema
rechtfertigen würden.
Alle diese Such- und Verkettungsmöglichkeiten werden aber erst dann nutzbar,
wenn die Informationen überhaupt von Autoren zur Verfügung gestellt werden. Diese
redaktionelle Leistung kann Ihnen derzeit noch keine Maschine abnehmen.
\index{Google Map}%
Aber die Eingabe kann Ihnen erleichtert werden, und aus diesem Grund
wurde das Serendipity-Plugin \cmd{Geotag} erfunden. Wenn Sie dieses
Plugin installieren, können Sie in den \emph{Erweiterten Optionen} jeden
Blog-Artikels mittels einer
Google-Map\footnote{\cmd{http://maps.google.com/}} einem
Punkt auf der Welt zuordnen. Die geographischen Daten bindet das Plugin daraufhin in
Ihrem RSS-Feed und auf der Webseite ein, von wo sie von Suchmaschinen
indiziert werden können.
Ein zugehöriges Seitenleisten-Plugin kann in einer Google-Map außerdem
die aktuellsten Einträge geographisch zugeordnet darstellen.
Für beide Einsatzzwecke (Seitenleisten- und Ereignis-Plugin) benötigen Sie
einen Google API-Schlüssel. Diesen erhalten Sie bei
\cmd{http://www.google.""com/apis/maps/signup.html}, nachdem Sie den
Lizenzbedingungen zugestimmt und die URL Ihres Blogs mitgeteilt
haben. Ohne den API-Schlüssel kann das Plugin keine geographische Karte
darstellen, und Sie müssten die Längen- und Breitengrade zu einem Eintrag
per Hand festlegen.
Das Ereignis-Plugin bindet lediglich diese eingegebenen Längen- und
Breitengrade in die Metadaten des RSS-Feeds ein (\cmd{<geo:long>,
<geo:lat>}). Um sichtbare Informationen für Ihre Besucher zu verketten,
bietet das Ereignis"=Plugin auch die Möglichkeit an, eine Karte zu dem
jeweiligen verbundenen Ort anzuzeigen. Hier wird standardmäßig
Google Maps eingebunden, aber Sie können auch einen anderen Kartendienst
benutzen. In dem Eingabefeld \menu{Karten URL} der Konfiguration des
Ereignis-Plugins können Sie die Platzhalter \cmd{\%GEO\_LAT\%} und
\cmd{\%GEO\_LONG\%} für die Längen- und Breitengrade innerhalb der URL
einsetzen, und \cmd{\%TITLE\%} wird mit dem Titel des zugehörigen
Blog-Eintrages mit den Geodaten ersetzt.
Anschließend erfolgt die Darstellung dieses Links unterhalb jedes
Blog-Eintrags im Fuß der Seite, innerhalb eines HTML-Containers mit der
CSS-Klasse \cmd{div.serendipity\_geotag}.
In der Konfiguration des Seitenleisten-Plugins können Sie einige
Darstellungsoptionen der Google Map festlegen (Breite, Höhe, Zoomlevel).
Das Google Map JavaScript kann die Darstellung einer Karte mit
geographischen Punkten anreichern. Als Datenbasis dazu dient der RSS-Feed
Ihres (oder auch eines anderen!) Blogs. Diese RSS-URL müssen Sie in der
Konfiguration des Plugins festlegen, standardmäßig zeigt die Einstellung
bereits auf Ihren RSS-Feed. Als weitere Alternative kann das Plugin auch direkt
auf Ihre Datenbank zugreifen und spart so den Umweg über einen RSS-Feed.
\index{Plugins!Sprachauswahl}%
\index{Plugins!serendipity\_event\_multilingual}%
\index{Plugins!Multilinguale Einträge}%
\index{Plugins!serendipity\_plugin\_multilingual}%
\index{Mehrsprachigkeit}%
\subsection{Sprachauswahl, Multilinguale Einträge\newline
serendipity\_plugin\_multilingual,\newline serendipity\_event\_multilingual}
Wenn Sie in einem Blog Einträge in unterschiedlichen Sprachen verfassen
wollen, können Sie dafür beispielsweise eigenständige Blog-Kategorien
einrichten und die Einträge dort entsprechend einordnen. Dabei entstünde
jedoch pro Übersetzung eines Artikels ein neuer, eigenständiger Artikel.
Zwar hat dies auch möglicherweise Vorteile, da die Einträge so
unabhängig voneinander sind (z.\,B. für
Kommentare), aber schöner wäre es doch, wenn ein Artikel in mehreren
Sprachversionen verwaltet werden könnte.
Dies ermöglicht das Ereignis-Plugin \emph{Multilinguale Einträge}.
Für mehrsprachige Einträge empfiehlt es sich, dass Sie Ihr
Blog mit UTF-8-Zeichensatz konfiguriert haben. Mit nationalen
Zeichensätzen könnte es später Darstellungsprobleme bei Sonderzeichen
unterschiedlicher Sprachen geben. Beim UTF-8-Zeichensatz können jedoch
sowohl chinesische Sprachzeichen als auch deutsche Umlaute parallel auf
derselben Seite angezeigt werden.
Sobald Sie das Ereignis-Plugin installiert haben, bindet es sich in die
bekannte Oberfläche zur Erstellung eines Artikels ein. Im Bereich
\emph{Erweiterte Optionen} im Abschnitt \emph{Multilinguale Einträge}
erscheint bei einem neuen Eintrag ein Hinweistext. Dieser erklärt
Ihnen, dass Sie einen Beitrag erst einmal abspeichern müssen, bevor Sie
den Artikel in weitere Sprachen übersetzen können.
Erstellen Sie also beispielhaft einen Artikel mit Titel und Inhaltstext.
Diesen speichern Sie als \emph{Entwurf} ab (damit er nicht direkt im
Frontend erscheint). Sobald Sie diesen Artikel erstmalig gespeichert
haben, finden Sie im Abschnitt \emph{Multilinguale Einträge} ein
Ausklappfeld und den Button \menu{Sprache wechseln}. Im Ausklappfeld ist
anfangs \emph{Standard} ausgewählt.
Intern verhält es sich so, dass Serendipity einen normalen
Datenbankeintrag mit den Stammdaten des Artikels sichert. Zu den
Stammdaten gehören die Felder \cmd{Titel}, \cmd{Eintrag},
\cmd{Erweiterter Eintrag} sowie weitere Daten wie Artikelzeit und Autor.
Diese Stammdaten werden niemals durch das Plugin \emph{Multilinguale
Einträge} verändert. Wenn Sie später einen Artikel bearbeiten, wird Ihnen
standardmäßig immer der Stammartikel angezeigt.
Als \emph{Standardsprache} gilt die Sprache, die der jeweilige Redakteur
in seinen \emph{Eigenen Einstellungen} (also \emph{nicht} die in der
globalen Konfiguration eingestellte Blog-Sprache!) festgelegt hat. Dies
führt oft zur Verwirrung bei Benutzern des Plugins, daher sollten Sie
sich diese Besonderheit gut einprägen. Wenn Sie als Redakteur
\emph{Deutsch} als Sprache gewählt haben, so entspricht dies der
Standardsprache. Sie können daher im Ausklappfeld die Sprache
\emph{Deutsch} nicht auswählen.
Um nun eine Übersetzung des Artikels einzupflegen, müssen Sie erst die
gewünschte Zielsprache im Abschnitt \emph{Multilinguale Einträge} eines
bestehenden Artikels auswählen und auf den Button \emph{Sprache wechseln}
klicken.
Daraufhin speichert das Plugin die aktuelle Version des Artikels und tauscht im
Hintergrund die Eingabemaske des Artikels aus. In der Datenbank wird in einer
eigenständigen Tabelle (\cmd{serendipity\_entryproperties}) nun der Datensatz für
die Übersetzung des Artikels angelegt.
Damit Sie als Redakteur wissen, was für einen Text Sie übersetzen müssen,
wird der Artikeltext des Ursprungsartikels in der Artikeloberfläche
angezeigt. Nun können Sie nach Belieben den Titel, den Eintrag und den
erweiterten Eintrag überarbeiten. Alle anderen Felder und erweiterten
Eigenschaften beziehen sich nach wie vor auf den Stammartikel -- Sie
können also einen übersetzten Artikel nicht einer anderen Kategorie
zuordnen. Hierfür müssten Sie einen eigenständigen Artikel erstellen.
Sobald Sie nach der Übersetzung einen Eintrag speichern, schließt das Plugin
die Ergänzung des Stammdatensatzes ab. Sie können daraufhin weitere
Sprachübersetzungen ausfüllen, indem Sie weitere Sprachversionen im
Ausklappfeld anwählen.
Wenn Sie später einen übersetzten Artikel bearbeiten wollen, sehen Sie
wie erwähnt anfangs nur den Stammartikel. Sie müssen daher zur
Bearbeitung einer Sprachversion stets mittels des Ausklappfeldes die
gewünschte Bearbeitungssprache wählen und auf den Button \menu{Sprache
wechseln} klicken. Eine Übersetzung können Sie löschen, indem Sie den
Titel, den Eintrag und den erweiterten Eintrag leeren und den Artikel
speichern.
Beachten Sie, dass das Plugin nur dann optimal funktionieren kann,
wenn Ihre Redakteure alle dieselbe Standardsprache verwenden. Sollten
andere Redakteure andere Spracheinstellungen verwenden, kann dies die
Verkettung der \emph{Standardsprache} mit einem Artikel durcheinander
bringen.
Nachdem Sie nun erfolgreich einen mehrsprachigen Artikel angelegt haben,
sollten Sie einen Blick auf die Artikeldarstellung im Frontend werfen.
Dort sehen Sie Ihren Artikel in der Standarddarstellung. In der Fußzeile
des Artikels ist eine Sprachwahl neu hinzugekommen. Dort können Sie
gezielt eine der vorhandenen Sprachen anklicken, damit der Artikel in der
gewählten Sprache dargestellt wird. Genauso können Ihre Blog-Besucher
später mehrere Sprachversionen des Artikels lesen. Bei der Umstellung auf
die Zielsprache wechselt das Frontend zudem seine Sprache, damit der
Besucher beispielsweise die Kommentarhinweise in dieser Sprache lesen
kann.
Da der Artikel immer über dieselben Stammdaten angesprochen wird, werden
auch Kommentare nur diesem Beitrag zugewiesen. Wenn also ein
Teil Ihrer Besucher auf Englisch kommentiert und andere auf Deutsch, so
werden alle Kommentare später in allen Sprachversionen stets gleichzeitig
erscheinen. Wenn Sie dies vermeiden wollen, müssen Sie separate
Einträge ohne Verwendung des multilingualen Plugins erstellen.
Ein gekoppeltes Seitenleisten-Plugin ermöglicht es Ihren Besuchern, ihre
bevorzugte Sprache auszuwählen. Die Besucher sehen daraufhin alle
Einträge in dieser gewählten Sprache, und auch die restlichen Ausgaben
Serendipitys erscheinen in dieser Sprache. Sie können in der
Konfiguration des Seitenleisten-Plugins gezielt festlegen, welche Sprachen
Sie zur Auswahl anbieten wollen.
Die Volltextsuche wird vom Plugin ebenfalls aufgerüstet, so dass bei der
Sprachänderung auch jeweils der Artikeltext in der gewählten Sprache
anstelle der Standardsprache berücksichtigt wird.
Zwei URL-Variablen bestimmen, wie die Artikelsprachen dargestellt werden.
Über die Variable \cmd{serendipity[lang\_display]=\cmdvar{en}} können Sie
das Plugin anweisen, in Artikelübersichten ausschließlich Artikel in der
übermittelten Sprache (hier \cmd{en} = Englisch) darzustellen. Existiert
ein Artikel nicht in der gewünschten Übersetzung, wird der Artikel nicht
dargestellt. Die URL-Variablen
\begin{ospcode}
serendipity[lang\_selected]=\cmdvar{en}
serendipity[serendipityLanguage]=\cmdvar{en}
user\_language=\cmdvar{en}
\end{ospcode}
werden synonym verwendet. Es ist daher
egal, welche dieser drei URL-Variablen Sie benutzen\footnote{Aus
Kompatibilitätsgründen zu älteren Versionen des Plugins und der
Serendipity-Kernversion ist dieselbe Variable mit drei verschiedenen
Namen vorhanden.}. Im Unterschied zur Variable
\cmd{serendipity[lang\_""display]} legen diese drei lediglich eine
Präferenz des Besuchers fest -- wenn ein Artikel in der Zielsprache nicht
vorhanden ist, sehen Sie die Standardsprache. Auch legt diese letzte
Variable die Ausgabe von Sprachvariablen des Serendipity-Frontends fest.
Alle URL-Variablen können Sie auch für RSS-Feeds benutzen, um
beispielsweise nur englische Artikel zu erhalten:
\cmd{http://www.example.com/se\-rendipity/rss.php?serendipity[lang\_display]=en}.
Das Ereignis-Plugin verfügt über zwei Konfigurationsoptionen.
\menu{Behalten Sie vorhergehenden Spracheninhalt bei} legt fest, ob beim
Wechsel der Sprache zur Eingabe eines Artikels der Stammartikel als
Vorlage eingetragen werden soll. Bei deaktivierter Option starten Sie
eine Artikelübersetzung mit einem leeren Artikel. Einigen Autoren hilft
das, den Durchblick über noch nicht übersetzte Sprachversionen nicht zu
verlieren.
Mit der Option \menu{Where to place entry links} legen Sie fest, wo im
Frontend die Links für den Besucher angezeigt werden, mit denen er zu
Übersetzungen des Artikels wechseln kann. Die Einstellung \menu{Footer of
an entry} platziert diese Links im Fußbereich des Artikels. Wenn Sie die
Einstellung \menu{multilingual\_footer for custom Smarty output}
aktivieren, können Sie in Ihrem Smarty-Template \cmd{entries.tpl}
selbst bestimmen, wo die Links erscheinen sollen. Verwenden Sie
dafür die Variable
\index{Template-Variablen!\$entry.multilingual\_footer}%
\cmd{\{\$entry.multilingual\_footer\}}.
\label{adduser}%
\index{Plugins!Registrierung neuer User}%
\index{Plugins!serendipity\_event\_adduser}%
\index{Plugins!serendipity\_plugin\_adduser}%
\index{Community}%
\index{Redakteure!neue}%
\subsection{Registrierung neuer User\newline
serendipity\_plugin\_adduser,\newline
serendipity\_event\_adduser}
Technisch gesehen gibt es keinen Grund, dass Sie Ihr Blog in einsamem
Schattendasein mit Inhalten füllen. Gruppen-Blogs mit mehreren
Redakteuren könenn den Reiz für Ihre Leser erhöhen, Ihr Blog regelmäßig
zu verfolgen. Mehr Redakteure schreiben mehr Artikel, können Themen
unterschiedlich beleuchten oder durch einen eigenen Schreibstil
verschiedene Gruppen von Lesern anziehen.
Neue Redakteure können Sie relativ leicht über das Serendipity-Backend im
Menüpunkt \menu{Administration\sm Benutzerverwaltung} hinzufügen. Dennoch
entsteht dadurch ein nicht zu unterschätzender Verwaltungsaufwand: Sie
müssen dem Autor Passwort und Benutzernamen zuweisen, ihn einer
Gruppe zuordnen und ihm den Link zum Backend mitteilen.
Einfacher geht das alles mithilfe des Plugins \menu{Registrierung neuer
User}. Ein Seitenleisten-Plugin bietet ein einfaches
Registrierungsformular für Ihren Besucher an, über das er sich selbständig
als Autor anmelden kann. Das zugehörige Ereignis-Plugin kümmert sich um
die weitere Verarbeitung und sendet eine automatische
Registrierungs-E-Mail an den Benutzer. Nach dessen Bestätigung kann der
Benutzer sich sofort als neuer Redakteur einloggen und mit den ihm
zugeordneten Rechten Artikel erstellen. Und schon ist aus dem einsamen,
egozentrischen Blogger ein gemütliches Herdentier geworden.
Ein Besucher, der sich als Redakteur melden will, kann sich in Ihrem Blog
auf zwei Arten registrieren. Zum einen können Sie das Seitenleisten-Plugin
\emph{Registrierung neuer User} installieren, das in der Seitenleiste ein
kleines Eingabeformular einbindet. Dort trägt der Besucher seinen
gewünschten Benutzernamen, das Passwort und seine E-Mail-Adresse ein.
Als zweite Möglichkeit bietet das Ereignis-Plugin eine selbständige Seite
an, die man unter
\cmd{http://www.example.com/serendipity/index.php?se\-rendipity[subpage]=adduser}
aufrufen kann. Auch hier werden dieselben Eingabefelder angezeigt.
Ob Sie beide oder nur eine Variante der Registrierungsformulare in Ihr
Blog einbinden, bleibt Ihren Layout-Vorstellungen überlassen. Sie könnten
auch eine eigene statische Seite mit freiem Eingabeformular entwerfen.
Dabei muss das HTML-Formularziel lediglich auf die Datei
\cmd{http://www.example"".com/serendipity/index.php} zeigen, und Sie müssen
die GET- oder\osplinebreak{} POST-Variable \cmd{serendipity[adduser\_user]}
(Benutzername), \cmd{serendi\-pity[adduser\_pass]} (Passwort),
\cmd{serendipity[adduser\_email]} (Mail"=Adresse) abfragen. Weiterhin
müssen die \emph{hidden}-Variablen \cmd{serendipity""[subpage]=adduser} und
\cmd{serendipity[adduser\_action]=true} übertragen werden.
Die Konfiguration der Verwaltungsmöglichkeiten verteilt sich auf das
Seitenleisten"= und das Ereignis-Plugin. Ohne das Ereignis-Plugin kann die
Registrierung neuer Redakteure nicht durchgeführt werden. Auch das
Seitenleisten"=Plugin muss vorhanden sein, da Sie dort zentrale
Konfigurationsoptionen festlegen. Jedoch können Sie dieses Seitenleisten-Plugin
später im Layout auch durchaus verstecken (siehe Konfigurationsoption
\menu{Seitenleisten"=Plugin anzeigen} des Seitenleisten-Plugins auf Seite
\pageref{sidebarhider} oder über die zentrale Plugin-Verwaltung, siehe Seite
\pageref{Plugins verwalten}).
Die Hauptkonfiguration des Seitenleisten-Plugins bietet die Optionen:
\begin{ospdescription}
\ospitem{\menu{Eigene Hinweise}}
Im Eingabefeld \menu{Eigene Hinweise} können Sie einen beliebigen Text
eintragen, der Ihren Besuchern vor dem Registrierungsformular angezeigt
wird. Hier können Sie Bedingungen für die Redakteursaufnahme
eintragen oder auch redaktionelle Richtlinien festlegen.
\ospitem{\menu{Standard Benutzerlevel, Gruppenzugehörigkeit}}
Wenn ein Besucher sich als Redakteur anmeldet, wird für diesen ein
eigener Blog-Account erstellt. Seine Zugriffsrechte richten sich nach dem
Login danach, welchen Benutzerlevel und welche Benutzergruppe Sie derartigen
neuen Redakteuren über die Konfigurationsoptionen \menu{Standard
Benutzerlevel} und \menu{Gruppenzugehörigkeit} zuweisen.
Sie sollten möglichst eine eigene Benutzergruppe für solche
\emph{freiwilligen Redakteure} erstellen, damit Sie dieser Gruppe nur die
Rechte geben, die sie benötigt (siehe Seite \pageref{Gruppenverwaltung}).
Bitte achten Sie darauf, dass Sie von neuen freiwilligen Redakteuren
immer \emph{das Beste hoffen und das Schlimmste erwarten} müssen. Nicht
jeder Freiwillige ist wohlgesinnt: Wenn Sie jedem neuen Redakteur erlauben,
neue Artikel zu veröffentlichen, könnten Sie ganz schnell Vandalen
anlocken, die Ihr Blog verunstalten.
\ospitem{\menu{Benutzer deaktivieren/Rechte entziehen}}
Jeder Benutzeraccount in Serendipity kann über die Option \menu{Benutzer
deaktivieren/Rechte entziehen} vorübergehend deaktiviert werden. Wenn
bei einem Account dieser Parameter aktiviert ist, kann ein Benutzer sich
nur noch in das Backend einloggen und sonst nichts Weiteres mehr tun
(siehe Seite \pageref{no-create}).
Über die Plugin-Option \menu{Benutzer deaktivieren/Rechte entziehen}
können Sie einstellen, ob automatisch hinzugefügte Redakteure
standardmäßig \emph{inaktiv} sind.
Diese Option hat zwei Vorteile: Zum einen können Sie so eine manuelle
Benutzerkontrolle erreichen. Ein Administrator müsste einen
Benutzeraccount dann erst gezielt aktivieren, um ihm redaktionelle Rechte
(gemäßig seiner Benutzergruppe) zu geben.
Der andere Vorteil ist, dass Sie durch diese Option Benutzeraccounts
anlegen können, die nichts anderes dürfen, als sich einzuloggen. Eine
solche Benutzergruppe (\emph{registrierter Gast}) kann bei Blogs
hilfreich sein, die nur registrierten Autoren Kommentare erlauben oder
spezielle Artikel nur registrierten Autoren anzeigen. So können sich
Besucher einfach in Ihrem Blog anmelden, und Sie können Spam-Roboter und
Suchroboter relativ leicht aus Ihrem Blog verbannen. Einige weitere
Optionen des \emph{Registrierung neuer User}-Plugins zielen auf exakt
einen solchen Einsatzzweck ab.
\ospitem{\menu{Seitenleisten-Plugin anzeigen}}
Das Seitenleisten-Plugin ist zwar grundsätzlich durch das
Registrierungsformular unter
\cmd{http://www.example.com/serendipity/in\-dex.php?serendipity[subpage]=adduser}
nicht erforderlich, aber ohne das Seitenleisten-Plugin könnten die wichtigen
Konfigurationsoptionen des Registrierungsvorganges nicht festgelegt werden.
Löschen Sie also das Seitenleisten-Plugin nicht, wenn Sie dessen
Darstellung nicht sehen wollen, sondern setzen Sie die Option
\menu{Seitenleisten"=Plugin anzeigen} auf \menu{Nein}.
\ospitem{\menu{Straight insert}}
Standardmäßig erhält ein Redakteur eine E-Mail mit einem Link, mit dem er
den Registrierungsvorgang bestätigen muss. Ohne diese Bestätigung, die
nur der jeweilige Benutzer anhand eines zufällig erzeugten Schlüssels
aufrufen kann, ist sein Account nicht zu benutzen.
Da dieser Vorgang jedoch etwas Zeit und einen Medienbruch erfordert,
können Sie auch die Option \menu{Straight insert} aktivieren. Dann wird
ein Redakteursaccount sofort aktiv.
Beachten Sie, dass bei aktivierter Option die freie Registrierung
wesentlich leichter durch böswillige Benutzer oder Spam-Roboter
missbraucht werden kann. Nur in dem Fall, dass Ihr Webserver keine
Aktivierungs-E-Mails verschicken kann oder Ihr Blog nur im Intranet läuft, wäre
diese Option tatsächlich sinnvoll.
\end{ospdescription}
Das gekoppelte Ereignis-Plugin bietet weitere Konfigurationsoptionen:
\begin{ospdescription}
\ospitem{\menu{Eigene Hinweise}}
Ähnlich wie die Anweisungen für Redakteure im Seitenleisten-Plugin können
Sie separate (ausführlichere) Informationen angeben, die das Plugin
anzeigt, wenn Sie die URL
\cmd{http://www.example.com/seren\-dipity/index.php?serendipity[subpage]=adduser}
aufrufen.
\index{Kommentare!nur für registrierte Nutzer}%
\ospitem{\menu{Nur registrierte Nutzer dürfen Kommentare schicken}}
Wenn Sie diese Option aktivieren, ist es nur noch eingeloggten Besuchern
erlaubt, einen Kommentar zu hinterlassen.
Mittels dieser Plugin-Option können Sie das Spam-Aufkommen für Kommentare
deutlich reduzieren. Sie erhöhen jedoch auch deutlich die Barriere, die ein
neuer Besucher überwinden muss, um erstmals einen Kommentar zu hinterlassen.
Zusätzlich muss der Kommentator sich einen neuen Benutzernamen und ein
eigenes Passwort für Ihr Blog merken. Man kann also mit an Sicherheit
grenzender Wahrscheinlichkeit behaupten, dass die Aktivierung dieser
Option nicht nur Spam-Kommentare reduziert, sondern auch weniger gültige
Kommentare zur Folge hat. Blogs mit einem hohen
\emph{Troll-Faktor}\footnote{\cmd{http://de.wikipedia.org/wiki/Troll\_\%28Netzkultur\%29}}
wissen es jedoch sicher zu schätzen, nur noch wirklich ernsthafte
Kommentare zu erhalten.
\index{OpenID}%
Etwas einfacher wird die Registrierung durch den neuen Webservice
\cmd{OpenID} (\cmd{http://openid.net/}). OpenID ist eine technische
Schnittstelle, die zentrale Benutzeraccounts verwaltet, auf die
andere Webseiten zugreifen können. Ein Benutzer muss nur einmal einen
Account für die Schnittstelle erzeugen und kann sich dann auf allen
Webseiten authentifizieren, die OpenID unterstützen.
Serendipity kann diese \cmd{OpenID}-Schnittstelle unterstützen, wenn Sie
das Plugin \emph{OpenID Authentication} installieren. Dieses Plugin ist
derzeit noch im Beta-Stadium und kann sich noch stark verändern;
es wird daher in diesem Buch nicht weiter vertieft. Zudem ist
OpenID als Web-Schnittstelle leider noch nicht sehr weit verbreitet.
Sollten Sie sich für dieses Thema interessieren, sei Ihnen das Plugin
jedoch wärmstens ans Herz gelegt.
\index{Identitätsdiebstahl}%
\ospitem{\menu{Autoren-Identitäten schützen}}
Wenn ein Benutzer oder ein Redakteur einen Kommentar zu einem Artikel
schreibt, kann er seinen Namen frei ausfüllen. Daher kann grundsätzlich
jeder Besucher sich mit einem beliebigen Namen eintragen und unter
anderem auch den Namen des Redakteurs \emph{klauen}.
Die einzige Methode, um Benutzernamen einmalig und eindeutig zu verwenden, ist,
Kommentare nur von registrierten Autoren zuzulassen und den Namen
automatisch anhand des Benutzeraccounts auszufüllen.
Da eine solche Methode aber, wie eingangs erwähnt, auch die
Hürde zum Schreiben von Kommentaren höher legen würde, geht das
Ereignis-Plugin mit der Option \menu{Autoren-Identitäten schützen} einen
Mittelweg.
Wenn Sie diese Option aktivieren, können Namen von bereits vorhandenen
Redakteuren nur durch diese Redakteure verwendet werden. Ein anonymer
Besucher kann daher nach wie vor kommentieren und sich einen Namen
ausdenken -- aber er darf keine bestehenden Namen mehr verwenden.
Wenn ein Kommentator einen geschützten Namen verwenden will, teilt das
Plugin im Kommentarformular mit, dass er sich vorher mit diesem Namen
einloggen muss. Dazu wird ihm ein Link angeboten, mit dem er ein Popup
zum Login öffnen kann. Das Popup ist insofern hilfreich, als er dann
seinen möglicherweise bereits geschriebenen Kommentar im
Browser-Hintergrundfenster offen lassen und nach dem Login
erneut abschicken kann.
Das Layout des Login-Fensters können Sie über die Smarty-Template-Datei
\index{Template-Dateien!loginbox.tpl}%
\cmd{plugins/serendipity\_plugin\_adduser/loginbox.tpl}
anpassen. Die verfügbaren Template-Variablen in dieser Datei sind:
\begin{ospdescription}
\index{Template-Variablen!\$loginform\_add}%
\ospitem{\cmd{\{\$loginform\_add\}}} enthält etwaige Zusatzvariablen für
das Login-Formular, z.\,B. die Ausgaben des Plugins
\emph{Passwort vergessen}.
\index{Template-Variablen!\$loginform\_url}%
\ospitem{\cmd{\{\$loginform\_url\}}} enthält die URL zum Login.
\index{Template-Variablen!\$loginform\_user}%
\ospitem{\cmd{\{\$loginform\_user\}}} enthält den vom Besucher
eingetragenen Benutzernamen (falls eingeloggt).
\index{Template-Variablen!\$loginform\_mail}%
\ospitem{\cmd{\{\$loginform\_mail\}}} enthält die vom Besucher
eingetragene E-Mail-Adresse (falls eingeloggt).
\index{Template-Variablen!\$close\_window}%
\ospitem{\cmd{\{\$close\_window\}}} ist auf \cmd{true} gesetzt, wenn der
Login erfolgreich war und das Popup-Fenster geschlossen werden
soll.
\index{Template-Variablen!\$is\_logged\_in}%
\ospitem{\cmd{\{\$is\_logged\_in\}}} ist auf \cmd{true} gesetzt, wenn der
Benutzer eingeloggt ist.
\index{Template-Variablen!\$is\_error}%
\ospitem{\cmd{\{\$is\_error\}}} enthält etwaige Fehlermeldungen beim
Login.
\end{ospdescription}
\end{ospdescription}
Das Plugin erstellt eine Datenbanktabelle namens
\index{Datenbank-Tabellen!serendipity\_pending\_authors}%
\cmd{serendipity\_pending\_""authors}, in der die neu angemeldeten, aber
noch nicht freigeschalteten Benutzer zwischengespeichert werden. Die
Datenbanktabelle verfügt weitestgehend über dieselben Tabellenfelder wie die
zentrale Tabelle \cmd{serendi\-pity\_authors}. Anstelle einer zentralen, primären
ID bietet diese Tabelle jedoch das Datenbankfeld \cmd{hash}, mit dem der
zukünftige Redakteur eindeutig identifiziert wird. Dieser Hash dient auch der
Freischaltung via E-Mail.
\label{freetag}%
\index{Plugins!getaggte Artikel}%
\index{Plugins!serendipity\_event\_freetag}%
\index{Plugins!freie Artikel-Tags}%
\index{Plugins!serendipity\_plugin\_freetag}%
\index{Tags}
\index{Plugins!Tagging}%
\index{Schlagworte}%
\index{Verschlagwortung}%
\subsection{Getaggte Artikel, Freie Artikel-Tags\newline
serendipity\_plugin\_freetag, serendipity\_event\_freetag}
Das \emph{Tagging} (\emph{Tag}, englischer Begriff für \emph{Markierung,
Auszeichnung}) ist eine sehr verbreitete und komfortable Möglichkeit,
Blog-Artikel zu verschlagworten.
Ein Blog besitzt in seinem Kerngedanken keine Struktur, wie es
Content-Management-Systeme vorgeben. In einem Blog sind grundsätzlich
erst einmal alle Artikel gleichrangig und werden alle auf einer einzigen
Übersichtsseite angezeigt. Das macht es sehr einfach, bei einer sich
regelmäßig ändernden Webseite (Tagebücher, News, neue Fachthemen) als
Leser auf dem Laufenden zu bleiben. Man muss nur eine Seite (die
Übersichtsseite) aufrufen und sieht chronologisch sortiert alle neuen
Artikel. Da jeder Artikel eine Detailseite besitzt (der
\emph{Permalink}), kann man sich solche Artikel auch gut als
Browser-Lesezeichen speichern.
Diese Struktur ist solange hervorragend geeignet, bis man als Leser
einmal einen speziellen älteren Artikel sucht. Meist hat man nur eine
vage Erinnerung, zu welchem Zeitpunkt der Artikel geschrieben wurde -- die
chronologische Suche über den Kalender bzw. die Archive fällt also aus.
Auch eine Suche nach Stichworten kann kompliziert werden, wenn man sich
nicht gerade ein besonderes Wort im Artikel gemerkt hat.
Hier kommen die hierarchischen Sortierungsmöglichkeiten von Serendipity
ins Spiel: Mit etwas Glück hat der Redakteur seinen Artikel einer
Kategorie zugeordnet, und der Leser kann seinen gewünschten Artikel über
eine thematische Zuordnung wiederfinden.
Leider haben solche Hierarchien für Redakteure einen Nachteil: Sie sind
starr und unflexibel. Man muss sich Gedanken darum machen, über welche
Themen man schreiben möchte, und entsprechende Kategorien, möglicherweise
mit Unterkategorien, anlegen. Nachdem man sich als Redakteur Nächte um die
Ohren geschlagen hat, wie man seine Artikel kategorisiert, findet man
nach einigen Monaten des Schreibens heraus, dass eine Kategorie mit einer
Fülle an Artikeln überschwemmt wird und andere, liebevoll angelegte
Kategorien nur mit einem oder gar keinem Artikel aufwarten können. Nun
begint für den Redakteur also das Ausmisten: Kategorien vereinen oder
aufteilen und danach alle Artikel neu kategorisieren.
Verständlicherweise kann dies Redakteure zum Verzweifeln bringen. Nicht
jedes Blog ist nunmal klar zu klassifizieren.
Dieses Problems hat sich das Konzept des \emph{Tagging} angenommen. Ein
Artikel wird nicht starr kategorisiert, sondern ihm werden einfach
beliebige Schlagworte zugeordnet. Wenn ein Redakteur also einen Artikel
über die \emph{Geschichte der Weblogs unter besonderer Berücksichtigung
der Katzenbilder} geschrieben hat, muss er sich nicht lange den Kopf über
eine sinnvolle Kategorisierung zerbrechen, sondern weist einfach die
Schlagwörter \emph{Geschichte, Weblogs, Katzenbilder} zu.
Diese Schlagwörter sieht der Besucher unterhalb des Artikels. Ein Klick
auf ein Schlagwort zeigt ihm dann alle weiteren Artikel, die das
Schlagwort ebenfalls enthalten. Nachträglich kann der Redakteur jederzeit
ein neues Schlagwort zu bestehenden Artikeln hinzufügen oder bestehende
Schlagwörter löschen. Zusätzlich ist natürlich auch eine beliebig feine
Zuordnung in feste Kategorien möglich.
Zusammenfassend lässt sich sagen, dass \emph{Tags} unheimlich
komfortabel und selbsterklärend sind und eine leichte Verkettung (die
Grundidee des Internets!) ermöglichen. Dennoch sollte man erwähnen, dass
auch die sinnvolle Verwendung von Tags den Redakteuren obliegt. Da der
Redakteur sich Stichwörter jedesmal neu ausdenken muss, kann es
passieren, dass er für dieselbe Sache einmal \emph{TV} und
einmal \emph{Fernsehen} benutzt. Gerade in Blogs mit mehreren Redakteuren
ist eine gemeinsame Harmonisierung der Schlüsselwörter daher unabdingbar.
\index{Tagwolken@Tag-Wolken}%
\index{Tag Clouds|see{Tag-Wolken}}%
Sogenannte \emph{Tag-Wolken} (\emph{Tag Clouds}) können zudem Ihre
Blog-Artikel grafisch repräsentieren: In einer Auflistung sehen Sie alle
Schlagwörter, die Sie benutzt haben. Diese sind abhängig von ihrer
Einsatzhäufigkeit unterschiedlich stark hervorgehoben -- das
meistverwendete Tag ist groß geschrieben, selten verwendete Tags erscheinen
klein am Rande.
\osppagebreak
Berühmt gemacht hat diese Tag-Wolke der Bilderdienst Flickr, der mit
diesem Tagging-Konzept ein wahres Novum in die komplexe Bildersuche im
Internet gebracht hat. Zu kaum einen Stichwort findet man heutzutage auf
\cmd{http://flickr.com} nicht bereits mehrere Bilder, die zudem mit
\emph{verwandten Tags} kreuz-referenziert sind.
Das Ereignis-Plugin \emph{Freie Artikel-Tags} kümmert sich um die
Verwaltung und Eingabe von Tags. Es bindet eine Tagging-Maske in die
Artikeloberfläche ein, und eine Verwaltungsoberfläche im Menüpunkt
\menu{Einträge\sm Tags verwalten}.
Bei der Erstellung eines Artikels sehen Sie im Bereich \menu{Erweiterte
Optionen} ein einfaches Eingabefeld namens \menu{Freie Artikel-Tags}. In
dieses Eingabefeld können Sie kommasepariert beliebige Tags eingeben.
Oberhalb des Eingabefelds sehen Sie eine Liste von Tags, die bereits früher
eingegeben wurden. Diese können Sie automatisch in das Eingabefeld
übernehmen, indem Sie auf den jeweiligen Tag klicken. Die Tags, die Sie
einem Artikel zugewiesen haben, zeigt das Plugin darauf im Frontend im
Fußbereich des Artikels an. Durch einen Klick auf das entsprechende Tag
sehen Sie eine Übersichtsseite mit weiteren Artikeln, denen das Tag
zugeordnet wurde.
Die Verwaltungsoberfläche, die Sie über den Menüpunkt \menu{Einträge\sm Tags
verwalten} erreichen, bietet folgende Möglichkeiten:
\begin{ospdescription}
\ospitem{\menu{Alle Tags verwalten}}
Ein Klick auf den Menüpunkt \menu{Alle Tags verwalten} ruft eine
Übersicht auf, in der Sie alle vorhandenen Tags einsehen
können. Diese werden tabellarisch mit alphabetischer Sortierung
dargestellt. Der Zahlenwert in der Spalte \menu{Häufigkeit} gibt an, wie oft
Sie das entsprechende Tag bereits zugeordnet haben.
Jedes Tag können Sie \menu{Löschen}. Dies löscht nur die Zuordnung des
Tags, ein Artikel wird also nicht gelöscht. Ein bestehendes Tag können
Sie zudem \menu{Umbenennen}. Dies benennt das Tag auch in den Artikeln um,
denen Sie es bereits zugeordnet haben.
Wenn Sie ein pauschales Tag wie \emph{Medien} vergeben haben, können Sie
es über den Button \menu{Aufteilen} auch in mehrere Tags zerkleinern.
Dabei tragen Sie eine kommaseparierte Liste in das erscheinende
Eingabefeld ein, beispielsweise \emph{Kino,Fernsehen,Radio}. Nach der
Aufteilung werden nun jedem Artikel, dem bisher das Tag \emph{Medien}
zugewiesen war, die neuen Tags \emph{Kino, Fernsehen} und \emph{Radio}
zugeordnet. In der Zukunft können Sie dann die feineren Tags gezielt
verteilen und bei bestehenden Einträgen auch ggf. einzelne der feineren
Tags entfernen.
\index{Verwaiste Tags}%
\ospitem{\menu{Verwaiste Tags verwalten, Einträge mit verwaisten Tags anzeigen}}
Verwaiste Tags sind Schlüsselwörter, die Sie bisher nur einmal einem
Artikel zugewiesen haben. Solche verwaisten Tags sind meist weder für
Besucher noch für Redakteure besonders hilfreich. Daher sollten Sie darüber
nachdenken, solche Tags möglicherweise zu löschen oder umzubenennen.
Über den Menüpunkt \menu{Einträge mit verwaisten Tags anzeigen} können
Sie eine Liste von Blog-Artikeln einsehen, denen solche verwaisten Tags
zugeordnet sind. Von dort aus können Sie komfortabel diese Einträge
überarbeiten.
\ospitem{\menu{Einträge ohne Tags anzeigen}}
Analog zu Artikeln mit verwaisten Tags können Sie auch eine Liste
einsehen, in der alle Artikel aufgeführt sind, die noch keine Tags
erhalten haben.
\index{Automatische Schlüsselwörter}
\ospitem{\menu{Automatische Schlüsselwörter}}
Die Zuordnung von Schlüsselwörtern in Einträgen kann oft zu einer
Fleißarbeit werden. Daher können Sie mit dem Plugin eine Wortliste
einpflegen, die beim Auftreten von bestimmten Zeichenketten im Text Ihres
Artikels automatisch ein zugeordnetes Tag zuweist.