<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://www.rapsli.ch">
<channel>
 <title>Rapslis Drupal World - Drupal</title>
 <link>http://www.rapsli.ch/taxonomy/term/6/0</link>
 <description />
 <language>de</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RapslisDrupalWorld-Drupal" /><feedburner:info uri="rapslisdrupalworld-drupal" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
 <title>Drupal Freelancer verdienen mehr als Joomla Freelancer</title>
 <link>http://www.rapsli.ch/drupal-freelancer-verdienen-mehr-als-joomla-freelancer</link>
 <description>&lt;p&gt;Ein Drupal Freelancer verdient im Durchschnitt knapp 1000$ pro Projekt, während ein Joomla Freelancer für ein Projekt knapp 500$ verdient. Das ist auf jeden Fall die Aussage einer Studie, welche von &lt;a href="http://www.donanza.com/blog/2010/10/25/work-from-home-market-trends-report-q3-2010/"&gt;DoNanza&lt;/a&gt; (grösste Suchmaschine für Heimarbeit und Freelancearbeiten) durchgeführt wurde. Wordpress Entwickler sind sogar noch etwas tiefer.&lt;/p&gt;

&lt;p&gt;Ich stelle mir die Frage, was zu dieser Kluft führt. Sind Joomla Entwickler weniger talentiert, lieferen schlechtere Qualität und sind daher schlechter bezahlt? Wohl kaum. Als Grund für diese Kluft sehe ich viel eher die unterschiedliche Marktposition von Drupal und Joomla:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Drupal:&lt;/strong&gt;&amp;nbsp;Anspruchsvolle, grosse Communityprojekte, komplexe Designs, viel Individualismus.&lt;br /&gt;
&lt;strong&gt;Joomla:&lt;/strong&gt;&amp;nbsp;KMU und Vereinsseiten.&lt;img alt="Grafik" src="http://www.donanza.com/images/trends/Q3_2010_report/avgbudget.png" title="Projektbudget Drupal, Joomla, Wordpress" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Durchschnittliches Projektbudget bei Wordpress-, Joomla- und Drupalprojekten.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sicher gibt es Ausnahmen. Ich denke jedoch, dass dies in etwa die Richtung aufzeigt. Nehmen wir einfach mal an, diese Annahme stimmt (Kommentar ist offen, falls du anderer Meinung bist), dann gibt es u.a. folgende Variablen, welche das Honorar (Projektbudget) beeinflussen: Projektdauer, Qualifikation des Entwicklers und in der heutigen Globalisierung der Projektumsetzungsort (grosser Unterschied ob in der Schweiz oder in Ungarn).&lt;/p&gt;
&lt;p&gt;&lt;img alt="Diagram" src="http://www.donanza.com/images/trends/Q3_2010_report/projectsamount.png" title="Amount of projects Drupal, Joomla, Wordpress" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Anzahl an Projekten in Wordpress, Joomla und Drupal&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Noch vorweggenommen: Es geht nicht genau hervor, ob die Zahlen auf Themer, Entwickler oder "Modulkenner und Klicker" (also derjenige, der die Seite konfiguriert) bezogen sind, sprich mit oder ohne PHP Kenntnisse. Ich gehe mal einfach davon aus, dass für die Zahlen in Joomla eher weniger PHP Kenntnisse benötigt werden als für Drupal (eine gute Drupalsite ohne PHP zu bauen ist sehr utopisch).&lt;/p&gt;
&lt;h3&gt;Drupalprojekte dauern länger&lt;/h3&gt;
&lt;p&gt;Logischerweise, je länger ein Projekt dauert, umso teurer wird es. In der Studie wäre es daher noch interessant, dies zu erfahren, was wir leider nicht können. Daher müssen wir auf unsere Annahme zurückgreifen: Drupal: grosse Communityprojekte, Joomla: KMU. Wir können somit annehmen, dass die Drupalprojekte im Durchschnitt länger dauern. Ein Drupalentwickler kann somit auch weniger Projekte pro Jahr durchführen. Kein Grund also, dass Drupal Entwickler besser verdienen.&lt;/p&gt;
&lt;h3&gt;Drupal Entwickler sind besser qualifiziert als Joomla Entwickler&lt;/h3&gt;
&lt;p&gt;Verbleibt noch die zweite Variable: Qualifikation des Freelancers. Und wie lässt sich diese messen. In der Wirtschaft ist (oftmals) der Stundensatz ein Gradmesser für Qualifikation (ob der Lohn von Gates oder Vasella lediglich von ihrer Qualifikation abhängt...???). Als ich als Drupal Freelancer während dem Studium gearbeitet habe, war mein Stundensatz noch bedeutend tiefer als er dies jetzt sein würde. Alles was sich geändert hat, ist ein Masterdiplom, welches ich besitze und 2 Jahre Erfahrung. Interessant wäre, wenn noch irgend ein Java oder .Net CMS in der Statistik wäre. Ich würde davon ausgehen, dass dort das Einkommen pro Projekt nochmals massiv höher ist, da die Einstiegshürde höher ist und höhere Ansprüche an den Entwickler gestellt werden. Vor ein paar Monaten habe ich mal ein wenig mit dem Java Springframework experimentiert (wenn Drupal ein Kinderdisney Buch ist, dann ist das Java Springframework "Krieg und Frieden" von Leo Tolstoi). Ein Javaprojekt umzusetzen erfordert daher auch ein höheres Budget, da mehr Komplexität und besser Qualifizierte Entwickler benötigt sind.&lt;/p&gt;
&lt;p&gt;Ich gehe daher mal davon aus, dass Drupalentwickler tendenziell besser ausgebildet sind als dies ein Joomla Entwickler ist. *...ich lass mich mal wieder auf eine hitzige Diskussion ein...*. Ich denke jedoch, dass allgemein in PHP Projekten gut ausgebildete Entwickler/Architekten fehlen.&lt;/p&gt;
&lt;h3&gt;Drupal fehlen kompetente Entwickler&lt;/h3&gt;
&lt;p&gt;So. Ich habe mir wieder Feinde geschaffen. Ich denke jedoch, dass es wirklich ein Problem von Drupal/PHP ist, gute Software Entwickler/Engineere zu finden (nicht dass es die nicht gibt, aber neben den guten Entwickler gibt es auch sehr viel Ramsch). Die Art und Weise, wie ein ausgebildeter Entwickler Probleme löst ist komplett anders, als dies ein "Garagenprogrammierer" macht. Die Fähigkeiten, Probleme zu erkennen, zu verstehen und selbstständig Lösungen zu entwickeln ist anspruchsvoller als man denkt. Es ist jedoch für einen ausgewachsenen Software Engineer, welcher 4-5 Jahre studiert hat, wenig attraktiv ein paar Websites zu bauen. Ein Tiefbauengineer baut wohl auch lieber den Gotthard Tunnel als ein Sandloch. Wäre ein interessantes Thema für einen eigenen Artikel. Daher ist es wohl auch so schwierig gute PHP Leute zu finden.&lt;/p&gt;
&lt;p&gt;Nicht zuletzt ist es auch ein Lohnproblem. Die Grafik von indeed.com zeigt dieser sehr schön auf. PHP ist verhältnismässig einfach zu erlernen und wird in eher einfacheren Projekten eingesetzt. Die Löhne sind daher auch tiefer.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Lohngrafik" src="http://img834.imageshack.us/img834/1866/trends.png" title="Lohn im Vergleich, PHP, Java, Ruby, .net" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Quelle: &lt;a href="http://www.indeed.com/salary?q1=php&amp;amp;l1=&amp;amp;q2=java&amp;amp;l2=&amp;amp;q3=.net&amp;amp;l3=&amp;amp;q4=ruby&amp;amp;l4=&amp;amp;tm=1"&gt;indeed.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Fazit&lt;/h3&gt;
&lt;p&gt;Wer schlussendlich besser verdient lässt sich nicht wirklich aus den Zahlen belegen. Schade ;). Es zeigt jedoch wieder mal, dass für alle ein Markt vorhanden ist. Joomla und Wordpress wachsen schnell mit einfachen und kleineren Projekten. Drupal sucht sich die grösseren, individuelleren Projekte heraus, obwohl hier vermehrt auch Anstrengungen im Gang sind, Drupal als Produkt (z.B. OpenPublish, OpenAtrium usw) besser am extrem schnell wachsenden Joomla Markt zu platzieren.&lt;/p&gt;
&lt;p&gt;Was sind deine Erfahrungen? Verdienen Drupalentwickler besser?&lt;/p&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/drupal-freelancer-verdienen-mehr-als-joomla-freelancer';
digg_title = 'Drupal Freelancer verdienen mehr als Joomla Freelancer';
digg_bodytext = "Ein Drupal Freelancer verdient im Durchschnitt knapp 1000$ pro Projekt, während ein Joomla Freelancer für ein Projekt knapp 500$ verdient. Das ist auf jeden Fall die Aussage einer Studie, welche von DoNanza (grösste Suchmaschine für Heimarbeit und Freelancearbeiten) durchgeführt wurde. Wordpress Entwickler sind sogar noch etwas tiefer.";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/drupal-freelancer-verdienen-mehr-als-joomla-freelancer#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/cms">cms</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/entwickler">entwickler</category>
 <category domain="http://www.rapsli.ch/category/general/joomla">joomla</category>
 <category domain="http://www.rapsli.ch/category/general/php">PHP</category>
 <category domain="http://www.rapsli.ch/category/general/wordpress">wordpress</category>
 <pubDate>Mon, 08 Nov 2010 08:30:17 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">577 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Drupalseiten einfach für Mobile aufbereiten (Tutorial) - Teil II</title>
 <link>http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial-teil-ii</link>
 <description>&lt;p&gt;&lt;img alt="" src="http://img607.imageshack.us/img607/892/1284759555iphonepictofi.png" style="margin-left: 5px; margin-right: 5px; float: left; width: 200px; height: 250px; "&gt;&lt;/p&gt;
&lt;p&gt;Im &lt;a href="/node/575"&gt;ersten Teil&lt;/a&gt; ging es darum, das Theme zu wechseln, sobald ein Benutzer mit einem Mobiltelefon kommt. Das ging ja auch ganz einfach, wir verlieren dabei jedoch Cachingmöglichkeiten. Für kleinere Seiten sicher kein Problem, falls es etwas grösser wird jedoch undenkbar.&lt;/p&gt;
&lt;p&gt;Caching wird ab einer bestimmten Popularität der Webseite unumgänglich. Daher ist es doch sehr erstrebenswert, auch für unser Problem eine Lösung zu finden. Wollen wir doch zuerst mal ganz schnell ein paar Cachingmechanismen in Drupal anschauen:&lt;/p&gt;
&lt;p&gt;&lt;!--break--&gt;&lt;!--break--&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Einzelne Elemente cachen (z.B. Blockcache). Nehmen wir an, wir hätten einen Block der die Weltformel berechnet und das dauert 20 Sekunden. Wir wollen natürlich nicht, dass diese bei jedem Seitenaufruf neu berechnet werden wird, da das Resultat jeden Tag gleich bleibt: Wir berechnen den Block einmal und zwischenspeichern (cachen) das Resultat. Dem nächsten Besucher wird dann der bereits berechnete Block serviert.&lt;/li&gt;
&lt;li&gt;Für den anonymen Besucher wird die ganze Seite gecached. Z.B. der Page Cache oder Boost. Vom Prinzip her genau gleich wie das Beispiel vorher, aber halt auf die ganze Seite bezogen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nehmen wir also an, wir schalten den Page Cache an:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ein Besucher (Fritz) kommt. Drupal und die Datenbank rechnen und rendern. Die Seite wird ausgegeben und das ausgegebene Stück HTML wird zwischengespeichert.&lt;/li&gt;
&lt;li&gt;Ein weiterer Besucher (Hans) kommt auf die selbe Seite. Bevor Drupal überhaupt irgend etwas macht, wird im Cache geschaut, ob da evtl. bereits etwas vorhanden ist: Hurra, ja: Seite servieren und schluss.&lt;/li&gt;
&lt;li&gt;Ein IPhone Jünger (Steve, natürlich via IPhone) kommt auf eine neue Seite (die weder Fritz noch Hans vorher besucht haben). Drupal schaut im Cache, findet nichts. Drupal merkt, aha, hier kommt ein IPhone daher, also Theme umstellen. Jetzt wird gearbeitet und die Seite zusammengestellt und das HTML schlussendlich ausliefern und im Cache ablegen.&lt;/li&gt;
&lt;li&gt;Hans folgt Steve. Drupal schaut wieder im Cache und findet eine Seite, weiss jedoch nicht, dass die im Cache liegende Seite eigentlich nur für Mobilgeräte gültig ist. Hans bekommt nun die Mobileseite ausgeliefert... er wird wohl nicht wirklich begeistert sein.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So. Wir haben also zwei Möglichkeiten. Beide sind in Drupalumsetzbar:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Die Mobileseite so auslieferen, dass Drupal für Mobile und Desktop das Gefühl hat es wäre eine andere Seite (mittels Subdomain)&lt;/li&gt;
&lt;li&gt;Den Cachingmechanismus so anpassen, so dass er nach Theme unterscheidet.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ich habe mich für die erste Möglichkeit entschieden, da diese viel einfacher umsetzbar ist:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Einen Domainalias &lt;a href="http://m.rapsli.ch" title="http://m.rapsli.ch"&gt;http://m.rapsli.ch&lt;/a&gt; anlegen (die Domain zeigt auf den gleichen Server wie rapsli.ch), ein sog. Domain Alias. Leider wird diese Möglichkeit nicht von allen Hostern angeboten (besonders nicht von den günstigen).&lt;/li&gt;
&lt;li&gt;Jetzt geht es nur noch darum, mobile Geräte auf diese Domain weiterzuleiten. Dazu dient ein einfacher Eintrag in der Datei .htaccess&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;1. RewriteCond %{SERVER_NAME} !^m.rapsli.ch$ [NC]
# a bunch of user agent tests
2. RewriteCond %{HTTP_USER_AGENT} (nokia|symbian|iphone|blackberry|android) [NC]
3. RewriteRule ^(.*)$ &lt;a href="http://m.rapsli.ch" title="http://m.rapsli.ch"&gt;http://m.rapsli.ch&lt;/a&gt; [L,R=301]
&lt;/pre&gt;&lt;p&gt;Kurze Erklärung dazu:&lt;/p&gt;
&lt;p&gt;Zeile 1: Da es es lediglich um einen Domain Alias handelt, verwenden beide Domains das gleiche .htaccess. Um zu vermeiden, dass ein Mobilgerät immer wieder weitergeleitet, machen wir auf der Subdomain nichts.&lt;br&gt;&lt;br /&gt;
Zeile 2: Wir stellen die Bediengung, dass es nokia, symbian, iphone,.... ist&amp;nbsp;&lt;br&gt;&lt;br /&gt;
Zeile 3: Falls das alles zutrifft, dann machen wir die Weiterleitung auf m.rapsli.ch&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Das war es dann eigentlich auch schon. Jetzt können wir den Cache auch wieder einschalten.&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-nodereferenz"&gt;
      &lt;div class="field-label"&gt;Verwandte Beiträge:&amp;nbsp;&lt;/div&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;a href="/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial"&gt;Drupalseiten einfach für Mobile aufbereiten (Tutorial)&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial-teil-ii';
digg_title = 'Drupalseiten einfach für Mobile aufbereiten (Tutorial) -';
digg_bodytext = "Im ersten Teil ging es darum, das Theme zu wechseln, sobald ein Benutzer mit einem Mobiltelefon kommt. Das ging ja auch ganz einfach, wir verlieren dabei jedoch Cachingmöglichkeiten. Für kleinere Seiten sicher kein Problem, falls es etwas grösser wird jedoch undenkbar.Caching wird ab einer bestimmten Popularität der Webseite unumgänglich. Daher ist";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial-teil-ii#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/android">android</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/handy">handy</category>
 <category domain="http://www.rapsli.ch/category/general/htaccess">htaccess</category>
 <category domain="http://www.rapsli.ch/category/general/iphone">iphone</category>
 <category domain="http://www.rapsli.ch/category/general/mobile">mobile</category>
 <category domain="http://www.rapsli.ch/category/general/redirect">redirect</category>
 <category domain="http://www.rapsli.ch/category/general/theme">theme</category>
 <category domain="http://www.rapsli.ch/category/general/tutorial">tutorial</category>
 <pubDate>Thu, 04 Nov 2010 07:04:14 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">576 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Drupalseiten einfach für Mobile aufbereiten (Tutorial)</title>
 <link>http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial</link>
 <description>&lt;p&gt;Mit dem IPhone ist das mobile Internet in eine neue Runde gegangen. Das WAP hat ja nicht wirklich den Durchbruch geschafft. Ich glaube ich war 1x auf einer WAP Seite mit meinem Handy und auch genauso schnell wieder weg. Fürchterlich. Zweckdienlich, aber nicht wirklich spassig.&lt;/p&gt;
&lt;p&gt;Jetzt sieht es schon ganz anders aus. Täglich bin ich eigentlich mobile im Internet unterwegs. Zu den Websites welche ich fleissig aufrufe gehören&amp;nbsp;u.a.&amp;nbsp;&lt;a href="http://www.tagesanzeiger.ch/mobile/"&gt;Tagesanzeiger.ch&lt;/a&gt; und &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;. Erst da merkt man, wie viel angenehmer es ist, auf einer solche Seite zu lesen anstatt eine ganz normale, welche nicht fürs Mobile optimiert ist. Auf diesen Seiten muss man dann nämlich immer blöd nach rechts scrollen. Nervig.&lt;/p&gt;
&lt;p&gt;Noch nerviger: Das Feed wird nur als Teaser freigegeben. Das führt dann dazu, dass man auf die Seite gehen muss um den kompletten Eintrag zu lesen und die Seite ist dann meistens nicht für Mobile optimiert -&amp;gt; diese Einträge lese ich dann in vielen Fällen nicht.&lt;/p&gt;
&lt;p&gt;Meine Bitte: komplettes Feed rausgeben. Alle Mobileleser werden euch dafür dankbar sein.&lt;/p&gt;
&lt;p&gt;Also, ich habe mich immer über mein eigenes Blog genervt. Ich konnte es zwar einigermassen auf meinem Android G1 lesen, aber wirklich gut war auch das nicht. Falls jemand anderer Meinung ist, kann er das gerne im Kommentar geben&lt;/p&gt;
&lt;h3&gt;Mobile Theme Tutorial - 10 Minuten&lt;/h3&gt;
&lt;p&gt;Voraussetzungen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://drupal.org/project/browscap"&gt;Browscap&lt;/a&gt; installieren.&lt;/li&gt;
&lt;li&gt;[Update]&amp;nbsp;&lt;a href="http://drupal.org/project/mobile_theme"&gt;Mobile Theme&lt;/a&gt; installieren (danke &lt;a href="http://www.redpanda.ch"&gt;redpand&lt;/a&gt;a)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drupal.org/project/seven"&gt;Seven Theme&lt;/a&gt; aktivieren.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das ist eigentlich auch schon alles. Das ganze noch konfigurieren und schon macht man alle Mobilebenutzer glücklich:&lt;/p&gt;
&lt;p&gt;admin/settings/browscap&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img440.imageshack.us/img440/4572/mobile1u.jpg"&gt;&lt;img alt="Screenshot" class="inline" height="305" src="http://img440.imageshack.us/img440/4572/mobile1u.jpg" title="Browscamp Settings" width="599" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;admin/build/themes/settings/global&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img541.imageshack.us/img541/5757/mobile2h.jpg"&gt;&lt;img alt="Screenshot" class="inline" height="305" src="http://img541.imageshack.us/img541/5757/mobile2h.jpg" title="Mobile Theme Settings" width="599" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Jetzt noch die Blöcke ein wenig umkonfigurieren. Das Seven Theme kennt links und rechts keine Regions. Sprich, falls man dennoch Blöcke haben möchte, dann würden die wohl ganz unten im Footer am meisten Sinn machen.&lt;/p&gt;
&lt;p&gt;Schon fertig und das Internet hat wieder eine Seite mehr, welche auch für Handybenützer einfach lesbar ist. Natürlich lässt sich das ganze noch beliebig ausbauen und verschönern.&lt;/p&gt;
&lt;p&gt;Einen kleinen Wehrmutstropfen gibt es allerdings: Falls der Pagecache aktiviert ist, dann funktioniert das ganze nicht. Ausweg: Eine Subdomain, z.B. &lt;a href="http://m.rapsli.ch" title="http://m.rapsli.ch"&gt;http://m.rapsli.ch&lt;/a&gt; und dann für diese Domain das Theme wechseln.&lt;/p&gt;
&lt;p&gt;PS: Irgendwie klappt es nicht so ganz mit Screenshots auf meinem Android. Wäre cool, wenn jemand einen Screenshot irgendwo hochladen könnte. Danke.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-nodereferenz"&gt;
      &lt;div class="field-label"&gt;Verwandte Beiträge:&amp;nbsp;&lt;/div&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;a href="/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial-teil-ii"&gt;Drupalseiten einfach für Mobile aufbereiten (Tutorial) - Teil II&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial';
digg_title = 'Drupalseiten einfach für Mobile aufbereiten (Tutorial)';
digg_bodytext = "Mit dem IPhone ist das mobile Internet in eine neue Runde gegangen. Das WAP hat ja nicht wirklich den Durchbruch geschafft. Ich glaube ich war 1x auf einer WAP Seite mit meinem Handy und auch genauso schnell wieder weg. Fürchterlich. Zweckdienlich, aber nicht wirklich spassig.";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/drupalseiten-einfach-fuer-mobile-aufbereiten-tutorial#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/android">android</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/handy">handy</category>
 <category domain="http://www.rapsli.ch/category/general/iphone">iphone</category>
 <category domain="http://www.rapsli.ch/category/general/mobile">mobile</category>
 <category domain="http://www.rapsli.ch/category/general/theme">theme</category>
 <category domain="http://www.rapsli.ch/category/general/tutorial">tutorial</category>
 <pubDate>Wed, 03 Nov 2010 07:57:01 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">575 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Scrum in einem Drupalprojekt Teil III</title>
 <link>http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-iii</link>
 <description>&lt;p&gt;&amp;nbsp;&lt;a href="/node/570"&gt;Im Teil II dieses Artikels&lt;/a&gt; habe ich die allgemeinen Randbedingungen beschrieben. Hier in diesem Beitrag m&amp;ouml;chte ich ein paar Aspekte beleuchten: Wo sind Fehler aufgetreten, was ist gut gelaufen, was m&amp;uuml;ssten wir besser machen, usw.&lt;/p&gt;
&lt;h3&gt;Fangen wir doch mal mit den Positiven Sachen an&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Kunde war alle zwei Wochen f&amp;uuml;r einen Nachmittag bei uns, um das Projekt anzuschauen und offene Fragen zu besprechen, sowie die Planung der n&amp;auml;chsten Aufgaben. Das ganze Team war jeweils w&amp;auml;hrend des Er&amp;ouml;ffnungsteils anwesend. Dadurch hatte auch das ganze Team ein &amp;quot;Gesp&amp;uuml;r&amp;quot; f&amp;uuml;r den Kunden.&lt;/li&gt;
&lt;li&gt;Projektstart war extrem positiv. Das Team war voll drin, wurde nicht durch andere Projekte/Arbeiten abgelenkt. Es herrschte super Stimmung. Jeder f&amp;uuml;hlte sich als Teil des Teams und Projekts. So macht es auch gleich mehr Spass. Die positive Stimmung ist auch immer gut f&amp;uuml;r die Kommunikation. Dailys Scrums waren in dieser Zeit sehr aufgestellt, unterhaltsam und zugleich informativ.&lt;/li&gt;
&lt;li&gt;Drupal ist hervorragend f&amp;uuml;r Scrum geeignet. Bereits nach einigen Tagen gibt es eine funktionierende Anwendung, die zwar noch Ecken und Kanten hat, aber immerhin l&amp;auml;uft.&lt;/li&gt;
&lt;li&gt;Unser Scrumboard war zwar sehr einfach, aber sehr effektiv. Wir konnten uns voll und ganz auf den Scrumprozess konzentrieren, ohne dass wir uns noch mit irgendwelchen Tools h&amp;auml;tten plagen m&amp;uuml;ssen. Von daher f&amp;uuml;r den Einstieg ein super gute L&amp;ouml;sung: Jeder sieht auf einen Blick, wer gerade woran arbeitet und wer evtl. noch Hilfe braucht.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Es gibt aber auch einige M&amp;auml;ngel&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Das Projekte verw&amp;auml;sserte gegen Projektabschluss: Mitarbeiter wurden aus dem Team gezogen (Tods&amp;uuml;nde) und viele Ablenkungen durch andere Projekte/Arbeiten waren hier die Hauptkomponenten. Wenn man den Projektverlauf ein wenig genauer anschaut, dann waren die ersten Sprints sehr effektiv: Es gab viel Arbeit, jeder war besch&amp;auml;ftigt. Gegen Ende des Projekts gab es dann keine grossen Baustellen mehr, sondern noch schleifen und feilen an den Ecken. Irgendwie gab es hier noch einen Koordinationsmangel im Kleinen.&lt;/li&gt;
&lt;li&gt;Leider mussten wir feststellen, dass der Kunde seinen Pflichten nicht nachkam und so extrem viel Inhalt fehlte. Das f&amp;uuml;hrte dazu, dass: Migrationen nicht gemacht werden konnten, ein Gesamtbild der Seite sehr sp&amp;auml;t m&amp;ouml;glich war und eben User Stories als (theoretisch) abgeschlossen waren, aber halt noch nicht getestet werden konnten, weil noch Inhalte/Daten Fehlten. Beispiel: Paymentschnittstelle Postfinance. Eingekauftes Modul, installiert. Task abgeschlossen. Es fehlten Zugangsdaten, um das ganze auch richtig zu testen. 1 Monat sp&amp;auml;ter kamen die dann: 1/2 Tag Aufwand, um es einzurichten und daraus resultierende Fehler noch zu beheben.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Was w&amp;uuml;rde/werde ich im n&amp;auml;chsten Projekt anders machen&lt;/h3&gt;
&lt;p&gt;Den Kunden noch besser mit einplanen und einbeziehen. Dazu geh&amp;ouml;rt meiner Meinung:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dem Kunden bei Projektbeginn klip und klar machen, dass sein Mitarbeiten unbedingt notwendig ist. Auch der Kunde hat Pflichten! Er muss verstehen, dass wenn er seine Sachen nicht tut, die logische Folge ist, dass sich das Projekt versp&amp;auml;tet.&lt;/li&gt;
&lt;li&gt;Bessere Definition von fertig. Solange man Userstories abschliessen kann, welche nur die Aufmerksamkeit des Entwicklers brauchen, ist es wohl relativ klar. Sehr oft ist man jedoch auf irgendwelche Daten angewiesen: Zugangsdaten zu Schnittstellen, Musterdaten usw. Fertig ist ein Task erst, wenn diese Sachen mit drin sind ... der Kunde muss das auch verstehen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-nodereferenz"&gt;
      &lt;div class="field-label"&gt;Verwandte Beiträge:&amp;nbsp;&lt;/div&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;a href="/scrum-einem-drupalprojekt"&gt;Scrum in einem Drupalprojekt&lt;/a&gt;        &lt;/div&gt;
              &lt;div class="field-item even"&gt;
                    &lt;a href="/scrum-einem-drupalprojekt-teil-ii"&gt;Scrum in einem Drupalprojekt Teil II&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-iii';
digg_title = 'Scrum in einem Drupalprojekt Teil III';
digg_bodytext = "\x26nbsp;Im Teil II dieses Artikels habe ich die allgemeinen Randbedingungen beschrieben. Hier in diesem Beitrag m\x26ouml;chte ich ein paar Aspekte beleuchten: Wo sind Fehler aufgetreten, was ist gut gelaufen, was m\x26uuml;ssten wir besser machen, usw.";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-iii#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/agile">agile</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/erfahrungen">erfahrungen</category>
 <category domain="http://www.rapsli.ch/category/general/pm">pm</category>
 <category domain="http://www.rapsli.ch/category/general/projektmanagement">projektmanagement</category>
 <category domain="http://www.rapsli.ch/category/general/review">review</category>
 <category domain="http://www.rapsli.ch/category/general/scrum">scrum</category>
 <pubDate>Mon, 01 Nov 2010 06:00:41 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">573 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Umstieg von Typo3 auf Drupal</title>
 <link>http://www.rapsli.ch/umstieg-von-typo3-auf-drupal</link>
 <description>&lt;p&gt;Vor 2 Wochen habe ich bei ein paar Entwicklern eine kleine Drupaleinführung für Entwickler gemacht. Dabei waren ca. 7 Entwickler anwesend. Einige kamen aus der Joomla Welt (bzw. haben dort Erfahrungen gesammelt) und andere von Typo3. Einen &lt;a href="/node/217"&gt;Drupal vs. Joomla Beitrag&lt;/a&gt; habe ich ja bereits geschrieben... und der scheint die Gemüter hochzutreiben. Daher ein paar Zeilen zu Drupal vs. Typo3.&lt;/p&gt;
&lt;p&gt;Ich muss fairerweise sagen, dass ich keine tiefen Typo3 Kenntnisse habe. Ich habe es vor langer Zeit mal lokal installiert und musste an der Uni einmal ein paar Inhalt ändern. Mag durchaus sein, dass sich seither einiges geändert hat... ich bin schon mal gespannt auf Kommentare&amp;nbsp;&lt;img alt="" src="/sites/all/modules/fckeditor/fckeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Wie dem auch sei. Aus dem Gespräch mit den Typo3 Kennern kommt immer das eine oder andere heraus. Typo3 scheint auf jeden Fall ein sehr mächtiges Werkzeug zu sein. Respekt. Der grosse Unterschied zwischen Drupal ist jedoch sehr grundlegend:&lt;/p&gt;
&lt;p&gt;Inhalte (sog. Nodes) in Drupal landen alle in einem riesigen Topf. Alle sind gleich. Es gibt keine Struktur und es gibt keine eigentlich Seiten, sondern nur lose Inhalte. Es liegt nun am Bauer einer Seite, diese Strukturen herzustellen, dazu gibt es diverse Möglichkeiten: Taxonomy, Inhaltstypen, CCK.&lt;/p&gt;
&lt;p&gt;Typo3, so wie ich das sehe, hat Seiten. Sprich: Ich lege eine Startseite, eine About us und eine Kontaktseite an. Dann kann ich natürlich auch Hierarchien anlegen, welche dann in einem schönen Menubaum dargestellt werden. Ich bearbeite jedoch die Seite als ganzes. Möchte ich also einen Inhalt von A nach B verschieben, dann mache ich das wirklich physikalisch... kopieren (wahrscheinlich kann man auch irgendwelche Verküpfungen machen, sollte ein Inhalt doppelt vorhanden sein).&lt;/p&gt;
&lt;p&gt;In Drupal ist wie gesagt der Grundgedanke anders und viel weniger auf solche starren Seiten ausgelegt, sondern Inhalt erstellen und dann über Ansichten an den entsprechenden Orten erscheinen lassen.&lt;/p&gt;
&lt;p&gt;So, ich lasse mich sehr gerne belehren... Für alle Drupal Fans: Hier kann man mal ein wenig mit &lt;a href="http://www.newmedecon.com/online_demo.php"&gt;Typo3 spielen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hier ein paar Screenshots aus dem Backend, wenn eine Seite erstellt wird:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img36.imageshack.us/img36/8981/typo31.jpg"&gt;&lt;img alt="Typo 3 Backend - Screenshot" class="inline" height="305" src="http://img36.imageshack.us/img36/8981/typo31.jpg" title="Typo 3 Backend - Screenshot" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img25.imageshack.us/img25/4632/typo32.jpg"&gt;&lt;img alt="Typo 3 Backend - Screenshot" class="inline" height="305" src="http://img25.imageshack.us/img25/4632/typo32.jpg" title="Typo 3 Backend - Screenshot" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img215.imageshack.us/img215/7181/typo33.jpg"&gt;&lt;img alt="" class="inline" height="305" src="http://img215.imageshack.us/img215/7181/typo33.jpg" title="Typo 3 Backend - Screenshot" width="599" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/umstieg-von-typo3-auf-drupal';
digg_title = 'Umstieg von Typo3 auf Drupal';
digg_bodytext = "Vor 2 Wochen habe ich bei ein paar Entwicklern eine kleine Drupaleinführung für Entwickler gemacht. Dabei waren ca. 7 Entwickler anwesend. Einige kamen aus der Joomla Welt (bzw. haben dort Erfahrungen gesammelt) und andere von Typo3. Einen Drupal vs. Joomla Beitrag habe ich ja bereits geschrieben... und der scheint die Gemüter hochzutreiben. Daher";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/umstieg-von-typo3-auf-drupal#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/cms">cms</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/review">review</category>
 <category domain="http://www.rapsli.ch/category/general/typo">typo</category>
 <category domain="http://www.rapsli.ch/category/general/typo3">typo3</category>
 <category domain="http://www.rapsli.ch/category/general/unterschied">unterschied</category>
 <category domain="http://www.rapsli.ch/category/general/vergleich">vergleich</category>
 <pubDate>Fri, 29 Oct 2010 06:29:57 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">572 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Scrum in einem Drupalprojekt Teil II</title>
 <link>http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-ii</link>
 <description>&lt;p&gt;Vor zwei Monaten habe ich einen &lt;a href="/node/562"&gt;ersten Scrum Erfahrungsbericht&lt;/a&gt; geschrieben. Damals standen wir noch am Anfang des Projektes. Jetzt zwei Monate sp&amp;auml;ter stehen wir mehr oder weniger am Ende. Ein guter Zeitpunkt, um ein kleines (oder gr&amp;ouml;sseres) Fazit zu ziehen.&lt;/p&gt;
&lt;p&gt;Wer nicht weiss, was Scrum ist, soll doch am Besten mal bei &lt;a href="http://de.wikipedia.org/wiki/Scrum"&gt;Wikipedia&lt;/a&gt; vorbeischauen. Dort gibt es eine ausf&amp;uuml;hrliche Erkl&amp;auml;rung&lt;/p&gt;
&lt;p&gt;Zuerst einige Randbedingungen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Als Backlog dient Jira. Eine &amp;auml;ltere Version ohne Agile/Scrum Unterst&amp;uuml;tzung&lt;/li&gt;
&lt;li&gt;Sprintdauer sind zwei Wochen.&lt;/li&gt;
&lt;li&gt;Teamgr&amp;ouml;sse: 4 Entwickler und 1 Designer&lt;/li&gt;
&lt;li&gt;Das Projekt basiert auf Drupal. Es ist eine Tageszeitung mit diversen Schnittstellen an Redaktionssysteme und SDA.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Der Prozess sah ungef&amp;auml;hr wie folgt aus:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Retrospektive. Dazu musste jedes Teammitglied zu den folgenden 4 Punkten Auskunft geben:
&lt;ol&gt;
&lt;li&gt;Teamgeist&lt;/li&gt;
&lt;li&gt;Zufriedenheit mit den Tasks&lt;/li&gt;
&lt;li&gt;Ablenkung von Aussen&lt;/li&gt;
&lt;li&gt;Kommunikation im Team&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
    Backlog sch&amp;auml;tzen. Wir haben es mit sog. Scrum-Pokerkarten gemacht. Ich pers&amp;ouml;nlich fand diese Methode extrem n&amp;uuml;tzlich.
    &lt;/li&gt;
&lt;li&gt;Sprint erstmals grob zusammenstellen&lt;/li&gt;
&lt;li&gt;Dem Kunden als ganzes Team zeigen, was wir gemacht haben&lt;/li&gt;
&lt;li&gt;Sprint definitiv festlegen&lt;/li&gt;
&lt;li&gt;Fragen und Details im kleinen Rahmen mit dem Kunden diskutieren&lt;/li&gt;
&lt;li&gt;... sprinten... daily scrum ... sprinten ... daily scrum... und dann f&amp;auml;ngts wieder von vorne an&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;F&amp;uuml;r die Sprintplanung haben wir ein einfaches Flipchart verwendet, das ungef&amp;auml;hr so aussah:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://img5.imageshack.us/img5/7365/scrum.jpg"&gt;&lt;img class="inline" width="600" height="800" alt="" src="http://img5.imageshack.us/img5/7365/scrum.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Die blauen Zettel stellen User Stories dar. Die gelben Zettel die daraus resultierenden Tasks. Die Tafel stand in unserem B&amp;uuml;ro und so hatte jeder stets im Blick, was noch offen ist.&lt;/p&gt;
&lt;p&gt;Von der technischen Umsetzung gingen wir grob gesagt wie folgt vor:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Design kam geliefert als Photoshop Datei&lt;/li&gt;
&lt;li&gt;Drupal Grundinstallation, diverse Grundinhaltstypen&lt;/li&gt;
&lt;li&gt;Zentrale Elemente f&amp;uuml;r die Zugriffsberechtigung auf Artikel&lt;/li&gt;
&lt;li&gt;Implementation der diversen Schnittstellen&lt;/li&gt;
&lt;li&gt;Erstellung der &amp;Uuml;bersichtsseiten&lt;/li&gt;
&lt;li&gt;Aufr&amp;auml;umarbeiten und der ganze Rest&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Die ganzen Entwicklungen haben wir in Features gepackt und dann via SVN regelm&amp;auml;ssig (1x pro Stunde) auf den Entwicklungsserver gestellt. Dadurch hat jeder Entwickler laufend die &amp;Auml;nderungen von den anderen Teammitgliedern auch bei sich gehabt und ist zu jederzeit aufgefordert, Bugs in Jira als solches festzuhalten. Kleinere Bugs haben wir daher nicht immer gleich sofort gesammelt, sondern sog. &amp;quot;Bugdays&amp;quot; geplant, an denen sich das Team ausschliesslich Bugs widmet. In diesem Projekt hielt sich die Anzahl an Bugs massiv in Grenzen (oder kommen noch ;) daher hatten wir auch keine wirklichen &amp;quot;Bugdays&amp;quot;.&lt;/p&gt;
&lt;p&gt;Damit sind jetzt auch die Randbedingungen klar. Um diesen Eintrag nicht noch weiter in die L&amp;auml;nge zu ziehen, werde ich die daraus gezogenen Erfahrungen in einem n&amp;auml;chsten Blogpost schildern, denn es gibt doch die eine oder andere Lehre.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-nodereferenz"&gt;
      &lt;div class="field-label"&gt;Verwandte Beiträge:&amp;nbsp;&lt;/div&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;a href="/scrum-einem-drupalprojekt"&gt;Scrum in einem Drupalprojekt&lt;/a&gt;        &lt;/div&gt;
              &lt;div class="field-item even"&gt;
                    &lt;a href="/scrum-einem-drupalprojekt-teil-iii"&gt;Scrum in einem Drupalprojekt Teil III&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-ii';
digg_title = 'Scrum in einem Drupalprojekt Teil II';
digg_bodytext = "Vor zwei Monaten habe ich einen ersten Scrum Erfahrungsbericht geschrieben. Damals standen wir noch am Anfang des Projektes. Jetzt zwei Monate sp\x26auml;ter stehen wir mehr oder weniger am Ende. Ein guter Zeitpunkt, um ein kleines (oder gr\x26ouml;sseres) Fazit zu ziehen.\r\nWer nicht weiss, was Scrum ist, soll doch am Besten mal bei Wikipedia";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/scrum-einem-drupalprojekt-teil-ii#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/agile">agile</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/erfahrungen">erfahrungen</category>
 <category domain="http://www.rapsli.ch/category/general/pm">pm</category>
 <category domain="http://www.rapsli.ch/category/general/projektmanagement">projektmanagement</category>
 <category domain="http://www.rapsli.ch/category/general/review">review</category>
 <category domain="http://www.rapsli.ch/category/general/scrum">scrum</category>
 <pubDate>Wed, 27 Oct 2010 21:07:50 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">570 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Aufwandschätzungen sind doch kein Zufall</title>
 <link>http://www.rapsli.ch/aufwandschaetzungen-sind-doch-kein-zufall</link>
 <description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Letzte Woche hat mich ein Arbeitskollege gefragt, ob ich kurz ein kleines Teilprojekt sch&amp;auml;tzen k&amp;ouml;nnte. Hintergrund: Der Kunde wollte ein paar funktionale Erweiterungen f&amp;uuml;r die bestehende Webseite. Mein Arbeitskollege hatte bereits eine Aufwandsch&amp;auml;tzung gemacht, welche jedoch aus Kundensicht viel zu hoch schien. Also bat er mich, auch einen Blick darauf zu werfen.&lt;/p&gt;
&lt;p&gt;Ich kannte das Projekt ein wenig aus der Entwicklungsphase, da ich dort in einigen konzeptionellen Fragen involviert war. Ich hatte jedoch absolut keine Ahnung von den neuen Kundenw&amp;uuml;nsche und schon gar nicht, was mein Arbeitskollege gesch&amp;auml;tzt hat.&lt;/p&gt;
&lt;p&gt;So machte ich mich an die Arbeit, ich hatte eine Liste mit ca. 10 Punkten aus der Offerte. Ich ging die Liste Punkt f&amp;uuml;r Punkt durch und mir die folgenden Fragen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wie l&amp;auml;sst sich der Punkt umsetzen?&lt;/li&gt;
&lt;li&gt;Sind externe System mit involviert?&lt;/li&gt;
&lt;li&gt;Ist Entwicklung notwendig oder l&amp;auml;sst sich alles mit bestehenden Modulen umsetzen?&lt;/li&gt;
&lt;li&gt;Gibt es Risiken bzw. Dinge, welche unklar sind?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je nach dem, wie die Antwort auf die Frage war, wurde der Aufwand ein wenig h&amp;ouml;her, bzw. ein wenig tiefer. 10x wiederholte ich das Spiel.&lt;/p&gt;
&lt;p&gt;Resultat: ca. 20 Personentage Aufwand. Ehrlich gesagt, ich war nerv&amp;ouml;s bzw. aufgeregt, als ich ins B&amp;uuml;ro nebenan ging. Wieviel w&amp;uuml;rde er wohl gesch&amp;auml;tzt haben?!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Auch er hat die Punkte, welche offeriert wurden, einzeln gesch&amp;auml;tzt. So konnten wir diese Schrittweise durchgehen. Erstaunlich: In den ersten 4 Punkten 100% &amp;Uuml;bereinstimmung. Es gab 2-3 Punkte, wo es eine ganze kleine Abweichung gab, aber alles in allem doch ein extrem grosse &amp;Uuml;bereinstimmung.&lt;/p&gt;
&lt;p&gt;Fazit: Aufwandsch&amp;auml;tzungen sind also doch nicht nur Zufall! Besonders das Aufteilen in kleinere Teilaufgaben war extrem hilfreich. Wenn man dann noch ein bisschen was f&amp;uuml;rs Projektmanagement hinzuf&amp;uuml;gt, sowie eine gesunde Reserve ist man sicher auf der richtigen Spur.&lt;/p&gt;
&lt;p&gt;Problem ist dann halt meistens nur, dass das Marketing den Preis dr&amp;uuml;ckt, um Konkurrenzf&amp;auml;hig zu bleiben... danach fragt man sich, warum es mit dem Budget nicht aufgegangen ist... aber das ist dann nicht mehr ein Entwicklerproblem.&lt;/p&gt;
&lt;p&gt;Besonders f&amp;uuml;r Drupalprojekte habe ich die Erfahrung gemacht, dass es einige Punkte gibt, welche den Aufwand fast ausnahmslos steigen lassen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Migration von bestehendem Inhalt. Wird immer untersch&amp;auml;tzt, da von einer idealisierten Umwelt ausgegangen wird. In der Realit&amp;auml;t sind oftmals die Daten schlecht, m&amp;uuml;ssen noch umgewandelt werden usw.&lt;/li&gt;
&lt;li&gt;Jegliche Interaktion mit unbekannten Drittsystemen. Auch wenn es noch so trivial ausschauen mag... irgend eine T&amp;uuml;cke ist noch drin.&lt;/li&gt;
&lt;li&gt;Mehrsprachigkeit. In Drupal grunds&amp;auml;tzlich kein Problem, aber im Detail, gibt es immer wieder ein Modul, welches (noch) nicht mehrsprachig ist oder irgendwo Zeichenketten, welche sich nicht &amp;uuml;bersetzen lassen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dies sind besonders in der Medienbranche immer wieder auftauchende Anforderungen und oftmals auch immer wieder Risikotreiber.&lt;/p&gt;

&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/aufwandschaetzungen-sind-doch-kein-zufall';
digg_title = 'Aufwandschätzungen sind doch kein Zufall';
digg_bodytext = "\r\nLetzte Woche hat mich ein Arbeitskollege gefragt, ob ich kurz ein kleines Teilprojekt sch\x26auml;tzen k\x26ouml;nnte. Hintergrund: Der Kunde wollte ein paar funktionale Erweiterungen f\x26uuml;r die bestehende Webseite. Mein Arbeitskollege hatte bereits eine Aufwandsch\x26auml;tzung gemacht, welche jedoch aus Kundensicht viel zu hoch schien. Also bat er";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/aufwandschaetzungen-sind-doch-kein-zufall#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/aufwand">aufwand</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/projektmanagement">projektmanagement</category>
 <category domain="http://www.rapsli.ch/category/general/schaetzen">schätzen</category>
 <pubDate>Tue, 26 Oct 2010 06:21:14 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">569 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>1. Beta Version für Drupal 7</title>
 <link>http://www.rapsli.ch/1-beta-version-fuer-drupal-7</link>
 <description>&lt;p&gt;Habe soeben gerade gesehen, dass die &lt;a href="http://drupal.org/drupal-7.0-beta1"&gt;1. Beta Version&lt;/a&gt; f&amp;uuml;r Drupal 7 bereit zum &lt;a href="http://ftp.drupal.org/files/projects/drupal-7.0-beta1.tar.gz"&gt;Download&lt;/a&gt; ist :)&lt;/p&gt;
&lt;p&gt;Muss ich doch mal schauen, ob die ben&amp;ouml;tigten Module auch bereits eine Alpha oder Dev Version haben, dann k&amp;ouml;nnte ich schon mal das Blog migrieren. Auch sollte ich mich mal wieder an die Arbeit f&amp;uuml;r Fast Gallery machen, damit die D7 Version wieder richtig funktioniert.&amp;nbsp;&lt;/p&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/1-beta-version-fuer-drupal-7';
digg_title = '1. Beta Version für Drupal 7';
digg_bodytext = "Habe soeben gerade gesehen, dass die 1. Beta Version f\x26uuml;r Drupal 7 bereit zum Download ist :)\r\nMuss ich doch mal schauen, ob die ben\x26ouml;tigten Module auch bereits eine Alpha oder Dev Version haben, dann k\x26ouml;nnte ich schon mal das Blog migrieren. Auch sollte ich mich mal wieder an die Arbeit f\x26uuml;r Fast Gallery machen, damit die D7";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/1-beta-version-fuer-drupal-7#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/beta">beta</category>
 <category domain="http://www.rapsli.ch/category/general/download">download</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/drupal-7">drupal 7</category>
 <category domain="http://www.rapsli.ch/category/general/news">news</category>
 <pubDate>Thu, 07 Oct 2010 06:50:58 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">568 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Fast Gallery - Quickstart</title>
 <link>http://www.rapsli.ch/fast-gallery-quickstart</link>
 <description>&lt;p&gt;This is a quick start for setting up a Fast Gallery. I did this with Fast Gallery 5.5 and Drupal 6.17.&lt;/p&gt;
&lt;p&gt;First a quick introduction on how Fast Gallery works. Basically Fast Gallery displays a pictures from a folder, just like you know it from Windows Explorer. So lets say you uploaded 50 pictures to your site via FTP, you point your gallery to the folder, then user is presented those 50 pictures. If there are subfolders, the user can just click on the folder and will see the pictures from this subfolder (just like in Windows Explorer).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Copy the latest version of Fast Gallery into your modules folder&lt;/li&gt;
&lt;li&gt;Install Fast Gallery&lt;/li&gt;
&lt;li&gt;Install Imagecache and setup two presets: &amp;quot;thumbs&amp;quot; and &amp;quot;full&amp;quot; (for example)&lt;/li&gt;
&lt;li&gt;Go to admin/settings/fast_gallery/general. Here we are going to setup a gallery&lt;/li&gt;
&lt;li&gt;On the top we got three text fields: &amp;quot;Path to Gallery&amp;quot;, &amp;quot;Path Alias&amp;quot; and &amp;quot;Title of Gallery&amp;quot;. Path to gallery would the folder where the images are located relative to the Drupal index.php, so for example sites/default/files/galerie. Path Alias, would be any alias, so for example: my_gallery, and the &amp;quot;Title fo Gallery&amp;quot; could be something like &amp;quot;My first Fast Gallery&amp;quot;&lt;/li&gt;
&lt;li&gt;There are two dropdowns for selecting imagecache presets. Since you created two imagecache presets previously you can select them now here&lt;/li&gt;
&lt;li&gt;On the same page we we have other options, which we can leave as they are&lt;/li&gt;
&lt;li&gt;Hit the submit button&lt;/li&gt;
&lt;li&gt;That's it, you are done! Go to &lt;a href="http://mysite.com/my_gallery" title="http://mysite.com/my_gallery"&gt;http://mysite.com/my_gallery&lt;/a&gt; and you should see some images&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://translate.google.com/translate?js=n&amp;amp;prev=_t&amp;amp;hl=en&amp;amp;ie=UTF-8&amp;amp;layout=2&amp;amp;eotf=1&amp;amp;sl=en&amp;amp;tl=de&amp;amp;u=http://www.rapsli.ch/fast-gallery-quickstart&amp;amp;act=url"&gt;German Version&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://uppix.net/d/4/f/cb190490ca0eceb283fa0c2b97c06.jpg"&gt;&lt;img width="600" height="325" class="inline" alt="" src="http://uppix.net/d/4/f/cb190490ca0eceb283fa0c2b97c06.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-nodereferenz"&gt;
      &lt;div class="field-label"&gt;Verwandte Beiträge:&amp;nbsp;&lt;/div&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;a href="/drupal/fast-gallery-step-step"&gt;Fast Gallery - Step by Step&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/fast-gallery-quickstart';
digg_title = 'Fast Gallery - Quickstart';
digg_bodytext = "This is a quick start for setting up a Fast Gallery. I did this with Fast Gallery 5.5 and Drupal 6.17.\r\nFirst a quick introduction on how Fast Gallery works. Basically Fast Gallery displays a pictures from a folder, just like you know it from Windows Explorer. So lets say you uploaded 50 pictures to your site via FTP, you point your gallery to the";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/fast-gallery-quickstart#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/anf%C3%A4nger">anfänger</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/fast-gallery">fast gallery</category>
 <category domain="http://www.rapsli.ch/category/general/review">review</category>
 <pubDate>Wed, 06 Oct 2010 06:06:12 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">567 at http://www.rapsli.ch</guid>
</item>
<item>
 <title>Twitter API geändert</title>
 <link>http://www.rapsli.ch/twitter-api-geaendert</link>
 <description>&lt;p&gt;Es scheint, als h&amp;auml;tte die Twitter API ge&amp;auml;ndert. Alle die, welche das &lt;a href="http://drupal.org/project/twitter"&gt;Twitter Module&lt;/a&gt; im Einsatz haben, werden somit ein kleineres Problem haben, da das Posten nicht mehr funktioniert. Schade, dass das Twitter Modul nicht sehr aktiv ist, denn sonst w&amp;auml;re bereits eine aktuelle Version vorhanden. Ist eigentlich sehr erstaunlich, da es immerhin 15000 Installationen des Moduls gibt. Mal schauen, dass ich hier eine L&amp;ouml;sung finde.&lt;/p&gt;
&lt;div class="diggthis_button"&gt;&lt;script type="text/javascript"&gt;
digg_url = 'http://www.rapsli.ch/twitter-api-geaendert';
digg_title = 'Twitter API geändert';
digg_bodytext = "Es scheint, als h\x26auml;tte die Twitter API ge\x26auml;ndert. Alle die, welche das Twitter Module im Einsatz haben, werden somit ein kleineres Problem haben, da das Posten nicht mehr funktioniert. Schade, dass das Twitter Modul nicht sehr aktiv ist, denn sonst w\x26auml;re bereits eine aktuelle Version vorhanden. Ist eigentlich sehr erstaunlich, da es";
digg_skin = 'standard';

&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/div&gt;</description>
 <comments>http://www.rapsli.ch/twitter-api-geaendert#comments</comments>
 <category domain="http://www.rapsli.ch/category/general/api">api</category>
 <category domain="http://www.rapsli.ch/taxonomy/term/6">Drupal</category>
 <category domain="http://www.rapsli.ch/category/general/modul">modul</category>
 <category domain="http://www.rapsli.ch/category/general/twitter">twitter</category>
 <pubDate>Mon, 13 Sep 2010 08:28:15 +0000</pubDate>
 <dc:creator>rapsli</dc:creator>
 <guid isPermaLink="false">566 at http://www.rapsli.ch</guid>
</item>
</channel>
</rss>

