mercoledì 25 marzo 2009

venerdì 13 marzo 2009

Alla buon ora

Aruba sta provvedendo ad aggiornare i server alla versione 3.5 di .Net, era ora.

L'ho fatto alla fine

Quello che rimane della piattaforma video... Il mio primo lavoro con asp.net mvc.

Il progetto era relativamente semplice: un indice con dei video e una pagina dove poterli vedere.

Usando Jquery, asp.net mvc e Linq ho realizzato il progetto, si parte da una pagina indice dove i video sono raggruppati per argomento i raggruppamenti si possono chiudere o espandere tramite jquery. La pagina di dettaglio ha ancora il menu con tutti i video e al centro il player per i video in formato h.264.

L'applicazione asp.net mvc si compone di due controller uno per le pagine indice e uno per le pagine con il player. Nel model c'e' un'unica classe che legge i dati dei video da un file xml. Le interrogazioni vengono fatte tramite un'istruzione linq:

XElement elemento= new XElement("videoselezionato", from c in loaded.Descendants("capitolo")
where (string)c.Attribute("guid") == cap && (string)c.Element("video").Attribute("guid") == id
select c.Element("video"));


Con Rails è molto più semplice ma questo asp.net mvc promette molto bene.

martedì 10 marzo 2009

Versione definitiva

La piattaforma video che per ora è un sito di distribuzione di video passa su Windows Server 2008. Ho a disposizione quindi un mostro di potenza biprocessore con 16 Gb di ram. Per ora la pagina sarà una piccola applicazione Asp.Net Mvc e speriamo bene.

Symfony lo voglio usare per un altro progetto se va in porto.

lunedì 9 marzo 2009

Asp.Net Eventi della pagina

1. Page.OnPreInit
2. MasterPageControl.OnInit (per i controlli sulla pagina master)
3. Control.OnInit (per i controlli sulla pagina)
4. MasterPage.OnInit
5. Page.OnInit
6. Page.OnInitComplete
7. Page.OnPreLoad
8. Page.OnLoad
9. MasterPage.OnLoad
10. MasterPageControl.OnLoad (per i controlli sulla pagina master)
11. Control.OnLoad (per i controlli sulla pagina)
12. Page.OnXXX
13. MasterPage.OnBubbleEvent
14. Page.OnBubbleEvent
15. Page.OnLoadComplete
16. Page.OnPreRender
17. MasterPage.OnPreRender
18. MasterPageControl.OnPreRender (per ogni controllo sulla pagina master)
19. Control.OnPreRender (per ogni controllo sulla pagina)
20. Page.OnPreRenderComplete
21. MasterPageControl.SaveControlState (per ogni controllo sulla pagina master)
22. Control.SaveControlState (per ogni controllo sulla pagina)
23. Page.SaveViewState
24. Page.SavePageStateToPersistenceMedium
25. Page.OnSaveStateComplete
26. MasterPageControl.OnUnload (per ogni controllo sulla pagina master)
27. Control.OnUnload (per ogni controllo sulla pagina)
28. MasterPage.OnUnload
29. Page.OnUnload

venerdì 6 marzo 2009

Symfony come farsi del male

Ogni tanto capita l'occasione di poter sperimentare...

Problema realizzare una piattaforma per la pubblicazione di contenuti video divisi per canali o per tematiche e con in futuro la distribuzione live di conferenze e lezioni didattiche.

La strada scelta è stata quella di lavorare esclusivamente con prodotti opensource. Si parte quindi con un server Ubuntu 8.10, per ora una sola macchina ben carrozzata su cui peserà tutto il carico di lavoro. Si passa al server web, per impegnare poca ram e garantire ottime prestazioni abbiamo scelto Ligthttpd. Avendo bisogno di un db per gestire le pagine e i contenuti la scelta ricade su MySql 5. Ora la scelta della tecnologia del sito le opzioni php o ruby? Qui la scelta è ricaduta su php per questioni knowhow aziendale... Ma con un bel framework, cosa scegliere tra Symfony, CakePhp e CodeIgniter?

Dopo ardue discussioni la scelta è stata affidata alla sorte dal bussolotto è uscito fuori Symfony. Vedremo come andrà a finire.

Ovviamente questo post è stato scritto prima di sapere che la macchina su cui funzionerà tutto sarà un'altra... Windows 2008 con Sql Server 2008. Nel tempo libero continuerò a studiare Symfony non si sa mai.