<?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>Digital entwickelt. &#187; Web-Entwicklung</title>
	<atom:link href="http://blog.digitallifedesign.net/category/web-entwicklung/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.digitallifedesign.net</link>
	<description>Digital Lifedesign</description>
	<lastBuildDate>Fri, 27 Jan 2012 11:52:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Dezentrale Facebook-Alternative: DIASPORA</title>
		<link>http://blog.digitallifedesign.net/2012/01/dezentrale-facebook-alternative-diaspora/</link>
		<comments>http://blog.digitallifedesign.net/2012/01/dezentrale-facebook-alternative-diaspora/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 11:38:39 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Global und lokal]]></category>
		<category><![CDATA[Medien und Gesellschaft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[Alternative]]></category>
		<category><![CDATA[dezentral]]></category>
		<category><![CDATA[Diaspora]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Freunde]]></category>
		<category><![CDATA[gefällt mir]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Posten]]></category>
		<category><![CDATA[private Nachrichten]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Socialmedia]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teilen]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=651</guid>
		<description><![CDATA[Vielleicht war es meine Blasenentzündung, die mich nochmal auf die wesentlichen Dinge meines Lebens zurück besinnen ließ, keine Ahnung. Jedenfalls habe ich mich gestern bei Facebook abgemeldet. Heute morgen habe ich bereits nach einer dezentralen Alternative dazu gesucht und bin aufDIASPORA gestoßen. Ich will in diesem Artikel meine ersten Erfahrungen beschreiben.

Facebook macht Spaß
Interessant, dass man [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_663" class="wp-caption alignleft" style="width: 310px"><img class=" wp-image-663" title="Diaspora homepage" src="http://blog.digitallifedesign.net/wp-content/uploads/2012/01/diaspore_homepage-300x295.png" alt="" width="300" height="295" /><p class="wp-caption-text">Diaspora heißt die Software, registrieren kann man sich auf jedem beliebigen Server, der die Software installiert hat, z.B. in Deutschland auf geraspora.de</p></div>
<p title="Diaspora in Wikipedia">Vielleicht war es meine Blasenentzündung, die mich nochmal auf die wesentlichen Dinge meines Lebens zurück besinnen ließ, keine Ahnung. Jedenfalls habe ich mich gestern bei Facebook abgemeldet. Heute morgen habe ich bereits nach einer dezentralen Alternative dazu gesucht und bin auf<strong>DIASPORA</strong> gestoßen. Ich will in diesem Artikel meine ersten Erfahrungen beschreiben.</p>
<p><span id="more-651"></span></p>
<h2>Facebook macht Spaß</h2>
<p>Interessant, dass man sich immer erst mit einem Problem auseinandersetzt, wenn es akut ist. Das ist wohl auch der Grund, warum kaum einer Facebook verlässt, obwohl die negative Kritik groß und alltäglich ist.</p>
<p>Man muss zugeben, dass es auch irgendwie ein neues Lebensgefühl ist, sich mit so vielen Leuten austauschen zu können, jedem jederzeit eine Nachricht zu schicken, und zu erfahren, wem was gefällt. Zudem entwickelt Facebook ja immer neue Features, die den Austausch vereinfachen.</p>
<p>Doch dieser Spaß-Faktor ändert nichts daran, dass Facebook die Rechte aller hochgeladenen Fotos erhält und überhaupt mit den Daten nahezu alles tun kann, was es will. Da niemand weiß, wie sich die Technologie bezüglich Gesichtserkennung etc. in den kommenden 10-20 Jahre entwickeln wird, ist das Risiko einfach zu groß, das die User eingehen, die heute fleißig die Fotos ihrer Kinder hochladen und &#8220;teilen&#8221;.</p>
<h2>Alternative Konzepte zu Facebook ohne Verzicht auf gute Features</h2>
<p>Da ich selbst in den vergangenen Jahren viel im Web programmiert und entwickelt habe, sind nach der Abmeldung bei Facebook erst mal meine Überlegungen losgegangen, was die Anforderungen an eine Alternative sein könnten:</p>
<ul>
<li><strong>Dezentrale Struktur</strong>: Facebook ist insbesondere so gefährlich, weil ein Unternehmen die Daten von über 800 Millionen Menschen sammelt. Wenn jeder hingegen seine Daten wie beim E-Mail-Account auf einem anderen Server liegen hätte, könnte dieses Risiko ausgeschlossen werden.</li>
<li><strong>Niedrigschwelliges Angebot</strong>: Es müsste ähnlich einfach sein wie bei Facebook, sich für die Seite registrieren und loszulegen, da ein zu hoher Aufwand die User abschrecken würde.</li>
<li><strong>Ähnliche Features</strong>: Auf den Komfort, an den man sich einmal gewöhnt hat, will man nicht mehr verzichten. Das bedeutet, dass die Alternative zu Facebook auch Funktionen wie Posten, Kommentieren, Pinwand, Listen (bzw. Kreise), Fotoalben, private Nachrichten usw. bieten müsste.</li>
<li><strong>Mehrwert</strong>: Damit ein solches Projekt auch zum Erfolg wird, müssten im besten Fall noch zusätzliche tolle Features geboten werden, die weder Facebook noch Google+ bisher integriert haben.</li>
</ul>
<h2>Diaspora &#8211; ein geeignetes Network als Facebook-Nachfolge</h2>
<p>Ich muss zugeben, ich war skeptisch, als ich den Artikel über Diaspora auf <a title="öffnet einen externen Link" href="http://netzwertig.com/2010/05/10/diaspora-mit-einem-dezentralen-netzwerk-gegen-facebook-co/" target="_blank">netzwertig,com</a> gelesen habe. Ein ZEIT- und der Wikipedia-Artikel haben mich schon mehr überzeugt, und nach der unkompliziertesten Anmeldung meines Lebens bei Geraspora, einem deutschen Server habe ich gleich ein paar Features getestet und bin überzeugt, dass Diaspora ein sehr geeigneter Nachfolger für Facebook sein kann.</p>
<p style="text-align: center;"><a class="thickbox" href="http://blog.digitallifedesign.net/wp-content/uploads/2012/01/geraspora_stream.png"><img class="aligncenter size-medium wp-image-670 alignleft" title="geraspora_stream" src="http://blog.digitallifedesign.net/wp-content/uploads/2012/01/geraspora_stream-300x187.png" alt="" width="300" height="187" /></a></p>
<h2>Die Optik von Diaspora</h2>
<p>Nach der Anmeldung erinnert alles bis auf die Farbe an Facebook. Ein schmaler Balken ganz oben und drei Spalten darunter. In der Mitte werde ich gefragt: <em>Woran denkst Du gerade?</em> Ich sehe öffentliche Posts von allen, kann kommentieren und mir kann gefallen. In der Leiste oben gibt es ein Suchfenster, den Home-Link, Benachrichtigungen, private Nachrichten sowie meinen Namen, unter dem sich mein Profil, Kontakte sowie Einstellungen befinden. Alles in allem also sehr ähnlich zu Facebook und durchaus auch logisch in dieser Form.</p>
<h2>Gezielt kommunikativ</h2>
<p>Auf meinen ersten, öffentlichen Post, dass ich hier neu bin, habe ich gleich eine Reaktion bekommen. So viel Kommunikation ist man bei Facebook gar nicht gewohnt, da reagieren nicht einmal die &#8220;Freunde&#8221;.</p>
<p>Man kann einerseits wie bei Facebook entscheiden, wer die eigenen Posts lesen darf. Dabei gibt es auch Listen (Bekannte, Freunde, Arbeit usw.). Zudem erklärt man über Hashtags (z.B. #musik) seine Interessen und Schwerpunkte und postet und abonniert so, ähnlich wie bei Twitter, Beiträge zum Thema, egal an welche und von welchen Nutzern. Das ist ein entscheidender Vorteil gegenüber Facebook, wo man aus seinem sozialen Umfeld nicht richtig raus kommt.</p>
<h2>Fazit</h2>
<p>Wer es Leid ist, alle seine Inhalte an Facebook zu verschenken, andererseits aber nicht auf die Vorteile eines sozialen Netzwerks verzichten will, der sollte auf jeden Fall einmal Diaspora ausprobieren. Es ist kostenlos und funktioniert einwandfrei. Wie sich Diaspora langfristig durchsetzen wird, hängt zum einen von einer kritischen Masse ab, die erst einmal dort vertreten sein muss. Zum anderen müssen gesellschaftlich relevante Akteure wie Medien und Organisationen hier einsteigen, damit die eher passiven Webnutzer auch nachziehen.</p>
<p><strong>Ausprobieren kostet jedenfalls nichts und meine Versprechung ist: es lohnt sich.</strong></p>
<p>&nbsp;</p>
<h3>Links</h3>
<ul>
<li><a href="http://diasporaproject.org">DIASPORA &#8211; offizieller Webauftritt</a></li>
<li><a href="https://pod.geraspora.de">GERASPORA &#8211; deutsche Seite zum Registrieren</a> (so genannter Pod)</li>
<li><a href="http://podupti.me">http://podupti.me</a> &#8211; Übersichtsseite weiterer Pods (Server, auf denen man seinen Diaspora-Account registrieren kann)</li>
<li><a href="http://de.wikipedia.org/wiki/Diaspora_(Software)">Wikipedia-Seite zu DIASPORA</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2012/01/dezentrale-facebook-alternative-diaspora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal Modul für eigene Action</title>
		<link>http://blog.digitallifedesign.net/2011/07/drupal-modul-fur-eigene-action/</link>
		<comments>http://blog.digitallifedesign.net/2011/07/drupal-modul-fur-eigene-action/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 10:03:54 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[Actions]]></category>
		<category><![CDATA[Anfänger]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Drupal7]]></category>
		<category><![CDATA[Modul]]></category>
		<category><![CDATA[Rules]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=616</guid>
		<description><![CDATA[Ein eigenes Modul zur Erstellung eigener Actions ist nicht so schwer.]]></description>
			<content:encoded><![CDATA[<div id="attachment_617" class="wp-caption alignleft" style="width: 310px"><a class="thickbox" href="http://blog.digitallifedesign.net/wp-content/uploads/2011/07/demo_action.png"><img class="size-medium wp-image-617 " title="My Module - Demo Action" src="http://blog.digitallifedesign.net/wp-content/uploads/2011/07/demo_action-300x208.png" alt="Eigene Actions in Drupal 7" width="300" height="208" /></a><p class="wp-caption-text">Eigene Actions in Drupal 7</p></div>
<p>Oft stoßen wir an die Grenzen der Fähigkeiten von Drupal-Modulen, so dass nur noch über das <strong><a href="http://drupal.org/project/rules">Rules</a> Modul</strong> die Probleme gelöst werden können. Doch was wenn die Programmierer anderer Module erst gar nicht die entsprechenden Actions deklariert haben? Dann wird es endlich Zeit, ein <strong>eigenes Modul</strong> zu schreiben.</p>
<p>Hier eine kurze Anleitung für Drupal 7.<br />
<span id="more-616"></span></p>
<div style="clear:both; height: 1px;">&nbsp;</div>
<p>1. Die <strong>Ordnerstruktur</strong>:</p>
<p>- site/all/modules/<br />
&#8211; <strong>mymodule/</strong><br />
&#8212;- <strong>mymodule.info</strong><br />
&#8212;- <strong>mymodule.module</strong></p>
<p>2. Inhalt der Datei <strong>mymodule.info</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">name</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> My Module</span>
<span style="color: #000099;">description</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;My own Action&quot;</span>
<span style="color: #000099;">package</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Other</span>
<span style="color: #000099;">core</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 7.x</span>
dependencies<span style="">&#91;</span><span style="">&#93;</span> <span style="color: #000066; font-weight:bold;">=</span> devel</pre></div></div>

<p>3. Inhalt der Datei <strong>mymodule.module</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * @file
 * Demo Module that shows some basic module stuff
 * @date 2011
 * @author Michael Lambertz
 */</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * implements hook_rules_action_info()
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> mymodule_rules_action_info<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$action</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'mymodule_action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
      <span style="color: #0000ff;">'label'</span>	<span style="color: #339933;">=&gt;</span> t<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Demo Action'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'group'</span> <span style="color: #339933;">=&gt;</span> t<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'My Module'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$action</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * demo action gets a debug output of some experimental content
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> mymodule_action<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  dpm<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello World&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>4. Nun noch das Modul aktivieren und für die eigenen Zwecke anpassen.</p>
<p>Ich hoffe, das hilft einigen hier weiter.<br />
<strong>Weitere Tipps zu Drupal Modul-Programmierung einfach hier in den Kommentaren posten&#8230;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2011/07/drupal-modul-fur-eigene-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Codierung einer Textdatei erkennen</title>
		<link>http://blog.digitallifedesign.net/2011/05/php-codierung-textdatei-erkennen/</link>
		<comments>http://blog.digitallifedesign.net/2011/05/php-codierung-textdatei-erkennen/#comments</comments>
		<pubDate>Wed, 25 May 2011 09:03:30 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php codierung txt utf-8 iso-8859-1 windows-1251 detect file]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=606</guid>
		<description><![CDATA[Immer wieder gibt&#8217;s Probleme mit der Codierung von auszulesenden Textdateien, vor allem, wenn der Benutzer mit Windows XP arbeitet. Hier die Funktion, die das Problem bei mir gelöst hat:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
function detectEncoding&#40;$string&#41;
&#123; 
	static $list = array&#40;'utf-8', 'windows-1251'&#41;;
	foreach &#40;$list as $item&#41;
	&#123;
		$sample = iconv&#40;$item, $item, $string&#41;;
		if &#40;md5&#40;$sample&#41; == md5&#40;$string&#41;&#41;
		return $item;
	&#125;
	return null;
&#125;
&#160;
$enc = detectEncoding&#40;$meinString&#41;;
if &#40;$enc == 'utf-8'&#41; $meinString = utf8_decode&#40;$meinString&#41;;

(Quelle)
]]></description>
			<content:encoded><![CDATA[<p>Immer wieder gibt&#8217;s Probleme mit der Codierung von auszulesenden Textdateien, vor allem, wenn der Benutzer mit Windows XP arbeitet. Hier die Funktion, die das Problem bei mir gelöst hat:<br />
<span id="more-606"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> detectEncoding<span style="color: #009900;">&#40;</span><span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> 
	static <span style="color: #000088;">$list</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'utf-8'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'windows-1251'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$sample</span> <span style="color: #339933;">=</span> <span style="color: #990000;">iconv</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #339933;">,</span> <span style="color: #000088;">$item</span><span style="color: #339933;">,</span> <span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sample</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$item</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$enc</span> <span style="color: #339933;">=</span> detectEncoding<span style="color: #009900;">&#40;</span><span style="color: #000088;">$meinString</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$enc</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$meinString</span> <span style="color: #339933;">=</span> <span style="color: #990000;">utf8_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$meinString</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>(<a rel="nofollow" href="http://www.php.net/manual/de/function.mb-detect-encoding.php#89944">Quelle</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2011/05/php-codierung-textdatei-erkennen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal 7: &#8220;Bearbeiten&#8221;-Link für Nodes</title>
		<link>http://blog.digitallifedesign.net/2011/04/drupal-7-bearbeiten-link-fur-nodes/</link>
		<comments>http://blog.digitallifedesign.net/2011/04/drupal-7-bearbeiten-link-fur-nodes/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 10:19:28 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Edit]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Node]]></category>
		<category><![CDATA[Panels]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=594</guid>
		<description><![CDATA[Normalerweise ist man wegen der Tabs nicht auf eigene Edit-Links im Template angewiesen, aber Ausnahmen gibt es zum Beispiel, wenn man mit Panels arbeitet, und hier wiederum Nodes integriert. Wie man also im node.tpl.php auch einen Edit-Link einbaut inklusive Zugriffs-Regeln (user_access), zeige ich hier:

Im node.tpl.php bzw. im panels-pane.tpl.php des Themes:

/*
// für panels-pane.tpl.php
if (isset($content[&#34;#node&#34;])) $node = [...]]]></description>
			<content:encoded><![CDATA[<p>Normalerweise ist man wegen der <strong>Tabs</strong> nicht auf <strong>eigene Edit-Links</strong> im Template angewiesen, aber Ausnahmen gibt es zum Beispiel, wenn man mit <strong>Panels</strong> arbeitet, und hier wiederum <strong>Nodes</strong> integriert. Wie man also im node.tpl.php auch einen Edit-Link einbaut inklusive Zugriffs-Regeln (user_access), zeige ich hier:</p>
<p><span id="more-594"></span><br />
Im <i>node.tpl.php</i> bzw. im <i>panels-pane.tpl.php</i> des Themes:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
// für panels-pane.tpl.php
if (isset($content[&quot;#node&quot;])) $node = $content[&quot;#node&quot;];
*/</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$node</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// nur wenn Node-Objekt vorhanden (bei Panels nicht automatisch)</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$type</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">type</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>user_access<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;edit any <span style="color: #006699; font-weight: bold;">$type</span> content&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Rechte für den Node Type</span>
   <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$nid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nid</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> l<span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'edit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'node/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$nid</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/edit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Freue mich natürlich über Ergänzungen oder Korrekturen. Demnächst poste ich übrigens mal wieder etwas mehr in meinem Blog. Vermutlich aber demnächst dann auch über eine Drupal-Seite.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2011/04/drupal-7-bearbeiten-link-fur-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress oder Drupal?</title>
		<link>http://blog.digitallifedesign.net/2010/10/wordpress-oder-drupal/</link>
		<comments>http://blog.digitallifedesign.net/2010/10/wordpress-oder-drupal/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 09:01:46 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[CCK]]></category>
		<category><![CDATA[Inhaltstypen]]></category>
		<category><![CDATA[Vergleich]]></category>
		<category><![CDATA[Views]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=565</guid>
		<description><![CDATA[Lange schon schaue ich mir die Diskussionen um TYPO3 vs. Drupal an. Mein Herz schlägt klar für Drupal &#8211; was man sicherlich auch aus meinen Beiträgen herauslesen kann. Doch kurz vor der stabilen Version 7 von Drupal kommt nun doch das Klick-Klick-Blogsystem WordPress mit den neuen Inhaltstypen seit Version 3 vielleicht wieder ins Rennen, insbesondere [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_566" class="wp-caption alignleft" style="width: 310px"><a class="thickbox" title="Sowohl WordPress in der Version 3 als auch Drupal in der Version 7 setzen auf benutzerdefinierte Inhaltstypen" href="http://blog.digitallifedesign.net/wp-content/uploads/2010/10/wordpress_oder_drupal.png"><img class="size-medium wp-image-566 " title="wordpress_oder_drupal" src="http://blog.digitallifedesign.net/wp-content/uploads/2010/10/wordpress_oder_drupal-300x204.png" alt="Sowohl WordPress in der Version 3 als auch Drupal in der Version 7 setzen auf benutzerdefinierte Inhaltstypen" width="300" height="204" /></a><p class="wp-caption-text">Sowohl WordPress in der Version 3 als auch Drupal in der Version 7 setzen auf benutzerdefinierte Inhaltstypen</p></div>
<p>Lange schon schaue ich mir die Diskussionen um TYPO3 vs. Drupal an. Mein Herz schlägt klar für Drupal &#8211; was man sicherlich auch aus meinen Beiträgen herauslesen kann. Doch kurz vor der stabilen <strong>Version 7</strong> von <strong>Drupal</strong> kommt nun doch das Klick-Klick-Blogsystem <strong>WordPress</strong> mit den neuen Inhaltstypen seit <strong>Version 3</strong> vielleicht wieder ins Rennen, insbesondere für kleinere Projekte. Wer hat Erfahrungen mit WordPress und Inhaltstypen? Gibt es Filter zur Ausgabe/Views? Was haltet Ihr für das bessere CMS? Und warum?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/10/wordpress-oder-drupal/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>RealURL mit mehreren Domains: ID was outside the domain</title>
		<link>http://blog.digitallifedesign.net/2010/09/realurl-mit-mehreren-domains-id-was-outside-the-domain/</link>
		<comments>http://blog.digitallifedesign.net/2010/09/realurl-mit-mehreren-domains-id-was-outside-the-domain/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 11:25:00 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[realurl multidomain domains problem gleiche seitennamen]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=550</guid>
		<description><![CDATA[Diese Fehlermeldung hat mich jetzt ganze 2 Stunden gekostet. Darum hier die ultimative Lösung des Problems.

Lösung Teil 1
In der typo3conf/localconf.php oder der speziellen RealURL-Konfigurationsdatei:

// Allgemeine Konfiguration
$TYPO3_CONF_VARS&#91;'EXTCONF'&#93;&#91;'realurl'&#93;&#91;'_DEFAULT'&#93; = array&#40;
 //realurl konfiguration...
&#41;;
$TYPO3_CONF_VARS&#91;'EXTCONF'&#93;&#91;'realurl'&#93;&#91;'_DEFAULT'&#93;&#91;'pagePath'&#93;&#91;'rootpage_id'&#93; = 1;//id der Hauptseite
&#160;
// Domain 2
$TYPO3_CONF_VARS&#91;'EXTCONF'&#93;&#91;'realurl'&#93;&#91;'www.domain2.de'&#93; = $TYPO3_CONF_VARS&#91;'EXTCONF'&#93;&#91;'realurl'&#93;&#91;'_DEFAULT'&#93;;
$TYPO3_CONF_VARS&#91;'EXTCONF'&#93;&#91;'realurl'&#93;&#91;'www.domain2.de'&#93;&#91;'pagePath'&#93;&#91;'rootpage_id'&#93; = 76;//id der Hauptseite von Domain 2

Jetzt noch in der Listenansicht der Hauptseite der 2. Domain ein [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Fehlermeldung hat mich jetzt ganze 2 Stunden gekostet. Darum hier die ultimative Lösung des Problems.<br />
<span id="more-550"></span><br />
<strong>Lösung Teil 1</strong></p>
<p>In der typo3conf/localconf.php oder der speziellen RealURL-Konfigurationsdatei:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Allgemeine Konfiguration</span>
<span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'EXTCONF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'realurl'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'_DEFAULT'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
 <span style="color: #666666; font-style: italic;">//realurl konfiguration...</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'EXTCONF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'realurl'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'_DEFAULT'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagePath'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rootpage_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//id der Hauptseite</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Domain 2</span>
<span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'EXTCONF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'realurl'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'www.domain2.de'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'EXTCONF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'realurl'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'_DEFAULT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'EXTCONF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'realurl'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'www.domain2.de'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagePath'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rootpage_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">76</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//id der Hauptseite von Domain 2</span></pre></div></div>

<p>Jetzt noch in der Listenansicht der Hauptseite der 2. Domain ein Domain Record anlegen mit dem Wert &#8220;www.domain2.de&#8221; und im besten Fall funktioniert es nun schon.</p>
<p><strong>Lösung Teil 2</strong></p>
<p>Doch bei mir lag ein anderes Problem vor. Ich hatte mit der Konfigurationsdatei rumgespielt und es klappte dennoch nicht. Stattdessen die Fehlermeldung:</p>
<blockquote><p>&#8220;ID was outside the domain&#8221;</p></blockquote>
<p>Das lag daran, dass ich zwischenzeitlich versehentlich mal die &#8220;rootpage_id&#8221; meiner ersten Domain (_DEFAULT) auch auf den Wert der 2. gesetzt hatte. Um dieses Problem zu lösen, muss nach der Änderung aus Teil 1 zusätzlich für <strong>beide Seitenbäume</strong> (1. und 2. Domain!)  das ID-to-path mapping gelöscht werden!</p>
<p>Das geschieht unter &#8220;<strong>Info-&gt;Speaking URL Management-&gt;ID-to-path mapping</strong>&#8221; Hier die Rekursion auf unendlich stellen und auf den kleinen Mülleimer über der Kopfzeile klicken. Fertig!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/09/realurl-mit-mehreren-domains-id-was-outside-the-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3 vs. Drupal: Vor- und Nachteile und was TYPO3 dringend machen muss</title>
		<link>http://blog.digitallifedesign.net/2010/08/typo3-vs-drupal-vor-und-nachteile-und-was-typo3-dringend-machen-muss/</link>
		<comments>http://blog.digitallifedesign.net/2010/08/typo3-vs-drupal-vor-und-nachteile-und-was-typo3-dringend-machen-muss/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 10:24:40 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[Argumente]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Contra]]></category>
		<category><![CDATA[Pro]]></category>
		<category><![CDATA[t3n]]></category>
		<category><![CDATA[Vergleich]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=525</guid>
		<description><![CDATA[Richtig gezankt wird vor allem in den Kommentaren des t3n-Magazins zum Thema TYPO3 und Drupal. Der Artikel (Link s.u.) ist als &#8220;Battle&#8221; betitelt und interviewt 2 Menschen über Pro und Contra beider Content Management Systeme. Das Thema ist durchaus berechtigt und es konfrontiert jede Agentur, die das eine oder das andere CMS einsetzt, natürlich erst [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-528" title="typo3_vs_drupal" src="http://blog.digitallifedesign.net/wp-content/uploads/2010/08/typo3_vs_drupal-300x230.png" alt="" width="300" height="230" />Richtig gezankt wird vor allem in den Kommentaren des t3n-Magazins zum Thema TYPO3 und Drupal. Der Artikel (Link s.u.) ist als &#8220;Battle&#8221; betitelt und interviewt 2 Menschen über Pro und Contra beider Content Management Systeme. Das Thema ist durchaus berechtigt und es konfrontiert jede Agentur, die das eine oder das andere CMS einsetzt, natürlich erst mal mit seiner eigenen Zukunft und Existenz. Hier nun einige Zitate aus dem Artikel, die für mich die wichtigsten Gründe für und gegen TYPO3 und Drupal darstellen sowie Folgerungen, die ich für die Zukunftsfähigkeit von TYPO3 schließe.</p>
<h3>pro TYPO3*:</h3>
<blockquote><p>&#8220;Die Templates sind völlig standardisierte W3C-konforme Templates, [...] man kann per Point &amp; Click durch einen Wizard  gehen und so innerhalb von Minuten sein komplettes Template mappen.&#8221;</p></blockquote>
<p><span id="more-525"></span></p>
<blockquote><p>&#8220;[...] ist das System bei richtigem Einsatz [...] automatisch upgradebar, was es in großen Umgebungen sehr beliebt bei den IT-Abteilungen macht&#8221;</p>
<p>&#8220;TYPO3  4.x hat klare Roadmaps und einen fest definierten sechsmonatigen Release-Zyklus für Major Releases und derzeit läuft ja auch schon parallel ein Rewrite des gesamten Systems (5.x Codename Phoenix)&#8221;</p>
<p>&#8220;TYPO3 hat vor allem diese Entscheidung zu einer Enterprise-Architektur schon vor drei Jahren getroffen, das heißt hier ist schon ein klarer Vorsprung zu vermerken.&#8221;</p></blockquote>
<h3>pro Drupal*:</h3>
<blockquote><p>&#8220;Man kann nun mit dem fantastischen Views-Modul „Views“ (Auswahl und Präsentation von Inhalten) von jeder möglichen Mischung der Entities bauen. Noch besser: Views können von jeder erdenklichen Daten-Quelle gebaut werden&#8221;</p>
<p>&#8220;Drupal ist Pionier in Sachen Semantic Data&#8221;</p>
<p>&#8220;Drupals Bedienungskonzept unterscheidet nicht besonders stark zwischen Front- und Back-End. [...] Um einen Inhalt zu editieren, muss man nur dahin navigieren &#8211; wenn der Benutzer die entsprechende Freigaben hat, kann er editieren. Simpel aber effektiv&#8221;</p>
<p>&#8220;Im Drupal 7 Release-Zyklus geht der ganze Core-Code durch ein „integrated testing framework“. Dies wird demnächst ein „distributed CI performance testing network“ werden, welches dann auch alle Community-Module testen wird.&#8221;</p></blockquote>
<h3>contra TYPO3*:</h3>
<blockquote><p>&#8220;TYPO3 und Extensions wird ab und an vorgeworfen, zu komplexen und  schwierigen Code zu haben. Das trifft auch auf einige Module zu [...]&#8220;</p></blockquote>
<h3>contra Drupal*:</h3>
<blockquote><p>&#8220;Um in Drupal annähernd die Features von TYPO3 darzustellen, brauche ich ca. 60 Drupal-Module, mit zig Abhängigkeiten.&#8221;</p>
<p>&#8220;Drupals Standard-Templating-System ist eine Mischung aus HTML und PHP&#8221;</p></blockquote>
<h3>contra beide*:</h3>
<blockquote><p>&#8220;Andererseits werden Frameworks immer die beste Lösung sein für Systeme, die wirklich einzigartig sind oder nicht von den großen Vorleistungen eines CMS wie Drupal oder TYPO3 profitieren können.&#8221;</p></blockquote>
<p><em>* alle Zitate: <a href="http://t3n.de/news/cms-battle-typo3-drupal-275320/1/">CMS-Battle: TYPO3 vs Drupal – Wettkampf über 20 Runden » t3n News</a></em></p>
<h2>Mein Fazit</h2>
<p>Ich habe Erfahrungen mit beiden CMS sowie mit WordPress gesammelt, und ich arbeite auch noch immer mit beiden CMS. Es handelt sich bei TYPO3 und Drupal um zwei völlig unterschiedliche Herangehensweisen, wobei die allgemeinen Anforderungen an Internetseiten der vergangenen Jahre deutlich für Drupal sprechen. Das will ich begründen.</p>
<h3>Drupal hat keine Baum-Struktur für den Seitenaufbau</h3>
<p>Bei Drupal ist ähnlich wie bei WordPress die Seite erst einmal leer und kann relativ wenig. Die Seitenstruktur ist nicht wie bei TYPO3 als Baum dargestellt. Der Baum hat zwar Vorteile (z.B. drag and drop Seiten verschieben), drängt den Admin jedoch erst mal gedanklich in die Richtung, dass die Seite eine Ordner-Struktur in die Tiefe hat. Diese Verschachtelung von Webseiten hat aber abgenommen. Youtube hat vor Jahren schon gezeigt, dass man Unmengen an Content ohne tiefe Verschachtelung darstellen kann. Dagegen wirkt so manche Universitäts-Webseite mit TYPO3 überfüllt und träge.</p>
<h3>Stattdessen hat Drupal CCK, Taxonomien und Views</h3>
<p>Die Strukturierung der Inhalte bei Drupal kann sowohl in Menüs als auch auf andere Weise geschehen. Wo TYPO3-Nutzer immer wieder auf tt_news zurückgreifen, um auch andere Arten von Objekten zu kategorisieren, ist es in Drupal schnell möglich, eigene Objekttypen (Content Types) mit dem Content Construction Kit (CCK) zu erstellen, diese dann durch jede Art von Taxonomien (Kategorien und/oder Tags) zu kennzeichnen, und dann mit &#8220;Views&#8221; auf komplexeste Art zu sortieren und als Listen, RSS-Feeds oder wie auch immer auszugeben. Views kann zudem noch auf externen Content irgendwo im Netz zugreifen, so auch demnächst sogar <a title="Öffnet Link in neuem Fenster" href="http://drupal.org/project/sparql_views" target="_blank">per SPARQL</a>.</p>
<h2>Was TYPO3 unbedingt ändern sollte</h2>
<p>TYPO3 hat auch Vorteile, und das sind die Dinge wie TemplaVoila, Typoscript, der Dateimanager, was jedoch schon vor Jahren erfunden wurde und bestimmt auch die Entscheidung vieler für TYPO3 als CMS bedingt hat. MVC-Struktur ist toll, aber das ist eben nur eine Voraussetzung des Systems für gute Arbeit, jedoch noch kein gute Arbeit an sich. Es sind nicht viele Dinge, die TYPO3 ändern muss, um an Drupal dran zu kommen. <strong>Die Lösung sind meiner Meinung nach 3 Erweiterungen. Wer sich an der Entwicklung beteiligen will bzw. diese sponsoren möchte, der melde sich bitte bei mir!</strong></p>
<h3>1. Taxonomy</h3>
<p>Taxonomien, also Tags und Kategorien dürfen nicht weiter an einzelnen Module und Inhaltstypen gebunden sein. Man muss sie aus dem Backend egal welchem Inhaltstyp zuordnen können, also allen Dingen, die auch in der Listenansicht auffindbar sind.</p>
<h3>1. User Content Types</h3>
<p>Es muss endlich eine Extension her, die das Erstellen von angepassten  Inhaltstypen ermöglicht. Das darf nicht weiterhin tt_news sein. Dazu  gehören dann auch bestimmte Felder wie Bild, Datei, Link, Upload sowie  Verknüpfung zu allen anderen Content Types.</p>
<h3>3. Views</h3>
<p>Man braucht etwas anderes als Typoscript, um diverse Content Types sowie sonstige Inhalte aus der Datenbank auszugeben. Das Views-Modul bei Drupal ist absolut vorbildlich mit dem, was alles möglich sein kann. Hieran sollte man anknüpfen und eine ähnliche Erweiterung entwickeln.</p>
<p>Diese drei Module sind meiner Meinung nach die Grundvoraussetzung für flexible Seitengestaltung in TYPO3.</p>
<p><strong>Für Hinweise, welche TYPO3-Extensions diese Möglichkeiten bereits bieten, sowie für Vorschläge, was man sonst noch von Drupal lernen kann, bin ich offen. Schreibt einfach Kommentare auf diese Seite.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/08/typo3-vs-drupal-vor-und-nachteile-und-was-typo3-dringend-machen-muss/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>private und public function mit Javascript</title>
		<link>http://blog.digitallifedesign.net/2010/08/private-und-public-function-mit-javascript/</link>
		<comments>http://blog.digitallifedesign.net/2010/08/private-und-public-function-mit-javascript/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:08:30 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web-Entwicklung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Klasse]]></category>
		<category><![CDATA[Objektorientierung]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[Sichtbarkeit von Funktionen]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=504</guid>
		<description><![CDATA[Klassen in Javascript? Private und öffentliche Funktionen? Ja, das geht. Als ich gerade im phphatesme-Blog den Artikel über objektorientiertes JavaScript [1] gelesen habe, dachte ich an ein Code-Snippet, das ich mir vor einigen Wochen zurechtgelegt hatte. Dieses Snippet kann etwas entscheidendes mehr als das phphatesme-Tutorial und dient mir als Grundlage für Javascript-Applikationen. Hier ist es:


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
var [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_511" class="wp-caption alignleft" style="width: 310px"><a rel="attachment wp-att-511" href="http://blog.digitallifedesign.net/2010/08/private-und-public-function-mit-javascript/javascript/"><img class="size-medium wp-image-511" title="Javascript kann weitaus mehr als Popups" src="http://blog.digitallifedesign.net/wp-content/uploads/2010/08/javascript-300x142.png" alt="Javascript kann weitaus mehr als Popups" width="300" height="142" /></a><p class="wp-caption-text">Javascript kann weitaus mehr als Popups</p></div>
<p>Klassen in Javascript? Private und öffentliche Funktionen? Ja, das geht. Als ich gerade im phphatesme-Blog den Artikel über objektorientiertes JavaScript <a href="http://www.phphatesme.com/blog/webentwicklung/objektorientiertes-javascript-2/"><em>[1]</em></a> gelesen habe, dachte ich an ein Code-Snippet, das ich mir vor einigen Wochen zurechtgelegt hatte. Dieses Snippet kann etwas entscheidendes mehr als das phphatesme-Tutorial und dient mir als Grundlage für Javascript-Applikationen. Hier ist es:<br />
<span id="more-504"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>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
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> meineApplikation <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> _defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #3366CC;">&quot;var1&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;value1&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #3366CC;">&quot;var2&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;value2&quot;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> _opts<span style="color: #339933;">;</span>	<span style="color: #006600; font-style: italic;">// Optionen</span>
	<span style="color: #003366; font-weight: bold;">var</span> _privateVariable<span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//Private Variable</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Private Funktionen</span>
	<span style="color: #003366; font-weight: bold;">function</span> _myPrivateFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		_privateVariable <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;blah&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Öffentliche Funktionen (public)</span>
	<span style="color: #000066; font-weight: bold;">return</span><span style="color: #009900;">&#123;</span>
		init<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #006600; font-style: italic;">// jQuery Methode zum Mischen der Benutzer-</span>
			<span style="color: #006600; font-style: italic;">// mit den Default-Optionen</span>
			_opts <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>_defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		test<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			_myPrivateFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;var1=&quot;</span><span style="color: #339933;">+</span>_ops.<span style="color: #660066;">var1</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;, var 2=&quot;</span><span style="color: #339933;">+</span>_opts.<span style="color: #660066;">var2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// application test</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// ändere var1, behalte andere</span>
meineApplikation.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">&quot;var1&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;changed value&quot;</span> 
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #006600; font-style: italic;">// Öffentliche Funktion</span>
meineApplikation.<span style="color: #660066;">test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #006600; font-style: italic;">// funktioniert</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Private Funktion</span>
meineApplikation._myPrivateFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// gibt Fehlermeldung zurück</span></pre></td></tr></table></div>

<p>Ich hoffe der Code hilft einigen hier. Über Feedbacks freue ich mich!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/08/private-und-public-function-mit-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Drupal Datenbank ändern</title>
		<link>http://blog.digitallifedesign.net/2010/07/drupal-datenbank-andern/</link>
		<comments>http://blog.digitallifedesign.net/2010/07/drupal-datenbank-andern/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 06:44:03 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[aktualisieren]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[mySQL]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Verbindung]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=501</guid>
		<description><![CDATA[Die Verbindung zur MySQL-Datenbank in Drupal nachträglich zu ändern ist ganz einfach. In der Datei sites/default/settings.php muss nur eine Zeile angepasst werden:

92
$db_url = 'mysqli://username:password@localhost/database';

Hier muss natürlich username, password und database durch den Benutzernamen, das Passwort und den Datenbanknamen ersetzt werden. Das war&#8217;s schon.
]]></description>
			<content:encoded><![CDATA[<p>Die Verbindung zur MySQL-Datenbank in Drupal nachträglich zu ändern ist ganz einfach. In der Datei <strong>sites/default/settings.php</strong> muss nur eine Zeile angepasst werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>92
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$db_url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'mysqli://username:password@localhost/database'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Hier muss natürlich <em>username</em>, <em>password</em> und <em>database</em> durch den Benutzernamen, das Passwort und den Datenbanknamen ersetzt werden. Das war&#8217;s schon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/07/drupal-datenbank-andern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: Typoscript ausführen nur für Backendbenutzer</title>
		<link>http://blog.digitallifedesign.net/2010/07/typo3-typoscript-ausfuhren-nur-fur-backendbenutzer/</link>
		<comments>http://blog.digitallifedesign.net/2010/07/typo3-typoscript-ausfuhren-nur-fur-backendbenutzer/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 11:41:31 +0000</pubDate>
		<dc:creator>drcho</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Typoscript]]></category>

		<guid isPermaLink="false">http://blog.digitallifedesign.net/?p=499</guid>
		<description><![CDATA[Wenn man an einer laufenden Website entwickelt, kommt es schnell zu Fehlermeldungen. Um den neuen Typoscript-Code nur für angemeldete Backend-Benutzer sichtbar zu machen, also nicht für die normalen Besucher, kann man folgende Zeile als Condition im Typoscript einfach einfügen:

1
2
3
4
5
#typoscript condition
&#91;globalVar = TSFE : beUserLogin &#62; 0&#93;
# hier der testcode
&#91;global&#93;
# hier wieder weiter

]]></description>
			<content:encoded><![CDATA[<p>Wenn man an einer laufenden Website entwickelt, kommt es schnell zu Fehlermeldungen. Um den neuen Typoscript-Code nur für angemeldete Backend-Benutzer sichtbar zu machen, also nicht für die normalen Besucher, kann man folgende Zeile als Condition im Typoscript einfach einfügen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #aaa; font-style: italic;">#typoscript condition</span>
<span style="color: #009900;">&#91;</span><span style="color: #ed7d14;">globalVar</span> <span style="color: #339933; font-weight: bold;">=</span> TSFE <span style="color: #339933; font-weight: bold;">:</span> beUserLogin <span style="color: #339933; font-weight: bold;">&gt;</span> <span style="color: #cc0000;">0</span><span style="color: #009900;">&#93;</span>
<span style="color: #aaa; font-style: italic;"># hier der testcode</span>
<span style="color: #009900;">&#91;</span><span style="color: #ed7d14;">global</span><span style="color: #009900;">&#93;</span>
<span style="color: #aaa; font-style: italic;"># hier wieder weiter</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.digitallifedesign.net/2010/07/typo3-typoscript-ausfuhren-nur-fur-backendbenutzer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

