RSS Feed
^__^

Ajax Deeplinks mit jQuery Address

,

Aus der Reihe: feine jQuery Plugins, um nicht zu sagen essentielle jQuery Plugins, heute:
jQuery Address

Damit kann man sehr einfach Deeplinks in Ajax getriebenen Seiten realisieren.

So lassen sich zum Beispiel verschiedene Zustände in einer Ajax Seite navigierbar machen, wie zum Beispiel einzelne Tabs via Link öffnen oder auch Akkordion Zustände.
Oder man kann Ajax Bereiche SEO technisch erfassbar machen.

» read more

Debuggin JSON mit JSON Views

,

Wer kennt das nicht: man entwickelt mit JSON, will die AJAX Rückgabe kontrollieren und macht, wie gewohnt, im Firefox den Firebug auf und checkt unter Console den AJAX Request und sieht folgendes:

Nicht sehr erhellend! Total unübersichtlich! Nicht gut!

Wird JSON mit dem richtigen Header ausgeliefert, unter PHP geht der so:

header('Content-type: application/json');

» read more

Selenium functional tests mit PHPUnit

,

PHPUnit hat coolerweise eine Extension für Selenium Tests.

Dafür braucht man noch den PHP Client für die Selenium Remote Control.

pear install Testing_Selenium-0.4.3

Bei mir auf Debian Lenny, bzw. Mac OSX musste ich noch den include_path dafür anpassen,
damit phpunit Testing/Selenium.php gefunden hat.

Damit kann man mit PHP komfortabel einen Selenium Test Server über die Selenium RC ansprechen,
der dann beliebige Browser für functional Tests benutzt.

Der Selenium Server ist auch im Prinzip schnell installiert
und lokal ist das ganze einigermaßen unproblematisch, weil man ja schon mal die Browser seines OS zur Verfügung hat.

In einem Continuous Integration Setup möchte man aber vielleicht Selenium lieber auf einem Web Server laufen lassen.

Da sieht es dann erstmal weniger gut aus mit Browser executables.
Was also tun?

» read more

Ajax (Fake) Push: Long Polling mit HTML 5 WebWorker

,

Push-Mechanismen im Web sind mittlerweile weit verbreitet – die Anforderungen an die Infrastruktur aber recht hoch. Nichts geht ohne Plugins (Flash, Applet, WebSocket) – dann braucht man mindestens einen zweiten Server, der via persistenter Verbindung Nachrichten verteilt.

» read more

[Jquery]Namespaces via CSS-Selector adressieren

,

Vielleicht braucht es mal jemand, jedenfalls lassen sich “genamespacete” Tags in einer DOM (XML)document Instanz recht einfach mittels \: als Separator adressieren. Ein Beispiel: Ich möchte ein Dublin-Core Metadatum aus einem beliebigen Feed lesen:

(function($) {

  $('item').each(function() { $(arguments[1]).find('dc\:creator').[...]() } );

})(jQuery);

Dies entspricht wohl rein syntaktisch nicht ganz dem entsprechendem CSS3-Proposal (einzusehen unter http://www.w3.org/TR/css3-selectors/#typenmsp). Ich habe beide Möglichkeiten interessehalber auch einmal in einem aktuellen FF3.6 und Chromium getestet:

<style type="text/css">
/*<![CDATA[*/
  @namespace hanswurst url(http://www.meins.int)

  hanswurst|kaese
  {
    color: red;
  }
/*]]>*/
</style>
<hanswurst:kaese>
  Hanswurst liebt käse
</hanswurst:kaese>

Ergebnis: Naja, klappt nicht. Eventuell hat jemand eine Idee oder kann mich korrigieren?

Next Level Javascript Error Tracking

,

Exceptionhub protokolliert clientseitig auftretende Javascript Fehler.

* Logs all JavaScript errors (local or remote)
* Provides a stack trace to find the cause in all browsers
* Groups errors by cause
* Development and Production modes
* RSS feeds for errors

Einfach einbinden via Javascript im Seitenheader. Dann kriegt man schöne Statistiken über Javascript Fehler mit Browser und OS Infos, Mail-Notifications usw.
» read more

Symfony und das Dojo Build System

,

Das Dojo Toolkit bietet neben den offensichtlichen Features eines Full-Stack-Frameworks unter anderem mehrere “environment aware” Debug-Modi und eine Sammlung vonBuild-Scripten, die es dem Entwickler erlauben, das Framework zusammen mit den eigenen Frontend-Scripten und Stylesheets zu “kompilieren” und somit Bandbreite zu sparen bzw. Ladezeiten zu minimieren.

» read more

Symfony-Plugin: ein FormWidget mit eigenen Ajax Actions

,

Wenn man versucht mit Symfony/Doctrine/Generator Bordmitteln “related” Objekte in Formularen darzustellen, wird das schnell schwierig bei etwas mehr Daten.
“Ein Projekt wird mehreren Mitarbeitern zugewiesen. Es gibt aber 500.000 Mitarbeiter.”
Schon rendert sich das generierte multi-select im Projekt-Formular den sprichwörtlichen Wolf.
Hier braucht man eigentlich schon was mit Ajax/Pagination.

Hier ein Entwurf für ein FormWidget, Plugin das seine eigenen Ajax Actions haben soll. » read more

DOJO 1.4 final

,

Dojo 1.4 ist ‘raus. Fast ein Jahr wurde darauf verwendet, die bestehende Version 1.3 zu härten und schneller zu machen. Daher erwarten den Benutzer zwar keine großen Neuerungen, dafür aber volle Abwärtskompatiblität zur Version 1.3 und eine menge Bugfixes.

» read more