Microsoft na początku marca wypuścił publiczną betę swojej przeglądarki Internet Explorer w najnowszej wersji 8. Niestety jak można było się spodziewać wypuszczona wersja nie działa jako samodzielny program i nie bardzo rozumiem dlaczego chcąc tylko przetestować produkt w niestabilnej jeszcze wersji (bo po to w końcu MS wydaje wersję beta) muszę zaktualizować obecną stabilną wersję. Na szczęście istnieje dość prosty sposób aby obejść to ograniczenie.

Uruchamianie Internet Explorer 8 beta bez instalacji

Aby uruchomić IE8 bez instalacji należy:
- pobrać kompletny instalator IE8 dla odpowiedniej wersji systemu np. z tej strony,
- uruchomić go z linii poleceń z parametrem /x który spowoduje rozpakowanie instalatora,
- stworzyć pusty plik IEXPLORE.EXE.local w katalogu programu,
- na koniec pozostaje uruchomić przeglądarkę poprzez plik iexplore.exe.

Powyższa operacja nie wpływa na aktualnie zainstalowaną wersję IE więc zabieg jest całkowicie bezpieczny. Co ciekawe - wg moich testów IE8 nie przechodzi testu Acid2 mimo, iż zapowiadano, że go przejdzie i są na to nawet dowody w postaci zrzutów ekranu poprawnie zdanego testu.

Testy Acid zostały przygotowane przez organizację Web Standards Project (WaSP) do weryfikacji zgodności silników przeglądarek ze standardami World Wide Web Consortium (W3C). Producenci przeglądarek zazwyczaj dążą do bezbłędnego przejścia tych testów i o ile test Acid2 przechodzi większość najnowszych wersji przeglądarek (oprócz Internet Explorera - mimo zapowiedzi nawet w wersji 8 beta) o tyle Acid3 po prostu masakruje większość najnowszych browserów. W przeciwieństwie do poprzednich wersji testu, Acid3 sprawdza nie tylko zgodność z CSS (także w wersji 3) ale również ECMAScript, SVG i XML. Pełny opis testu znajduje się na stronie http://www.webstandards.org/action/acid3/. Aby sprawdzić zgodność obecnych przeglądarek ze standardami przeprowadziłem test Acid3 na kilku przeglądarkach (w nawiasach ilość zdanych testów):

Mozilla Firefox 3.0 beta 5 (71/100)

Firefox 3

Mozilla Firefox 2.0.0.12 (50/100)

Firefox 2

Internet Explorer 8 beta (17/100)

IE8

Internet Explorer 7 (12/100)

IE7

Internet Explorer 6 (11/100)

IE^

Safari 3.1 (74/100)

Safari 3.1

Safari 3.0.4 (39/100)

Safari 3.0

Opera 9.50 beta (60/100)

Opera 9.50 beta

Opera 9.25 (46/100)

Opera 9.25

Jak widać obecne przeglądarki zupełnie nie radzą sobie z testem Acid3 a najlepiej wypada najnowsza wersja przeglądarki Safari 3.1 i uzyskuje wynik 74 na 100 możliwych punktów. Można powiedzieć, że zaczął się prawdziwy wyścig między producentami przeglądarek o miano pierwszego, który stworzy produkt przechodzący poprawnie pełny test Acid3.

Opis testu Acid3
Wygląd w pełni zdanego testu Acid3
Test Acid2
Test Acid1

Projektując aplikację internetową dość często korzysta się z plików konfiguracyjnych zawierających chociażby dane do połączenia z bazą. Sposób zapisu tych danych jest zależny od formatu pliku z konfiguracją. Dość często formatem tym jest XML ze względu na możliwość uzyskiwania praktycznie dowolnej struktury pliku. Niestety wadą formatu XML jest często przerost formy nad treścią czego wynikiem jest spory narzut informacji o strukturze pliku w porównaniu do samych danych, które mają być wykorzystane.

Istnieją rozwiązania alternatywne takie jak np. format INI znany z plików konfiguracyjnych aplikacji pracujących w systemie MS Windows. Format ten ma zdecydowanie mniejszy narzut jednak posiada on płaską strukturę czyli nie pozwala tworzyć struktur drzewiastych co może powodować spore problemy przy odczycie. Podobny problem dotyczy formatu plików conifguracyjnych spotykanych w systemach linuksowych.

Jest jednak pewne rozwiązanie które niejako łączy zalety powyższych pozbawiając ich przy tym głównych wad. Format o którym mowa to YAML, którego strona domowa znajduje się pod adresem http://yaml.org. Format ten przypomina pliki INI jednak jest bardziej czytelny i pozwala na tworzenie skomplikowanych struktur danych minimalizując przy tym narzut struktury nad zawartością.
Format ten powstał w 2001 roku a skrót początkowo oznaczał Yet Another Markup Language. Z czasem nazwa została zmieniona na YAML Ain't Markup Language by lepiej oddać zastosowanie języka. Przykład pliku konfiguracyjnego w formacie YAML:

CODE:
  1. logEvent:    Oz-Ware Purchase Invoice
  2. date:        2007-08-06
  3. customer:
  4.     given:   Dorothy
  5.     family:  Gale
  6.    
  7. items:
  8.     - part_no:   A4786
  9.       descrip:   Water Bucket (Filled)
  10.       price:     1.47
  11.       quantity:  4
  12.  
  13.     - part_no:   E1628
  14.       descrip:   High Heeled "Ruby" Slippers
  15.       price:     100.27
  16.       quantity:  1
  17.  
  18. bill-to:  &id001
  19.     street: |
  20.             123 Tornado Alley
  21.             Suite 16
  22.     city:   East Westville
  23.     state:  KS
  24.  
  25. ship-to:  *id001   
  26.  
  27. specialDelivery: >
  28.     Follow the Yellow Brick
  29.     Road to the Emerald City.
  30.     Pay no attention to the
  31.     man behind the curtain.

Format YAML umożliwia przechowywanie prostych ciągów znaków, liczb i bardziej skomplikowanych danych takich jak tablice asocjacyjne czy dane binarne. Ich zapis jest bardzo czytelny i wydaje się być dość naturalny dlatego znakomicie nadaje się do przechowywania danych konfiguracyjnych. Pełna specyfikacja znajduje się na stronie http://yaml.org/spec/current.html. W wielu językach istnieją biblioteki ułatwiające odczyt danych z formatu YAML i dostępne są na stronie: http://en.wikipedia.org/wiki/YAML#Implementations. Dla PHP dostępny jest moduł z repozytorium PECL Syck oraz biblioteka Spyc.

Podczas tworzenia stron często zachodzi potrzeba przetestowania ich działania w różnych przeglądarkach. O ile w przypadku przeglądarek innych niż Internet Explorer nie jest to problemem bo można zainstalować dowolną ilość ich wersji to w przypadku wspomnianego Internet Explorera nie da się tego osiągnąć w standardowy sposób. Próba instalacji nowszej wersji zakończy się uaktualnieniem do najnowszej wersji a próba instalacji wersji starszy zakończy się niepowodzeniem.

Na szczęście problem został dostrzeżony i rozwiązany w sposób bardzo wygodny i elegancki. Mamy możliwość pobrania i zainstalowania dowolnej pojedynczej wersji Internet Explorera lub instalacji pakietu Multiple IE gdzie możemy wybrać, które wersje Internet Explorera chcemy zainstalować. Pakiet ten zawiera wersje 3, 4.01, 5.01., 5.5 i 6 i poszczególne wersje IE działają bez żadnych problemów jako samodzielne aplikacje.