Blog nie miałby sensu bez pisania o aplikacjach "Silverlight". Jak można umieścić aplikacje Silverlight na Blogger-rze. Zagadnienie można podzielić na dwie części.
- Hostowanie- Blogger, czy nawet WordPress nie daje możliwości przechowywania naszych plików na serwerze i powiązania ich z naszym blogiem. Jednym słowem host trzeba znaleźć samemu.
- Umieszczenie aplikacji w HTML - Blogger oferuje bardzo łatwy edytor do pisania postów, który bez problemu daje możliwość umieszczenia filmów YouTube, jednak jak to się przekłada na Silverlight.
Teraz gdy wiem, na czym polegają nasze problemy. Poszukajmy rozwiązania.
Hostowanie
Kiedyś Microsoft oferował usługę hostowania aplikacji Silverlight na http://silverlight.live.com/ . Jednak jak sam możesz się przekonać ta usługa dawno już wygasła.
Zatem, gdzie można umieścić swoje pliki i to za darmo. W gruncie rzeczy zaraz się okaże, że i tak warto mieć własny serwer i własny blog. :) Nie powiem, że wpisując w Google "Silverlight host" otrzymywałem płatne usługi, na których można hostować "wszystko" , a przecież nie o to mi chodzi.
Wtedy mnie olśniło. Miałem cały czas odpowiedź na to pytanie na swoim własnym pulpicie.
DropBox oferuje ponad 2GB wolnej przestrzeń dla naszych pliczków oraz przechowuje historie ich wersji. Korzystałem z niego od wielu lat. Dawniej robił mi bardziej za backup niż za synchronizowanie tych samych pliczków na dwóch różnych komputerach. Teraz gdy pracuję, to zainstalowałem go jeszcze raz. W sumie przy pewnych sytuacjach rozmiar przestrzeni może wzrosnąć. Obecnie mój DropBox oferuje 2,5 GB.
Po instalacji DropBox-a przechodzimy do jego folderu i do pod folderu "Public".
W tym folderze są przechowywane pliki ogólnie dostępne i tam możemy umieścić aplikację Silverlight, a raczej plik .XAP .
Interface aplikacji DropBox w oknie przeglądarki nic kosmicznego :)
Umieszczenie aplikacji
Nawet nie wiedziałem, że taka prosta czynność może sprawiać problemy. Tak czy siak, by uczynić 2- u godzinną historię krótką, umieszczenie aplikacji za pomocą tagów <object> nie działa. Dlaczego?
Aplikacja Silverlight umieszczona za pomocą bloku <object>
Aplikacja Silverlight musi być umieszczona na tym samym serwerze. Wkraczamy też trochę w problematykę "Cross Domain Policy".
Problemem też może być w typach MIME dla rozszerzeń plików, związanych ze środowiskiem. Chociaż zmiana pliku .XAP na .ZIP powinna rozwiązać ten problem. Jednak tu chodzi o coś innego.
Tak przy okazji Blogger nawet w trybie HTML lubi dodawać dużo enterów, gdy się pisze parametry w tagach <object>.
Rozwalając cały kod.
Czyli co, Game Over ,nic nie da się zrobić. Jednak się da. Tylko rozwiązanie nie jest takie "ładne" i jak wyczytałem z tego artykułu w WordPress, sztuczka ta nie zadziała.
Zobacz potęgę tagu "IFrame".
Nawet, teraz gdy piszę tego posta, widzę podgląd mojej aplikacji Silverlight. Jak ten fragment kodu wygląda.
<iframe src="https://db.tt/KWWdEVs" frameborder="0" scrolling="no" width="120" height="120"></iframe>
Działa, ponieważ strona i aplikacja Silverlight znajdują się na tym samy serwerze "DropBox". Oczywiście nie jest to miłe rozwiązanie, ale lepsze to niż nic. Jednak dla przejrzystości blogu myślę, że przy Megabajtowych aplikacjach warto jednak dodać odnośnik do strony HTML.