You are browsing the archive for Florian.

Avatar of Florian

by Florian

URLs in Joomla! 1.5 Komponenten

23. September 2008 in Joomla!

Ich “bastel” an einigen Joomla!1.5-Komponenten herum. Dabei ist mir leider noch nicht klar, wie ich auf eine andere Ansicht oder einen anderen Controller innerhalb der eigenen Komponente verlinke.

Nehmen wir mal an, ich habe eine Komponenten, die “Episodenguide” heißt. Die Komponenten wird also in J!1.5 mit index.php?option=com_episodenguide aufgerufen. Wenn ich dies in der Navigation einbaue, dann hängt das System automatisch noch die “Itemid” an, welche dem jeweiligen Navigationspunkt entspricht: index.php?option=com_episodenguide&Itemid=1701.

Was soll angezeigt werden, wenn ich die Komponente aufrufe? Solange kein anderer Controller oder keine andere View gewählt wurde, soll er mir die Liste der Serien ausgeben. Wenn man eine Serie anklickt, soll die Liste der Episoden der Serie erscheinen.

Jetzt stehe ich hier noch vor einem anderen Problem. Brauche ich jetzt einen neuen Controller oder reicht eine andere View aus? Bis vor kurzem hatte ich auf diese Frage noch keine eindeutige Antwort gefunden. Eine andere View zu verwenden ist jedenfalls einfacher. Wobei aber auch die Regel “andere Daten = anderer Controller” ansprechend gilt. Ich bin mir noch uneins. In meinem Beispiel ändere ich nur die View auf “serie”. Dazu brauche ich natürlich noch einen Parameter für die ausgewählte Serie – welche ich sinnigerweise ebenfalls “serie” nenne. Die URL zum Aufruf einer Serie wäre folglich: index.php?option=com_episodenguide&Itemid=1701&view=serie&serie=TNG.

In meinem ersten Entwurf hatte ich leider die Itemid vergessen gehabt. Es wurde daher zwar die Liste der Episoden angezeigt – aber es war nicht mehr der Navigationspunkt gekennzeichnet. Hier habe ich nach langem Suchen aber eine schöne Lösungen für meine URLs in J!1.5 gefunden. Die Funktion sefRelToAbs($url); hatte leider nicht funktioniert. Vermutlich wurde diese Funktion durch JRoute::_( $url ); ersetzt. Was mir daran sehr gut gefällt, ich muß mich nicht mehr um den Namen der Komponente und auch nicht um die Itemid kümmern. Ich schreibe einfach: JRoute::_( ‘index.php?view=serie&serie=TNG’); und erhalte damit dich richtige Verlinkung.

Ich werde mir die JRoute-Klasse noch etwas genauer ansehen. Ich denke, dass ich dort noch einige nützliche Funktionen finden werde, die mir bei meiner Komponenten-Entwicklung weiterhelfen. Der nächste Schritt wird sein, dass ich die URLs der Komponente Suchmaschinenfreundlich gestalte. Hier hoffe ich einige eingebauten Funktionen von Joomla! nutzen zu können. Schließlich gibt es eine Einstellungen in der Konfiguration “Suchmaschinenfreundliche URLs: Ja oder Nein”. Also muß es auch einige vorgefertigte Funktionen geben.

Für meinen Episodenguide kommt mir folgende Struktur in den Sinn:

  • Startseite der Komponente: /episodenguide/
  • Episodenliste einer Serie (z.B. TNG): /episodenguide/tng/
  • Episode (z.B. TNG – Das Kind): /episodenguide/tng/2×01.html oder vielleicht sogar /episodenguide/tng/2x01_das-kind.html

Aber das ist wohl noch ein weiter Weg bis dahin…

Update:

Ich habe gerade festgestellt, dass die Links ohne JRoute::_(); durch die eingebaute SEF-Funktion sauber umgewandelt werden. Wenn ich also direkt nur index.php?option=com_episodenguide&view=serie&serie=TNG schreibe, dann wird das automatisch zu /component/episodenguide/?view=serie&serie=TNG. Sobald die URL jedoch mit Slash (“/”) beginnt (z.B. /index.php?option=…) findet keine Umwandlung statt. JRoute::_() erzeugt scheinbar eine URL, welche mit einem Slash (“/”) beginnt und ist daher mit der eingebauten SEF-Einstellung nicht kompatibel :-( . Aber ich werde weitersuchen.

Avatar of Florian

by Florian

Webcontrolling und direkte Anrufe?

19. September 2008 in Web Controlling

Als ich gerade die Überschrirft “Vertriebleranruf nach Homepage-Besuch” auf heise online gelesen hatte, dachte ich erstmal an einen Artikel über eine Anzeige gegen den Website-Betreiber wegen Mißbrauch der persönlichen Daten des Besuchers. Das jede Spur auf einer Website vom Betreiber (und eventuell anderen, z.B. Google mit Google Analytics) überwacht werden, ist ja nichts neues. Das man auch herausfinden kann, wer der Besucher ist, ist auch nicht wirklich neu. Das jemand diese Daten jetzt aktiv nutzt um dann seine Besucher anzurufen wäre aber unverschämt und vermutlich nicht mit dem deutschen Datenschutz vereinbar.

Allerdings ist es nur ein weiterer Webcontrolling-Anbieter, der als “tolles Feature” die Kontaktdaten zu den jeweiligen Besuchern (IP-Adressen) liefert. Kann das funktionieren? Nein.

Besucher, die über ihren lokalen Provider kommen haben eh dynamische IP-Adressen. Man kann zwar herausfinden, aus welcher Gegend jemand auf die Seite zugegriffen hat, aber wenn es in der Datenbank eine Telefonnummer zu der IP-Adresse gibt, dann nur vom Provider. Also sind die schonmal unbrauchbar.

Dann haben wir noch die großen Konzerne. Wenn jemand von IBM auf die Website kommt, dann hat er eine IP-Adresse von IBM. Eventuell kann man sogar den Standort ermitteln. Aber wer von den tausend Mitarbeitern von diesem Standort nun auf die Website zugegriffen hat? Da kann man also nur die Telefonzentrale des Standorts anrufen und dann sagen: “Wir haben einen ihrer Mitarbeiter überwacht, als er auf unserer Seite war, jetzt wollen wir ihm ein Produkt verkaufen. Können Sie mich bitte durchstellen?”. Klappt auch nicht wirklich gut. Zudem werden in den Datenbank möglicherweise auch nur die falschen Kontakte aufgelistet. Beispielsweise den IT-Verantwortlichen für die Netzwerke? Aber den richtigen Ansprechpartner wird man dort eh nicht antreffen.

Also kann man nur sagen, dass Mitarbeiter von IBM versteckt Interesse gezeigt haben. Dann könnten die eigenen Vertriebler (die bereits Kontakt mit IBMlern haben) dort eine Produktpräsentation anbieten. Das wäre meiner Meinung auch in Ordnung. Aber eine Telefonnummer anhand einer IP-Adresse? Nein Danke.

Avatar of Florian

by Florian

Kleiner Fehler, große Wirkung

21. August 2008 in PHP / MySQL

Ich werde zwar mit dem Suchbegriff “Star Trek Episodenguide” noch auf Platz 1 gefunden, aber irgendwie sind die Besucher mit anderen Suchbegriffen etwas weniger geworden. Vorallem wenn es um die Titel der einzelnen Episoden ging. Merkwürdig. Heute ist es mir dann zufällig aufgefallen. Ich war gerade auf iGoogle, wo ich auch meine Google Webmaster Tools eingebunden habe. Dort stand bei “Content Analysis” in der Zeile Probleme mit den “title”-Tags: 630 Seiten. Bitte? 630 Seiten von mir haben Probleme mit dem Titel?

Das erklärt einiges. Alle Episoden hatten den gleichen Titel: “Star Trek Episodenguide (TOS, TAS, TNG, DS9, VOY, ENT und MOV)”. Das ist nicht gut. Dort sollte doch eigentlich “[[Serie]] > [[Nummer]] [[Episode]]” (z.B. “Star Trek – Deep Space Nine: 6×19 Im fahlem Mondlicht” stehen.

Ursache: Bei der Portierung des Episodenguides auf PHP (ja, die Seite läuft jetzt auf PHP, nicht mehr ColdFusion – die Extension habe ich aus guten Gründen beibehalten) hat sich ein kleiner Buchstabendreher in Zeile 58 der folge.cfm eingeschlichen gehabt. Statt $page_title war dort ein $page_titel. Ich habe natürlich in meinen Scripten beim Titel einen Default-Wert definiert, der als Fall-Back funktioniert. Deswegen war überall der lange Titel enthalten.

Inzwischen verwende ich für meine Variablennamen (und auch Tabellenfelder in Datenbanken) englische Bezeichnungen. Als ich den Episodenguide vor über 8 Jahren “gebastelt” habe, hatte ich noch deutsche Namen.

Jetzt ist der Fehler behoben und die Titel schauen jetzt wieder brauchbarer aus. Allerdings ist der PHP-Code sehr unstrukturiert und etwas altmodisch. Bei der Portierung von Cold Fusion auf PHP habe ich eigentlich nur Zeile für Zeile übersetzt. Vielleicht sollte ich die ganze Applikation mal neu aufbauen. Ich habe zwar schon Testweise angefangen, den Episodenguide als Joomla! 1.5 Erweiterung zu erstellen. Das hätte den Vorteil, dass ich relativ einfach Standard-Community-Funktionen (Forum, Profilverwaltung etc) hinzufügen könnte, aber ich bin mir noch nicht sicher, ob ich meinen Episodenguide wirklich zu einer “Komponente” degradieren will.

Avatar of Florian

by Florian

Warum Open Source Content Management Systeme besser sind

15. Juli 2008 in Joomla!, Wordpress

Es ist doch immer wieder erstaunlich, was mit Open Source so möglich ist. WordPress ist eigentlich eher ein kleines System – aber weitaus mächtiger als überteuerte Script-sammlungen die von windigen Geschäftsleuten als ECMS verkauft werden… Und wenn man dann mal etwas will, was seit Jahren überall standard ist, dann muß man es für diese Sonderlösung teuer entwickeln lassen. Und dann ist man noch an die wenigen (vielleicht auch nicht so guten) Agenturen gebunden. Das deprimiert mich immer wieder.

Bei den meisten Open Source-Anwendungen sieht das ganz anders aus. Nehmen wir mal Typo3 als Beispiel. Sehr weit verbreitet und sehr mächtig – und sicherlich auch für viele Unternehmen als Enterprise Content Management System bestens geeignet. Durch die sehr hohe Verbreitung gibt es bereits sehr viele Standard-Funktionalität (Forum, Suche, Formulargenerator, SEO-Erweiterungen etc.) als fertige Erweiterungen, die man nur noch herunterladen und installieren muß. Dazu kommen natürlich auch noch jede Menge Agenturen, die sich mit diesem System auskennen. Und falls mal eine schlechte Agentur dabei ist – dann einfach diese durch eine gute Typo3-Agentur austauschen. Und falls man mal eigene Erweiterungen benötigt, die es bisher noch nicht gibt – auch kein Problem. Läßt sich sehr leicht programmieren (zumindest für jemand, der sich ein wenig mit Programmierung auskennt).

Allerdings ist Typo3 für mich eine Liga zu hoch. Für die meisten meiner Kunden reicht WordPress oder Joomla! vollkommen aus. Diese sind auch einfacher zu bedienen. Ich konzentriere mich auf diese beiden System. Typo3 überlasse ich lieber den guten Agenturen ;-)

Avatar of Florian

by Florian

WordPress 2.6 verfügbar

15. Juli 2008 in Wordpress

Seit heute gibt es WordPress 2.6. Ich habe es bereits hier in meinem Blog zum testen installiert. Bis jetzt macht es einen sehr guten Eindruck.

Die “Press This!”-Funktion ist genial. Habe sie im Firefox gleich gebookmarkt. Auch die Versionsverwaltung (mit dem eingebautem Easter Egg) ist erste Sahne. Den Turbo mit Google Gears habe ich bereits eingeschaltet, wobei ich im Moment keinen unterschied feststelle – das System ist einfach schnell, so wie immer. Das sortieren der Bildergalerie habe ich noch nicht getestet, aber das dürfte meine Arbeit mit Fotos erleichtern, weil ich jetzt nicht mehr beim Upload auf die Reihenfolge achten muß.

Ich werde das System aber erst noch ein paar Tage ausführlich testen, bevor ich die Installationen meiner Kunden aktualisiere ;-)