<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soziotechnische Integration &#187; Plugin</title>
	<atom:link href="https://test.soziotech.org/tag/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.soziotech.org</link>
	<description>Ein Projekt mit der Forschungsgruppe Kooperationssysteme an der Universität der Bundeswehr München</description>
	<lastBuildDate>Mon, 15 Jun 2015 15:24:48 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Quellenangaben und Fußnoten für NextGEN Gallery</title>
		<link>https://test.soziotech.org/quellenangaben-und-fussnoten-fur-nextgen-gallery/</link>
		<comments>https://test.soziotech.org/quellenangaben-und-fussnoten-fur-nextgen-gallery/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 18:02:31 +0000</pubDate>
		<dc:creator><![CDATA[Florian Ott]]></dc:creator>
				<category><![CDATA[Dienstintegration]]></category>
		<category><![CDATA[Internet & Web 2.0]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress / Buddypress]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Fußnoten]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[NextGEN]]></category>
		<category><![CDATA[NextGEN Gallery]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Quellen]]></category>
		<category><![CDATA[Referenzierung]]></category>
		<category><![CDATA[Simple Footnotes]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Zitation]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=407</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/192_crop_940x198_istock_000000079169medium.jpg" width="618" height="130" alt="Quellenangaben und Fußnoten für NextGEN Gallery" /></p>NextGen Gallery ist meiner Meinung nach eine der sinnvollsten und am besten durchdachten Erweiterungen für WordPress. Das Plugin ermöglicht eine galerie- und albumbasierte Verwaltung von Bilder aller Art und darüber hinaus die Zuordnung von Schlagwörtern / Tags zur zusätzlichen (flachen) &#8230; <a href="https://test.soziotech.org/quellenangaben-und-fussnoten-fur-nextgen-gallery/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fquellenangaben-und-fussnoten-fur-nextgen-gallery%2F&amp;action_name=Quellenangaben+und+Fu%C3%9Fnoten+f%C3%BCr+NextGEN+Gallery&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
<li><a href="https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/" rel="bookmark" title="WordPress XML Sitemap für Multisite-Installationen">WordPress XML Sitemap für Multisite-Installationen </a></li>
<li><a href="https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/" rel="bookmark" title="Datenschutz &amp; Google Analytics für WordPress">Datenschutz &amp; Google Analytics für WordPress </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/192_crop_940x198_istock_000000079169medium.jpg" width="618" height="130" alt="Quellenangaben und Fußnoten für NextGEN Gallery" /></p>
<p><a href="http://alexrabe.de/wordpress-plugins/nextgen-gallery/" title="Zur Website von NextGEN Gallery" target="_blank" class="link-external">NextGen Gallery</a> <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-1" href="#note-407-1" onmouseover="tooltip.show('Downloaddes Plugins im WordPress-Repository unter http://wordpress.org/extend/plugins/nextgen-gallery/');" onmouseout="tooltip.hide();"><sup>1</sup></a> ist meiner Meinung nach eine der sinnvollsten und am besten durchdachten Erweiterungen für WordPress. Das Plugin ermöglicht eine galerie- und albumbasierte Verwaltung von Bilder aller Art und darüber hinaus die Zuordnung von Schlagwörtern / Tags zur zusätzlichen (flachen) Strukturierung. Hierdurch wird es möglich, Bilder in Artikeln mithilfe des nggtags-Shortcodes <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-2" href="#note-407-2" onmouseover="tooltip.show('Dokumentation unter http://nextgen-gallery.com/gallery-tags/.');" onmouseout="tooltip.hide();"><sup>2</sup></a> dynamisch einzubinden, d.h. statt einer festen Referenz auf eine Auswahl von Bildern wird nur noch festgelegt, welche Schlagwortkombinationen für eine bestimmte Artikelstelle relevant sind. Beispielsweise würden mit folgendem Shortcode alle Bilder als Thumbnails angezeigt, die mit &#8222;Auto&#8220; (Groß- und Kleinschreibung egal) verschlagwortet wurden <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-3" href="#note-407-3" onmouseover="tooltip.show('Achtung: Die Leerzeichen innerhalb der eckigen Klammern müssen nach einem Copy &amp; Paste entfernt werden, damit der Shortcode von WordPress ausgeführt wird.');" onmouseout="tooltip.hide();"><sup>3</sup></a></p>
<pre>[ nggtags gallery=Auto ]</pre>
<p>Das Ganze hat meiner Meinung nach drei entscheidende Vorteile:</p>
<ol>
<li>Kommen weitere Bilder mit den entsprechenden Tags in irgendeiner Galerie hinzu, werden sie automatisch im Artikel mit angezeigt.</li>
<li>In der Galerie angegebene Metadaten, wie Titel und Beschreibung werden automatisch übernommen und müssen so im Vergleich zur Nutzung der WordPress Mediathek nicht redundant gepflegt werden &#8211; v.a. dann nicht, wenn sie sich nachträglich ändern.</li>
<li>Der Tagging-Mechanismus funktioniert galerieübergreifend, d.h. neben der in NextGEN vorhandenen intuitiven Strukturierung in verschiedene Galerien (z.B. zu einem bestimmten Ereignis wie &#8222;Doktorandenseminare&#8220; oder einer bestimmten Bilderkategorie wie &#8222;WordPress Screenshots&#8220;), lassen sich sehr einfach übergreifende Selektionen vornehmen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-4" href="#note-407-4" onmouseover="tooltip.show('Beispielsweise würden mithilfe des Shortcodes [ nggtags gallery=Referenzverwaltung ] alle Bilder angezeigt werden, die mit &#8222;Referenzverwaltung&#8220; verschalgwortet wurden, sowohl aus der Galerie &#8222;Doktorandenseminare&#8220; als auch aus der Galerie &#8222;WordPress Screenshots&#8220; (sowie allen ggf. vorhandenen weiteren Galerien).');" onmouseout="tooltip.hide();"><sup>4</sup></a>.</li>
</ol>
<h2>Problem bei externen Bildquellen</h2>
<p>Ein &#8222;Problem&#8220; mit dem Plugin ergibt sich dann, wenn man Bilder z.B. im wissenschaftlichen Kontext von anderen Quellen referenzieren und dennoch auf den Komfort des Plugins nicht verzichten möchte. Aktuell bietet NextGEN Gallery keine Möglichkeit, Bildquellen oder Ähnliches direkt anzugeben. Natürlich könnte man dafür das Beschreibungsfeld nutzen bzw. zweckentfremden und die entsprechende Quelle einfach als Text dort mit aufnehmen. Für den Fall, dass man die Anzeige der Quelle allerdings gezielter steuern möchte, ist diese Möglichkeit nicht geeignet. Auch widerspräche das Vorgehen klar dem Atomaritätsprinzip bzw. der semantischen Bedeutung des Beschreibungsfeldes. Prinzipiell bietet NextGEN auch hierfür einen eingebauten <a href="http://nextgen-gallery.com/custom-fields/" title="Zur Dokumentation der Custom Fields von NextGEN Gallery" target="_blank" class="link-external">Mechanismus zur Angabe weiterer Metadaten</a>, allerdings ist dieser in neueren Versionen des Plugins nur sehr umständlich erreichbar und wird v.a. nicht in den Übersichten angezeigt.</p>
<h2>Lösungsschritte</h2>
<p>Nachdem bis zu einer sinnvoll nutzbaren Lösung zur Quellangabe einige Schritte erforderlich waren, halte ich das hier kurz fest.</p>
<h3>1. Zusätzliches Feld zur Quellenangabe bei jedem Bild</h3>
<p>Zur Bereitstellung des benötigten Metadatenfeldes im Backend von NextGEN hilft das <a href="http://wordpress.org/extend/plugins/nextgen-gallery-custom-fields/" title="Zur Downloadseite des Plugins NextGEN Custom Fields " target="_blank" class="link-external">Plugin NextGEN Custom Fields</a>, mit dem nach erfolgter Installation über den neuen Menüpunkt &#8222;NGG Custom Fields&#8220; sehr einfach ein neues  Image Custom Field mit  Bezeichnung &#8222;Source&#8220; für Quellenangaben angelegt werden kann. Die Eingabe erfolgt anschließend wie gewohnt über den Punkt &#8222;Galerie verwalten&#8220;, wie im folgenden Screenshot auf der rechten Seite zu sehen.</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/wordpress-screenshots/nextgen-source.png" title="
			Zusätzliches Feld für Quellenangaben bei Bildern in NextGEN Gallery			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/245__614xfloat=_nextgen-source.png" alt="NextGEN Gallery Source Feld" title="NextGEN Gallery Source Feld" />
</a>
			<p class="wp-caption-text">NextGEN Gallery Source Feld</p>
</div>

<h3>2. Anpassen des Galerie-Templates</h3>
<p>Damit das neu erstellte Feld auch in Thumbnail-Übersichten oder bei Einzelbildern im Frontend angezeigt wird, muss es entsprechend eingebunden werden. Mein erster Ansatz war, ein eigenes NextGEN Gallery Template für die Ausgabe zu nutzen, allerdings funktioniert der folgende Shortcode leider nicht, da NextGEN seltsamerweise bei tagbasierten Galerien bisher keine Tamplates unterstützt.</p>
<pre>[ nggtags gallery=Auto template=source]
</pre>
<p>Dieser Missstand ließe sich zwar entsprechend <a href="http://wordpress.org/support/topic/plugin-nextgen-gallery-nggtags-caption" title="Zum Forenbeitrag zu nggtags mit captions" target="_blank" class="link-external">http://wordpress.org/support/topic/plugin-nextgen-gallery-nggtags-caption</a> beseitigen, allerdings müssten hierzu die Funktion nggShowGalleryTags in der nggfunctions.php und die Funktion show_tags in der shortcode.php von NextGEN entsprechend angepasst werden, was logischerweise nicht update-sicher und damit wenig sinnvoll ist. Hier heißt es also abwarten, ob diese durchaus sinnvollen Erweiterungen für nggtags irgendwann durch den Autor Alex Rabe ihren Weg in das Plugin finden, wovon ich fest ausgehe.</p>
<p>Somit blieb nichts anderes, als direkt das gallery.php Template entsprechend anzupassen. Nachdem wir hier im Blog allerdings sowieso ein einheitliches Galerieformat verwenden, ist dem auch nichts entgegenzusetzen &#8211; insbesondere da es so (ohne den zusätzlichen template-Parameter im Shortcode) noch einfacher ist, später Galerien in Blogartikeln einzufügen.</p>
<p>Um sicherzustellen, das die Templates nicht bei einem Plugin-Update direkt wieder überschrieben werden, sollten die folgenden Anpassungen ausschließlich (!) in einem zu erstellenden Unterordner &#8222;nggallery&#8220; des verwendeten Themes durchgeführt werden:</p>
<ol>
<li>Kopieren der gallery.php und der singlepic.php aus /wp-content/plugins/nextgen-gallery/view/ nach wp-content/themes/AKTUELLES-THEME/nggallery/.</li>
<li>Einfügen von $image-&gt;ngg_custom_fields[&#8222;Source&#8220;] an der gewünschten Stelle, z.B. hinter echo $image-&gt;caption.</li>
</ol>
<p>Problem hierbei ist, dass die Quellangaben (zumindest in unserem Fall) meist <a href="https://test.soziotech.org/glossar/url/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für URL zu springen." onmouseover="tooltip.show('Unter URLs (Uniform Resource Locator) versteht man eindeutige menschenlesbare Adressen, die Inhalte wie beispielsweise Webseiten im Internet identifizieren und dadurch zugreifbar machen. URLs werden meist als Internetadressen bezeichnet. ');" onmouseout="tooltip.hide();">URLs</a> sind, die i.d.R. eine Länge haben, durch welche die schön gefloateten Thumbnail-Übersichten unruhig würden oder falscch umbrechen, sicher aber schlecht lesbar wären (s. Screenshot):</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/wordpress-screenshots/nextgen-thumbnail-problem-mit-quellen.png" title="
			Zerschossene Thumbnails bei langen Quellenangaben			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/246__614xfloat=_nextgen-thumbnail-problem-mit-quellen.png" alt="Fehlerhafte Darstellung bei Thumbnails mit Quellen" title="Fehlerhafte Darstellung bei Thumbnails mit Quellen" />
</a>
			<p class="wp-caption-text">Fehlerhafte Darstellung bei Thumbnails mit Quellen</p>
</div>

<h3>3. Fußnoten für Quellenangaben</h3>
<p>Da wir hier im Blog ein Plugin zur Erzeugung von Fußnoten für zusätzliche Anmerkungen oder wissenschaftliche Quellenangaben verwenden, war es naheliegend, dieses Plugin auch für die Galeriebilder zu nutzen. In unserem Fall handelt es sich um das Plugin <a href="http://wordpress.org/extend/plugins/simple-footnotes/" title="Zur Downloadseite des Plugins Simple Footnotes" target="_blank" class="link-external">Simple Footnotes</a>, das sich durch eine sehr einfache Handhabung sowie Multisite- und WP 3.1-Kompatibilität auszeichnet. Im Prinzip sollten die folgenden Schritte aber auch auf andere Plugins übertragbar sein.</p>
<p>Statt der Einbindung der Quellangabe direkt in der Caption, muss hierzu das Source-Field von oben lediglich mit der entsprechenden Shortcode-Funktion das Simple Footnotes Plugins &#8222;gewrappt&#8220; werden. Da das Gallery-Template das Plugin allerdings nicht kennt, ist es erforderlich, zunächst eine entsprechende lokale Instanz zu erzeugen:</p>
<pre class="brush:php">n
$footnotes-&gt;shortcode('', "Bildquelle: " . imagesourcelink($image-&gt;ngg_custom_fields["Source"]) . "."));</pre>
<p>Damit die Fußnoten nur dann erzeugt werden, wenn auch tatsächlich  eine Quellenangabe vorhanden ist, sollte zusätzlich noch folgende  Abfrage integriert werden:</p>
<pre class="brush:php">if ($image-&gt;ngg_custom_fields["Source"]){
	echo ($footnotes-&gt;shortcode('', "Bildquelle: " . imagesourcelink($image-&gt;ngg_custom_fields["Source"]) . "."));
}</pre>
<p>Mit diesem Code wurden die Fußnoten auch erzeugt, allerdings leider für jedes Bild wieder bei 1 beginnend, da bei jedem Aufruf innerhalb der Bilderschleife des Gallery-Templates eine neue Instanz des Footnote-Plugins erstellt wurde. Abhilfe schafft hier das Auslagern der Instanzerzeugung außerhalb der Schleife und verwenden von $footnotes als globale Variable. Wichtig: Ähnlich wie bei einem Singleton <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-5" href="#note-407-5" onmouseover="tooltip.show('Informatiker mögen mir die unsaubere Verwendung an dieser Stelle verzeihen.');" onmouseout="tooltip.hide();"><sup>5</sup></a> sollte die globale Plugin-Referenz nur initialisiert werden, sofern sie noch null ist:</p>
<pre class="brush:php">global $footnotes;
if (!$footnotes){
	$footnotes = new nacin_footnotes();
}
</pre>
<p>Resultat sind wie gewünscht in Fußnoten ausgelagerte Quellenangaben der Bildergalerie. Allerdings tritt das Problem doppelter Fußnoten weiterhin auf, sofern auf einer Seite, wie in diesem Beitrag, normale (textbasierte) Fußnoten und Bildergalerien gleichzeitig verwendet werden. Das liegt daran, dass das Plugin Simple Footnotes seinen Content Filter so angelegt hat, dass es sich selbst bzw. besser gesagt eine Instanz von sich selbst dem Filter übergibt:</p>
<pre class="brush:php">add_filter( 'the_content', array( &amp;$this, 'the_content' ), 12 );</pre>
<p>Durch den WordPress-Filter-Registrierumgsmechanismus <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-407-6" href="#note-407-6" onmouseover="tooltip.show('Siehe dazu auch Diskussion auf http://stackoverflow.com/questions/1524925/howto-use-the-has-filter-wordpress-function-with-an-object-based-callback.');" onmouseout="tooltip.hide();"><sup>6</sup></a> wird bei jeder neuen Instanz von nacin_footnotes() auch jeweils ein entsprechender Content-Filter eingehängt, was a) inperformant ist und b) dazu führt, dass der Fußnotenblock in seiner Gesamtheit mehrfach am Ende eines Posts angezeigt werden kann. Leider habe ich für dieses Problem keine Optimallösung parat, so dass nur die Anpassung des der Datei simple-footnotes.php des Plugins bleibt. Hier muss ganz am Ende der Datei folgende Änderung durchgeführt werden:</p>
<pre class="brush:php">//new nacin_footnotes();
global $footnotes;
$footnotes = new nacin_footnotes();</pre>
<p>Hierdurch wird sichergestellt, dass das Plugin nur einmal erzeugt wird, egal ob direkt oder über das Gallery-Template. Zusätzlich ist es ggf. noch erforderlich, die folgende Änderung an der shortcode-Funktion des Plugins vorzunehmen. Hierdurch wird sichergestellt, dass die Fußnoten immer korrekt durchgezählt werden und bei 1 beginnen:</p>
<pre class="brush:php">//FO we have to check if the footnote text is already present, otherwise the gallery plugin mechanism will not work (don't know why)
/*
if ( ! isset( $this-&gt;footnotes[$id] ) )
	$this-&gt;footnotes[$id] = array( 0 =&gt; false );
$this-&gt;footnotes[$id][] = $content;
$note = count( $this-&gt;footnotes[$id] ) - 1;
*/
if (!in_array($content,$this-&gt;footnotes[$id])){
	$this-&gt;footnotes[$id][] = $content;
	$note = count( $this-&gt;footnotes[$id] ) - 1;
}
else{
	$note =  array_search($content,$this-&gt;footnotes[$id]);
}</pre>
<p>Ersetzt man nun noch den von NextGEN für die Bildunterschriften verwendeten span-Tag im Gallery-Template nun noch durch den von WordPress standardmäßig genutzten p-Tag der Klasse wp-caption-text und fügt dem ngg-gallery-thumbnail-Container die Klasse wp-caption hinzu, erhält man das folgende &#8222;fertige&#8220; Gallery-Tempalte:</p>
<pre class="brush:php">&lt;?php
/**
Template Page for the gallery overview

Follow variables are useable :

	$gallery     : Contain all about the gallery
	$images      : Contain all images, path, title
	$pagination  : Contain the pagination content

 You can check the content when you insert the tag &lt;?php var_dump($variable) ?&gt;
 If you would like to show the timestamp of the image ,you can use &lt;?php echo $exif['created_timestamp'] ?&gt;
**/

// FO: muss global erzeugt werden, da sonst die Nummerierung für jede Galerie neu beginnt
global $footnotes;
if (!$footnotes){
	$footnotes = new nacin_footnotes();
}
if (!function_exists('imagesourcelink')) {
	function imagesourcelink($text){
		// text starts with http://
		if (strpos($text, "http://") === 0){
			return '&lt;a href="' . $text . '" title="Go to external Source" &gt;' .$text . '&lt;/a&gt;';
		}
		else{
			return $text;
		}
	}
}

/*	FO: Da $gallery-&gt;<a href="https://test.soziotech.org/glossar/id/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für ID zu springen." onmouseover="tooltip.show('Identifikator oder auch Kennung; ist ein künstlich zugewiesenes Merkmal zur eindeutigen Identifizierung eines Objektes. ');" onmouseout="tooltip.hide();">ID</a> als Group-ID für jQuery Colorbox / Slimbox nur dann funktioniert,
	wenn echte Gallerien verwendet werden, nicht aber bei nggtags (Tag-basierter Auswahl)
	muss hier noch einmal gesondert mitgezählt werden
*/
global $lightboxgroup;
if (!$lightboxgroup){
	$lightboxgroup = 0;
}

?&gt;
&lt;?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?&gt;&lt;?php if (!empty ($gallery)) : ?&gt;

&lt;div id="&lt;?php echo $gallery-&gt;anchor . $lightboxgroup ?&gt;"&gt;

&lt;?php if ($gallery-&gt;show_slideshow) { ?&gt;
	&lt;!-- Slideshow link --&gt;
	&lt;div&gt;
		&lt;a href="&lt;?php echo $gallery-&gt;slideshow_link ?&gt;"&gt;
			&lt;?php echo $gallery-&gt;slideshow_link_text ?&gt;
		&lt;/a&gt;
	&lt;/div&gt;
&lt;?php } ?&gt;

&lt;?php if ($gallery-&gt;show_piclens) { ?&gt;
	&lt;!-- Piclense link --&gt;
	&lt;div&gt;
		&lt;a href="&lt;?php echo $gallery-&gt;piclens_link ?&gt;"&gt;
			&lt;?php _e('[View with PicLens]','nggallery'); ?&gt;
		&lt;/a&gt;
	&lt;/div&gt;
&lt;?php } ?&gt;

	&lt;!-- Thumbnails --&gt;
	&lt;?php foreach ( $images as $image ) : ?&gt;

	&lt;div id="ngg-image-&lt;?php echo $image-&gt;pid ?&gt;" &lt;?php echo $image-&gt;style ?&gt; &gt;
		&lt;div &gt;
			&lt;a rel="lightbox-&lt;?php echo $lightboxgroup ?&gt;" href="&lt;?php echo $image-&gt;imageURL ?&gt;" title="
			&lt;?php
			echo $image-&gt;description;
			if ($image-&gt;ngg_custom_fields["Source"]){
				echo ', Quelle: ' . $image-&gt;ngg_custom_fields["Source"] . ".";
			}
			?&gt;
			" &lt;?php echo $image-&gt;thumbcode ?&gt; &gt;
				&lt;?php if ( !$image-&gt;hidden ) { ?&gt;
				&lt;img alt="&lt;?php echo $image-&gt;description ?&gt;" src="&lt;?php echo $image-&gt;thumbnailURL ?&gt;" &lt;?php echo $image-&gt;size ?&gt; /&gt;
				&lt;?php } ?&gt;
			&lt;/a&gt;
			&lt;p-caption-text&gt;&lt;?php 

			echo $image-&gt;alttext;

			if ($image-&gt;ngg_custom_fields["Source"]){
				echo ($footnotes-&gt;shortcode('', "Bildquelle: " . imagesourcelink($image-&gt;ngg_custom_fields["Source"]) . "."));
			}

			?&gt;&lt;/p&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;?php if ( $image-&gt;hidden ) continue; ?&gt;
	&lt;?php if ( $gallery-&gt;columns &gt; 0 &amp;&amp; ++$i % $gallery-&gt;columns == 0 ) { ?&gt;
	&lt;br style="clear: both" /&gt;
	&lt;?php }
	endforeach;
	$lightboxgroup++;
	?&gt;

	&lt;!-- Pagination --&gt;
 	&lt;?php echo $pagination ?&gt;

&lt;/div&gt;

&lt;?php endif; ?&gt;
</pre>
<p>Zusätzlich zu den hier beschriebenen Punkten ist in diesem Template von Zeile 32-39 auch eine Zählervariable für Bildergruppen in Lightboxen, wie beispielsweise <a href="http://www.digitalia.be/software/slimbox" target="_blank" class="link-external">Slimbox </a>oder <a href="http://colorpowered.com/colorbox/" target="_blank" class="link-external">Colorbox </a>enthalten, die es auch bei tagbasierten Galerien ermöglicht, Bilder einer Galerie nacheinander durchzuklicken. Außerdem enthält das Template die Funktion imagesourcelink (Zeile 20-30), die im Source-Feld eingetragene URLs in den Fußnoten automatisch verlinkt.</p>
<h2>Endergebnis</h2>
<p>Das Ergebnis der Bemühungen sieht anschließend wie folgt aus:</p>
<div class="ngg-singlepic wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/wordpress-screenshots/thumbnails-mit-fussnoten.png" title="
			Fertige Galerie basierend auf dem erstellten Gallery-Template mit Verwendung von Fußnoten für die Bildquelle (Source)			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/247__614xfloat=_thumbnails-mit-fussnoten.png" alt="Thumbnails mit Fußnoten" title="Thumbnails mit Fußnoten" />
</a>
			<p class="wp-caption-text">Thumbnails mit Fußnoten</p>
</div>

<p>Für den Fall, dass noch kein CSS für die Galerie-Darstellung existiert, sind ggf. noch folgende ergänzenden CSS-Angaben erforderlich, um die Darstellung der Thumbnails gleichmäßig über die Seite zu verteilen. Die Größenangaben basieren hierbei auf einer in NextGEN eingestellten Thumbnail-Größe von 126x100px. Die Pixeldifferenz zu 146px Breite rührt von den CSS-Einstellungen des hier verwendeten Twentyten Child-Themes bzw. den dort vorgegebenen Paddings:</p>
<pre class="brush:css">.ngg-gallery-thumbnail{
	width: 146px;
	height: 160px;
	overflow: hidden;
}
</pre>
<p>Die ggf. erforderlichen Änderungen an der singlepic.php zur Darstellung von Einzelbildern erfolgen analog.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fquellenangaben-und-fussnoten-fur-nextgen-gallery%2F&amp;action_name=Quellenangaben+und+Fu%C3%9Fnoten+f%C3%BCr+NextGEN+Gallery&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class="simple-footnotes"><h2 class="notes">Quellen und Fußnoten:</h2><ol><li id="note-407-1">Downloaddes Plugins im WordPress-Repository unter <a href="http://wordpress.org/extend/plugins/nextgen-gallery/" title="Zum Download von NextGEN Gallery" target="_blank" class="link-external">http://wordpress.org/extend/plugins/nextgen-gallery/</a> <a class="simple-footnote-backlink" href="#return-note-407-1">&#8617;</a></li><li id="note-407-2">Dokumentation unter <a href="http://nextgen-gallery.com/gallery-tags/ " title="Dokumentation des nggtags-Shortcodes" target="_blank" class="link-external">http://nextgen-gallery.com/gallery-tags/</a>. <a class="simple-footnote-backlink" href="#return-note-407-2">&#8617;</a></li><li id="note-407-3">Achtung: Die Leerzeichen innerhalb der eckigen Klammern müssen nach einem Copy &amp; Paste entfernt werden, damit der Shortcode von WordPress ausgeführt wird. <a class="simple-footnote-backlink" href="#return-note-407-3">&#8617;</a></li><li id="note-407-4">Beispielsweise würden mithilfe des Shortcodes [ nggtags gallery=Referenzverwaltung ] alle Bilder angezeigt werden, die mit &#8222;Referenzverwaltung&#8220; verschalgwortet wurden, sowohl aus der Galerie &#8222;Doktorandenseminare&#8220; als auch aus der Galerie &#8222;WordPress Screenshots&#8220; (sowie allen ggf. vorhandenen weiteren Galerien). <a class="simple-footnote-backlink" href="#return-note-407-4">&#8617;</a></li><li id="note-407-5">Informatiker mögen mir die unsaubere Verwendung an dieser Stelle verzeihen. <a class="simple-footnote-backlink" href="#return-note-407-5">&#8617;</a></li><li id="note-407-6"> Siehe dazu auch Diskussion auf <a href="http://stackoverflow.com/questions/1524925/howto-use-the-has-filter-wordpress-function-with-an-object-based-callback" target="_blank" class="link-external">http://stackoverflow.com/questions/1524925/howto-use-the-has-filter-wordpress-function-with-an-object-based-callback</a>. <a class="simple-footnote-backlink" href="#return-note-407-6">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
<li><a href="https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/" rel="bookmark" title="WordPress XML Sitemap für Multisite-Installationen">WordPress XML Sitemap für Multisite-Installationen </a></li>
<li><a href="https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/" rel="bookmark" title="Datenschutz &amp; Google Analytics für WordPress">Datenschutz &amp; Google Analytics für WordPress </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/quellenangaben-und-fussnoten-fur-nextgen-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Datenschutz &amp; Google Analytics für WordPress</title>
		<link>https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/</link>
		<comments>https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 13:47:26 +0000</pubDate>
		<dc:creator><![CDATA[Florian Ott]]></dc:creator>
				<category><![CDATA[Enterprise 2.0]]></category>
		<category><![CDATA[Internet & Web 2.0]]></category>
		<category><![CDATA[Wordpress / Buddypress]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Anonymisierung]]></category>
		<category><![CDATA[Datenschutz]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Pseudonym]]></category>
		<category><![CDATA[Rechtsgrundlage]]></category>
		<category><![CDATA[Richtlinie]]></category>
		<category><![CDATA[Telemediengesetz]]></category>
		<category><![CDATA[TMG]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=99</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/225_crop_940x198_google-analytics.jpg" width="618" height="130" alt="Datenschutz &amp; Google Analytics für WordPress" /></p>Auch wenn in letzter Zeit wieder häufiger davon zu lesen ist, Google Analytics bzw. das von Google bereitgestellte Browser-Plugin zum &#8222;opt-out&#8220; aus Google Analytics sei immer noch nicht mit deutschem Datenschutzrecht vereinbar, existieren Möglichkeiten, um das Analytics-Tracking zumindest nach bisher &#8230; <a href="https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fdatenschutzrichtlinien-google-analytics-fur-wordpress%2F&amp;action_name=Datenschutz+%26amp%3B+Google+Analytics+f%C3%BCr+WordPress&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/" rel="bookmark" title="WordPress XML Sitemap für Multisite-Installationen">WordPress XML Sitemap für Multisite-Installationen </a></li>
<li><a href="https://test.soziotech.org/jquery-is-not-defined-fehler-im-wordpress-backend/" rel="bookmark" title="&#8222;jQuery is not defined&#8220;-Fehler im WordPress Backend">&#8222;jQuery is not defined&#8220;-Fehler im WordPress Backend </a></li>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/225_crop_940x198_google-analytics.jpg" width="618" height="130" alt="Datenschutz &amp; Google Analytics für WordPress" /></p>
<p>Auch wenn in letzter Zeit wieder häufiger davon zu lesen ist, Google Analytics bzw. das <a href="http://tools.google.com/dlpage/gaoptout?hl=de" title="Deaktivierungs-Add-on für Browser von Google Analytics (BETA) " target="_blank" class="link-external">von Google bereitgestellte Browser-Plugin zum &#8222;opt-out&#8220; aus Google Analytics</a> sei immer noch nicht mit deutschem Datenschutzrecht vereinbar <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-1" href="#note-99-1" onmouseover="tooltip.show('vgl. hierzu beispielsweise den Bericht von Jan Tißler auf t3n, aus dem u.a. hervorgeht, dass IP-Adressen trotz verwendetem Browser-Plugin z.T. immer noch übermittelt würden.');" onmouseout="tooltip.hide();"><sup>1</sup></a>, existieren Möglichkeiten, um das Analytics-Tracking zumindest nach bisher vorherrschender Rechtspraxis <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-2" href="#note-99-2" onmouseover="tooltip.show('vgl. dazu auch Pressemitteilung des bayerischen Landesbeauftragten für den Datenschutz Dr. Thomas Petri unter http://www.datenschutz-bayern.de/presse/20100906_google_analytics.html.');" onmouseout="tooltip.hide();"><sup>2</sup></a> durch serverseitige Maßnahmen datenschutzkonform zu machen.</p>
<h2>Rechtsgrundlage</h2>
<p>Grundsätzlich ist in Deutschland die Erhebung von Nutzungsdaten digitaler Medien, wie beispielsweise Webseiten, im Telemediengesetz (TMG) geregelt. Hiernach ist die Erhebung von pseudonymisierten Nutzungsdaten nach §15 (3)  zunächst zulässig <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-3" href="#note-99-3" onmouseover="tooltip.show('vgl. auch http://www.gesetze-im-internet.de/tmg/__15.html.');" onmouseout="tooltip.hide();"><sup>3</sup></a>:</p>
<blockquote><p>Der Diensteanbieter darf für Zwecke der Werbung, der Marktforschung oder  zur bedarfsgerechten Gestaltung der Telemedien Nutzungsprofile bei  Verwendung von Pseudonymen erstellen, sofern der Nutzer dem nicht  widerspricht.</p></blockquote>
<p>Nachdem sehr viele Internetseitenbetreiber Google Analytics oder vergleichbare Werkzeuge zur Auswertung des Besucherverkehrs einsetzen, ohne sich explizit an die geforderte Pseudonymisierung zu halten, hat der <a href="https://test.soziotech.org/glossar/dusseldorfer-kreis/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Düsseldorfer Kreis zu springen." onmouseover="tooltip.show('Oberste Aufsichtsbehörde für den Datenschutz im nicht-öffentlichen Bereich.');" onmouseout="tooltip.hide();">Düsseldorfer Kreis</a> im November 2009 (hauptsächlich für öffentliche Einrichtungen) die Verwendung von IP-Adressen als Pseudonym für explizit unzulässig erklärt, da die Anonymisierung hier nicht in ausreichendem Maße gewährleistet sei <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-4" href="#note-99-4" onmouseover="tooltip.show('vgl. öffentlich zugängliche PDF-Version des damaligen Beschlusses unter http://www.lfd.m-v.de/dschutz/beschlue/Analyse.pdf.');" onmouseout="tooltip.hide();"><sup>4</sup></a>.</p>
<h2>Serverseitige IP-Anonymisierung</h2>
<p>Google hatte daraufhin reagiert und im Mai vergangenen Jahres eine Möglichkeit bereitgestellt, um die IP-Adressen der Webseitenbesucher nur noch (teil-)anonymisiert abzuspeichern <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-5" href="#note-99-5" onmouseover="tooltip.show('Details im original Blogbeitrag dazu aus dem Analytics-Blog unter http://analytics.blogspot.com/2010/05/greater-choice-and-transparency-for.html.');" onmouseout="tooltip.hide();"><sup>5</sup></a>. Außerdem zeigt sich Google neueren Berichten zufolge auch sehr bemüht, weitere Unstimmigkeiten bzgl. eventuell vorhandener Datenschutzbeeinträchtigungen beizulegen <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-6" href="#note-99-6" onmouseover="tooltip.show('vgl. Beitrag von Falk Hedemann dazu auf t3n: http://t3n.de/news/google-analytics-deutschland-google-dementiert-293164/.');" onmouseout="tooltip.hide();"><sup>6</sup></a>. Die Voraussetzung für die Zulässigkeit der Google-Analytics-Nutzung ist damit allerdings immer noch, dass das eingesetzte Tracking-Verfahren den Parameter zur Anonymisierung der IP-Adressen (bzw. besser gesagt des letzten Oktetts der IP-Adressen) nutzt, um die u.a. vom Düsseldorfer Kreis geforderte Pseudonym-Eigenschaft zu gewährleisten <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-7" href="#note-99-7" onmouseover="tooltip.show('vgl. dazu auch &#8222;Webanalyse datenschutzkonform betreiben: Google Analytics anonymisieren&#8220; von Markus Vollmert.');" onmouseout="tooltip.hide();"><sup>7</sup></a>.</p>
<h2>Technische Umsetzung</h2>
<p>Webseitenbetreiber, die den Tracking-Code händisch einfügen, konnten entsprechend der Google <a href="https://test.soziotech.org/glossar/api/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für API zu springen." onmouseover="tooltip.show('Application Programming Interface (dt. Programmierschnittstelle)');" onmouseout="tooltip.hide();">API</a> die Anonymisierung relativ einfach einsetzen, in dem sie den entsprechenden Parameter (synchron / asynchron) direkt in den Tracking-Code einbinden.</p>
<h3>Anpassung des synchronen Tracking-Codes</h3>
<pre class="brush:js">&lt;script type="text/javascript"&gt;
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
	var pageTracker = _gat._getTracker("UA-XXXXXX-XX");
	_gat._anonymizeIp();
	pageTracker._initData();
	pageTracker._trackPageview();
&lt;/script&gt;</pre>
<p>Geändert hat sich hier lediglich die Zeile 7. Ähnlich verhält es sich bei Nutzung des performanteren und die Ladezeit der Website weniger beeinträchtigenden asynchronen Trackings.</p>
<h3>Anpassung des asynchronen Tracking-Codes</h3>
<pre class="brush:js">&lt;script type="text/javascript"&gt;
	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', 'UA-XXXXXX-XX']);
	_gaq.push(['_gat._anonymizeIp']);
	_gaq.push(['_trackPageview']);

	(function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	})();
&lt;/script&gt;</pre>
<p>Hier hat sich entsprechend Zeile 4 geändert. Insbesondere in der Übergangszeit nach Einführung des Zusatzparameters fand man häufig auch folgende falsche Verwendungsform, die nicht zum gewünschten Ergebnis führt <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-8" href="#note-99-8" onmouseover="tooltip.show('vgl. auch Diskussion auf http://kress.it/2010/07/google-analytics-anonymizeip-ip-adressen-kurzen-richtiger-code/ oder http://1336.de/google-analytics-datenschutz/.');" onmouseout="tooltip.hide();"><sup>8</sup></a>. Hier ist also Vorsicht geboten:</p>
<pre class="brush:js">_gaq.push(['_anonymizeIP']);</pre>
<h2>Verwendung in WordPress</h2>
<p>Nachdem von den verfügbaren WordPress-Plugins nicht alle eine benutzerfreundliche (&#8222;dazuklickbare&#8220;) Option zur Einbindung des Parameters mitbringen, ist man bei der Plugin-Auswahl schon etwas eingeschränkt. Nach einem kurzen Funktionsvergleich der aktuell populärsten WordPress Plugins für Google Analytics</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/google-analyticator/" title="Wordpress Plugin-Seite von Google Analyticator" target="_blank" class="link-external">Google Analyticator</a>,</li>
<li><a href="http://wordpress.org/extend/plugins/web-ninja-google-analytics/" title="Wordpress Plugin-Seite von Web Ninja Google Analytics" target="_blank" class="link-external">Web Ninja Google Analytics</a>,</li>
<li><a href="http://wordpress.org/extend/plugins/google-analytics-for-wordpress/" title="Wordpress Plugin-Seite von Google Analytics for WordPress" target="_blank" class="link-external">Google Analytics for WordPress</a> und</li>
<li><a href="http://wordpress.org/extend/plugins/ultimate-google-analytics/" title="Wordpress Plugin-Seite von Ultimate Google Analytics" target="_blank" class="link-external">Ultimate Google Analytics</a></li>
</ul>
<p>fiel meine Auswahl in diesem Fall schnell auf <a href="http://wordpress.org/extend/plugins/google-analytics-for-wordpress/" title="Wordpress Plugin-Seite von Google Analytics for WordPress" target="_blank" class="link-external">Google Analytics for WordPress</a>, nicht zuletzt da es neben der expliziten Option zur Konfiguration der IP-Maskierung im Vergleich zu den anderen Plugins auch sonst den robustesten und flexibelsten Eindruck machte. Wichtig ist nur, unter &#8222;Einstellungen &gt; Google Analytics &gt; Advanced Settings &gt; anonymize IP&#8220; das entsprechende Häkchen zu setzen.</p>
<p>Wer zusätzlich gerne eine Dashboard-Übersicht hätte, wie sie die anderen Plugins z.T. mitbringen, kann als Ergänzung das Plugin <a href="http://wordpress.org/extend/plugins/google-analytics-dashboard/" title="Wordpress Plugin-Seite von Google Analytics Dashboard" target="_blank" class="link-external">Google Analytics Dashboard</a> einsetzen, das trotz aktuell nicht ausgewiesener WordPress 3.0 Kompatibilität zumindest bei ersten Tests auch in dieser Version einwandfrei funktionierte.</p>
<h2>Hinweispflicht im Impressum</h2>
<p>Unabhängig von der IP-Maskierung besteht natürlich weiterhin die Verpflichtung im Impressum einer Website auf die Nutzung von Google Analytics hinzuweisen. Hierzu bietet Google eine verwendbare Vorlage, die nach eigener Aussage die wesentlichen Bestandteile enthält <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-99-9" href="#note-99-9" onmouseover="tooltip.show('vgl. http://www.google.com/intl/de_ALL/analytics/tos.html.');" onmouseout="tooltip.hide();"><sup>9</sup></a>:</p>
<blockquote><p>Diese Website benutzt Google Analytics, einen Webanalysedienst der  Google Inc. („Google“). Google Analytics verwendet sog. „Cookies“,  Textdateien, die auf Ihrem Computer gespeichert werden und die eine  Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den  Cookie erzeugten Informationen über Ihre Benutzung dieser Website  (einschließlich Ihrer IP-Adresse) wird an einen Server von Google in den  USA übertragen und dort gespeichert. Google wird diese Informationen  benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die  Websiteaktivitäten für die Websitebetreiber zusammenzustellen und um  weitere mit der Websitenutzung und der Internetnutzung verbundene  Dienstleistungen zu erbringen. Auch wird Google diese Informationen  gegebenenfalls an Dritte übertragen, sofern dies gesetzlich  vorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google  verarbeiten. Google wird in keinem Fall Ihre IP-Adresse mit anderen  Daten von Google in Verbindung bringen. Sie können die Installation der  Cookies durch eine entsprechende Einstellung Ihrer Browser Software  verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall  gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich  nutzen können. Durch die Nutzung dieser Website erklären Sie sich mit  der Bearbeitung der über Sie erhobenen Daten durch Google in der zuvor  beschriebenen Art und Weise und zu dem zuvor benannten Zweck  einverstanden.</p></blockquote>
<p>Natürlich kann ich als Nicht-Jurist keine Nutzungsempfehlungen aussprechen (das sollte jeder eigenverantwortliche entscheiden), aber in dieser Form scheint Google Analytics zumindest den aktuell geltenden Datenschutzbestimmungen (auch für öffentliche Einrichtungen) zu genügen.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fdatenschutzrichtlinien-google-analytics-fur-wordpress%2F&amp;action_name=Datenschutz+%26amp%3B+Google+Analytics+f%C3%BCr+WordPress&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class="simple-footnotes"><h2 class="notes">Quellen und Fußnoten:</h2><ol><li id="note-99-1">vgl. hierzu beispielsweise den <a href="http://t3n.de/news/datenschutz-streit-um-google-analytics-geht-292927/" title="Datenschutz: Streit um Google Analytics geht weiter, Bußgelder drohen" target="_blank" class="link-external">Bericht von Jan Tißler</a> auf t3n, aus dem u.a. hervorgeht, dass IP-Adressen trotz verwendetem Browser-Plugin z.T. immer noch übermittelt würden. <a class="simple-footnote-backlink" href="#return-note-99-1">&#8617;</a></li><li id="note-99-2">vgl. dazu auch Pressemitteilung des bayerischen Landesbeauftragten für den Datenschutz Dr. Thomas Petri unter <a href="http://www.datenschutz-bayern.de/presse/20100906_google_analytics.html" title="Einsatz von Google Analytics - Datenschutzverstoß durch zahlreiche bayerische Behörde" target="_blank" class="link-external">http://www.datenschutz-bayern.de/presse/20100906_google_analytics.html</a>. <a class="simple-footnote-backlink" href="#return-note-99-2">&#8617;</a></li><li id="note-99-3">vgl. auch <a href="http://www.gesetze-im-internet.de/tmg/__15.html" title="Telemediengesetz § 15 Nutzungsdaten" target="_blank" class="link-external">http://www.gesetze-im-internet.de/tmg/__15.html</a>. <a class="simple-footnote-backlink" href="#return-note-99-3">&#8617;</a></li><li id="note-99-4">vgl. öffentlich zugängliche PDF-Version des damaligen Beschlusses unter <a href="http://www.lfd.m-v.de/dschutz/beschlue/Analyse.pdf" target="_blank" class="link-pdf broken_link">http://www.lfd.m-v.de/dschutz/beschlue/Analyse.pdf</a>. <a class="simple-footnote-backlink" href="#return-note-99-4">&#8617;</a></li><li id="note-99-5">Details im original Blogbeitrag dazu aus dem Analytics-Blog unter <a href="http://analytics.blogspot.com/2010/05/greater-choice-and-transparency-for.html" title="Greater choice and transparency for Google Analytics" target="_blank" class="link-external">http://analytics.blogspot.com/2010/05/greater-choice-and-transparency-for.html</a>. <a class="simple-footnote-backlink" href="#return-note-99-5">&#8617;</a></li><li id="note-99-6">vgl. Beitrag von Falk Hedemann dazu auf t3n: <a href="http://t3n.de/news/google-analytics-deutschland-google-dementiert-293164/" title="Google Analytics in Deutschland – Google dementiert Gesprächsabbruch" target="_blank" class="link-external">http://t3n.de/news/google-analytics-deutschland-google-dementiert-293164/</a>. <a class="simple-footnote-backlink" href="#return-note-99-6">&#8617;</a></li><li id="note-99-7">vgl. dazu auch &#8222;<a href="http://t3n.de/magazin/webanalyse-datenschutzkonform-betreiben-google-analytics-225835/" title="Webanalyse datenschutzkonform betreiben: Google Analytics anonymisieren" target="_blank" class="link-external broken_link">Webanalyse datenschutzkonform betreiben: Google Analytics anonymisieren</a>&#8220; von Markus Vollmert. <a class="simple-footnote-backlink" href="#return-note-99-7">&#8617;</a></li><li id="note-99-8">vgl. auch Diskussion auf <a href="http://kress.it/2010/07/google-analytics-anonymizeip-ip-adressen-kurzen-richtiger-code/" title="Google Analytics – anonymizeIP() – IP-Adressen kürzen – richtiger Code" target="_blank" class="link-external broken_link">http://kress.it/2010/07/google-analytics-anonymizeip-ip-adressen-kurzen-richtiger-code/</a> oder <a href="http://kress.it/2010/07/google-analytics-anonymizeip-ip-adressen-kurzen-richtiger-code/" title="Google Analytics – anonymizeIP() – IP-Adressen kürzen – richtiger Code" target="_blank" class="link-external broken_link">http://1336.de/google-analytics-datenschutz/</a>. <a class="simple-footnote-backlink" href="#return-note-99-8">&#8617;</a></li><li id="note-99-9">vgl. <a href="http://www.google.com/intl/de_ALL/analytics/tos.html" title="Datenschutzbestimmungen für die Verwendung von Google Analytics" target="_blank" class="link-external">http://www.google.com/intl/de_ALL/analytics/tos.html</a>. <a class="simple-footnote-backlink" href="#return-note-99-9">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/" rel="bookmark" title="WordPress XML Sitemap für Multisite-Installationen">WordPress XML Sitemap für Multisite-Installationen </a></li>
<li><a href="https://test.soziotech.org/jquery-is-not-defined-fehler-im-wordpress-backend/" rel="bookmark" title="&#8222;jQuery is not defined&#8220;-Fehler im WordPress Backend">&#8222;jQuery is not defined&#8220;-Fehler im WordPress Backend </a></li>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/datenschutzrichtlinien-google-analytics-fur-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress XML Sitemap für Multisite-Installationen</title>
		<link>https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/</link>
		<comments>https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 13:48:08 +0000</pubDate>
		<dc:creator><![CDATA[Florian Ott]]></dc:creator>
				<category><![CDATA[Enterprise 2.0]]></category>
		<category><![CDATA[Technologien]]></category>
		<category><![CDATA[Wordpress / Buddypress]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Multisite]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Sitemap]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XML Sitemap]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=65</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/226_crop_940x198_google-sitemaps.jpg" width="618" height="130" alt="WordPress XML Sitemap für Multisite-Installationen" /></p>Inzwischen dürfte die Möglichkeit eigene Seiten sowie deren Aktualisierungen (z.B. Blogposts) per sitemap.xml an Google zu übermitteln wohl den meisten Webseitenbetreibern geläufig sein. Für den Fall der Fälle finden sich in den Webmaster Tools bei Google weitere Informationen dazu. Klassische &#8230; <a href="https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fwordpress-xml-sitemap-fur-multisite-installationen%2F&amp;action_name=WordPress+XML+Sitemap+f%C3%BCr+Multisite-Installationen&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss yarpp-related-none'>

Keine ähnlichen Artikel.
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/226_crop_940x198_google-sitemaps.jpg" width="618" height="130" alt="WordPress XML Sitemap für Multisite-Installationen" /></p>
<p>Inzwischen dürfte die Möglichkeit eigene Seiten sowie deren Aktualisierungen (z.B. Blogposts) per sitemap.xml an Google zu übermitteln wohl den meisten Webseitenbetreibern geläufig sein. Für den Fall der Fälle finden sich in den <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=de&amp;answer=183668" title="Hinweise zum Aufbau und der Erzeugung einer sitemaps.xml in den Google Webmaster Tools" target="_blank" class="link-external">Webmaster Tools bei Google</a> weitere Informationen dazu.</p>
<h2>Klassische WordPress-Plugin-Lösung</h2>
<p>Für WordPress gibt es schon seit einiger Zeit ein <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" title="Google XML Sitemap Generator Plugin von Arne Brachhold" target="_blank" class="link-external">sehr einfaches und gutes Plugin</a> von Arne Brachhold, das die automatische Erzeugung und Aktualisierung dieser sitemap.xml sowie deren komprimiertem Pendants &#8222;sitemap.xml.gz&#8220; übernimmt. Wir haben dieses Plugin u.a. auf dem offiziellen Internetauftritt der Forschungsgruppe München <a href="http://www.kooperationssysteme.de" title="offiziellen Internetauftritt der Forschungsgruppe München" target="_blank" class="link-external">www.kooperationssysteme.de</a> im Einsatz. Nachdem diese aktuell extern gehostete Seite allerdings in unsere inzwischen stetig gewachsene und weiterentwickelte WordPress Multiblogging-Plattform umziehen sollte und die aktuelle &#8222;stable&#8220; des Plugins nicht Multisite-fähig war, ging die Alternativensuche los.</p>
<h2>Multisite-fähige Plugins</h2>
<p>Sucht man in den WordPress Plugins nach &#8222;<a href="http://wordpress.org/extend/plugins/search.php?q=google+sitemaps+multisite&amp;sort=" title="Wordpress Plugin Suchergebnisse für google sitemaps multisite" target="_blank" class="link-external">google sitemaps multisite</a>&#8220; findet man als ersten Treffer zunächst das vielversprechend klingende Plugin <a href="http://wordpress.org/extend/plugins/google-xml-sitemaps-with-multisite-support/" title="Wordpress Plugin Google XML Sitemaps with Multisite support" target="_blank" class="link-external">Google <a class="glossaryLink" href="https://test.soziotech.org/glossar/xml/" title="Klicken Sie, um zum detaillierten Glossareintrag für XML zu springen." onmouseover="tooltip.show('Extensible Markup Language; Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten.');" onmouseout="tooltip.hide();">XML</a> Sitemaps with Multisite support</a> von <a href="http://blog.mariokostelac.com/google-xml-sitemaps-multisite/" title="Blogbeitrag vom Autor Mario Kostelac über das Google XML Sitemaps Plugin mit Multisite Support" target="_blank" class="link-external broken_link">Mario Kostelac</a>, das nach näherer Begutachtung auf der oben erwähnten Erweiterung aufbaut und nach eigenen Angaben einen Großteil des Codes von Arne Brachhold verwendet:</p>
<blockquote><p>99% percent of work is done by Arne so, thank you Arne. I hope that our projects will merge into the one in the near future.</p></blockquote>
<p>Haupteinschränkung des Plugins: Es verwendet immer noch von Zeit zu Zeit (statisch) erzeugte Sitemap-Dateien und legt diese in einem Unterordner &#8222;sitemaps&#8220; im Webroot bzw. WordPress-Installationsverzeichnis ab. Diese müssen dann bei einer Multisite-Installation für die einzelnen Blogs per manuellem Rewrite oder über Anpassungen der robots.txt integriert werden, was mit Zusatzaufwand verbunden ist.</p>
<p>Bei der weiteren Recherche nach brauchbaren Plugins bin ich anschließend sehr schnell über eine Weiterentwicklung der ursprünglichen Erweiterung gestolpert, die sich zwar aktuell noch in der Beta-Phase befindet, Ihren Dienst aber mit ein paar minimalistischen Einschränkungen schon sehr gut macht. Details auf der entsprechenden <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" title="Website zum Google XML Sitemaps Plugin von Arne Brachhold" target="_blank" class="link-external">Website von Arne Brachhold</a>. Wie man dem Changelog entnehmen kann, unterstützt die Beta nicht nur Multisite-Installationen, sondern erzeugt die sitemap.xml für die einzelnen Blogs &#8222;on the fly&#8220;, wodurch keine umständlichen Rewrites oder Eintragungen in der robots.txt mehr erforderlich sind:</p>
<blockquote>
<ul>
<li>No static files anymore, sitemap is created on the fly!</li>
<li>Sitemap is split up into sub-sitemaps by month, allowing up to 50.000 posts per month!</li>
<li>Reduced server resource usage due to less content per request.</li>
<li>100% Multisite compatible, including by-blog and network activation.</li>
<li>New <a href="https://test.soziotech.org/glossar/api/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für API zu springen." onmouseover="tooltip.show('Application Programming Interface (dt. Programmierschnittstelle)');" onmouseout="tooltip.hide();">API</a> allows other plugins to add their own, separate sitemaps.</li>
</ul>
</blockquote>
<p>Nachdem ich das Plugin im Root-Blog einer WordPress-Installation (3.0.4) getestet habe, die u.a. auch Buddypress (1.2.7) nutzt, scheint es wohl aus diesem oder einem mir unerfindlichen anderen Grund ein Problem mit dem Rewrite der url blog.de/sitemap.xml zu geben, das mich erst zu dem Glauben veranlasst hat, das Plugin würde überhaupt nicht funktionieren. Nach etwas Recherche und Testen in anderen (nicht-root) Blogs der Multisite-Installation wurde dann aber schnell klar, dass die Sitemaps jeweils korrekt erzeugt wurden. Lediglich im Root-Blog konnte die Sitemap nicht über blog.de/sitemap.xml, sondern ausschließlich über die Non-Permalink-Variante blog.de/index.php?xml_sitemap=index aufgefrufen werden.</p>
<h2>Anpassung der .htaccess-Datei</h2>
<p>Durch einen <a href="http://blog.dembowski.net/2010/06/09/google-xml-sitemaps-and-wordpress-multisite/" title="Anpassungen am Google XML Sitemap Plugin für Multisite Support" target="_blank" class="link-external">Blogpost von Jan Dembowski</a> zu einer Anpassung des verwendeten Plugins (der zwar in dieser Form inzwischen aufgrund der aktuellen Beta veraltet ist, jedoch für den vorliegenden Fall sehr hilfreich war), ließ sich auch das Problem mit dem Root-Blog durch Einfügen einer weiteren Rewrite-Rule in der .htaccess-Datei von WordPress lösen:</p>
<pre class="brush:plain">RewriteRule ^sitemap.xml index.php?xml_sitemap=index [L]</pre><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fwordpress-xml-sitemap-fur-multisite-installationen%2F&amp;action_name=WordPress+XML+Sitemap+f%C3%BCr+Multisite-Installationen&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss yarpp-related-none'>
<p>Keine ähnlichen Artikel.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/wordpress-xml-sitemap-fur-multisite-installationen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
