venerdì 9 aprile 2010
Ultimo giorno in Brain Force
Esperienza breve ma intensa, che mi ha arricchito molto sia dal punto di vista personale che professionale. Ho avuto modo di conoscere tante valide persone, da cui ho potuto impare molte cose. In questi anni ho avuto il piacere di partecipare al progetto di rifacimento del sito ATM, che mi riempie d'orgoglio; soprattutto se penso alla fatica fatta per raggiungere il risultato. Tecnicamente parlando è stata un'impresa molto pesante e formativa.
Infine ringrazio tutti i miei colleghi, che mi hanno sopportato e supportato, in particolare Lino e Michelangelo con cui ho condiviso la maggior parte dell'esperienza.
domenica 4 aprile 2010
Buona Pasqua
Sono ormai parecchi giorni che non scrivo più nulla sul blog, ma a breve avrò novità degne di note e credo che avrò modo di parlare ancora di SharePoint. Se le cose vanno come devono, vi parlerò anche di SharePoint 2010, ma non riportando cose sentite da altri, bensì rifacendomi alla mia esperienza diretta con questo nuovo programma Microsoft.
Rinnovo gli Auguri di Buona Pasqua e vi invito a rimanere collegati.
Alla prossima.
venerdì 19 marzo 2010
SharePoint Community Italiana
Finalmente online la beta del sito della prima Community italiana su SharePoint.
Speriamo che si riempia al più presto e che diventi il fulcro degli scambi di opinioni, codice e trucchetti vari di tutti gli sharepointer del nostro paese.
Ci vediamo sulla community, appena sarà possibile.
sabato 6 marzo 2010
Self-Service Site Creation
-
On the top navigation bar, click Application Management.
-
On the Application Management page, in the Application Security section, click Self-service site management.
-
On the Self-Service Site Management page, in the Web Application section, verify that the Web application you want to change is selected.
-
On the Select Web Application page, select the Web application for which you want to enable self-service site creation.
-
-
On the Self-Service Site Management page, in the Enable Self-Service Site Creation section, select On.
When you enable Self-Service Site Creation, an announcement will be added to the Announcements list on the home page of the top-level Web site in the root site collection for the Web application. The announcement provides a link to the site creation page (scsignup.aspx in the _layouts directory; for example, http://server_name/_layouts/scsignup.aspx).
-
To require users of self-service site creation to supply a secondary contact name for sites that they create when using the sign-up page, select the Require secondary contact check box.
-
Click OK.
Gli utenti che possono creare siti sono, l'amministratore (ovvio) i members della site collection oppure tutti quegli utenti a cui è stato abilitato il livello di permessi "Use Self-Service Site Creation".
--
Daniele Guarneri
My Profile: http://www.linkedin.com/in/danieleg
My Blog: http://dguarneri.blogspot.com
giovedì 4 marzo 2010
Nuovo SharePoint Social Network
martedì 2 marzo 2010
Nuovi nomi in SharePoint 2010
BDC-----------------------> BCS (adesso si possono editare i dati)
SSP-----------------------> Service Applications. per esempio: Performance Point SA,Excel SA
SSO-----------------------> STS (Secured Token Service)
WSS----------------------> SFS (SharePoint Foundation Server)
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.
mercoledì 10 febbraio 2010
Cosa cambia nel rendering di SharePoint 2010
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
mercoledì 20 gennaio 2010
SPSecurityTrimmedControl no XHTML compliant
Il motivo per cui il controllo SPSecurityTrimmedControl genera uno SPAN e da ricercarsi nella sua implementazione; il controllo deriva da System.Web.UI.WebControl che di default crea proprio un tag SPAN:
// costruttore
protected WebControl() : this(HtmlTextWriterTag.Span) {}
A dire il vero il WebControl prevede altri due costruttori:
protected WebControl(string tag)
{
this.tagKey = HtmlTextWriterTag.Unknown;
this.tagName = tag;
}
public WebControl(HtmlTextWriterTag tag)
{
this.tagKey = tag;
}
Peccatto che il controllo SPSecurityTrimmedControl non li utilizzi.
public SPSecurityTrimmedControl()
{
}
internal SPSecurityTrimmedControl(HtmlTextWriterTag tag) : base(tag)
{
}
A mio parere sarebbe stato meglio avere la possibiltà di valorizzare una proprietà pubblica per poter scegliere il tag da renderizzare (tra SPAN e DIV) o semplicemente avere la possibilità di renderizzare solo il contenuto del controllo, comportamento che lo avrebbe reso utilizzabile a livello di HEAD. Logicamente è sempre possibile scrivere un proprio controllo, ma questo lo dedico alla prossima puntata. Intanto vi segnalo un post che tratta del controllo SPSecurityTrimmedControl, evidenziandone altri problemi. Ho comunque il sospetto che il post in questione faccia riferimento ad una versione del controllo precedente alla service pack 2.0 di SharePoint. Qualcuno me lo può confermare?
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).
mercoledì 30 dicembre 2009
Blogs su SharePoint
http://nonsolosharepoint.wordpress.com/
http://sharepointpig.wordpress.com/
domenica 27 dicembre 2009
SharePoint 2007 e le risorse globali
Siccome con WSPBuilder non è possibile ottenere un manifest così fatto è necessario procedere a mano, ma facendoci aiutare da WSPBuilder fin dove possibile.
Per prima cosa copiare nella root del progetto il file WSPBuilder.exe.config e impostare a true la proprietà BuildDDF:
Mettere i file di risorse nella cartella Resources all'interno della cartella 12.
1 - Generare una wsp, copiarla e rinominarla con estensione .cab.
2 - Aprire il file cab ed estrarre il manifest.xml.
3 - Modificare il file cab aggiungendo sotto
<rootfiles> <rootfile location="Resources\myResource.en-US.resx"> <rootfile location="Resources\myResource.resx"> </rootfile>
il codice seguente
<applicationresourcefiles> <applicationresourcefile location="myResource.en-US.resx"> <applicationresourcefile location="myResource.resx"> </applicationresourcefile>
4 - Scaricare il "Microsoft Cabinet Software Development Kit" e creare il file CAB a mano con MakeCab.exe.
5 - Rinominare il file cab in wsp e installarla in sharepoint con stsadm.
Dopo aver fatto tutto questo, però, mi sono accorto che i file di risorse invece di essere compiati nella cartella App_GlobalResources, vengono copiati in un cartella "resources" sempre all'interno della web application di SharePoint ospistata da IIS nella quale la nostra wsp è stata deployata.
Dopo un po' di ricerche ho trovato questo articolo (http://www.mikhaildikov.com/2007/03/sharepoint-resources-types-use-and_2163.html) in un blog che spiega bene come in effetti gli elementi de manifest ApplicationResourceFiles e Resources siano inutili e suggerisce un modo per copiare a runtime i file di risorse nella cartella App_GlobalResources. Un altro utile articolo sui file di risorse è "SharePoint Internals: Resources".
Se qualcuno ha sperimentato altri modi ho ha trovato il sistema di usare i sopra citati elementi del manifest non abbia problemi a scrivere un commento. La stessa cosa vale se sapete come funziona il meccanismo delle risorse in SP 2010. Nella speranza che ci siano stati dei miglioramenti nella gestione delle risorse globali.
mercoledì 23 dicembre 2009
SharePoint 2010 Client Object Model
Vi segnalo due video in cui parla Andrew Connell:
Overview of the Client Object Model
ECMAScript Client Object Model
Nell'articolo seguente invece viene fatto un paragone tra le applicazioni client stile SP 2007 e quelle che saranno con SP 2010:
SharePoint 2010: Introducing the Client Object Model
Nel secondo in particolare, fate attenzione quando viene mostrato il controllo SharePoint:ScriptLink che ha un attributo nuovo LoadAfterUI. Questo attributo non viene spiegato ma immagini serva per indicare a SharePoint di caricare lo script sp.js in modo asincrono, dopo che la pagina è stata caricata completamente.
Il client object model faciliterà l'accesso ai dati. Esistono ancora i web service, ma il client object model ne è una valida alternativa.
Altra novità sono le REST API di SharePoint.
giovedì 10 dicembre 2009
Costruire un sito web - riflessioni
Bisogna avere un progetto, segliere i materiali e seguire gli standard. Gli architetti che disegnano la casa hanno anche le basi di ingegneria per sapere che quello che disegnano starà in piedi, poi si fanno aiutare per i calcoli delle forze, ma un'idea di base riescono a farsela da soli; almeno i più bravi. I problemi da affrontare nel progettare una casa sono sempre gli stessi, al massimo aumentano un po' le complessità se la casa è a più piani, in una zona sismica oppure un grattacielo. Di certo i materiali sono pressapoco sempre gli stessi: cemento, legno, ferro etc. Gli architetti più smalizziati e ripesttosi delle leggi si preoccupano dell'abbattimento delle barriere architettoniche e per endere più confortevole e abitabile la casa pensano a una serie di servizi utili a chi ci abiterà.
Se ci pensate progettare un sito web ha le stesse analogie, purtroppo la sua costruzione non sempre segue le stesse regole utilizzate per progettare una casa. Spesso i designer non parlano le lingue del web, ragionano solo con la carta e curano solo l'aspetto finale del sito. Usabilità (i confort della casa) o l'accessibilità (l'abbattimento delle barriere architettoniche) sono parole usate a puro titolo commerciale, ma non ne conoscono le basi. La stessa cosa spesso la si può dire anche per gli stessi sviluppatori. Conosco programmatori ASP.NET che non conoscono il protocollo HTTP, che non sanno come funzionano le FORM. Altri che ignorano il linguaggio CSS e non sanno che per scrivere uno script Javascript cross-browser è meglio affidarsi al DOM del W3C, usano ancora "document.all"! Come se un muratore non sapesse fare il cemento o riconoscere un mattone.
Ho parlato con grafici che non conoscevano le unità di misura del web, lavoravano solo in pixel. Altri che non conoscevano il significato delle misure in percentuale: "allora a 1024x768 la colonna destra la facciamo del 30%, mentre a 800x600 la facciamo del 25%"! Cosa? Fissiamo una percentuale e la teniamo per tutte le risoluzioni.
Nessuno di noi si cimenterebbe da solo a costruirsi la casa, mentre tutti bene o male abbiamo provato a fare un sito. Chi lo fa di professione dovrebbe approfondire i fondamentali e specializzarsi nel proprio ruolo, ma sempre più spesso questo non si fa.
sabato 5 dicembre 2009
Un po' di medicina per i nostri CSS
Vi riporto un po' di link utili menzionati nel libro di siti in cui vengono presentati i vari bug che affliggono i più comuni browser.
- Browser Bugs presso CSS-Discuss (http://css-discuss.incutio.com/?page=BrowserBugs)
- Position is everything (http://www.positioniseverything.net/) Modern browser bug explained in detail.
- WordPressb CSS Codex - Fixing Browser Bugs (http://codex.wordpress.org/CSS_Fixing_Browser_Bugs)
giovedì 26 novembre 2009
Fatti non foste a viver come bruti ma per seguir virtute e canoscenza
Il libro in questione è "Progettare siti Web Standard" di Jeffrey Zeldman. Per chi non lo sapesse Zeldman e il fondatore di "Web Standars Project" (che ha vinto la "battaglia" della standardizzazione delle tecnologie usate dai browser) e di "A List Apart".
Buona lettura.
The Winner Is... 2
Il sito "Atm ha ricevuto un altro riconoscimento: “Miglior prodotto digitale” nella categoria “eGovernment and Istitutions” del concorso eContent Award Italy, patrocinato dalla Presidenza del Consiglio dei Ministri".
Boom Atm su internet: 35mila visite al giorno
ATM, CONSEGNATO IERI PREMIO ECONTENT AWARD ITALY PER SITO
giovedì 19 novembre 2009
Branding SharePoint 2010
Dello stesso autore una serie di articoli sul suo Blog che parlano del Branding di SharePoint 2010. Eccovi il link al primo post.
Ho anche trovato la versione aggiornata dello Sharepoint Manager (SPManager 2010).
martedì 10 novembre 2009
Dai diamanti non nasce niente dal letame nascono i fior...
Dimenticavo, devo ancora finire la guida di ARF!
A presto.