20. října 2007

ImageUploader - komponenta pro upload souborů

Na posledním projektu jsme celkem dost intenzivně používali komponentu ImageUploader od firmy Aurigma. Tuto nebo jinou komponentu jsme museli použít, protože zákazník měl následující požadavky:

  • elegantní způsob výběru dokumentů (textových i obrazových)

  • možnost náhledů pro obrazové dokumenty

Také je vhodné dodat, že předchůdce námi vyvíjené aplikace byla desktopová aplikace a spoustu uživatelů nebylo možné přesvědčit, že webová aplikace se chová jinak než standardní Windows aplikace.



S komponentou jsme pracovali přibližně půl roku. Komponentu jsme nevyužívali jen pro jednoduché odesílání souborů, ale potřebovali jsme odeslat dalších cca 30 položek formuláře. Některé věci šli celkem bez problémů, jiné bylo potřeba různými způsoby obcházet a myslím, že s výsledkem je i zákazník spokojený.
Než abych to složitě popisoval, tak nyní shrnu výhody a nevýhody, které tato komponenta z našeho pohledu má.

Výhody
  • komponenta je dostupná jak pro IE (ActiveX verze), tak i pro ostatní prohlížeče (Java applet verze)

  • kvalitní dokumentace včetně kvalitního online dema

  • celkem kvalitní podpora, např. forum

  • chování komponenty lze upravit konfigurací velkého množství parametrů, vše se ovládá pomoci JavaScriptu

  • komponenta neslouží jen k výběru souborů a jejich odeslání, ale umožňuje například vytváření náhledů, získávání informací z EXIF, přidání vodoznaku atd. Přehled vlastností je možné si prohlédnout zde.

  • i cena mi přijde rozumná. Za dualní verzi (ActiveX a Applet) s vazbou na doménové jméno serveru je cena $299.


Nevýhody
  • možnosti a chování obou verzí (ActiveX, Applet) nejsou totožné. Není to jen rozdíl (není ale jinak výrazný) v chování komponenty z pohledu uživatelského ovládání, ale hlavně rozdílu z pohledu funkcionality - odlišná podpora formátů obrázků (např. TIFF obrázky), jiné možnosti získání informací z EXIF, odlišný přístup pro získání data vzniku dokumentu. Toto je zřejmě dáno rozdíly v použitých jazycích pro vývoj těchto komponent (Java vs. C#).

  • slabá integrace s komponentou Thumbnail. Tato komponenta je dodávaná spolu s ImageUploader a slouží pro zobrazování náhledů vybraných dokumentů. Tato integrace ale nefunguje úplně 100% - je k tomu potřeba celkem dost JavaScript kódu, chování se liší pro obě verze komponenty a pořád se nám to nepodařilo dotáhnout do takové podoby, jakou by jsme chtěli.

  • zatímco ActiveX komponenta resp. IE neměly s testovacími certifikáty (tj. certifikáty podepsanými naší interní autoritou) žádné problémy, u Java verze to bylo horší. Pokud jsou ale certifikáty pro HTTPS podepsané nějakou známou autoritou, tak také není žádný problém.


I přes nějaké ty nevýhody jsem byl spokojený a pokud bude potřeba, tak tuto komponentu použiji i v dalších projektech.

Žádné komentáře: