Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby

Größe: px
Ab Seite anzeigen:

Download "Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby"

Transkript

1 Ruby on Rails Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby von Martin Marinschek, Wolfgang Radinger 1. Auflage Ruby on Rails Marinschek / Radinger schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung: Prozedurorientierte Programmierung dpunkt.verlag 2006 Verlag C.H. Beck im Internet: ISBN Inhaltsverzeichnis: Ruby on Rails Marinschek / Radinger

2 19 3 Model View Controller die Schaltzentrale Eines der bekanntesten und ältesten Muster (engl.»patterns«) der Softwareentwicklung ist das»model-view-controller«(mvc)-muster. Es wurde von Trygve Reenskaug Ende der 70er Jahre veröffentlicht und fand seine erste Anwendung in»smalltalk«, der damals gerade neu entstehenden, völlig objektorientierten Programmiersprache. Ziel des MVC-Musters ist die klare Trennung zwischen dem Modell also der Geschäftslogik und der Präsentation der Geschäftslogik. Wenn die Trennung klar durchgeführt wird, kann der»view«-teil der Applikation einfach durch eine andere ersetzt oder um eine zusätzliche Ansicht ergänzt werden. Eine klare Trennung zwischen den Applikationsbereichen verlangt natürlich auch nach klaren Schnittstellen. Um welche Schnittstellen geht es? Das Model-View-Controller- Konzept baut auf drei miteinander in Beziehung stehenden Teilen auf: Aufbau des MVC-Musters Model stellt die Geschäftslogik dar und repräsentiert den aktuellen Zustand des Systems. Der Zustand des Modells kann über Methoden der Objekte verändert werden. View stellt den Zustand des Modells dar und repräsentiert die Schnittstelle zum Benutzer. Controller steuert die Interaktionen des Benutzers mit den Views und dem Modell. Schauen wir uns die drei Teile im Detail an. Das Model beinhaltet die Geschäftslogik des Programms. Die Klassen des Models verwalten die Daten, die zur Verfügung stehen müssen. Es bietet Methoden an, mit denen die Daten manipuliert werden können. Die Daten sollen, wie es das Grundkonzept»Kapselung«der Objektorientierung vorsieht, nicht redundant vorliegen und nur an einer Stelle geändert werden. Dies erhöht auch die Wartbarkeit es ist immer klar ersichtlich, an welcher Stelle des Codes die Veränderung durchgeführt wurde. Views visualisieren die Daten des Modells. Die Ansicht hat Zugriff auf die Daten des Modells und ist dafür verantwortlich, diese für Model View

3 20 3 Model View Controller die Schaltzentrale Controller Abbildung 3.1 Das Model-View- Controller-Muster die Präsentation aufzubereiten. Zwischen View und Model besteht eine 1:n-Beziehung es können mehrere Views auf gleiche Daten und Geschäftsobjekte zugreifen. Durch die Kapselung der Daten in den Modellen ist gewährleistet, dass die Daten konsistent bleiben. Die Summe der verschiedenen Views einer Anwendung ist die Benutzerschnittstelle die Interaktion des Benutzers mit den Views bringt uns zum dritten Teil, dem Controller. Der Controller verbindet das Modell mit den Ansichten. Der View selbst behandelt keine vom Benutzer ausgelösten Events, sondern leitet diese an den Controller weiter. Der Controller entscheidet nun über die weitere Vorgangsweise in manchen MVC-Implementierungen verändert er das Modell mit den in der Ansicht geänderten Daten und stellt diese geänderten Daten wieder der Ansicht zur Verfügung. In anderen Implementierungen adaptiert die Ansicht direkt die Modelldaten, der Controller steuert nur, ob und wann diese Aktualisierung erfolgen soll. Rails wählt die erste Vorgangsweise: Der Controller behält die vollständige Kontrolle über die Daten. Abbildung 3.1 visualisiert das MVC- Muster. Event Anstoß zum Rendern der neuen View Controller Business-Logik View Model Wird mit Daten aus dem Model gerendert 3.1 MVC in Rails Das Prinzip von MVC kennen wir jetzt. Aber wie ist das MVC-Muster in Rails umgesetzt? Wird in Rails eine neue Anwendung mit dem Befehl rails appname erstellt, dann wird unter anderem ein Ordner app erzeugt, der die An-

4 3.1 MVC in Rails 21 wendung beinhaltet. In diesem Ordner wird das MVC-Muster im Rails- Framework abgebildet. Es werden drei Verzeichnisse models, views und controllers angelegt. Diese drei Verzeichnisse beinhalten in weiterer Folge die Klassen für die Models, dieviews und die Controller der Anwendung. Rails gibt dem Entwickler aber nicht nur die Struktur vor, sondern übernimmt als stark ausgebautes Web-Application-Framework weitgehend die Funktionalität, aus den Einzelkomponenten eine laufende Anwendung zu generieren. So wichtig eine MVC-Architektur für die Wartbarkeit einer Software ist, so aufwändig ist die manuelle Erstellung einer solchen Applikation von Grund auf. Genau diesen Aufwand nimmt uns Rails ab. Eine der Ideen hinter dem Design von Rails ist das Prinzip»Konvention statt Konfiguration«. Gemäß dieser Philosophie wird die MVC- Struktur fast von selbst erstellt vorausgesetzt, die Namenskonventionen werden durch den Programmierer eingehalten. Vom Aufruf einer URL des dazugehörigen Controllers, über den Aufruf der Action, die dann die Daten ausliest, bis hin zur Ansicht ist der gesamte Ablauf in einer Rails-Anwendung durch Namenskonventionen standardisiert es ist keine getrennte Konfiguration notwendig. Eine Benutzerinteraktion in einem auf dem MVC-Muster basierenden Framework folgt immer einem vorgegebenen Ablauf. Dieser ist in Rails folgendermaßen: Am Beginn steht der Aufruf eines Hyperlinks z.b /TestController/testAction. Der Aufruf des Hyperlinks ergibt eine HTTP-Anfrage an den Server. Der Server empfängt die Anfrage und leitet diese an das Rails-Framework weiter. Die Interpretation der URL und das Auffinden der auszuführenden Ruby-Methode ist der erste Schritt des Frameworks beim Aufruf einer Seite diesen Vorgang nennt man Routing. Wie wird die zugehörige Methode gefunden? In der Adresse entspricht der erste Teil dem Server, auf dem Rails läuft (localhost:3000). Der zweite Teil der Adresse ist der Name des Controllers (TestController) und der dritte Teil gibt die zum Aufruf gehörige Methode an auch als Action bezeichnet (testaction). Nach dem Routing wird die Action-Methode des Controllers aufgerufen. Diese ruft üblicherweise zuerst Methoden des Models auf und dann die Ansicht, um die Daten darzustellen. Wurden die Namenskonventionen eingehalten, wird der Ablauf gänzlich vom Framework gesteuert. Der Ablauf Modelle auf Schienen Modelle bilden Daten der Anwendung in Form von Ruby-Klassen ab die eigentlichen Daten sind in Datenbanken gespeichert. Es entsteht Modelle und Datenbanken

5 22 3 Model View Controller die Schaltzentrale Relationale Datenbanken und Objektorientierung eine Lücke zwischen der Datenspeicherung und der Darstellung der Daten im Modell. Rails hilft mit der Technologie der Active Records,diese Lücke zu schließen. Zwei Möglichkeiten stehen beim Arbeiten mit Datenbanken zur Verfügung: Eine einfache und schnelle Methode ist das direkte Einbinden von Datenbankabfragen in den Code 1. Allerdings wird der Code durch diese Vorgangsweise schlechter lesbar und wartbar und Codefragmente wiederholen sich. Zur Vermeidung versuchen wir, den Code zur Manipulierung von Datensätzen an einer zentralen Stelle zusammenzufassen. Üblicherweise werden also Methoden erstellt, die alle Datenbankzugriffe für die gesamte Anwendung übernehmen und eine Schnittstelle zur Datenbank bereitstellen. Alle diese Klassen und Methoden zusammen werden als Persistenzschicht (bzw. Persistenz-Framework) bezeichnet. Active Records 2 ist dieses Persistenz-Framework für Rails und dient der Verbindung der Konzepte der relationalen Datenbanken und der Objektorientierung. Die Welten der relationalen Datenbanken und der objektorientierten Programmiersprachen sind sich über die Jahre nicht nähergekommen. Daher ist der Aufwand für die Verbindung dieser Welten oft hoch. Es gibt zahlreiche Ansätze und Frameworks, die den Programmierer bei dieser Aufgabe unterstützen. Gutes objekt-orientiertes Design zeichnet sich dadurch aus, dass die Klassenstruktur die reale Welt abbildet. Eigenschaften werden auf Attribute von Klassen, Abläufe auf Methoden von Klassen abgebildet. Beziehungen zwischen Klassen werden über Referenzen zwischen Klassen realisiert. Relationale Datenbanken bilden auch die reale Struktur ab, allerdings in der Form von Tabellen. Relationale Datenbanken bestehen aus Tabellen mit Attributen als Spalten. Jede Zeile entspricht einer Instanz im objektorientierten Sinne. Die Abbildung zwischen objektorientierten Modellen und relationalen Datenmodellen wird als objektrelationales Mapping bezeichnet Objektrelationales Mapping Ein Ansatz, die Lücke zwischen der Objektorientierung und den relationalen Datenstrukturen zu schließen, ist das objektrelationale Mapping (ORM). Dabei wird eine Tabelle in ein Objekt abgebildet oder vice 1 Das gilt vor allem für den Bereich der serverseitigen Skriptsprachen auf Plattformen wie Java ist der Umstieg zu Persistenz-Frameworks schon erfolgt; Rails ist für die Skriptsprachen einer der Vorreiter. 2 Rails bietet mit Active Records Unterstützung bei der Arbeit mit Datenbanken an, diese ist aber nicht zwingend.

6 3.1 MVC in Rails 23 versa. Ein Tupel 3 einer Tabelle wird als Instanz einer entsprechenden Klasse ausgegeben. Die Spalten der Tabelle entsprechen den Attributen der Klasse. Beziehungen zwischen den Tabellen werden über Objektreferenzen abgebildet. Mit dem Befehl ruby script/generate model TestModel wird in Rails Active Records ein leeres Model erzeugt. Das erzeugte Model leitet sich von der Klasse ActiveRecord::Base ab und sieht folgendermaßen aus: class TestModel < ActiveRecord::Base objektrelationales Mapping in Rails Active Records ist der Ansatz von Rails, um ein objektrelationales Mapping für die Schnittstelle zwischen dem Modell und der Datenbank zu realisieren. Active Records funktionieren genauso, wie der vorher erläuterte ORM-Standardansatz. In jeder Klasse bieten die Active Records zusätzliche Methoden für den Zugriff auf auf die Datenbanktabellen an. Dazu gehört beispielsweise die Methode find. Diese filtert in der zur Klasse gehörigen Tabelle die Zeilen, die zu den übergebenen Parametern passen und gibt diese Datensätze als Instanzen der Klasse zurück. Nachdem das Prinzip der Namenskonvention die grundlegende Philosophie von Rails ist, wird die Beziehung zwischen Tabelle und Klasse wieder ohne Konfiguration geregelt. Die Zuordnung einer Tabelle zu einem Model wird vom Framework durchgeführt, wenn der Name des Modells die Einzahl des Tabellennamens ist. Rails erkennt die Mehrzahl auch für Mehrzahlbildungen wie in country und countries allerdings beschränkt sich das Mapping auf die englische Form der Mehrzahlbildung. Datei test_model.rb View und Controller: Das Action Pack Als Action Pack wird in Rails die Verbindung aus View und Controller bezeichnet. Diese beiden weisen eine enge Beziehung auf: Der Benutzer interagiert mit der Ansicht, die ein Ereignis (»Event«) auslöst. Dieses Ereignis führt wiederum zum Aufruf einer Action-Methode des Controllers. Durch den Namen der Action-Methode ist über die Namenskonvention bereits der Aufruf einer bestimmten Ansicht vorgegeben, und der Controller veranlasst jetzt die Darstellung eines bestimmten Views. Mit Rails können verschiedenste Ansichten generiert werden. Grundsätzlich werden Webseiten oder Teile einer Webseite in HTML ausgegeben. Rails unterstützt auch die Ausgabe anderer Ausgabeformate, wie die Ausgabe von XML. Der einfachste Fall einer Ansicht ist Action Pack Der View 3 Jede Zeile einer Tabelle wird als Tupel bezeichnet.

7 24 3 Model View Controller die Schaltzentrale Der Controller die Ausgabe statischer Texte. Web-Applikationen leben aber von dynamischen Inhalten. In Rails werden dynamische Inhalte über die Definition von rhtml-vorlagen in das Format HTML eingebunden. Solche Vorlagen erhalten ihre dynamische Komponente durch Einbindung von Ruby-Code sie stellen sozusagen eine Mischung aus Ruby und HTML dar. Die Einbindung von Ruby-Code in die Ansicht ist praktisch, aber nicht unproblematisch: Die klare Trennung des MVC-Musters könnte durch zuviel Code in den Ansichten verloren gehen. Die Verantwortung zur Einhaltung des MVC-Konzepts liegt klarerweise beim Programmierer, daher sollte der View so wenig Code wie möglich enthalten. Code in Templates sollte nur dazu dienen, um beispielsweise mittels Schleifen auf eine dynamische Anzahl von Datenfeldern zuzugreifen oder dynamische Links zu generieren. Ein schneller Blick in die Ansicht zeigt oft, ob die Vorgaben des MVC-Musters eingehalten wurden: Besteht der überwiegende Teil der Seite aus Ruby-Code, liegt in vielen Fällen ein Verstoß vor. DieAufgabedesControllers ist die Steuerung des Ablaufs. Er wird aufgerufen, sobald eine Abfrage auf unsere Web-Applikation abgesetzt wird. Zuerst extrahiert der Controller die Daten aus der Anfrage und aktualisiert das Modell. Danach wählt der Controller den View aus, übergibt die Daten und die Ansicht wird aufbereitet. Der sichtbare Quelltext im Controller ist nur ein kleiner Teil der eigentlichen Funktionalität der größte Teil wird über das Framework und die Ableitung des Controllers von der Basisklasse ActionControllerBase zur Verfügung gestellt. Dadurch bleiben die Controller in Rails kleiner und besser wartbar. Der Controller stellt über das Framework folgende Funktionalitäten bereit: Interpretation der URL Caching Hilfsmodule zur Erweiterung der Funktionen der Ansichten Session Management Abbildung 3.2 visualisiert das MVC-Muster, wie es in Rails umgesetzt ist Zusammenfassung Das Model-View-Controller-Entwurfsmuster dient der klaren Trennung zwischen Modell (Geschäftslogik) und View (Benutzerschnittstelle). Dabei ist der View für die Darstellung zuständig, das Model für die Datenhaltung und Datenmanipulation und der Controller für die Initialisierung, Auswahl und die Steuerung der Kommunikation zwischen View und Model.

8 3.2 Der Zug kommt ins Rollen»Hello World«25 Browser Dispatcher Antoß zum Rendern eines neuen Views Controller ActionController Business Logik Abbildung 3.2 MVC in Rails View ActionView / RHTML Wird mit Daten aus dem Model gerendert Model ActiveRecord DB Das Rails-Framework basiert auf dem Model-View-Controller- Entwurfsmuster. Durch den strukturierten Aufbau einer Rails- Applikation wird dem Programmierer vorgegeben, wie die klare Trennung der Teile des MVC-Musters umzusetzen ist. Durch die Anwendung des Prinzips»Convention over Configuration«und damit die konsequente Anwendung von Namensregeln wird der Konfigurationsaufwand verringert und somit der Programmierer entlastet. Zusätzlich wird durch automatische Generierung von Teilen der Anwendung der Aufwand fürs Schreiben einer Basisapplikation verringert. Dadurch wird ein rasches Erstellen von Prototypen ermöglicht. Trotzdem hat der Entwickler die Möglichkeit, das Framework an seine Bedürfnisse anzupassen. 3.2 Der Zug kommt ins Rollen»Hello World«Zum Kennenlernen des Rails-Frameworks wollen wir ein einfaches Beispiel umsetzen. Ganz klar - das erste Beispiel in einem neuen Framework muss natürlich ein»hello World«-Programm sein Station 1 Erstellen des Grundgerüsts Die erste Station beim Erstellen einer Anwendung in Rails ist das Erzeugen des Grundgerüsts. Nach der Installation des Rails-Frameworks steht der Befehl rails zur Verfügung. Durch Ausführung dieses Befehls kann auf einfache Weise das Grundgerüst einer Rails-Anwendung erstellt werden. Das Grundgerüst besteht aus einer für eine Rails- Anwendung benötigten Verzeichnisstruktur, in der die einzelnen Ele- Anlegen der Verzeichnisstruktur

9 26 3 Model View Controller die Schaltzentrale mente des Programms abgelegt werden. Zusätzlich werden bei der Ausführung dieses Befehls auch Templates für die einzelnen Dateien in der Verzeichnisstruktur erzeugt 4. Wir werden in diesem Beispiel auf die vorgegebene Struktur aufbauen. Um eine erste Rails-Anwendung zu erstellen, öffnen wir zunächst ein Terminalfenster (Eingabeaufforderung unter Windows) und wechseln in das Verzeichnis, in dem die Anwendung erstellt werden soll. Anschließend führen wir den Befehl rails first _ rails _ app aus und erhalten folgende Ausgabe: create create app/apis create app/controllers create app/helpers create app/models create app/views/layouts... create log/production.log create log/development.log create log/test.log Dieses Kommando erstellt zahlreiche Verzeichnisse, die mit ls bzw. dir aufgelistet werden können. Mit dem Befehl ~ $ ls first _ rails _ app/ erhalten wir folgende Ausgabe: app CHANGELOG components config db doc lib log public Rakefile README script test vendor Station 2 Starten des Webservers Da das Rails-Framework zahlreiche Verzeichnisse und Dateien anlegt, ist es am Beginn schwer, den Überblick zu behalten. Wir wollen schrittweise die jeweils benötigten Dateien auflisten und beschreiben. Als Erstes sehen wir uns das public-verzeichnis an. Zu den wichtigsten Dateien in diesem Verzeichnis gehören die Dispatcher-Dateien: dispatch.cgi dispatch.fcgi dispatch.rb 4 Wenn eine andere als die automatisch erstellte Verzeichnisstruktur benötigt wird, kann diese auch manuell erzeugt werden. Die Konfiguration des Frameworks muss danach natürlich angepasst werden.

10 3.2 Der Zug kommt ins Rollen»Hello World«27 DieAufgabederDispatcher ist es, alle eingehenden Anfragen entgegenzunehmen und dafür zu sorgen, dass abhängig vom Request das richtige Modul der Anwendung ausgeführt wird. Weiterhin interessant ist die Datei index.html. Diese ist die Startseite des Webservers, wenn die Web-Anwendung ohne Zusatzparameter aufgerufen wird. Der Webserver (WEBrick::HTTPServer) wird gestartet, indem wir den Befehl ruby mit der Skriptdatei server im Unterverzeichnis scripts aufrufen. Die Eingabe Der Webserver ~/first _ rails _ app $ ruby script/server webrick ergibt folgende Ausgabe => Rails application started on => Ctrl-C to shutdown server; call with --help for options [ :03:26] INFO WEBrick [ :03:26] INFO ruby ( ) [i686-linux] [ :03:26] INFO WEBrick::HTTPServer#start: pid=17443 port=3000 Der Server läuft so lange, bis in diesem Terminalfenster die Tastenkombination Strg-C gedrückt wird. Wenn wir uns nun auf den Webserver verbinden wollen, müssen wir im Web-Browser die URL eingeben. Hat alles funktioniert, wird die Datei index.html angezeigt. Abbildung 3.3 DieStartseitedes Webservers

11 28 3 Model View Controller die Schaltzentrale Für den weiteren Ablauf muss der WEBrick::HTTPServer im Terminalfenster aktiv bleiben. Wir können in diesem Fenster die eingehenden Anfragen auf den Webserver beobachten Station 3 Erstellen des Models Das Modell»Hello World«Datei message.rb Wie bereits erwähnt, baut Rails auf dem Model-View-Controller- Framework auf. Für unser»hello World«-Beispiel benötigen wir nur ein einfaches Model. DasModel dient dazu, die Zeichenkette»Hello World!«auszugeben. Unser Modell bekommt den Namen Message und wird im Verzeichnis app/models unter dem Namen message.rb abgespeichert. class Message def say _ hello return "Hello World!" end end Dieses Model muss nun über einen Controller aufgerufen werden, den wir im nächsten Abschnitt erstellen Station 4 Erstellen des Controllers Beginnen wir mit dem Code für den Controller, der die Anfragen verarbeitet. Zum Erzeugen des Grundgerüsts für einen Controller benötigen wir wieder den Befehl rails. Diesmal müssen wir den Aufruf der Skriptdatei generate mit dem Parameter controller und dem Namen des Controllers ergänzen. In unserem Beispiel wählen wir den Namen echo für den Controller. Somit erstellt die Eingabe ~/first _ rails _ app $ ruby script/generate controller echo unseren Controller und gibt dabei Folgendes aus: exists app/controllers/ exists app/helpers/ create app/views/echo exists test/functional/ create app/controllers/echo _ controller.rb create test/functional/echo _ controller _ test.rb create app/helpers/echo _ helper.rb In der Ausgabe des Skripts werden sämtliche Dateien und Verzeichnisse überprüft beziehungsweise neu angelegt. Den Code unseres neu angelegten Controllers finden wir in der Datei echo _ controller.rb im Verzeichnis app/controllers.

12 3.2 Der Zug kommt ins Rollen»Hello World«29 class EchoController < ApplicationController end In dem generierten Controller ist einzig die Controller-Deklaration zu sehen. Die Klasse EchoController erbt allerdings von der Klasse ApplicationController und erhält daher einiges an Funktionalität von dieser Basisklasse. Es sind noch keine Action-Methoden in der Controller- Klasse definiert. Datei echo_controller.rb Station 5 Erstellen der Action Bevor wir die erste Action anlegen, sehen wir uns einen Request näher an. Über die URL wollen wir unser»hello World«-Beispiel anzeigen. Für den Webserver ist nur der erste Teil der URL relevant. Der andere Teil wird an die Anwendung übergeben 5.DerDispatcher zerlegt im Routing- Vorgang die URL folgendermaßen: echo zuständiger Controller hello zuständige Action Der Dispatcher verwendet den ersten Teil des Pfads, um den Namen des Controllers herauszufinden, und den zweiten Teil des Pfads, um die aufzurufende Action zu ermitteln. Damit die obige URL für unsere Anwendung zur Verfügung steht, definieren wir eine Action. Diese Action bezeichnen wir mit hello. 1 class EchoController < ApplicationController 2 def hello = Message.new 4 end 5 end Datei echo_controller.rb Die Action hello ist für die Aufbereitung der Daten zuständig. In der Action wird der Konstruktor der Klasse message aufgerufen, der für unser Modell immer»hello World!«zurückliefert. Wenn wir jetzt die URL im Browser eingeben, kommt es zu einer Exception bei der Ausführung des Codes in der Action Controller-Basisklasse. Diese Ausnahme ergibt sich, weil wir noch kein Template für den»hello«-view erstellt haben. Daher müssen wir im nächsten Schritt ein Template für den View erstellen. 5 Bei Rails entspricht echo/hello keiner Pfadangabe, wie man es von anderen Webservern erwarten könnte.

13 30 3 Model View Controller die Schaltzentrale Abbildung 3.4 Dem View fehlt noch ein Template Datei hello.rhtml 1 <html> 2 <head> Station 6 Erstellen des Views Damit unsere Anwendung vollständig wird, schreiben wir ein Template für den hello-view. Das Template wird in das Verzeichnis app/views/echo für die Views des echo-controllers gespeichert. Basierend auf der Konvention von Rails, hat die Template-Datei für den View denselben Namen wie die Action. In unserem Fall hat die Template-Datei den Namen hello.rhtml. Die Erweiterung.rhtml deshalb, weil sie nicht nur HTML enthalten kann, sondern auch Ruby- Befehle. Die Erweiterung ist ein Hinweis, dass es sich um eine Template- Datei handelt und nicht um eine reine HTML-Datei. Zuerst wollen wir nur statische Inhalte einfügen. Die dynamischen folgen dann später. 3 <title><%=@message.say _ hello %></title> 4 </head> 5 <body> 6 <h1><%=@message.say _ hello %></h1> 7 (erste Ruby-on-Rails Anwendung) 8 </body> 9 </html> Wenn wir jetzt die URL im Browser aufrufen, erhalten wir die Seite mit der gewünschten Meldung»Hello World!«. Damit haben wir das erste Set Model, View, Controller komplett umgesetzt und unsere Verbindung zur Welt erstellt.

14 3.2 Der Zug kommt ins Rollen»Hello World«31 Abbildung 3.5 Hello World! Station 7 Erstellen von dynamischen Inhalten Nur dynamische Seiten können Web-Anwendungen zum Leben erwecken. Rails verwendet dazu Embedded Ruby, um in die View- Templates Ruby-Code zu integrieren. Ähnlich wie bei PHP, JSP oder ASP arbeitet Embedded Ruby mit Tags. Der Beginn jedes Ruby-Codes wird mit einem %-Tag gekennzeichnet und mit % abgeschlossen. Wir werden nun das»hello World!«-Beispiel um das aktuelle Datum und die Uhrzeit erweitern. 1 <html> 2 <head> 3 <title><%=@message.say _ hello%></title> 4 </head> 5 <body> 6 <h1><%=@message.say _ hello%></h1> 7 <P> 8 Datum und Uhrzeit: <%= Time.now %> 9 </P> 10 </body> 11 </html> Datei hello.rhtml Dadurch enthält die Ausgabe jetzt auch Datum und Uhrzeit. Durch ein zusätzliches»=«nach dem Tag % wird der Rückgabewert des ausgeführten Codes an dieser Stelle in das Template eingefügt. Durch die Verwendung dieses Tags erspart man sich den expliziten Aufruf einer Ausgabefunktion und das Template wird lesbarer.

15 32 3 Model View Controller die Schaltzentrale Abbildung 3.6 Hello World mit dynamischem Inhalt Station 8 Model, View und Controller trennen Ganz sauber war der letzte Schritt nicht. Dem aufmerksamen Leser ist sicher nicht entgangen, dass das Ermitteln von Datum und Uhrzeit keine Aufgabe des Views, sondern des Controllers ist. Wir wollen also den Controller die Uhrzeit ermitteln lassen und den View lediglich zur Anzeige verwenden. Datei echo_controller.rb 1 class EchoController < ApplicationController 2 def hello = Message.new = Time.now 5 end 6 end Datei hello.rhtml 1 <html> 2 <head> 3 <title><%=@message.say _ hello%></title> 4 </head> 5 <body> 6 <h1><%=@message.say _ hello%></h1> 7 <P> 8 Datum und Uhrzeit: %> 9 </P> 10 </body> 11 </html>

16 3.2 Der Zug kommt ins Rollen»Hello World«33 Am Verhalten der Anwendung ändert sich nichts, allerdings können wir hier gut eine Eigenschaft von Rails beobachten. Im Controller-Objekt wird ein privates Attribut namens time gesetzt, auf das der View zugreift. Das funktioniert, weil Rails dafür sorgt, dass Attribute des Controller-Objektes im View-Template verfügbar sind Station 9 Schleifen in View-Templates Eine einfache Möglichkeit, Schleifen in Rails zu verwenden, soll folgendes Beispiel zeigen, in dem sich HTML-Code innerhalb einer Schleife befindet. 1 <html> 2 <head> 3 <title><%=@message.say _ hello%></title> 4 </head> 5 <body> 6 <% 3.times do %> 7 <h1><%=@message.say _ hello%></h1> 8 <% end %> 9 <P> 10 Datum und Uhrzeit: %> 11 </P> 12 </body> 13 </html> Datei hello.rhtml Die Schleife erzeugt HTML-Code, wobei die Daten bei jedem Durchlauf ausgegeben werden. Abbildung 3.7 Hello World in einer Schleife

17 34 3 Model View Controller die Schaltzentrale Station 10 Seiten verbinden Web-Anwendungen bestehen aus zahlreichen Seiten, die miteinander über Hyperlinks verbunden sind. Daher wollen wir nun Seiten unseres Beispiels miteinander verbinden. Dazu definieren wir in unserem bestehenden echo-controller eine zweite Action und ein zugehöriges Template. Datei echo_controller.rb 1 class EchoController < ApplicationController 2 def hello = Time.now 4 end 5 def second 6 end 7 end Datei second.rhtml 1 <html> 2 <head> 3 <title>zweite Seite</title> 4 </head> 5 <body> 6 <h1>zweite Seite!</h1> 7 <P> 8 Dies ist die zweite Seite unserer ersten Rails-Anwendung 9 </P> 10 </body> 11 </html> Abbildung 3.8 Eine zweite Seite, auf die wir jetzt verlinken können

18 3.2 Der Zug kommt ins Rollen»Hello World«35 Mit dieser Erweiterung erhalten wir die in Abbildung 3.8 dargestellte Seite im Browser. Wir müssen nun die erste Seite modifizieren, damit sie einen Hyperlink auf die zweite Seite enthält. Die einfachste Variante ist, einen Hyperlink <A HREF="/echo/hello"> einzufügen. Mit dem Nachteil, dass der Hyperlink ungültig wird, sobald diese Seite in ein anderes Verzeichnis verschoben wird. Besser ist es, die Funktion link _ to zu verwenden. Diese Funktion bekommt als ersten Parameter den Text des Hyperlinks und als zweiten die Action, auf die der Hyperlink verweisen soll. 1 <html> 2 <head> 3 <title><%=@message.say _ hello%></title> 4 </head> 5 <body> 6 <h1><%=@message.say _ hello%></h1> 7 <%= link _ to "Hier gehts auf die 2. Seite", :action => "second" %> 8 <P> 9 Datum und Uhrzeit: %> 10 </P> 11 </body> 12 </html> Nun haben wir auf der»hello World!«-Seite einen Link auf die zweite Seite. Datei hello.rhtml Abbildung 3.9»Hello World«-Seite mit Link auf die zweite Seite

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Erstellen eigener HTML Seiten auf ewon

Erstellen eigener HTML Seiten auf ewon ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt

Mehr

HTML Programmierung. Aufgaben

HTML Programmierung. Aufgaben HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Grundlagen der Web-Entwicklung

Grundlagen der Web-Entwicklung Grundlagen der Web-Entwicklung Ruby on Rails Thomas Walter 10.01.2011 Version 1.0 aktuelles aktuelle Browserstatistiken Weltweit, Quelle www.netmarketshare.com 2 aktuelles aktuelle Browserstatistiken Europaweit,

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

www.flatbooster.com FILEZILLA HANDBUCH

www.flatbooster.com FILEZILLA HANDBUCH www.flatbooster.com FILEZILLA HANDBUCH deutsche Auflage Datum: 12.03.2011 Version: 1.0.2 Download: http://flatbooster.com/support Inhaltsverzeichnis 1 Filezilla FTP Programm 1 1.1 Filezilla installieren.................................

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor: Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Starten der CD Nach dem Einlegen der CD in Ihr CD-Laufwerk müsste die CD von selbst

Mehr

Erzherzog Johann Jahr 2009

Erzherzog Johann Jahr 2009 Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

1 Konto für HBCI/FinTS mit Chipkarte einrichten

1 Konto für HBCI/FinTS mit Chipkarte einrichten 1 Konto für HBCI/FinTS mit Chipkarte einrichten Um das Verfahren HBCI/FinTS mit Chipkarte einzusetzen, benötigen Sie einen Chipkartenleser und eine Chipkarte. Die Chipkarte erhalten Sie von Ihrem Kreditinstitut.

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

TopKontor - Kurzleitfaden

TopKontor - Kurzleitfaden KURZLEITFADEN ANMELDUNG UND BENUTZER Im ersten Schritt können Sie anhand des Benutzers die Rechtevergabe steuern. Dazu ist nach der Installation der Benutzer ADMINISTRATOR sichtbar. Dieser Benutzer hat

Mehr

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Bilingual konkret Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Moderner Unterricht ist ohne die Unterstützung durch Computer und das Internet fast

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Stand: 26.09.2012. Dokumentenverwaltung Modulbeschreibung

Stand: 26.09.2012. Dokumentenverwaltung Modulbeschreibung Seite 1 Inhalt Allgemein...3 Installation...3 So nutzen Sie die...4 Dokumente an andere INKS-Benutzer melden...7 Dokumentenliste ausdrucken...9 Konfiguration der... 10 Seite 2 Allgemein Die bietet Ihnen

Mehr

Contao für Redakteure

Contao für Redakteure Wir zeigen Ihnen wie gut Sie sind! Contao für Redakteure Erfahren Sie, wie man mit Contao umgeht Schnell, einfach und verständlich in 15 Seiten sachkundig! Inhaltsverzeichniss Einloggen 3 Übersicht 4 Seiten

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

INSTALLATIONSANLEITUNG

INSTALLATIONSANLEITUNG INSTALLATIONSANLEITUNG MASTER UPDATE 2.1.0.4 2014 Gambio GmbH. www.gambio.de Inhaltsverzeichnis 1 Changelog 3 2 Datensicherung 3 3 Installation Master Update 4 3.1 Update von Shopsystemen v2.0.7c bis v2.0.15.4

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Dateiabgleich im Netzwerk über Offlinedateien Dateiabgleich im Netzwerk über Offlinedateien

Mehr

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung Installationsanleitung 2 VERSIONSVERWALTUNG Version Autor Beschreibung Datum 1.0 Benjamin Hestler Erstellen des Dokuments 12.01.2010 1.1 Benjamin Hestler Erweitern und anpassen der

Mehr

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen Mit Einführung der 2010 TRY (Test Referenz Jahr) Klimadatensätze ist es erstmals möglich, neben den für 15

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Handbuch. Adressen und Adressenpflege

Handbuch. Adressen und Adressenpflege Handbuch Adressen und Adressenpflege GateCom Informationstechnologie GmbH Am Glocketurm 6 26203 Wardenburg Tel. 04407 / 3141430 Fax: 04407 / 3141439 E-Mail: info@gatecom.de Support: www.gatecom.de/wiki

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

Seriendruck mit der Codex-Software

Seriendruck mit der Codex-Software Seriendruck mit der Codex-Software Seriendruck mit der Codex-Software Erstellen der Seriendruck-Datei in Windach Sie können aus der Adressverwaltung von Windach eine sogenannte Seriendruck-Datei erstellen,

Mehr

Schnittstelle DIGI-Zeiterfassung

Schnittstelle DIGI-Zeiterfassung P.A.P.A. die kaufmännische Softwarelösung Schnittstelle DIGI-Zeiterfassung Inhalt Einleitung... 2 Eingeben der Daten... 2 Datenabgleich... 3 Zusammenfassung... 5 Es gelten ausschließlich unsere Allgemeinen

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Weiterverarbeitung Leseranfragen

Weiterverarbeitung Leseranfragen Weiterverarbeitung Leseranfragen Schulungsunterlage Inhaltsverzeichnis Thema Seite 1. Einführung 2 2. Weiterverarbeitung Vorbereitungen 2 3. Weiterverarbeitung Excel-Datei mit dem Seriendokument verbinden

Mehr

Variablen & erweiterte Aktionen nutzen

Variablen & erweiterte Aktionen nutzen 341 In Captivate können Sie mit Hilfe von Variablen Texte & Werte speichern oder Systeminformationen ausgeben. Außerdem können Sie auf Basis von Variablen komplexere Aktionen entwickeln, wie z. B. eine

Mehr

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

Mehr

Stapelverarbeitung Teil 1

Stapelverarbeitung Teil 1 Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

Virtual Private Network

Virtual Private Network Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine

Mehr

World4You Kundencenter

World4You Kundencenter World4You Kundencenter World4You stellt Ihnen zu jedem Paket ein Kundencenter zur Verfügung. Sie können mit diesem Tool Ihren Account online und in Echtzeit verwalten. Hier finden Sie eine Auflistung der

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Die Formatierungsregeln (die so genannte Wiki-Syntax) für Texte in DokuWiki sind zu großen Teilen die selben, wie in anderen Wiki-Systemen.

Die Formatierungsregeln (die so genannte Wiki-Syntax) für Texte in DokuWiki sind zu großen Teilen die selben, wie in anderen Wiki-Systemen. DokuWiki Kurzanleitung DokuWiki ein sehr einfach zu installierendes und anzuwendendes Wiki und bietet einige Funktionen, welche das Erstellen von Hypertexten, Dokumentationen und Präsentation von Projekten

Mehr