lunedì 19 ottobre 2009

ARF Form Base Authentication and WSS Publishing

Indagando nel codice di ARF ho scoperto un paio di funzionalità nascoste e non documentate, che ho intenzione di esplorare meglio con degli articoli mirati e nella mia guida. Per il momento mi limito a riportare quanto scoperto e le prime impressioni. Le due due funzionalità in questione sono ARF-FormsAuth e ARF-WSSPublishing. Entrambe sono due feature non attive dopo l'installazione della soluzione ARF, ma che devono essere attivate dall'utente, la prima è addirittura HIDDEN. ARF-FormsAuth è un tentativo di creare un sistema di autenticazione di base basato su form, integrato in SharePoint. Si basa su due liste custom FormsMemberList e FormsRoleConfig e su due provider personalizzati da configurare a mano nel web.config della web application: MembershipProvider e RoleProvider.

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.