Tutorial: Typo3 als AJAX-Seite

7. November 2011
Autor: Lukas

In diesem Tutorial bauen wir eine AJAX-getriebene Seite, der eine TYPO3-Instanz zugrunde liegt. Die Motivation dahinter? Klar, AJAX ist auch 2011 noch cool und bietet einige Vorteile – weniger Reloads, weniger Traffic, mehr fancy Animationen.

Damit das funktioniert stellen wir in diesem ersten Teil erst einmal das CMS darauf ein, beliebige Seiten als JSON zu rendern, um so relativ einfach alle benötigten Informationen über die ausgegebenen Seiten transportieren zu können. Gleichzeitig muss die Kommunikation möglichst schlank sein. Fast alles, was wir benötigen, um TYPO3 zum Rendern von JSON-Seiten zu überreden, bringt entweder TYPO3 selbst, zumindest aber PHP von Haus aus mit.
Diesen Beitrag weiterlesen »

Die meisten Oracle-Nutzer wissen vermutlich, daß über einen function-based index schon seit langem die Indexierung von Funktionsausdrücken auf Spalten möglich ist.

Wer also eine Abfrage der Form

SELECT * FROM tabelle WHERE to_lower(spalte) = :strMyValue

optimieren will, setzt einfach einen function-based index auf “to_lower(spalte)”.

An eine Grenze stößt man dort, wo man nicht auf eine Funktion, sondern auf einen Boole’schen Ausdruck einen Index setzen möchte, etwa bei der folgenden Abfrage, die alle validen Email-Adressen selektiert: Diesen Beitrag weiterlesen »

Wer möchte das Total Commander beim Wechsel in ein Verzeichnis im Fenster A gleichzeitig im Fenster B in das Verzeichnis wechselt, der darf folgendes mal ausprobieren:

“Konfiguration” -> “Buttonbar ändern” -> “Klick auf Anfügen” -> bei “Kommando” die Lupe -> über Filter nach “cm_SyncChangeDir” suchen -> Doppelklick auf “cm_SyncChangeDir” -> “Klick auf OK”

Nun habt ihr in eurer Buttonbar oben rechts einen neuen Button. Ein Klick darauf, schaltet das Feature ein, ein erneuter Klick schaltet das Feature aus.

Damit erspart ihr euch einige Klickerei! Sehr hilfreich wenn es darum geht Test mit Liveserver abzugleichen. :)

Ein Quick-Tipp zum wohlverdienten Wochenende:

Wer schicke Buttons in seinem Total Commander haben möchte, die TortoiseSVN steuern, zum Beispiel um den aktiven Ordner zu updaten oder zu committen, dem kommt die hoch anpassbare Button-Leiste des Commanders zunutze.

  • Im TotalCommander über “Konfigurieren” -> “Buttonbar ändern…” den Dialog zur Anpassung der Shortcuts aufrufen.
  • Per Klick auf “Anfügen” einen neuen Button anlegen

Diesen Beitrag weiterlesen »

Es kam die Frage auf, ob und wie man das im Dateimanager Total Commander eingebaute “Mehrfach-Umbenenn-Tool” zur Stapelverarbeitung von Rename-Operationen auch rekursiv auf Unterordner anwenden kann.
Besagtes Tool zeigt von sich aus keine entsprechende Option auf. Abhilfe verschafft folgender Trick:

  • Im Oberordner das Suche-Werkzeug öffnen
  • Eine geeignete Suche in diesem Ordner durchführen, welche Unterordner einschließt (z.B. *.jpg, *.* oder ähnliches)
  • Im Suchergebnisfenster unten rechts auf “anwenden” klicken. Die Ergebnisliste findet sich anschließend in einem der Standard-Dateilistenfenster angezeigt.
  • In diesem Dateilistenfenster kann man nun wie gewohnt das Mehrfach-Umbenenn-Tool anwenden und so alle Dateien, die im Suchergebnis auftauchten, einbeziehen.

Fertig.

Gestern hat Adobe die Public Betas von Flash Players 11 und AIR3 veröffentlicht und es sind einige nette Features dabei, allen voran natürlich Stage3D API aka Molehill. Hier nun die aus meiner Sicht wichtigsten Neuerungen:

  • Stage3D: Hardwarebeschleunigte Grafikverarbeitung. Es gab ja bereits einige beeindruckende Demos zu sehen und ich denke wenn sich die Framework- und Tool-Entwickler auf eine feste Schnittstelle verlassen können wird sich hier noch einiges mehr ergeben.
  • Optimierte Garbage Collection: Entwickler haben nun die Möglichkeit den Einsatz des Garbage Collector besser zu planen (System.pauseForGCIfCollectionImminent).
  • Nativer JSON-Support: Ähnlich wie XML via E4X wird nun auch JSON nativ unterstützt. Das dürfte z.B. die Arbeit mit bereits bestehenden JSON-Services erleichtern.
  • H.264 Encoding für Kameras: Bisher war man bei der Verwendung von Webcams immer noch an den alten Sorenson Spark Codec gebunden und musste sich mit der damit einhergehenden schlechten Qualität begnügen. Das dürfte sich damit dann endlich erledigt haben.
  • LZMA SWF-Komprimierung: Was Joa ja schon in Apparat eingeführt hatte erhält nun auch offiziell Einzug in den Flash Player.
  • DisplayObjectContainer.removeChildren: Endlich, ich hab nie verstanden wieso es das nicht gab.
  • BitmapData Beschränkung aufgehoben: Die Beschränkung auf 16 Megapixel und eine Höhe/Breite von 8191 px wurde aufgehoben.

Ansonsten gibt es noch einen Haufen weiterer Features wie: Nativer 64Bit Support, Secure Random Number Generator, JPEG-XR Support, Asynchrones Bitmap Decoding, TLS Secure Sockets, neue Socket-Progress Events uvm.

Weitere Infos dazu findet ihr hier:

Facebook Like

12. Juli 2011
Autor: Heiko

Facebook hat seine Policy im Bezug auf die Like Buttons etwas geändert,  so dass Diese nicht mehr funktional sind. Natürlich ohne dies zu kommunizieren oder das Ganze zu dokumentieren.

Um die Spam-Problematik in den Griff zu bekommen, muss sich jede Seite, die den Like Button verwendet bei Facebook verifizieren. Dies geschieht mit dem Metadatum app_id.

Um eine solche App Id zu erstellen, generiert man am besten einen neuen Like Button mit dem Like Button Generator. Hier wird seit neuesten der Parameter app_id miterstellt. Hier das Source Attribut der IFrame Version

src="http://www.facebook.com/plugins/like.php?app_id=<!--app_id-->...

Diese App Id ergänzt man einfach bei seinem bestehenden Like Button. Jede App Id gilt für genau eine Subdomain.

Ganz fertig ist man leider noch nicht. Um eine reziproke Validierung zu ermöglichen muss man für den Facebook Crawler folgendes Metatag im Header hinzufügen:

<meta property="fb:app_id" content="<!--app_id-->"/>;

Der Like Button sollte nun wieder funktionieren.

Die kleine Shellzeugkiste

5. Juli 2011
Autor: Daniel P.

Diese Blogreihe richtet sich an alle, denen der Umgang mit der Linux-Shell noch nicht so sehr vertraut ist. Sie soll helfen die kleinen Helfer des schwarz-weißen Alltags kennen, bedienen und lieben zu lernen.

Wir starten mit dem unscheinbaren “ls” Diesen Beitrag weiterlesen »

Immer wieder kommt es vor, dass man gewisse technische Eckdaten des Systems auf Kundenseite benötigt. Meistens verbringt man dann eine gewisse Zeit am Telefon um die Daten abzufragen – oft in mühevoller Kleinarbeit. Eine viel einfachere Lösung ist denjenigen, von dem man all die technischen Details wissen will, einfach hier hinzuschicken (am besten natürlich mit seinem “Unternehmens-Standardbrowser”):

http://www.supportdetails.com/

Die Details können direkt auf der Seite exportiert, oder noch einfacher – direkt als Report per E-Mail verschickt werden! Sehr entspannt.

Code Reviews mit Jupiter

7. Juni 2011
Autor: Jochen

Code Reviews sind ohne Frage ein hervorragendes Mittel um die Qualität einer Softwareentwicklung zu steigern und um den Wissenstransfer zwischen Kollegen zu verbessern. Häufig gibt es für Reviews allerdings keinen einheitlichen Prozess oder es findet sich schlicht und einfach keine Zeit im stressigen Alltagsgeschäft.

Ich habe mich deshalb vor einiger Zeit nach einem Tool umgesehen das es uns Entwicklern schon während der Implementierungsphase ermöglicht, ähnlich einer Mischung aus Kommentaren und Tickets, fortlaufend optimierungswürdige Code Passagen zu kennzeichnen und strukturiert zusammenzufassen, um diese dann später in einem Review zu besprechen.

Dabei bin ich unter anderem auf das OpenSource Eclipse Plugin Jupiter gestoßen, in das ich nun eine kurze Einführung geben möchte. Diesen Beitrag weiterlesen »