lunedì 19 ottobre 2009
ARF Form Base Authentication and WSS Publishing
Nella wsp che si scarica dal sito ufficiale di ARF c'è un probolema con la feature ARF-FormsAuth, mancano le due cartelle contenenti gli schema delle liste custom. Siccome esiste una seconda feature che installa un'istanxa di queste liste e che non funziona se la prima feature non è attivata in modo corretto è necessario correggere l'errore di installazione. Per fare ciò è necessario rinominare la wsp di ARF in un file .cab, estrarre il contenuto e copiare le cartelle FormsMemberList e FormsRoleConfig contenute nella cartella della feature ARF-FormsAuth nella rispettiva cartella che si trova in 12\TEMPLATE\FEATURES. Fatto ciò è necessario riattivare la feature con stsadm -o activatefeature (usare l'opzione -force) e infine lanciare un IISRESET. Dopo questi passaggi sarà possibile attivare anche la feature ARF-FormsAuthLists.
La seconda feature, attivabile a livello di sito (SPWeb), dovrebbe consentire di creare delle pagine custom in WSS a partire dal template di pagina Basic.aspx, che al suo interno usa un campo (field) RichTextField, compreso nella soluzione ARF. Il condizionale è d'obbligo perchè non sono ancora riuscito a far funzionare la caratteristica. Di certo devo segnalare un errore: nella pagina Basic.aspx si fa riferimento alla master page /_catalogs/masterpage/spworks.master di cui non vi è traccia nella soluzione; pertanto la pagina risulta inutilizzabile. Per risolvere il problema consiglio di modificare la pagina utilizzando una più standard ~masterurl/default.master o ~masterurl/custom.master master page.
L'impressione al momento è che queste funzionalità siano solo una bozza e non effettivamente funzionanti, ma vi saprò dire una volta che le avrò provato davvero.
Come sempre rinnovo l'invito a collaborare con me se avete già avuto modo di fare esperianza con qualcuna delle funzionalità di ARF, in modo da avere una più ricca collezione di esperienze e di impressioni.
mercoledì 17 febbraio 2010
ARF e WCF
Durante il test è incappato in questo errore:
Dopo averci speso una giornata, seguendo alcune mie considerazioni, Alberto ha scoperto che la connessione WCF va chiusa esplicitamente altrimenti va in conflitto con la cache di ARF (ARFCache.cs). Frugando nel codice di ARF si è anche accorto che la cache, utilizzata per cachare i template xslt, ha un timeout impostato a 30 secondi, di default.
martedì 30 dicembre 2008
Accessibilità con SharePoint 2007
Avendo dovuto affrontare il discorso di sito accessibile, per un recente progetto, da realizzarsi con MOSS 2007, ho fatto un po’ di ricerche in giro per vedere come affrontare il progetto. Su CODEPLEX ho trovato alcuni interessanti progetti, uno tra tutti GSPTV, che mettevano a disposizioni soluzioni interessanti per rendere accessibili: webpart zone, menu di navigazione, box di ricerca, content query web part etc. In più ho trovato molto interessante il progetto ARF, anch’esso mette a disposizione sia controlli che adapter per sistemare alcune magagne di SharePoint. A dirla tutto, come consiglio, non ho usato un unico progetto, ma una selezione di componenti di uno e dell’altro. Di ARF in particolare ho trovato molto interessanti il ARF:Menu e ARF:SiteMap. Una delle caratteristiche principali di ARF (Alternative Render Framework) è di utilizzare il linguaggio XML per descrivere gli oggetti di MOSS e una serie di fogli di stile XSL per renderizzare il codice HTML. In questo modo il controllo in mano allo sviluppatore è completo.
martedì 23 giugno 2009
Alternative Rendering Framework (ARF)
A breve ho intenzione di parlarvi dei controlli SiteQuery
Rinnovo l'invito a farsi avanti a tutti coloro che avessero informazioni su ARF.
Intanto vi segnalo un embrione di sito documentativo sull'argomento: http://arf.thekid.me/Pages/default.aspx
giovedì 2 luglio 2009
ARF Guide (1)
ARFConsole
Mostra una console di editing (stile Publishing Site). Ci sono due Control Template per la console; uno per i Publishing Site e uno per i Team Site (WSS e MOSS):
- ArfConsole.ascx
- ArfWssConsole.ascx
Proprietà pubbliche
| IsFloating | Booleano per indicare se la console è bloccata o flottante |
Esempio
Inserire nella propria pagina/layout di pagina la dichiarazione del control template da usare e il controllo console;
<@ Register TagPrefix="ARFConsole" TagName="Console" src="~/_controltemplates/ARF/ARFConsole.ascx" %>
<ARFConsole:Console runat="server" IsFloating="True">
venerdì 28 agosto 2009
Guida ad ARF in italiano
Spero che vi sia utile e aspetto commenti e suggerimenti.
Italian ARF Guide
domenica 25 ottobre 2009
Guida ad ARF - in arrivo una nuova versione
martedì 27 ottobre 2009
ARF Guide 0.9 è online
Potete scaricarla da Codeplex.
mercoledì 14 ottobre 2009
Rilasciata nuova versione della guida su ARF
martedì 10 novembre 2009
Dai diamanti non nasce niente dal letame nascono i fior...
Dimenticavo, devo ancora finire la guida di ARF!
A presto.
martedì 27 ottobre 2009
SharePoint Future
Ultima considerazione, probabilmente con la nuova versione di SharePoint ARF andrà in pensione...
venerdì 15 gennaio 2010
SharePoint 2007 & XHTML
Parlo principalmente della carateristica di publish del MOSS, di cui ho più esperienza. I problemi derivano per esempio dal rendering dei campi RitchImage, che aggiungono attributi deprecati e scrivono il tag in maiuscolo. Per risolvere questo problema si può ricorrere agli adapter. Molti progetti presenti in Codeplex inerenti all'accessibilità fanno ricorso a questo espediante; consiglio:
- Get SharePoint to Validate
- [unofficial] Accessibility Kit for SharePoint (uAKS)
- BKS (Barrierefrei-Kit for SharePoint)
- ARF
Un altro consiglio per generare del buon codice è di usare il più possibile le Content by Query WebPart, che generano il codice html tramite XSLT. Questo permette al programmatore di maggior controllo sul codice generato. L'unica accrotezza da tenere presente è che gli XSLT usati dalla CQWP generano HTML pertanto il consiglio è di modificarli per fargli generare in output del codice XML. Per avere un controllo maggiore, tramite browser, delle CQWP, ho usato una WebPart che le estende e che espone anche quelle proprietà che altrimenti sarebbero visibili solo esportando la webpart stessa; la webpart è la Extented CQWP di Waldek Mastykarz (Paging Content Query Web Part).
martedì 26 gennaio 2010
Best Master Page
L'invenzione dell'acqua calda consiste in questo: invece di mettere i controlli direttamente nella master page, soprattutto quelli custom (si pensi per esempio al rendering accessibile dei menu tramite l'utilizzo delle componenti di ARF, che ho menzionato in post precedenti), andrei a posizionarli in control template personalizzazati, posizionati in pagina tramite feature, utilizzando appunto i delegate control. Un vantaggio che mi viene in mente, e qui potrebbero scatenarsi i detrattori, è la possibilità di scrivere del codice runat server all'interno dei controlli ascx, cosa che nelle master page non è possibile fare; questo mi permetterebbe volendo (anche se non è il sistema più elegante dal punto di vista dei puristi dello sviluppo) di non generare codice compilato in DLL. Ovvero ad eventuali modifiche non dovrei ricompilare il codice per riportarlo o nella bin della web application oppure in GAC.
A questo punto sono pronto alla pubblica lapidazione. Ben venga se ne esce qualcosa di costruttivo che ci consenta di scrivere delle buone master page, facilmete manutenibili.
Aggiungo qualche link di approfondimento:
User Control in Master Page (Page Footer)
Sovrascrivere i DelegateControl