<?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>Der Groovy &#38; Grails Entwickler Blog</title>
	<atom:link href="http://grails-blog.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://grails-blog.de</link>
	<description>Tutorials, Erfahrungen und Tools</description>
	<lastBuildDate>Wed, 17 Nov 2010 20:47:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Taglibraries, Actions und Functions</title>
		<link>http://grails-blog.de/2009/08/17/taglibraries-actions-und-functions/</link>
		<comments>http://grails-blog.de/2009/08/17/taglibraries-actions-und-functions/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 18:03:44 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Erste Schritte]]></category>
		<category><![CDATA[actions]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[gsp]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[taglib]]></category>
		<category><![CDATA[taglibrary]]></category>

		<guid isPermaLink="false">http://grails-blog.de/?p=54</guid>
		<description><![CDATA[Drei Begriffe, die man unbedingt auseinanderhalten sollte. Wieso und warum, das erkläre ich im folgenden Abschnitt! Ich setze in diesem Artikel voraus, dass jeder der ihn liest weiß was HTML und eventuell auch ein DOM-Baum ist. Also zunächst zu den Taglibraries: Taglibraries sind prinzipiell kleine Werkzeugkästen mit denen man viel mit wenig Aufwand erreicht. Die [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Drei Begriffe, die man unbedingt auseinanderhalten sollte. Wieso und warum, das erkläre ich im folgenden Abschnitt! Ich setze in diesem Artikel voraus, dass jeder der ihn liest weiß was HTML und eventuell auch ein DOM-Baum ist.</p>
<p>Also zunächst zu den <strong>Taglibraries</strong>:</p>
<p>Taglibraries sind prinzipiell kleine Werkzeugkästen mit denen man viel mit wenig Aufwand erreicht. Die so genannten Tags werden in den Webseitenquelltext eingesetzt und zur Laufzeit durch entsprechende Codeabschnitte automatisch ersetzt.<br />
Grails bietet ebenfalls eine Taglibrary an, es handelt sich hierbei um die Groovy Taglibrary. Die Referenz hierzu befindet sich hinter dem folgenden <a href="http://grails.org/Tag+Library+Reference" target="_blank">Link</a>.</p>
<p>Hier ein Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;select name=&quot;dropdown&quot;&gt;
  &lt;option&gt;Wert 1&lt;/option&gt;
  &lt;option&gt;Wert 1&lt;/option&gt;
  &lt;option&gt;Wert 1&lt;/option&gt;
  &lt;option&gt;Wert 1&lt;/option&gt;
  &lt;option&gt;Wert 1&lt;/option&gt;
&lt;/select&gt;</pre></div></div>

<p>Die Beispiel würde eine Auswahlbox erzeugen. Wenn wir das Ganze mit Grails und der GSP Taglibrary machen, dann ensteht folgendes:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> TestController <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">def</span> index <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #66cc66;">&#91;</span>list:<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;Wert 1&quot;</span>,<span style="color: #ff0000;">&quot;Wert 2&quot;</span>,<span style="color: #ff0000;">&quot;Wert 3&quot;</span>,<span style="color: #ff0000;">&quot;Wert 4&quot;</span>,<span style="color: #ff0000;">&quot;Wert 5&quot;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span>
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;g:select name=&quot;dropdown&quot; from=&quot;${list}&quot; /&gt;</pre></div></div>

<p>Das Ergebnis ist am Ende das selbe. Nun fragt Ihr euch, warum sollte ich das denn so umständlich verpacken, wenn ich es auch direkt in HTML schreiben kann. Ganz einfach, denn wir wollen in unserer Applikation in Zukunft auch dynamisch Werte in die Ausgabeseiten generieren lassen. Bisher hat das Grails für uns gemacht, aber wir kommen auch immer wieder an Stellen, an denen wir das selber machen müssen. Schaut einfach mal in die Views, die Grails euch automatisch generiert hat und vergleicht den Inhalt mal mit dem Inhalt zum Link, der zur Groovy Taglibrary führt.</p>
<p><strong><span id="more-54"></span>Actions</strong></p>
<p>Actions sind prinzipiell Funktionen, nur dass Sie entweder über die URL, einen Link, oder andere HTML Elemente angesprochen werden. Eine Action wird immer wie folgt deklariert:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">def</span> actionName <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #808080; font-style: italic;">// hier passiert was</span>
  <span style="color: #000000; font-weight: bold;">def</span> neueListe <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'a'</span>,<span style="color: #ff0000;">'b'</span>,<span style="color: #ff0000;">'c'</span><span style="color: #66cc66;">&#93;</span>  
&nbsp;
  <span style="color: #808080; font-style: italic;">// hier wird die Seite zu der Action aufgerufen und die Liste übergeben</span>
  <span style="color: #66cc66;">&#91;</span>list:neueListe<span style="color: #66cc66;">&#93;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Auch hier empfehle ich euch einmal die automatisch generierten Actions in den Controllerklassen euch anzuschauen.</p>
<p><strong>Functions</strong></p>
<p>Functions gibt es prinzipiell überall. in Domain-, Service-, oder Controllerklassen. Functions können Parameter aufnehmen und am Ende etwas zurückgeben. Beides ist optional!</p>
<p>!!Im Gegensatz zu Java ist es in Groovy nicht möglich Functions (Methoden) zu überladen!!</p>
<p>Ein Beispiel für eine Function:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">def</span> functionName<span style="color: #66cc66;">&#40;</span>parameter1<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #808080; font-style: italic;">// hier passiert was</span>
  <span style="color: #000000; font-weight: bold;">def</span> neueListe <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'a'</span>,<span style="color: #ff0000;">'b'</span>,<span style="color: #ff0000;">'c'</span>,parameter1<span style="color: #66cc66;">&#93;</span>  
&nbsp;
  <span style="color: #808080; font-style: italic;">// hier wird die Seite zu der Action aufgerufen und die Liste übergeben</span>
  <span style="color: #000000; font-weight: bold;">return</span> neueListe
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Functions werden standardmäßig nicht mitgeneriert, aber auch die werden wir später sicherlich auch brauchen.</p>
<p>Das war jetzt mal ein grober Abriss in ein paar verschiedene Begrifflichkeiten. Im nächsten Post werden wir dann endlich mal den Code anfassen.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://grails-blog.de/2009/08/17/taglibraries-actions-und-functions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scaffolding &#8230; das Gerüst</title>
		<link>http://grails-blog.de/2009/08/15/scaffolding-das-geruest/</link>
		<comments>http://grails-blog.de/2009/08/15/scaffolding-das-geruest/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 18:42:54 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Erste Schritte]]></category>
		<category><![CDATA[Controller]]></category>
		<category><![CDATA[create-controller]]></category>
		<category><![CDATA[generate-all]]></category>
		<category><![CDATA[scaffolding]]></category>

		<guid isPermaLink="false">http://grails-blog.de/?p=46</guid>
		<description><![CDATA[Im vorigen Abschnitt habe ich ja schon erläutert, wie man aus den erstellten Domainklassen Controller und Views generieren kann, wieso eigentlich noch das Thema Scaffolding? Was ist eigentlich Scaffolding? Scaffolding bedeutet nichts anderes, als das während der Entwicklung der Software kein  Augenmerk auf die Standardoperationen der Domainklassen gelegt werden muss. Hier sprechen wir vom CRUD [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Im vorigen Abschnitt habe ich ja schon erläutert, wie man aus den erstellten Domainklassen Controller und Views generieren kann, wieso eigentlich noch das Thema Scaffolding?</p>
<p><strong>Was ist eigentlich Scaffolding?</strong></p>
<p><em>Scaffolding bedeutet nichts anderes, als das während der Entwicklung der Software kein  Augenmerk auf die Standardoperationen der Domainklassen gelegt werden muss. Hier sprechen wir vom CRUD (Create, Read, Update, Delete) Schema. </em></p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> BohnensackController <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">def</span> scaffold <span style="color: #66cc66;">=</span> <span style="color: #000000; font-weight: bold;">true</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><span id="more-46"></span></p>
<p><em><em>Standardmäßig füllt Grails beim Ausführen des Befehls &#8220;grails generate-all Bohnensack&#8221;, oder &#8220;grails create-controller Bohnensack&#8221; die Controllerklasse schon mit den benötigten CRUD-Actions, ist aber wie im oberen Beispiel das scaffold-Flag gesetzt, wird zur Laufzeit dieser Code generiert und Grails bietet standardmäßig folgende Actions auf den Domainklassen an:</em></em></p>
<ul>
<li><em>list</em></li>
<li><em>show</em></li>
<li><em>edit</em></li>
<li><em>delete</em></li>
<li><em>create</em></li>
<li><em>save</em></li>
<li><em>update</em></li>
</ul>
<p><em>Somit weisst du ab sofort, dass es vollkommend ausreichend ist, lediglich Controllerklasse wie oben beschrieben zu füllen, so lange nicht der Wunsch besteht benutzerdefinierte Actions anzubieten, aber dazu kommen wir auch noch.</em></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://grails-blog.de/2009/08/15/scaffolding-das-geruest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Von Kaffeebohnen und so nem Zeug</title>
		<link>http://grails-blog.de/2009/08/14/von-kaffeebohnen-und-so-nem-zeug/</link>
		<comments>http://grails-blog.de/2009/08/14/von-kaffeebohnen-und-so-nem-zeug/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:33:05 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Erste Schritte]]></category>
		<category><![CDATA[CoffeBeanProject]]></category>
		<category><![CDATA[create-app]]></category>
		<category><![CDATA[create-domain-class]]></category>
		<category><![CDATA[generate-all]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Kommandozeile]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[run-app]]></category>

		<guid isPermaLink="false">http://grails-blog.de/?p=35</guid>
		<description><![CDATA[Puhh, hab ich mich damit schwer getan ein Einstiegsprojekt für den Blog zu finden, doch heute Nacht kam die Erleuchtung Ob Sie jetzt wirklich sinnvoll ist die Idee, oder nicht, das wird sich sicherlich noch zeigen&#8230; Thema: The CoffeeBeanProject Idee: Tool um Kaffeesorten zu speichern und zu bewerten. Hintergrund: Endlich habe ich einen Kaffeevollautomaten, aber [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Puhh, hab ich mich damit schwer getan ein Einstiegsprojekt für den Blog zu finden, doch heute Nacht kam die Erleuchtung <img src='http://grails-blog.de/wp-includes/images/smilies/icon_smile.gif' alt="Icon Smile in Von Kaffeebohnen und so nem Zeug" class='wp-smiley' /> </p>
<p>Ob Sie jetzt wirklich sinnvoll ist die Idee, oder nicht, das wird sich sicherlich noch zeigen&#8230;</p>
<p><strong>Thema: </strong>The CoffeeBeanProject</p>
<p><strong>Idee:</strong> Tool um Kaffeesorten zu speichern und zu bewerten.</p>
<p><strong>Hintergrund: </strong>Endlich habe ich einen Kaffeevollautomaten, aber bin noch auf der Suche nach dem richtigen Kaffee und da ich direkt an der Schweizer Grenze wohne, habe ich gleich doppelt so viel Auswahl!</p>
<p style="text-align: center;"><img class="size-medium wp-image-37 aligncenter" src="http://grails-blog.de/wp-content/2009/08/IMG_1077-200x300.jpg" alt="IMG 1077-200x300 in Von Kaffeebohnen und so nem Zeug" width="200" height="300" /></p>
<p><strong>Und nun geht es los &#8230;</strong></p>
<p>Als erstes überlegen wir uns das grundlegende &#8220;Domain Model&#8221;. Was wollen wir eigentlich abbilden in unserer Applikation und wie pressen wir das in Software?</p>
<p>Meine vorab getätigten Überlegungen habe ich mal in Visio skizziert:</p>
<p><img class="aligncenter size-full wp-image-41" src="http://grails-blog.de/wp-content/2009/08/coffeeBeanProject.png" alt="CoffeeBeanProject in Von Kaffeebohnen und so nem Zeug" width="420" height="446" /></p>
<p><strong><span id="more-35"></span>Erste Schritte in Grails:</strong></p>
<p>1. Projekt anlegen</p>
<p>Kommandozeile öffnen und in ein beliebiges Verzeichnis wechseln!</p>
<p><code>grails create-app CoffeeBeanProject</code></p>
<p>Hurra! Das Projekt ist angelegt!</p>
<p>2. Domainklassen erzeugen</p>
<ul>
<li><code>grails create-domain-class Bohnensack</code></li>
<li><code>grails create-domain-class Bohne</code></li>
<li><code>grails create-domain-class Bewertung</code></li>
<li><code>grails create-domain-class Laden</code></li>
<li><code>grails create-domain-class Artikel</code></li>
</ul>
<p>Damit haben wir die grundlegende Basis geschaffen und gehen über zum füllen der Domainklassen.</p>
<p>3. Domainklassen Leben einhauchen.</p>
<p>Eine Domainklasse ist immer wie folgt aufgebaut:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> DomainKlassenName <span style="color: #66cc66;">&#123;</span>
  <span style="color: #808080; font-style: italic;">// Hier folgen die Attribute</span>
  <span style="color: #aaaadd; font-weight: bold;">String</span> name
  <span style="color: #aaaadd; font-weight: bold;">String</span> vorname
  <span style="color: #aaaadd; font-weight: bold;">Date</span> geburtstag
&nbsp;
  <span style="color: #808080; font-style: italic;">// Hier implementieren wir Standard Methoden</span>
  <span style="color: #aaaadd; font-weight: bold;">String</span> toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> name <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">&quot;, &quot;</span> <span style="color: #66cc66;">+</span> vorname
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">// Hier folgen die Einschränkungen Constraints</span>
  constraints <span style="color: #66cc66;">&#123;</span>
    name<span style="color: #66cc66;">&#40;</span>nullable:<span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>
    vorname<span style="color: #66cc66;">&#40;</span>nullable:<span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>
    geburtstag<span style="color: #66cc66;">&#40;</span><span style="color: #663399;">max</span>:<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #aaaadd; font-weight: bold;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">-</span><span style="color: #cc66cc;">365</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">// du musst mindestens ein Jahr alt sein</span>
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><em>4. Views und Controller generieren</em></p>
<ul>
<li><code>grails generate-all Bohnensack</code></li>
<li><code>grails </code><code>generate-all</code><code> Bohne</code></li>
<li><code>grails </code><code>generate-all</code><code> Bewertung</code></li>
<li><code>grails </code><code>generate-all</code><code> Laden</code></li>
<li><code>grails </code><code>generate-all</code><code> Artikel</code></li>
</ul>
<p>5. Run App<br />
<code>grails run-app</code></p>
<p>Wenn alles funktioniert hat, dann lässt sich die Applikation nun über folgende URL aufrufen: <a href="http://localhost:8080/CoffeeBeanProject">http://localhost:8080/CoffeeBeanProject</a></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://grails-blog.de/2009/08/14/von-kaffeebohnen-und-so-nem-zeug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erste Schritte &#8230;</title>
		<link>http://grails-blog.de/2009/08/13/erste-schritte/</link>
		<comments>http://grails-blog.de/2009/08/13/erste-schritte/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:13:10 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Erste Schritte]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://grails-blog.de/?p=25</guid>
		<description><![CDATA[Die ersten sind meist auch die Schwierigsten und die Tücken, die Grails bietet, sind meist auch nicht direkt ersichtlich. Der Teufel steckt ja bekanntlich im Detail Also zunächst was ist eigentlich Grails? Für alle, die zufällig auf diesen Artikel gestoßen sind, Grails ist ein Webframework, was es ermöglichen soll schnell und einfach Applikationen zu entwickeln [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Die ersten sind meist auch die Schwierigsten und die Tücken, die Grails bietet, sind meist auch nicht direkt ersichtlich. Der Teufel steckt ja bekanntlich im Detail <img src='http://grails-blog.de/wp-includes/images/smilies/icon_smile.gif' alt="Icon Smile in Erste Schritte ..." class='wp-smiley' /> </p>
<p><strong>Also zunächst was ist eigentlich Grails?</strong></p>
<p>Für alle, die zufällig auf diesen Artikel gestoßen sind, Grails ist ein Webframework, was es ermöglichen soll schnell und einfach Applikationen zu entwickeln und online zu stellen. Unter der Haube von Grails steckt Groovy (eine dynamisch typisierte Sprache), eine Sprache die auf der Java Syntax aufbaut und versucht viele Unschönheiten zu beseitigen. Dabei wird der Groovy Code später in Bytecode umgewandelt und läuft somit in einer JAVA VM. Einige Vorteile von Groovy sind dynamische Datentypen, Maps, Listen, reguläre Ausdrücke (Regular Expressions) und Closures.<br />
Aber zurück zu Grails: Grails arbeitet und anderem mit Hibernate und untersützt somit das Ablegen von Objekten in einer relationalen Datenbank. Neben der Möglichkeit Webanwendungen mit Unit-Tests zu bestücken bietet Grails ein relativ simples Kommandozeilentool an, mit dem wirklich alles direkt von einer zentralen Stelle aus gesteuert werden kann.</p>
<p><strong>Genug Geschwätz, legen wir endlich los !</strong></p>
<p>Zunächst liste ich einige Downloadquellen von Tools auf, die für die Arbeit mit Grails sinnvoll sind, aber nicht unbedingt alle benötigt werden im ersten Schritt.</p>

<table id="wp-table-reloaded-id-1-no-1" class="wp-table-reloaded wp-table-reloaded-id-1">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Name</th><th class="column-2">Url</th><th class="column-3">erforderlich?</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Grails</td><td class="column-2"><a href="http://grails.org/">http://grails.org/</a></td><td class="column-3">x</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">Netbeans</td><td class="column-2"><a href="http://www.netbeans.org/downloads/">http://www.netbeans.org/downloads/</a></td><td class="column-3">(x)</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">Apache Tomcat Webserver</td><td class="column-2"><a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a></td><td class="column-3">-</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">MySQL Datenbank</td><td class="column-2"><a href="http://dev.mysql.com/downloads/mysql/">http://dev.mysql.com/downloads/mysql/</a></td><td class="column-3">-</td>
	</tr>
</tbody>
</table>

<p><strong><span id="more-25"></span>Installation der benötigten Software</strong></p>
<p>Zunächst musst du den aktuellen Build des GRAILS Projektes herunterladen und diesen auf deinem Computer an einem geeigneten Ort entpacken. Danach ist es unbedingt notwendig seinem System die Installation, falls noch nicht geschehen mitzuteilen. Hier zu legen wir zwei Umgebungsvariablen an. Das geht am einfachsten über: Rechtsklick Arbeitsplatz -&gt; Eigenschaften -&gt; Erweitert -&gt; Umgebungsvariablen</p>
<p>Nun legen wir zunächst folgende Variable an:</p>
<p><em>GRAILS_HOME -&gt; c:/pfad/zum/grails/verzeichnis</em></p>
<p>Danach erweitern wir die Path Variable um folgenden Wert:</p>
<p><em>;%GRAILS_HOME%/bin</em></p>
<p>Danach benötigen wir die Netbeans Installation (Java oder All Package). Sobald Netbeans installiert ist, sollte folgende Oberfläche erscheinen (beim Mac sieht das etwas anders aus, als unter Windows).</p>
<p style="text-align: center;"><a href="http://grails-blog.de/wp-content/2009/08/Bildschirmfoto-2009-08-13-um-19.00.22.png"><img class="size-medium wp-image-29 aligncenter" src="http://grails-blog.de/wp-content/2009/08/Bildschirmfoto-2009-08-13-um-19.00.22-300x187.png" alt="Bildschirmfoto-2009-08-13-um-19 00 22-300x187 in Erste Schritte ..." width="300" height="187" /></a></p>
<p>Nun ist alles bereit zum Erstellen der ersten Applikation und das geschieht im nächsten Post <img src='http://grails-blog.de/wp-includes/images/smilies/icon_wink.gif' alt="Icon Wink in Erste Schritte ..." class='wp-smiley' /> </p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://grails-blog.de/2009/08/13/erste-schritte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>In the beginning there was &#8230;</title>
		<link>http://grails-blog.de/2009/08/11/in-the-beginning-there-was/</link>
		<comments>http://grails-blog.de/2009/08/11/in-the-beginning-there-was/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 19:40:57 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://grails-blog.de/?p=22</guid>
		<description><![CDATA[Hallo und Herzlich willkommen auf dem Grails Blog! &#8230; no grails application at all ! But now it is time to change the web ! Was wird hier in Zukunft passieren? Der Grails Blog soll in Zukunft die Entstehung einer Grails Applikation dokumentieren und häufige Probleme und Anfängerfehler aufdecken. Ziel soll es sein, alte Hasen [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<h3><strong>Hallo und Herzlich willkommen auf dem Grails Blog!</strong></h3>
<p>&#8230; no grails application at all ! But now it is time to change the web !</p>
<p><strong>Was wird hier in Zukunft passieren?</strong></p>
<p>Der Grails Blog soll in Zukunft die Entstehung einer Grails Applikation dokumentieren und häufige Probleme und Anfängerfehler aufdecken. Ziel soll es sein, alte Hasen und blutige Anfänger an das Thema Grails heranzuführen. Schritt für Schritt soll so der Blog immer größer werden.<br />
Neben der Entwicklung der Applikation sollen aber auch Themen wie das Testen und das automatische Builden der Applikation aufgegriffen werden.</p>
<p><strong>Wie sieht der nächste Schritt aus?</strong></p>
<p>Im nächsten Post beschäftigen wir uns mit der Einrichtung der Development Umgebung und im speziellen mit Netbeans.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://grails-blog.de/2009/08/11/in-the-beginning-there-was/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
