Ausgabe in symfony, Gantt Diagramm
In meinem derzeitigen Projekt muss ich symfony häufiger dazu nötigen keine HTML Seiten auszugeben, sondern Bilder, CSV oder Dokumente wie .doc oder das .odt Format auszugeben.
Die Abfragen in symfony laufen ja stets nach dem MVC Muster ab, also man ruft ein Funktion auf, meinetwegen ‘grafik/makeGrafik’, d.h. es gibt im Controller eine Klasse ‘grafikActions’ und in dieser eine Funktion ‘executeMakeGrafik’. Von dort aus wird aufs ‘Model’ zugegriffen, anschließend in der ‘View’ nach einer Datei die ‘makeGrafikSuccess.php’ heißt gesucht.
Natürlich kann man auch Plugins verwenden, aber ich hatte häufiger, dass Problem, dass vorgestellte Plugins nicht mit jeder symfony Version kompatibel sind bzw. einfach schlecht Dokumentiert sind/waren, außerdem sollte es eigentlich kein Problem darstellen eine bestehende PHP – Bibliothek einzubinden, geht ganz einfach mit ‘require_once(“…”);.
Ausgabe eines Gantt Diagramm
Erstmal ein Gantt Diagramm ist beliebt bei Projekt Manager um zeitliche Abläufe darzustellen. Hierzu gibt es eine tolle und umfangreiche PHP-Bibliothek JpGraph, die Teilbibliothek heißt Gantt.
Installation
Die Gantt Bibliothek in den gewünschten Controller kopieren und in der ‘Action’ über,
require_once ("/src/jpgraph.php");
require_once ("/src/jpgraph_gantt.php");
einbinden. Fertig.
Nun kann man in einer Action auf auf JpGraph zugreifen. Aber man generiert kein HTML sondern ein .jpeg, also heißt man muss die Standardantwort ändern,
public function executeDrawGantt( sfWebRequest $request ){
$this->getResponse()->setContent('image/jpeg');
$graph = new GanttGraph();
/*
*Hier wird nun die Grafik zusammen gabaut.
* Schaut euch dazu eines der Beispiele im Tutorial an,
*/
$graph->Stroke();
return sfView::NONE;
}
Was wir jetzt bekommen ist zwar ein Bild und es wird auch angezeigt,aber es ist nicht im Layout unser symfony Anwendung, dass reicht einem selbst aber jeder normale Benutzer schreit, zu recht.
Ich habe das Problem so gelöst.
Eine zweite Funktion, die in der gerenderte ‘view’ die oben beschrieben Funktion aufruft.
showGanttInLayoutSuccess.php
/* ... Hier werden die Formate definiert ... */
.graph{ border: 26px solid #FF0000}
#map{
background:url("") repeat scroll 0 0 transparent;
display:block;
height:1503px; //ja wirklich
margin:0 auto 2em;
position:relative;
width:4241px;//dito
/* ++++ */
Done!
Es lohnt sich ein Blick auf, Arduino
Arduino ist ein leicht programmierbarer Mikrocontroller mit digitalen- und analogen Ein- und Ausgängen. Mit diversen Bauteilen kann so ziemlich alles zusammenbauen was einem einfällt von einer blinkenden LED, über eine Schnittstelle für den Wii Nunchuck Controller bis zu einer Ampel die den Build Prozess überwacht.
Also viel Spielkram. Genau deswegen sollte man als ernsthafter Programmierer damit arbeiten. Man kann nämlich endlich mal ein anderes Feedback für seinen Code bekommen, als man durch Programme auf dem Rechner kriegt.
Ostseeman Rückblick
Knapp 30 Tage nach Transalp stand für mich die nächste große Herausforderung an, der Ostseeman in Glücksburg. Dieses Mal galt es 3.8 km schwimmen, 180km Radfahren und abschließend einen schönen Marathon also 42,195 km zu laufen.
Erfolgreich war ich nach 9:59:52 Stunden im Ziel und glücklich auch wenn der Marathon mit 3:45 Stunden sehr langsam war und dort bestimmt noch Luft nach oben ist.
Der Ostseeman ist eine familiäre Veranstaltung. Es sind immer Mehrrunden Kurse, also zwei Schwimm-, sechs Rad- und 5 Laufrunden. Die Runden sind nicht gerade schnell und gerade beim Laufen kann es sehr nervig werden, wenn Staffelläufer einem aus dem Tritt bringen.
Einen Dank gilt hier meiner Freundin, einem Freund und meinen Eltern, die mich während des Rad- und Laufsplits tatkräftig unterstützten und mit meiner Eigenverpflegung versorgten.
Wie ich schon sagte es war ein Mehrrunden Kurs und somit bin ich an dem Haus einer Familie 11 vorbeigekommen und jedes Mal haben die wirklich alles geben und jeden Läufer und Radfahrer enthusiastisch angefeuert, bis auf einmal, da waren sie weg.
Also habe ich in der nächsten Runde gefragt, na wo wart hier, Mittagessen? Ja, richtig. Danke.
Transalp 2010
Hier sind ein paar Artikel von meinem Transalp Partner Franz Seefried und mir zu der Jeantex Tour Transalp 2010.
Von unserem Müsliversorger Cereal Club Ergebnisse der Transalp
Noch mehr auf der Seite von Cereal Club
Von unserem Green Coco Drink Sponsor ein Beitrag auf RespectBio
Transalp Rückblick
Die Tour-Transalp gilt als härtestes Etappen Radrennen für Jedermänner und am 3.07.2010 habe ich sie zusammen mit meinem Teampartner Franz Seefried erfolgreich beendet.
In der Endabrechnung haben wir für knapp 800km km und 20.000 Höhemeter 29:31.25,7 Stunden gebraucht und sind durchaus guten 38 Platz in der Männerklasse gelandet.
Vielleicht wäre noch eine bessere Platzierung drin gewesen, wenn ich nicht die ersten beiden Tage so versaut hätte.
Sportlich kann ich es durchaus positiv sehen, ich bin jeden Tag auf komplett gesperrten Straßen gefahren, 50 Minuten hinter dem führenden werden, diese wieder für den Verkehr geöffnet, am Ende bin ich die Berge schneller rauf und besser runtergekommen, ich bin nicht gestürzt, ich bin jeden Tag an meine Schmerzgrenze gegangen und ich war während der Rennen nur einmal pinkeln.
Die Nächte habe ich im Transalp Camp verbracht, also die Massenunterkünfte in Turnhallen oder Schulen. Es war eine ganz tolle Erfahrung, habe viele interessante Menschen kennengelernt und der Kontakt besteht auch weiterhin.
Landschaftlich ist Südtirol wirklich ein Traum, da ich vorher niemals daran gedacht hätte in diese Gegend zu fahren, haben sie durch die Transalp einen neuen potenziellen Gast erreicht.
Als Fazit, ich würde es jeder Zeit wieder an Transalp teilnehmen aber zwei Dinge habe ich gelernt, wenn am Vortag die Strecke besprochen wird und der Sprecher behauptet, die letzten zwei km, des Anstieges sind dann nur noch in 10% Steigung, da drückt ihr so rüber, glaubt ihm nicht und Berge können so lang sein.
Mallorca 2010
Man hat es sich ja anders vorgestellt.
Frühlingstrainingslager auf Mallorca und es liegt Schnee, viel Schnee.
Nachdem die beiden ersten Tag schon nicht ganz dem entsprachen wie ich es mir vorgestellt habe,
am Anreisetag haben wir uns leicht verfahren und am ersten Tag bin ich mich wohl schon am Anfang blau gefahren, dann kam noch Regen und Gegenwind und ich hing mich dann nur noch in eine 24 Schnitt Gruppe reine und hoffte, dass unser Hotel bald kommt.
Und nun…
Regen am Strand und Orkanartige Windböen, Temperaturen um die 5 Grad. Zum Glück war ja in Deutschland noch Winter und somit hatte ich meine Winterjacke noch mit. Auch unser Hotel war noch nicht ganz auf das Wetter eingestellt, das Wasser war mehr lau als warm und ein romantisches Zimmer mit Meerblick muss nicht unbedingt gut isoliert sein.
Somit blieb mir am dritten und vierten Tag nichts anders übrig als zu laufen.
Unser Hotel liegt direkt an einem sehr schönen Küstenabschnitt, mit viel Wald und Felsen, dazu die starke Brise vom Meer, hat mich irgendwie mehr an Leichtathletik Trainingslager auf Texel erinnert als an Mallorca.
Auf dem Rückweg musste ich dann erkennen, welche Kraft doch die Natur haben kann, aus dem kleinen Flussarm, den man auf dem Hinweg noch leicht überspringen konnte ist durch die Brandung doch ein 5-8m großer Arm geworden und das 200m Luftlinie vom Hotel entfernt.
Somit kam ich doch noch zur Schwimmeinheit….
Transalp 2010
01.12.2010 12:00, ein wichtiger Termin. DER wichtige Termin. Denn es gilt pünktlich den aktualisieren Knopf, wahlweise auch F5 oder Strg+R, zu drücken und schnell die nötigen Daten für die Team Anmeldung bei der Tour-Transalp 2010 einzutragen.
Um 12:01,30 hatte ich auch alles fertig und nun lag es am Cyberspace uns eine Woche in den wunderschönen Alpen zu liefern.
Nun hieß es warten, erst kam eine Email, dass alle Daten eingegangen sind.
Um 16:25 war es soweit, die Bestätigungsmail war raus, wir haben einen Startplatz.