Umbraco
Tutto ciò che guarda lo sviluppo per questo ormai famoso CMS
Dopo lunga gestazione, abbiamo inserito la funzionalità di forum in Umbracoitalia.
Finalmente c'è un posto tutto italiano per scambiarsi problemi (e soluzioni) basate su questo CMS.
Li abbiamo "lanciati" online a forza, quindi saranno magari pieni di bug... segnalateceli :)
La versione 4.6.1 di Umbraco è uscita con alcuni bug minori relativi alla parte editoriale.
Uno dei più noiosi è un bug nel TinyMCE relativo al cut&paste da word. Il bug è stato risolto nella versione 4.7, ma per chi non riuscisse ad upgradare in tempo, trovate qui i dati relativi al bug ed anche il file javascript per fixare il problema.
Oddio.. in realtà è già dal 14 Maggio che siamo online… Ma le mie (note) manie di perfezionismo mi hanno portato ad attendere per il “lancio” ufficiale. Il portale pubblicato un mese fa aveva alcune carenze (registrazione, sezione eventi, spazio dei partner) che mi hanno praticamente costretto ad aspettare oggi. Ora, appena finito la pubblicazione delle nuove sezioni, dopo aver perso diverse notti posso finalmente invitarvi a visitare il sito di Umbracoitalia, che presto si arricchirà di nuovi articoli e informazioni riguardanti questo splendido CMS. Technorati Tags: Umbraco,Umbracoitalia
Sono stato un pò ingrato nei confronti di questo blog, nelle ultime settimane. Molti di voi avranno notato la mia assenza, molti altri no… forse più no :) In realtà in questo caso il lavoro c’entra ma relativamente, il grande colpevole è il mio impegno in un progetto community che, teoricamente, è già partito… ma ancora in sordina, perchè da perfezionista come sono preferisco parlarne ufficialmente quando sarà pronto come si deve :) Nel frattempo ringrazio chiunque abbia già partecipato al progetto (chi lo ha fatto, lo sa :)): io sto per partire per...
Chi di voi ha utilizzato almeno qualche volta Umbraco, conosce sicuramente il meccanismo potente delle macro. Come probabilmente sapete, le macro hanno la possibilità di essere “cachate” (utilizzano la cache nativa di ASP.NET) per evitare che vengano interpretate ogni volta. Questa funzionalità è, però, tanto utile quanto pericolosa. Il rischio, infatti, è di “abusare” in maniera eccessiva di questa facilitazione, soprattutto quando si parla di macro XSLT. Un esempio: chiunque lavori in XSLT da più di qualche ora sa che ci sono dei selettori che in generale è meglio evitare. Qualcosa come $currentPage/ancestor-or-self::node//node...
Una delle maggiori richieste quando si implementa qualcosa in Umbraco che ha del pregresso è, ovviamente, l’importazione. Personalmente, mi sono trovato bene con CmsImport (prima noto come UmbImport), un package commerciale che per 99 dollari permette di fare l’importazione “semplice” e, tramite custom action, maneggiare il documento importato in modo da fare virtualmente qualsiasi cosa. A meno che l’autore non abbia aggiornato la documentazione o il blog mentre leggete questo post, vi consiglio di scrivergli per chiedergli esempi: è possibile fare veramente tante cose e lui è molto disponibile ad aiutarvi, ma gli esempi e la...
Lavorando così tanto con Umbraco, XSLT ormai è diventato un mio secondo linguaggio. Scendere a patti con la paginazione in XSLT, spesso, può essere un problema. Il problema principale è la mancanza di divisione con resto: idiv è stata introdotta con XSLT 2.0, che purtroppo non è supportato dal Framework ne, quindi, da Umbraco. L’alternativa è: - Introdurre un parser XSLT di terze parti e mettersi a modificare il core (come quello di Altova, che è disponibile gratuitamente). Particolarmente complesso :) - Utilizzare la funzione floor(), che restituisce il numero intero indipendentemente da...
Ci sono molte parti di Umbraco che hanno bisogno di essere… “aiutate” per funzionare correttamente! Molto si trova con la pratica, molto leggendo blog come il mio :) Quindi, visto che non sono geloso, vi giro un altro blog da cui ricavo un sacco di informazioni utili, che spesso utilizzo: http://www.nibble.be/ A discapito dell’estensione, il sito è in comprensibilissimo inglese, e punta molto sull’argomento “startup” di Umbraco, che io spesso posso tralasciare per motivi pratici… Technorati Tags: Umbraco,Tips & Tricks
Probabilmente molti di voi, usando Umbraco, si appoggiano a dei template XSLT per gestire le proprie macro. Se già non lo fate, iniziate a farlo… la gestione dei template è importante, e permette di mantenere gli XSLT relativamente semplici da gestire. Una comodissima funzionalità dei template XSLT è la possibilità di richiamare un dato template, passando dei parametri. Questi parametri possono essere passati, o avere un valore di default che verrà utilizzato all’interno del template stesso. Per dichiarare il template con i parametri, la sintassi è <xsl:template match="node" mode="list"> ...
… e speriamo che sia l’inizio di un periodo con più sonno! :) E’ online da pochi minuti il nuovo sito di Vogue Italia, la mia ultima fatica in Umbraco! Così capirete cosa intendo quando parlo di “siti impossibili” usando Umbraco :)
Umbraco ha alcune grandi pecche. Una delle più grandi è la crescita, a volte incontrollata, della base dati. Questo succede perchè per ogni salvataggio, Umbraco si tiene una versione di tutte le proprietà specificate per un DocumentType, nella tabella cmsPropertyData. Questo è comodissimo dal punto di vista redattoriale, ma per siti con grande ricambio di dati (come le testate giornalistiche che sto seguendo in questo periodo) si traduce in una crescita veramente esponenziale. Inoltre, anche la tabella umbracoLog cresce a dismisura, poichè non è possibile filtrare il livello di verbosity: o si spegne tutto, o ci si...
Una delle funzionalità più richieste è operare con il testo nell’ambito dell’XSLT. Uppercase e lowercase sono sicuramente i metodi più popolari. Umbraco, nelle sue extension, non fornisce supporto per queste funzionalità. Ma non è una mancanza: le funzionalità di questo genere sono esposte dalle Xslt string utilities. In particolare, per l’Uppercase, si dovrà scrivere: <xsl:value-of select="Exslt.ExsltStrings:uppercase($month)"/> Per il lowercase… beh, indovinate :) Purtroppo, nella reference queste due funzioni non sono specificate… quindi è altamente probabile che possano sfuggire! Technorati Tags: Umbraco,Uppercase,Lowercase,Xslt string utilities,Exslt
Ho scritto ieri riguardo il FamFamFam Icon Pack, ed alla sua importanza nel caso di alberi realmente complessi, per dare un feedback visivo all’utente/editore su quello che sta facendo. Mi hanno scritto alcune persone dicendo che è “inutile”, poichè nella selezione del DocumentType, le icone non vengono visualizzate, quindi ci si trova con una combo lunghissima, senza poter sapere che cosa si sta selezionando. Purtroppo, è un “baco noto” di umbraco quello di non visualizzare le icone con nessun browser, tranne Firefox. Quindi, se volete giocare con i DocumentType e le nuove...
Sono sicuro che anche a voi le icone standard fornite da Umbraco scontentano proprio. Quando si ha a che fare con molti DocumentType, avere a disposizione una gamma più ampia di icone è quasi una necessità, per consentire alla redazione di lavorare meglio ed accorgersi, anche visivamente, nel caso stiano facendo qualche errore.
Il miglior icon pack che ho trovato per Umbraco è il Fam fam fam icon pack, del già “famoso” Mark James. Installatelo ed avrete a disposizione una marea di icone per i vostri DocumentType… avrete solo l’imbarazzo di dover svegliere quella giusta!
… e se...
Teamcity è un ottimo prodotto gratuito (con limitazioni, ma molto ampie) che risolve brillantemente il problema della Continuous Integration, senza spostarsi su prodotti più articolati come TFS, che per molti clienti è fuori portata. Lo uso abitualmente in congiunzione con SVN: formano un’accoppiata molto stabile, e non mi danno praticamente nessun problema. Ogni tanto, però, la build si rompe per misteriosi motivi, soprattutto usando Umbraco. Come premessa, in tutte le solution che hanno umbraco come website ho disabilitato la compilazione del website, perchè ci mette un sacco. Quindi, l’unico modo per assicurarsi che tutto funzioni...
In molti casi, è necessario estendere Umbraco per aggiungergli diversi tipi di funzionalità. Nell’ultimo progetto, che andrà online tra qualche settimana, abbiamo dovuto creare un sito parallelo che girasse dentro umbraco (quasi come abbiamo fatto con www.style.it). In questo sito, che comunque gira sotto umbraco, abbiamo dovuto utilizzare la sessione per diversi motivi. Ovviamente, pubblicato sull’ambiente di stage, non funzionava piu nulla. Gli “object reference not set” del log non davano molte informazioni, ma con un pò di magia abbiamo scoperto l’arcano: le sessioni erano tutte misteriosamente a null. Ma non nel senso...
Forse non tutti sanno che, negli ultimi mesi, sono stato presissimo perchè la mia azienda si è occupata totalmente del rilascio del nuovo sito di style.it. Posso affermare senza ombra di dubbio che è il progetto piu complesso che abbia mai affrontato con Umbraco. Con qualche ombra di dubbio, posso affermare che è uno dei progetti più complessi che conosca in generale, sviluppato con Umbraco. Se qualcuno sta pensando al novello ASP.NET, la grande differenza tra i due è che ASP.NET è utilizzato e editato da gente che, più o meno, capisce quello che sta facendo. Style...
Probabilmente molte persone che usano umbraco ormai sono a conoscenza della possibilità di visualizzare il trace di .NET ed i relativi messaggi di errore delle macro utilizzando umbShowDebugTrace (per chi non ne fosse a conoscenza, fate un salto qui: http://our.umbraco.org/wiki/how-tos). Per chi invece già lo conosce e, come me, lo ritiene a volte poco intuitivo e pratico, segnalo questa utilissima estensione per Chrome di Kenneth, con cui ho avuto il piacere di lavorare spesso. In pratica ti aggiunge un menù che ti permette di entrare e uscire dalla modalità di debug, navigare direttamente in umbraco e...
Visto che, ultimamente, la maggior parte dei miei Weekly (Daily? Hourly?) Issue sono dovuti principalmente a questo CMS, ho deciso di creare una sezione apposta :) Iniziamo con uno degli errori più comuni che mi sono capitati in questi ultimi giorni: non si sa per quale motivo, l’applicativo in produzione ha iniziato a crashare prima ancora di avviarsi, tirandosi dietro tutto il W3WP.exe. L’errore, abbastnza criptico, era: Type 'umbraco.DataLayer.SqlHelperException' in Assembly 'umbraco.DataLayer, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable. Dopo parecchi giri, discussioni via MSN con alcune persone del core team, e ricerche dovunque, si è...
Mi capita spessissimo di lavorare con i Build Events sulle solution, soprattutto usando Umbraco (seguiranno infatti una serie di post su questo CMS. Che è il motivo principale per cui sono sparito in questi mesi :)). Il problema principale che ho avuto è trovare una vera reference della sintassi. Le macro ci sono quasi tutte, ma spesso non si sa bene che cosa si può fare e che cosa no. Girando un pò, sul sito msdn si spiega che la sintassi dei Pre/Post build event in realtà è la medesima dei “vecchi” comandi MS-DOS. Quindi, potete agilmente trovare...
Full Umbraco Archive