Feb 06

The MooTools JavaScript framework has a lot of nice methods, where store and retrieve are only two of them. The concept is a pretty simple one. I call it the “registry”. Every element may have properties which are also present in the DOM, like href, title and so on. But with MooTools, you have one more option to assign properties to elements which will NOT have a “physical” representation in the DOM. For being able to identify one specific element in the DOM, a unique identifier is mandatory. As there is no such thing for every HTML element by default, they had to create one.

Technically, there is the id property, but not every element has to have it, so that is not the solution. Within the framework, there is a $uid method, which assigns an integer value to every element once MooTools is initialized (also for elements which are created dynamically later on). There is also a global counter value which increases the integer value and holds this “auto increment” value. This is Native.UID.

So after that magic method has been called for every HTML element, each one has a “uid” which can be obtained by myElement.uid. Sounds pretty easy and logic, right? Well, it is – except for forms. Guess what happens if an HTML form contains an input element with the name “uid” and we want to store something at the form. You’re right: it crashes! Here’s why: The browser simply returns an input element instead of the integer value. Now imagine you have several forms of that kind and you want to submit them with the Form.Request class. It uses the occlusion pattern of the MooTools framework. Now as soon as one form has been sent that way, all the other forms will simply check if there is a request stored for input instead of their integer uid value. Thus: all the forms share the same request object and your application will crash!

Check out the exmaple page.

Okt 19

Although I did not expect it at the beginning of this project, I have to admin that this idea and especially this website failed. eSteak.net will go offline in February 2011 and will never come back. Fortunately there is a better alternative that you can use to do what esteak.net was also meant for: sharing your MooTools code.

As this domain costs me money and I did not see any growth on the platform, I will longer longer keep this thing alive. I had a great time building it and dealing with Symfony. I have learned a lot and I am sure the next project will be better because of the things I’ve seen and experienced with this baby.

The last upload and also the last user registration has been quite some time in the past, so I think no one of you will really miss this website. Bye bye!

Mrz 18

Ich habe mich neulich mal mit meiner Statistik beschäftigt und dabei festgestellt, dass meine Galerie tatsächlich schon auf einigen anderen Seiten verwendet wird. Zu meinem großen Erstaunen gibt es auch schon eine Erweiterung für das CMS TYPOlight! Diese habe ich dann auch schon ein Mal im Einsatz gefunden. Sollte es noch weitere Beispiele der Verwendung geben, würde ich mich auf jeden Fall über einen Hinweis freuen, damit ich mir das mal anschauen kann. Weiterlesen »

Mrz 16

Um eine Webseite attraktiv für den Benutzer zu machen bietet sich der Einbau von kleinen “Gimmicks” an. Hierbei gilt es allerdings ein paar Dinge zu beachten. Zum einen sollte der Benutzer nicht zu sehr vom eigentlichen Inhalt der Webseite abgelenkt werden, zum anderen sollte die Webseite beim Fehlen des entsprechenden Gimmicks nicht eingeschränkt benutzbar sein, beispielsweise durch ein fehlendes Menü, oder ähnliches. Sprich, auch ohne JavaScript und Flash sollte die Seite weiterhin alle gewünschten Informationen bieten. Weiterlesen »

Mrz 15

Bei der Seite für das Geschäft meiner Familie, die ich gerade entwickle, wollte ich eine Lightbox verwenden. Die erste Extension die ich fand war kj_imagelightbox2, welche eigentlich genau das macht was ich wollte. Allerdings mit einigen Einschränkungen. Zum einen wollte ich gerne die auf MooTools basierende Slimbox verwenden, ergo auch MooTools und zum anderen verwende ich auf der Seite auch tt_news, was standardmäßig nicht unterstützt wird. Da man diese kleinen Mankos relativ einfach beheben kann und dadurch die Extension noch ein wenig flexibler wird, möchte hier meine Lösung posten. Weiterlesen »

Dez 13

Da lese ich neulich die Ankündigung von etwas großartigem im MooTools-Twitter-Account und freue mich schon wie ein kleines Kind auf die neue Community und dann sowas. Tz! Aber von vorn. Letzte Woche kam wie gesagt über Twitter die Ankündigung, konnte ja nicht viel anderes als die neue Plugin-Base für MooTools-Scripten sein. Irgendwann in der Nacht ging sie dann auch online, sodass ich am nächsten Tag mal reinschnuppern konnte. Ist alles sehr klar strukturiert und übersichtlich aufgebaut. Es gibt Kategorien und Tags (allerdings keine echte Tagcloud), Autoren samt Gravatar, Plugins und so weiter. Weiterlesen »

Sep 13

Da habe ich ja nun auf der T3CON gehört, dass es bei TYPO3 bald Ext.JS geben wird, da wollte ich es natürlich auch mal ausprobieren und anschauen. Deshalb hab ich es mir gleich runtergeladen, leider ging die Dokumentation erst gar nicht…

Aus Zeitmangel hab ich leider nicht weiter rumprobiert, aber schade ich finde ich es doch.

Screenshot mit Fehlermeldung von Ext.JS

Aug 29
  • english
  • german

At least I have encountered this problem on bigger websites I realized myself oder for my employer. If you then use tools like PageSpeed or YSlow to analyze those websites, you will soon realize that the number and filesize of those external files is often too big. For images CSS-sprites will help you out there for sure. But additionally there is a lot of CSS and JavaScript being loaded, especially on bigger websites. You will easily have 20 files or more! Now I wrote queo_speedup, a TYPO3 extension to improve this very problem. Without too much user interaction needed, of course! Weiterlesen »

Jul 28
  • english
  • german

I just found two new and really long blog posts about MooTools, plugins, tutorials and so on, but guess what was missing: a link to my website!. I was really sad, because I think some more interest would be nice. Both posts wrote about the missing plugin repository and called this a clear and probably the major disadvantage compared to jquery. Obviously the mootools “officals” do not want anybody to use esteak – I really could not explain the missing of any link with anything else to myself.

Jul 18

Für alle Benutzer meiner supertollen JSGallery2 habe ich die Flickr-Anbindung etwas schöner gemacht. Es passiert nun nicht mehr, dass nach dem Wechsel des Bildes das alte Bild noch kurz zu sehen ist und dann blitzschnell umschwenkt. Vielmehr habe ich es nun so gelöst: Das neue Bild wird im Hintergrund geladen und erst wenn der Vorgang beendet ist, wird auch das alte Bild weggeblendet. Damit ist nun zwar das alte Bild unter Umständen noch einen kurzen Moment zu sehen nach dem Klick. Damit der Nutzer jedoch nicht den Eindruck bekommt, dass etwas nicht stimmt und er wild herumklickt, sind seine Aktionen bis zur Fertigstellung der Animation geblockt.

Zusätzlich wird nun direkt die korrekte Flickrfarm angesprochen, was vorher teilweise durch 302 Redirects von Flickr gelöst wurde. Ich hoffe, dass damit ein kleiner Geschwindigkeitsvorteil zustande kommt.

Den dynamic-Teil habe ich so angepasst, dass auch Texte für die Bilder übergeben werden können. Das wiederum wird im Flickr-Teil gleich so benutzt, dass der vom Flickr-Owner eingegebene Titel direkt als Image-Title angehängt wird und, sofern konfiguriert, auch im TitleTarget der Galerie erscheint.

Ich hoffe, dem einen oder anderen gefällt die Flickr-Anbindung jetzt noch ein bißchen besser. Für die Zukunft plane ich übrigens die gesamte Galerie inklusive aller Anbindungen auch als TYPO3-Extension zur Verfügung zu stellen. Das sollte die Weiterverwendung noch mehr vereinfachen :-)

Getestet habe ich das Ganze wie immer im Safari, Firefox, Opera und IE7. Falls jemand Erfahrungen im IE8 hat, kann er die gerne posten. Und ja, ich weiß: im IE6 sieht alles komisch aus, aber das liegt an eurem IE6 ;-)

Download auf esteak.net