<?xml version="1.0" encoding="iso-8859-1"?><feed version="0.3" xmlns="http://purl.org/atom/ns#" xml:lang="it-it"><title>PeppeDotNet Blog - Category: Sharepoint</title><link rel="alternate" type="text/html" href="http://www.peppedotnet.it/Blog/"/><tagline type="text/html">www.peppedotnet.it/Blog/</tagline><id>http://www.peppedotnet.it/Blog/</id><modified>2010-9-4T19:56:28+01:00</modified><author><name>Marchi Giuseppe</name><url>http://www.peppedotnet.it/Blog/</url></author><entry><title>Come visualizzare tutte le informazioni sui risultati di una ricerca all'interno di una Search Results Web Part</title><id>/Blog/HowToViewAllSearchInfoIntoASearchResultsWebPart.aspx</id><created>2010-9-4T19:56:28+01:00</created><content type="text/html" mode="escaped">La Search Results web part è una delle web part che abbiamo a disposizione all'interno di MOSS 2007 e che possiamo utilizzare per visualizzare i risultati di una ricerca all'interno di una pagina custom del nostro sito SharePoint, senza utilizzare la pagina di ricerca di default o un sito di tipo Search Center. 
&lt;br /&gt;Tale web part è molto utile in quanto permette la customizzazione della visualizzazione dei risultati di una ricerca ricerca, tramite del codice XSLT per permettere l'inserimento di valori presi da campi particolari delle nostre liste o document library che normalmente non vengono visualizzati all'interno della pagina di ricerca di default. Oppure, semplicemente, per cambiare il layout con cui l'utente finale deve avere a che fare durante le sue ricerche.
&lt;br /&gt;
&lt;br /&gt;Una volta che iniziamo a sviluppare il codice XSLT utile a cambiare la visualizzazione dei risultati di un'eventuale ricerca, dobbiamo sapere che esiste un trucchetto per visualizzare quali sono tutte le informazioni che abbiamo a disposizione dal motore di ricerca di SharePoint e che possiamo utilizzare per modificare il rendering della pagina.
&lt;br /&gt;Per vedere tali informazioni, non dobbiamo far altro che inserire questo pezzo di codice XSLT all'interno della Search Results web part:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; xmlns:xsl&lt;span style='color:#0000FF'&gt;="http://www.w3.org/1999/XSL/Transform"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:output&lt;/span&gt;&lt;span style='color:#FF0000'&gt; method&lt;span style='color:#0000FF'&gt;="xml"&lt;/span&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="UTF-8"&lt;/span&gt; indent&lt;span style='color:#0000FF'&gt;="yes"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:template&lt;/span&gt;&lt;span style='color:#FF0000'&gt; match&lt;span style='color:#0000FF'&gt;="/"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;xmp&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:copy-of&lt;/span&gt;&lt;span style='color:#FF0000'&gt; select&lt;span style='color:#0000FF'&gt;="*"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;xmp&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:template&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Questo tip è molto importante quando aggiungiamo delle managed properties al motore di indicizzazione di SharePoint e vogliamo vedere se effettivamente risultano disponibili tra i risultati di una specifica ricerca e, soprattutto, se vengono valorizzate.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Search.aspx" title="TAG: Search"&gt;Search&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToViewAllSearchInfoIntoASearchResultsWebPart.aspx" /><issued>2010-9-4T19:56:28+01:00</issued><modified>2010-9-4T19:56:28+01:00</modified></entry><entry><title>Le mie sessioni a WPC 2010 (Microsoft TechDays)</title><id>/Blog/MySessionsAtMicrosoftTechDaysWPC.aspx</id><created>2010-9-1T14:18:36+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.techdays-wpc.it/images/media/Attendee02.png" alt="Microsoft TechDays WPC 2010" style="float: right; margin: 5px" /&gt;E' da un pò che lo sapevo, ma ancora non era stato avvisato "ufficialmente" :)
&lt;br /&gt;Nei giorni 23, 24 e 25 di Novembre 2010, qui al Centro Congressi Milano Fiori (Milano) si terrà la 17° edizione di WPC, la più importante conferenza italiana legata al mondo Microsoft organizzata da Microsoft stessa in collaborazione con Overnet Eduction.
&lt;br /&gt;Ecco.. quest'anno &lt;a href="http://www.techdays-wpc.it/speakers.aspx" title="Elenco speaker della Microsoft TechDays WPC 2010" target="_blank"&gt;ci sono anche io&lt;/a&gt; ! :)
&lt;br /&gt;Terrò queste due sessioni per sviluppatori SharePoint 2010:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="margin-left: 10px"&gt;&lt;b&gt;Introduzione al Client Object Model di SharePoint 2010&lt;/b&gt;
&lt;br /&gt;Tanto codice per un'introduzione alle tecniche di utilizzo del Client Object Model di SharePoint 2010 per la realizzazione di personalizzazioni lato client utilizzando javascript, silverlight o applicazioni desktop.
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;Silverlight loves SharePoint 2010&lt;/b&gt;
&lt;br /&gt;Una sessione con tanto codice per vedere come la nuova versione di SharePoint si sposa con Silverlight 4, in modo da fruire agli utenti delle Rich Internet Application utili, facili da usare e veramente di impatto, in grado di interfacciarsi con i dati del prodotto di collaborazione Microsoft.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Vi terrò aggiornati per date e ore.
&lt;br /&gt;Se pensate di venire, correte ad iscrivervi che è ancora in corso la sconto di circa 20% del prezzo pieno.
&lt;br /&gt;Se volete vedere tutti gli altri argomenti o avere qualche informazione in più, questo è il sito dell'evento: &lt;a href="http://www.techdays-wpc.it/" title="Microsoft TechDays WPC 2010" target="_blank"&gt;http://www.techdays-wpc.it/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WPC 2010.aspx" title="TAG: WPC 2010"&gt;WPC 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Client Object Model.aspx" title="TAG: Client Object Model"&gt;Client Object Model&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MySessionsAtMicrosoftTechDaysWPC.aspx" /><issued>2010-9-1T14:18:36+01:00</issued><modified>2010-9-1T14:18:36+01:00</modified></entry><entry><title>The evaluation version of Microsoft Office SharePoint Server 2007 for this server has expired</title><id>/Blog/TheEvaluationVersionOfMOSS2007ForThisServerHasExpired.aspx</id><created>2010-8-30T11:57:1+01:00</created><content type="text/html" mode="escaped">Se, cercando di aprire il vostro "My Site" da una qualsiasi pagina della site collection SharePoint 2007, vi trovate di fronte a questo errore (e siete sicuri di avere una versione di MOSS valida):
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;The evaluation version of Microsoft Office SharePoint Server 2007 for this server has expired&lt;/div&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/EvaluationVersionExpired.jpg" alt="The evaluation version of Microsoft Office SharePoint Server 2007 for this server has expired" /&gt;
&lt;br /&gt;
&lt;br /&gt;per prima cosa: non spaventatevi ! :)
&lt;br /&gt;La vostra versione di MOSS 2007 non è scaduta, ma c'è solamente qualcosina che non va.. infatti, nonostante questo errore, vi accorgerete che siete in grado comunque di creare nuove site collection e nuovi siti, dare permessi, creare liste, ecc.. come avete sempre fatto fin'ora.
&lt;br /&gt;Per risolvere questo problema, che impedisce totalmente la navigazione all'interno del proprio "My Site" per tutti gli utenti, è necessario aprire il registro di sistema e cambiare i permessi della chiave di registro "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0" in questa maniera:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Lettura al gruppo WSS_WPG&lt;/li&gt;&lt;li&gt;Controllo completo al gruppo WSS_ADMIN_WPG&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Spero possa essere utile a qualcuno.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/My site.aspx" title="TAG: My site"&gt;My site&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/TheEvaluationVersionOfMOSS2007ForThisServerHasExpired.aspx" /><issued>2010-8-30T11:57:1+01:00</issued><modified>2010-8-30T11:57:1+01:00</modified></entry><entry><title>Provisioning di un campo RichText in SharePoint 2010</title><id>/Blog/RichTextFieldProvisioningInSharePoint2010.aspx</id><created>2010-8-27T8:56:33+01:00</created><content type="text/html" mode="escaped">Un campo di tipo RichText in SharePoint non è altro che un campo multilinea con abilitato l'editor di testo completo per la rappresentazione di contenuti "ricchi", quindi testi formattati, link, immagini, tabelle, ecc..
&lt;br /&gt;Per effettuare il provisioning di un campo del genere all'interno delle nostre list definition o all'interno dei nostri content type, basta creare un campo di tipo "Note" ed aggiungere le proprietà "RichText" e "RichTextMode", valorizzandole rispettivamente a "TRUE" e "FullHtml".
&lt;br /&gt;Come si suol dire, un esempio vale più di mille parole.. ecco quindi la sintassi del nostro campo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Field&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="8EAA0ED0-A045-43AD-BA82-44CFAF312908"&lt;/span&gt; 
&lt;br /&gt;       Type&lt;span style='color:#0000FF'&gt;="Note"&lt;/span&gt;
&lt;br /&gt;       DisplayName&lt;span style='color:#0000FF'&gt;="Sample Rich Text Field"&lt;/span&gt;
&lt;br /&gt;       Name&lt;span style='color:#0000FF'&gt;="SampleRichTextField"&lt;/span&gt;
&lt;br /&gt;       StaticName&lt;span style='color:#0000FF'&gt;="SampleRichTextField"&lt;/span&gt;
&lt;br /&gt;       Group&lt;span style='color:#0000FF'&gt;="PeppeDotNet.it - Sample Fields"&lt;/span&gt;
&lt;br /&gt;       RichText&lt;span style='color:#0000FF'&gt;="TRUE"&lt;/span&gt;
&lt;br /&gt;       RichTextMode&lt;span style='color:#0000FF'&gt;="FullHtml"&lt;/span&gt;
&lt;br /&gt;       Sealed&lt;span style='color:#0000FF'&gt;="FALSE"&lt;/span&gt;
&lt;br /&gt;       SourceID&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/v3"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Se inseriamo questa definizione di campo all'interno di una feature e la attiviamo (o a livello di site collection o a livello di singolo sito), troveremo il nostro campo di tipo RichText tra le site column disponibili.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/richTextFieldInstalled.jpg" alt="Campo di tipo RichText correttamente installato" /&gt;
&lt;br /&gt;
&lt;br /&gt;Come potete vedere, il tipo di formattazione del testo specificato è proprio "Enhanced rich text (Rich text with pictures, tables and hyperlinks)".
&lt;br /&gt;Se poi decidiamo semplicemente di inserire il nostro campo all'interno di una lista SharePoint 2010 o se abbiamo intenzione di creare un content type ed inserirci il riferimento al nostro campo di tipo RichText, avremmo a disposizione l'editor di testo avanzato all'interno della barra dei ribbon, in fase di inserimento o di modifica.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/richTextField.jpg" alt="Campo di tipo RichText in funzione" /&gt;
&lt;br /&gt;
&lt;br /&gt;A titolo d'esempio, ho creato una soluzione SharePoint 2010 contenente il campo di tipo RichText, un content type d'esempio e una list definition creata a partire da questo content type.
&lt;br /&gt;Trovate i sorgenti a questo indirizzo: &lt;a href="http://www.peppedotnet.it/zip/PeppeDotNet.Provisioning.RichText.zip" title="Sorgenti per il provisioning di un campo di tipo RichText"&gt;http://www.peppedotnet.it/zip/PeppeDotNet.Provisioning.RichText.zip&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Provisioning.aspx" title="TAG: Provisioning"&gt;Provisioning&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Site column.aspx" title="TAG: Site column"&gt;Site column&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content type.aspx" title="TAG: Content type"&gt;Content type&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/RichTextFieldProvisioningInSharePoint2010.aspx" /><issued>2010-8-27T8:56:33+01:00</issued><modified>2010-8-27T8:56:33+01:00</modified></entry><entry><title>Operation aborted (Exception from HRESULT: 0&#215;80004004 (E_ABORT))</title><id>/Blog/OperationAbortedExceptionFromHRESULT0x80004004EABORT.aspx</id><created>2010-8-25T12:12:46+01:00</created><content type="text/html" mode="escaped">Sviluppando su SharePoint (WSS 3.0 o MOSS 2007) tramite il modello ad oggetti lato server, il più delle volte in ambiente di test (dove sono solito incasinare più o meno tutto e non controllare mai nulla :), mi è capitato di trovarmi di fronte a questo messaggio di errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Operation aborted (Exception from HRESULT: 0×80004004 (E_ABORT))
&lt;br /&gt;
&lt;br /&gt;System.Runtime.InteropServices.COMException : Operation aborted (Exception from HRESULT: 0×80004004 (E_ABORT))
&lt;br /&gt;at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateRoleAssignment(String bstrUrl, Guid&amp; pguidScopeId, Int32 lPrincipalID, Object&amp; pvarArrIdRolesToAdd, Object&amp; pvarArrIdRolesToRemove)
&lt;br /&gt;at Microsoft.SharePoint.Library.SPRequest.UpdateRoleAssignment(String bstrUrl, Guid&amp; pguidScopeId, Int32 lPrincipalID, Object&amp; pvarArrIdRolesToAdd, Object&amp; pvarArrIdRolesToRemove)&lt;/div&gt;
&lt;br /&gt;In questo caso specifico, trovavo questa eccezione quando cercavo di modificare i permessi di un elemento SharePoint via codice, o quando cercavo di rompere l'ereditarietà di un elemento dall'elemento padre, ma vi può capitare durante uno qualsiasi degli update che cercate di fare sul database di SharePoint tramite il modello ad oggetti.
&lt;br /&gt;Cercando un pò su internet, ho trovato le due possibili cause per questo errore:
&lt;br /&gt;
&lt;br /&gt;1- il database log legato al db di contenuto di SharePoint risulta essere pieno.
&lt;br /&gt;2- l'account con cui cercate di accedere al database dei contenuti non ha permessi per accedere.
&lt;br /&gt;
&lt;br /&gt;Il mio caso era il primo, quindi è bastato un backup del database per liberare lo spazio nel database log.
&lt;br /&gt;Per vedere bene cosa succede a SharePoint, quando capitano questi tipi di errori, vi consiglio di utilizzare l'utility SPTraceView che trovate su codeplex a questo indirizzo:
&lt;br /&gt;&lt;a href="http://sptraceview.codeplex.com/" title="SPTraceView" target="_blank"&gt;http://sptraceview.codeplex.com/&lt;/a&gt;
&lt;br /&gt;che vi permettere di visualizzare in tempo reale gli errori che accadono su SharePoint.
&lt;br /&gt;Spero possa essere utilie a qualcuno..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/OperationAbortedExceptionFromHRESULT0x80004004EABORT.aspx" /><issued>2010-8-25T12:12:46+01:00</issued><modified>2010-8-25T12:12:46+01:00</modified></entry><entry><title>Upgrade di template a SharePoint 2010 e i 40 template per WSS 3</title><id>/Blog/SiteTemplateUpgradeToSharePoint2010And40TemplateForWSS3.aspx</id><created>2010-8-23T11:42:12+01:00</created><content type="text/html" mode="escaped">Ne ho parlato alla scorsa &lt;a href="http://www.sharepointconference.it" title="SharePoint Conference" target="_blank"&gt;SharePoint Conference italiana&lt;/a&gt; e ancora l'argomento è molto caldo.
&lt;br /&gt;A fronte di un upgrade di un'installazione SharePoint 2007 (WSS o MOSS) a SharePoint 2010 i template di sito .STP non vengono portati !
&lt;br /&gt;Per effettuarne l'upgrade quindi, dobbiamo seguire questo percorso di operazioni:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/UpgradeSTP.jpg" alt="STP Template upgrade path" /&gt;
&lt;br /&gt;
&lt;br /&gt;Il che ci permette di portare quei siti che erano stati creati a partire dal template .STP nella vecchia versione del programma e poi salvarli come template secondo le nuove specifiche di SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;Parlando di template .STP vengono subito in mente i 40 template che Microsoft aveva rilasciato per Windows SharePoint Services 3.0  e che la maggior parte di voi avrà sicuramente utilizzato.
&lt;br /&gt;Siccome Microsoft non sta aggiornando questi template e sopratutto perchè non ci sono neanche delle voci che ad oggi abbia deciso di farlo, è necessario porsi il problema di come aggiornare questi template se vogliamo passare le nostre farm a SharePoint 2010.
&lt;br /&gt;Questo gruppo di template, per fortuna, non era però composto solamente da file .STP ma c'erano anche molte soluzioni SharePoint con estensione .WSP che ci facilitano notevolmente il lavoro. Si perchè possiamo tranquillamente aggiornare i siti creati sia a partire da un .STP che da un .WSP, ma i primi non possono più essere riutilizzati una volta che la farm è stata aggiornata, mentre i secondi si ! E questo è bene che lo sappiate.
&lt;br /&gt;
&lt;br /&gt;&lt;div style="font-style: italic; margin-left: 10px"&gt;Nota: in fase di upgrade, alcuni hanno notato l'impossibilità di riutilizzare questi template .WSP: : Absence Request and Vacation Schedule Management, Call Center, Help Desk, IT Team Workspace, Knowledge Base, and Physical Asset Tracking and Management&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Se invece siete pigri :) ..c'è qualcuno che ha fatto un pò di lavoro di upgrade per noi:
&lt;br /&gt;&lt;a href="http://techsolutions.net/Blog/tabid/65/EntryId/17/Fab-40-Templates-for-MOSS-2010.aspx" title="Fab 40 templates for SharePoint 2010" target="_blank"&gt;http://techsolutions.net/Blog/tabid/65/EntryId/17/Fab-40-Templates-for-MOSS-2010.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Upgrade.aspx" title="TAG: Upgrade"&gt;Upgrade&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/STP.aspx" title="TAG: STP"&gt;STP&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSP.aspx" title="TAG: WSP"&gt;WSP&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SiteTemplateUpgradeToSharePoint2010And40TemplateForWSS3.aspx" /><issued>2010-8-23T11:42:12+01:00</issued><modified>2010-8-23T11:42:12+01:00</modified></entry><entry><title>Come disattivare l'attivazione di feature in fase di deploy in Visual Studio 2010</title><id>/Blog/HowToDisableFeatureActivationOnDeployInVisualStudio2010.aspx</id><created>2010-8-16T10:17:22+01:00</created><content type="text/html" mode="escaped">Quando sviluppiamo le nostre personalizzazioni su SharePoint 2010 utilizzando gli strumenti messi a disposizione da Visual Studio 2010, ci accorgiamo che tutte le nostre feature vengono attivate in automatico ogni volta che viene lanciata l'operazione di deploy della soluzione sul sito SharePoint scelto in fase di creazione del progetto.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/ActivateFeatureVS2010.jpg" alt="Attivazione automatica della feature in fase di deployment da Visual Studio 2010" /&gt;
&lt;br /&gt;
&lt;br /&gt;Questa è la configurazione di default che abbiamo all'interno dei tool di sviluppo per SharePoint 2010. Molte volte però, questa configurazione può impedire le nostre azioni di debug del codice o delle funzionalità implementate.
&lt;br /&gt;Pensiamo solo allo sviluppo di un event receiver che gestisce gli eventi di attivazione o di disattivazione della feature. In questo caso specifico ad esempio, non siamo in grado di fare debug del nostro codice, in quanto Visual Studio 2010 non permette di effettuare l'operazione di deployment e quella di debug contemporaneamente.
&lt;br /&gt;Proprio per ovviare a questo problema, è possibile modificare tale configurazione e scegliere di non attivare la feature in automatico. Per farlo basta entrare nelle proprietà del progetto dalla toolbox "Solution Explorer", scegliere il tab "SharePoint" e selezionare la configurazione "No Activation".
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/ActivateFeatureVS2010_2.jpg" alt="Cambio della configurazione di deployment delle soluzioni SharePoint 2010 in Visual Studio 2010" /&gt;
&lt;br /&gt;
&lt;br /&gt;Così facendo, ad ogni successivo deployment non verranno attivate le feature della nostra soluzione in automatico, ma potremmo farlo noi da interfaccia web (o tramite l'utility STSADM o, ancora, tramite PowerShell) per poi metterci in debug del nostro codice.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/ActivateFeatureVS2010_3.jpg" alt="Mancata attivazione automatica della feature in fase di deployment da Visual Studio 2010" /&gt;
&lt;br /&gt;
&lt;br /&gt;Così come abbiamo potuto disabilitare l'attivazione in automatico della feature all'interno del sito SharePoint scelto in fase di creazione del progetto, abbiamo anche la possibilità di creare configurazioni personalizzate in cui inserire operazioni di deploy e retract della soluzione, reciclo degli application pool, attivazione di feature e esecuzione di comandi pre/post deployment.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Feature.aspx" title="TAG: Feature"&gt;Feature&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Visual Studio 2010.aspx" title="TAG: Visual Studio 2010"&gt;Visual Studio 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToDisableFeatureActivationOnDeployInVisualStudio2010.aspx" /><issued>2010-8-16T10:17:22+01:00</issued><modified>2010-8-16T10:17:22+01:00</modified></entry><entry><title>Annunciate le date della prossima SharePoint Conference italiana</title><id>/Blog/AnnunciateLeDateDellaProssimaSharePointConferenceItaliana.aspx</id><created>2010-8-15T12:33:13+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/SPOC2011_small.png" alt="SharePoint Conference 2010" style="float: right; margin: 2px" /&gt;L'annuncio è stato già dato da &lt;a href="http://blogs.devleap.com/igor/archive/2010/08/09/annunciata-la-prossima-edizione-italiana-della-microsoft-sharepoint-amp-office-conference-2011.aspx" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt; e all'interno di &lt;a href="http://www.sharepointcommunity.it/news/Lists/News/DispForm.aspx?ID=8" title="Annuncio SharePoint Conference 2010 su SharePointCommunity.it" target="_blank"&gt;SharePoint Community&lt;/a&gt;.
&lt;br /&gt;La prossima edizione della Microsoft SharePoint &amp; Office Conference 2011 si svolgerà in parallelo alla Microsoft SQL Server &amp; Business Intelligence Conference 2011, sempre qui a Milano dal &lt;b&gt;19 al 21 Aprile 2011&lt;/b&gt;. Quindi salvatevi queste date che se ne vedranno sicuramente delle belle !
&lt;br /&gt;I contenuti saranno sicuramente di alto livello e sarà un momento ottimo per rincontrarsi con la community nata esattamente nella scorsa edizione della conferenza.
&lt;br /&gt;
&lt;br /&gt;Inoltre, come lo scorso anno, è stato anche aperto il call for paper per la raccolta delle vostre candidature come speaker o se semplicemente avete particolari argomenti da proporre.
&lt;br /&gt;Questo l'indirizzo:
&lt;br /&gt;&lt;a href="http://www.sharepointconference.it/2011/CFP/Pages/cfp.aspx" title="Call for paper SharePoint Conference 2010 Italiana" target="_blank"&gt;http://www.sharepointconference.it/2011/CFP/Pages/cfp.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Manca ancora tanto, è vero.. però è sempre meglio tenersi pronti ;)
&lt;br /&gt;Buon ferragosto a tutti !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Community.aspx" title="TAG: SharePoint Community"&gt;SharePoint Community&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AnnunciateLeDateDellaProssimaSharePointConferenceItaliana.aspx" /><issued>2010-8-15T12:33:13+01:00</issued><modified>2010-8-15T12:33:13+01:00</modified></entry><entry><title>Come abilitare le informazioni per il debug di un'eccezione in SharePoint 2010</title><id>/Blog/HowToEnableExceptionInformationForDebugInSharePoint2010.aspx</id><created>2010-8-5T14:52:23+01:00</created><content type="text/html" mode="escaped">SharePoint ha sempre nascosto i messaggi di errore veri e propri e tutte le informazioni relative al debug dell'errore stesso, per mantenere un buon rapporto con l'utente finale che il più delle volte si spaventa alla vista di tutte quelle scritte preferendo la solita frase "an error has occourred".
&lt;br /&gt;Sappiamo già com'è possibile &lt;a href="http://www.peppedotnet.it/Blog/AnUnexpectedErrorHasOccurred.aspx" title="Come visualizzare informazioni su errori in WSS 3.0 o MOSS 2007" target="_blank"&gt;visualizzare per esteso le informazioni degli errori in WSS 3.0/MOSS 2007&lt;/a&gt;, modificando il file web.config proprio della web application su cui stiamo facendo operazione di debug.
&lt;br /&gt;In SharePoint 2010 invece, è necessario modificare due differenti web.config:
&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Quello presente nella directory legata alla vostra web application SharePoint (se non cambiate il percorso di default, troverete il web.config da modificare al percorso: 
&lt;br /&gt;"[drive]:\inetpub\wwwroot\wss\virtualdirectories\[port]")&lt;/li&gt;&lt;li&gt;Quello presente all'interno della directory "LAYOUTS" posta sotto la SharePoint root (cioè il file presente al percorso:
&lt;br /&gt;"[drive]:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS")&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;Quello che rimane invariato rispetto alla versione precedente di SharePoint, sono gli attributi da modificare all'interno del file web.config:&lt;ol&gt;&lt;li&gt;L'attributo "Debug" dell’elemento "Compilation" va portato a "true"&lt;/li&gt;&lt;li&gt;L'attributo "CallStack" dell'elemento "SafeMode" va portato a "true"&lt;/li&gt;&lt;li&gt;L'attributo "Mode" dell'elemento "CustomErrors" va portato a "Off"&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;Così facendo, la schermata di errore classico passerà da..
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/DebugInfo1.jpg" alt="Error message SharePoint 2010" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;a..
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/DebugInfo2.jpg" alt="Debug Information SharePoint 2010" borer="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Se volete invece maggiori informazioni sull'esecuzione della pagina, potete abilitare la developer dashboard (una delle novità si SharePoint 2010 per sviluppatori). Se volete informazioni a riguardo, ne potete trovera all'interno della documentazione: &lt;a href="http://msdn.microsoft.com/en-us/library/ff512745.aspx" title="Using the Developer Dashboard" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ff512745.aspx&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] </content><link rel="alternate" type="text/html" href="/Blog/HowToEnableExceptionInformationForDebugInSharePoint2010.aspx" /><issued>2010-8-5T14:52:23+01:00</issued><modified>2010-8-5T14:52:23+01:00</modified></entry><entry><title>Errore &quot;Security error&quot; utilizzando il Client Object Model di SharePoint 2010 per Silverlight</title><id>/Blog/SecurityErrorUsingSharePoint2010ClientObjectModelForSilverlight.aspx</id><created>2010-8-3T15:39:38+01:00</created><content type="text/html" mode="escaped">Se iniziate ad utilizzare il modello ad oggetti client-side di SharePoint 2010 per applicazioni Silverlight e provate ad istanziare un nuovo oggetto di tipo "ClientContext" passando come parametro al costruttore principale l'indirizzo di un sito SharePoint remoto (senza far girare l'applicazione Silverlight all'interno del contesto di SharePoint) ...
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;ClientContext context = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; ClientContext(&lt;span style="color: #A31515"&gt;"http://sharepoint2010"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #008200"&gt;//…&lt;/span&gt;
context.ExecuteQueryAsync(...); &lt;span style="color: #008200"&gt;//errore&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;vi troverete a fare i conti con questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;{System.Security.SecurityException ---&gt; System.Security.SecurityException: Security error.
&lt;br /&gt;at System.Net.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
&lt;br /&gt;at System.Net.BrowserHttpWebRequest.&lt;&gt;c__DisplayClass5.b__4(Object sendState)
&lt;br /&gt;at System.Net.AsyncHelper.&lt;&gt;c__DisplayClass2.b__0(Object sendState)
&lt;br /&gt;--- End of inner exception stack trace ---
&lt;br /&gt;at System.Net.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
&lt;br /&gt;at System.Net.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
&lt;br /&gt;at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
&lt;br /&gt;at System.Net.WebClient.OpenReadAsyncCallback(IAsyncResult result)}&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;L'errore viene scatenato alla chiamata del metodo ExecuteQueryAsync per l'esecuzione della query dall'applicazione client a SharePoint 2010.
&lt;br /&gt;Ecco, è bene sapere che questo errore può accadere per due principali motivi:
&lt;br /&gt;1- L'indirizzo che avete inserito come parametro del costruttore principale della classe ClientContext non esiste, non funziona o non è raggiungibile tramite browser.
&lt;br /&gt;2- Non avete inserito alcun file di policy ("ClientAccessPolicy.xml") per regolamentare le connessioni ai web services di SharePoint dall'esterno, nella directory della vostra web application.
&lt;br /&gt;
&lt;br /&gt;Come è possibile leggere dal punto 2, per consumare un web services (che sia o meno esposto da SharePoint) all'interno di un'applicazione Silverlight, è necessario che il web server che lo ospita abbia un file di policy che regolamenta la possibilità di utilizzo o meno del web service stesso da applicazioni remote. Questo file è il file "ClientAccessPolicy.xml", che e va creato all'interno della root della nostra applicazione web.
&lt;br /&gt;Siccome il modello ad oggetti client-side ha, al suo interno, una classe proxy che si occupa di chiamare il servizio "Client.svc" esposto da SharePoint 2010 e leggerne le risposte, anche tutte le applicazioni che ne utilizzano i vari membri dovranno fare i conti con il medesimo modello di policy, in quanto pur scrivendo codice che mantiene il paradigma ad oggetti, alla fine vengono comunque fatte delle chiamate ad servizio web (in questo caso un servizio WCF). Per un introduzione sull'architettura del modello ad oggetti client-side di SharePoint 2010, trovate un articolo su &lt;a href="http://www.sharepointcommunity.it/articles/Lists/Articles/DispForm.aspx?ID=11" title="Introduzione al Client Object Model di SharePoint 2010" target="_blank"&gt;SharePoint Community&lt;/a&gt;.
&lt;br /&gt;Quindi, in ambiente di sviluppo, potete mettere un file nominato "ClientAccessPolicy.xml" all'interno della root della vostra web application SharePoint. Questo un'esempio classico:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="utf-8"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;   
&lt;br /&gt;  &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;access-policy&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;cross-domain-access&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;policy&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;allow-from&lt;/span&gt;&lt;span style='color:#FF0000'&gt; http-request-headers&lt;span style='color:#0000FF'&gt;="*"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;           &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;domain&lt;/span&gt;&lt;span style='color:#FF0000'&gt; uri&lt;span style='color:#0000FF'&gt;="*"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;   
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;allow-from&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;grant-to&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;          &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;resource&lt;/span&gt;&lt;span style='color:#FF0000'&gt; path&lt;span style='color:#0000FF'&gt;="/"&lt;/span&gt; include-subpaths&lt;span style='color:#0000FF'&gt;="true"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;   
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;grant-to&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;     &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;policy&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;cross-domain-access&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;  
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;access-policy&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Prima di procedere, provate a raggiungere tale file tramite il browser in modo tale da essere sicuri che possa essere letto da tutti, utilizzando questo indirizzo:
&lt;br /&gt;
&lt;br /&gt;http://[servername]/ClientAccessPolicy.xml
&lt;br /&gt;
&lt;br /&gt;E poi fate un bel IISRESET.
&lt;br /&gt;
&lt;br /&gt;Se siete in produzione invece, è meglio seguire le linee guida date da Microsoft per il posizionamento e la stesura del contenuto del file "ClientAccessPolicy.xml".
&lt;br /&gt;Trovate invece più informazioni riguardo il modello di sicurezza per l'accesso a risorse esterne tramite applicazioni Silverlight qua: &lt;a href="http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx" title="Network Security Access Restrictions in Silverlight" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Client  Object Model.aspx" title="TAG: Client  Object Model"&gt;Client  Object Model&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SecurityErrorUsingSharePoint2010ClientObjectModelForSilverlight.aspx" /><issued>2010-8-3T15:39:38+01:00</issued><modified>2010-8-3T15:39:38+01:00</modified></entry><entry><title>Come spostare un sito SharePoint all’interno della stessa site collection da codice</title><id>/Blog/HowToMoveSharePointSiteProgrammaticallyWithinTheSameSiteCollection.aspx</id><created>2010-8-2T16:42:12+01:00</created><content type="text/html" mode="escaped">Un pò di tempo fa abbiamo visto com'è possibile muovere un sito SharePoint o alcuni dei suoi principali oggetti (liste, documenti, elementi, ecc..) da programma, utilizzando le &lt;a href="http://www.peppedotnet.it/Blog/SharePointAPIforContentDeploymentAndMigrations.aspx" title="API per la migrazione e il deployment dei contenuti" target="_blank"&gt;API per la migrazione e il deployment dei contenuti&lt;/a&gt; esposte da SharePoint.
&lt;br /&gt;Le medesime operazioni di spostamento, come dovremmo sapere, è possibile effettuarle anche utilizzando le operazioni di backup e restore dell'utility STSADM, quelle presenti all'interno della Central Administration, quelle che potete invece trovare all'interno di SharePoint Designer oppure (ma solo se avete MOSS 2007 e le feature di publishing attivate a livello di site collection) tramite il tool di gestione del contenuto di SharePoint, il tool "Site manager" (che potete raggiungere selezionando "Site settings" - "Content and structure").
&lt;br /&gt;
&lt;br /&gt;Ma, se vogliamo scrivere un'applicazione custom che effettui lo spostamento di un sito all'interno della stessa Site Collection, SharePoint ci mette a disposizione un'ulteriore tecnica molto più facile all'uso che viene chiamata "reparent" (che, devo dir verità, non so come si può tradurre in italiano :)
&lt;br /&gt;Tramite questa tecnica, possiamo spostare un sito SharePoint all'interno della stessa site collection senza effettuare alcun tipo di backup o restore.
&lt;br /&gt;Per utilizzarla, non dobbiamo far altro che inserire all'interno della nostra applicazione il seguente codice (una volta aggiunta la referenza alla libreria Microsoft.SharePoint.dll):
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; oldUrl = &lt;span style="color: #A31515"&gt;"http://servername/DaSpostare/"&lt;/span&gt;;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; newUrl = &lt;span style="color: #A31515"&gt;"Peppe/Spostato"&lt;/span&gt;;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(oldUrl))
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (SPWeb web = site.OpenWeb())
&lt;br /&gt;{
&lt;br /&gt;  web.ServerRelativeUrl = newUrl;
&lt;br /&gt;  web.Update();
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo esempio, viene spostato il sito dall'indirizzo "http://servername/DaSpostare" all'indirizzo "http://servername/Peppe/Spostato".
&lt;br /&gt;Quindi, semplicemente modifcando il valore della proprietà "ServerRelativeUrl" di un oggetto di tipo SPWeb siamo in grado di muovere il sito all'interno della medesima Site Collection mantenendone intatte le proprietà, i permessi e i contenuti.
&lt;br /&gt;Chiaramente, il nuovo indirizzo assegnato al sito da spostare deve essere valido fino al nome del sito una volta spostato. Per esempio, se io voglio spostare il sito "http://servername/daspostare" all'indirizzo: "http://servername/sito/peppe/test",  i siti "http://server/sito" e "http://server/sito/peppe" devono esistere !
&lt;br /&gt;
&lt;br /&gt;La stessa tecnica, può essere utilizzata da riga di comando tramite l'utility STSADM in questo modo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o renameweb -url http://servername/daSpostare -newname Peppe
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; 
&lt;br /&gt;Che sposta il sito all'indirizzo "http://servername/Peppe".
&lt;br /&gt;
&lt;br /&gt;Non male, eh ?
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/STSADM.aspx" title="TAG: STSADM"&gt;STSADM&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToMoveSharePointSiteProgrammaticallyWithinTheSameSiteCollection.aspx" /><issued>2010-8-2T16:42:12+01:00</issued><modified>2010-8-2T16:42:12+01:00</modified></entry><entry><title>Operazioni CRUD con il Client Object Model di SharePoint 2010</title><id>/Blog/CRUDOperationsWithSharePoint2010ClientObjectModel.aspx</id><created>2010-8-2T11:46:30+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/sharepointCommunity.jpg" alt="SharePoint Community" style="float: right; margin: 5px;" /&gt;Dopo &lt;a href="http://www.peppedotnet.it/Blog/IntroduzioneAlleClientSideAPIdiSharePoint2010.aspx" title="Introduzione alle Client-Side API di SharePoint 2010 " target="_blank"&gt;l'articolo di introduzione sulle API per la programmazione client-side di SharePoint 2010&lt;/a&gt;, ecco il mio secondo articolo sul tema pubblicato su &lt;a href="http://www.sharepointcommunity.it" title="SharePoint Community" target="_blank"&gt;SharePoint Community&lt;/a&gt;. Questa volta però, è incentrato sulle operazioni di base che si possono fare su liste SharePoint utilizzando il Client Object Model e una banalissima applicazione Windows. 
&lt;br /&gt;Ho scelto di scriverci un articolo proprio perchè le operazioni CRUD (Create, Read, Update, Delete) su liste, sono veramente le azioni che si fanno più spesso quando si sviluppano applicazioni che hanno a che fare con SharePoint e penso che sicuramente sarà utile a molti.
&lt;br /&gt;Qui il link per l'articolo:
&lt;br /&gt;&lt;a href="http://www.sharepointcommunity.it/articles/Lists/Articles/DispForm.aspx?ID=12" title="" target="_blank"&gt;http://www.sharepointcommunity.it/articles/Lists/Articles/DispForm.aspx?ID=12&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Se volete scaricare i sorgenti invece, potete farlo direttamente da qua (sono gli stessi esempi visti all'interno della mia sessione per l'evento GroundZero di DotNetLombardia):
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/zip/Dev4Side.GroundZero.zip" title="Sorgenti operazioni CRUD tramite il Client Object Model di SharePoint 2010" target="_blank"&gt;http://www.peppedotnet.it/zip/Dev4Side.GroundZero.zip&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Finalmente, sto per andare in vacanza anche io.. verso mare stupendo spero.
&lt;br /&gt;Ci si risente tra un pò ;)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Client Object Model.aspx" title="TAG: Client Object Model"&gt;Client Object Model&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CRUDOperationsWithSharePoint2010ClientObjectModel.aspx" /><issued>2010-8-2T11:46:30+01:00</issued><modified>2010-8-2T11:46:30+01:00</modified></entry><entry><title>Introduzione alle Client-Side API di SharePoint 2010</title><id>/Blog/IntroduzioneAlleClientSideAPIdiSharePoint2010.aspx</id><created>2010-7-26T16:40:30+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/sharepointCommunity.jpg" alt="SharePoint Community" style="margin: 10px; float: right" /&gt; E' appena stato pubblicato un mio nuovo articolo su SharePoint 2010 all'interno di &lt;a href="http://www.sharepointcommunity.it/" title="SharePoint Community.it" target="_blank"&gt;SharePoint Community&lt;/a&gt;.
&lt;br /&gt;E' una breve introduzione sulle API esposte dalla nuova versione di SharePoint, per lo sviluppo di applicazioni client-side che girano su Windows o all'interno del browser (Silverlight o personalizzazioni Javascript).
&lt;br /&gt;Seguirà un secondo articolo, dove sarà possibile vedere il codice per effettuare le normali operazioni di tipo CRUD su liste SharePoint utilizzando uno dei tre modelli ad oggetti per lo sviluppo lato client (per esser precisi quello per lo sviluppo di applicazioni Windows).
&lt;br /&gt;Qua il link all'articolo:
&lt;br /&gt;&lt;a href="http://www.sharepointcommunity.it/articles/Lists/Articles/DispForm.aspx?ID=11" title="Introduzione alle Client-Side API di SharePoint 2010" target="_blank"&gt;http://www.sharepointcommunity.it/articles/Lists/Articles/DispForm.aspx?ID=11&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;L'introduzione delle API per la programmazione client-side sono sicuramente la novità che, personalmente, ho apprezzato di più all'interno di SharePoint 2010. 
&lt;br /&gt;Non si parla più di web services, di dover formattare e parsare tutto quell'xml per interrogare SharePoint dall'esterno e leggere i risultati delle nostre interrogazioni, il tutto mantenedo il paradigma della programmazione ad oggetti, proprio come siamo sempre stati abituati utilizzando il modello ad oggetti lato server.
&lt;br /&gt;Il che è fantastico ! No ? :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS:  [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Client Object Model.aspx" title="TAG: Client Object Model"&gt;Client Object Model&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/IntroduzioneAlleClientSideAPIdiSharePoint2010.aspx" /><issued>2010-7-26T16:40:30+01:00</issued><modified>2010-7-26T16:40:30+01:00</modified></entry><entry><title>Errore: &quot;The crawler could not communicate with the server&quot;</title><id>/Blog/ErrorTheCrawlerCouldNotCommunicateWithTheServer.aspx</id><created>2010-7-24T17:28:38+01:00</created><content type="text/html" mode="escaped">Se, guardando il log dell'indicizzazione prodotto dal servizio di ricerca di MOSS 2007 su uno dei content source che avete configurato, vi trovate un errore di questo tipo:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;The crawler could not communicate with the server. Check that the server is available and that the firewall access is configured correctly&lt;/div&gt;
&lt;br /&gt;controllate subito l'indirizzo che viene specificato come fonte dell'errore cercando di raggiungerlo tramite browser utilizzando la connessione in desktop remoto sulle vostre macchine che si occupano dell'indicizzazione. 
&lt;br /&gt;Probabilmente avete una farm dove uno o più server si occupano di fornire la parte front-end di SharePoint e uno o più server quella di indicizzazione. E magari l'indirizzo che vedete come fonte dell'errore, se raggiunto dalle macchine client, vi risulterà sicuramente funzionante.
&lt;br /&gt;Ma se provate a raggiungerlo da una delle macchine di indicizzazione, vedrete che vi ritornerà un errore di tipo 5xx.
&lt;br /&gt;Quindi cercate di capire il perchè di quell'errore 500 e, una volta corretto, fate ripartire l'indicizzazione.
&lt;br /&gt;Nel mio caso, era stato stoppato l'application pool ed è bastato semplicemente riavviarlo.
&lt;br /&gt;Spero possa esser utile a qualcuno.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Search.aspx" title="TAG: Search"&gt;Search&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorTheCrawlerCouldNotCommunicateWithTheServer.aspx" /><issued>2010-7-24T17:28:38+01:00</issued><modified>2010-7-24T17:28:38+01:00</modified></entry><entry><title>Slide e demo della mia sessione all'evento GroundZero di DotNetLombardia</title><id>/Blog/SlidesAndDemosOfMySessionAtDotNetLombardia.aspx</id><created>2010-7-22T23:6:0+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/images/devordie.jpg" alt="Dev or Die !" style="float: right; margin: 5px;" /&gt;Oggi era il giorno di &lt;a href="http://groundzero.dotnetlombardia.org/" title="GroundZero - DotNetLombardia" target="_blank"&gt;GroundZero&lt;/a&gt;, l'evento organizzato dai ragazzi di &lt;a href="http://dotnetlombardia.org/" title="DotNetLombardia" target="_blank"&gt;DotNetLombardia&lt;/a&gt;, dove sono stato invitato per tenere una sessione sulle novità di SharePoint 2010 per sviluppatori.
&lt;br /&gt;Non sono riuscito a seguire tutte le sessioni, ma sicuramente è stato un inizio carino per questo nuovo user group, che avrà sicuramente tanto da dare. 
&lt;br /&gt;In tutto ciò, la sessione di &lt;a href="http://www.tostring.it/" title="Ugo Lattanzi" target="_blank"&gt;Ugo&lt;/a&gt; è stata veramente ottima !
&lt;br /&gt;Io ho dato il mio e spero che sia piaciuto.. :)
&lt;br /&gt;
&lt;br /&gt;Vi lascio qua le slide e i sorgenti delle demo che ho fatto durante la sessione. Le troverete anche su &lt;a href="http://www.sharepointcommunity.it" title="SharePointCommunity.it" target="_blank"&gt;SharePointCommunity.it&lt;/a&gt;
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.peppedotnet.it/zip/GroundZeroDotNetLombardia.pdf" title="Slide in pdf evento DotNetLombardia"&gt;slide (pdf)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peppedotnet.it/zip/Dev4Side.GroundZero.zip" title="Sorgenti delle demo eveno DotNetLombardia"&gt;sorgenti demo (zip)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Ringrazio ancora Roberto per avermi invitato.
&lt;br /&gt;Alla prossima !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Community.aspx" title="TAG: Community"&gt;Community&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SlidesAndDemosOfMySessionAtDotNetLombardia.aspx" /><issued>2010-7-22T23:6:0+01:00</issued><modified>2010-7-22T23:6:0+01:00</modified></entry><entry><title>Le novit&#224; di SharePoint 2010 per dev a GroundZero: manca poco !</title><id>/Blog/LeNovitaDiSharePoint2010PerDevAGroundZeroMancaPoco.aspx</id><created>2010-7-20T12:30:6+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://groundzero.dotnetlombardia.org/_/rsrc/1277714575329/home/GroundZero.png" alt="GroundZero - DotNetLombardia" /&gt;
&lt;br /&gt;
&lt;br /&gt;Mancano solo 2 giorni all'evento &lt;a href="http://groundzero.dotnetlombardia.org/" title="GroundZero - DotNetLombardia" target="_blank"&gt;GroundZero&lt;/a&gt; organizzato dai ragazzi di DotNetLombardia !
&lt;br /&gt;Mi dicono che la sala ancora non è piena, quindi vi ricordo che potete ancora iscrivervi dal sito dell'evento:
&lt;br /&gt;&lt;a href="http://groundzero.dotnetlombardia.org/" title="GroundZero - DotNetLombardia" target="_blank"&gt;http://groundzero.dotnetlombardia.org/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Io ho slide e demo pronte da diciamo 10 minuti :)
&lt;br /&gt;Se seguite il sito e pensate di venire, mi raccomando fatevi riconoscere.. anche solo per un "ciao".
&lt;br /&gt;Ci vediamo la ! ;)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/DotNetLombardia.aspx" title="TAG: DotNetLombardia"&gt;DotNetLombardia&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/LeNovitaDiSharePoint2010PerDevAGroundZeroMancaPoco.aspx" /><issued>2010-7-20T12:30:6+01:00</issued><modified>2010-7-20T12:30:6+01:00</modified></entry><entry><title>Annunciato il rilascio dell'Administration Toolkit per SharePoint 2010</title><id>/Blog/AnnouncedAdministrationToolkitV1ForSharePoint2010.aspx</id><created>2010-7-16T10:49:24+01:00</created><content type="text/html" mode="escaped">Dal &lt;a href="http://blogs.msdn.com/b/sharepoint/archive/2010/07/15/announcing-the-release-of-the-sharepoint-2010-administration-toolkit-v1.aspx" title="Announcing the release of the SharePoint 2010 Administration Toolkit V1" target="_blank"&gt;blog del team di SharePoint&lt;/a&gt; è stato annunciato il rilascio della versione 1 dell'Administration Toolkit per SharePoint 2010.
&lt;br /&gt;Il toolkit vede una serie di nuovi tool per l'amministrazione di SharePoint 2010. Eccoli del dettaglio:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;User Profile Replication Engine 2010 (UPRE2010): tool per la replica dei profili utente e dei dati legati alla parte "social" di SharePoint 2010 tra differenti User Profile Application. Prevede inoltre la compatibilità con gli SSP di MOSS 2007 (ma solo per l'importazione dei profili utenti)&lt;/li&gt;&lt;li&gt;The Security Configuration (SCW) Manifest: SCW è un tool per la prevenzione agli attacchi che è stato introdotto su Windows Server. Questo manifest aggiunge ruoli specifici per SharePoint 2010 su SCW&lt;/li&gt;&lt;li&gt;The Content Management Interoperability Services (CMIS) Connector: tool che permette la lettura del contenuto di SharePoint 2010 per tutte le applicazioni che implementano lo standard CMIS&lt;/li&gt;&lt;li&gt;The Load Testing Kit (LTK): tool che genere un load test per Visual Studio Team Stystem 2008 basato sui log di IIS per siti WSS 3.0, utile per test di migrazione a SharePoint Foundation 2010&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Questo il link per il download:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=718447d8-0814-427a-81c3-c9c3d84c456e&amp;displaylang=en" title="Administration Toolkit V1 for SharePoint 2010" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=718447d8-0814-427a-81c3-c9c3d84c456e&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Qua invece la documentazione:
&lt;br /&gt;SharePoint Foundation 2010: &lt;a href="http://technet.microsoft.com/en-us/library/cc508986.aspx" title="Documentazione dell'Adminitration Toolkit per SharePoint Foundation 2010" target="_blank"&gt;http://technet.microsoft.com/en-us/library/cc508986.aspx&lt;/a&gt;
&lt;br /&gt;SharePoint Server 2010: &lt;a href="http://technet.microsoft.com/en-us/library/cc508851.aspx" title="Documentazione per Administration Toolkit per SharePoint Server 2010" target="_blank"&gt;http://technet.microsoft.com/en-us/library/cc508851.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Administration Toolkit.aspx" title="TAG: Administration Toolkit"&gt;Administration Toolkit&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AnnouncedAdministrationToolkitV1ForSharePoint2010.aspx" /><issued>2010-7-16T10:49:24+01:00</issued><modified>2010-7-16T10:49:24+01:00</modified></entry><entry><title>Update per SharePoint Foundation 2010 - KB2032588</title><id>/Blog/UpdateForSharePointFoundation2010KB2032588.aspx</id><created>2010-7-15T20:0:59+01:00</created><content type="text/html" mode="escaped">Due giorni fa, precisamente il 13 luglio 2010, è stato rilasciato un aggiornamento per SharePoint Foundation 2010 descritto da questo articolo della KB Microsoft:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/2032588" title="KB2032588" target="_blank"&gt;http://support.microsoft.com/kb/2032588&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;L'aggiornamento viene fatto tramite Microsoft Updates, quindi se avete gli aggiornamenti abilitati sulle vostre macchine, lo vedrete tra quelli da installare e, una volta installato, vedrete che la libreria Microsoft.SharePoint.dll verrà portata alla versione:  14.0.5050.5001
&lt;br /&gt;Sembra che sia stato rilasciato per la mancanza di un file.
&lt;br /&gt;
&lt;br /&gt;Ricordatevi di eseguire il tool "SharePoint Products and Technologies Configuration Wizard" una volta installato l'update.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/UpdateForSharePointFoundation2010KB2032588.aspx" /><issued>2010-7-15T20:0:59+01:00</issued><modified>2010-7-15T20:0:59+01:00</modified></entry><entry><title>Come recuperare le Missing Web Part indicate nel report di upgrade a SharePoint 2010</title><id>/Blog/HowToFindMissingWebPartIndicatedOverUpagradeToSharePoint2010Report.aspx</id><created>2010-7-14T17:43:17+01:00</created><content type="text/html" mode="escaped">Quando ci si prepara per un upgrade a SharePoint 2010 utilizzando la tecnica dell'attach del database di contentuo, è buona regola lanciare il comando *Test-SPContentDatabase* tramite PowerShell.
&lt;br /&gt;Questo comando controlla il database di contenuto che abbiamo intenzione di migrare e produce un report contenente tutti gli warning relativi al processo di migrazione, così che possiamo cercare il modo migliore di correggerli. Tra i vari messaggi, ci sono anche tutti quelli riguardanti le web part mancanti sulla farm SharePoint 2010 e che invece sono presenti all'interno del database che abbiamo intenzione di migrare. Il problema è che quel report non ci indica ne l'assembly ne il nome del tipo della nostra web part mancanta, ma ci presenta un GUID, il che rende impossibile capire di quale web part si sta parlando.
&lt;br /&gt;Esiste però il modo per recuperare a partire da quell'identificativo, qual'è l'assembly e quale la web part mancante.
&lt;br /&gt;Per questo ho creato un piccolo progetto su codeplex che dato l'assembly e il tipo di una web part (che possiamo tranquillamente recupare dalla pagina http://SERVERSHAREPOINT/_layouts/newdwp.aspx) genera l'identificativo della web part così come lo troviamo nel report di pre-migrazione.
&lt;br /&gt;La generazione di questo identificativo è fatta utilizzando lo stesso algoritmo che utilizza SharePoint per generare il GUID relativo alla web part e salvarlo nel database. Questo algorimo utilizzo un hashing MD5 per computare la stringa formata dalla concatenazione del nome dell'assembly, di un pipe e del nome del tipo relativi alla web part.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; data = &lt;span style="color: #A31515"&gt;"Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"&lt;/span&gt; + 
&lt;br /&gt;&lt;span style="color: #A31515"&gt;"|"&lt;/span&gt; +
&lt;br /&gt;&lt;span style="color: #A31515"&gt;"Microsoft.Office.Server.Search.WebControls.AdvancedSearchBox"&lt;/span&gt;;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;byte&lt;/span&gt;[] dataBytes = Encoding.Unicode.GetBytes(data); 
&lt;br /&gt;MD5 hashAlgo = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; MD5CryptoServiceProvider(); 
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;byte&lt;/span&gt;[] hash = hashAlgo.ComputeHash(dataBytes); 
&lt;br /&gt;Guid hashGuid = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Guid(hash); 
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; WebPartID = hashGuid.ToString();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;img src="http://www.dev4side.com/media/5366/howtouse_798x170.jpg" alt="Easy WebPart Type ID generator" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Potete scaricare il tool da codeplex seguendo questo indirizzo:
&lt;br /&gt;&lt;a href="http://easywebparttypeidgen.codeplex.com/" title="Easy WebPart Type ID generator" target="_blank"&gt;http://easywebparttypeidgen.codeplex.com/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToFindMissingWebPartIndicatedOverUpagradeToSharePoint2010Report.aspx" /><issued>2010-7-14T17:43:17+01:00</issued><modified>2010-7-14T17:43:17+01:00</modified></entry><entry><title>FatalError: The file cannot be imported because its parent web does not exist</title><id>/Blog/FatalErroTheFileCannotBeImportedBecauseItsParentWebDoesNotExists.aspx</id><created>2010-7-12T18:19:0+01:00</created><content type="text/html" mode="escaped">A fronte di un restore di una site collection, oppure di uno o più siti SharePoint 2007 tramite le utility di backup e restore presenti all'interno della Central Administration o tramite l'utility STSADM, o se utilizzate le &lt;a href="http://www.peppedotnet.it/Blog/SharePointAPIforContentDeploymentAndMigrations.aspx" title="Content Migration API" target="_blank"&gt;Content Migration API&lt;/a&gt; per effettuare spostamenti e operazioni varie, potete incappare in questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;FatalError: The file cannot be imported because its parent web [Parent Web URL] does not exist&lt;/div&gt;
&lt;br /&gt;In effetti, nel mio caso la dicitura dell'errore non faceva una piega.. il sito padre del sito che stavo cercando di spostare non esisteva. Questo perchè sto spostando il sito in un'altra gerarchia di siti, diversa da quella di partenza e, detto in tutta sincerità, mi sembra l'operazione più normale del mondo.
&lt;br /&gt;Li per li quindi, provo a creare un sito vuoto con lo stesso nome del sito padre in questione.. e lo spostamento di quel singolo sito va a buon fine. Nonostante ciò, mi ritrovo lo stesso errore su tutti gli altri siti, il che mi spaventa tantissimo.. perchè non potevo proprio pensare di dover ricreare la medesima struttura che avevo nella site collection di partenza per poter effettuare il mio restore.. sarebbe veramente da pazzi !
&lt;br /&gt;
&lt;br /&gt;Per fortuna, accedendo in desktop remoto al server con &lt;span style="text-decoration: underline"&gt;l'utenza con cui girano gli Application Pool di SharePoint&lt;/span&gt; e rieseguendo l'operazione di restore tutto è andato a buon fine, senza che io dovessi creare nessun sito vuoto o cose simili.
&lt;br /&gt;Senza far girare l'operazione di restore tramite l'utenza di servizio di SharePoint, andavo sempre incontro all'errore in questione, nonostante fossi admin della macchina, della farm e di sa il cavolo cosa ! :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Backup.aspx" title="TAG: Backup"&gt;Backup&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Restore.aspx" title="TAG: Restore"&gt;Restore&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/FatalErroTheFileCannotBeImportedBecauseItsParentWebDoesNotExists.aspx" /><issued>2010-7-12T18:19:0+01:00</issued><modified>2010-7-12T18:19:0+01:00</modified></entry><entry><title>Developing Applications for SharePoint 2010</title><id>/Blog/DevelopingApplicationsForSharePoint 2010OnMicrosoftDownloadSite.aspx</id><created>2010-7-12T17:6:2+01:00</created><content type="text/html" mode="escaped">Come segnalato già da &lt;a href="http://www.macori.it" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt;, Microsoft ha pubblicato un whitepaper molto interessante sulle novità di SharePoint 2010 per sviluppatori.
&lt;br /&gt;Trovate tutto il materiale per il download a questo indirizzo:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=64b55569-2168-4545-8b7c-f185b2cf967d&amp;displaylang=en" title="Developing Applications for SharePoint 2010" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=64b55569-2168-4545-8b7c-f185b2cf967d&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Vi ricordo che potete vedere alcune delle novità di SharePoint 2010 per sviluppatori dal vivo a Ground Zero, l'evento organizzato dai ragazzi di DotNetLombardia questo 22 luglio qui a Milano.
&lt;br /&gt;Per iscrivervi o per avere maggiori informazioni visitate il sito dell'evento:
&lt;br /&gt;&lt;a href="http://groundzero.dotnetlombardia.org/" title="DotNetLombardia - Evento: Ground Zero" target="_blank"&gt;http://groundzero.dotnetlombardia.org/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/DevelopingApplicationsForSharePoint 2010OnMicrosoftDownloadSite.aspx" /><issued>2010-7-12T17:6:2+01:00</issued><modified>2010-7-12T17:6:2+01:00</modified></entry><entry><title>Disabilitare la sincronizzazione delle propriet&#224; sui documenti SharePoint</title><id>/Blog/HowToDisablePropertiesSynchronizationOnSharePointDocuments.aspx</id><created>2010-7-7T10:1:17+01:00</created><content type="text/html" mode="escaped">Chiunque utilizza SharePoint sa bene che durante la gestione di file all'interno di una document library, il sistema si preoccupa di mantenere sincronizzate le proprietà del file con i valori delle colonne della lista stessa e questo accade sia all'upload di un documento che alla modifica dei campi allegati.
&lt;br /&gt;Questo è il comportamento di default di ogni sito e, la maggior parte delle volte risulta proprio utile in quanto queste proprietà possono poi essere utilizzate per criteri di ricerca avanzata e, essendo proprie del file in se per se, vengono mantenute a fronte di copie varie.
&lt;br /&gt;Può capitare però di voler disabilitare tale comportamento, per i più svariati motivi.
&lt;br /&gt;Per farlo, non dobbiamo far altro che settare a "false" la proprietà &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.parserenabled.aspx" title="Proprietà ParserEnabled" target="_blank"&gt;"ParserEnabled"&lt;/a&gt; della classe SPWeb.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPWeb web = SPContext.Current.Web;
&lt;br /&gt;web.ParserEnabled = fase;
&lt;br /&gt;web.Update();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Vi ricordo sempre che, per effettuare un commit della modifica di una proprietà del genere, va richiamato il metodo Update(), così come accade con l'utilizzo delle classi SPList, SPListItem, SPField, ecc..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToDisablePropertiesSynchronizationOnSharePointDocuments.aspx" /><issued>2010-7-7T10:1:17+01:00</issued><modified>2010-7-7T10:1:17+01:00</modified></entry><entry><title>Le novit&#224; di SharePoint 2010 per sviluppatori a Ground Zero di DotNetLombardia</title><id>/Blog/WhatsNewInSharePoint2010ForDevelopersAtDotNetLombardia.aspx</id><created>2010-7-3T18:37:44+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/sharepointCommunity.jpg" alt="SharePoint Community" style="float: right; margin: 10px;" /&gt;Spero che non sia tardi e che possiate organizzarvi per venire.
&lt;br /&gt;Il 22 di questo luglio, interverrò per &lt;a href="http://www.sharepointcommunity.it/news/Lists/Events/DispForm.aspx?ID=7" title="SharePoint Community" target="_blank"&gt;SharePoint Community&lt;/a&gt; all'evento &lt;a href="http://groundzero.dotnetlombardia.org" title="Evento Ground Zero di DotNetLombardia" target="_blank"&gt;Ground Zero&lt;/a&gt; organizzato dai ragazzi di &lt;a href="http://dotnetlombardia.org/" title="DotNetLombardia" target="_blank"&gt;DotNetLombardia&lt;/a&gt; qui a Milano, per parlare delle novità di SharePoint 2010 per sviluppatori.
&lt;br /&gt;Per questo ringrazio &lt;a href="http://dotnetlombardia.org/blogs/rob/default.aspx" title="Roberto Freato" target="_blank"&gt;Roberto Freato&lt;/a&gt; per il gentile invito.
&lt;br /&gt;
&lt;br /&gt;Sarà una sessione di circa un'ora, ricca di codice e demo, per cercare di snocciolare tutte quelle che sono le principali novità per noi sviluppatori introdotte nella versione 2010 di SharePoint.
&lt;br /&gt;Nel dettaglio, spero di fare in tempo a farvi vedere:
&lt;br /&gt;- integrazione con Visual Studio 2010
&lt;br /&gt;- LINQ to SharePoint
&lt;br /&gt;- Business Connectivity Services
&lt;br /&gt;- Client Object Model
&lt;br /&gt;- UI Framework (ribbon, dialog, notification)
&lt;br /&gt;
&lt;br /&gt;Nel resto della giornata, ci saranno poi sessioni su ASP.NET 4, WP7, Silverlight, MEF, WCF e Cloud computing.
&lt;br /&gt;Come potete vedere dall'agenda on-line:
&lt;br /&gt;&lt;a href="http://groundzero.dotnetlombardia.org/agenda" title="Agenda evento Ground Zero - DotNetLombardia" target="_blank"&gt;http://groundzero.dotnetlombardia.org/agenda&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Vi invito calorosamente ad iscrivervi.
&lt;br /&gt;&lt;a href="http://groundzero.dotnetlombardia.org/registrazione" title="Registrazione evento Ground Zero - DotNetLombardia" target="_blank"&gt;http://groundzero.dotnetlombardia.org/registrazione&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Visual Studio 2010.aspx" title="TAG: Visual Studio 2010"&gt;Visual Studio 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Community.aspx" title="TAG: SharePoint Community"&gt;SharePoint Community&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WhatsNewInSharePoint2010ForDevelopersAtDotNetLombardia.aspx" /><issued>2010-7-3T18:37:44+01:00</issued><modified>2010-7-3T18:37:44+01:00</modified></entry><entry><title>Microsoft SharePoint MVP</title><id>/Blog/MicrosoftSharePointMVP.aspx</id><created>2010-7-1T17:59:4+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/mvp2.jpg" alt="Microsoft SharePoint MVP" style="float: right; margin: 10px" /&gt;Oggi è giornata particolare..
&lt;br /&gt;Sono appena stato nominato Microsoft MVP su SharePoint !!
&lt;br /&gt;
&lt;br /&gt;Non so bene ancora cosa ho in testa.. so che è stata una giornata eccitante ad aspettare quella mail di cui non sapevo praticamente nulla.. so che è un premio importante, e che come tutti i premi ha suo significato.. so che un pò lo speravo, lo ammetto, ma che non avrei mai pensato di arrivarci così "presto", diciamo.. o di arrivarci veramente.. so che con me, ci sono tante altre persone fantastiche (&lt;a href="http://blogs.devleap.com/devlizard/" title="Claudio Brotto" target="_blank"&gt;Claudio&lt;/a&gt;, &lt;a href="http://www.macori.it" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt;, &lt;a href="http://blogs.dotnethell.it/gdelgiovine/" title="Gabriele Del Giovine" target="_blank"&gt;Gabriele&lt;/a&gt;, e &lt;a href="http://www.nonaka.eu/" title="Romeo Pruno" target="_blank"&gt;Romeo&lt;/a&gt;) e che è un onore star assieme a loro..
&lt;br /&gt;so che sono contento..
&lt;br /&gt;
&lt;br /&gt;In tutto ciò, ringrazio tanto mamma, babbo e benny.. tanto &lt;a href="http://www.dev4side.com" title="Miro Radenovic" target="_blank"&gt;Miro&lt;/a&gt;, tutti i ragazzi di casa e gli amici di sempre.. ringrazio quel "ciao" che con me faceva F5 sul blog di Alessandro.. ringrazio &lt;a href="http://blogs.technet.com/b/alead_msft/" title="Alessandro Teglia" target="_blank"&gt;Alessandro&lt;/a&gt; per la fiducia, tutti i ragazzi della &lt;a href="http://www.sharepointcommunity.it" title="SharePoint Community" target="_blank"&gt;SharePoint Community&lt;/a&gt;, i colleghi e tutti quelli che mi hanno accompagnato in quest'ultimo anno.
&lt;br /&gt;
&lt;br /&gt;Si, è proprio un bel giorno oggi ! :)
&lt;br /&gt;
&lt;br /&gt; 
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MVP.aspx" title="TAG: MVP"&gt;MVP&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MicrosoftSharePointMVP.aspx" /><issued>2010-7-1T17:59:4+01:00</issued><modified>2010-7-1T17:59:4+01:00</modified></entry><entry><title>Filtered Lookup Filed per SharePoint 2010</title><id>/Blog/FilteredLookupForSharePoint2010.aspx</id><created>2010-6-25T14:45:20+01:00</created><content type="text/html" mode="escaped">Tutti voi conoscerete sicuramente l'ottimo progetto &lt;a href="http://filteredlookup.codeplex.com/" title="SharePoint Filtered Lookup Field" target="_blank"&gt;"SharePoint Filtered Lookup Field"&lt;/a&gt; disponibile su codeplex per Windows SharePoint Services 3.0 e MOSS 2007.
&lt;br /&gt;Ecco, ultimamente mi servivano le stesse funzionalità però su un'installazione SharePoint 2010 ed ho effettuato il porting di tale progetto in modo da farlo funzionare anche nella nuova versione del prodotto di collaborazione Microsoft.
&lt;br /&gt;Ed ecco il risultato: un nuovo progetto codeplex per rendere disponibile a tutti questo porting !
&lt;br /&gt;&lt;a href="http://sp2010filteredlookup.codeplex.com/" title="SharePoint 2010 Filtered Lookup Field" target="_blank"&gt;http://sp2010filteredlookup.codeplex.com/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Le caratteristiche del campo restano sempre le stesse:&lt;ul&gt;&lt;li&gt;possibilità di recuperare dati da liste presenti su siti diversi da quello corrente&lt;/li&gt;&lt;li&gt;possibilità di filtrare i dati da visualizzare attraverso una query CAML&lt;/li&gt;&lt;li&gt;Possibilità di filtrare i dati da visualizzare selezionando una vista&lt;/li&gt;&lt;li&gt;supporto per la scelta multipla di elementi&lt;/li&gt;&lt;/ul&gt;Il tutto in un campo del tutto simile al normale campo di tipo lookup di SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;Avete quindi la possibilità di aggiungere una colonna di questo tipo su qualsiasi lista o document library SharePoint 2010 tramite l'interfaccia grafica.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/filteredLookup.jpg" alt="SharePoint 2010 Filtered Lookup Field" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Di filtrare i dati recuperati in fase di lookup, tramite una query CAML.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/filteredLookup2.jpg" alt=SharePoint 2010 Filtered Lookup Field"" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Di filtrare i dati recuperati in fase di lookup, tramite l'utilizzo delle viste.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/filteredLookup3.jpg" alt="SharePoint 2010 Filtered Lookup Field" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Spero che possa essere utile a qualcuno.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Filtered lookup.aspx" title="TAG: Filtered lookup"&gt;Filtered lookup&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/FilteredLookupForSharePoint2010.aspx" /><issued>2010-6-25T14:45:20+01:00</issued><modified>2010-6-25T14:45:20+01:00</modified></entry><entry><title>Sono disponibili gli esami di certificazione per SharePoint 2010</title><id>/Blog/AvailableCertificationExamsOnSharePoint2010.aspx</id><created>2010-6-23T17:20:40+01:00</created><content type="text/html" mode="escaped">Sono stati pubblicati sul sito Microsft Learning, gli esami relativi a SharePoint 2010.
&lt;br /&gt;Questa volta, non c'è differenza tra la parte base (Foundation) e la completa (Server), come c'era per WSS/MOSS, ma abbiamo due esami per sviluppatori e due per professionisti IT.
&lt;br /&gt;Eccoli nel dettaglio:
&lt;br /&gt;
&lt;br /&gt;- Exam 70-573: TS: Microsoft SharePoint 2010, Application Development 
&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-573" title="Exam 70-573: TS: Microsoft SharePoint 2010, Application Development" target="_blank"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-573&lt;/a&gt; 
&lt;br /&gt;
&lt;br /&gt;- Exam 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications
&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-576" title="Exam 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications" target="_blank"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-576&lt;/a&gt; 
&lt;br /&gt;
&lt;br /&gt;- Exam 70-667: TS: Microsoft SharePoint 2010, Configuring 
&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-667" title="Exam 70-667: TS: Microsoft SharePoint 2010, Configuring" target="_blank"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-667&lt;/a&gt; 
&lt;br /&gt;
&lt;br /&gt;- Exam 70-668: PRO: Microsoft SharePoint 2010, Administrator 
&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-668" title="Exam 70-668: PRO: Microsoft SharePoint 2010, Administrator" target="_blank"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-668&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buon studio a tutti ! :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Certifications.aspx" title="TAG: Certifications"&gt;Certifications&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AvailableCertificationExamsOnSharePoint2010.aspx" /><issued>2010-6-23T17:20:40+01:00</issued><modified>2010-6-23T17:20:40+01:00</modified></entry><entry><title>Come scrivere un event handler che effettua un redirect in SharePoint 2010</title><id>/Blog/ModificationToSPEventReceiverStatusClassInSharePoint2010ToRedirect.aspx</id><created>2010-6-22T9:40:15+01:00</created><content type="text/html" mode="escaped">Il modello ad oggetti di SharePoint 2010 vede una novità per quanto riguarda la classe SPEventReceiverStatus. Tale classe definisce lo stato di un event handler e permette di scegliere se la sua computazione deve continuare, se deve stopparsi lasciando all'utente un errore o se deve stopparsi "in silenzio" diciamo, quindi senza eseguire alcuna operazione sull'interfaccia grafica.
&lt;br /&gt;Oltre a questi comportamenti, nella nuova versione del prodotto di collaborazione Microsoft, è stato aggiunto quello di poter decidere di stoppare l'evento e redirezionare l'utente su una particolare pagina (diversa quindi dalla solita pagina "errors.aspx"), così da offrire una grafica personalizzata per il messaggio d'errore o per qualsiasi altro tipo di personalizzazione. 
&lt;br /&gt;Questo comportamento è definito dal valore CancelWithRedirectUrl e, come per gli altri, può essere utilizzato solamente all'interno di eventi di tipo sincroni (quindi tutti quelli che finiscono con "ing", per intenderci), che sono gli unici la cui computazione può essere stoppata.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/SPEventReceiverStatus.jpg" alt="Enum SPEventReceiverStatus" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Vediamo quindi, che all'interno di un gestore d'evento di tipo ItemDeleting, possiamo scegliere di stoppare la cancellazione dell'elemento (proprio come abbiamo sempre fatto in MOSS 2007) e redirezionare l'utente su una pagina d'errore personalizzata.
&lt;br /&gt;Per farlo, dobbiamo settare le proprietà Status e RedirectUrl della classe SPItemEventReceiver:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;namespace&lt;/span&gt; PeppeDotNet.SP2010.RedirectEventReceiver
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;class&lt;/span&gt; RedirectReceiver : SPItemEventReceiver
&lt;br /&gt;    {
&lt;br /&gt;       &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; ItemDeleting(SPItemEventProperties properties)
&lt;br /&gt;       {
&lt;br /&gt;           &lt;span style="color: #0000FF"&gt;base&lt;/span&gt;.ItemDeleting(properties);
&lt;br /&gt;           properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
&lt;br /&gt;           properties.RedirectUrl = &lt;span style="color: #A31515"&gt;"/_layouts/PeppeDotNet.SP2010/DeleteMessage.aspx"&lt;/span&gt;;
&lt;br /&gt;       }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo esempio, con due righe di codice è stato possibile effettuare un redirect su una application page custom, posta sotto la directory "LAYOUTS". Su questa pagina è stato inserito il testo d'errore personalizzato e un pulsante per ritornare alla pagina chiamante (che utilizza il valore preso dalla querystring "Source", valore inserito in automatico dall'handler una volta che effettua il redirect).
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="Main"&lt;/span&gt; ContentPlaceHolderID&lt;span style='color:#0000FF'&gt;="PlaceHolderMain"&lt;/span&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;You cannot delete this element ! why ?&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;br&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;Visit &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;a&lt;/span&gt;&lt;span style='color:#FF0000'&gt; href&lt;span style='color:#0000FF'&gt;="http://www.peppedotnet.it"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;www.peppedotnet.it&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;a&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; first.. :)
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;br&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;br&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;a&lt;/span&gt;&lt;span style='color:#FF0000'&gt; href='&lt;%= Request.QueryString["Source"] %&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;'&gt;Go back&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;a&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="PageTitle"&lt;/span&gt; ContentPlaceHolderID&lt;span style='color:#0000FF'&gt;="PlaceHolderPageTitle"&lt;/span&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;ERROR
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="PageTitleInTitleArea"&lt;/span&gt; ContentPlaceHolderID&lt;span style='color:#0000FF'&gt;="PlaceHolderPageTitleInTitleArea"&lt;/span&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;ERROR
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Ed ecco il risultato:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/SPEventReceiverStatus1.jpg" alt="Cancellazione di un elemento" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/images/2010/SPEventReceiverStatus2.jpg" alt="Pagina d'errore custom" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Così facendo, possiamo effettuare delle azioni custom a fronte di una delle operazioni che l'utente finale può fare sugli elementi di una lista SharePoint 2010 ed effettuare un redirect su un secondo contesto personalizzato.
&lt;br /&gt;In MOSS 2007 era possibile, con qualche trucco, effettuare un redirect all'interno di un event handler, ma così come l'han fatto è decisamente molto ma molto più pulito.
&lt;br /&gt;Forte no ? :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Server 2010.aspx" title="TAG: SharePoint Server 2010"&gt;SharePoint Server 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Event handler.aspx" title="TAG: Event handler"&gt;Event handler&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ModificationToSPEventReceiverStatusClassInSharePoint2010ToRedirect.aspx" /><issued>2010-6-22T9:40:15+01:00</issued><modified>2010-6-22T9:40:15+01:00</modified></entry><entry><title>Che fine ha fatto il link alla DispForm ?</title><id>/Blog/HowToCorrectNoDisplayFormLinkIntoSharePointList.aspx</id><created>2010-6-19T15:28:39+01:00</created><content type="text/html" mode="escaped">E' già la seconda volta che mi capita..
&lt;br /&gt;Praticamente a fronte di una modifica del contenuto della DispForm.aspx di una normale lista SharePoint (modifica effettuata sia tramite SharePoint Designer 2007 che tramite interfaccia) mi è capitato che il link renderizzato nel campo Title di una lista SharePoint per raggiungere il dettaglio di un singolo elemento sparisse dalla visualizzazione. O meglio, il valore del campo Title è sempre rimasto, ma il collegamento alla pagina DispForm portava invece al sito di root della nostra site collection:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;http://ROOTSITE/?ID=1&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In entrambi i casi, avevo tolto la web part di default (senza nasconderla) e l'avevo sostituita con altre web part.
&lt;br /&gt;
&lt;br /&gt;Per prima cosa ho controllato i valori presenti nel tab "Supporting Files" dalla finestra delle proprietà della mia lista aperta da SharePoint Designer. In effetti, era andato perso proprio il link alla pagina DispForm.aspx (sia per elementi che per folder) ed ho quindi provveduto a re-inserire a mano.
&lt;br /&gt;Fatto questo, provo un F5, ma niente.
&lt;br /&gt;
&lt;br /&gt;Così provo a resettare la mia DispForm.aspx alla versione originale data dalla propria list definition.
&lt;br /&gt;Un altro F5 e sempre niente.
&lt;br /&gt;
&lt;br /&gt;Ho provato anche a dare un'occhiata tramite il modello ad oggetti (utilizzando le classi SPForm e SPFormCollection) con il risultato che la lista in questione aveva solamente due form configurate (la edit e la new) e che non mi era possibile in alcun modo modificarne gli elementi (magari per aggiungere proprio il riferimento alla mia disp form).
&lt;br /&gt;
&lt;br /&gt;Nessun tentativo andava a buon fine, fin quando non ho reinserito all'interno della pagina una web part di tipo "ListFormWebPart" (copiandola da un altra lista) e lo configurata in modo tale da renderizzare il dettaglio degli elementi della lista in questione (inserendo i valori corretti per i campi ControlMode e Listname e cancellando i campi ID e ConnectionID, in modo tale da fargli rigenerare da SharePoint Designer).
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;WebPartPages:ListFormWebPart&lt;/span&gt;&lt;span style='color:#FF0000'&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt; __MarkupType&lt;span style='color:#0000FF'&gt;="xmlmarkup"&lt;/span&gt; WebPart&lt;span style='color:#0000FF'&gt;="true"&lt;/span&gt;&lt;br /&gt;__WebPartId&lt;span style='color:#0000FF'&gt;="{2777F0BE-DF5A-4D9C-8FE5-6E10C9D605DA}"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;WebPart&lt;/span&gt;&lt;span style='color:#FF0000'&gt;&lt;br /&gt;xmlns:xsi&lt;span style='color:#0000FF'&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;br /&gt;xmlns:xsd&lt;span style='color:#0000FF'&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Title&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Outflow generating contracts&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Title&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;FrameType&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Default&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;FrameType&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Description&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;IsIncluded&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;IsIncluded&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;PartOrder&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;1&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;PartOrder&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;FrameState&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Normal&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;FrameState&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Height&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Width&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowRemove&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowRemove&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowZoneChange&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowZoneChange&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowMinimize&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowMinimize&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowConnect&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowConnect&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowEdit&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowEdit&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowHide&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AllowHide&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;IsVisible&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;IsVisible&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;DetailLink&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;HelpLink&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;HelpMode&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Modeless&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;HelpMode&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Dir&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Default&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Dir&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;PartImageSmall&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;MissingAssembly&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Cannot import this Web Part.&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;MissingAssembly&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;PartImageLarge&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;IsIncludedFilter&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ExportControlledProperties&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;true&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ExportControlledProperties&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ListName&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;{B677C77F-C25B-4962-A632-DC67877DB8AB}&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ListName&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ListItemId&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;0&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ListItemId&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ControlMode&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;Display&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ControlMode&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;TemplateName&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;ListForm&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;TemplateName&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;FormType&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;4&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;FormType&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ViewFlag&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/WebPart/v2/ListForm"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;1048576&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ViewFlag&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;WebPart&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;WebPartPages:ListFormWebPart&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Una volta reinserita questa web part, magicamente in tutte le viste della mia lista è riapparso il link corretto alla pagina DispForm.aspx sulla colonna Title.
&lt;br /&gt;Quindi, quando modificate una form di una lista SharePoint e volete togliere la web part di tipo ListFormWebPart, io vi consiglio di nasconderla, così evitate errori del genere !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Designer.aspx" title="TAG: SharePoint Designer"&gt;SharePoint Designer&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToCorrectNoDisplayFormLinkIntoSharePointList.aspx" /><issued>2010-6-19T15:28:39+01:00</issued><modified>2010-6-19T15:28:39+01:00</modified></entry><entry><title>Come installare i VSeWSS su Windows XP o Vista</title><id>/Blog/HowToInstallVSeWSSOnWindowsXpOrWindowsVista.aspx</id><created>2010-6-12T17:4:49+01:00</created><content type="text/html" mode="escaped">Se provate a scaricare ed installare i tools di sviluppo per WSS 3.0 (VSeWSS) sulla vostra macchina Windows XP o Windows Vista, la procedura di installazione si fermerà subito con un errore. Questo perchè, e lo sapete bene, non è possibile installare WSS 3.0 su questi sistemi operativi e senza WSS i tools di sviluppo non possono essere utilizzati.
&lt;br /&gt;L'errore in questione ha la seguente dicitura:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;This product can only be installed if Windows SharePoint Services 3.0 has been installed first&lt;/div&gt;
&lt;br /&gt;che potete vedere anche in questa figura.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/InstallVSeWSS/ErrorTheProductCanBeOnlyInstalledWithWSS.jpg" alt="This product can only be installed if Windows SharePoint Services 3.0 has been installed first" /&gt;
&lt;br /&gt;
&lt;br /&gt;In questo caso però, c'è una via che ci permette comunque di utilizzare i VSeWSS sopra un sistema operativo in cui non è installato (o installabile) SharePoint. Vi devo avvisare però che questa, è TOTALMENTE NON SUPPORTATA da Microsoft.
&lt;br /&gt;Detto questo, si tratta semplicemente di aggiungere una nuova chiave di registro (chiamata "SharePoint") di tipo stringa e di valorizzarla con il valore "Installed". Così facendo, la procedura di installazione andrà a buon fine e potrete utilizzare i template offerti da tools di sviluppo di WSS 3.0 all'interno della vostra macchina Windows XP (o Vista).
&lt;br /&gt;La chiave, va aggiunta al seguente percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/InstallVSeWSS/00.jpg" alt="Creazione della chiave di registro" /&gt;
&lt;br /&gt;
&lt;br /&gt;Le uniche cose che dovrete fare a mano saranno comunque quella di aggiungere le referenze alle librerie del modello ad oggetti di SharePoint e di effettuare il deployment delle vostre personalizzazioni sulla macchina server in cui è installato Windows SharePoint Services 3.0 o MOSS 2007.
&lt;br /&gt;
&lt;br /&gt;Vi ricordo che questa procedura NON E' SUPPORTATA da Microsoft.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/VSeWSS.aspx" title="TAG: VSeWSS"&gt;VSeWSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInstallVSeWSSOnWindowsXpOrWindowsVista.aspx" /><issued>2010-6-12T17:4:49+01:00</issued><modified>2010-6-12T17:4:49+01:00</modified></entry><entry><title>Le API di SharePoint per il la migrazione e il deployment dei contenuti</title><id>/Blog/SharePointAPIforContentDeploymentAndMigrations.aspx</id><created>2010-6-9T16:47:39+01:00</created><content type="text/html" mode="escaped">Nella versione 3.0 di Windows SharePoint Services sono state introdotte delle particolari API utili al deployment e alla migrazione dei contenuti tra siti SharePoint (anche di farm differenti, in quanto il processo di esportazione e importazione dei contenuti si basa sulla creazione di file fisici sul file system).
&lt;br /&gt;Queste API vengono utilizzare da SharePoint stesso in tutti questi ambiti:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;operazioni di export e import nell'utility STSADM&lt;/li&gt;&lt;li&gt;tool di migrazione da MCMS 2002&lt;/li&gt;&lt;li&gt;operazioni di muovi e copia nell'utility Site Manager&lt;/li&gt;&lt;li&gt;utilizzo delle "variations"&lt;/li&gt;&lt;/ul&gt;Inserendo la referenza alla libreria Microsoft.SharePoint.dll ed utilizzando le classi del namespace Microsoft.SharePoint.Deployment abbiamo la possibilità di utilizzare queste funzionalità all'interno delle nostre applicazione custom e di effettuare operazioni di deployment o migrazioni di dati personalizzate.
&lt;br /&gt;Le classi cui dobbiamo far riferimento sono le seguenti:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SPExport - controlla il processo di esportazione dei contenuti&lt;/li&gt;&lt;li&gt;SPExportSettings - utilizzata per configurare il processo di esportazione dei contenuti&lt;/li&gt;&lt;li&gt;SPImport - controlla il processo di importazione dei contenuti&lt;/li&gt;&lt;li&gt;SPImportSettings - utilizzata per configurare il processo di importazione dei contenuti&lt;/li&gt;&lt;/ul&gt;Come usare queste classi, per esempio, per spostare un sito SharePoint da una web applicatinon all'altra ? Ecco qua:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite sourceSite = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://SharePoint:81/"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (sourceSite)
&lt;br /&gt;{
&lt;br /&gt;    SPWeb sourceWeb = sourceSite.OpenWeb(&lt;span style="color: #A31515"&gt;"/SiteToMove/"&lt;/span&gt;);
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (sourceWeb)
&lt;br /&gt;    {
&lt;br /&gt;        SPExportObject exportObject = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPExportObject();
&lt;br /&gt;        exportObject.Id = sourceWeb.ID;
&lt;br /&gt;        exportObject.IncludeDescendants = SPIncludeDescendants.All;
&lt;br /&gt;        exportObject.Type = SPDeploymentObjectType.Web;
&lt;br /&gt;
&lt;br /&gt;        SPExportSettings exportSettings = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPExportSettings();
&lt;br /&gt;        exportSettings.SiteUrl = &lt;span style="color: #A31515"&gt;"http://SharePoint:81/"&lt;/span&gt;;
&lt;br /&gt;        exportSettings.ExportMethod = SPExportMethodType.ExportAll;
&lt;br /&gt;        exportSettings.FileLocation = @&lt;span style="color: #A31515"&gt;"C:\export"&lt;/span&gt;;
&lt;br /&gt;        exportSettings.FileCompression = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;        exportSettings.ExcludeDependencies = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;        exportSettings.IncludeSecurity = SPIncludeSecurity.All;
&lt;br /&gt;        exportSettings.ExportObjects.Add(exportObject);
&lt;br /&gt;
&lt;br /&gt;        SPExport export = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPExport(exportSettings);
&lt;br /&gt;        export.Run();
&lt;br /&gt;    }
&lt;br /&gt;}
&lt;br /&gt;Console.WriteLine(&lt;span style="color: #A31515"&gt;"Export completato"&lt;/span&gt;);
&lt;br /&gt;
&lt;br /&gt;SPSite destinationSite = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://SharePoint:82/"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (destinationSite)
&lt;br /&gt;{
&lt;br /&gt;    SPWebApplication webApp = destinationSite.WebApplication;
&lt;br /&gt;
&lt;br /&gt;    webApp.FormDigestSettings.Enabled = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;
&lt;br /&gt;    SPImportSettings importSettings = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPImportSettings();
&lt;br /&gt;    importSettings.SiteUrl = &lt;span style="color: #A31515"&gt;"http://SharePoint:82/"&lt;/span&gt;;
&lt;br /&gt;    importSettings.WebUrl = &lt;span style="color: #A31515"&gt;"http://SharePoint:82/"&lt;/span&gt;;
&lt;br /&gt;    importSettings.LogFilePath = Path.Combine(Environment.CurrentDirectory, &lt;span style="color: #A31515"&gt;"log.txt"&lt;/span&gt;);
&lt;br /&gt;    importSettings.FileLocation = @&lt;span style="color: #A31515"&gt;"C:\export"&lt;/span&gt;;
&lt;br /&gt;    importSettings.FileCompression = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;    importSettings.RetainObjectIdentity = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;    importSettings.CommandLineVerbose = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;    importSettings.IncludeSecurity = SPIncludeSecurity.All;
&lt;br /&gt;    importSettings.UserInfoDateTime = SPImportUserInfoDateTimeOption.ImportAll;
&lt;br /&gt;
&lt;br /&gt;    SPImport import = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPImport(importSettings);
&lt;br /&gt;    import.Run();
&lt;br /&gt;
&lt;br /&gt;    webApp.FormDigestSettings.Enabled = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;}
&lt;br /&gt;Console.WriteLine(&lt;span style="color: #A31515"&gt;"Import completato"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Da questo esempio, possiamo vedere che abbiamo la possibilità di decidere se esportare e importare i permessi utente o se tralasciarli (valorizzando la proprietà IncludeSecurity), possiamo decidere se comprimere o meno i file di esportazione (valorizzando la proprietà FileCompression) e di mantenere o meno gli identificativi di partenza per ogni oggetto che stiamo per migrare (valorizzando la proprietà RetainObjectIdentity).
&lt;br /&gt;Infine, abilitando la visualizzazione dei log in modalità verbosa, possiamo vedere tutto ciò che non è stato importato, eventuali warning e tutti i contenuti che invece sono stati correttamente importati.
&lt;br /&gt;
&lt;br /&gt;E' sempre tramite queste API che sono stati sviluppati la maggiorparte dei prodotti di amministrazione di SharePoint tutt'ora in commercio.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointAPIforContentDeploymentAndMigrations.aspx" /><issued>2010-6-9T16:47:39+01:00</issued><modified>2010-6-9T16:47:39+01:00</modified></entry><entry><title>Come abilitare la Quick Launch Bar in Web Part Page e Basic Page</title><id>/Blog/HowToEnableQuickLaunchBarInWebPartPagesAndBasicPages.aspx</id><created>2010-6-8T20:44:41+01:00</created><content type="text/html" mode="escaped">In WSS 3.0 (o MOSS 2007) quando si crea una pagina di tipo Web Part Page o Basic Page non viene visualizzato il menu laterale solito di ogni sito SharePoint. Il menu in questione è la cosiddetta Quick Launch Bar.
&lt;br /&gt;Beh, molto spesso può servire invece di visualizzare comunque tale menu in pagine di questo tipo, per permettere all'utente di ritrovarsi la medesima struttura di navigazione contestuale al sito che sta visualizzando.
&lt;br /&gt;Per farlo, basta modificare la pagina con SharePoint Designer ed eliminare questo elemento di tipo Content:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ContentPlaceHolderId&lt;span style='color:#0000FF'&gt;="PlaceHolderLeftNavBar"&lt;/span&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;asp:Content&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In pratica, la presenza di questo elemento sovrascrive quanto presente nella master page di default di SharePoint e quindi niente più Quick Launch Bar.
&lt;br /&gt;Togliendolo dalla nostra Web Part Page (o da una Basic Page) verrà renderizzato invece il contenuto definito a livello di master page.
&lt;br /&gt;
&lt;br /&gt;Se vogliamo applicare questa modifica definitivamente per tutte le Web Part Page o Basic Page della nostra farm SharePoint, dobbiamo modificare i file con estensione .ASPX, presenti ai seguenti percorsi:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;- Web Part Pages:&lt;/span&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\&lt;LCID&gt;\STS\DOCTEMP\SMARTPGS&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;- Basic Pages:&lt;/span&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\&lt;LCID&gt;\STS\DOCTEMP\BLANKPGS&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToEnableQuickLaunchBarInWebPartPagesAndBasicPages.aspx" /><issued>2010-6-8T20:44:41+01:00</issued><modified>2010-6-8T20:44:41+01:00</modified></entry><entry><title>Screencast: list item custom action con SharePoint Designer 2010</title><id>/Blog/ScreencastListItemCustomActionWithSharePointDesigner2010.aspx</id><created>2010-6-2T17:51:54+01:00</created><content type="text/html" mode="escaped">Una delle nuove funzionalità di SharePoint Designer 2010 è quella di permettere la creazione di custom action (o ribbon) direttamente su un'istanza di lista ed associare a tale azione un indirizzo personalizzato.
&lt;br /&gt;Nella versione 2007 di SharePoint, per la creazione di un'azione personalizzata dovevamo creare una feature apposita e specificare lo scope per la nostra azione, se applicabile a tutte le liste, se a singole tipologie (tramite l'identificativo di una list definition) o se a singoli content type.
&lt;br /&gt;In SharePoint 2010 invece, possiamo legare azioni custom su singole liste già create all'interno dei nostri siti SharePoint, senza dover passare per la creazione della relativa feature.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Media/SPD2010_CustomAction.png" alt="Screencast: list item custom action con SharePoint Designer 2010" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per spiegare velocemente questa nuova funzionalità, ho registrato uno screencast che potete trovare &lt;a href="http://www.peppedotnet.it/Media/List%20item%20custom%20action%20con%20SharePoint%20Designer%202010.aspx" title="Screencast: list item custom action con SharePoint Designer 2010"&gt;all'interno della sezione "Media"&lt;/a&gt; di questo sito.
&lt;br /&gt;Buona visione.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Designer.aspx" title="TAG: SharePoint Designer"&gt;SharePoint Designer&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ScreencastListItemCustomActionWithSharePointDesigner2010.aspx" /><issued>2010-6-2T17:51:54+01:00</issued><modified>2010-6-2T17:51:54+01:00</modified></entry><entry><title>Sono su Planet-SharePoint</title><id>/Blog/NowImOnPlanetSharePoint.aspx</id><created>2010-6-2T14:53:21+01:00</created><content type="text/html" mode="escaped">&lt;a href="http://www.planetsharepoint.org/" title="Planet-SharePoint" target="_blank"&gt;Planet-SharePoint&lt;/a&gt; è un portale che mette assieme parecchi blog su SharePoint scritti da tutto il mondo. E' veramente una bella pensata, perchè all'interno di un solo sito possiamo trovare tantissime informazioni tecniche o meno su SharePoint, senza doversele cercare su qualche motore di ricerca.
&lt;br /&gt;Ecco.. da circa una settimana ormai ci sono finito dentro anche io :)
&lt;br /&gt;
&lt;br /&gt;Questo il link:
&lt;br /&gt;&lt;a href="http://www.planetsharepoint.org/profiles/giuseppe-marchi" title="PeppeDotNet on PlanetSharePoint" target="_blank"&gt;http://www.planetsharepoint.org/profiles/giuseppe-marchi&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Per chi già segue questo sito non c'è nulla di nuovo mi spiace.. ma per tutti quelli che cercano informazioni su SharePoint e dintorni, diciamo che ora do anch'io il mio piccolo contributo.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/NowImOnPlanetSharePoint.aspx" /><issued>2010-6-2T14:53:21+01:00</issued><modified>2010-6-2T14:53:21+01:00</modified></entry><entry><title>Come recuperare la versione di SharePoint tramite codice</title><id>/Blog/HowToGetSharePointVersionProgrammatically.aspx</id><created>2010-6-1T14:18:45+01:00</created><content type="text/html" mode="escaped">Sicuramente non è un task che vi potete trovare di fronte nel lavoro di tutti i giorni, ma magari a qualcuno può essere utile.
&lt;br /&gt;La versione della propria intstallazione SharePoint, tramite interfaccia grafica, è visibile seguendo questo percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;Central Administration &gt; Operations &gt; Servers &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; Farm&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Può capitare però, di dover controllare il numero di versione di SharePoint all'interno di una propria personalizzazione, magari per abilitare o meno delle feature in base all'installazione di qualche service pack o di qualche particolare hotfix.
&lt;br /&gt;Per farlo, possiamo utilizzare le classi del namespace System.Data.SqlClient ed eseguire la seguente query:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SELECT Version, UserName
&lt;br /&gt;FROM Versions
&lt;br /&gt;WHERE VersionId = '00000000-0000-0000-0000-000000000000'
&lt;br /&gt;ORDER BY Id DESC&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;sul database di contenuto della Central Administration.
&lt;br /&gt;
&lt;br /&gt;Altrimenti, possiamo utilizzare il modello ad oggetti in questo modo:
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;System.Version v = SPFarm.Local.BuildVersion;
&lt;br /&gt;System.Version WssSP1v = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Version(&lt;span style="color: #A31515"&gt;"12.0.0.6219"&lt;/span&gt;);
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (v &gt;= WssSP1v)
&lt;br /&gt;    &lt;span style="color: #008200"&gt;//SP2 installed&lt;/span&gt;
&lt;span style="color: #0000FF"&gt;else&lt;/span&gt;
&lt;br /&gt;    &lt;span style="color: #008200"&gt;//SP2 NOT installed&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Così possiamo essere ancora più sicuri quando redistribuiamo le nostre customizzazioni su ambiente SharePoint.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToGetSharePointVersionProgrammatically.aspx" /><issued>2010-6-1T14:18:45+01:00</issued><modified>2010-6-1T14:18:45+01:00</modified></entry><entry><title>Cosa fare se SharePoint ti permette di caricare solo file NON superiori a circa 30 MB</title><id>/Blog/HowToIncreaseMaxFileSizeOver28MbUploadOnSharePoint.aspx</id><created>2010-5-30T9:34:34+01:00</created><content type="text/html" mode="escaped">Se utilizzate Windows SharePoint Services 3.0 o MOSS 2007 su delle macchine Windows Server 2008 (con IIS 7 ovviamente), potreste incappare nell'impossibilità di caricare all'interno delle vostre document library, file più grossi di circa 30 MB.
&lt;br /&gt;Eppure il limite massimo di upload settato di default è di 50 mb direte voi.. e avete anche ragione !
&lt;br /&gt;Si tratta però di un errore di configurazione noto, completo di articolo nella KB.
&lt;br /&gt;I sintomi per riscontrare questo comportamento sono i seguenti:
&lt;br /&gt;
&lt;br /&gt;- quando cercate di caricare un singolo file all'interno di una document library tramite interfaccia, verrete ridirezionati sulla pagina di errore 404.
&lt;br /&gt;- quando cercate di caricare più file, tramite la pagina di caricamento multiplo, inizialmente l'operazione sembrerà andare a buon fine, ma poi vi accorgerete che non verrà caricato nessun file.
&lt;br /&gt;- quando cercate di inserire un singolo file tramite l'explorer view di una document library, il sistema operativo vi da un'errore di scrittura.
&lt;br /&gt;
&lt;br /&gt;Per ovviare a questo problema, non c'è modo se non quello descritto da questo articolo della KB Microsoft:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/944981/en-us" target="_blank" title="You cannot upload files that are larger than 28 MB on a Windows Server 2008-based computer that is running Windows SharePoint Services 3.0"&gt;http://support.microsoft.com/kb/944981/en-us&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Praticamente, si tratta di modificare il file web.config della propria web application ed aggiungere in fondo la sezione:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;system.webServer&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;  &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;security&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;requestFiltering&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;requestLimits&lt;/span&gt;&lt;span style='color:#FF0000'&gt; maxAllowedContentLength&lt;span style='color:#0000FF'&gt;="52428800"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;requestFiltering&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;  &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;security&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;system.webServer&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Se volete invece, alzare la soglia massimo di upload della vostra web application SharePoint, oltre a modificarne i settaggi all'interno della Central Administration, dovete seguire i passi descritti qui:
&lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/joelo/archive/2007/06/27/file-name-length-size-and-invalid-character-restrictions-and-recommendations.aspx" title="File Name, Length, Size and Invalid Character Restrictions and Recommendations" target="_blank"&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToIncreaseMaxFileSizeOver28MbUploadOnSharePoint.aspx" /><issued>2010-5-30T9:34:34+01:00</issued><modified>2010-5-30T9:34:34+01:00</modified></entry><entry><title>Errore: &quot;There has been an error while loading the form&quot;</title><id>/Blog/SharePointErrorThereHasBeenAnErrorWhileLoadingTheForm.aspx</id><created>2010-5-26T17:50:21+01:00</created><content type="text/html" mode="escaped">Oggi, un paio di utenti hanno iniziato a segnalarmi un errore sull'Approval Workflow di MOSS 2007.
&lt;br /&gt;L'errore veniva fuori ad intermittenza sulle form di approvazione di un workflow di tipo "Approval Workflow" su una farm MOSS 2007 aggiornata al Service Pack 2.
&lt;br /&gt;In particolare, veniva visualizzato il seguente messaggio:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px; font-style: italic"&gt;There has been an error while loading the form. A required resource could not be downloaded. To try to resume the download, refresh the page.&lt;/div&gt;
&lt;br /&gt;All'interno del log di SharePoint (se abilitata la modalità verbosa) è possibile vedere utleriori dettagli sull'errore, che però non ci dicono tanto.
&lt;br /&gt;
&lt;br /&gt;Come risolvere ? Eliminando i file temporanei di Internet Explorer ! :)
&lt;br /&gt;Infatti su Firefox non si era mai verificato.
&lt;br /&gt;
&lt;br /&gt;Magari a qualcuno torna utile.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Approval Workflow.aspx" title="TAG: Approval Workflow"&gt;Approval Workflow&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Form server.aspx" title="TAG: Form server"&gt;Form server&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointErrorThereHasBeenAnErrorWhileLoadingTheForm.aspx" /><issued>2010-5-26T17:50:21+01:00</issued><modified>2010-5-26T17:50:21+01:00</modified></entry><entry><title>Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)</title><id>/Blog/SharePointErrorGuidShouldContain32DigitsWith4Dashes.aspx</id><created>2010-5-15T12:2:43+01:00</created><content type="text/html" mode="escaped">In settimana sono incappato in questo errore cercando di modificare una pagina SharePoint 2007.
&lt;br /&gt;Praticamente, dopo aver copiato del contenuto all'interno dell'editor RTF di una Content Editor Web Part preso da una web part dello stesso tipo posta in una seconda pagina e dopo aver salvato la pagina, cercando di rimodificarla molti dei menu delle web part presenti nella pagina non venivano nemmeno aperti (venivano scatenati degli errori javascript che non sto a riportarvi, perchè del tutto forvianti) e, in quelle poche web part che permettevano la modifica delle proprietà, quando si cercava di salvare le modifiche fatte la pagina andava in errore.
&lt;br /&gt;Stesso errore veniva scatenato anche se cercavo di spostare una web part da una zona all'altra.
&lt;br /&gt;Più preceisamente, l'errore era il seguente:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). 
&lt;br /&gt;
&lt;br /&gt;Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
&lt;br /&gt;
&lt;br /&gt;Exception Details: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
&lt;br /&gt;
&lt;br /&gt;Source Error: 
&lt;br /&gt;
&lt;br /&gt;An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  
&lt;br /&gt;
&lt;br /&gt;Stack Trace: 
&lt;br /&gt;
&lt;br /&gt;[FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).]
&lt;br /&gt;   System.Guid..ctor(String g) +2957
&lt;br /&gt;   Microsoft.SharePoint.WebPartPages.SPWebPartManager.ApplyChangeList(String changeString) +1237
&lt;br /&gt;   Microsoft.SharePoint.WebPartPages.SPWebPartManager.OnLoad(EventArgs e) +712
&lt;br /&gt;   System.Web.UI.Control.LoadRecursive() +101
&lt;br /&gt;   System.Web.UI.Control.LoadRecursive() +211
&lt;br /&gt;   System.Web.UI.Control.LoadRecursive() +211
&lt;br /&gt;   System.Web.UI.Control.LoadRecursive() +211
&lt;br /&gt;   System.Web.UI.Control.LoadRecursive() +211
&lt;br /&gt;   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2588&lt;/div&gt;
&lt;br /&gt;Per ritornare alla situazione normale mi sono accorto che dovevo togliere la web part di tipo Content Editor, nella quale avevo copiato il contenuto ormai "sospetto", aggiungendo alla url la querystring "?contents=1".
&lt;br /&gt;Dico sospetto perchè mi sono accorto che durante la copia di tale contenuto, oltre a tutti i tag html utili per formattare testi e immagini, veniva riportato anche questo frammento di markup:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;DIV&lt;/span&gt;&lt;span style='color:#FF0000'&gt; id=WebPartWPQ5 class=ms-WPBody WebPartID&lt;span style='color:#0000FF'&gt;="52c5078f-88d5-4283-8095-e11b04fa7ce2"&lt;/span&gt; 
&lt;br /&gt;HasPers&lt;span style='color:#0000FF'&gt;="false"&lt;/span&gt; width&lt;span style='color:#0000FF'&gt;="100%"&lt;/span&gt; allowDelete&lt;span style='color:#0000FF'&gt;="false"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;..
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;DIV&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Ed è proprio questo div HTML che causava tutto il casino che vi ho descritto.
&lt;br /&gt;Togliendolo è ritornato tutto alla normalità. Quindi, quando copiate del contenuto all'interno dell'editor RTF di una Content Editor Web Part, state attenti al markup che vi portate dietro !!
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content Editor Web Part.aspx" title="TAG: Content Editor Web Part"&gt;Content Editor Web Part&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointErrorGuidShouldContain32DigitsWith4Dashes.aspx" /><issued>2010-5-15T12:2:43+01:00</issued><modified>2010-5-15T12:2:43+01:00</modified></entry><entry><title>Disponibili i language pack per SharePoint Server 2010 e SharePoint Foundation 2010</title><id>/Blog/SharePoint2010LanguagePackAvailable.aspx</id><created>2010-5-11T10:18:12+01:00</created><content type="text/html" mode="escaped">Sono finalmente disponibili i language pack per le versioni di SharePoint 2010.
&lt;br /&gt;Ecco i dettagli per il download:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=046f16a9-4bce-4149-8679-223755560d54" title="2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=046f16a9-4bce-4149-8679-223755560d54&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;Language Packs for SharePoint Foundation 2010&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=646e311a-aaf3-4d30-b03c-2f3c70d19a22" title="Language Packs for SharePoint Foundation 2010" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=646e311a-aaf3-4d30-b03c-2f3c70d19a22&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Per l'installazione, non c'è nulla di nuovo ne dalla versione 2007 ne dalla beta di 2010. Per chi si accinge per la prima volta ad installarli, consiglio di leggere la documentazione:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;Deploy language packs (SharePoint Server 2010)&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262108(office.14).aspx" title="Deploy language packs (SharePoint Server 2010)" target="_blank"&gt;http://technet.microsoft.com/en-us/library/cc262108(office.14).aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;Deploy language packs (SharePoint Foundation 2010)&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc288518(office.14).aspx" title="Deploy language packs (SharePoint Foundation 2010)&lt;/" target="_blank"&gt;http://technet.microsoft.com/en-us/library/cc288518(office.14).aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buon download !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Language Pack.aspx" title="TAG: Language Pack"&gt;Language Pack&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010LanguagePackAvailable.aspx" /><issued>2010-5-11T10:18:12+01:00</issued><modified>2010-5-11T10:18:12+01:00</modified></entry><entry><title>SharePoint 2010 Extensibility Projects</title><id>/Blog/SharePoint2010ExtensibilityProjects.aspx</id><created>2010-5-9T11:33:46+01:00</created><content type="text/html" mode="escaped">Microsoft ha rilasciato da poco, all'interno della &lt;a href="http://code.msdn.microsoft.com/" title="MSDN Code Gallery" target="_blank"&gt;MSDN Code Gallery&lt;/a&gt;, tre nuovi template di Visual Studio 2010 per lo sviluppo di personalizzazioni sulla nuova versione di SharePoint.
&lt;br /&gt;Utilizzando le nuove caratteristiche di estensione di Visual Studio, sono stati creati progetti per:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;creare una web part che funga da host per un'applicazione Silverlight (Silverlight Web Part Project Template)&lt;/li&gt;&lt;li&gt;creare ribbon o gruppi di ribbon da inserire nei propri siti SharePoint (Server Ribbon Project Item Template)&lt;/li&gt;&lt;li&gt;creare add-in a livello di documento (OBA Deployment Project Item Template)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Il link per il download è il seguente:
&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/vsixforsp" title="SharePoint 2010 Extensibility Projects" target="_blank"&gt;http://code.msdn.microsoft.com/vsixforsp&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Mentre in questi post, potete vedere i vari esempi di utilizzo dei tre template.
&lt;br /&gt;- &lt;a href="" target="_blank" title="Silverlight Web Part Project Template"&gt;Esempio: Silverlight Web Part Project Template&lt;/a&gt;
&lt;br /&gt;- &lt;a href="" target="_blank" title="Server Ribbon Project Item Template"&gt;Esempio: Server Ribbon Project Item Template&lt;/a&gt;
&lt;br /&gt;- &lt;a href="" target="_blank" title="OBA Deployment Project Item Template"&gt;Esempio: OBA Deployment Project Item Template&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Attualmente i template sono in versione beta.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Ribbon.aspx" title="TAG: Ribbon"&gt;Ribbon&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010ExtensibilityProjects.aspx" /><issued>2010-5-9T11:33:46+01:00</issued><modified>2010-5-9T11:33:46+01:00</modified></entry><entry><title>Come inserire dei link all'interno della lista &quot;My Links&quot; di SharePoint 2007</title><id>/Blog/HowToInsertLinksIntoSharePointMyLinksList.aspx</id><created>2010-5-4T16:30:22+01:00</created><content type="text/html" mode="escaped">La lista dei "my link" è abilitata a livello di Shared Service Provider, anche se non sono attiviti i siti personali all'interno della farm SharePoint, e ci permette di salvare link personali per una scelta rapida. Ma questo ormai lo sappiamo tutti, visto che è un concetto presente già da SharePoint 2003/WSS 2.
&lt;br /&gt;Attraverso l'utilizzo del modello ad oggetti e, in particolare, dei namespace Microsoft.Office.Server.UserProfiles e Microsoft.Office.Server abbiamo la gestione completa di tali link all'interno delle nostre personalizzazioni SharePoint.
&lt;br /&gt;Ecco, quindi, che possiamo creare applicazioni che inseriscono dei link all'interno della lista "my link" per l'utente corrente e all'interno della farm corrente, utilizzando il seguente codice:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #008200"&gt;//farm corrente&lt;/span&gt;
UserProfileManager userProfileManager = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; UserProfileManager(ServerContext.Current);
&lt;br /&gt;&lt;span style="color: #008200"&gt;//utente corrente&lt;/span&gt;
UserProfile currentUser = userProfileManager.GetUserProfile(&lt;span style="color: #0000FF"&gt;true&lt;/span&gt;);
&lt;br /&gt;QuickLinkManager quickLinkManager = currentUser.QuickLinks;
&lt;br /&gt;quickLinkManager.Create(&lt;span style="color: #A31515"&gt;"PeppeDotNet.it"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"http://www.peppedotnet.it"&lt;/span&gt;, QuickLinkGroupType.General, &lt;span style="color: #A31515"&gt;""&lt;/span&gt;, Privacy.Private);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;o che, per esempio, li modifichino o li cancellino:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt;(QuickLink link &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; quickLinkManager.GetItems(Privacy.Private))
&lt;br /&gt;{
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (link.Title == &lt;span style="color: #A31515"&gt;"PeppeDotNet.it"&lt;/span&gt;)
&lt;br /&gt;          link.Title = &lt;span style="color: #A31515"&gt;"Peppe the best"&lt;/span&gt;;
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;else&lt;/span&gt;
&lt;br /&gt;          link.Delete();
&lt;br /&gt;}
&lt;br /&gt;quickLinkManager.DeleteAll();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;L'utilizzo di queste classi, come vedete, è veramente semplice. Le uniche cose a cui porre attenzione sono le seguenti.
&lt;br /&gt;
&lt;br /&gt;1- Se vogliamo specificare una site collection, posta sotto il controllo di uno Shared Service Provider diverso da quello del contesto corrente, dobbiamo specificarla istanziando la classe SPSite e passarla come parametro alla classe ServerContext.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://moss/"&lt;/span&gt;);
&lt;br /&gt;ServerContext context = ServerContext.GetContext(site);                        
&lt;br /&gt;UserProfileManager userProfileManager = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; UserProfileManager(context);
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//..&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;2- Se vogliamo inserire, cancellare o modificare i link di un altro utente (diverso da quello corrente), dobbiamo utilzzare un'altra signature del metodo GetUserProfile, passando il login name dell'utente in questione come parametro principale.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #008200"&gt;//..&lt;/span&gt;

&lt;br /&gt;UserProfile user = userProfileManager.GetUserProfile(&lt;span style="color: #A31515"&gt;"PEPPEDOTNET\\peppe"&lt;/span&gt;);
&lt;br /&gt;QuickLinkManager quickLinkManager = user.QuickLinks;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//..&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;3- Se vogliamo inserire un nuovo link e spostarlo sotto una categoria personalizzata, dobbiamo usare il valore UserSpecified dell'enumerazione QuickLinkGroupType specificando anche il nome del gruppo, come quarto parametro del metodo Create. E' importante ricordarsi che questo parametro viene preso in considerazione solo le l'enumerazione di tipo QuickLinkGroupType ha valore UserSpecified, altrimenti viene proprio ignorato.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #008200"&gt;//..&lt;/span&gt;

&lt;br /&gt;QuickLinkManager quickLinkManager = currentUser.QuickLinks;
&lt;br /&gt;quickLinkManager.Create(&lt;span style="color: #A31515"&gt;"PeppeDotNet.it"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"http://www.peppedotnet.it"&lt;/span&gt;,
&lt;br /&gt;QuickLinkGroupType.UserSpecified, &lt;span style="color: #A31515"&gt;"Best SharePoint Sites"&lt;/span&gt;, Privacy.Public);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;4- &lt;span style="text-decoration: underline;"&gt;Se vogliamo modificare i link di un utente diverso dall'utenza corrente, dobbiamo eseguire il codice con privilegi di amministratore !&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/My links.aspx" title="TAG: My links"&gt;My links&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInsertLinksIntoSharePointMyLinksList.aspx" /><issued>2010-5-4T16:30:22+01:00</issued><modified>2010-5-4T16:30:22+01:00</modified></entry><entry><title>Come installare una farm SharePoint 2010 utilizzando un account locale</title><id>/Blog/HowToInstallaSharePoint2010FarmWithALocalAccount.aspx</id><created>2010-5-2T18:56:37+01:00</created><content type="text/html" mode="escaped">Di tanto in tanto, può capitare di dover installare SharePoint 2010 in una macchina fuori dominio e di aver bisogno di gestirne i database attraverso un'installazione di SQL Server Standard o Enterprise. Questo, è il caso in cui un'installazione di tipo standalone ci sta stretta, perchè si basa sulla versione Express di SQL.
&lt;br /&gt;Provando quindi ad installare SharePoint in modalità avanzata e iniziando la configurazione di una nuova farm, l'utility "SharePoint Products Configuration Wizard" ci ferma immediatamente dicendo che l'utenza con cui abbiamo deciso di far girare tutti i servizi di SharePoint e che si occuperà di accedere ai vari database è un account locale e che non è possibile creare una nuova farm utilizzando un account NON di dominio.
&lt;br /&gt;L'errore in questione è il seguente:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;The specified user [USER NAME] is a local account. Local accounts should only be used in stand alone mode&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/InstallLocalAccount/01.jpg" alt="The specified user [USER NAME] is a local account. Local accounts should only be used in stand alone mode" /&gt;
&lt;br /&gt;
&lt;br /&gt;Se ci pensiamo bene, SharePoint ha pienamente ragione, perchè una configurazione avanzata permette la creazione di una farm alla quale possiamo poi collegare altri server, magari per l'indicizzazione, l'invio delle mail o altro.. ed ovviamente, un account locale alla macchina in cui stiamo installando il prodotto non è in grado di "passare" tra una macchina e l'altra data la sua natura "local" (non è appartenente a nessun dominio).
&lt;br /&gt;Se, però, siamo sicuri che la nostra macchina sarà l'unica facente parte della farm SharePoint, abbiamo la possibilità di creare comunque la nostra farm, utilizzando Powershell.
&lt;br /&gt;
&lt;br /&gt;Il comando da lanciare è il comando "New-SPConfigurationDatabase", che chiederà come parametri di creazione il nome del database di configurazione, il nome del database server e l'utenza con cui accedere a questo database.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/InstallLocalAccount/03.jpg" alt="Il comando New-SPConfigurationDatabase" /&gt;
&lt;br /&gt;
&lt;br /&gt;La scelta dell'utente verrà fatta tramite la finestra di login di windows.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/InstallLocalAccount/02.jpg" alt="Finestra di inserimeto username e password per l account di servizio di SharePoint" /&gt;
&lt;br /&gt;
&lt;br /&gt;Così facendo, verrà creato un nuovo database di configurazione di SharePoint all'interno di SQL Server che sarà la base della nostra nuova farm. Infatti, avviando nuovamente l'utility "SharePoint Products Configuration Wizard", quest'ultima si accorgerà della presenza di una farm SharePoint e ci permetterà così di procedere con l'installazione del prodotto.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/InstallLocalAccount/04.jpg" alt="Farm creata" /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/InstallLocalAccount/05.jpg" alt="Configurazione della farm" /&gt;
&lt;br /&gt;
&lt;br /&gt;Fatto questo, abbiamo la nostra installazione di SharePoint 2010 in modalità avanzata, in una macchina a sé stante.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Powershell.aspx" title="TAG: Powershell"&gt;Powershell&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInstallaSharePoint2010FarmWithALocalAccount.aspx" /><issued>2010-5-2T18:56:37+01:00</issued><modified>2010-5-2T18:56:37+01:00</modified></entry><entry><title>SharePoint 2010 non supporta pi&#249; l'installazione standalone su un domain controller</title><id>/Blog/SharePoint2010DoesntSupportStandaloneInstallationOnDomainController.aspx</id><created>2010-4-26T18:21:28+01:00</created><content type="text/html" mode="escaped">Dalle prime installazioni della RTM di SharePoint 2010 arrivano le prime notizie..
&lt;br /&gt;Microsoft ha deciso di nascondere dall'interfaccia grafica dell'utility di installazione del prodotto, l'opzione di configurare SharePoint in modalità standalone da quelle macchine dove è già installato un Domain Controller, questo perchè SQL Server Express 2008 non è supportato in un Domain Controller.
&lt;br /&gt;Non supportato, ovviamente, non significa non funzionante :)
&lt;br /&gt;
&lt;br /&gt;Lanciando il setup da riga di comando, infatti, è possibile installare comunque la versione standalone di SharePoint 2010 su un Domain Controller (ovviamente fatelo SOLO su macchine di sviluppo o utilizzate per delle demo).
&lt;br /&gt;Ecco i parametri per completare l'installazione standalone:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;setup.exe /config FILES\SETUP\config.xml&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Ricordo che è possibile visualizzare la lista di tutti i parametri dell'utility di installazione eseguendo il comando:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;setup.exe /?&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010DoesntSupportStandaloneInstallationOnDomainController.aspx" /><issued>2010-4-26T18:21:28+01:00</issued><modified>2010-4-26T18:21:28+01:00</modified></entry><entry><title>SharePoint 2010 e Office 2010 RTM disponibili per il download</title><id>/Blog/SharePoint2010Office2010RTMAvailableForDownload.aspx</id><created>2010-4-24T14:33:3+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/sharepoint2010.png" alt="SharePoint 2010" style="float: right" /&gt;Da un paio di giorni, sono disponibili per il download le RTM di SharePoint 2010 e Office 2010 per tutti gli abbonati MSDN. Inoltre, sono stati anche pubblicati i download gratuiti di SharePoint Foundation 2010 e SharePoint Designer 2010 all'interno dell'area download di Microsoft.
&lt;br /&gt;Ecco tutti i riferimenti:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;SharePoint Foundation 2010&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=49c79a8a-4612-4e7d-a0b4-3bb429b46595" title="SharePoint Foundation 2010 download" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=49c79a8a-4612-4e7d-a0b4-3bb429b46595&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;SharePoint Designer 2010 (32 bit)&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d88a1505-849b-4587-b854-a7054ee28d66" title="SharePoint Designer 2010 (32 bit) download" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d88a1505-849b-4587-b854-a7054ee28d66&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="text-decoration: underline"&gt;SharePoint Designer 2010 (64 bit)&lt;/span&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=566d3f55-77a5-4298-bb9c-f55f096b125d" title="SharePoint Designer 2010 (64 bit)" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=566d3f55-77a5-4298-bb9c-f55f096b125d&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Per i language pack, dobbiamo ancora aspettare un pò.
&lt;br /&gt;Però finalmente ci siamo !!!
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Designer.aspx" title="TAG: SharePoint Designer"&gt;SharePoint Designer&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Office 2010.aspx" title="TAG: Office 2010"&gt;Office 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010Office2010RTMAvailableForDownload.aspx" /><issued>2010-4-24T14:33:3+01:00</issued><modified>2010-4-24T14:33:3+01:00</modified></entry><entry><title>Come rendere il log di MOSS 2007 il pi&#249; verboso possibile</title><id>/Blog/HowToMakeMOSS2007LogsAsMoreVerboseAsPossible.aspx</id><created>2010-4-20T18:9:34+01:00</created><content type="text/html" mode="escaped">Da interfaccia grafica, possiamo settare il log di SharePoint in modo tale da salvare un alto numero di informazinoi di log riguardanti le operazioni fatte su di esso. Tale interfaccia grafica però, non specifica al sistema di log di SharePoint di essere il più verboso possibile. Questo possiamo farlo solamente tramite l'utility stsasm, in questo modo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;cd &lt;span style="color: #A31515"&gt;"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN"&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IndexerClient"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IndexerPlugin"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"Arpi"&lt;/span&gt; -tracelevel verbose             
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GatherStatus "&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GatherSvc    "&lt;/span&gt; -tracelevel verbose     
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GatherDirMon "&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GatherDirMonQ"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GathererLink "&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"GathererSql  "&lt;/span&gt; -tracelevel verbose             
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"ScopesCompilation"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"ScopesPlugin "&lt;/span&gt; -tracelevel verbose              
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"SimplePI"&lt;/span&gt; -tracelevel verbose 
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"PHSts"&lt;/span&gt; -tracelevel verbose        
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"FeatureExtractorPlugin"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"FilterDaemon"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"FTEAdmin"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"FTEAdmin"&lt;/span&gt; -tracelevel verbose              
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"EventLog"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"Exceptions"&lt;/span&gt; -tracelevel verbose              
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IDXPIEventLog"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IDXPIFTECursor"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IDXPIPerfCntr"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"IDXPIPlugin"&lt;/span&gt; -tracelevel verbose                  
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"MS Search Indexing"&lt;/span&gt; -tracelevel verbose   
&lt;br /&gt;stsadm -o setlogginglevel -category &lt;span style="color: #A31515"&gt;"MS Search Propagation"&lt;/span&gt; -tracelevel verbose 
&lt;br /&gt;
&lt;br /&gt;stsadm -o setlogginglevel -tracelevel verbose&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Occhio però che, così facendo, vedrete i vostri log crescere a dismisura perchè inizieranno ad inglobare tantissime informazioni sulle operazioni effettuate sull'interfaccia di ShaerPoint.
&lt;br /&gt;Per ritornare indietro (qunidi ad una situazione normale del sistema di logging) è necessario eseguire questo comando:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o setlogginglevel -&lt;span style="color: #0000FF"&gt;default&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Spero possa essere utile a qualcuno..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/STSADM.aspx" title="TAG: STSADM"&gt;STSADM&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToMakeMOSS2007LogsAsMoreVerboseAsPossible.aspx" /><issued>2010-4-20T18:9:34+01:00</issued><modified>2010-4-20T18:9:34+01:00</modified></entry><entry><title>SharePoint 2010 raggiunge la versione RTM</title><id>/Blog/SharePoint2010ReachesRTM.aspx</id><created>2010-4-17T11:28:15+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Images/SharePoint-2010-logo.png" alt="SharePoint 2010" style="float: right;" /&gt;Questo è veramente un periodo pieno di rilasci.. Oggi, direttamente dal &lt;a href="http://blogs.msdn.com/sharepoint/archive/2010/04/16/sharepoint-2010-reaches-rtm.aspx" title="SharePoint 2010 reaches RTM!" target="_blank"&gt;blog del team di SharePoint&lt;/a&gt;, Jeff Teper ha annunciato il raggiungimento della versione RTM per SharePoint 2010, Office 2010, Visio 2010 e Project 2010.
&lt;br /&gt;Il prodotto sarà scaricabile dal 27 di aprile nelle seguenti lingue: inglese, francese, tedesco, spagnolo, russo e olandese. Le altre lingue arriveranno subito dopo.
&lt;br /&gt;Mentre invece, il 12 maggio, ci sarà un evento on-line per la presentazione del prodotto. Questo il sito:
&lt;br /&gt;&lt;a href="http://www.the2010event.com/" title="" target="_blank"&gt;http://www.the2010event.com&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Ci siamo quasi eh...
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Office 2010.aspx" title="TAG: Office 2010"&gt;Office 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010ReachesRTM.aspx" /><issued>2010-4-17T11:28:15+01:00</issued><modified>2010-4-17T11:28:15+01:00</modified></entry><entry><title>Errore &quot;Cannot display help&quot; sulla pagina di help di SharePoint</title><id>/Blog/ErrorCannotDisplayHelpConSharePointHelpPage.aspx</id><created>2010-3-20T10:21:18+01:00</created><content type="text/html" mode="escaped">In questa settimana, durante il &lt;a href="http://www.peppedotnet.it/Blog/CorsiGratuitiPerPartnerMicrosoftAMilanoSuASPNETSP1MVCSiverlight.aspx" title="Corso di Silverlight 3.0 a Milano" target="_blank"&gt;corso di Silverlight&lt;/a&gt;, un mio cliente mi avvisa che la pagina di help di SharePoint Services 3.0, ritorna un errore che non permette la corretta consultazione dell'help stesso. Faccio per controllare ed effettivamente la pagina iniziale dell'help ritorna questo specifico errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Cannot display help. Technical details: HC not found. (MS.WSS.manifest , 1033)&lt;/div&gt;
&lt;br /&gt;Che, sulla mia installazione SharePoint con language pack in italiano, veniva visualizzato come in figura.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/erroreHelpWSS.jpg" alt="Impossibile visualizzare la guida in linea" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per risolvere questo problema, bisogna prima controllare che l'utente con cui gira l'application pool di SharePoint sia correttamente inserito all'interno del gruppo "HelpGroup" reperibile all'interno della Central Administration seguendo questa serie di collegamenti:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;CentralAdmin &gt; Site Actions &gt; Site Settings &gt; People and Groups &gt; Groups &gt;  HelpGroup&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Se l'utente è già presente all'interno di quel gruppo, è necessario allora lanciare l'esecuzione di un'utility a riga di comando in modo da riabilitare l'help. I comandi sono i seguenti:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;hcinstal.exe /act InstallOneHC /loc 1033 /mns MS.WSS
&lt;br /&gt;hcinstal.exe /act InstallOneHC /loc 1033 /mns MS.WSS.ADMIN&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Da eseguire all'interno del percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;E tutto torna a funzionare come dovrebbe.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorCannotDisplayHelpConSharePointHelpPage.aspx" /><issued>2010-3-20T10:21:18+01:00</issued><modified>2010-3-20T10:21:18+01:00</modified></entry><entry><title>Corso: SharePoint Foundation 2010 - le novit&#224; per sviluppatori</title><id>/Blog/CorsoSharePointFoundation2010NovitaPerSviluppatori.aspx</id><created>2010-3-15T10:20:25+01:00</created><content type="text/html" mode="escaped">Il prossimo aprile, precisamente il 22 e in 23, in collaborazione con &lt;a href="http://www.msys.it" title="Microsys" target="_blank"&gt;Microsys&lt;/a&gt; e &lt;a href="http://www.pcsnet.it/" title="PCSNet" target="_blank"&gt;PCSNet&lt;/a&gt;, abbiamo organizzato un Hands On Lab di 2 giorni sulle principali novità per sviluppatori offerte da SharePoint Foundation 2010, la versione gratuita di SharePoint, in attesa dell'uscita della RTM.
&lt;br /&gt;Il corso, che si terrà a Milano, darà la possibilità di metter mano direttamente sul codice e di apprendere tutte le nuove funzionalità della piattaforma di collaborazione, partendo dai nuovi meccanismi di data provisioning e arrivando all'utilizzo dei Business Connectivity Services, di LINQ to SharePoint e del nuovo Client Object Model.
&lt;br /&gt;Vi riporto qua la scaletta:
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;GIORNO 1 - 22 Aprile 2010&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;09:15 - 09:30 - Registrazione dei Partecipanti
&lt;br /&gt;09:30 - 10.00 - Le novità di SharePoint 2010 per gli sviluppatori
&lt;br /&gt;10.00 - 11.15 - Nuove funzionalità su liste e strutture: data provisioning, eventi, relazioni e aggregazioni.
&lt;br /&gt;11:15 - 11:30 - Coffee Break
&lt;br /&gt;11:30 - 12:45 - Sessione Hands On Lab: Parte 1
&lt;br /&gt;12:45 - 13:45 - Pranzo
&lt;br /&gt;13:45 - 15:15 - Client Object Model: dati SharePoint su applicazioni client, Silverlight e javascript
&lt;br /&gt;15:15 - 15:30 - Coffee Break
&lt;br /&gt;15:30 - 16:45 - Sessione Hands On Lab: Parte 2
&lt;br /&gt;16:45 - 17:00 - Sessione Q&amp;A e Conclusioni
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;GIORNO 2 - 23 Aprile 2010&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;09:30 - 11:00 - LINQ to SharePoint: sintassi SQL-like per l’accesso ai dati di SharePoint
&lt;br /&gt;11:00 - 11:15 - Coffee Break
&lt;br /&gt;11:15 - 12:30 - Sessione Hands On Lab: Parte 3
&lt;br /&gt;12:30 - 13:45 - Pranzo
&lt;br /&gt;13:45 - 15:00 - Business Connectivity Services: liste e colonne di dati esterni.
&lt;br /&gt;15:00 - 15:15 - Coffee Break
&lt;br /&gt;15:15 - 16:30 - Sessione Hands On Lab: Parte 4
&lt;br /&gt;16:30 - 17:00 - Sessione Q&amp;A e Conclusioni
&lt;br /&gt;
&lt;br /&gt;Il corso lo terrò io, quindi se volete più informazioni tecniche scrivete pure a me, altrimenti per iscrivervi o avere altro genere di informazioni visitate la pagina ufficiale del corso: &lt;a href="http://www.msys.it/Formazione" title="SharePoint Foundation 2010:le Novità per gli Sviluppatori" target="_blank"&gt;http://www.msys.it/Formazione&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CorsoSharePointFoundation2010NovitaPerSviluppatori.aspx" /><issued>2010-3-15T10:20:25+01:00</issued><modified>2010-3-15T10:20:25+01:00</modified></entry><entry><title>Andata..</title><id>/Blog/MicrosoftSharePointConferenceSummary.aspx</id><created>2010-3-12T11:59:56+01:00</created><content type="text/html" mode="escaped">Ieri era l'ultimo giorno, dei tre, della &lt;a href="http://www.sharepointconference.it" title="SharePoint Conference 2010" target="_blank"&gt;Microsoft SharePoint &amp; Office Conference 2010&lt;/a&gt; che si è tenuta qui a Milano. Era la mia prima conferenza vista e vissuta dall'altro lato della cattedra e devo dire che è stata proprio una gran bella esperienza..
&lt;br /&gt;E' stato tutto veramente particolare. 
&lt;br /&gt;Un'organizzazione fantastica, precisa al millimetro su tutto (pensate che addirittura sono stato bloccato mentre cercavo di andare a mangiare nell'area dei partecipanti, senza andare in quella per lo staff.. :)
&lt;br /&gt;Un sacco di partecipanti, ma veramente tanti. Il che mi ha fatto sia tremar le gambe prima di salir sul palco e, devo dir la verità, anche mentre ci stavo sopra, sia un gran piacere quando, passando tra i corridoi, vedevo gli occhi di tutti girarsi, salutare e sorridere.
&lt;br /&gt;Un sacco di persone alle mie due sessioni. Ma questo non è stato così tanto un piacere quanto veder più della metà di loro alzare la mano alla domanda: "quanti di voi hanno già visitato il mio sito ?".
&lt;br /&gt;Un tranquillità e disponibilità infinita tra gli speaker e lo staff, che mi ha fatto sembrare tutto veramente naturale. Ho ricontrato persone che avevo già visto, visto quelle che conoscevo solo via internet e conosciuto delle nuove, tutte splendide.
&lt;br /&gt;Un livello tecnico davvero notevole. Proprio di tutti.
&lt;br /&gt;
&lt;br /&gt;Non so se si è capito, ma è stato tutto veramente fantastico.
&lt;br /&gt;
&lt;br /&gt;In primis quindi, volevo ringraziare &lt;a href="http://blogs.devleap.com/paolo/" title="Paolo Pialorsi" target="_blank"&gt;Paolo&lt;/a&gt; e &lt;a href="http://www.macori.it" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt;, perchè l'opportunità è venuta proprio da loro.
&lt;br /&gt;Poi &lt;a href="http://www.myrocode.com" title="Miro Radenovic" target="_blank"&gt;Miro&lt;/a&gt;, ovviamente, per essermi stato a fianco prima, durante e dopo.
&lt;br /&gt;Infine, in ordine sparso.. &lt;a href="http://blogs.devleap.com/devlizard" title="Claudio Brotto" target="_blank"&gt;Claudio&lt;/a&gt;, &lt;a href="http://www.sharepointconference.it/speakers.aspx#Elisabetta_Sasselli" title="Elisabetta Sasselli" target="_blank"&gt;Elisabetta&lt;/a&gt;, &lt;a href="http://nonsolosharepoint.wordpress.com/" title="Barbara Falchi" target="_blank"&gt;Barbara&lt;/a&gt;, &lt;a href="http://www.nonaka.eu/" title="Romeo Pruno" target="_blank"&gt;Romeo&lt;/a&gt;, &lt;a href="http://www.sharepointconference.it/speakers.aspx#Marco_Castellani" title="Marco Castellani" target="_blank"&gt;Marco&lt;/a&gt;, &lt;a href="http://alberto.casu.it/" title="Alberto Casu" target="_blank"&gt;Alberto&lt;/a&gt;, &lt;a href="http://blogs.devleap.com/marcorizz/" title="Marco Rizzi" target="_blank"&gt;Marco&lt;/a&gt; e &lt;a href="http://sharepointpig.wordpress.com/" title="Riccardo Celesti" target="_blank"&gt;Riccardo&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MicrosoftSharePointConferenceSummary.aspx" /><issued>2010-3-12T11:59:56+01:00</issued><modified>2010-3-12T11:59:56+01:00</modified></entry><entry><title>Open link into new window SharePoint list definition</title><id>/Blog/OpenLinkIntoNewWindowSharePointListDefinition.aspx</id><created>2010-3-8T15:26:28+01:00</created><content type="text/html" mode="escaped">Una delle piccole mancanze di SharePoint 2007 è la possibilità di scegliere, sugli elementi di una lista di link, se questi devono essere aperti nella stessa pagina del browser o se deve essere utilizzata una nuova pagina.
&lt;br /&gt;Per i collegamenti esterni, le web part di MOSS 2007 permettono questo comportamento, ma non lo fanno per tutti i link interni. Perciò ho creato una list definition particolare, per dare agli utenti finali la possibilità di scegliere se aprire o meno una nuova finestre per tutti i link interni a SharePoint.
&lt;br /&gt;
&lt;br /&gt;La list definition è disponibile tramite una feature. La feature in questione abilita il modello di lista con la funzionalità di apertura dei link in una nuova finestra.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/OpenInNewWindow_2.JPG" alt="Open link into new window SharePoint list definition" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Una volta creata una lista, a partire dalla list definition descritta, abbiamo la possibilità di specificare se aprire o meno il link su una nuova finestra valorizzando un campo di tipo boolean.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/OpenInNewWindow_3.JPG" alt="Open link into new window SharePoint list definition" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Ho anche creato un progetto su codeplex. Non c'è tanto da aggiornare, ma di sicuro a qualcuno risulta utile.
&lt;br /&gt;Questo l'indirizzo del progetto:
&lt;br /&gt;&lt;a href="http://openlinkinnewwindow.codeplex.com/" title="SharePoint - Open internal link into a new window" target="_blank"&gt;http://openlinkinnewwindow.codeplex.com/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/List definition.aspx" title="TAG: List definition"&gt;List definition&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/OpenLinkIntoNewWindowSharePointListDefinition.aspx" /><issued>2010-3-8T15:26:28+01:00</issued><modified>2010-3-8T15:26:28+01:00</modified></entry><entry><title>Finalmente la data ufficiale del rilascio di SharePoint 2010 e Office 2010</title><id>/Blog/LaunchDateOfSharePoint2010AndOffice2010.aspx</id><created>2010-3-6T9:33:20+01:00</created><content type="text/html" mode="escaped">Ho appena letto il post di &lt;a href="http://blogs.msdn.com/arpans" title="Arpan Shah" target="_blank"&gt;Arpan Shah&lt;/a&gt; riguardo l'annuncio della data ufficiale di rilascio di SharePoint 2010 e Office 2010.
&lt;br /&gt;La data in questione è il 12 maggio 2010 !!!
&lt;br /&gt;Inoltre, è stata anche annunciata una RTM nel mese di aprile.
&lt;br /&gt;Ecco il link diretto dell'annuncio:
&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx" title="SharePoint 2010 &amp; Office 2010 Launch" target="_blank"&gt;http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Direi che ormai ci siamo !
&lt;br /&gt;Se non lo sapete ancora, potete vedere tutte le novità di SharePoint 2010 alla Microsoft SharePoint Conference che si terrà qui a Milano il 9, 10 e 11 marzo 2010.
&lt;br /&gt;
&lt;br /&gt;&lt;a title="Microsoft SharePoint Office Conference 2010" href="http://www.sharepointconference.it/" target="_blank"&gt;&lt;img alt="Microsoft SharePoint Office Conference 2010" src="http://www.peppedotnet.it/Images/728x90_spoc2010_201209_it.jpg"&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Office 2010.aspx" title="TAG: Office 2010"&gt;Office 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/LaunchDateOfSharePoint2010AndOffice2010.aspx" /><issued>2010-3-6T9:33:20+01:00</issued><modified>2010-3-6T9:33:20+01:00</modified></entry><entry><title>Formato delle date durante l'utilizzo del web service Lists.asmx di SharePoint</title><id>/Blog/DateTimeFormatWithSharePointListsWebService.aspx</id><created>2010-3-3T11:17:30+01:00</created><content type="text/html" mode="escaped">Utilizzando il web service &lt;a href="http://msdn.microsoft.com/en-us/library/lists.aspx" title="Lists Web Service" target="_blank"&gt;"Lists.asmx"&lt;/a&gt; e in particolare il metodo UpdateListItems, abbiamo la possibilità di creare, aggiornare e cancellare elementi di liste SharePoint da applicazioni esterne. Ok lo so, questo lo sapete già...
&lt;br /&gt;Ma magari non sapete che se abbiamo la necessità di inserire o aggiornare dei campi di tipo data e ora, dobbiamo formattare questi valori secondo le specifiche ISO 8601. Infatti, l'utilizzo del metodo UpdateListItems in questo modo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;static&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; InsertElement(&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; title)
&lt;br /&gt;{
&lt;br /&gt;    ListsWebService.Lists service = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; ListsWebService.Lists();
&lt;br /&gt;    service.Url = &lt;span style="color: #A31515"&gt;"http://YOURSITEURL/_vti_bin/Lists.asmx"&lt;/span&gt;;
&lt;br /&gt;    service.Credentials = CredentialCache.DefaultCredentials;  
&lt;br /&gt;          
&lt;br /&gt;    XmlDocument doc = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XmlDocument();
&lt;br /&gt;    XmlElement updates = doc.CreateElement(&lt;span style="color: #A31515"&gt;"Batch"&lt;/span&gt;);
&lt;br /&gt;    updates.InnerXml = &lt;span style="color: #0000FF"&gt;string&lt;/span&gt;.Format(
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Method ID='1' Cmd='New'&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='ID'&gt;New&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='Title'&gt;&lt;![CDATA[{0}]]&gt;&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='Expires'&gt;{1}&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;/Method&gt;"&lt;/span&gt;,
&lt;br /&gt;        title, DateTime.Now.AddDays(15));
&lt;br /&gt;
&lt;br /&gt;    XmlNode node = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;    node = service.UpdateListItems(&lt;span style="color: #A31515"&gt;"LIST NAME"&lt;/span&gt;, updates);
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;genera il seguente errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;ErrorCode: 0x8102001c
&lt;br /&gt;ErrorText: Invalid date/time value. A date/time field contains invalid data. Please check the value and try again.&lt;/div&gt;
&lt;br /&gt;Questo perchè la data non è stata formattata correttamente secondo il formato ISO 8601. Per farlo è possibile richiamare il metodo ToString() della classe DateTime passando come parametro la formattazione "yyyy-MM-ddThh:mm:ssZ".
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;DateTime.Now.AddDays(15).ToString(&lt;span style="color: #A31515"&gt;"yyyy-MM-ddThh:mm:ssZ"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Oppure, onde evitare possibili errori di scrittura della stringa di formattazione della data, possiamo utilizzare il metodo &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.sputility.createiso8601datetimefromsystemdatetime.aspx" title="CreateISO8601DateTimeFromSystemDateTime method" target="_blank"&gt;CreateISO8601DateTimeFromSystemDateTime&lt;/a&gt; della classe &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.sputility.aspx" title="SPUitlity class" target="_blank"&gt;SPUtility&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;static&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; InsertElement(&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; title)
&lt;br /&gt;{
&lt;br /&gt;    ListsWebService.Lists service = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; ListsWebService.Lists();
&lt;br /&gt;    service.Url = &lt;span style="color: #A31515"&gt;"http://YOURSITEURL/_vti_bin/Lists.asmx"&lt;/span&gt;;
&lt;br /&gt;    service.Credentials = CredentialCache.DefaultCredentials;      
&lt;br /&gt;      
&lt;br /&gt;    XmlDocument doc = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XmlDocument();
&lt;br /&gt;    XmlElement updates = doc.CreateElement(&lt;span style="color: #A31515"&gt;"Batch"&lt;/span&gt;);
&lt;br /&gt;    updates.InnerXml = &lt;span style="color: #0000FF"&gt;string&lt;/span&gt;.Format(
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Method ID='1' Cmd='New'&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='ID'&gt;New&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='Title'&gt;&lt;![CDATA[{0}]]&gt;&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;Field Name='Expires'&gt;{1}&lt;/Field&gt;"&lt;/span&gt; +
&lt;br /&gt;        &lt;span style="color: #A31515"&gt;"&lt;/Method&gt;"&lt;/span&gt;,
&lt;br /&gt;        title, SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Now.AddDays(15)));
&lt;br /&gt;
&lt;br /&gt;    XmlNode node = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;    node = service.UpdateListItems(&lt;span style="color: #A31515"&gt;"LIST NAME"&lt;/span&gt;, updates);
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Davvero utile !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SPUtility.aspx" title="TAG: SPUtility"&gt;SPUtility&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/DateTimeFormatWithSharePointListsWebService.aspx" /><issued>2010-3-3T11:17:30+01:00</issued><modified>2010-3-3T11:17:30+01:00</modified></entry><entry><title>Come installare il VSeWSS upgrade tool per Visual Studio 2010</title><id>/Blog/HowToInstallVSeWSSUpgradeToolOnVisualStudio2010.aspx</id><created>2010-2-26T18:47:9+01:00</created><content type="text/html" mode="escaped">Microsoft ha rilasciato già da un pò, in versione beta, un tool per la migrazione dei progetti MOSS 2007 sviluppati tramite i VSeWSS a progetti Visual Studio 2010.
&lt;br /&gt;Il tool è davvero ben fatto e facilita notevolmente l'upgrade delle personalizzazioni dalla vecchia versione di SharePoint alla nuova, senza la necessità di fare troppe operazioni manuali.
&lt;br /&gt;Per installarlo però, non basta solamente scaricare l'eseguibile e lanciarlo, ma sono necessari dei passi aggiuntivi.. eccoli nel dettaglio.
&lt;br /&gt;
&lt;br /&gt;1- Scaricare il tool a questo indirizzo: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=41019a15-8c73-497c-97fb-502a619a6c46&amp;displaylang=en" title="Visual Studio 2010 (Beta) migration tool for VSeWSS SharePoint projects" target="_blank"&gt;VSeWSS_Upgrade_Sample_Beta_20100108.msi&lt;/a&gt;
&lt;br /&gt;2- Assicurarsi di aver chiuso tutte le istanze di Visual Studio 2010
&lt;br /&gt;3- Avviare l'installer
&lt;br /&gt;4- Andare alla cartella "C:\Program Files (x86)\Microsoft\VSeWSS Upgrade"
&lt;br /&gt;5- Eseguire il file "VSeWSSUpgrade_Beta2_20091203.msi", che installa effettivamente il template all'interno di Visual Studio
&lt;br /&gt;6- Aprire il command prompt dei tool di Visual Studio
&lt;br /&gt;7- Eseguire il comando "devneve /installvstemplates"
&lt;br /&gt;8- Aprire Visual Studio 2010
&lt;br /&gt;
&lt;br /&gt;Una volta eseguite queste operazioni, sarete in grado di utilizzare il tool di upgrade delle soluzioni VSeWSS a Visual Studio 2010.
&lt;br /&gt;Questo e tanto altro ancora, nella &lt;a href="http://www.sharepointconference.it/sessions.aspx#22" title="Aggiornare soluzioni MOSS2007 a SharePoint 2010" target="_blank"&gt;mia sessione&lt;/a&gt; alla &lt;a href="http://www.sharepointconference.it" title="SharePoint Conference" target="_blank"&gt;SharePoint Conference&lt;/a&gt;, riguardo l'aggiornamento di soluzioni MOSS 2007 a SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/VSeWSS Upgrade.aspx" title="TAG: VSeWSS Upgrade"&gt;VSeWSS Upgrade&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInstallVSeWSSUpgradeToolOnVisualStudio2010.aspx" /><issued>2010-2-26T18:47:9+01:00</issued><modified>2010-2-26T18:47:9+01:00</modified></entry><entry><title>Screencast: SharePoint 2010 Business Connectivity Services</title><id>/Blog/SharePoint2010BusinessConnectivityServicesScreencast.aspx</id><created>2010-2-21T9:58:35+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.peppedotnet.it/Media/BCSDemo.jpg" alt="Business Connectivity Services" border="0" style="float: right; margin-left: 10px;" /&gt;Continua questa piccola serie di mini-screencast riguardo le novità presenti su SharePoint 2010. Dopo la funzione di &lt;a href="http://www.peppedotnet.it/Blog/ScreenCastSharePoint2010ListValidation.aspx" title="SharePoint 2010 List Validation Engine" target="_blank"&gt;validazione su liste&lt;/a&gt;, questa è la volta dei Business Connectivity Services (BCS), tecnologia utile a leggere dati da fonti esterne a SharePoint e presentarli tramite le nuove interfaccie della piattaforma di collaborazione Microsoft.
&lt;br /&gt;In parole povere i BCS sono una versione molto evoluta del Business Data Catalog di MOSS 2007, che risulta però disponibile anche in SharePoint Foundation 2010, la versione di SharePoint disponibile grauitamente con una licenza Windows Server.
&lt;br /&gt;Questo il link diretto al video:
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/Media/SharePoint%202010%20Business%20Connectivity%20Services.aspx" title="Screencast: SharePoint 2010 Business Connectivity Services"&gt;http://www.peppedotnet.it/Media/SharePoint 2010 Business Connectivity Services.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buona visione ;)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Business Connectivity Services.aspx" title="TAG: Business Connectivity Services"&gt;Business Connectivity Services&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010BusinessConnectivityServicesScreencast.aspx" /><issued>2010-2-21T9:58:35+01:00</issued><modified>2010-2-21T9:58:35+01:00</modified></entry><entry><title>L'agenda della SharePoint Conference &#232; stata completata !!</title><id>/Blog/TheSharePointAndOfficeConferenceAgendaHasBeenCompleted.aspx</id><created>2010-2-17T12:35:59+01:00</created><content type="text/html" mode="escaped">Ho appena saputo che è stata completata l'agenda per la Microsoft SharePoint &amp; Office Conference 2010 che si terrà qui a Milano il 9-10-11 marzo.
&lt;br /&gt;Ecco il link diretto:
&lt;br /&gt;&lt;A title="Agenda Microsoft SharePoint Office Conference 2010" href="http://www.sharepointconference.it/agenda.aspx" target="_blank"&gt;http://www.sharepointconference.it/agenda.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;E' stata aggiunta un nuova sessione sul licensing, argomento sempre molto attuale e che molto spesso non è chiaro a tutti.
&lt;br /&gt;Poi, sono stati creati tre momenti di incontro tra noi speakers e voi, per permettervi di bombardarci di domande su quello che avete visto durante le giornate di conferenza o su tematiche generali sempre riguardanti SharePoint ed Office. Questi incontri sono stati divisi uno per giornata, come segue:
&lt;br /&gt;
&lt;br /&gt;- Q&amp;A per professionisti IT (9 marzo)
&lt;br /&gt;- Q&amp;A per sviluppatori (10 marzo)
&lt;br /&gt;- Q&amp;A per site builders (11 marzo)
&lt;br /&gt;
&lt;br /&gt;Io sarò disponibile, ovviamente, nella seconda giornata.
&lt;br /&gt;A questo punto ormai, penso che chi voleva venire si sia già iscritto approfittando degli sconti che ci sono stati fino a poco tempo fa. Ma, se c'è qualcuno che è ancora indeciso, gli consiglio vivamente di venire perchè sarà un evento eccezionale.
&lt;br /&gt;
&lt;br /&gt;&lt;A title="Microsoft SharePoint Office Conference 2010" href="http://www.sharepointconference.it/" target="_blank"&gt;&lt;IMG alt="Microsoft SharePoint Office Conference 2010" src="http://www.peppedotnet.it/Images/728x90_spoc2010_201209_it.jpg" /&gt;&lt;/A&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/TheSharePointAndOfficeConferenceAgendaHasBeenCompleted.aspx" /><issued>2010-2-17T12:35:59+01:00</issued><modified>2010-2-17T12:35:59+01:00</modified></entry><entry><title>Errore: &quot;Error occurred in deployment step 'Recycle IIS Application Pool'&quot;</title><id>/Blog/ErrorOccurredInDeploymentStepRecycleIISApplicationPool.aspx</id><created>2010-2-13T11:31:35+01:00</created><content type="text/html" mode="escaped">Iniziando a sviluppare per SharePoint 2010 attraverso gli strumenti di sviluppo offerti da Visual Studio 2010, vi troverete sicuramente di fronte al seguente problema.
&lt;br /&gt;Spostando un progetto da un'ambiente di sviluppo ad un altro e provando a ricompilare, l'IDE di sviluppo completerà correttamente la fase di compilazione e creazione del package, ma andrà in errore durante la fase di deploy della vostra personalizzazione su SharePoint. L'errore generato sarà di questo tipo:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Error occurred in deployment step 'Recycle IIS Application Pool': Cannot connect to the SharePoint site: http://YOUR_SITE_NAME/. Make sure that this is a valid URL and the SharePoint site is running on the local computer. If you moved this project to a new computer or if the URL of the SharePoint site has changed since you created the project, update the Site URL property of the project.&lt;/div&gt;
&lt;br /&gt;Questo perchè, alla creazione di un nuovo progetto SharePoint, Visual Studio chiede quale dev'essere l'indirizzo della site collection in cui effettuare il deploy e se lo salva all'interno delle proprietà del progetto. Spostando la soluzione e i vari file di progetto è necessario aggiornare a mano tale indirizzo.
&lt;br /&gt;Per farlo, dobbiamo selezionare il progetto dalla toolbox "Solution Explorer" e successivamente aprire la toolbox delle proprietà. Li troverete la proprietà "Site URL", che dovrà essere cambiata con il nuovo indirizzo della vostra site collection SharePoint 2010.
&lt;br /&gt;State attenti ad aprire la toolbox delle proprietà (visibile in figura) e NON le proprietà del progetto tramite l'utilizzo del tasto destro del mouse.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/changeDeployUrl.jpg" alt="Cambiare indirizzo di deployment di una soluzione SharePoint da Visual Studio 2010" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;Fatto questo, basta provare a ricompilare e rieffettuare il deploy della soluzione.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] </content><link rel="alternate" type="text/html" href="/Blog/ErrorOccurredInDeploymentStepRecycleIISApplicationPool.aspx" /><issued>2010-2-13T11:31:35+01:00</issued><modified>2010-2-13T11:31:35+01:00</modified></entry><entry><title>Screencast: SharePoint 2010 list validation</title><id>/Blog/ScreenCastSharePoint2010ListValidation.aspx</id><created>2010-2-12T11:25:16+01:00</created><content type="text/html" mode="escaped">Oggi ho inserito un nuovo screencast sotto la sezione "Media" di peppedotnet. E' un breve video sull'utilizzo della nuova funzionalità di validazione di liste e colonne presente su SharePoint 2010.
&lt;br /&gt;Se può interessare, ecco il link diretto:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/Media/SharePoint%202010%20List%20validation.aspx" title="SharePoint 2010 ScreenCast: List validation"&gt;http://www.peppedotnet.it/Media/SharePoint%202010%20List%20validation.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Tale funzionalità ci permette di scrivere velocemente delle formule di validazione del contenuto di una o più colonna di una lista SharePoint, senza dover scrivere dei campi custom o degli event handler (cosa che invece era d'obbligo con MOSS 2007 o WSS 3.0).
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/List validation.aspx" title="TAG: List validation"&gt;List validation&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ScreenCastSharePoint2010ListValidation.aspx" /><issued>2010-2-12T11:25:16+01:00</issued><modified>2010-2-12T11:25:16+01:00</modified></entry><entry><title>Stop di un workflow fatto con SharePoint designer all'invio di una mail ad un gruppo</title><id>/Blog/SharePointDesignerWorkflowStoppedWithEmailSentToAGroup.aspx</id><created>2010-2-11T8:22:0+01:00</created><content type="text/html" mode="escaped">Durante la costruzione di un workflow con SharePoint Designer 2007, ho avuto la necessità di inserire un'attività che spedisse un messaggio e-mail ad un certo gruppo di utenti SharePoint. Il gruppo in questione era creato correttamente all'interno del sito da cui facevo partire il mio workflow ed infatti, durante le varie fasi di test funzionava che era una meraviglia.
&lt;br /&gt;Ogni tanto però, quando il flusso arrivava all'esecuzione dell'attività di invio mail, passava direttamente in stato "Stoppped" e non c'era modo di farlo continuare.
&lt;br /&gt;Facendo delle prove con specifici utenti, mi sono accorto che se il workflow veniva lanciato da un utente che apparteneva al gruppo a cui io volevo spedire la mail allora non c'era alcun problema e tutto il flusso veniva eseguito senza alcun errore. Se invece erano altri utenti, non appartenenti al gruppo destinatario della mail, a far partire il workflow, quest'ultimo si fermava in stato "Stopped".
&lt;br /&gt;Dov'era il problema ? Semplicemente, il mio gruppo era configurata per permettere la lettura dei propri membri solamente ai membri stessi del gruppo; quindi, se un utente qualsiasi cercava di eseguire l'attività di invio mail, non aveva permessi per leggere gli utenti appartenenti al gruppo e a cui questa mail doveva essere inviata, causando lo stop del workflow.
&lt;br /&gt;Per risolvere questo problema è bastato semplicemente modificare la visibilità sul gruppo destinatario della mail (come visibile in figura).
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/WorkflowErrorSPDesigner.jpg" alt="Abilitare la visibilità dei membri di un gruppo" border="0" width="800px" /&gt;
&lt;br /&gt;
&lt;br /&gt;Fatto questo, il workflow ha ripreso a funzionare per tutti gli utenti.
&lt;br /&gt;La cosa pazzesca è che non viene segnalato alcun tipo di errore da nessuna parte (o almeno, io non ne ho trovati) e risulta veramente difficile capire il perchè del cambiamento di stato del workflow allo stato "Stoppped". Se qualcuno ci casca, spero legga questo post, perchè io ci ho perso un bel pò di tempo..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Workflow.aspx" title="TAG: Workflow"&gt;Workflow&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Designer.aspx" title="TAG: SharePoint Designer"&gt;SharePoint Designer&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointDesignerWorkflowStoppedWithEmailSentToAGroup.aspx" /><issued>2010-2-11T8:22:0+01:00</issued><modified>2010-2-11T8:22:0+01:00</modified></entry><entry><title>Errore: &quot;Failed to extract the cab file in the solution&quot;</title><id>/Blog/ErrorFailedToExtractTheCabFileInTheSolution .aspx</id><created>2010-2-9T13:52:0+01:00</created><content type="text/html" mode="escaped">Cercando di effettuare il deploy di una soluzione SharePoint 2007 tramite l'utility STSADM, sono incappato in questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Failed to extract the cab file in the solution&lt;/div&gt;
&lt;br /&gt;Tale errore, il più delle volte, è dato dalla presenza di righe identiche o all'interno dei file feature.xml o all'interno del file DDF che deve essere scritto per poi andare a creare la soluzione .wsp vera e propria. Questo può accadere spesso quando si procede con la creazione della soluzione in maniera manuale.
&lt;br /&gt;Se però utilizziamo dei tool per la generazione automatica del file .wsp, come potrebbero essere le estensioni per WSS di Visual Studio 2008 (VEsWSS 1.1, 1.2, 1.3), o WSPBuilder o gli Smart Templates, dobbiamo presumere che la creazione del file DDF venga effettuata correttamente e che, quindi, l'errore in questione sia generato da qualcos'altro.
&lt;br /&gt;In questo caso, le principali cause per cui viene generato questo errore sono:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La presenza di caratteri speciali (come per esempio ^ o la tilde) all'interno dei nomi del file feature.xml, del file manifest.xml o dei file XML secondari alle proprie features.&lt;/li&gt;&lt;li&gt;La presenza di file copiati due volte da altri già presenti, dove è stato mantenuto il nome "Copia (2) di..." o "Copy (2) of..." (nella versione inglese). Questi perchè contengono le tonde che evidentemente per l'utility STSADM non vanno bene.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Il mio caso era il secondo.. Avevo mantenuto in una cartella di immagini due copie delle stessa immagine e non c'era verso di completare correttamente il deploy della mia soluzione.
&lt;br /&gt;Una volta tolti quei file, è tornato tutto alla normalità.
&lt;br /&gt;Spero possa essere d'aiuto a qualcuno.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/STSADM.aspx" title="TAG: STSADM"&gt;STSADM&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorFailedToExtractTheCabFileInTheSolution .aspx" /><issued>2010-2-9T13:52:0+01:00</issued><modified>2010-2-9T13:52:0+01:00</modified></entry><entry><title>Principali errori durante l'installazione di SharePoint 2010 Beta 2</title><id>/Blog/CommonErrorsOnSharePoint2010Beta2InstallationAndConfigurationWizard.aspx</id><created>2010-2-7T21:19:26+01:00</created><content type="text/html" mode="escaped">Ormai sarò alla ventesima installazione della Beta 2 di SharePoint 2010 e ogni volta ne trovo una nuova.. chiavi di registro da cancellare, file di configurazione da modificare, hotifix, ecc..
&lt;br /&gt;Vi riporto un breve elenco di quello che potete trovarvi di fronte quando installate la beta 2 di SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;Il primo errore, l'ho segnalato in un &lt;a href="http://www.peppedotnet.it/Blog/ErrorFailedToCreateSampleDataDuringSharePoint2010Installation.aspx" title="Errore: Failed to create sample data durante l'installazione di SharePoint 2010" target="_blank"&gt;precedente post&lt;/a&gt; e risponde al messaggio:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px; border: 1px solid #C0C0C0; padding: 3px;"&gt;Failed to create sample Data. 
&lt;br /&gt;
&lt;br /&gt;An exception of type Microsoft.Office.Server.UserProfiles.UserProfileException was thrown. Addictional exception information: Unrecognized attribute 'allowInsecureTransport'. Note that attribute names are case-sensitive (C:\Program Files\Common Files\Microsoft Shared\Web Server Extentions\14\WebClients\Profile\client.config line 56)&lt;/div&gt;
&lt;br /&gt;La soluzione la trovate &lt;a href="http://www.peppedotnet.it/Blog/ErrorFailedToCreateSampleDataDuringSharePoint2010Installation.aspx" title="Errore: Failed to create sample data durante l'installazione di SharePoint 2010" target="_blank"&gt;qua&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Il secondo invece, riporta questa dicitura:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px; border: 1px solid #C0C0C0; padding: 3px;"&gt;Failed to register SharePoint services. 
&lt;br /&gt;
&lt;br /&gt;An exception of type System.ServiceProcess.TimeoutException was thrown.  Additional exception information: Time out has expired and the operation has not been completed. 
&lt;br /&gt;System.ServiceProcess.TimeoutException: Time out has expired and the operation has not been completed. 
&lt;br /&gt;   at System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)&lt;/div&gt;
&lt;br /&gt;Per risolvere questo errore è necessario scaricare ed installare un hotfix. Ecco i link:
&lt;br /&gt;- hotfix per Windows Server 2008 R2: &lt;a href="http://support.microsoft.com/kb/976462" title="A hotfix for the .NET Framework 3.5 Service Pack 1 is available for Windows 7 and for Windows Server 2008 R2 as a prerequisite for Microsoft Office SharePoint Server 2010 beta" target="_blank"&gt;http://support.microsoft.com/kb/976462&lt;/a&gt;
&lt;br /&gt;- hotfix per Windows Server 2008: &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=KB971831&amp;DownloadId=7285" title="A hotfix for the .NET Framework 3.5 Service Pack 1 is available for Windows 7 and for Windows Server 2008 as a prerequisite for Microsoft Office SharePoint Server 2010 beta" target="_blank"&gt;http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=KB971831&amp;DownloadId=7285&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Poi, questo il terzo:
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px; border: 1px solid #C0C0C0; padding: 3px;"&gt;Failed to create the configuration database. 
&lt;br /&gt;
&lt;br /&gt;An exception of type System.Security.Cryptography.CryptographicException was thrown.  Additional exception information: The data is invalid.&lt;/div&gt;
&lt;br /&gt;Per risolverlo è necessario semplicemente modificare l'ACL della "SharePoint root" (la cartella "14" per intenderci), aggiungere l'utente Network Service ed assegnargli i permessi di Full Control.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Il quarto invece:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px; border: 1px solid #C0C0C0; padding: 3px;"&gt;Setup is unable to proceed due to the following error(s): 
&lt;br /&gt;A system restart from a previous installation or update is pending. Restart your computer and run setup to continue. 
&lt;br /&gt;For the list of pre-requisites needed to install the product please refer to: 
&lt;br /&gt;http://go.microsoft.com/fwlink/?LinkId=106209 
&lt;br /&gt;Correct the issue(s) listed above and re-run setup.&lt;/div&gt;
&lt;br /&gt;Per risolverlo, prima di tutto, dobbiamo controllare i valori di queste due chiavi di registro:
&lt;br /&gt;- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\UpdateExeVolatile 
&lt;br /&gt;- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations 
&lt;br /&gt;il valore della prima chiave DEVE essere 0. mentre la seconda chiave DEVE essere cancellata.
&lt;br /&gt;
&lt;br /&gt;Se ne avete riscontrati altri durente le vostre installazioni, sarebbe grandioso se gli segnalaste no ? :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CommonErrorsOnSharePoint2010Beta2InstallationAndConfigurationWizard.aspx" /><issued>2010-2-7T21:19:26+01:00</issued><modified>2010-2-7T21:19:26+01:00</modified></entry><entry><title>Creazione di list definition in Microsoft SharePoint 2007</title><id>/Blog/SharePoint2007ListDefinitionCreation.aspx</id><created>2010-1-26T9:29:39+01:00</created><content type="text/html" mode="escaped">Oggi è on-line su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com" target="_blank"&gt;ASPItalia.com&lt;/a&gt; il mio articolo sulla creazione di list definition in SharePoint 2007 (valido sia per WSS 3.0 che per MOSS 2007 chiaramente).
&lt;br /&gt;Al suo interno è possibile vedere come utilizzare i Visual Studio tools for SharePoint per la creazione del modello di lista o come crearlo a mano a partire dalle strutture xml presenti sul file system. Altra possibilità era quella di utilizzare WSPBuilder e le sue estensioni per Visual Studio, ma i concetti di base e le regole sintattiche relative alle list definition rimanevano comunque le stesse.
&lt;br /&gt;Quando si parla di list definition è naturale toccare anche i concetti di &lt;a href="http://www.aspitalia.com/script/990/Definizione-Site-Columns-Tramite-Feature-SharePoint.aspx" title="Creazione di site column tramite una feature" target="_blank"&gt;site columns&lt;/a&gt; e &lt;a href="http://www.aspitalia.com/script/991/Creazione-Content-Type-Tramite-Feature-SharePoint.aspx" title="Creazione di un content type" target="_blank"&gt;content type&lt;/a&gt;, argomenti che abbiamo già visto in un paio di script precedenti e che vengono richiamati all'interno dell'articolo stesso.
&lt;br /&gt;
&lt;br /&gt;Tutti questi assieme, saranno parte della prima delle mie due sessioni alla &lt;a href="http://www.sharepointconference.it" title="Microsoft SharePoint Conference 2010" target="_blank"&gt;SharePoint Conference 2010&lt;/a&gt;, applicati però a SharePoint 2010 e Visual Studio 2010. Se siete interessati, vi consiglio di nuovo di &lt;a href="http://www.sharepointconference.it/registration.aspx" title="SharePoint Conference 2010" target="_blank"&gt;iscrivervi&lt;/a&gt; !
&lt;br /&gt;
&lt;br /&gt;Ecco il link diretto all'articolo:
&lt;br /&gt;&lt;a href="http://www.aspitalia.com/articoli/sharepoint/list-definition.aspx" title="Creazione di list definition SharePoint" target="_blank"&gt;http://www.aspitalia.com/articoli/sharepoint/list-definition.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/List definition.aspx" title="TAG: List definition"&gt;List definition&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content type.aspx" title="TAG: Content type"&gt;Content type&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Site columns.aspx" title="TAG: Site columns"&gt;Site columns&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2007ListDefinitionCreation.aspx" /><issued>2010-1-26T9:29:39+01:00</issued><modified>2010-1-26T9:29:39+01:00</modified></entry><entry><title>SharePoint 2010 Beta 2 VHD</title><id>/Blog/SharePoint2010Beta2VHDAvailableForDownload.aspx</id><created>2010-1-25T18:58:50+01:00</created><content type="text/html" mode="escaped">Se siete partner SDPS, è disponibile via ftp un VHD con installata la Beta 2 di SharePoint 2010.
&lt;br /&gt;Visitate il sito dei partner: &lt;a href="https://www.partnersdps.com/public/pages/default.aspx" title="SDPS partner program"&gt;https://www.partnersdps.com/public/pages/default.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010Beta2VHDAvailableForDownload.aspx" /><issued>2010-1-25T18:58:50+01:00</issued><modified>2010-1-25T18:58:50+01:00</modified></entry><entry><title>Mandare mail tramite l'SMTP di SharePoint</title><id>/Blog/HowToSendMailsWithSharePointSMTP.aspx</id><created>2010-1-23T13:45:9+01:00</created><content type="text/html" mode="escaped">Succede spesso di dover spedire della mail da componenti SharePoint come web part, custom page o altro.. Il modello ad oggetti ci offre il metodo SendMail della classe SPUtility, con ben quattro overload diversi.
&lt;br /&gt;Il problema è che a volte quel metodo non basta per i nostri scopi, perchè magari abbiamo la necessità di inserire degli indirizzi e-mail nei campi CC e BCC, inserire allegati o comunque effettuate una di quelle attività che normalmente ci vengono offerte dalla classe MailMessage.
&lt;br /&gt;
&lt;br /&gt;Sempre tramite modello ad oggetti però, è possibile recuperare l'indirizzo del server SMTP configurato dalla Central Administration di SharePoint ed utilizzarlo per spedire i nostri messaggi e-mail.
&lt;br /&gt;Vediamo come:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;MailMessage message = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; MailMessage();
&lt;br /&gt;message.From = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; MailAddress(&lt;span style="color: #A31515"&gt;"info@peppedotnet.it"&lt;/span&gt;);
&lt;br /&gt;message.To.Add(&lt;span style="color: #A31515"&gt;"info@peppedotnet.it"&lt;/span&gt;);
&lt;br /&gt;message.CC.Add(&lt;span style="color: #A31515"&gt;"info@peppedotnet.it"&lt;/span&gt;);
&lt;br /&gt;message.Bcc.Add(&lt;span style="color: #A31515"&gt;"info@peppedotnet.it"&lt;/span&gt;);
&lt;br /&gt;message.Subject = &lt;span style="color: #A31515"&gt;"Prova invio da SharePoint"&lt;/span&gt;;
&lt;br /&gt;message.Body = &lt;span style="color: #A31515"&gt;"Corpo del messaggio ...."&lt;/span&gt;;
&lt;br /&gt;message.IsBodyHtml = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;               
&lt;br /&gt;
&lt;br /&gt;SPWeb web = SPContext.Current.Web;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; smtpUrl = web.Site.WebApplication.OutboundMailServiceInstance.Server.Address;
&lt;br /&gt;
&lt;br /&gt;SmtpClient smtp = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SmtpClient(smtpUrl);
&lt;br /&gt;smtp.Send(message);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Dovete solamente fare attenzione ad utilizzare questo codice dopo che il servizio di Outcoming Mail è stato correttamente configurato dalla Central Administration della vostra farm SharePoint, altrimenti il codice utile a recuperare l'indirizzo del server SMTP tornerà un'eccezione di tipo NullReferenceException.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SMTP.aspx" title="TAG: SMTP"&gt;SMTP&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Central Administration.aspx" title="TAG: Central Administration"&gt;Central Administration&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToSendMailsWithSharePointSMTP.aspx" /><issued>2010-1-23T13:45:9+01:00</issued><modified>2010-1-23T13:45:9+01:00</modified></entry><entry><title>SharePoint OnLine !</title><id>/Blog/SharePointOnLine.aspx</id><created>2010-1-20T22:21:26+01:00</created><content type="text/html" mode="escaped">Dal blog di &lt;a href="http://blogs.msdn.com/arpans/archive/2010/01/12/sharepoint-online-in-the-2010-wave.aspx" title="Arpan Shah: SharePoint OnLine" target="_blank"&gt;Arpan Shah&lt;/a&gt; si legge oggi del nuovo servizio Microsoft per le aziende: SharePoint OnLine !
&lt;br /&gt;
&lt;br /&gt;Il servizio, attualmente basato sulla versione 2007 di SharePoint, è disponibile a pagamento per tutte le aziende e non che hanno la necessità di utilizzare la piattaforma di collaborazione Microsoft e non hanno effettive possibilità in termini di strutture.
&lt;br /&gt;Durante l'utilizzo del servizio, è possibile utilizzare i normali strumenti di sviluppo SharePoint per estendere la propria installazione, partendo da SharePoint Designer e arrivando fino al consumo di web services da applicazioni esterne.
&lt;br /&gt;Non ho capito bene quali siano i prezzi, ma dal sito dicono "a partire da 5 dollari al mese per utente"...
&lt;br /&gt;E' anche prevista la migrazione a SharePoint 2010 nella seconda metà del 2010, così da utilizzare il prodotto in versione RTM.
&lt;br /&gt;
&lt;br /&gt;Per ulteriori informazioni, visitate direttamente il sito:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/online/sharepoint-online.mspx" title="SharePoint OnLine" target="_blank"&gt;http://www.microsoft.com/online/sharepoint-online.mspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint OnLine.aspx" title="TAG: SharePoint OnLine"&gt;SharePoint OnLine&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointOnLine.aspx" /><issued>2010-1-20T22:21:26+01:00</issued><modified>2010-1-20T22:21:26+01:00</modified></entry><entry><title>On-line l'agenda della Microsoft SharePoint &amp; Office Conference 2010</title><id>/Blog/OnLineAgendaItalianMicrosoftSharePointOfficeConference2010.aspx</id><created>2010-1-18T14:2:4+01:00</created><content type="text/html" mode="escaped">Come già segnalato da &lt;a href="http://blogs.devleap.com/paolo/archive/2010/01/18/microsoft-sharepoint-amp-office-conference-2010-agenda-on-line.aspx" title="Paolo Pialorsi" target="_blank"&gt;Paolo&lt;/a&gt; e &lt;a href="http://blogs.devleap.com/igor/archive/2010/01/18/online-l-agenda-della-microsoft-sharepoint-amp-office-conference-2010.aspx" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt;, da oggi è on-line l'&lt;a href="http://www.sharepointconference.it/agenda.aspx" title="Agenda Microsoft SharePoint Office Conference 2010" target="_blank"&gt;agenda&lt;/a&gt; della Microsoft Sharepoint &amp; Office Conference 2010 che si terrà il 9, 10 e 11 Marzo qui a Milano.
&lt;br /&gt;Ecco qua l'indirizzo diretto: &lt;a href="http://www.sharepointconference.it/agenda.aspx" title="Agenda Microsoft SharePoint Office Conference 2010" target="_blank"&gt;http://www.sharepointconference.it/agenda.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Come potete vedere, l'agenda è veramente ricca, piena di contenuti e ben fatta. Le 4 track sono equamente divise così da permettervi la scelta degli argomenti da voi preferiti.
&lt;br /&gt;Inoltre, sono presenti anche diversi speaker internazionali tra i quali spiccano sicuramente i nomi di &lt;a href="http://www.sharepointconference.it/speakers.aspx#Jan_Tielens" title="Jan Tielens" target="_blank"&gt;Jan Tielens&lt;/a&gt; e &lt;a href="http://www.sharepointconference.it/speakers.aspx#Mike_Fitzmaurice" title="Mike Fitzmaurice" target="_blank"&gt;Mike Fitzmaurice&lt;/a&gt;
&lt;br /&gt;Le mie sessioni sono entrambe martedì 9 marzo, una alle 11.15 e l'altra alle 15.45
&lt;br /&gt;
&lt;br /&gt;Vi riporto il consiglio di entrambi: correte ad iscrivervi, così da poter usufruire degli sconti di registrazione !
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.sharepointconference.it/" title="Microsoft SharePoint Office Conference 2010" target="_blank"&gt;&lt;img src="http://www.peppedotnet.it/Images/728x90_spoc2010_201209_it.jpg" alt="Microsoft SharePoint Office Conference 2010" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/OnLineAgendaItalianMicrosoftSharePointOfficeConference2010.aspx" /><issued>2010-1-18T14:2:4+01:00</issued><modified>2010-1-18T14:2:4+01:00</modified></entry><entry><title>Confrontare le DLL di MOSS 2007 e SharePoint 2010</title><id>/Blog/DLLDifferencesBetweenMOSS2007AndSharePoint2010.aspx</id><created>2010-1-7T19:58:10+01:00</created><content type="text/html" mode="escaped">Grazie a &lt;a href="http://blogs.aspitalia.com/ricciolo/" title="Cristian Civera" target="_blank"&gt;Cristian&lt;/a&gt;, ora è disponibile su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com" target="_blank"&gt;ASPItalia.com&lt;/a&gt; il confronto tra i namespace, le classi e i membri di varie DLL di MOSS 2007 e SharePoint 2010.
&lt;br /&gt;Il tool, sviluppato in Silverlight, è disponibile a questo indirizzo:
&lt;br /&gt;&lt;a href="http://lab.ricciolo.aspitalia.com/metadatadiffviewer/metadatadiffviewer.html" title="Confrontare le DLL di MOSS 2007 e SharePoint 2010" target="_blank"&gt;http://lab.ricciolo.aspitalia.com/metadatadiffviewer/metadatadiffviewer.html&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;In attesa dalla release ufficiale e della SharePoint Conference, è sicuramente molto utile fare un giro su questo strumento. Ve lo consiglio.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/DLLDifferencesBetweenMOSS2007AndSharePoint2010.aspx" /><issued>2010-1-7T19:58:10+01:00</issued><modified>2010-1-7T19:58:10+01:00</modified></entry><entry><title>Le mie sessioni alla Microsoft SharePoint Conference 2010</title><id>/Blog/MySessions@MicrosoftSharePointConference2010.aspx</id><created>2009-12-29T18:55:33+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.sharepointconference.it/images/logo.png" alt="Microsoft SharePoint Office Conference 2010" style="float: right; margin: 5px; padding: 5px; border: solid 1px #C0C0C0" /&gt;Sono uscite la maggior-parte delle sessioni che potete seguire alla &lt;a href="http://www.sharepointconference.it/" target="_blank" title="Microsoft SharePoint Office Conference 2010"&gt;Microsoft SharePoint &amp; Office Conference 2010&lt;/a&gt; che si terrà a marzo qui a Milano il 9, 10 e 11.
&lt;br /&gt;Io ne ho ben due.. su argomenti che tra loro vanno parecchio d'accordo.
&lt;br /&gt;Ve le riporto:
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;:: Aggiornare soluzioni MOSS2007 a SharePoint 2010&lt;/b&gt;
&lt;br /&gt;Si tratta di una sessione rivolta a chi già sviluppa o ha sviluppato soluzioni con Microsoft Office SharePoint 2007 (MOSS2007) e le Visual Studio Extensions for WSS 1.x (VSeWSS 1.x). In questa sessione vedremo come preservare gli investimenti fatti e come sviluppare su MOSS2007 per poter correttamente migrare poi il codice a SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;Scaletta:&lt;ul&gt;&lt;li&gt;Feature e Solution&lt;/li&gt;&lt;li&gt;WSP&lt;/li&gt;&lt;li&gt;Visual Studio 2010 Tools for SharePoint&lt;/li&gt;&lt;li&gt;Upgrade da VSeWSS 1.x&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;:: Data provisioning con SharePoint 2010 e Visual Studio 2010&lt;/b&gt;
&lt;br /&gt;In questa sessione vedremo come sviluppare soluzione di provisioning per SharePoint 2010, creando da codice, tramite Visual Studio 2010, le strutture dati essenziali per un qualsiasi progetto SharePoint da rivendere. In particolare vedremo come creare Content Type personalizzati, List Definition basate su quei Content Type, pagine personalizzate che sfruttino i dati presenti nelle liste definite ed eventualmente Site Definition per assemblare il tutto in un modello di sito creabile N volte.
&lt;br /&gt;
&lt;br /&gt;Scaletta:&lt;ul&gt;&lt;li&gt;Content Type&lt;/li&gt;&lt;li&gt;List Definition&lt;/li&gt;&lt;li&gt;Custom Page&lt;/li&gt;&lt;li&gt;Site Definition&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;Se volete vedere, nel dettaglio, tutte le altre sessioni le trovate a questo indirizzo: &lt;a href="http://www.sharepointconference.it/sessions.aspx" target="_blank" title="Elenco sessioni alla Microsoft Office SharePoint Conference 2010"&gt;http://www.sharepointconference.it/sessions.aspx&lt;/a&gt;
&lt;br /&gt;E' già scaduta la prima trance di registrazione a prezzo scontato.. il prezzo attuale per i tre giorni è di 635 euro. Affrettatevi !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;][&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;] </content><link rel="alternate" type="text/html" href="/Blog/MySessions@MicrosoftSharePointConference2010.aspx" /><issued>2009-12-29T18:55:33+01:00</issued><modified>2009-12-29T18:55:33+01:00</modified></entry><entry><title>Errore: &quot;Failed to create sample data&quot; durante l'installazione di SharePoint 2010</title><id>/Blog/ErrorFailedToCreateSampleDataDuringSharePoint2010Installation.aspx</id><created>2009-12-25T23:20:10+01:00</created><content type="text/html" mode="escaped">Installando la beta di SharePoint 2010, mi sono scontrato tutte le volte con questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Failed to create sample Data.
&lt;br /&gt;
&lt;br /&gt;An exception of type Microsoft.Office.Server.UserProfiles.UserProfileException was thrown. Addictional exception information: Unrecognized attribute 'allowInsecureTransport'. Note that attribute names are case-sensitive (C:\Program Files\Common Files\Microsoft Shared\Web Server Extentions\14\WebClients\Profile\client.config line 56)&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;visibile anche in figura:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/failedToCreateSampleData.jpg" alt="Error: Failed to create sample data" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per risolvere il problema, basta solamente aprire il file client.config specificato nelle informazioni dettagliate dell'errore e togliere tutte le occorrenze dell'attributo "allowInsecureTransport". Fatto questo, è necessario far ripartire a mano il Configuration Wizard di SharePoint 2010.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorFailedToCreateSampleDataDuringSharePoint2010Installation.aspx" /><issued>2009-12-25T23:20:10+01:00</issued><modified>2009-12-25T23:20:10+01:00</modified></entry><entry><title>Speaker @ Microsoft SharePoint and Office Conference 2010</title><id>/Blog/Speaker@MicrosoftSharePointOfficeConference2010.aspx</id><created>2009-12-24T17:37:21+01:00</created><content type="text/html" mode="escaped">&lt;img src="http://www.sharepointconference.it/SpeakerImage.axd?image=http://www.sharepointconference.it/SpeakersPhotos/GiuseppeMarchi.jpg&amp;w=120" alt="Speaker @ SharePoint Conference" style="float: right" /&gt;Qua il natale è arrivato con due giorni d'anticipo..
&lt;br /&gt;Ieri &lt;a href="http://blogs.devleap.com/paolo/" title="Paolo Pialorsi" target="_blank"&gt;Paolo&lt;/a&gt; e &lt;a href="http://www.macori.it/" title="Igor Macori" target="_blank"&gt;Igor&lt;/a&gt;, mi hanno confermato la mia presenza come speaker alla Microsoft SharePoint &amp; Office Conference 2010 !
&lt;br /&gt;
&lt;br /&gt;Eccomi qua:
&lt;br /&gt;&lt;a href="http://www.sharepointconference.it/speakers.aspx#Giuseppe Marchi" title="Giuseppe Marchi" target="_blank"&gt;http://www.sharepointconference.it/speakers.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Dire che son contento.. è poco !!
&lt;br /&gt;A breve, vi dirò anche su cosa verteranno le mie sessioni..
&lt;br /&gt;Intanto, auguro a tutti un buon natale !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/Speaker@MicrosoftSharePointOfficeConference2010.aspx" /><issued>2009-12-24T17:37:21+01:00</issued><modified>2009-12-24T17:37:21+01:00</modified></entry><entry><title>Iscrizioni aperte per la Microsoft SharePoint &amp; Office Conference 2010</title><id>/Blog/IscrizioniApertePerLaMicrosoftSharePointConference2010.aspx</id><created>2009-12-14T19:6:53+01:00</created><content type="text/html" mode="escaped">Dal blog di &lt;a href="http://blogs.devleap.com/igor/archive/2009/12/14/il-sito-della-microsoft-sharepoint-amp-office-conference-2010-232-online.aspx" title="Igor Macori annuncia le iscrizioni alla SharePoint Conference"&gt;Igor&lt;/a&gt;, la notizia dell'apertura delle iscrizioni per la Microsoft SharePoint &amp; Office Conference 2010 che avrà luogo il 9-10-11 marzo 2010 presso il centro congressi Milanofiori ad Assago (MI).
&lt;br /&gt;Questo il sito di riferimento: &lt;a href="http://www.sharepointconference.it/default.aspx" title="Sito della Microsoft SharePoint Conference 2010"&gt;http://www.sharepointconference.it/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Da giovedì 17 dicembre, a partire dalle ore 10 in punto, avete la possibilità di iscrivervi.
&lt;br /&gt;Il mio consiglio è di affrettarsi, perchè prima si prenota e più basso è il prezzo !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;][&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Conference.aspx" title="TAG: SharePoint Conference"&gt;SharePoint Conference&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/IscrizioniApertePerLaMicrosoftSharePointConference2010.aspx" /><issued>2009-12-14T19:6:53+01:00</issued><modified>2009-12-14T19:6:53+01:00</modified></entry><entry><title>L'opzione di menu &quot;SharePoint Mapped folder&quot; di Visual Studio 2010</title><id>/Blog/SharePoint2010MappedFolderMenuOnVisualStudio2010.aspx</id><created>2009-12-12T18:47:2+01:00</created><content type="text/html" mode="escaped">Riguardo le principali novità per sviluppatori SharePoint 2010, ne abbiamo parlato già nel &lt;a href="http://www.peppedotnet.it/Articoli/VisualStudio2010FeaturesForSharePoint2010Dev.aspx" title="Le novità di Visual Studio 2010 Beta 2 per SharePoint 2010"&gt;relativo articolo&lt;/a&gt;.
&lt;br /&gt;Una piccola cosa che ho tralasciato è la presenza di nuove voci di menu, all'interno del menu "Add", utilizzato solitamente per l'inserimento di nuovi elementi all'interno della soluzione. Queste, permettono allo sviluppatore di mappare la directory "IMAGES", la directory "LAYOUTS" o un'altra delle directory presenti sotto il percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\program files\common files\microsoft shared\web server extensions\14\
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;all'interno della struttura del proprio package di progetto. 
&lt;br /&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td valign="top" style="width: 50%; padding: 15px;"&gt;&lt;a href="http://www.peppedotnet.it/images/2010/SharePointMappedFolder.jpg" title="Visual Studio 2010 - SharePoint mapped folder menu" target="_blank"&gt;&lt;img src="http://www.peppedotnet.it/images/2010/SharePointMappedFolder_s.jpg" alt="Visual Studio 2010 - SharePoint mapped folder menu" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign="top" style="width: 50%; padding: 15px;"&gt;&lt;a href="http://www.peppedotnet.it/images/2010/SharePointMappedFolder2.jpg" title="Visual Studio 2010 - SharePoint mapped folder menu" target="_blank"&gt;&lt;img src="http://www.peppedotnet.it/images/2010/SharePointMappedFolder2_s.jpg" alt="Visual Studio 2010 - SharePoint mapped folder menu" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;Così facendo, tutti i file posti in tali cartelle mappate, verrano automaticamente inseriti all'interno della soluzione ed installati sul server SharePoint 2010, nei percorsi definiti dai relativi mapping. In modo tale da poter essere disponibili per eventuali componenti personalizzati (come list o site definition, web part, ecc...) o vere e proprie applicazioni SharePoint.
&lt;br /&gt;La medesima funzionalità appena descritta, non era presente nei tools per Visual Studio legati alla versione 2007 di SharePoint, mentre era disponibile una volta installati uno degli add-in tra WSPBuilder o gli Smart Templates.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Visual Studio 2010.aspx" title="TAG: Visual Studio 2010"&gt;Visual Studio 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010MappedFolderMenuOnVisualStudio2010.aspx" /><issued>2009-12-12T18:47:2+01:00</issued><modified>2009-12-12T18:47:2+01:00</modified></entry><entry><title>Finalmente... </title><id>/Blog/SharePoint2010BackToSiteLinkWhenDeleteASite.aspx</id><created>2009-12-8T19:34:54+01:00</created><content type="text/html" mode="escaped">... hanno deciso di regalarci quel bel link per ritornare al sito padre, una volta cancellato il sito SharePoint corrente !
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/2010/WebsiteDeleted.jpg" alt="Messaggio di avvenuta cancellazione di un sito SharePoint con il link per ritornare al sito padre !!" /&gt;
&lt;br /&gt;
&lt;br /&gt;ed è solo una delle tante piccole gioie che ci da questa beta di SharePoint 2010.. ;)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010BackToSiteLinkWhenDeleteASite.aspx" /><issued>2009-12-8T19:34:54+01:00</issued><modified>2009-12-8T19:34:54+01:00</modified></entry><entry><title>Bug nell'utilizzo dell'activity OnTaskCreated all'interno di workflow SharePoint</title><id>/Blog/OnTaskCreatedNotFiredOnSharePointWorkflow.aspx</id><created>2009-12-5T16:34:37+01:00</created><content type="text/html" mode="escaped">Presso un cliente, dopo aver installato l'aggiornamento &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/07/15/announcing-availability-of-infrastructure-updates.aspx" title="Infrastructure Update for SharePoint"&gt;"Infrastructure Update for SharePoint"&lt;/a&gt;, un workflow a stati sviluppato ormai un anno fa e perfettamente funzionante, ha iniziato a dare qualche problema.
&lt;br /&gt;Dopo un pò di monitoraggio dell'applicazione mi accorgo di un comportamento veramente molto strano. L'unica attività di tipo "OnTaskCreated" che avevo utilizzato per la modifica e il completamento di un task in maniera automatica, la maggior parte delle volte non veniva neanche sollavata, altre volte si comportava normalmente mentre altre ancora veniva scatenata dopo parecchi minuti dalla creazione del relativo task. La cosa strana è che questi comportamenti avvenivano in modo del tutto &lt;span style="text-decoration: underline"&gt;indeterministico&lt;/span&gt;.
&lt;br /&gt;Inizio le solite ricerche su google e tra i vari forum e newsgroup vedo che molti si lamentano del mio stesso problema. Dopo qualche lettura qua e la, arrivo a questo articolo della KB Microsoft:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/970548" title="After you start a workflow on a server that is running SharePoint Services 3.0, you receive an error message that states an error has occurred in the workflow"&gt;http://support.microsoft.com/kb/970548&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Penso: "per fortuna.. ci sarà sicuramente un qualche hotfix da installare o comunque qualcosa che mi risolve il problema". Fin quando non vedo la risoluzione proposta....
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px; border: solid 1px #C0C0C0; padding: 3px"&gt;Method 1: In most of situations, the OnTaskCreated events are not needed. You can replace the OnTaskCreated event with either : 
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A delay activity ( for example, 5 seconds).&lt;/li&gt;&lt;li&gt;You might want to perform your code actions in a code-activity placed after the delay activity.&lt;/li&gt;&lt;/ul&gt;Method 2: An event receiver on the task list. You'll code the event receiver to perform the same actions as the OnTaskCreated. 
&lt;br /&gt;If you choose to insert a delay activity, you will need to verify the steps in the following article have been taken:&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Praticamente, a sentir loro, l'attività di tipo OnTaskCreated NON SERVE... e la possiamo sostituire tranquillamente con una delay activity o con un event handler. A saperlo prima, l'avrei sicuramente fatto...
&lt;br /&gt;Speravo facessero uscire un aggiornamento o una correzione, ma purtroppo, ho dovuto seguire anche io uno di quei metodi per rimettere in piedi il mio workflow.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/tags/SharePoint.aspx" title="Tag: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/tags/Workflow.aspx" title="Tag: Workflow"&gt;Workflow&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/tags/OnStaskCreated.aspx" title="Tag: OnTaskCreated"&gt;OnTaskCreated&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/OnTaskCreatedNotFiredOnSharePointWorkflow.aspx" /><issued>2009-12-5T16:34:37+01:00</issued><modified>2009-12-5T16:34:37+01:00</modified></entry><entry><title>Silverlight creation experience in SharePoint 2010</title><id>/Blog/SilverlightCreationExperienceInSharePoint2010.aspx</id><created>2009-11-30T10:59:25+01:00</created><content type="text/html" mode="escaped">All'interno di SharePoint 2010, Silverlight è totalmente integrato e presente di default attraverso un paio di web part di base (presenti sia nella versione Server che in SharePoint Foundation), una web part per la visualizzazione grafica dell'organizzazione della propria azienda (presente solo in SharePoint Server 2010) e un meccanismo per la scelta del template con cui creare le nuove liste all'interno dei vari siti.
&lt;br /&gt;Quest'ultima risulta davvero di notevole impatto, in quanto offre una nuova user interface veramente ricca, per la selezione delle varie tipologie di liste disponibili. Come al solito Microsoft, ha scelto il nome più sborone che poteva trovare per tale interfaccia: "the creation experience".
&lt;br /&gt;Quindi, in una normale installazione di SharePont 2010, scegliendo l'opzione "Site Actions &gt; More Options ..." si viene portati alla pagina di selezione del tipo di lista da creare.
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/images/2010/silverlightCreationExperience0.jpg" title=""&gt;&lt;img src="http://www.peppedotnet.it/images/2010/silverlightCreationExperience0_s.jpg" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Se il client con cui accede l'utente non ha installato Silverlight 3.0 (o 4.0), questa pagina risulterà di aspetto e funzionalità medesime a quanto già avevamo nella versione 2007 di SharePoint. Da notare è il fatto che il sistema si accorge della mancanza di Silverlight nel browser dell'utente e gli propone di installarlo attraverso un alert posto in alto a sinistra della pagina.
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/images/2010/silverlightCreationExperience1.jpg" title=""&gt;&lt;img src="http://www.peppedotnet.it/images/2010/silverlightCreationExperience1_s.jpg" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Una volta installato, al posto della normale pagina di selezione del template di lista, SharePoint renderizzerà una finestra modale che conterrà il nuovo controllo Silverlight utile a fornire all'utente finale una scelta del template di lista molto più immediata e gradevole.
&lt;br /&gt;Il controllo è visibile in questa figura, ma dal vivo vi assicuro che è veramente bello !
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/images/2010/silverlightCreationExperience2.jpg" title=""&gt;&lt;img src="http://www.peppedotnet.it/images/2010/silverlightCreationExperience2_s.jpg" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Questa è una delle integrazioni già disponibili tra SharePoint 2010 e Silverlight. A breve vedremo anche tutto il resto non preoccupatevi..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Server 2010.aspx" title="TAG: SharePoint Server 2010"&gt;SharePoint Server 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SilverlightCreationExperienceInSharePoint2010.aspx" /><issued>2009-11-30T10:59:25+01:00</issued><modified>2009-11-30T10:59:25+01:00</modified></entry><entry><title>SharePoint 2010 Beta is here !</title><id>/Blog/SharePoint2010AvailableOnMsdn.aspx</id><created>2009-11-16T22:8:23+01:00</created><content type="text/html" mode="escaped">Ci siamo !!
&lt;br /&gt;Da stasera, tramite l'MSDN Subscription, sono disponibili le versioni beta di SharePoint Foundation 2010 e SharePoint Server 2010 !
&lt;br /&gt;Vedere per credere..
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/sps2010download.jpg" alt="SharePoint 2010 downloads on MSDN" /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Server 2010.aspx" title="TAG: SharePoint Server 2010"&gt;SharePoint Server 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010AvailableOnMsdn.aspx" /><issued>2009-11-16T22:8:23+01:00</issued><modified>2009-11-16T22:8:23+01:00</modified></entry><entry><title>Aggiornare il contenuto di una web part di tipo ContentEditorWebPart</title><id>/Blog/HowToUpdateContentEditorWebPartContent.aspx</id><created>2009-11-15T13:20:50+01:00</created><content type="text/html" mode="escaped">La web part &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.contenteditorwebpart.aspx" title="Content Editor Web Part" target="_blank"&gt;"Content Editor Web Part"&lt;/a&gt;, disponibile sia su WSS 3.0 che (ovviamente) su MOSS 2007, viene spesso utilizzata dall'utente finale all'interno dei propri siti SharePoint in quanto di facile utilizzo anche per chi non ha alcuna confidenza con concetti di layout grafico ed impaginazione dei contenuti.
&lt;br /&gt;Tramite il modello ad oggetti esposto, è possibile modificarne il contenuto in maniera abbastanza facile, potendo inoltre decidere se passare del semplice testo o se pre-formattarlo in formato HTML.
&lt;br /&gt;Vediamo come.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (SPLimitedWebPartManager mgr = web.GetFile(&lt;span style="color: #A31515"&gt;"default.aspx"&lt;/span&gt;).GetLimitedWebPartManager(PersonalizationScope.Shared))
&lt;br /&gt;{
&lt;br /&gt;  &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (mgr != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;  {
&lt;br /&gt;      &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (Microsoft.SharePoint.WebPartPages.WebPart part &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; mgr.WebParts)
&lt;br /&gt;      {
&lt;br /&gt;         ContentEditorWebPart contentEditor = part &lt;span style="color: #0000FF"&gt;as&lt;/span&gt; ContentEditorWebPart;
&lt;br /&gt;         &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (contentEditor != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;         {
&lt;br /&gt;            XmlDocument xmlDoc = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XmlDocument();
&lt;br /&gt;            XmlElement xmlElement = xmlDoc.CreateElement(&lt;span style="color: #A31515"&gt;"HtmlContent"&lt;/span&gt;);
&lt;br /&gt;            xmlElement.InnerText = &lt;span style="color: #A31515"&gt;"&lt;DIV&gt;&lt;H2&gt;Il mio contenuto !&lt;/H2&gt;&lt;/DIV&gt;"&lt;/span&gt;;
&lt;br /&gt;            contentEditor.Content = xmlElement;                                
&lt;br /&gt;            mgr.SaveChanges(contentEditor);
&lt;br /&gt;         }
&lt;br /&gt;      }
&lt;br /&gt;   }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Questo codice può essere utile sia all'interno di una web part che all'interno di altri componenti SharePoint, che necessitano l'aggiunta della referenza alla libreria Microsoft.SharePoint.dll e ai namespace Micrsofot.SharePoint e Microsoft.SharePoint.WebPartPages.
&lt;br /&gt;Spero sia utile a qualcuno.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/ContentEditorWebPart.aspx" title="TAG: ContentEditorWebPart"&gt;ContentEditorWebPart&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToUpdateContentEditorWebPartContent.aspx" /><issued>2009-11-15T13:20:50+01:00</issued><modified>2009-11-15T13:20:50+01:00</modified></entry><entry><title>Come spostare i database di contenuto di SharePoint da una farm all'altra</title><id>/Blog/HowToDetachAndAttachSharePointContentDatabasesFromOneFarmToAnother.aspx</id><created>2009-11-3T12:20:32+01:00</created><content type="text/html" mode="escaped">Spostare i database di contenuto di Sharepoint 2007 è un'attività che è stata notevolmente semplificata rispetto alla versione precedente del prodotto, in quanto è possibile fare un detach/attach oppure un backup/restore del database tramite SQL Server Management Studio, per poi effettuare alcune operazioni eseguite a riga di comando tramite l'utilizzo dell'utility stsadm.
&lt;br /&gt;Vediamo in dettaglio tutti i passi da seguire:
&lt;br /&gt;
&lt;br /&gt;1- lanciare il comando stsadm specificando l'operazione &lt;a href="http://technet.microsoft.com/en-us/library/cc262122.aspx" title="Preparetomove: Stsadm operation (Office SharePoint Server)" target="_blank"&gt;"preparetomove"&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o preparetomove -contentdb SERVER:DBNAME - site http://mioindirizzomossVECCHIAFARM
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Questa operazione preliminare serve a preparare il database di cotenuto ad essere spostato, stoppando temporaneamente il job si sincornizzazione dei profili e del memberhsip sulla relativa web application.
&lt;br /&gt;
&lt;br /&gt;2- Effettuare un backup del database di contenuto tramite SQL Server Management Studio
&lt;br /&gt;
&lt;br /&gt;3- Effettuare il detach del database di contenuto dalla relativa web application, lanciando il comando stsadm e specificando l'operazione &lt;a href="http://technet.microsoft.com/en-us/library/cc262449.aspx" title="Deletecontentdb: Stsadm operation (Office SharePoint Server)
&lt;br /&gt;" target="_blank"&gt;"deletecontentdb"&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o deletecontentdb -url http://mioindirizzomossVECCHIAFARM -databaseserver SERVER -databasename DBNAME
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;4- Restorare il database SQL nella nuova farm tramite SQL Server Management Studio
&lt;br /&gt;
&lt;br /&gt;5- Creare una nuova web application vuota nella nuova farm, specificando un database temporaneo (DBNAME_TEMP)
&lt;br /&gt;
&lt;br /&gt;6- Effettuare il detach del database di contenuto temporaneo appena creato, tramite il comando "deletecontentdb" visto precedentemente, ma riferito alla nuova farm
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o deletecontentdb -url http://mioindirizzomossNUOVAFARM -databaseserver NEWSERVER -databasename DBNAME_TEMP
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;7- Effettuare l'attach del database di contenuto sulla nuova web application propria della nuova farm SharePoint, lanciando il comando stsadm e specificando l'operazione &lt;a href="http://technet.microsoft.com/en-us/library/cc263422.aspx" title="Addcontentdb: Stsadm operation (Office SharePoint Server)" target="_blank"&gt;"addcontentdb"&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o addcontentdb -url http://mioindirizzomossNUOVAFARM -databaseserver NEWSERVER -databasename DBNAME
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Se avete seguito correttamente tutti i passi, vi ritroverete i medesimi contenuti presenti nella vecchia farm all'interno della nuova web application propria di una nuova farm SharePoint.
&lt;br /&gt;Non è così complicato dai..
&lt;br /&gt;
&lt;br /&gt;L'unica cosa su cui fare attenzione, è l'operazione preliminare "preparetomove". Se questa, infatti, non viene lanciata, una volta attaccato il database di contenuto nella nuova farm vi ritroverete all'interno dell'event viewer dei messaggi di errore, ad intervalli di tempo regolare, del tutto simili a questo:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Failure trying to synch web application [Web_App_GUID], ContentDB [Content_DB_GUID]  Exception message was A duplicate site ID [SiteCollection_GUID]([SiteColleciton_URL]) was found. This might be caused by restoring a content database from one server farm into a different server farm without first removing the original database and then running stsadm -o preparetomove. If this is the cause, the stsadm -o preparetomove command can be used with the -OldContentDB command line option to resolve this issue.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;L'errore viene scatenato dal meccanismo di sincronizzazione dei profili che si trova due identificativi per due database di contenuto diversi, quello nuovo e quello temporaneo che abbiamo precedentemente cancellato.
&lt;br /&gt;Per risolvere questo problema, evitando di preoccuparci riguardo quanto ci dice il testo stesso dell'errore, è necessario lanciare il seguente comando:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;stsadm -o sync -deleteolddatabases 0
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Tramite l'operazione &lt;a href="http://technet.microsoft.com/en-us/library/cc263196.aspx" title="Sync: Stsadm operation (Office SharePoint Server)" target="_blank"&gt;"sync"&lt;/a&gt; dell'utility stsadm è possibile ripulire tutti i record della tabella di sincronizzazione siti/profili che corrispondono a database che non sono più legati a nessuna web application (chiaramente senza cancellarli fisicamente dal file system).
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/stsadm.aspx" title="TAG: stsadm"&gt;stsadm&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToDetachAndAttachSharePointContentDatabasesFromOneFarmToAnother.aspx" /><issued>2009-11-3T12:20:32+01:00</issued><modified>2009-11-3T12:20:32+01:00</modified></entry><entry><title>Errore sul cambiamento dell'utente all'interno del Task Scheduler di Windows Server 2008</title><id>/Blog/ErrorOnChangeRunningUserInWindowsServer2008TaskScheduler.aspx</id><created>2009-11-1T17:17:44+01:00</created><content type="text/html" mode="escaped">Il task scheduler di Windows Server 2008 ha un bug noto che si verifica al cambiamento dell'utente con cui il task dovrà essere eseguito. Errore che viene segnalato all'utente una volta che cerca di chiudere la finestra di proprietà del task schedulato, dopo aver cambiato l'utenza in questione.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/taskScheduler.jpg" alt="Windows Server 2008 Task Scheduler" /&gt;
&lt;br /&gt;
&lt;br /&gt;L'errore stmpato a video è il seguente:
&lt;br /&gt;&lt;div style="color: red; font-style:italic; margin-left: 10px"&gt;An error has occurred for task TaskName. Error message: The specified account name is not valid&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;A riguardo, c'è un hotfix specifico che corregge questo malfunzionamento. Lo potete trovare a questo indirizzo:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/953153/en-us" title="Error message when you change the running user context of a scheduled task to another domain account on a computer that is running Windows Vista or Windows Server 2008"&gt;http://support.microsoft.com/kb/953153/en-us&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Altrimenti, è possibile seguire il workaround qua descritto.
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Creare il task senza cambiare l'utente con cui questo dovrà essere eseguito.&lt;/li&gt;&lt;li&gt;Esportare il task selezionato in un file XML.&lt;/li&gt;&lt;li&gt;Cancellare il task.&lt;/li&gt;&lt;li&gt;Apire il file XML appena creato e modificare il contenuto dell'elemento "UserId" all'interno del seguente elemento:&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;div style="margin-left: 25px"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Principals&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Principal&lt;/span&gt;&lt;span style='color:#FF0000'&gt; id=”Author”&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;UserId&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;DomainName\UserName&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;UserId&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Principal&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Principals&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Salvare il file XML appena modificato.&lt;/li&gt;&lt;li&gt;Importarlo all'interno del task scheduler&lt;/li&gt;&lt;/ul&gt;</content><link rel="alternate" type="text/html" href="/Blog/ErrorOnChangeRunningUserInWindowsServer2008TaskScheduler.aspx" /><issued>2009-11-1T17:17:44+01:00</issued><modified>2009-11-1T17:17:44+01:00</modified></entry><entry><title>Hands on lab per programmatori su SharePont 2010</title><id>/Blog/SharePoint2010HandsOnLabForDevelopers.aspx</id><created>2009-10-27T20:8:36+01:00</created><content type="text/html" mode="escaped">Calma.. calma.. non è niente di nuovo. Sono dei pdf con le medesime informazioni presenti all'interno dei &lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" title="Get Started Developing on SharePoint 2010" target="_blank"&gt;video&lt;/a&gt; che avevamo già &lt;a href="http://www.peppedotnet.it/Blog/SharePoint2010SDKAndResourceCenter.aspx" title="SharePoint 2010 SDK and Resource Center "&gt;segnalato&lt;/a&gt;.
&lt;br /&gt;La differenza è che li possiamo stampare e sicuramente a qualcuno interessa ;)
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=C010FC68-B47F-4DB6-B8A8-AD4BA33A35C5&amp;displaylang=en#filelist" title="SharePoint 2010: Getting Started with Development on SharePoint 2010 Hands-on Labs in C# and Visual Basic"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=C010FC68-B47F-4DB6-B8A8-AD4BA33A35C5&amp;displaylang=en#filelist&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010HandsOnLabForDevelopers.aspx" /><issued>2009-10-27T20:8:36+01:00</issued><modified>2009-10-27T20:8:36+01:00</modified></entry><entry><title>Installare MOSS su Windows Server 2008 R2</title><id>/Blog/HowToInstallMOSSOnWindowsServer2008R2.aspx</id><created>2009-10-24T16:51:29+01:00</created><content type="text/html" mode="escaped">Se non avete a disposizione il dvd o l'immagine di MOSS 2007 completa di Service Pack 2 e se provate ad installare una versione precedente su una macchina Windows Server 2008 o Windows Server 2008 R2, la procedura di installazione verrà immeditamente bloccata a causa di un problema noto di compatibilità.
&lt;br /&gt;Nello specifico, verrà visualizzata la seguente schermata:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/InstallingMOSSonWindowsServer2008R2.jpg" alt="The program is blocked due to compatibility issues" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per fare in modo di poter completare l'installazione, è necessario quindi seguire questi passi:
&lt;br /&gt;
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Estrarre il contenuto dell'immagine o del dvd di MOSS (normale o Service Pack 1) all'interno di un folder della propria macchina&lt;/li&gt;&lt;li&gt;Scaricare il service pack 2 sia di WSS 3.0 che di MOSS 2007&lt;/li&gt;&lt;li&gt;Lanciare da linea di comando entrambi gli aggiornamenti con l'opzione /extract:"C:/MOSSImage/Updates"&lt;/li&gt;&lt;li&gt;Cancellare il file wsssetup.dll dalla cartella "Updates" presente all'interno dell'immagine di MOSS&lt;/li&gt;&lt;li&gt;Ricreare la nuova immagine con già il Service Pack 2 presente&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Sia chiaro che il percorso "C:/MOSSImage" che ho citato in una delle operazioni è da sostituire con il vostro percorso al folder contenente l'immagine di MOSS estratta o dal relativo file .iso o direttamente dal dvd, pur mantenendo il riferimento alla cartella "Updates".
&lt;br /&gt;La stessa tecnica può essere utilizzata per l'inserimento all'interno del pacchetto di installazione anche dei vari language pack, l'unica cosa cui stare attenti è di inserire gli aggiornamenti ed i language pack corretti nel caso di immagini x86 e x64.
&lt;br /&gt;Spero sia utile.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Windows Server 2008.aspx" title="TAG: Windows Server 2008"&gt;Windows Server 2008&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInstallMOSSOnWindowsServer2008R2.aspx" /><issued>2009-10-24T16:51:29+01:00</issued><modified>2009-10-24T16:51:29+01:00</modified></entry><entry><title>SharePoint 2010 SDK and Resource Center</title><id>/Blog/SharePoint2010SDKAndResourceCenter.aspx</id><created>2009-10-20T10:19:23+01:00</created><content type="text/html" mode="escaped">&lt;a href="http://www.peppedotnet.it/Blog/SharePointFoundation2010.aspx" title="SharePoint Foundation 2010"&gt;Ieri&lt;/a&gt;, è iniziata la SharePoint conference e sempre ieri, è stata annunciata la nuova versione di &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx" title="SharePoint 2010 announcement"&gt;SharePoint&lt;/a&gt; direttamente dal blog del team del prodotto.
&lt;br /&gt;Inoltre sono state rese pubbliche tutte le prime risorse di valutazione del prodotto, compreso l'SDK sia di SharePoint Foundation 2010 che di SharePoint Server 2010, che i vari developer e resource center.
&lt;br /&gt;Ecco qua tutti i link disponibili al momento:
&lt;br /&gt;
&lt;br /&gt;- &lt;a href="http://sharepoint2010.microsoft.com/Pages/default.aspx" title="Sito web di SharePoint 2010"&gt;Sito web di SharePoint 2010&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/library/dd776256.aspx" title="SDK SharePoint Products and Technologies (2010)"&gt;SDK SharePoint Products and Technologies (2010)&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx" title="SharePoint 2010 Developer Center"&gt;SharePoint 2010 Developer Center&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://technet.microsoft.com/it-it/sharepoint/ee263917(en-us).aspx" title="SharePoint Foundation 2010 Resource Center on TechNet"&gt;SharePoint Foundation 2010 Resource Center on TechNet&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://technet.microsoft.com/it-it/sharepoint/ee263917(en-us).aspx" title="SharePoint Server 2010 Resource Center on TechNet"&gt;SharePoint Server 2010 Resource Center on TechNet&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/10/19/SharePoint2010BetaDevDocsLive.aspx" title="SharePoint developer documentation team blog"&gt;SharePoint developer documentation team blog&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" title="Getting started developing on SharePoint 2010"&gt;Get Start in SharePoint 2010 per sviluppatori&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/library/ee539826(office.14).aspx" title="What s new in SharePoint Foundation 2010"&gt;What's new in SharePoint Foundation 2010&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/library/ee557323(office.14).aspx" title="What s new in SharePoint Server 2010"&gt;What's new in SharePoint Server 2010&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Ancora la documentazione tecnica è decisamente incompleta, però qualcosa di interessante qua e la, lo si può intravedere. I video, invece, della parte di get start riguardo lo sviluppo sono già molto più interessanti.
&lt;br /&gt;Buona lettura e buona visione quindi !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Server 2010.aspx" title="TAG: SharePoint Server 2010"&gt;SharePoint Server 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010SDKAndResourceCenter.aspx" /><issued>2009-10-20T10:19:23+01:00</issued><modified>2009-10-20T10:19:23+01:00</modified></entry><entry><title>SharePoint Foundation 2010</title><id>/Blog/SharePointFoundation2010.aspx</id><created>2009-10-19T19:16:53+01:00</created><content type="text/html" mode="escaped">Sto guardando giusto adesso la keynote della &lt;a href="http://www.mssharepointconference.com" title="Microsoft SharePoint Conference 2009"&gt;SharePoint Conference&lt;/a&gt; di Las Vegas, tenuta da Steve Ballmer. Confesso che mi sarebbe proprio piaciuto andarci.. ma vabbè.
&lt;br /&gt;Comunque, dicevamo.. è stato appena annunciato che la versione gratuita di SharePoint NON si chiamerà più Windows SharePoint Services, ma bensì...
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;(suspance)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;... &lt;b&gt;SharePoint Foundation 2010&lt;/b&gt; !!
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Il nome può essere condivisibile o meno, ma le caratteristiche del nuovo prodotto piaceranno sicuramente ad un sacco di gente. Questa sarà una settimana veramente piena di novità per noi sviluppatori SharePoint..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Foundation 2010.aspx" title="TAG: SharePoint Foundation 2010"&gt;SharePoint Foundation 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointFoundation2010.aspx" /><issued>2009-10-19T19:16:53+01:00</issued><modified>2009-10-19T19:16:53+01:00</modified></entry><entry><title>SharePoint events manager</title><id>/Blog/SharePointEventManagerWithAFeature.aspx</id><created>2009-10-18T20:22:37+01:00</created><content type="text/html" mode="escaped">Volevo segnalarvi un progetto veramente molto utile, presente su codeplex. Si tratta di un meccanismo di gestione degli &lt;a href="http://www.peppedotnet.it/Articoli/Wss3EventHandlers.aspx" title="Gli event handler di WSS 3.0"&gt;event handler&lt;/a&gt; di liste e document library SharePoint, accessibile da una pagina web.
&lt;br /&gt;L'attività di istallazione degli event handler è infatti da sempre un pò laboriosa, non che sia complessa sia chiaro, ma che ogni volta ti fa perdere un pò di tempo in quanto, senza l'utilizzo di tool esterni, la scelta può cadere solamente nella scrittura di una console application (o simili) oppure su di un handler legato all'evento di attivazione di una feature.
&lt;br /&gt;Con questo tool invece, è possibile aggiungere, modificare e cancellare gli eventi di una lista tramite un'interfaccia grafica intuitiva, che sicuramente accorcia i nostri tempi di sviluppo.
&lt;br /&gt;Questo il link diretto al progetto: &lt;a href="http://www.codeplex.com/speventsmanager" title="SharePoint Events Manager"&gt;http://www.codeplex.com/speventsmanager&lt;/a&gt;, dove potete trovare sia la soluzione da scaricare che qualche screenshot che vi introduce all'utilizzo della feature.
&lt;br /&gt;Confermo inoltre, che funziona con tutti i tipi di liste e document library, sia quelle di base (ovviamente) che su liste create con list definition personalizzate.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Event handler.aspx" title="TAG: Event handler"&gt;Event handler&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointEventManagerWithAFeature.aspx" /><issued>2009-10-18T20:22:37+01:00</issued><modified>2009-10-18T20:22:37+01:00</modified></entry><entry><title>Errore: &quot;The list that is referenced here no longer exists&quot;</title><id>/Blog/ErrorTheListThatIsReferencedHereNoLongerExists.aspx</id><created>2009-10-10T14:10:38+01:00</created><content type="text/html" mode="escaped">Richiamando il metodo UpdateListItems del web service Lists.asmx esposto da SharePoint, da un'applicazione Silverlight, mi sono scontrato con questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px;"&gt;ErrorCode: 0x81020026
&lt;br /&gt;ErrorText: The list that is referenced here no longer exists.&lt;/div&gt;
&lt;br /&gt;La chiamata andava a buon fine solamente se aprivo la mia applicazione silverlight da una pagina appartenente al sito di root della mia site collection, mentre nei sottositi mi ritornava sempre l'errore appena descritto. Anche se ero sicuro al 100% di passare l'identificativo giusto della mia lista.
&lt;br /&gt;L'errore stava sicuramente nell'indirizzo del web service. Si, perchè i web service di SharePoint vanno richiamati in base al sito in cui vogliono essere utilizzati ed io avevo inserito la referenza utilizzando l'indirizzo del sito di root. Mentre invece, se io volessi richiamare il web service Lists.asmx su di un sottosito, dovrei utilizzare un indirizzo del genere:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;http://server/subsite/_vti_bin/lists.asmx&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Questa la sapevo, ma non riuscivo a capire come passare tale indirizzo alla classe proxy del web service, generata da Visual Studio, secondo la sintassi definita da WCF.
&lt;br /&gt;Ecco.. basta utilizzare una nuova istanza della classe EndpointAddress e passare il corretto indirizzo del web service, così da poter effettuare operazioni sul sito SharePoint desiderato.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; wsUrl = &lt;span style="color: #A31515"&gt;"http://server/subsite/_vti_bin/lists.asmx"&lt;/span&gt;;
&lt;br /&gt;BasicHttpBinding bind = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
&lt;br /&gt;bind.MaxReceivedMessageSize = 2147483647;
&lt;br /&gt;EndpointAddress endpoint = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; EndpointAddress(wsUrl);
&lt;br /&gt;SharePointListsService.ListsSoapClient client = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SharePointListsService.ListsSoapClient(bind, endpoint);
&lt;br /&gt;client.UpdateListItemsCompleted +=
&lt;br /&gt;   &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; EventHandler&lt;SharePointListsService.UpdateListItemsCompletedEventArgs&gt;(client_UpdateListItemsCompleted);
&lt;br /&gt;
&lt;br /&gt;XElement batch = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XElement(&lt;span style="color: #A31515"&gt;"Batch"&lt;/span&gt;,
&lt;br /&gt;       &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XAttribute(&lt;span style="color: #A31515"&gt;"OnError"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Continue"&lt;/span&gt;),
&lt;br /&gt;       &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XAttribute(&lt;span style="color: #A31515"&gt;"ListVersion"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"1"&lt;/span&gt;),
&lt;br /&gt;              &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XElement(&lt;span style="color: #A31515"&gt;"Method"&lt;/span&gt;,
&lt;br /&gt;                     &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XAttribute(&lt;span style="color: #A31515"&gt;"ID"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"1"&lt;/span&gt;),
&lt;br /&gt;                     &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XAttribute(&lt;span style="color: #A31515"&gt;"Cmd"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Update"&lt;/span&gt;),
&lt;br /&gt;                     &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XElement(&lt;span style="color: #A31515"&gt;"Field"&lt;/span&gt;, &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; XAttribute(&lt;span style="color: #A31515"&gt;"Name"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Title"&lt;/span&gt;), &lt;span style="color: #A31515"&gt;"TEST"&lt;/span&gt;)));
&lt;br /&gt;
&lt;br /&gt;client.UpdateListItemsAsync(&lt;span style="color: #A31515"&gt;"{8a03009d-44eb-4ec5-9ac5-9c1841e0ac11}"&lt;/span&gt;, batch);&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Per poi gestire l'evento UpdateListItemsCompleted come meglio crediamo..
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;void&lt;/span&gt; client_UpdateListItemsCompleted(&lt;span style="color: #0000FF"&gt;object&lt;/span&gt; sender, SharePointListsService.UpdateListItemsCompletedEventArgs e)
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(e.Error == &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;        HtmlPage.Window.Alert(&lt;span style="color: #A31515"&gt;"Update done successfully !"&lt;/span&gt;);
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Senza utilizzare WCF, bastava settare la proprietà "Url" della classe proxy con l'indirizzo corretto del web service, a partire da quello proprio del sottosito SharePoint.
&lt;br /&gt;Spero possa esservi utile..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Lists web service.aspx" title="TAG: Lists web service"&gt;Lists web service&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorTheListThatIsReferencedHereNoLongerExists.aspx" /><issued>2009-10-10T14:10:38+01:00</issued><modified>2009-10-10T14:10:38+01:00</modified></entry><entry><title>Errore: &quot;The [column name] column is a read-only column that cannot be modified&quot;</title><id>/Blog/ErrorTheColumnIsAReadOnlyColumnThatCannotBeModified.aspx</id><created>2009-10-6T22:7:48+01:00</created><content type="text/html" mode="escaped">E' da ieri che son stato dietro a questo problema. Praticamente, solo su alcuni computer, con installato Office 2003, mi capitava di aprire una lista SharePoint selezionando l'opzione "Export to spreadsheet" dalla toolbar classica di WSS, e capire di non poter modificare alcun valore su nessuna colonna della mia lista. Lo stesso comportamento era stato riscontrato su tutte le liste SharePoint.
&lt;br /&gt;Eppure, su altri computer funzionava che era una meraviglia. Mah..
&lt;br /&gt;La cosa veramente strana poi, era che se aprivo la stessa lista in "datasheet view" e poi selezionavo l'opzione "Task pane" sempre dal menu "Actions", avevo la possibilità di aprire il file in Excel facendo click sul link "Export and link to Excel" e di modificarlo a mio piacimento, mantenedo sempre le modifiche sincronizzate con la mia lista SharePoint di partenza.
&lt;br /&gt;
&lt;br /&gt;Girando un pò sulla kb Microsoft, ho trovato il seguente hotfix per Office 2003:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/952608" title="Hotfix Office 2003"&gt;http://support.microsoft.com/kb/952608&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;che mi ha risolto il problema su quelle macchine in cui si verificava.
&lt;br /&gt;se vi capita, sapete dove andare a parare :)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Excel.aspx" title="TAG: Excel"&gt;Excel&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Office 2003.aspx" title="TAG: Office 2003"&gt;Office 2003&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/hotfix.aspx" title="TAG: hotfix"&gt;hotfix&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorTheColumnIsAReadOnlyColumnThatCannotBeModified.aspx" /><issued>2009-10-6T22:7:48+01:00</issued><modified>2009-10-6T22:7:48+01:00</modified></entry><entry><title>Le dipendeze tra feature SharePoint</title><id>/Blog/SharePointFeatureDependencies.aspx</id><created>2009-9-29T20:37:21+01:00</created><content type="text/html" mode="escaped">Siamo al terzo appuntamento riguardo l'utilizzo delle feature SharePoint su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com"&gt;ASPItalia&lt;/a&gt;. Questa volta è il tempo di un breve tip sulla creazione di dipedenze tra una o più features.
&lt;br /&gt;Questa è una tecnica semplice ma allo stesso tempo molto utile nel caso in cui si debba distribuire differenti feature che però utilizzano una gli oggetti e le personalizzazioni dell'altra.
&lt;br /&gt;Ecco il link diretto dello script:
&lt;br /&gt;&lt;a href="http://www.aspitalia.com/script/992/Gestire-Automaticamente-Dipendenze-Feature-SharePoint.aspx" title="Gestire automaticamente dipendenze tra feature SharePoint"&gt;http://www.aspitalia.com/script/992/Gestire-Automaticamente-Dipendenze-Feature-SharePoint.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buona lettura !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Feature.aspx" title="TAG: Feature"&gt;Feature&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointFeatureDependencies.aspx" /><issued>2009-9-29T20:37:21+01:00</issued><modified>2009-9-29T20:37:21+01:00</modified></entry><entry><title>Limiti massimi di colonne all'interno di una lista SharePoint</title><id>/Blog/MaxNumberOfColumnsInASharePointList.aspx</id><created>2009-9-26T11:44:46+01:00</created><content type="text/html" mode="escaped">Ogni tanto può capitare di dover creare delle liste SharePoint con un sacco di colonne, dei più svariati tipi. Chiaramente, c'è un limite per ogni tipologia di colonna creata che non può essere superato. Se si cerca di farlo, viene restituito dall'interfaccia utente di SharePoint il seguente errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="font-style: italic; margin-left: 10px; color: red"&gt;Column Limit Exceeded.
&lt;br /&gt;There are too many columns of the specified data type. Please delete some other columns first.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;I limiti propri di Windows SharePoint Services 3.0 sono questi:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;64 caselle di testo singola e scelta (con menu a discesa o pulsanti di opzione)&lt;/li&gt;&lt;li&gt;31 caselle di testo multipla e scelta (con l'opzione consenti selezioni multiple attivata)&lt;/li&gt;&lt;li&gt;32 numeri e valute&lt;/li&gt;&lt;li&gt;32 link ipertestuali&lt;/li&gt;&lt;li&gt;16 date e ore&lt;/li&gt;&lt;li&gt;16 lookup&lt;/li&gt;&lt;li&gt;16 Sì/No&lt;/li&gt;&lt;li&gt;8 campi calcolati&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Da notare è che molte tipologie di campi ereditano le une dalle altre, quindi in casi del genere il numero totale di campi sopra descritto va dimezzato. Per esempio, siccome il campo valuta eredita dal campo numero, possiamo avere un totale di 32 campi di questi due tipi, NON 32 di un tipo e 32 dell'altro.
&lt;br /&gt;Ulteriori informazioni sono disponibili in questo articolo della KB Microsoft: &lt;a href="http://support.microsoft.com/kb/823555/en-us" title="Column Limit Exceeded Message When You Add a New Column to a SharePoint Services List"&gt;http://support.microsoft.com/kb/823555/en-us&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MaxNumberOfColumnsInASharePointList.aspx" /><issued>2009-9-26T11:44:46+01:00</issued><modified>2009-9-26T11:44:46+01:00</modified></entry><entry><title>Creazione di un Content Type tramite una Feature in SharePoint</title><id>/Blog/ProvisioningContentTypesWithAFeature.aspx</id><created>2009-9-22T8:41:25+01:00</created><content type="text/html" mode="escaped">Come vi dicevo &lt;a href="http://www.peppedotnet.it/Blog/SharePointSiteColumnsWithFeature.aspx" title="Definizione di Site Columns tramite una Feature di SharePoint"&gt;lunedì scorso&lt;/a&gt;, oggi è stato pubblicato un altro contenuto su SharePoint sempre su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com"&gt;ASPItalia.com&lt;/a&gt; e, per rispettare le mie parole, è stato il turno dei Content Types.
&lt;br /&gt;L'utilizzo di questa tecnica, a mio parere, è fondamentale per lo sviluppo di applicazioni basate su SharePoint perchè permette di definire un'insieme di colonne personalizzate che saranno poi la struttura di una o più istanze di lista, che, una volta create, possono essere gestite e modificate da un'unica posizione. I vari cambiamenti effettuati su queste colonne, verranno poi applicati a cascata su tutte le liste che utilizzano il content type scelto per la modifica.
&lt;br /&gt;E' proprio per questo inoltre, che vi parlavo della forte connessione che esiste tra i content type e le site column, argomento del precedente tip.
&lt;br /&gt;
&lt;br /&gt;Che dire d'altro.. buona lettura !
&lt;br /&gt;Questo il link diretto al tip:
&lt;br /&gt;&lt;a href="http://www.aspitalia.com/script/991/Creazione-Content-Type-Tramite-Feature-SharePoint.aspx" title="Creazione di un Content Type tramite una Feature in SharePoint"&gt;http://www.aspitalia.com/script/991/Creazione-Content-Type-Tramite-Feature-SharePoint.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] </content><link rel="alternate" type="text/html" href="/Blog/ProvisioningContentTypesWithAFeature.aspx" /><issued>2009-9-22T8:41:25+01:00</issued><modified>2009-9-22T8:41:25+01:00</modified></entry><entry><title>Errore: &quot;The Windows SharePoint Services Timer service is NOT started!&quot;</title><id>/Blog/ErrorTheWindowsSharePointServicesTimerServiceIsNotStarted.aspx</id><created>2009-9-21T20:38:41+01:00</created><content type="text/html" mode="escaped">Utilizzo ormai da tanto il &lt;a href="http://www.codeplex.com/sharepointinstaller" title="SharePoint Solution Installer oin Codeplex"&gt;Solution Installer&lt;/a&gt; disponibile su codeplex, sopratutto legato al tool &lt;a href="http://www.codeplex.com/wspbuilder" title="WSPBuilder on Codeplex"&gt;WSPBuilder&lt;/a&gt; per il deployment delle mie personalizzazioni su SharePoint.
&lt;br /&gt;Oggi, ho iniziato il deployment su un nuovo server con installato Windows Server 2008. Lancio l'installer e vengono subito fermato al primo step da questo messaggio d'errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;The Windows SharePoint Services Timer service is NOT started!&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;errore visibile in figura:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/SolutionInstallerError.jpg" alt="Error" /&gt;
&lt;br /&gt;
&lt;br /&gt;Controllo subito i servizi e mi accorgo che invece il timer service di SharePoint sta girando correttamente.
&lt;br /&gt;Dopo un pò di prove, arrivo alla soluzione: basta eseguire l'installer con permessi di amministratore, in quando la UAC di Windows Server 2008 blocca l'operazione che effettua il controllo sullo stato del sevizio timer.
&lt;br /&gt;Quindi, mi è bastato semplicemente fare tasto destro sull'installer e scegliere l'opzioni "run as administrator" !
&lt;br /&gt;Avevo già sentito da alcuni colleghi di problemi relativi alla UAC di Windows Server 2008, ma li per li pensavo ad altro...
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Solution Installer.aspx" title="TAG: SharePoint Solution Installer"&gt;SharePoint Solution Installer&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSPBuilder.aspx" title="TAG: WSPBuilder"&gt;WSPBuilder&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Windows Server 2008.aspx" title="TAG: Windows Server 2008"&gt;Windows Server 2008&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorTheWindowsSharePointServicesTimerServiceIsNotStarted.aspx" /><issued>2009-9-21T20:38:41+01:00</issued><modified>2009-9-21T20:38:41+01:00</modified></entry><entry><title>Definizione di Site Columns tramite una Feature di SharePoint</title><id>/Blog/SharePointSiteColumnsWithFeature.aspx</id><created>2009-9-14T17:43:36+01:00</created><content type="text/html" mode="escaped">Oggi iniziano una serie di pubblicazioni riguardanti SharePoint su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com"&gt;ASPItalia.com&lt;/a&gt;, per le quali ringrazio subito &lt;a href="http://blogs.aspitalia.com/daniele/" title="Daniele Bochicchio"&gt;Daniele&lt;/a&gt;, &lt;a href="http://blogs.aspitalia.com/cradle/" title="Marco De Sanctis"&gt;Marco&lt;/a&gt; e tutti gli altri !
&lt;br /&gt;Sono contenuti che ho scritto un pò di tempo fa, ma che sono sicuro troverete veramente d'aiuto. La serie riguarda la creazione e la relativa installazione di personalizzazioni alla piattaforma SharePoint, utilizzando le features.
&lt;br /&gt;Aprono le danze le site columns:
&lt;br /&gt;&lt;a href="http://www.aspitalia.com/script/990/Definizione-Site-Columns-Tramite-Feature-SharePoint.aspx" title="Definizione di Site Columns tramite una Feature di SharePoint"&gt;http://www.aspitalia.com/script/990/Definizione-Site-Columns-Tramite-Feature-SharePoint.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;argomento di base, ma sicuramente molto importante per la creazione di applicazioni robuste e ben strutturate.
&lt;br /&gt;Poi a ruota, vedremo i content types, le list definition e le dipendenze tra features !
&lt;br /&gt;Mi raccomando.. tenete diritte le antenne !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: 
[&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Site columns.aspx" title="TAG: Site columns"&gt;Site columns&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content types.aspx" title="TAG: Content types"&gt;Content types&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointSiteColumnsWithFeature.aspx" /><issued>2009-9-14T17:43:36+01:00</issued><modified>2009-9-14T17:43:36+01:00</modified></entry><entry><title>Prima technical preview di SharePoint 2010</title><id>/Blog/First-Technical-Preview-Of-SharePoint-2010.aspx</id><created>2009-7-20T11:48:43+01:00</created><content type="text/html" mode="escaped">Dal sito Microsoft, è uscita la prima technical preview di SharePoint 2010 per noi sviluppatori. La potete trovare seguendo questo indirizzo:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=94afe886-3b20-4bc9-9a0d-acd8cd232c24" title="SharePoint Products and Technologies: 2010 (Technical Preview) Developer Documentation"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=94afe886-3b20-4bc9-9a0d-acd8cd232c24&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Ho dato uno sguardo rapido e ci ho trovato un chm con la documentazione riguardante le nuove classi introdotte fin'ora all'interno del modello ad oggetti ed un documento riguardante la personalizzazione della nuova interfaccia "a ribbon".
&lt;br /&gt;Questa viene gestita come se ogni elemento fosse una custom action, concetto aggiunto in SharePoint 3.0 (MOSS 2007), con la possibilità quindi di aggiungerne di nuove o nasconderne utilizzando una feature e uno o più elementi di configurazione di tipo "CustomAction" o "HideCustomAction".
&lt;br /&gt;La novità, oltre chiaramente alla visualizzazione a ribbon delle operazioni, sta anche nel fatto che i bottoni con cui vengono scatenate queste azioni &lt;b&gt;possono essere sovrascritti&lt;/b&gt;, cosa che invece ora non è possibile.
&lt;br /&gt;Per un overview su SharePoint 2010, vi rimando a &lt;a href="/Blog/SharePoint2010Overview.aspx" title="SharePoint 2010 Overview"&gt;questo post&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Ribbon.aspx" title="TAG: Ribbon"&gt;Ribbon&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/First-Technical-Preview-Of-SharePoint-2010.aspx" /><issued>2009-7-20T11:48:43+01:00</issued><modified>2009-7-20T11:48:43+01:00</modified></entry><entry><title>SharePoint 2010 - Overview</title><id>/Blog/SharePoint2010Overview.aspx</id><created>2009-7-13T18:59:17+01:00</created><content type="text/html" mode="escaped">Microsoft ha messo da poco on-line la prima documentazione per quanto riguarda la prossima versione di SharePoint. Sul sito di riferimento sono disponibili dei video introduttivi, dove è possibile vedere quali sono state le migiorie apportate al prodotto per quanto riguarda i professionisti IT, gli sviluppatori ed in generale chi lavora con SharePoint.
&lt;br /&gt;Ecco il sito di riferimento: &lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" title="SharePoint 2010 overview"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint 2010.aspx" title="TAG: SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2010Overview.aspx" /><issued>2009-7-13T18:59:17+01:00</issued><modified>2009-7-13T18:59:17+01:00</modified></entry><entry><title>Parameter web Url is missing or invalid.0x82000001</title><id>/Blog/SharePointErrorParameterWebUrlIsMissingOrInvalid0x82000001.aspx</id><created>2009-7-5T12:22:24+01:00</created><content type="text/html" mode="escaped">Stavo utilizzando i web service esposti da SharePoint per effettuare delle operazioni al di fuori del contesto in cui SharePoint normalmente opera. In particolare stavo utilizzando il servizio Webs.asmx per recuperare alcune informazioni sui sottositi di una site collection.
&lt;br /&gt;Fin quandom, utilizzando il metodo GetWeb(string webUrl), non incappo in questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="font-style: italic; color: red"&gt;Parameter web Url is missing or invalid.0x82000001&lt;/div&gt;
&lt;br /&gt;Li per li penso di aver passato malamente il parametro "webUrl" che necessita al metodo per funzionare. Poi, ricercando un pò su internet, mi sono accorto della presenza di questo documento di specifiche:
&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/8/5/8/858F2155-D48D-4C68-9205-29460FD7698F/%5BMS-WEBSS%5D.PDF" title="Webs web service protocolo specification"&gt;http://download.microsoft.com/download/8/5/8/858F2155-D48D-4C68-9205-29460FD7698F/%5BMS-WEBSS%5D.PDF&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;All'interno di tale documento è descritto alla perfezione l'errore in questione, cioè che è stato passato un indirizzo non valido alla proprietà URL della classe proxy, generata da Visual Studio. Vado subito a controllare ed in effetti era proprio così.
&lt;br /&gt;Visual Studio mi aveva generato correttamente la classe proxy in base ad un indirizzo che gli avevo passato manualmente in fase di creazione della nuova web reference. Poi, siccome i web service di SharePoint mantengono tutti la medesima struttura, pur potendo essere chiamati a partire da siti differenti, avevo deciso di settare il valore dell'indirizzo dato alla proprietà URL a runtime, sbagliando l'assegnamento. Ed ecco qua spiegato l'errore.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Web Service.aspx" title="TAG: Web Service"&gt;Web Service&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Webs.asmx.aspx" title="TAG: Webs.asmx"&gt;Webs.asmx&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointErrorParameterWebUrlIsMissingOrInvalid0x82000001.aspx" /><issued>2009-7-5T12:22:24+01:00</issued><modified>2009-7-5T12:22:24+01:00</modified></entry><entry><title>Come far apparire il menu di WSPBuilder in Visual Studio 2008</title><id>/Blog/HowToGetAvailableWSPBuilderMenuInVisualStudio2008.aspx</id><created>2009-6-23T20:23:54+01:00</created><content type="text/html" mode="escaped">&lt;a href="http://www.codeplex.com/wspbuilder" title="WSPBuilder"&gt;WSPBuilder&lt;/a&gt; è, a mio parere, il progetto più utile presente su &lt;a href="http://www.codeplex.com/" title="Codeplex"&gt;Codeplex&lt;/a&gt; per quanto riguarda lo sviluppo di personalizzazioni su piattaforma SharePoint. E' veramente ben fatto e ormai fondamentale per la creazione di pacchetti di deployment contenenti i propri oggetti custom.
&lt;br /&gt;L'altro giorno mi è capitata questa cosa, che potrebbe capitare magari anche a qualcuno di voi.
&lt;br /&gt;Stavo lavorando su Windows XP, installato in lingua italiana, con Visual Studio 2008 in lingua inglese. Partendo da una configurazione del genere, ho installato WSPBuilder seguendo i passi di default che propone il wizard di installazione. Riavvio l'IDE di sviluppo e vedo correttamente le nuove tipologie di progetto legate a WSPBuilder.
&lt;br /&gt;L'unica cosa invece che non avevo a disposizione erano i menu presenti all'interno del menu "strumenti" (o "tools"), tramite i quali è possibile effettuare tutte le operazioni di deploy tramite il componente gratuito presente su codeplex. Per chiarezza, uno dei due menu in questione (quello contestuale al progetto) è visibile in figura.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/wspBuilderHotfix1.jpg" alt="WSPBuilder menu contestuale al progetto" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per prima cosa quindi, dovete controllare che WSPBuilder sia presente ed abilitato all'interno di Visual Studio seguendo il percorso "Tools &gt; Add-in Manager" ed assicurandosi che il flag "Startup" sia valorizzato a true.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/wspBuilderHotfix2.jpg" alt="WSPBuilder menu contestuale al menu tools" /&gt;
&lt;br /&gt;
&lt;br /&gt;Se ancora non visualizzate i menu in questione, come è capitato anche a me, allora il problema è di tutt'altra specie. Dopo un pò di prove mi sono accorto che Visual Studio 2008, installato in lingua inglese, salva i suoi add-in all'interno del percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Purtroppo però, la directory "Application Data", all'interno di un sistema operativo Windows XP, risulta localizzata in base alla lingua del sistema operativo stesso. Quindi nel mio caso, tale folder era chiamata "Dati applicazioni".
&lt;br /&gt;Ecco perchè Visual Studio riconosceva correttamente di aver installato l'add-in relativo a WSPBuilder, ma non riusciva poi ad instanziarne i relativi menu.
&lt;br /&gt;Per rimettere a posto le cose, è stato necessario semplicemente ricreare la medesima struttura di cartelle sotto la mia "Dati applicazioni" e copiare il file "WSPTools.VisualStudio.VSAddIn.AddIn" all'interno della nuova directory "Addins".
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSPBuilder.aspx" title="TAG: WSPBuilder"&gt;WSPBuilder&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToGetAvailableWSPBuilderMenuInVisualStudio2008.aspx" /><issued>2009-6-23T20:23:54+01:00</issued><modified>2009-6-23T20:23:54+01:00</modified></entry><entry><title>Come eliminare i profili inattivi (non pi&#249; presenti in Active Directory) da MOSS 2007</title><id>/Blog/HowToCleanInactiveProfilesFromMOSS2007.aspx</id><created>2009-6-19T11:16:11+01:00</created><content type="text/html" mode="escaped">La configurazione di default per quanto riguarda l'importazione e la sincronizzazione dei propri profili utenti con Active Directory è fatta in modo che una volta che un utente viene cancellato dall'elenco presente in Active Directory, questo risulta ancora presente all'interno dei profili MOSS.
&lt;br /&gt;Tale configuraizone è molto spiacevole, in quanto anche se tale utente non risulta più essere presente all'interno del proprio dominio è comunque possibile selezionarlo all'interno di uno dei controlli SharePoint per la selezione di utenti o gruppi.
&lt;br /&gt;Per fortuna, esiste il modo per insegnare al job che effettua l'importazione dei profili in MOSS, che deve segnare come "inattivi" quei profili che non trovano più una corrispendenza all'interno di Active Directory.
&lt;br /&gt;Questa tecnica, che vale anche per SharePoint Portal Server 2003, è descritta passo per passo in questo articolo della KB Microsoft: &lt;a href="http://support.microsoft.com/kb/827754/en-us" title="How to import user profile information of enabled user accounts from Active Directory to SharePoint Portal Server 2003 or Office SharePoint Server 2007"&gt;http://support.microsoft.com/kb/827754/en-us&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;In parole povere, il servizio di importazione dei profili deve essere istruito a lasciar perdere i profili inattivi, tramite l'aggiunta del seguente filtro LDAP:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;(&amp;(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Una volta fatto questo, bisogna poi effettuare un'importazione full dei profili.
&lt;br /&gt;La pecca (perchè ne rimane sempre e comunque almeno una) sta nel fatto che se un utente risulta avere dei permessi singoli su siti, liste o elementi, questi permessi rimarranno all'interno di SharePoint così come sono stati configurati, senza però che l'utente finale possa visualizzare o scegliere in un modo qualsiasi uno dei profili che sono invece stati cancellati da Active Directory.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SPS 2003.aspx" title="TAG: SPS 2003"&gt;SPS 2003&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToCleanInactiveProfilesFromMOSS2007.aspx" /><issued>2009-6-19T11:16:11+01:00</issued><modified>2009-6-19T11:16:11+01:00</modified></entry><entry><title>Corso programmazione MOSS 2007 dal 6 al 10 luglio</title><id>/Blog/CorsoProgrammazioneMOSS2007Dal6Al10Luglio.aspx</id><created>2009-6-4T12:22:10+01:00</created><content type="text/html" mode="escaped">Dal 6 al 10 luglio 2009, ho in programma di tenere un corso piuttosto corposo riguardo lo sviluppo di applicazioni su MOSS 2007, qui a Milano. Il corso spazierà dall'utilizzo del modello ad oggetti di SharePoint per lo sviluppo delle varie personalizzazioni, alla scrittura di features, campi custom, workflow, job, moduli InfoPath, Business Data Catalog, ecc...
&lt;br /&gt;
&lt;br /&gt;Questi i dettagli:
&lt;br /&gt;Corso L50064 -MS SharePoint Server 2007 - Advanced SharePoint Development.
&lt;br /&gt;Durata 5 gg. - 6/10 luglio. La quota di partecipazione comprende anche il manuale di MOSS 2007.
&lt;br /&gt;Presso Microsys S.r.l. - Via A. Da Recanate 1 - 20124 Milano.
&lt;br /&gt;&lt;a href="http://www.pcsnet.it/PCSNetFE/corsi/dettaglioCorso.aspx?oid=0003DD&amp;catID=00001N" title="Dettagli corso MOSS 2007"&gt;http://www.pcsnet.it/PCSNetFE/corsi/dettaglioCorso.aspx?oid=0003DD&amp;catID=00001N&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Mentre questo, è un elenco dei macro argomenti che verranno toccati:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Custom Authentication&lt;/li&gt;&lt;li&gt;SharePoint Permissions&lt;/li&gt;&lt;il&gt;In-Browser Customization&lt;/li&gt;&lt;li&gt;Utilizzo di SharePoint Designer&lt;/li&gt;&lt;li&gt;Content Types&lt;/li&gt;&lt;li&gt;Site Definitions&lt;/li&gt;&lt;li&gt;Features&lt;/li&gt;&lt;li&gt;Web Services&lt;/li&gt;&lt;li&gt;Sviluppo di web part&lt;/li&gt;&lt;li&gt;Utilizzo di AJAX all'itnerno di SharePoint&lt;/li&gt;&lt;li&gt;Object model&lt;/li&gt;&lt;li&gt;Campi custom&lt;/li&gt;&lt;li&gt;Sharepoint events/timer jobs&lt;/li&gt;&lt;li&gt;Utilizzo degli Shared Services&lt;/li&gt;&lt;li&gt;Sviluppo di workflow (sia con SharePoint Designer che con Visual Studio 2008)&lt;/li&gt;&lt;li&gt;Excel services&lt;/li&gt;&lt;li&gt;Localizzazione&lt;/li&gt;&lt;li&gt;Business Data Catalog&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Come potete vedere, gli argomenti sono tanti e tutti interessanti.
&lt;br /&gt;Per partecipare o per avere semplicemente maggiorni informazioni riguardo costi ed organizzazione, scrivetemi pure all'indirizzo &lt;a href="mailto:info@peppedotnet.it" title="Giuseppe Marchi"&gt;info@peppedotnet.it&lt;/a&gt;, e se siete interessati, affrettatevi che manca meno di un mese !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS .aspx" title="TAG: MOSS "&gt;MOSS &lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CorsoProgrammazioneMOSS2007Dal6Al10Luglio.aspx" /><issued>2009-6-4T12:22:10+01:00</issued><modified>2009-6-4T12:22:10+01:00</modified></entry><entry><title>Come settare il valore di default per un campo di tipo SPFieldBoolean</title><id>/Blog/HowToSetDefaultValueInSPFieldBooleanField.aspx</id><created>2009-5-31T17:31:44+01:00</created><content type="text/html" mode="escaped">L'altro giorno mi è capitato di dover gestire un campo di tipo boolean (si/no) di una particolare lista SharePoint, attraverso il modello ad oggetti. La valorizzazione a fronte dell'inserimento o della modifica di un elemento di tale lista, risulta molto facile, in quanto la classe l'indice della classe SPListItem vuole come ti tipo un object generico, quindi per campo di tipo boolean basta passargli il valore true o false.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt; SPListItem item = list.Items.Add();
&lt;br /&gt;item[&lt;span style="color: #A31515"&gt;"Title"&lt;/span&gt;] = &lt;span style="color: #A31515"&gt;"test boolean field"&lt;/span&gt;;
&lt;br /&gt;item[&lt;span style="color: #A31515"&gt;"Boolean"&lt;/span&gt;] = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;item.Update();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Per quanto riguarda invece, la valorizzazione del valore di default che deve avere il campo in questione, è un discorso un pò più diverso. Il valore di default di un campo va inserito all'interno della proprietà DefaultValue, ereditata dalla classe di base SPField (nel caso di un campo di tipo boolean entra in gioco la classe SPFieldBoolean); tale proprietà però, è di tipo string.
&lt;br /&gt;Ecco quindi, che non possiamo più utilizzare un valore booleano per la specifica del valore di default del nostro campo, neanche trasformandolo in stringa utilizzando il metodo ToString().
&lt;br /&gt;Per raggiungere il nostro obbiettivo, dobbiamo utilizzare una sintassi un pò diversa:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://moss"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (site)
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;using&lt;/span&gt; (SPWeb web = site.OpenWeb())
&lt;br /&gt;    {
&lt;br /&gt;        SPList list = web.Lists[&lt;span style="color: #A31515"&gt;"Listname"&lt;/span&gt;];
&lt;br /&gt;        SPFieldBoolean boolean = list.Fields[&lt;span style="color: #A31515"&gt;"BooleanField"&lt;/span&gt;] &lt;span style="color: #0000FF"&gt;as&lt;/span&gt; SPFieldBoolean;
&lt;br /&gt;        boolean.DefaultValue = &lt;span style="color: #A31515"&gt;"1"&lt;/span&gt;;
&lt;br /&gt;        &lt;span style="color: #008200"&gt;//boolean.DefaultValue = &lt;span style="color: #A31515"&gt;"0"&lt;/span&gt;;&lt;/span&gt;
        boolean.Update();
&lt;br /&gt;        list.Update();
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Quindi "1" per l valore di default vero e "0" altrimenti.
&lt;br /&gt;Non mi pare di aver visto documentato niente a riguardo..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS.aspx" title="TAG: WSS"&gt;WSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToSetDefaultValueInSPFieldBooleanField.aspx" /><issued>2009-5-31T17:31:44+01:00</issued><modified>2009-5-31T17:31:44+01:00</modified></entry><entry><title>Come abilitare il menu delle variations per cambiare lingua ad un sito MOSS 2007</title><id>/Blog/HowToEnableVariationsMenuOnMoss2007.aspx</id><created>2009-5-24T13:20:20+01:00</created><content type="text/html" mode="escaped">Le variations permettono di abilitare un meccanismo di gestione multilingua dei contenuti all'interno di siti MOSS 2007 (versione sia standard che enterprise). Una volta configurate correttamente (ed installati i relativi language pack), è possibile creare una struttura gerarchica di contenuti divisi per lingua.
&lt;br /&gt;Quello che molti non sanno è come abilitare il menu per il cambiamento della lingua (visibile in figura).
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.peppedotnet.it/Images/VariationsLabelMenu.jpg" alt="Variations change language menu" /&gt;
&lt;br /&gt;
&lt;br /&gt;Per abilitarlo, bisogna togliere i caratteri di commento dalla riga:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;cms:VariationsLabelEcbMenu&lt;/span&gt;&lt;span style='color:#FF0000'&gt; id &lt;span style='color:#0000FF'&gt;="varlabelmenu1"&lt;/span&gt;
&lt;br /&gt;DataSourceID&lt;span style='color:#0000FF'&gt;="LabelMenuDataSource"&lt;/span&gt;
&lt;br /&gt;DisplayText="&lt;%$Resources:cms,VariationLabelMenuTitle%&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;"
&lt;br /&gt;IsCallbackMode="true"
&lt;br /&gt;runat="server" /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;dal file &lt;b&gt;"VariationsLabelMenu.ascx"&lt;/b&gt; presente al percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\template\controltemplates\&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Così facendo, il menu sarà visibile in ogni pagina del vostro sito MOSS, chiaramente creato con uno dei template di publishing disponibili.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Variations.aspx" title="TAG: Variations"&gt;Variations&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Multilanguage.aspx" title="TAG: Multilanguage"&gt;Multilanguage&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToEnableVariationsMenuOnMoss2007.aspx" /><issued>2009-5-24T13:20:20+01:00</issued><modified>2009-5-24T13:20:20+01:00</modified></entry><entry><title>Errore: &quot;Some or all identity references could not be translated&quot;</title><id>/Blog/SomeOrAllIdentityReferencesCouldNot BeTranslated.aspx</id><created>2009-5-5T20:44:0+01:00</created><content type="text/html" mode="escaped">Oggi, stavo rifacendo una macchina virtuale per delle prove e sono capitato in un errore proprio bizzarro.
&lt;br /&gt;Premetto che la macchina inizialmente era domain controller, poi è stata "declassata" togliendo active directory, il relativo dominio e tutto il resto. Fatto questo, ho tolto anche l'installazione di MOSS che c'era in precedenza per installare solamente WSS 3.0 SP 2.
&lt;br /&gt;Lancio l'installazione e va tutto bene fin quando non mi ritrovo questo errore che mi stoppa l'esecuzione del configuration wizard di SharePoint:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px"&gt;Failed to create the configuration database.
&lt;br /&gt;
&lt;br /&gt;An exception of type System.Security.Principal.IdentityNotMappedException was thrown.  Additional exception information: Some or all identity references could not be translated.
&lt;br /&gt;
&lt;br /&gt;System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.&lt;/div&gt;
&lt;br /&gt;Mi risultava chiaro che era qualcosa legato alle utenze che avevo specificato per la creazione del database di configurazione e della central administraion, ma non capivo bene dove potesse essere il problema. Fin quando non mi accorgo che la disinstallazione di MOSS non cancella i siti dal metabase di IIS ne, chiaramente, i relativi application pool.
&lt;br /&gt;Ecco.. all'interno dell'application pool legato al sito della central administration era registrato ancora il vecchio utente (appartenente al dominio che io avevo appena cancellato) !!
&lt;br /&gt;Da qui l'errore di mancata traduzione dell'utente di dominio, che ora invece risultava locale.
&lt;br /&gt;Il tutto è stato scatenato alla creazione della nuova central administration e del suo sito IIS, in quanto il wizard di configurazione ha deciso di prendere l'application pool già presente al posto di ricrearne uno nuovo.
&lt;br /&gt;
&lt;br /&gt;Quindi, onde evitare errori del genere, ricordatevi di controllare sempre il vostro sistema dopo una disinstallazione di MOSS, in quanto lascia intatte alcune cose qua e la..
&lt;br /&gt;Che pazienza che ci vuole eh ?
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SomeOrAllIdentityReferencesCouldNot BeTranslated.aspx" /><issued>2009-5-5T20:44:0+01:00</issued><modified>2009-5-5T20:44:0+01:00</modified></entry><entry><title>WSS e MOSS Service Pack 2</title><id>/Blog/WSSAndMossServicePack2.aspx</id><created>2009-5-1T11:59:30+01:00</created><content type="text/html" mode="escaped">Come &lt;a href="http://www.peppedotnet.it/Blog/SharePointSP2OnApril28.aspx" title="SharePoint Service Pack 2 per il 28 aprile "&gt;vi avevo preannunciato&lt;/a&gt;, lo scorso 28 aprile &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/04/28/announcing-service-pack-2-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx" title="Announcing Service Pack 2 for Office SharePoint Server 2007 and Windows SharePoint Services 3.0"&gt;è stato rilasciato il service pack 2&lt;/a&gt; della famiglia dei prodotti Office 2007. Tra questi, ovviamente anche WSS 3.0 e MOSS 2007.
&lt;br /&gt;Vi lascio i link per i download:
&lt;br /&gt;
&lt;br /&gt;- WSS SP2
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=79BADA82-C13F-44C1-BDC1-D0447337051B&amp;displaylang=en" title="Download WSS SP2"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=79BADA82-C13F-44C1-BDC1-D0447337051B&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;- MOSS SP2
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&amp;displaylang=en" title="Downalod MOSS SP2""&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Come sempre, ricordo di provare i nuovi aggiornamenti in ambienti di test, onde evitare spiacevoli sorprese.
&lt;br /&gt;Buon download!
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Service Pack 2.aspx" title="TAG: Service Pack 2"&gt;Service Pack 2&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WSSAndMossServicePack2.aspx" /><issued>2009-5-1T11:59:30+01:00</issued><modified>2009-5-1T11:59:30+01:00</modified></entry><entry><title>SharePoint Service Pack 2 per il 28 aprile</title><id>/Blog/SharePointSP2OnApril28.aspx</id><created>2009-4-16T19:44:17+01:00</created><content type="text/html" mode="escaped">Il team relativo ai serivce pack dei programmi del pacchetto Office, ha rilasciato oggi la data ufficiale del service pack 2 di Office 2007, in cui è compreso anche SharePoint 2007.
&lt;br /&gt;Qui per maggiori informazioni:
&lt;br /&gt;&lt;a href="http://blogs.technet.com/office_sustained_engineering/archive/2009/04/16/service-pack-2-for-the-2007-microsoft-office-system-due-to-ship-april-28th.aspx" title="Service Pack 2 for the 2007 Microsoft Office System due to ship April 28th"&gt;http://blogs.technet.com/office_sustained_engineering/archive/2009/04/16/service-pack-2-for-the-2007-microsoft-office-system-due-to-ship-april-28th.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Service Pack.aspx" title="TAG: Service Pack"&gt;Service Pack&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointSP2OnApril28.aspx" /><issued>2009-4-16T19:44:17+01:00</issued><modified>2009-4-16T19:44:17+01:00</modified></entry><entry><title>Sviluppare una web part che funga da host per un'applicazione Silverlight</title><id>/Blog/SilverlightWebPart.aspx</id><created>2009-4-6T17:14:55+01:00</created><content type="text/html" mode="escaped">Per pubblicare un'applicazione Silverlight all'interno del contesto di SharePoint, quindi in una delle sue pagine, possiamo tranquillamente inserire un elemento di tipo "object" che mantenga il riferimento al file .xap relativo alla nostra applicazione.
&lt;br /&gt;Questa operazione la possiamo fare sia tramite SharePoint Designer, che tramite una web part custom che utilizzando la content editor web part offerta da SharePoint stesso.
&lt;br /&gt;Così facendo però, ci perdiamo un pò delle funzionalità che invece ci vengono date dal web control "&lt;a href="http://msdn.microsoft.com/it-it/library/system.web.ui.silverlightcontrols.silverlight(VS.95).aspx" title="Silverlight class"&gt;Silverlight&lt;/a&gt;", presente all'interno del namespace "System.Web.UI.SilverlightControls", inserito nell'assembly "System.Web.Silverlight.dll".
&lt;br /&gt;
&lt;br /&gt;Una volta installato ed &lt;a href="http://www.peppedotnet.it/Blog/HowToEnableFramework35InASharePointSiteCollection.aspx" title="Abilitare il Framework 3.5 su una site collection SharePoint tramite una feature"&gt;abilitato il .NET Framework 3.5&lt;/a&gt; all'interno della site collection in cui abbiamo intenzione di inserire la nostra applicazione Silverlight, non dobbiamo far altro che sviluppare una web part che funga da host per tale applicazione, utilizzando (appunto) le classi Silverlight e ScriptManager.
&lt;br /&gt;Ecco un semplice esempio:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Linq;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Text;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; Microsoft.SharePoint;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Diagnostics;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Web.UI.WebControls.WebParts;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebPartPages;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Web.UI;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Web.UI.WebControls;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Web.UI.SilverlightControls;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;namespace&lt;/span&gt; Peppe.Silverlight.WebParts
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;class&lt;/span&gt; SilverlightWebPart : System.Web.UI.WebControls.WebParts.WebPart
&lt;br /&gt;    {
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; Silverlight silverlightControl;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; ScriptManager scriptManager;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; xapLocation;
&lt;br /&gt;
&lt;br /&gt;        [WebBrowsable(&lt;span style="color: #0000FF"&gt;true&lt;/span&gt;),
&lt;br /&gt;         Personalizable(&lt;span style="color: #0000FF"&gt;true&lt;/span&gt;),
&lt;br /&gt;         WebPartStorage(Storage.Shared),
&lt;br /&gt;         WebDisplayName(&lt;span style="color: #A31515"&gt;"Xap location"&lt;/span&gt;),
&lt;br /&gt;         WebDescription(&lt;span style="color: #A31515"&gt;"Path of the silverlight application file"&lt;/span&gt;),
&lt;br /&gt;         SPWebCategoryName(&lt;span style="color: #A31515"&gt;"Options"&lt;/span&gt;)]
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; XapLocation
&lt;br /&gt;        {
&lt;br /&gt;            get { &lt;span style="color: #0000FF"&gt;return&lt;/span&gt; xapLocation; }
&lt;br /&gt;            set { xapLocation = value; }
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; Render(HtmlTextWriter writer)
&lt;br /&gt;        {
&lt;br /&gt;            EnsureChildControls();
&lt;br /&gt;
&lt;br /&gt;            &lt;span style="color: #008200"&gt;//passaggio di eventuali parametri all'applicazione Silverlight&lt;/span&gt;
            silverlightControl.InitParameters = &lt;span style="color: #A31515"&gt;"Param1=..."&lt;/span&gt;;
&lt;br /&gt;            
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;base&lt;/span&gt;.Render(writer);
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; OnInit(EventArgs e)
&lt;br /&gt;        {
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;base&lt;/span&gt;.OnInit(e);
&lt;br /&gt;            
&lt;br /&gt;            ScriptManager scriptManager = ScriptManager.GetCurrent(&lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.Page);
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (scriptManager == &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;            {
&lt;br /&gt;                scriptManager = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; ScriptManager();
&lt;br /&gt;                scriptManager.ID = &lt;span style="color: #A31515"&gt;"currentScriptManager"&lt;/span&gt;;
&lt;br /&gt;                Page.Form.Controls.AddAt(0, scriptManager);
&lt;br /&gt;            }
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; CreateChildControls()
&lt;br /&gt;        {
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;base&lt;/span&gt;.CreateChildControls();
&lt;br /&gt;
&lt;br /&gt;            silverlightControl = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; System.Web.UI.SilverlightControls.Silverlight();
&lt;br /&gt;            silverlightControl.ID = &lt;span style="color: #A31515"&gt;"silverlightControl"&lt;/span&gt;;
&lt;br /&gt;            silverlightControl.Width = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Unit(&lt;span style="color: #A31515"&gt;"400px"&lt;/span&gt;);
&lt;br /&gt;            silverlightControl.Height = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Unit(&lt;span style="color: #A31515"&gt;"300px"&lt;/span&gt;);
&lt;br /&gt;            &lt;span style="color: #008200"&gt;//silverlightControl.Width = Width;&lt;/span&gt;
            &lt;span style="color: #008200"&gt;//silverlightControl.Height = Height;&lt;/span&gt;
            silverlightControl.Source = xapLocation;
&lt;br /&gt;            Controls.Add(silverlightControl);
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Una volta che avete compilato ed installato tale web part, vi dovete assicurare di avere o nella GAC del server o nella /BIN della directory mappata del sito SharePoint l'assembly "System.Web.Silverlight.dll".
&lt;br /&gt;Poi, va creata la directory "ClientBin" (tale nome non è assolutamente vincolante) all'interno della cartella mappata dal sito IIS proprio della vostra web application SharePoint (dove è presenta il web.config e la cartella /BIN, per intenderci), così facendo potrete inserire il path
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;/ClientBin/SilverlightApplication.xap&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;all'interno della proprietà "Xap location" della web part custom appena vista.
&lt;br /&gt;Ed ecco pronta la vostra web part host per qualsiasi applicazione Silverlight avete deciso di inserire all'interno delle pagine di SharePoint.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Silverlight.aspx" title="TAG: Silverlight"&gt;Silverlight&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/.NET 3.5.aspx" title="TAG: .NET 3.5"&gt;.NET 3.5&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SilverlightWebPart.aspx" /><issued>2009-4-6T17:14:55+01:00</issued><modified>2009-4-6T17:14:55+01:00</modified></entry><entry><title>Abilitare il Framework 3.5 su una site collection SharePoint tramite una feature</title><id>/Blog/HowToEnableFramework35InASharePointSiteCollection.aspx</id><created>2009-4-5T10:47:15+01:00</created><content type="text/html" mode="escaped">Per abilitare il framework 3.5 all'interno di una site collection SharePoint, dopo averlo chiaramente installato, sono necessarie delle modifiche manuali al web.config; tali modifiche sono semplicemente delle aggiunte per quanto riguarda specifiche sezioni del file di configurazione.
&lt;br /&gt;Sulla rete, ci sono vari post che spiegano come farlo manualmente:
&lt;br /&gt;- &lt;a href="http://weblogs.asp.net/jan/archive/2008/10/10/enabling-net-3-5-in-sharepoint-2007-sites-the-lazy-way.aspx" title="Enabling .NET 3.5 in SharePoint 2007 Sites, the Lazy Way"&gt;http://weblogs.asp.net/jan/archive/2008/10/10/enabling-net-3-5-in-sharepoint-2007-sites-the-lazy-way.aspx&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://www.zimmergren.net/archive/2008/09/22/how-to-get-up-and-running-with-net-3-5-in-your-sharepoint-environment.aspx" title="How to: Get up and running with .NET 3.5 in your SharePoint environment"&gt;http://www.zimmergren.net/archive/2008/09/22/how-to-get-up-and-running-with-net-3-5-in-your-sharepoint-environment.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Io, per comodità, mi sono creato una bella feature che facesse questo lavoro al posto mio.
&lt;br /&gt;Praticamente, attraverso la gestione degli eventi FeatureActivated e FeatureDeactivated, la feature è in grado di aggiungere automaticamente le sezioni necessarie al .NET Framework 3.5, all'interno del file web.config proprio della web application in cui la feature viene abilitata (e, se disattivata, provvedere a toglierle).
&lt;br /&gt;Ecco la definizione di tale feature:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="utf-8"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Id&lt;span style='color:#0000FF'&gt;="7B1B1CC5-0BC4-4baa-A8E4-238879FF6A08"&lt;/span&gt;
&lt;br /&gt;    Title&lt;span style='color:#0000FF'&gt;="$Resources:FeatureTitle;"&lt;/span&gt;
&lt;br /&gt;    Description&lt;span style='color:#0000FF'&gt;="$Resources:FeatureDesc;"&lt;/span&gt;
&lt;br /&gt;    Creator&lt;span style='color:#0000FF'&gt;="$Resources:FeatureAuthor;"&lt;/span&gt;
&lt;br /&gt;    Version&lt;span style='color:#0000FF'&gt;="1.0.0.0"&lt;/span&gt;
&lt;br /&gt;    Scope&lt;span style='color:#0000FF'&gt;="Site"&lt;/span&gt;
&lt;br /&gt;    Hidden&lt;span style='color:#0000FF'&gt;="FALSE"&lt;/span&gt;
&lt;br /&gt;    DefaultResourceFile&lt;span style='color:#0000FF'&gt;="_Res"&lt;/span&gt;
&lt;br /&gt;    ReceiverAssembly&lt;span style='color:#0000FF'&gt;="Peppe.SP.Features.Framework35,
&lt;br /&gt;                      Version=1.0.0.0, Culture=neutral,
&lt;br /&gt;                      PublicKeyToken=0e47140cf46a038c"&lt;/span&gt;
&lt;br /&gt;    ReceiverClass&lt;span style='color:#0000FF'&gt;="Peppe.SP.Features.Framework35.FeatureHandler"&lt;/span&gt;
&lt;br /&gt;    xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Una volta installata, sarà disponibile a livello di site collection (in modo tale che possa recuperare in automatico il path corretto del file web.config):
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/Framework35Feature.jpg" alt="Enable Framework 3.5 in a feature" /&gt;
&lt;br /&gt;
&lt;br /&gt;Una volta abilitata, sarete in grado di utilizzare tutte le funzionalità proprie del .NET Framework 3.5 tra cui i nuovi controlli ASP.NET 3.5, LINQ, Silverlight, ecc...
&lt;br /&gt;Vi lascio sia il file .wsp di soluzione, già compilato, che i sorgenti. Fatene buon uso !
&lt;br /&gt;- &lt;a href="/zip/Framework35.zip" title="WSP Solution"&gt;WSP Solution&lt;/a&gt;
&lt;br /&gt;- &lt;a href="/zip/Peppe.SP.Features.Framework35.zip" title="Source code"&gt;Source code&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/.NET 3.5.aspx" title="TAG: .NET 3.5"&gt;.NET 3.5&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToEnableFramework35InASharePointSiteCollection.aspx" /><issued>2009-4-5T10:47:15+01:00</issued><modified>2009-4-5T10:47:15+01:00</modified></entry><entry><title>SharePoint Designer FREE !!</title><id>/Blog/SharePointDesigner2007FREE.aspx</id><created>2009-4-2T12:25:47+01:00</created><content type="text/html" mode="escaped">Non so di preciso da quando, ma credo da pochissimi giorni, Microsoft ha deciso di rilasciare SharePoint Designer 2007 gratuitamente !
&lt;br /&gt;Ecco il link per il download:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=BAA3AD86-BFC1-4BD4-9812-D9E710D44F42&amp;displaylang=en" title="SharePoint Designer 2007 download page"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=BAA3AD86-BFC1-4BD4-9812-D9E710D44F42&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint Designer.aspx" title="TAG: SharePoint Designer"&gt;SharePoint Designer&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointDesigner2007FREE.aspx" /><issued>2009-4-2T12:25:47+01:00</issued><modified>2009-4-2T12:25:47+01:00</modified></entry><entry><title>Come stampare il giorno in lettere in un campo calcolato</title><id>/Blog/HowToPrintDayInLettersInASharePointCalulatedField.aspx</id><created>2009-4-1T19:2:35+01:00</created><content type="text/html" mode="escaped">Oggi, ho dovuto creare un campo calcolato in cui doveva essere visualizzato il giorno in lettere in base alla data presente all'interno di un secondo campo (ovviamente di tipo data).
&lt;br /&gt;Ecco qua la formula necessaria:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;=TEXT(WEEKDAY([StartDate]);&lt;span style="color: #A31515"&gt;"dddd"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;che, in caso di un sito creato tramite i template in lingua italiana, diventa:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;=TESTO(GIORNO.SETTIMANA([StartDate]);&lt;span style="color: #A31515"&gt;"dddd"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Ci tengo a segnalarlo, perchè all'interno della documentazione di SharePoint, tale esempio è riportato in maniera inesatta. Precisamente a questo link:
&lt;br /&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointtechnology/HA101054791033.aspx#2" title="Esempi di formule comuni in SharePoint"&gt;http://office.microsoft.com/en-us/sharepointtechnology/HA101054791033.aspx#2&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;L'errore sta nella virgola, al posto del punto e virgola..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToPrintDayInLettersInASharePointCalulatedField.aspx" /><issued>2009-4-1T19:2:35+01:00</issued><modified>2009-4-1T19:2:35+01:00</modified></entry><entry><title>Microsoft Technology Specialist - WSS 3.0 Configuring</title><id>/Blog/MCTS_WSS3_Configuring.aspx</id><created>2009-3-5T9:59:2+01:00</created><content type="text/html" mode="escaped">&lt;img src="/Images/MCTS_WSS_CONF.gif" alt="Microsoft Technology Specialist - WSS 3.0 Configuring" style="float: right" /&gt;Ho passato da poco l'esame 70-631, Windows SharePoint Services 3.0 - Configuring, chiudendo così il mio percorso su SharePoint (sia la parte di WSS 3.0 che di MOSS 2007).
&lt;br /&gt;Con il punteggio sono rimasto più o meno in media.. ho preso 918 !
&lt;br /&gt;Dopo questa serie, che ovviamente mi è piaciuta tantissimo, mi sa che è ora che mi butto sugli esami del framework 3.0 e 3.5 ...
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MCTS.aspx" title="TAG: MCTS"&gt;MCTS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MCTS_WSS3_Configuring.aspx" /><issued>2009-3-5T9:59:2+01:00</issued><modified>2009-3-5T9:59:2+01:00</modified></entry><entry><title>SharePoint site definition - Error: Value cannot be null. Parameter name: g</title><id>/Blog/SharePointSiteDefinitionErrorValueCannotBeNullParameterNameG.aspx</id><created>2009-1-31T12:34:56+01:00</created><content type="text/html" mode="escaped">Ieri mi è capitata questa cosa, e ve la scrivo perchè è veramente da pazzi..
&lt;br /&gt;Ho perso un pomeriggio intero per cercare di capire cosa c'era che non andava su una site definition SharePoint personalizzata che mi sono scritto per iniziare delle prove di migrazione da una intranet realizzata con SharePoint Portal Server 2003 da migrare chiaramente a MOSS 2007.
&lt;br /&gt;Inizialmente, quando cercavo di creare un nuovo sito basato sulla mia site definition, questo andava in errore senza dirmi in particolare dove stessi sbagliando. Guardo nel log e mi trovo questa dicitura:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;Error in activating site-scoped feature on "http://servername" - Error: Value cannot be null. Parameter name: g&lt;/div&gt;
&lt;br /&gt;In effetti avevo inserito, all'interno del file onet.xml della mia nuova site definition, alcuni riferimenti a delle feature sviluppate per migrare anche le definizioni di liste. Eppure mi sembrava che fosse tutto scritto bene, anche perchè avevo copiato l'elemento Feature, direttamente dal file feature.xml di ogni feature che volevo aggiungere.
&lt;br /&gt;Qunidi, mi ritrovavo all'interno del file onet.xml riferimenti di questo tipo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Id&lt;span style='color:#0000FF'&gt;="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;che, come vi dicevo, ho copiato direttamente dal file di definizione della feature stessa:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="utf-8"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Id&lt;span style='color:#0000FF'&gt;="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF"&lt;/span&gt;
&lt;br /&gt;    Title&lt;span style='color:#0000FF'&gt;="bla bla bla"&lt;/span&gt;
&lt;br /&gt;    Description&lt;span style='color:#0000FF'&gt;=""&lt;/span&gt;
&lt;br /&gt;    Version&lt;span style='color:#0000FF'&gt;="1.0.0.0"&lt;/span&gt;
&lt;br /&gt;    Scope&lt;span style='color:#0000FF'&gt;="Web"&lt;/span&gt;
&lt;br /&gt;    Hidden&lt;span style='color:#0000FF'&gt;="FALSE"&lt;/span&gt;
&lt;br /&gt;    xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifests&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifest&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Location&lt;span style='color:#0000FF'&gt;="ListTemplates\MioTemplate.xml"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifests&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Quindi non trovavo proprio ragioni valide per cui non dovesse funzionare.
&lt;br /&gt;Allo stesso tempo però, se toglievo i riferimenti alle mie fetuare, la site definition funzionava correttamente.
&lt;br /&gt;
&lt;br /&gt;Bene, dopo ore di prove e riprove, sono arrivato all'illumunazione (che è stata seguita da un'incazzatura notevole): l'attributo id dell'elemento Feature è case-sensitive, quindi va scritto TUTTO MAIUSCOLO....
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Incredibile vero ?
&lt;br /&gt;Ora, penso proprio che sia case-sensitive tutto il file onet.xml, ma non ho avuto tempo e modo di provarlo.. avrei sicuramente spaccato il pc :D
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Site definition.aspx" title="TAG: Site definition"&gt;Site definition&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Feature.aspx" title="TAG: Feature"&gt;Feature&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointSiteDefinitionErrorValueCannotBeNullParameterNameG.aspx" /><issued>2009-1-31T12:34:56+01:00</issued><modified>2009-1-31T12:34:56+01:00</modified></entry><entry><title>Come recuperare la stringa di connessione al database di configurazione di SharePoint</title><id>/Blog/HowToGetSharePointConfigDatabaseConnectionString.aspx</id><created>2009-1-14T10:56:58+01:00</created><content type="text/html" mode="escaped">All'interno del registro del server in cui è installato SharePoint è possibile recuperare la stringa di connessione al database di configuraizone, senza doverla scrivere a mano.
&lt;br /&gt;A me è servita.. soprattutto pensando ad eventuali cambiamenti del nome di tale database.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;static&lt;/span&gt; &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; GetConfigDBConnectionString()
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; connectionString = &lt;span style="color: #A31515"&gt;""&lt;/span&gt;;
&lt;br /&gt;    SPSecurity.RunWithElevatedPrivileges(&lt;span style="color: #0000FF"&gt;delegate&lt;/span&gt;()
&lt;br /&gt;    {
&lt;br /&gt;        &lt;span style="color: #008200"&gt;//recupero la chiave tramite il suo percorso
&lt;/span&gt;
        RegistryKey key = Registry.LocalMachine.OpenSubKey(@&lt;span style="color: #A31515"&gt;"Software\Microsoft\" +&lt;/span&gt; 
&lt;br /&gt;            &lt;span style="color: #A31515"&gt;@"Shared Tools\Web Server Extensions\12.0\Secure\ConfigDB"&lt;/span&gt;);
&lt;br /&gt;
&lt;br /&gt;        connectionString = String.Format(&lt;span style="color: #A31515"&gt;"{0}"&lt;/span&gt;, key.GetValue(&lt;span style="color: #A31515"&gt;"dsn"&lt;/span&gt;));
&lt;br /&gt;    });
&lt;br /&gt;
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;return&lt;/span&gt; connectionString;
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToGetSharePointConfigDatabaseConnectionString.aspx" /><issued>2009-1-14T10:56:58+01:00</issued><modified>2009-1-14T10:56:58+01:00</modified></entry><entry><title>Errore durante l'utilizzo della web part SharePoint List Filter</title><id>/Blog/ErrorOnUseSharePointListFilter.aspx</id><created>2008-12-22T17:58:3+01:00</created><content type="text/html" mode="escaped">Pochi giorni fa mi sono imbattuto su un errore abbastanza strano mentre stavo cercando di utilizzare la web part "SharePoint List Filter", facente parte del pacchetto di web part proprie della versione Enterprise di MOSS 2007.
&lt;br /&gt;Una volta configurata la lista sulla quale volevo effettuare il filtro ed aggiunta la web part in questione, cercando di procedere con la selezione del valore del mio filtro, il pop-up di scelta mi ha renderizzato questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic"&gt;An error occurred while retrieving the filter values. One or more columns used for the filter does not exist.&lt;/div&gt;
&lt;br /&gt;&lt;img src="/Images/ListFilterError.jpg" alt="SharePoint List Filter error" /&gt;
&lt;br /&gt;
&lt;br /&gt;Eppure ero sicuro che la colonna che ho configurato all'interno della web part filtro era la stessa con cui poi ho effettuato la connessione. Poi però, mi sono accorto di una cosa...
&lt;br /&gt;Avevo impostato il filtro su una colonna che di base era la colonna Title. Come sappiamo il campo Title è un campo particolare perchè può essere renderizzato solamente come valore, oppure come link diretto all'elemento, o ancora come menu contestuale relativo al medesimo elemento. Di default la web part che enumera tutti gli elementi di una singola lista presenta a video la vista di default, che la maggiorparte delle volte contiene la colonna LinkTitle (che renderizza il menu contestuale) e non la colonna semplice Title. Ecco perchè la web part filtro mi dice che sto utilizzando una colonna che non esiste.
&lt;br /&gt;
&lt;br /&gt;Ecco come risolvere questo problema:
&lt;br /&gt;
&lt;br /&gt;1- creiamo una nuova vista, inserendo il campo Title e togliendo il campo LinkTitle
&lt;br /&gt;&lt;img src="/Images/ListFilterErrorNewView.jpg" alt="SharePoint List Filter error - creazione di una nuova vista" /&gt;
&lt;br /&gt;n.b.: nel nostro caso, il campo Title è stato rinominato in "Last Name", in quanto ho utilizzato una lista di tipo "Contacts".
&lt;br /&gt;
&lt;br /&gt;2- rimuoviamo la connessione esistente tra la web part filtro e la lista:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/ListFilterErrorRemoveConnection.jpg" alt="SharePoint List Filter error - rimozione della connessione tra web part filtro e lista" /&gt;
&lt;br /&gt;
&lt;br /&gt;3- modifichiamo le proprietà della web part filtro, in modo tale da farla puntare alla nostra nuova vista:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/ListFilterErrorConfigureToolPane.jpg" alt="SharePoint List Filter error - modifica delle proprietà della web part filtro" /&gt;
&lt;br /&gt;
&lt;br /&gt;4- ricreiamo la connessione tra la web part filtro e la lista:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/ListFilterErrorAddConnection.jpg" alt="SharePoint List Filter error - creazione della connessione tra web part filtro e lista" /&gt;
&lt;br /&gt;
&lt;br /&gt;Così facendo, siamo ora in grado di sfruttare a pieno le potenzialità della web part "SharePoint List Filter".
&lt;br /&gt;Adesso però... è proprio ora di andare in vacanza !! :)
&lt;br /&gt;Buone feste a tutti !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint List Filter.aspx" title="TAG: SharePoint List Filter"&gt;SharePoint List Filter&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorOnUseSharePointListFilter.aspx" /><issued>2008-12-22T17:58:3+01:00</issued><modified>2008-12-22T17:58:3+01:00</modified></entry><entry><title>Speciale Windows SharePoint Services 3.0</title><id>/Blog/SpecialeWindowsSharePointServices3.aspx</id><created>2008-11-28T11:18:0+01:00</created><content type="text/html" mode="escaped">E' con enorme piacere che vi segnalo lo speciale di questo mese pubblicato su &lt;a href="http://www.aspitalia.com" title="ASPItalia.com"&gt;ASPItalia.com&lt;/a&gt; !
&lt;br /&gt;L'intero speciale è incentrato su Windows SharePoint Service 3.0, argomento nuovo per il network ma ormai da anni sulla bocca di tutti. Ne parlo con piacere ed orgoglio, perchè al suo interno trovate due miei articoli (in realtà uno, diviso in due parti) sul modello ad oggetti esposto da SharePoint utilizzabile per le nostre personalizzazioni da applicare alla nota piattaforma di collaborazione Microsoft.
&lt;br /&gt;Oltre a miei due articoli, lo speciale è composto da 3 tip scritti da &lt;a href="http://www.aspitalia.com/autori/Cristian_Civera.aspx" title="Cristian Civera"&gt;Cristian&lt;/a&gt; e &lt;a href="http://www.aspitalia.com/autori/Marco_Leoncini.aspx" title="Marco Leoncini"&gt;Marco&lt;/a&gt;:&lt;ul&gt;&lt;li&gt;L'object model di Microsoft SharePoint - Prima parte - di Giuseppe Marchi&lt;/li&gt;&lt;li&gt;#965 - Personalizzare la MasterPage di SharePoint - di Marco Leoncini&lt;/li&gt;&lt;li&gt;L'object model di Microsoft SharePoint - Seconda parte - di Giuseppe Marchi&lt;/li&gt;&lt;li&gt;#966 - Scambio di dati tra webpart di SharePoint - di Marco Leoncini&lt;/li&gt;&lt;li&gt;#967 - Sviluppare Feature per SharePoint - di Cristian Civera&lt;/li&gt;&lt;/ul&gt;In parallelo all'uscita di questo speciale è stata creata anche un'apposita sezione all'interno del network proprio per scorrere solamente i contenuti riguardati SharePoint. Tale sezione la potete trovare a questo indirizzo (con relativo feed rss):&lt;ul&gt;&lt;li&gt;&lt;a href="http://sharepoint.aspitalia.com/" title="SharePoint @ ASPItalia.com"&gt;http://sharepoint.aspitalia.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tags.aspitalia.com/rss/SharePoint/" title="SharePoint Rss @ ASPItalia.com"&gt;http://tags.aspitalia.com/rss/SharePoint/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Da parte mia vi invito a seguire questa settimana su SharePoint, perchè ne vale veramente la pena.
&lt;br /&gt;Infine, un grazie doveroso a &lt;a href="http://blogs.aspitalia.com/daniele/" title="Daniele Bochicchio"&gt;Daniele&lt;/a&gt;, &lt;a href="http://www.aspitalia.com/autori/Cristian_Civera.aspx" title="Cristian Civera"&gt;Cristian&lt;/a&gt; e a tutti gli altri membri dello staff di ASPItalia per lo spazio che mi concedono e per il loro continuo supporto alla community.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/ASPItalia.aspx" title="TAG: ASPItalia"&gt;ASPItalia&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SpecialeWindowsSharePointServices3.aspx" /><issued>2008-11-28T11:18:0+01:00</issued><modified>2008-11-28T11:18:0+01:00</modified></entry><entry><title>MCTS MOSS 2007 - Application Development</title><id>/Blog/MCTSMOSS2007ApplicationDevelopment.aspx</id><created>2008-11-8T12:6:19+01:00</created><content type="text/html" mode="escaped">&lt;img src="/Images/MCTS_MOSS_APP.jpg" alt="MCTS MOSS 2007 - Application Development" style="float: right" /&gt;Ormai è passata più di una settimana da quanto ho passato l'esame, ma Microsoft ha visto bene di crearmi un nuovo mcp id al posto di associarmi la nuova certificazione al mio solito mcp id, e quindi ho dovuto seguire sta cosa per rimettere tutto al proprio posto. Risultato: niente immagine, niente transcript aggiornato, niente post.
&lt;br /&gt;Detto questo, volevo solo scrivere di aver passato l'esame 70-542 (MOSS 2007 Application Development) con un punteggio di 979/1000.
&lt;br /&gt;Come "score" è sicuramente il risultato più alto che ho preso fin'ora e ne vado molto fiero visto l'argomento.
&lt;br /&gt;L'esame conteneva un sacco di domande sopratutto sulla parte legata ai Business Data Catalog, alla ricerca e alla parte di publishing di MOSS 2007.
&lt;br /&gt;Con me, ha passato l'esame anche il mio compagno di certificazioni &lt;a href="http://www.sgart.it" title="sgart"&gt;sgart&lt;/a&gt;. Complimenti !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MCTS.aspx" title="TAG: MCTS"&gt;MCTS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MCTSMOSS2007ApplicationDevelopment.aspx" /><issued>2008-11-8T12:6:19+01:00</issued><modified>2008-11-8T12:6:19+01:00</modified></entry><entry><title>SharePoint 2007 whitepapers</title><id>/Blog/SharePoint2007Whitepapers.aspx</id><created>2008-10-10T18:44:13+01:00</created><content type="text/html" mode="escaped">Un mio collega mi ha segnalato la disponibilità sul download center di Microsoft di 4 nuovi whitepapers relativi a MOSS 2007. Ecco qua i link diretti per il download:&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=15d9d316-2ff3-40c9-85ed-4537657fa965&amp;DisplayLang=en" title="Workflow whitepaper"&gt;Workflow whitepaper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=717a3870-520e-4e4f-b996-a067d13cd4ad&amp;DisplayLang=en" title="Records Management"&gt;Records Management whitepaper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d1aa2974-7b03-4ff3-86ff-58db2819c1dd&amp;DisplayLang=en" title="Document Management whitepaper"&gt;Document Management whitepaper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5dda96c8-3744-48c4-9bda-c271929fd4aa&amp;DisplayLang=en" title="Web Content Management (WCM) whitepaper"&gt;Web Content Management (WCM) whitepaper&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePoint2007Whitepapers.aspx" /><issued>2008-10-10T18:44:13+01:00</issued><modified>2008-10-10T18:44:13+01:00</modified></entry><entry><title>Come aggiungere una propria funzione javascript all'evento Load di una pagina SharePoint</title><id>/Blog/AddCustomJavascriptToSharePointPageLoad.aspx</id><created>2008-10-7T11:27:1+01:00</created><content type="text/html" mode="escaped">Ieri ho scoperto la presenza di una struttura javascript molto utilie all'interno di MOSS 2007.
&lt;br /&gt;Ogni tanto mi capita di utilizzare delle funzioni javascript che necessitano di scatenarsi al caricamento della pagina. Solitamente utilizzavo il metodo attachEvent, il cui utilizzo però ha un pò di difetti: toglie la dichiarazione delle funzioni onLoad già presenti nella pagina e non permette l'inserimento di più funzioni al caricamento della pagina.
&lt;br /&gt;Ecco quindi che ci viene in aiuto MOSS..
&lt;br /&gt;Utilizzando questo codice, possiamo aggiungere al caricamento della pagina, l'esecuzione di quante funzioni javascript desideriamo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;script&lt;/span&gt;&lt;span style='color:#FF0000'&gt; type&lt;span style='color:#0000FF'&gt;="text/ecmascript"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;if (typeof(_spBodyOnLoadFunctionNames) != "undefined")
&lt;br /&gt;{
&lt;br /&gt;    if (_spBodyOnLoadFunctionNames != null)
&lt;br /&gt;    {
&lt;br /&gt;        _spBodyOnLoadFunctionNames.push("PrimaFunzione");
&lt;br /&gt;        _spBodyOnLoadFunctionNames.push("SecondaFunzione");
&lt;br /&gt;    }
&lt;br /&gt;}
&lt;br /&gt;
&lt;br /&gt;function PrimaFunzione()
&lt;br /&gt;{
&lt;br /&gt;    alert('prima');
&lt;br /&gt;}
&lt;br /&gt;
&lt;br /&gt;function SecondaFunzione()
&lt;br /&gt;{
&lt;br /&gt;    alert('seconda');
&lt;br /&gt;}
&lt;br /&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;script&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Vi assicuro che questa funzionalità può essere molto utile all'interno delle vostre web part personalizzate.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Javascript.aspx" title="TAG: Javascript"&gt;Javascript&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AddCustomJavascriptToSharePointPageLoad.aspx" /><issued>2008-10-7T11:27:1+01:00</issued><modified>2008-10-7T11:27:1+01:00</modified></entry><entry><title>Microsoft Office SharePoint Server - Tecnologia e strumenti per lo sviluppo e amministrazione</title><id>/Blog/MOSSCamerino.aspx</id><created>2008-10-7T11:12:12+01:00</created><content type="text/html" mode="escaped">&lt;a href="http://dotnetmarche.org/" title="DotNetMarche"&gt;DotNetMarche&lt;/a&gt; organizza, insieme a Microsoft e all'&lt;a href="http://www.unicam.it/" title="Università degli Studi di Camerino"&gt;Università degli Studi di Camerino&lt;/a&gt;, un workshop su &lt;a href="http://www.microsoft.com/italy/cmserver/" title="Microsoft Office SharePoint Server 2007"&gt;Microsoft Office SharePoint Server 2007&lt;/a&gt;, la soluzione integrata in Microsoft Office System 2007 per la condivisione di risorse, la gestione dei documenti, l'implementazione di processi aziendali e di business intelligence, e molte altre funzionalità che consentono di ottimizzare il flusso delle informazioni.
&lt;br /&gt;Nel corso di questo Workshop, destinato ad IT Developers, IT Professionals e Decision Makers, sia del settore pubblico che privato, verrà mostrato come costruire ed amministrare un portale di collaborazione in grado di offrire soluzioni per organizzazioni aziendali, per il settore educational e per l'e-learning.
&lt;br /&gt;Gli speaker coinvolti sono professionisti del settore, esperti Microsoft e Microsoft MVP (Most Valuable Professional) per SharePoint Server, già relatori in altri importanti eventi come la Microsoft SharePoint Conference di Milano.
&lt;br /&gt;L'iscrizione è gratuita!! &lt;a href="http://dotnetmarche.org/eventi/Default.aspx?IDevento=23" title="Agenda e Registrazione"&gt;Agenda e Registrazione&lt;/a&gt; !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: 
&lt;br /&gt;[&lt;a href="http://www.peppedotnet.it/Tags/SharePoint.aspx" title="TAG: SharePoint"&gt;SharePoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/DotNetMarche.aspx" title="TAG: DotNetMarche"&gt;DotNetMarche&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MOSSCamerino.aspx" /><issued>2008-10-7T11:12:12+01:00</issued><modified>2008-10-7T11:12:12+01:00</modified></entry><entry><title>Errore sulla Content Query Web Part: &quot;Could not load XSL file&quot;</title><id>/Blog/XsltErrorOnContentQueryWebPart.aspx</id><created>2008-9-5T19:35:42+01:00</created><content type="text/html" mode="escaped">Oggi mi sono scontrato con questo errore, stampato da una web part di tipo Content Query:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic"&gt;"Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Windows SharePoint Services-compatible HTML editor such as Microsoft Office SharePoint Designer. If the problem persists, contact your Web server administrator"&lt;/div&gt;
&lt;br /&gt;Abilitando la visualizzazione dettagliata degli errori e lo stack trace (come spiegato &lt;a href="http://www.peppedotnet.it/Blog/AnUnexpectedErrorHasOccurred.aspx" title="Cosa c è dietro all'errore An unexpected error has occurred"&gt;qua&lt;/a&gt;) si arriva a scoprire la seguente eccezione:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic"&gt;Exception Details:
&lt;br /&gt;Microsoft.SharePoint.WebPartPages.WebPartPageUserException: Could not load XSL file. The system cannot find the file specified. (Exception from HRESULT: 0x80070002)&lt;/div&gt;
&lt;br /&gt;Tramite Reflector, arrivo a vedere che il percorso di questo file xsl che non viene trovato è settato dalla proprietà ItemXslLink della classe CmsDataFormWebPart. Tale proprietà prende di default uno dei file xsl presenti nella document library &lt;b&gt;"Style Library"&lt;/b&gt;. Questa libreria, che contiene file di tutti i tipi, viene creata all'interno del sito di root dalla feature di Publishing di MOSS 2007.
&lt;br /&gt;Nel mio caso, l'errore era scatenato appunto dalla mancanza di tale document library.
&lt;br /&gt;Per ripristinare la libreria "Style Library", basta semplicemente distattivare la feature di publishing del sito in questione e riattivarla.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content Query Web Part.aspx" title="TAG: Content Query Web Part"&gt;Content Query Web Part&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Publishing.aspx" title="TAG: Publishing"&gt;Publishing&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/XsltErrorOnContentQueryWebPart.aspx" /><issued>2008-9-5T19:35:42+01:00</issued><modified>2008-9-5T19:35:42+01:00</modified></entry><entry><title>Le novit&#224; del mese su SharePoint</title><id>/Blog/AugustNewsAboutSharePoint.aspx</id><created>2008-8-30T12:17:57+01:00</created><content type="text/html" mode="escaped">E' stata un mese sicuramente di vacanze.. ma anche di parecchie novità riguardo la piattaforma Microsoft per la collaborazione, il cui supporto sta crescendo veramente a vista d'occhio.
&lt;br /&gt;Eccole qua elencate:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Creazione del "&lt;a href="http://technet.microsoft.com/en-us/office/sharepointserver/bb736746.aspx" title="Best Practices Resource Center for SharePoint Server 2007"&gt;Best Practices Resource Center for SharePoint Server 2007&lt;/a&gt;"&lt;/li&gt;&lt;li&gt;Uscita della versione 2.0 del "&lt;a href="http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=31" title="SharePoint Administration Toolkit"&gt;SharePoint Administration Toolkit&lt;/a&gt;"&lt;/li&gt;&lt;li&gt;Uscita della versione 1.4 dell'&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en" title="SDK MOSS 2007"&gt;SDK di MOSS 2007&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Uscita della versione 1.4 dell'&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=05E0DD12-8394-402B-8936-A07FE8AFAFFD&amp;displaylang=en" title="SDK di WSS 3.0"&gt;SDK di WSS 3.0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Magari tutti i mesi dell'anno fossero così pieni di novità !
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AugustNewsAboutSharePoint.aspx" /><issued>2008-8-30T12:17:57+01:00</issued><modified>2008-8-30T12:17:57+01:00</modified></entry><entry><title>WebDav &#232; il limite a 260 caratteri</title><id>/Blog/WebDav260charactersLimit.aspx</id><created>2008-8-6T11:55:54+01:00</created><content type="text/html" mode="escaped">In questo periodo di vacanza, mi sono trovato di fronte a questo stranissimo errore.
&lt;br /&gt;In pratica, solamente in certi documenti word ed excel inseriti all'interno di alcune cartelle di diverse document library di SharePoint, una volta che sceglievo di andare in modifica mi veniva stampato in faccia questo bell'errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px; font-style: italic"&gt;'Edit Document' requires a Windows SharePoint Services-compatible application and Microsoft Internet Explorer 6.0 or greater.&lt;/div&gt;
&lt;br /&gt;Cercando un pò su internet, mi trovo a leggere questo articolo della kb Microsoft: &lt;a href="http://support.microsoft.com/kb/833714/en-us" title="Error message when you try to edit an Office document in a document library: Edit Document requires a Windows SharePoint Services-compatible application"&gt;http://support.microsoft.com/kb/833714/en-us&lt;/a&gt; le cui soluzioni però non sono servite in alcun modo nel contesto in cui mi trovavo.
&lt;br /&gt;
&lt;br /&gt;Dopo di un pò mi accorgo invece che l'errore veniva sollevato solmente se:
&lt;br /&gt;&lt;ol&gt;&lt;li&gt;la cartella all'interno della quale inserivo l'allegato aveva un titolo decisamente lungo&lt;/li&gt;&lt;li&gt;il nome file dell'allegato era lungo tale, da superare un certo limite in accoppiata con il nome della  document library e il titolo della cartella&lt;/li&gt;&lt;/ol&gt;Si perchè, se inserivo degli allegati con nome file corto, l'errore non veniva sollevato, mentre lo faceva in presenza di nomi file di una certa lunghezza.
&lt;br /&gt;Come spesso succede, il mio capo, mi ha buttato sulla strada giusta e siamo riusciti a scoprire che questo è un limite vero e proprio di SharePoint, da attribuirsi al protocollo WebDav.
&lt;br /&gt;E' tutto documentato qui: &lt;a href="http://support.microsoft.com/kb/894630/en-us" title="You receive a The specified file or folder name is too long error message when you create a new folder or a new document in a document library in SharePoint Portal Server or in Windows SharePoint Services"&gt;http://support.microsoft.com/kb/894630/en-us&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;Questi i limiti documentati:&lt;ul&gt;&lt;li&gt;il nome di una cartella non può superare i 256 caratteri&lt;/li&gt;&lt;li&gt;un nome di un file non può superare i 128 caratteri&lt;/li&gt;&lt;li&gt;l'intera URL non può superare  260 caratteri (che nel mio caso erano dati dal terzetto: [Nome document library] + [Nome folder] + [Nome allegato])&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Se volete ulteriori informazioni a riguardo, questo post spiega tutto in maniera molto dettagliata:
&lt;br /&gt;&lt;a href="http://simplyaprogrammer.com/2008/05/importing-files-into-sharepoint.html" title="Importing files into a SharePoint document library using regular expressions and WebDAV"&gt;http://simplyaprogrammer.com/2008/05/importing-files-into-sharepoint.html&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: 
&lt;br /&gt;[&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WebDav.aspx" title="TAG: WebDav"&gt;WebDav&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WebDav260charactersLimit.aspx" /><issued>2008-8-6T11:55:54+01:00</issued><modified>2008-8-6T11:55:54+01:00</modified></entry><entry><title>Come utilizzare la Rich TextBox di SharePoint all'interno di una Web Part</title><id>/Blog/HowToUseRichTextBoxInACustomWebPart.aspx</id><created>2008-7-1T18:22:33+01:00</created><content type="text/html" mode="escaped">Oggi mi sono trovato davanti alla necessità di utilizzare le funzionalità avanzate di formattazione del testo offerte da SharePoint all'interno di una mia web part custom.
&lt;br /&gt;Come per i campi di tipo Multiline, è possibile utilizzare un controllo specifico per rendere possibile la formattazione del testo tramite un'interfaccia simile alla barra degli strumenti di Word, o comunque, come un qualsiasi editor WYSIWYG.
&lt;br /&gt;Il controllo da utilizzare per ottenere questo risultato è presente all'interno del namespace Microsoft.SharePoint.WebControls ed è stato chiamato &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.inputformtextbox.aspx" title="InputFormTextBox"&gt;InputFormTextBox&lt;/a&gt;.
&lt;br /&gt;Vediamo un esempio d'utilizzo, all'interno di una web part custom:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;namespace&lt;/span&gt; RichTextBoxWebPart
&lt;br /&gt;{
&lt;br /&gt;    [Guid(&lt;span style="color: #A31515"&gt;"7bf84d97-998b-4dba-9b94-7fcab9402e7a"&lt;/span&gt;)]
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;class&lt;/span&gt; RichTextBoxWebPart : System.Web.UI.WebControls.WebParts.WebPart
&lt;br /&gt;    {
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; InputFormTextBox txt = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; Button btn = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; Label lbl = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; RichTextBoxWebPart() { }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; CreateChildControls()
&lt;br /&gt;        {
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;base&lt;/span&gt;.CreateChildControls();
&lt;br /&gt;
&lt;br /&gt;            txt = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; InputFormTextBox();
&lt;br /&gt;            txt.ID = &lt;span style="color: #A31515"&gt;"txt"&lt;/span&gt;;
&lt;br /&gt;            txt.TextMode = TextBoxMode.MultiLine;
&lt;br /&gt;            txt.Rows = 6;
&lt;br /&gt;            txt.RichText = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;            txt.RichTextMode = SPRichTextMode.FullHtml;
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.Controls.Add(txt);
&lt;br /&gt;
&lt;br /&gt;            btn = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Button();
&lt;br /&gt;            btn.ID = &lt;span style="color: #A31515"&gt;"btn"&lt;/span&gt;;
&lt;br /&gt;            btn.Text = &lt;span style="color: #A31515"&gt;"Click"&lt;/span&gt;;
&lt;br /&gt;            btn.Click += &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; EventHandler(btn_Click);
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.Controls.Add(btn);
&lt;br /&gt;
&lt;br /&gt;            lbl = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; Label();
&lt;br /&gt;            lbl.ID = &lt;span style="color: #A31515"&gt;"lbl"&lt;/span&gt;;
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.Controls.Add(lbl);
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;protected&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; Render(HtmlTextWriter writer)
&lt;br /&gt;        {
&lt;br /&gt;            txt.RenderControl(writer);
&lt;br /&gt;            writer.Write(&lt;span style="color: #A31515"&gt;"&lt;br /&gt;"&lt;/span&gt;);
&lt;br /&gt;            btn.RenderControl(writer);
&lt;br /&gt;            writer.Write(&lt;span style="color: #A31515"&gt;"&lt;hr /&gt;"&lt;/span&gt;);
&lt;br /&gt;            lbl.RenderControl(writer);
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; btn_Click(&lt;span style="color: #0000FF"&gt;object&lt;/span&gt; sender, EventArgs e)
&lt;br /&gt;        {
&lt;br /&gt;            lbl.Text = txt.Text;
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Il risultato lo potete vedere in figura.
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/RichTextBoxWebPart.jpg" alt="RichTextBox Web Part" border="0" /&gt;
&lt;br /&gt;Ho preparato anche una soluzione scaricabile ed utilizzabile della web part d'esempio.
&lt;br /&gt;Buon &lt;a href="/zip/RichTextBoxWebPart.zip" title="Download source code"&gt;download&lt;/a&gt; !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Web Part.aspx" title="TAG: Web Part"&gt;Web Part&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToUseRichTextBoxInACustomWebPart.aspx" /><issued>2008-7-1T18:22:33+01:00</issued><modified>2008-7-1T18:22:33+01:00</modified></entry><entry><title>Errore in visualizzazione liste in Datasheet view</title><id>/Blog/ErrorViewingListInDatasheetView.aspx</id><created>2008-6-13T12:58:44+01:00</created><content type="text/html" mode="escaped">La scorsa settimana da un cliente, uno degli utenti ci ha segnalato questo errore sulla nostra intranet fatta con Sharepoint Portal 2003:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;The list is displayed in Standard view. It cannot be displayed in Datasheet view for one or more of the following reasons:
&lt;br /&gt;
&lt;br /&gt;A datasheet component compatible with Windows SharePoint Services is not installed,
&lt;br /&gt;your browser does not support ActiveX controls,
&lt;br /&gt;or support for ActiveX controls is disabled.&lt;/div&gt;
&lt;br /&gt;Il problema si manifestava solo quando l'utente cercava di aprire una lista in modalità "Datasheet view", nonostante il pc client avesse sia installato correttamente Office 2003 (SP3) che avesse abilitati correttamente gli ActiveX su Internet Explorer.
&lt;br /&gt;Microsoft segnala tale malfunzionamento in questo articolo della kb: &lt;a href="http://support.microsoft.com/kb/909506/en" title="You cannot view a list in Datasheet view on a Windows SharePoint Services Web site"&gt;http://support.microsoft.com/kb/909506/en&lt;/a&gt;, ma dice che il comportamento in questione risulta essere "by design".
&lt;br /&gt;Girando un pò sulla rete, ho trovato &lt;a href="http://www.mindbusiness.de/blog/2007/08/" title="How to Display the Datasheet View in Windows SharePoint Services and Microsoft Office SharePoint Server 2007 (MOSS 2007)"&gt;questo post&lt;/a&gt; con la soluzione al mio problema.
&lt;br /&gt;In pratica si tratta di eliminare una chiave di registro, seguendo queste istruzioni:
&lt;br /&gt;
&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Chiudere tutte le istanze di Internet Explorer&lt;/li&gt;&lt;li&gt;Aprire il registro di sistema attraverso Start - Run - "regedit"&lt;/li&gt;&lt;li&gt;All'interno del registro, cancellare la seguente cartella di registro: 
&lt;br /&gt;Path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
&lt;br /&gt;Sub-Key: {65BCBEE4-7728-41A0-97BE-14E1CAE36AAE}&lt;/li&gt;&lt;li&gt;Riaprire Internet Explorer e provare ad aprire la lista Sharepoint in modalità Datasheet View&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;A noi ha funzionato correttamente ! Chiaramente però, prima di metter mano al registro di sistema, fatene un bel backup che non si sa mai !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorViewingListInDatasheetView.aspx" /><issued>2008-6-13T12:58:44+01:00</issued><modified>2008-6-13T12:58:44+01:00</modified></entry><entry><title>WSS ScreenCast: Web Part connesse</title><id>/Blog/WSSScreenCastConnectedWebPart.aspx</id><created>2008-6-1T17:36:18+01:00</created><content type="text/html" mode="escaped">Oggi ho registrato un nuovo web cast (per la precisione il terzo) da pubblicare su questo sito.
&lt;br /&gt;L'argomento sono le web part connesse di Sharepoint. Il meccanismo cioè che permette a due web part personalizzate di fornire meccanisimi di connessione tra loro stesse in modo tale da scambiarsi informazioni di vario genere. Tale meccanismo viene offerto direttamente da Windows Sharepoint Services 3.0, il quale si basa comunque sull'architettura della versione 2.0 di ASP.NET.
&lt;br /&gt;
&lt;br /&gt;Questo è il risultato:
&lt;br /&gt;&lt;a href="http://www.peppedotnet.it/Media/Web%20part%20connesse.aspx" title="WSS ScreenCast: Web Part connesse"&gt;http://www.peppedotnet.it/Media/Web part connesse.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Verso la fine ci sono un paio di errori venuti fuori a run-time, ma è il bello delle dimostrazioni con il codice scritto dal vivo no ?
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Web Part.aspx" title="TAG: Web Part"&gt;Web Part&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/ScreenCast.aspx" title="TAG: ScreenCast"&gt;ScreenCast&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WSSScreenCastConnectedWebPart.aspx" /><issued>2008-6-1T17:36:18+01:00</issued><modified>2008-6-1T17:36:18+01:00</modified></entry><entry><title>Come installare WSS 3.0 su Windows Vista</title><id>/Blog/HowToInstallWSS3InWindowsVista.aspx</id><created>2008-5-24T12:3:41+01:00</created><content type="text/html" mode="escaped">Dal blog del team di Bamboo, un fantastico post con tutte le istruzioni per l'installazione di Windows Sharepoint Services 3.0 su una macchina Windows Vista.
&lt;br /&gt;&lt;a href="http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/05/21/how-to-install-windows-sharepoint-services-3-0-sp1-on-vista-x64-x86.aspx" title="How to install Windows SharePoint Services 3.0 SP1 on Vista x64/x86"&gt;Questo il link diretto al post in questione.&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;La cosa è a dir poco fantastica, visti i giochi di prestigio che noi sviluppatori Sharepoint dobbiamo fare per lo sviluppo delle nostre applicazioni, tra macchine virtuali e tutto il resto..
&lt;br /&gt;Questa, la lista delle limitazioni correnti:&lt;ul&gt;&lt;li&gt;You must select the Advanced option during install.&lt;/li&gt;&lt;li&gt;If you want to run on SQLExpress, manually install it first.&lt;/li&gt;&lt;li&gt;You have to manually enable IIS7 with the proper options (explained).&lt;/li&gt;&lt;li&gt;Your workstation has to be part of a domain. (funziona anche solo in workgroup)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Windows Vista.aspx" title="TAG: Windows Vista"&gt;Windows Vista&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToInstallWSS3InWindowsVista.aspx" /><issued>2008-5-24T12:3:41+01:00</issued><modified>2008-5-24T12:3:41+01:00</modified></entry><entry><title>Errore durante l'esportazione di una lista in Excel su Sharepoint installato in modalit&#224; stand-alone</title><id>/Blog/ErrorDuringExportListItemsToExcelInSharepointStandAlone.aspx</id><created>2008-5-18T18:25:5+01:00</created><content type="text/html" mode="escaped">L'altro giorno, il mio capo si è accorto di un bug parecchio pesante per quanto riguarda SharePoint 2007.
&lt;br /&gt;In pratica, se il prodotto viene installato in modalità Stand-Alone (il che succede molto spesso a fronte di installazioni su macchine virtuali temporanee), non è possibile in alcun modo effettuare un export degli elementi di una lista in formato Excel.
&lt;br /&gt;Assieme a questo disfunzionamento, in &lt;a href="http://www.sharepoint-tips.com/2006/01/sharepoint-in-stand-alone-server-gives.html" title="SharePoint in a Stand Alone Server Gives Error On Being offline "&gt;questo post&lt;/a&gt; ne sono evidenziati altri, sempre a causa del medesimo errore.
&lt;br /&gt;La causa dell'errore è data dal fatto che i componenti di Office integrati in Sharepoint, quando vengono utilizzati, cercano di ottenere le informazioni sullo stato della rete in cui il prodotto è stato installato. In modalità Stand-Alone però, non esiste alcun tipo di network.
&lt;br /&gt;
&lt;br /&gt; 
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ErrorDuringExportListItemsToExcelInSharepointStandAlone.aspx" /><issued>2008-5-18T18:25:5+01:00</issued><modified>2008-5-18T18:25:5+01:00</modified></entry><entry><title>Microsoft Sharepoint Administration Toolkit</title><id>/Blog/MicrosoftSharepointAdministrationToolkit.aspx</id><created>2008-5-1T11:13:18+01:00</created><content type="text/html" mode="escaped">E' notizia recente l'uscita di una nuova serie ti toolkit legati all'amministrazione di Windows Sharepoint Services 3.0 e MOSS 2007.  Ieri infatti, dal &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/04/30/announcing-the-first-release-of-the-microsoft-sharepoint-administration-toolkit.aspx" title="Announcing the First Release of the Microsoft SharePoint Administration Toolkit"&gt;blog del team di Sharepoint&lt;/a&gt;, si evince il rilascio della prima release del prodotto "Microsoft Sharepoint Administration Toolkit".
&lt;br /&gt;Le prime due funzionalità di cui possiamo usufruire sono:&lt;ul&gt;&lt;li&gt;il tool "Move, lock and delete site collection" - in grado di effettuare operazioni di massa sulle proprie site collection e addirittura spostare site collection da databse di contenuto differenti.&lt;/li&gt;&lt;li&gt;la nuova operazione "updatealert", dell'utility STSADM - in grado di aggiornare le url contenute dai messaggi di alert della propria site collection, una volta che su questa viene eseguito un upgrade.&lt;/li&gt;&lt;/ul&gt;Questi i link diretti per il download:
&lt;br /&gt;
&lt;br /&gt;x64: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&amp;displaylang=en" title="Microsoft Sharepoint Administration Toolkit 64bit"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;x86: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&amp;displaylang=en" title="Microsoft Sharepoint Administration Toolkit 32bit"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MicrosoftSharepointAdministrationToolkit.aspx" /><issued>2008-5-1T11:13:18+01:00</issued><modified>2008-5-1T11:13:18+01:00</modified></entry><entry><title>Crash di Internet Explorer 7 su MOSS 2007</title><id>/Blog/CrashInternetExplorer7MOSS2007.aspx</id><created>2008-4-11T19:51:15+01:00</created><content type="text/html" mode="escaped">Al lavoro, su alcuni desktop, mi capitava che ogni volta che cercavo di aprire un allegato di una lista MOSS 2007 per modificarlo o semplicemente aprirlo in sola lettura, con un programma del pacchetto Office 2003, Inernet Explorer 7 andava in crash.
&lt;br /&gt;L'errore riportato è il seguente:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px"&gt;iexplore.exe - Application Error : The exception unknown software exception (0xc06d007f) occurred in the application at location 0x7c812a5b.&lt;/div&gt;
&lt;br /&gt;Gira e rigira su google, ho trovato questo &lt;a href="http://support.microsoft.com/kb/938888/en-us" title="Description of the 2007 Office hotfix package: June 17, 2007"&gt;hotifx&lt;/a&gt;.
&lt;br /&gt;L'errore si verifica se oltre ad Office 2003, avete installato un programma qualsiasi del pacchetto di Office 2007. IE7 va in errore perchè l'installazione di Office 2007 pone sul pc una copia del file OWSSUPP.DLL, il browser cerca quindi di utilizzare tale versione della libreria Microsoft, ma se non si è installata una versione di Word, Excel, Powerpoint 2007, va in errore.
&lt;br /&gt;L'hotfix che vi ho segnalato comunque, risolve il problema.
&lt;br /&gt;
&lt;br /&gt;L'errore è segnalato qua: &lt;a href="http://support.microsoft.com/kb/929360/en-us" title="You cannot create a new document or check out an existing document in a Windows SharePoint Services 3.0 document library when you have multiple versions of Office installed"&gt;http://support.microsoft.com/kb/929360/en-us&lt;/a&gt;
&lt;br /&gt;Questo invece, il link per il download diretto: &lt;a href="http://download.microsoft.com/download/f/5/1/f511cec6-d8c5-444e-bd76-5161b2a16c9f/office-kb938888-fullfile-x86-glb.exe" title="(KB938888) package"&gt;KB938888 package&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CrashInternetExplorer7MOSS2007.aspx" /><issued>2008-4-11T19:51:15+01:00</issued><modified>2008-4-11T19:51:15+01:00</modified></entry><entry><title>Come associare i gruppi per i permessi di lettura, modifica e amministrazione di un nuovo sito Sharepoint</title><id>/Blog/HowToAssociateGroupsToSharepointSiteProgrammatically.aspx</id><created>2008-3-23T19:40:44+01:00</created><content type="text/html" mode="escaped">All'interno di una mia applicazione ho avuto la necessità di creare un nuovo sito Sharepoint, basato su un template qualsiasi, direttamente dal modello ad oggetti che Sharepoint stesso espone.
&lt;br /&gt;Dopo la creazione dovevo anche assegnare dei gruppi di base per i permessi di lettura, modifica e amministrazione del mio sito. Ecco il codice per fare tutto ciò:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPWeb web = SPContext.Current.Web;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//creazione del sito figlio&lt;/span&gt;
SPWebTemplate centroDocumenti = site.GetWebTemplates(web.Language)[&lt;span style="color: #A31515"&gt;"BDR#0"&lt;/span&gt;];
&lt;br /&gt;SPWeb nuovoSito = web.Webs.Add(&lt;span style="color: #A31515"&gt;"Nuovo"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Mio sito nuovo"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;""&lt;/span&gt;, web.Language, centroDocumenti, &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;, &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;);
&lt;br /&gt;nuovoSito.Navigation.UseShared = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//creo i gruppi&lt;/span&gt;
nuovoSito.SiteGroups.Add(&lt;span style="color: #A31515"&gt;"Admins"&lt;/span&gt;, web.AssociatedOwnerGroup, &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;, &lt;span style="color: #A31515"&gt;""&lt;/span&gt;);
&lt;br /&gt;SPGroup admins = nuovoSito.SiteGroups[&lt;span style="color: #A31515"&gt;"Admins"&lt;/span&gt;];
&lt;br /&gt;nuovoSito.SiteGroups.Add(&lt;span style="color: #A31515"&gt;"Contributors"&lt;/span&gt;, web.AssociatedOwnerGroup, &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;, &lt;span style="color: #A31515"&gt;""&lt;/span&gt;);
&lt;br /&gt;SPGroup contributors = nuovoSito.SiteGroups[&lt;span style="color: #A31515"&gt;"Contributors"&lt;/span&gt;];
&lt;br /&gt;nuovoSito.SiteGroups.Add(&lt;span style="color: #A31515"&gt;"Readers"&lt;/span&gt;, web.AssociatedOwnerGroup, &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;, &lt;span style="color: #A31515"&gt;""&lt;/span&gt;);
&lt;br /&gt;SPGroup readers = nuovoSito.SiteGroups[&lt;span style="color: #A31515"&gt;"Readers"&lt;/span&gt;];
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//Associo i gruppi ai permessi del sito&lt;/span&gt;
nuovoSito.Properties[&lt;span style="color: #A31515"&gt;"vti_associateownergroup"&lt;/span&gt;] = admins.ID.ToString();
&lt;br /&gt;nuovoSito.Properties[&lt;span style="color: #A31515"&gt;"vti_associatemembergroup"&lt;/span&gt;] = contributors.ID.ToString();
&lt;br /&gt;nuovoSito.Properties[&lt;span style="color: #A31515"&gt;"vti_associatevisitorgroup"&lt;/span&gt;] = readers.ID.ToString();
&lt;br /&gt;nuovoSito.Properties[&lt;span style="color: #A31515"&gt;"vti_associategroups"&lt;/span&gt;] = &lt;span style="color: #0000FF"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #A31515"&gt;"{0};{1};{2}"&lt;/span&gt;,
&lt;br /&gt;                                                 admins.ID.ToString(),
&lt;br /&gt;                                                 contributors.ID.ToString(),
&lt;br /&gt;                                                 readers.ID.ToString());
&lt;br /&gt;nuovoSito.Update();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;L'ultima proprietà settata nell'esempio di codice permette la visualizzazione dei 3 gruppi sulla quick launch bar del nostro nuovo sito.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SPGroup.aspx" title="TAG: SPGroup"&gt;SPGroup&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToAssociateGroupsToSharepointSiteProgrammatically.aspx" /><issued>2008-3-23T19:40:44+01:00</issued><modified>2008-3-23T19:40:44+01:00</modified></entry><entry><title>Bug su liste con pi&#249; di 1000 elementi e interruzione dell'ereditariet&#224; dei permessi</title><id>/Blog/SharepointBugListMore1000items.aspx</id><created>2008-3-13T12:41:17+01:00</created><content type="text/html" mode="escaped">E' un bel periodo che sto impazzendo con un errore su Sharepoint Services 3 e finalmente si è risolto dopo l'installazione del Service Pack 1.
&lt;br /&gt;Vi introduco allo scenario in cui mi trovavo, così magari se capita a qualcuno di voi non dovete star li a cercare dappertutto dove sta l'errore.
&lt;br /&gt;
&lt;br /&gt;Avevo a che fare con una document library (ma l'errore si presenta anche su una lista normale) in cui avevo installato un event handler per la modifica dei permessi sul singolo item. Tale event handler (molto simile a &lt;a href="http://www.peppedotnet.it/Blog/SetItemPermissionWithEventHandler.aspx" title="Un event handler per cambiare i permessi di un item"&gt;questo&lt;/a&gt; per intenderci) andava in errore quando cercavo di rompere l'ereditarietà dei permessi sull'elemento da quelli definiti a livello di lista. L'errore però si presentava solamente quando la lista in questione superava i 1000 elementi.
&lt;br /&gt;Per la precisione, l'errore scatenato era il seguente:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; margin-left: 10px"&gt;Incorrect syntax near the keyword 'SET'. Incorrect syntax near ')'. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.&lt;/div&gt;
&lt;br /&gt;In pratica cioè, viene generata dal modello ad oggetti di Sharepoint una query con un errore di sintassi SQL. Chiaramente a fronte di un errore di questo genere, noi possiamo far poco.
&lt;br /&gt;Possiamo però capire da cos'è scatenato.
&lt;br /&gt;Dopo un pò di prove e dopo aver letto &lt;a href="http://blogs.vertigo.com/personal/erikb/Blog/Lists/Posts/Post.aspx?ID=4" title="Multiple Value Lookup (MVL) bug in SharePoint 2007"&gt;questo post&lt;/a&gt;, che segnala lo stesso errore utilizzando colonne di tipo lookup con l'opzione multiscelta attivata, mi sono studiato la configurazione della mia lista e sono arrivato a questa conclusione: tra i campi che avevo definito, erano presenti 4 campi di tipo utente/gruppo con l'opzione di scelta multipla attivata. I campi di tipo utente/gruppo alla fine dei giochi sono anche loro dei campi di tipo lookup, quindi tale errore avviene proprio perchè:&lt;ul&gt;&lt;li&gt;la lista ha più di 1000 elementi&lt;/li&gt;&lt;li&gt;la lista ha dei campi lookup (o di tipo utente/gruppo) con l'opzione di scelta multipla attiva&lt;/li&gt;&lt;li&gt;viene rotta l'ereditarietà dei permessi sull'elemento tramite il modello ad oggetti (item.BreakRoleInheritance(false);)&lt;/li&gt;&lt;/ul&gt;L'unico modo per ovviare a questo errore era quindi evitare di utilizzare campi di tipo lookup con scelta multipla.
&lt;br /&gt;&lt;b&gt;Per fortuna invece che l'installazione del Service Pack 1 di WSS 3.0 e di MOSS 2007 ha risolto il problema in questione completamente !!&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointBugListMore1000items.aspx" /><issued>2008-3-13T12:41:17+01:00</issued><modified>2008-3-13T12:41:17+01:00</modified></entry><entry><title>Sharepoint versione SLIPSTREAM</title><id>/Blog/SharepointVersioneSLIPSTREAM.aspx</id><created>2008-3-8T12:7:13+01:00</created><content type="text/html" mode="escaped">Direttamente dal &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/03/07/moss-2007-with-sp1-slipstream-officeserverwithsp1-exe-released.aspx" title="blog team sharepoint"&gt;blog del team di Sharepoint&lt;/a&gt;, l'annuncio della disponibilità per il download della versione 3.0 di Windows Sharepoint Services 3.0 e MOSS 2007 con integrati i rispettivi Service Pack (versione 1 chiaramente).
&lt;br /&gt;Qui i link per i vari download:&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=EF93E453-75F1-45DF-8C6F-4565E8549C2A&amp;displaylang=en" title="Windows SharePoint Services 3.0 with Service Pack 1"&gt;Windows SharePoint Services 3.0 with Service Pack 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9FB41E51-CB03-4B47-B89A-396786492CBA&amp;displaylang=en" title="Windows SharePoint Services 3.0 x64 with Service Pack 1"&gt;Windows SharePoint Services 3.0 x64 with Service Pack 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2E6E5A9C-EBF6-4F7F-8467-F4DE6BD6B831&amp;displaylang=en" title="Office SharePoint Server 2007 with SP1 (32 bit)"&gt;Office SharePoint Server 2007 with SP1 (32 bit)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3015FDE4-85F6-4CBC-812D-55701FBFB563&amp;displaylang=en" title="Office SharePoint Server 2007 with SP1 (64 bit)"&gt;Office SharePoint Server 2007 with SP1 (64 bit)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointVersioneSLIPSTREAM.aspx" /><issued>2008-3-8T12:7:13+01:00</issued><modified>2008-3-8T12:7:13+01:00</modified></entry><entry><title>Come nascondere funzionalit&#224; di sharepoint con l'elemento HideCustomAction</title><id>/Blog/HideCustomActionElement.aspx</id><created>2008-2-7T19:55:11+01:00</created><content type="text/html" mode="escaped">Una delle funzionalità offerte dalle &lt;a href="http://www.peppedotnet.it/Articoli/SharepointFeatures.aspx" title="Feature di Sharepoint 2007"&gt;Feature di Sharepoint 2007&lt;/a&gt; è la possibilità, in singoli siti o intere site collection, di nascondere una o più azioni presenti di default nel layout di base dei siti sharepoint e nelle pagine di amministrazione. Possiamo per esempio nascondere un link dal menu "Site Actions", o dalle pagine di amministrazione del sito, per evitare che l'utente finale utilizzi particolari funzionalità di sharepoint.
&lt;br /&gt;Questo è possibile creando una feature di questo tipo:
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;feature.xml&lt;/b&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="utf-8"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;
&lt;br /&gt;         Title&lt;span style='color:#0000FF'&gt;="Disabilita azione elimina sito"&lt;/span&gt;
&lt;br /&gt;         Id&lt;span style='color:#0000FF'&gt;="fd45b845-bc19-48b2-9c39-63f23262f956"&lt;/span&gt;
&lt;br /&gt;         Scope&lt;span style='color:#0000FF'&gt;="Web"&lt;/span&gt;
&lt;br /&gt;         Creator&lt;span style='color:#0000FF'&gt;="Giuseppe Marchi (www.peppedotnet.it)"&lt;/span&gt;
&lt;br /&gt;         Description&lt;span style='color:#0000FF'&gt;="Feature per la rimozione dell'azione elimina sito"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifests&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;    
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifest&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Location&lt;span style='color:#0000FF'&gt;="elements.xml"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ElementManifests&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Feature&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;e utilizzando l'elemento HideCustomAction, che permette appunto, di nascondere l'azione che non vogliamo far utilizzare all'utente finale.
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;elements.xml&lt;/b&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="utf-8"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Elements&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;HideCustomAction&lt;/span&gt;&lt;span style='color:#FF0000'&gt;
&lt;br /&gt;        GroupId&lt;span style='color:#0000FF'&gt;="SiteManagement"&lt;/span&gt;
&lt;br /&gt;        HideActionId&lt;span style='color:#0000FF'&gt;="DeleteSite"&lt;/span&gt;
&lt;br /&gt;        Id&lt;span style='color:#0000FF'&gt;="DisabilitaEliminaSito"&lt;/span&gt;
&lt;br /&gt;        Location&lt;span style='color:#0000FF'&gt;="Microsoft.SharePoint.Administration.ApplicationManagement"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;HideCustomAction&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Elements&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Questa funzionalità mi è risultata subito molto comoda. L'unico problema è che inizialmente non trovavo nella documentazione l'elenco di tutti gli ID delle azioni disponibili. Ho trovato però questa lista, che risulta davvero utile:
&lt;br /&gt;&lt;a href="http://www.pings.dk/blog/misc/customactionsutil/customactions.htm" title="Sharepoint actions id"&gt;http://www.pings.dk/blog/misc/customactionsutil/customactions.htm&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Feature.aspx" title="TAG: Feature"&gt;Feature&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HideCustomActionElement.aspx" /><issued>2008-2-7T19:55:11+01:00</issued><modified>2008-2-7T19:55:11+01:00</modified></entry><entry><title>Errore &quot;Unable to connect publishing custom string handler for output caching&quot;</title><id>/Blog/Error_UnableToConnectPublishingCustomStringHandlerForOutputCaching.aspx</id><created>2008-1-29T14:35:33+01:00</created><content type="text/html" mode="escaped">Tipo di errore:&lt;br /&gt;
&lt;br /&gt;&lt;div style="font-style: italic; margin-left: 10px"&gt;Event Source:	Office SharePoint Server
&lt;br /&gt;Event Category:	Publishing Cache 
&lt;br /&gt;Description:
&lt;br /&gt;&lt;span style="color: red"&gt;Unable to connect publishing custom string handler for output caching.  IIS Instance Id is '&lt;Your web istance ID&gt;', Url is '&lt;Requested Url&gt;'.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Questo tipo di errore capita se avete installato delle applicazioni web sullo stesso web server IIS in cui risiedono i siti di Sharepoint Portal Server. Poichè queste, ereditano in automatico le impostazioni del web.config proprio di Sharepoint (in questo caso il modulo per l'output cache personalizzato).
&lt;br /&gt;Per evitare di incappare in questi errori, bisogna rimuovere (attraverso l'elemento &lt;clear /&gt;) tutte le impostazioni che le sezioni di configurazione "httpModules" e "httpHanlders" della configurazione della nostra applicazione personalizzata, hanno ereditato dalla configurazione di Sharepoint; poi è necessario riaggiungere tutti i moduli e tutti gli handlers che la nostra applicazione necessita di utilizzare.
&lt;br /&gt;Per fare un esempio:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;httpHandlers&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;clear/&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; verb&lt;span style='color:#0000FF'&gt;="*"&lt;/span&gt; path&lt;span style='color:#0000FF'&gt;="*.aspx"&lt;/span&gt; 
&lt;br /&gt;          type&lt;span style='color:#0000FF'&gt;="System.Web.UI.PageHandlerFactory"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;      &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; verb&lt;span style='color:#0000FF'&gt;="POST,GET"&lt;/span&gt; path&lt;span style='color:#0000FF'&gt;="*.asmx"&lt;/span&gt;
&lt;br /&gt;          type&lt;span style='color:#0000FF'&gt;="System.Web.Services.Protocols.WebServiceHandlerFactory,
&lt;br /&gt;          System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt;
&lt;br /&gt;          validate&lt;span style='color:#0000FF'&gt;="false"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;!--&lt;/span&gt;&lt;span style='color:#FF0000'&gt; e tutti quelli che servono all'applicazione --&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;httpHandlers&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;httpModules&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;clear&lt;/span&gt;&lt;span style='color:#FF0000'&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; name&lt;span style='color:#0000FF'&gt;="OutputCache"&lt;/span&gt; 
&lt;br /&gt;          type&lt;span style='color:#0000FF'&gt;="System.Web.Caching.OutputCacheModule"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; name&lt;span style='color:#0000FF'&gt;="Session"&lt;/span&gt; 
&lt;br /&gt;          type&lt;span style='color:#0000FF'&gt;="System.Web.SessionState.SessionStateModule"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt; 
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; name&lt;span style='color:#0000FF'&gt;="WindowsAuthentication"&lt;/span&gt; 
&lt;br /&gt;          type&lt;span style='color:#0000FF'&gt;="System.Web.Security.WindowsAuthenticationModule"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;!--&lt;/span&gt;&lt;span style='color:#FF0000'&gt; e tutti quelli che servono all'applicazione --&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;httpModules&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Infine, per permettere all'applicazione di esporre correttamente i propri web service personalizzati, è necessario aggiungere la sezione "webservices", configurata come segue:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;webServices&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;protocols&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; name&lt;span style='color:#0000FF'&gt;="HttpGet"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;add&lt;/span&gt;&lt;span style='color:#FF0000'&gt; name&lt;span style='color:#0000FF'&gt;="HttpPost"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;protocols&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; 
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;webServices&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo modo, l'applicazione custom non eredita più le impostazioni dal web.config di Sharepoint e l'errore di cui sopra non sarà più segnalato.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/Error_UnableToConnectPublishingCustomStringHandlerForOutputCaching.aspx" /><issued>2008-1-29T14:35:33+01:00</issued><modified>2008-1-29T14:35:33+01:00</modified></entry><entry><title>Nuovi iFilter per i documenti del pacchetto Office 2007</title><id>/Blog/NewIFiltersForOffice2007Documents.aspx</id><created>2008-1-11T13:49:53+01:00</created><content type="text/html" mode="escaped">Ho appena letto del &lt;a href="http://blogs.technet.com/italy/archive/2008/01/11/nuovi-ifilter-per-l-indicizzazione-e-la-ricerca-dei-documenti.aspx" title="Nuovi iFilter per indicizzazione e ricerca"&gt;rilascio&lt;/a&gt; di una serie di nuovi iFilter per l'indicizzazione e la ricerca di documenti creati con i programmi del pacchetto Office 2007, di file compressi (zip) e altri formati aggiuntivi.
&lt;br /&gt;Queste le estensioni gestire ora tramite i nuovi filtri:
&lt;br /&gt;
&lt;br /&gt;.docx, .docm, .pptx, .pptm, .xlsx, .xlsm, .xlsb, .zip, .one, .vdx, .vsd, .vss, .vst, .vdx, .vsx, .vtx
&lt;br /&gt;
&lt;br /&gt;Tutti questi pacchetti possono essere installati su MOSS 2007 e WSS 3.0, ma anche per SQL Server 2005, Exchange Server e Desktop Search.
&lt;br /&gt;Il pacchetto è disponibile per il download su questo link:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&amp;displaylang=en" title="2007 Office System Converter: Microsoft Filter Pack"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buon download !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/iFilter.aspx" title="TAG: iFilter"&gt;iFilter&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Office 2007.aspx" title="TAG: Office 2007"&gt;Office 2007&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/NewIFiltersForOffice2007Documents.aspx" /><issued>2008-1-11T13:49:53+01:00</issued><modified>2008-1-11T13:49:53+01:00</modified></entry><entry><title>Aree di configurazione per webpart personalizzate: da ToolPart ad EditorPart</title><id>/Blog/CustomConfigurationAreasFromToolPartToEditorPart.aspx</id><created>2007-12-17T15:41:45+01:00</created><content type="text/html" mode="escaped">Già dalle prime versioni dei prodotti Sharepoint era possibile sviluppare delle web part con delle zone personalizzabili di configurazione che vengono posizionate nella finestra di configurazione generale di ogni web part.
&lt;br /&gt;Nella versione 2003 di sharepoint portal server queste zone erano chiamate ToolPart. Qunidi all'interno della web part era necessario eseguire l'override del metodo GetToolParts() e creare un'array di oggetti di tipo ToolPart, all'interno del quale inserire un'istanza di un oggetto basato su una nostra classe personalizzara, che eredita dalla classe ToolPart.
&lt;br /&gt;Ora, nella versione 3.0 di Windows Sharepoint Service e in MOSS 2007 le cose sono leggermente cambiate.
&lt;br /&gt;Innanzitutto non si parla più di ToolPart ma di EditorPart, in conformità con quanto aggiunto nella versione 2.0 di ASP.NET riguardo proprio le web part.
&lt;br /&gt;Quindi, per creare una nuova sezione di configurazione, dobbiamo prima sviluppare un nuova classe, ereditando dalla classe EditorPart (del namespace System.Web.UI.WebControls.WebParts) ed esesguire l'overload dei metodi ApplyChanges e SyncChanges:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;CopyrightEditorPart&lt;/span&gt; : &lt;span style="color: #2b91af;"&gt;EditorPart&lt;/span&gt;
&lt;br /&gt;{
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; ApplyChanges()
&lt;br /&gt;&nbsp;&nbsp;&nbsp; {
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;span style="color: green;"&gt;//throw new Exception("The method or operation is not implemented.");&lt;/span&gt;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; }
&lt;br /&gt;&nbsp;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; SyncChanges()
&lt;br /&gt;&nbsp;&nbsp;&nbsp; {
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;span style="color: green;"&gt;//throw new Exception("The method or operation is not implemented.");&lt;/span&gt;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; }
&lt;br /&gt;&nbsp;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: blue;"&gt;protected&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Render(System.Web.UI.&lt;span style="color: #2b91af;"&gt;HtmlTextWriter&lt;/span&gt; writer)
&lt;br /&gt;&nbsp;&nbsp;&nbsp; {
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writer.Write(&lt;span style="color: #a31515;"&gt;"My custom editor part"&lt;/span&gt;);
&lt;br /&gt;&nbsp;&nbsp;&nbsp; }
&lt;br /&gt;}&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Poi, all'interno del codice della nostra web part, dobbiamo eseguire l'overload del metodo CreateEditorParts() in modo tale da ritornare una collezione di oggetti di tipo EditorPart per la visualizzazione delle sezioni di configurazione custom.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;EditorPartCollection&lt;/span&gt; CreateEditorParts()
&lt;br /&gt;{
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&lt;&lt;span style="color: #2b91af;"&gt;EditorPart&lt;/span&gt;&gt; parts = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&lt;&lt;span style="color: #2b91af;"&gt;EditorPart&lt;/span&gt;&gt;();
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: #2b91af;"&gt;CopyrightEditorPart&lt;/span&gt; copy = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;CopyrightEditorPart&lt;/span&gt;();
&lt;br /&gt;&nbsp;&nbsp;&nbsp; copy.ID = &lt;span style="color: #a31515;"&gt;"copyright"&lt;/span&gt;;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; parts.Add(copy);
&lt;br /&gt;&nbsp;
&lt;br /&gt;&nbsp;&nbsp;&nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;EditorPartCollection&lt;/span&gt;(parts);
&lt;br /&gt;&lt;p style="margin: 0px;"&gt;}
&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Così il gioco è fatto !
&lt;br /&gt;
&lt;br /&gt; 
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CustomConfigurationAreasFromToolPartToEditorPart.aspx" /><issued>2007-12-17T15:41:45+01:00</issued><modified>2007-12-17T15:41:45+01:00</modified></entry><entry><title>WSS 3.0 e MOSS 2007 Service Pack 1</title><id>/Blog/WSS3MOSS2007ServicePack1.aspx</id><created>2007-12-12T11:37:51+01:00</created><content type="text/html" mode="escaped">Ieri, sono stati rilasciati i Service Pack 1 rispettivamente per WSS 3.0 e MOSS 2007 !
&lt;br /&gt;In queste pagine ci sono le descrizioni di tutti i bug corretti nei rispettivi aggiornamenti:
&lt;br /&gt;- &lt;a href="http://support.microsoft.com/kb/936988" title="WSS 3.0 SP1 reference"&gt;http://support.microsoft.com/kb/936988&lt;/a&gt; (WSS 3.0 SP1)
&lt;br /&gt;- &lt;a href="http://support.microsoft.com/kb/936984" title="MOSS 2007 SP1 reference"&gt;http://support.microsoft.com/kb/936984&lt;/a&gt; (MOSS 2007 SP1)
&lt;br /&gt;
&lt;br /&gt;Mentre i rispettivi download sono qui:
&lt;br /&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4191A531-A2E9-45E4-B71E-5B0B17108BD2&amp;displaylang=en" title="WSS 3.0 Service Pack 1"&gt;WSS 3.0 Service Pack 1&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD59175C-AD6A-4027-8C2F-DB25322F791B&amp;displaylang=en" title="MOSS 2007 Service Pack 1"&gt;MOSS 2007 Service Pack 1&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Una cosa cui porre attenzione, se non l'aveta già fatto, è l'installazione di questo update:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/945013" title="Sharepoint 2007 update"&gt;http://support.microsoft.com/kb/945013&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WSS3MOSS2007ServicePack1.aspx" /><issued>2007-12-12T11:37:51+01:00</issued><modified>2007-12-12T11:37:51+01:00</modified></entry><entry><title>Anticipazioni sul Service Pack 1 di WSS 3.0 e MOSS 2007</title><id>/Blog/AnticipazioniSP1Wss3Moss2007.aspx</id><created>2007-12-3T11:14:16+01:00</created><content type="text/html" mode="escaped">La notizia è di un pò di giorni fa, ma la trovo comunque interessantissima. Dal blog del team di Sharepoint vengono date delle anticipazioni sul primo service pack per WSS 3.0 e MOSS 2007, che credo esca nel corso del 2008. Queste le principali aggiunte:&lt;ul&gt;&lt;li&gt;Supporto per Windows Server 2008&lt;/li&gt;&lt;li&gt;Supporto nativo per Ajax, nello sviluppo di web part&lt;/li&gt;&lt;li&gt;Nuovi comandi inseriti all'interno dell'utility stsadm&lt;/li&gt;&lt;li&gt;Correzione di una sessantina di bug, riscontrati in questo ultimo anno&lt;/li&gt;&lt;/ul&gt;Speriamo che facciano in fretta a rilasciarlo in versione definitiva.
&lt;br /&gt;Per ulteriori informazioni, vi rimando direttamente al post da cui provengono le anticipazioni:
&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/11/29/preview-into-wss-3-0-sp1-and-sharepoint-server-2007-sp1.aspx" title="Preview into WSS 3.0 SP1 and SharePoint Server 2007 SP1"&gt;http://blogs.msdn.com/sharepoint/archive/2007/11/29/preview-into-wss-3-0-sp1-and-sharepoint-server-2007-sp1.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AnticipazioniSP1Wss3Moss2007.aspx" /><issued>2007-12-3T11:14:16+01:00</issued><modified>2007-12-3T11:14:16+01:00</modified></entry><entry><title>Come scorrere i permessi di una lista o di un item WSS 3.0</title><id>/Blog/HowToViewListOrItemPermissions.aspx</id><created>2007-11-21T11:32:51+01:00</created><content type="text/html" mode="escaped">Ieri sul &lt;a href="http://www.microsoft.com/italy/communities/newsgroups/default.mspx?dg=microsoft.public.it.sharepoint&amp;lang=it&amp;cr=IT&amp;r=844efed6-ce9a-4c2c-b663-5f37cef5edfc" title=""&gt;newsgroup&lt;/a&gt; di Microsoft legato alle tecnologie Sharepoint, è stato chiesto come era possibile ciclare sui permessi di una lista WSS 3. Io mi sono creato questo metodo come esempio, che risulta applicabile anche ad un elemento SPListItem.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;private&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; FindPermissions(SPList wssObj)
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (SPRoleAssignment assignment &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; wssObj.RoleAssignments)
&lt;br /&gt;    {
&lt;br /&gt;        SPUser user = assignment.Member &lt;span style="color: #0000FF"&gt;as&lt;/span&gt; SPUser;
&lt;br /&gt;        SPGroup group = assignment.Member &lt;span style="color: #0000FF"&gt;as&lt;/span&gt; SPGroup;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (user != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;        {
&lt;br /&gt;            &lt;span style="color: #008200"&gt;//ho un utente
&lt;/span&gt;
            Console.WriteLine(&lt;span style="color: #A31515"&gt;"Utente: "&lt;/span&gt; + user.LoginName);
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (SPRoleDefinition roleDefinition &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; assignment.RoleDefinitionBindings)
&lt;br /&gt;            {
&lt;br /&gt;                Console.WriteLine(&lt;span style="color: #A31515"&gt;"\t"&lt;/span&gt; + roleDefinition.Name);
&lt;br /&gt;            }
&lt;br /&gt;        }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (group != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;        {
&lt;br /&gt;            &lt;span style="color: #008200"&gt;//ho un gruppo
&lt;/span&gt;
            Console.WriteLine(&lt;span style="color: #A31515"&gt;"Gruppo: "&lt;/span&gt; + group.Name);
&lt;br /&gt;            &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (SPRoleDefinition roleDefinition &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; assignment.RoleDefinitionBindings)
&lt;br /&gt;            {
&lt;br /&gt;                Console.WriteLine(&lt;span style="color: #A31515"&gt;"\t"&lt;/span&gt; + roleDefinition.Name);
&lt;br /&gt;            }
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Per scorrere i permessi di un singolo item invece, basta cambiare il parametro di ingresso e metterlo di tipo SPlistItem.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToViewListOrItemPermissions.aspx" /><issued>2007-11-21T11:32:51+01:00</issued><modified>2007-11-21T11:32:51+01:00</modified></entry><entry><title>Caratteri non consentiti per WSS 3.0 e MOSS 2007</title><id>/Blog/CharactersNotAllowedWss3Moss2007.aspx</id><created>2007-11-16T10:6:47+01:00</created><content type="text/html" mode="escaped">Ecco un interessante articolo della KB Microsoft con l'elenco dei caratteri non consentiti in sharepoint 2007, divisi per utilizzo in siti, cartelle o file.
&lt;br /&gt;Questo il link: &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;905231" title="Information about the characters that you cannot use in sites, folders, and files in SharePoint Portal Server 2003 or in SharePoint Server 2007"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;905231&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS 2007.aspx" title="TAG: MOSS 2007"&gt;MOSS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CharactersNotAllowedWss3Moss2007.aspx" /><issued>2007-11-16T10:6:47+01:00</issued><modified>2007-11-16T10:6:47+01:00</modified></entry><entry><title>Microsoft Search Server 2008 Express</title><id>/Blog/MicrosoftSearchServer2008Express.aspx</id><created>2007-11-6T21:18:8+01:00</created><content type="text/html" mode="escaped">Direttamente dal blog del team di Search Server, l'annuncio della versione Express 2008 del prodotto. Per ora è disponibile la release candidate.
&lt;br /&gt;Questo il sito di riferimento:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx" title="Microsoft Search Server 2008 Express"&gt;http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Non vedo l'ora di provarlo..
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Search Server.aspx" title="TAG: Search Server"&gt;Search Server&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MicrosoftSearchServer2008Express.aspx" /><issued>2007-11-6T21:18:8+01:00</issued><modified>2007-11-6T21:18:8+01:00</modified></entry><entry><title>Sharepoint Security HotFix MS07-059</title><id>/Blog/SharepointSecurityHotFixMS07-059.aspx</id><created>2007-10-11T20:3:12+01:00</created><content type="text/html" mode="escaped">Martedì scorso è uscita questo hotfix per windows sharepoint services 3.0, l'avevo letta, ma mi sono scordato di postare. E' segnalato anche all'interno del blog del team di sharepoint.
&lt;br /&gt;Questi i riferimenti:
&lt;br /&gt;
&lt;br /&gt;Articolo dalla KB Microsoft:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/942017" title="KB article 942017"&gt;http://support.microsoft.com/kb/942017&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Annuncio dal blog di sharepoint:
&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/10/09/important-security-hotfix-ms07-059.aspx" title="Annuncio hotfix dal blog di sharepoint"&gt;http://blogs.msdn.com/sharepoint/archive/2007/10/09/important-security-hotfix-ms07-059.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointSecurityHotFixMS07-059.aspx" /><issued>2007-10-11T20:3:12+01:00</issued><modified>2007-10-11T20:3:12+01:00</modified></entry><entry><title>L'evento ItemUpdating di una document library viene scatenato 2 volte</title><id>/Blog/ItemUpdatingEventFired2Times.aspx</id><created>2007-10-1T17:39:42+01:00</created><content type="text/html" mode="escaped">Oggi mi sono accorto di questa cosa. Se attacco un event handler ad una document library con il versioning e le funzionalità di check-in e check-out attive, l'evento ItemUpdating viene scatenato 2 volte !
&lt;br /&gt;Nelle pagine di supporto Microsoft, viene segnalato l'errore e viene data una soluzione che riguarda solamente però il caso in cui il documento venga messo in check-in o in check-out; l'help è visualizzabile a questo indirizzo: &lt;a href="http://support.microsoft.com/kb/939307" title="The ItemUpdating event or the ItemUpdated event occurs two times when you enable the Require Check Out option for a document library in Windows SharePoint Services 3.0"&gt;http://support.microsoft.com/kb/939307&lt;/a&gt;.
&lt;br /&gt;Mentre invece, se vogliamo eseguire delle operazioni solamente una volta, dobbiamo controllare che ci siano delle BeforeProperties valorizzate !
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; ItemUpdating(SPItemEventProperties properties)
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.DisableEventFiring();
&lt;br /&gt;    WriteLog(&lt;span style="color: #A31515"&gt;"Start ItemUpdating"&lt;/span&gt;);
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;bool&lt;/span&gt; go = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (DictionaryEntry de &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; properties.BeforeProperties)
&lt;br /&gt;    {
&lt;br /&gt;        go = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;        WriteLog(String.Format(&lt;span style="color: #A31515"&gt;"{0} - {1}"&lt;/span&gt;, de.Key, de.Value));
&lt;br /&gt;    }
&lt;br /&gt;
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(go)
&lt;br /&gt;    {
&lt;br /&gt;        &lt;span style="color: #008200"&gt;//do something only for one time !
&lt;/span&gt;
    }
&lt;br /&gt;
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.EnableEventFiring();
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Magari non è il massimo della bellezza.. ma funziona !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Event Handler.aspx" title="TAG: Event Handler"&gt;Event Handler&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/ItemUpdating.aspx" title="TAG: ItemUpdating"&gt;ItemUpdating&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ItemUpdatingEventFired2Times.aspx" /><issued>2007-10-1T17:39:42+01:00</issued><modified>2007-10-1T17:39:42+01:00</modified></entry><entry><title>Se non trovate pi&#249; il link alla pagina &quot;Access Requests&quot; in MOSS...</title><id>/Blog/AccessRequestsLinkNotFoundMOSS.aspx</id><created>2007-9-26T12:13:54+01:00</created><content type="text/html" mode="escaped">Oggi assieme al mio capo, ci siamo accorti di questa cosa. In un'installazione nuova di pacca di MOSS 2007 non trovavamo il link "Access Requests" per configurare le richieste di accesso per gli utenti che non hanno permessi a visualizzare interi siti o singole sezioni.
&lt;br /&gt;La locazione di tale link è questa:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="margin-left: 10px; font-style:italic"&gt;Site actions &gt; Site settings &gt; Advanced permissions &gt; Settings &gt; Access Requests&lt;/div&gt;
&lt;br /&gt;La cosa era parecchio strana e cercando qua e la nella central administration, siamo arrivati alla conclusione che bisognava settare correttamente l'SMTP server !! Senza le configurazioni SMTP, tale link non viene renderizzato !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Access Requests.aspx" title="TAG: Access Requests"&gt;Access Requests&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AccessRequestsLinkNotFoundMOSS.aspx" /><issued>2007-9-26T12:13:54+01:00</issued><modified>2007-9-26T12:13:54+01:00</modified></entry><entry><title>HotFix per l'Approval Workflow di MOSS 2007</title><id>/Blog/ApprovalWorkflowMOSS2007HotFix.aspx</id><created>2007-9-24T19:35:56+01:00</created><content type="text/html" mode="escaped">Se vi capita di utilizzare il workflow di approvazione di MOSS 2007, e vi accorgete che le mail di attivazione dei task e completamento arrivano in formato testo e non html non preoccupatevi.
&lt;br /&gt;C'è un HotFix, pubblicato a maggio del 2007, che risolve il problema.
&lt;br /&gt;State però attenti di installarlo SOLO se avete riscontrato tale problema !
&lt;br /&gt;Questo il link: &lt;a href="http://support.microsoft.com/kb/937906/en-us" title="MOSS 2007 HotFix"&gt;http://support.microsoft.com/kb/937906/en-us&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Approval workflow.aspx" title="TAG: Approval workflow"&gt;Approval workflow&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ApprovalWorkflowMOSS2007HotFix.aspx" /><issued>2007-9-24T19:35:56+01:00</issued><modified>2007-9-24T19:35:56+01:00</modified></entry><entry><title>Aggiornamento agli SDK di WSS 3.0 e MOSS</title><id>/Blog/UpdateWss3AndMOSSSDK.aspx</id><created>2007-8-29T9:42:7+01:00</created><content type="text/html" mode="escaped">Tornato dalle vacanze, sono stato accolto da una piacevole notizia: gli SDK di WSS 3.0 e MOSS 2007 sono stati aggiornati alla versione 1.2 ! L'annuncio arriva direttamente dal &lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/08/22/just-published-major-update-to-the-moss-and-wss-downloadable-sdks-8-22-2007.aspx" title="Annuncio nuovi SDK"&gt;blog del team di sviluppo di Sharepoint&lt;/a&gt;.
&lt;br /&gt;La cosa molto interessante è che l'SDK di MOSS 2007 contiene ora anche un editor per i Business Data Catalog.
&lt;br /&gt;Sempre nella pagina dell'&lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/08/22/just-published-major-update-to-the-moss-and-wss-downloadable-sdks-8-22-2007.aspx" title="Annuncio nuovi SDK"&gt;annuncio&lt;/a&gt; potrete vedere l'elenco degli aggiornamenti inseriti.
&lt;br /&gt;
&lt;br /&gt;Ecco i due nuovi download:
&lt;br /&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en" title="MOSS 2007 SDK 1.2"&gt;MOSS 2007 SDK 1.2&lt;/a&gt;
&lt;br /&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=05E0DD12-8394-402B-8936-A07FE8AFAFFD&amp;displaylang=en" title="WSS 3.0 SDK 1.2"&gt;WSS 3.0 SDK 1.2&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SDK.aspx" title="TAG: SDK"&gt;SDK&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/UpdateWss3AndMOSSSDK.aspx" /><issued>2007-8-29T9:42:7+01:00</issued><modified>2007-8-29T9:42:7+01:00</modified></entry><entry><title>MCTS su Windows Sharepoint Service 3.0 - Application Development</title><id>/Blog/MCSTWss3ApplicationDevelopment.aspx</id><created>2007-7-13T20:41:35+01:00</created><content type="text/html" mode="escaped">Dopo il &lt;a href="http://www.peppedotnet.it/Blog/PrimoEsameSuperato.aspx" title="primo esame"&gt;primo esame&lt;/a&gt; su ASP.NET 2, mi sono buttato sulle certificazioni su Sharepoint. Il risultato è che sono diventato Micorosft Certified Technology Specialist su Windows Sharepoint Services 3.0 - Application Development (la parte di sviluppo s'intende ;).
&lt;br /&gt;Questo è l'esame:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-541.mspx" title="TS: Microsoft Windows SharePoint Services 3.0 - Application Development"&gt;http://www.microsoft.com/learning/exams/70-541.mspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Ancora non mi hanno aggiornato il transcript.. sarà perchè è venerdì ...
&lt;br /&gt;Ah ... il punteggio ? Questa volta un pò meno ... 887 !
&lt;br /&gt;Questa è proprio una soddisfazione !
&lt;br /&gt;
&lt;br /&gt;Assieme a me, l'hanno passato anche due miei amici/colleghi. Quindi rinnovo i complimenti anche a loro. In particolar modo ad uno dei due.. che in pratica è stato obbligato a studiarlo in 10 giorni !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Certificazioni.aspx" title="TAG: Certificazioni"&gt;Certificazioni&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MCSTWss3ApplicationDevelopment.aspx" /><issued>2007-7-13T20:41:35+01:00</issued><modified>2007-7-13T20:41:35+01:00</modified></entry><entry><title>Come utlizzare il metodo RunWithElevatedPrivileges della classe SPSecurity</title><id>/Blog/HowToUseRunWithElevatedPrivilegesMethod.aspx</id><created>2007-7-12T15:34:46+01:00</created><content type="text/html" mode="escaped">Finalmente sono stati capiti i motivi per cui il metodo RunWithElevatedPrivileges della classe SPSecurity a volte smetteva di funzionare. Viene svelato tutto in questo post:
&lt;br /&gt;&lt;a href="http://moldenco.blogspot.com/2007/05/spsecurityrunwithelevatedprivileges-to.html" title="SPSecurity.RunWithElevatedPrivileges to update SPRoleAssignment of an SPListItem"&gt;http://moldenco.blogspot.com/2007/05/spsecurityrunwithelevatedprivileges-to.html&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;In pratica, per usufruire del corretto funzionamento di tale metodo, bisogna:&lt;ul&gt;&lt;li&gt;creare &lt;b&gt;sempre dei nuovi oggetti&lt;/b&gt; di tipo SPSite o SPWeb, senza prenderli dal contesto (per esempio attraverso i metodi GetContextSite o GetContextWeb della classe SPControl)&lt;/li&gt;&lt;li&gt;settare sempre a true la proprietà &lt;b&gt;AllowUnsafeUpdates&lt;/b&gt; della classe SPWeb.&lt;/li&gt;&lt;/ul&gt; Seguite queste indicazioni il metodo RunWithElevatedPrivileges funziona sempre alla perfezione.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; QualsiasiCosa() 
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #008200"&gt;//...
&lt;/span&gt;
    SPSecurity.RunWithElevatedPrivileges(mioMetodo);
&lt;br /&gt;}
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; mioMetodo()
&lt;br /&gt;{
&lt;br /&gt;    SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;);
&lt;br /&gt;    SPWeb web = site.AllWebs[&lt;span style="color: #A31515"&gt;"NomeDelSito"&lt;/span&gt;];
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;using&lt;/span&gt;(web)
&lt;br /&gt;    {
&lt;br /&gt;        site.AllowUnsafeUpdates = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #008200"&gt;//codice eseguito con privilegi da admin
&lt;/span&gt;

&lt;br /&gt;        site.AllowUnsafeUpdates = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/RunWithElevatedPrivileges.aspx" title="TAG: RunWithElevatedPrivileges"&gt;RunWithElevatedPrivileges&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/HowToUseRunWithElevatedPrivilegesMethod.aspx" /><issued>2007-7-12T15:34:46+01:00</issued><modified>2007-7-12T15:34:46+01:00</modified></entry><entry><title>Il controllo PeopleEditor di WSS</title><id>/Blog/WssPeopleEditorControl.aspx</id><created>2007-7-11T17:34:9+01:00</created><content type="text/html" mode="escaped">Era da un pò che pensavo al modo in cui poter utilizzare il controllo web SPFieldUser al di fuori di una form di inserimento e/o modificata di una lista Sharepoint, perchè mi piaceva mantere l'utilizzo del pop-up di ricerca utenti e gruppi. Solamente che, in pratica, se messo in una pagina diversa da NewForm.aspx e da EditForm.aspx, tale controllo in fase di rendering fa andare in eccezione tutta la pagina.
&lt;br /&gt;Il problema è che sbagliavo proprio controllo... si deve utilizzare il &lt;a href="http://msdn2.microsoft.com/en-us/library/ms468579.aspx" title="PeopleEditor control"&gt;PeopleEditor&lt;/a&gt;, in grado proprio di fare da campo di testo per la ricerca di utenti e gruppi:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;SharePoint:PeopleEditor&lt;/span&gt;&lt;span style='color:#FF0000'&gt; id&lt;span style='color:#0000FF'&gt;="utentiPrivati"&lt;/span&gt; runat&lt;span style='color:#0000FF'&gt;="server"&lt;/span&gt;
&lt;br /&gt;        SelectionSet&lt;span style='color:#0000FF'&gt;="User,SecGroup,SPGroup"&lt;/span&gt;
&lt;br /&gt;        ValidatorEnabled&lt;span style='color:#0000FF'&gt;="true"&lt;/span&gt;
&lt;br /&gt;        AllowEmpty &lt;span style='color:#0000FF'&gt;= "false"&lt;/span&gt;
&lt;br /&gt;        MultiSelect &lt;span style='color:#0000FF'&gt;= "true"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Se vogliamo far selezionare solo utenti, diamo solamente il valore User alla proprietà SelectionSet, mentre se volgiamo far selezionare solo gruppi, diamo il valore SPGroup.
&lt;br /&gt;Lato server, è possibile recuperare le informazioni da tale controllo in questo modo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPUser user = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;SPGroup group = &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;for&lt;/span&gt; (&lt;span style="color: #0000FF"&gt;int&lt;/span&gt; i = 0; i &lt; utentiPrivati.Accounts.Count; i++)
&lt;br /&gt;{
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; account = utentiPrivati.Accounts[i].ToString();                                             
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;try&lt;/span&gt; 
&lt;br /&gt;     {
&lt;br /&gt;          &lt;span style="color: #008200"&gt;//account: DOMAIN\loginname
&lt;/span&gt;
          user = web.AllUsers[account];
&lt;br /&gt;     }
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;catch&lt;/span&gt;
&lt;br /&gt;     {
&lt;br /&gt;          &lt;span style="color: #008200"&gt;//account: GroupName
&lt;/span&gt;
          group = web.Groups[account];
&lt;br /&gt;     }                                                                                
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;][&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WssPeopleEditorControl.aspx" /><issued>2007-7-11T17:34:9+01:00</issued><modified>2007-7-11T17:34:9+01:00</modified></entry><entry><title>Un event handler per cambiare i permessi di un item</title><id>/Blog/SetItemPermissionWithEventHandler.aspx</id><created>2007-7-10T22:9:24+01:00</created><content type="text/html" mode="escaped">Per necessitudini varie, ho sviluppato questo semplice event handler che non fa altro che settare i permessi "Full Control" all'utente che ha creato un nuovo item nella lista in cui l'handler viene registrato.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; System.Text;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt; Microsoft.SharePoint;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;namespace&lt;/span&gt; Peppe.Sharepoint.Handlers
&lt;br /&gt;{
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;class&lt;/span&gt; SetFullControlToAuthor : SPItemEventReceiver
&lt;br /&gt;    {
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;override&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; ItemAdded(SPItemEventProperties properties)
&lt;br /&gt;        {
&lt;br /&gt;            SPSecurity.RunWithElevatedPrivileges(&lt;span style="color: #0000FF"&gt;delegate&lt;/span&gt;()
&lt;br /&gt;            {
&lt;br /&gt;                SPWeb web = properties.OpenWeb();
&lt;br /&gt;                &lt;span style="color: #0000FF"&gt;using&lt;/span&gt;(web)
&lt;br /&gt;                {
&lt;br /&gt;                    SPListItem item = properties.ListItem;
&lt;br /&gt;
&lt;br /&gt;                    SPRoleDefinition fullControl = web.RoleDefinitions[&lt;span style="color: #A31515"&gt;"Full Control"&lt;/span&gt;];
&lt;br /&gt;                    SPUser author = web.Users.GetByID(properties.CurrentUserId);
&lt;br /&gt;                    SPRoleAssignment assignment = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPRoleAssignment(author);
&lt;br /&gt;                    assignment.RoleDefinitionBindings.Add(fullControl);
&lt;br /&gt;                    item.BreakRoleInheritance(&lt;span style="color: #0000FF"&gt;false&lt;/span&gt;);
&lt;br /&gt;                    item.RoleAssignments.Add(assignment);
&lt;br /&gt;                    item.Update();
&lt;br /&gt;                }
&lt;br /&gt;            });
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;E' molto semplice. Utilizza le nuove classi di WSS 3.0, SPRoleDefinition e SPRoleAssignment, per assegnare permessi ad utenti su singoli oggetti di sharepoint. Volendo può essere esteso per prelevare informazioni da un campo di tipo User o UserMulti, con la possibilità di inserire anche gruppi del sito Sharepoint e non solamente utenti.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Event Handler.aspx" title="TAG: Event Handler"&gt;Event Handler&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SetItemPermissionWithEventHandler.aspx" /><issued>2007-7-10T22:9:24+01:00</issued><modified>2007-7-10T22:9:24+01:00</modified></entry><entry><title>Come inserire una colonna di tipo utente con la scelta multipla</title><id>/Blog/AddUserMultiChoiceColumnFromListTemplate.aspx</id><created>2007-7-7T18:20:48+01:00</created><content type="text/html" mode="escaped">Oggi ho finalmente scoperto come inserire un campo di selezione utenti con possibilità di scelta multipla all'interno di un template di lista in WSS 3.
&lt;br /&gt;Nella &lt;a href="http://msdn2.microsoft.com/en-us/library/ms437580.aspx" title="Field element"&gt;documentazione&lt;/a&gt;, dicono che il tipo da utilizzare è il tipo MultiUser. Solamente che mettendo solo quello tra le proprietà del campo, questo risulta comunque a singola scelta.
&lt;br /&gt;Ecco invece come inserire la funzionalità di multiscelta:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Field&lt;/span&gt;&lt;span style='color:#FF0000'&gt; ID&lt;span style='color:#0000FF'&gt;="..."&lt;/span&gt;
&lt;br /&gt;       SourceID&lt;span style='color:#0000FF'&gt;="http://schemas.microsoft.com/sharepoint/v3"&lt;/span&gt;
&lt;br /&gt;       Name&lt;span style='color:#0000FF'&gt;="Approvatori"&lt;/span&gt;
&lt;br /&gt;       StaticName&lt;span style='color:#0000FF'&gt;="Approvatori"&lt;/span&gt;
&lt;br /&gt;       DisplayName&lt;span style='color:#0000FF'&gt;="Approvatori"&lt;/span&gt;
&lt;br /&gt;       Type&lt;span style='color:#0000FF'&gt;="UserMulti"&lt;/span&gt;
&lt;br /&gt;       UserSelectionMode&lt;span style='color:#0000FF'&gt;="PeopleAndGroups"&lt;/span&gt;
&lt;br /&gt;       UserSelectionScope&lt;span style='color:#0000FF'&gt;="0"&lt;/span&gt;
&lt;br /&gt;       Mult&lt;span style='color:#0000FF'&gt;="TRUE"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Field&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In pratica, bisognava aggiungere gli attributi UserSelectionMode, UserSelectionScope e Mult. La cosa più bella è che queste proprietà ... NON SONO DOCUMENTATE !</content><link rel="alternate" type="text/html" href="/Blog/AddUserMultiChoiceColumnFromListTemplate.aspx" /><issued>2007-7-7T18:20:48+01:00</issued><modified>2007-7-7T18:20:48+01:00</modified></entry><entry><title>Come manipolare i menu di navigazione con il modello ad oggetti di Sharepoint</title><id>/Blog/SharepointNavigationAPI.aspx</id><created>2007-6-26T10:56:11+01:00</created><content type="text/html" mode="escaped">L'intero sistema di navigazione di Sharepoint è completamente esposto attraverso il suo relativo modello ad oggetti. Abbiamo infatti un nuovo namespace, dalla versione 3.0 di Windows Sharepoint Services, in grado di manipolare i nodi di navigazione dei nostri siti. Il namespace in questione è il Microsoft.Sharepoint.Navigation; al suo interno, troviamo queste principali classi:&lt;ul&gt;&lt;li&gt;SPNavigation - che rappresenta il sistema di navigazione di un sito&lt;/li&gt;&lt;li&gt;SPNavigationNode - che rappresenta un singolo nodo di una barra di navigazione&lt;/li&gt;&lt;li&gt;SPNavigationNodeCollection - che rappresenta una collezione di nodi di navigazione&lt;/li&gt;&lt;/ul&gt;Una proprietà di tipo SPNavigation, ci viene offerta dalla classe SPWeb. Attraverso la proprietà Navigation, infatti, siamo in grado di recuperare sia la barra di navigazione che la quicklaunch bar di ogni sito Sharepoint, ed effettuare delle operazioni di personalizzazione su di esse:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt;(SPWeb web = SPControl.GetContextWeb(Context))
&lt;br /&gt;{
&lt;br /&gt;     &lt;span style="color: #008200"&gt;//aggiungo degli item alla navigazione
&lt;/span&gt;
     SPNavigationNodeCollection quicklaunch = web.Navigation.QuickLaunch;
&lt;br /&gt;     SPNavigationNodeCollection navbar = web.Navigation.TopNavigationBar;
&lt;br /&gt;
&lt;br /&gt;     SPNavigationNode peppe = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPNavigationNode(&lt;span style="color: #A31515"&gt;"PeppeDotNet"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"http://www.peppedotnet.it"&lt;/span&gt;);
&lt;br /&gt;     quicklaunch.AddAsFirst(peppe);
&lt;br /&gt;     navbar.AddAsLast(peppe);
&lt;br /&gt;
&lt;br /&gt;     SPNavigationNode prevNode = web.Navigation.GetNodeByUrl(&lt;span style="color: #A31515"&gt;"http://localhost/SubSite"&lt;/span&gt;);
&lt;br /&gt;     navbar.Add(peppe, prevNode);
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Come potete vedere, possiamo recupare le collezioni di nodi relative alla barra di navigazione e alla quicklaunch bar, attraverso le relative proprietà esposte dalla classe SPNavigation. Poi possiamo aggiungere dei nodi alla navigazione, sfruttando uno di questi metodi della classe SPNavigationNodeCollection:&lt;ul&gt;&lt;li&gt;AddAsFirst - Aggiunge un nodo all'inizio della collezione&lt;/li&gt;&lt;li&gt;AddAsLast - Aggiunge un nodo alla fine della collezione&lt;/li&gt;&lt;li&gt;Add - Aggiunge un nodo, subito prima di un nodo di riferimento&lt;/li&gt;&lt;/ul&gt;Inoltre, è possibile sfruttare la classe SPNavigationNode, per l'inserimento o la modifica di sottonodi di navigazione:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt;(SPWeb web = SPControl.GetContextWeb(Context))
&lt;br /&gt;{
&lt;br /&gt;     SPList list = web.Lists[&lt;span style="color: #A31515"&gt;"MyList"&lt;/span&gt;];
&lt;br /&gt;     SPNavigationNode rootList = web.Navigation.GetNodeByUrl(list.DefaultViewUrl);
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;foreach&lt;/span&gt; (SPView view &lt;span style="color: #0000FF"&gt;in&lt;/span&gt; list.Views)
&lt;br /&gt;     {
&lt;br /&gt;         SPNavigationNode node = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPNavigationNode(view.Title, view.Url, &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;);
&lt;br /&gt;         rootList.Children.AddAsFirst(node);
&lt;br /&gt;     }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo modo, abbiamo aggiunto dei sub-menu alla voce relativa ad una specifica lista, in modo tale da inserire nella struttura di navigazione anche le sue viste.
&lt;br /&gt;Veramente utile !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Navigation.aspx" title="TAG: Navigation"&gt;Navigation&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointNavigationAPI.aspx" /><issued>2007-6-26T10:56:11+01:00</issued><modified>2007-6-26T10:56:11+01:00</modified></entry><entry><title>SharePoint Visual Studio Project Templates </title><id>/Blog/SharePointVisualStudioProjectTemplates .aspx</id><created>2007-6-24T16:0:42+01:00</created><content type="text/html" mode="escaped">Stavo girando un pò sul web per cercare qualcosa sulle solution di Sharepoint, e sono inciampato su questo progetto su codeplex: &lt;a href="http://www.codeplex.com/sptemplateland" title="Sharepoint Visual Studio Project Templates"&gt;http://www.codeplex.com/sptemplateland&lt;/a&gt;.
&lt;br /&gt;E' un template per Visual Studio .NET 2005 per creare i file necessari per il deployment delle nostre soluzioni Sharepoint. Una volta creato un progetto con questo template, avrete la possibilità di inserire nella soluzione:&lt;ul&gt;&lt;li&gt;delle DLL da inserire nella gac del server&lt;/li&gt;&lt;li&gt;delle entries all'interno dell'elemento SafeControls del web.config del server, per registrare i nostri assembly come sicuri&lt;/li&gt;&lt;li&gt;le policy di sicurezza per gli assembly della soluzione (cas)&lt;/li&gt;&lt;li&gt;le nostre feature personalizzate&lt;/li&gt;&lt;li&gt;eventuali form aspx da inserire nella directory LAYOUTS del server&lt;/li&gt;&lt;li&gt;eventuali file di configurazione per la soluzione&lt;/li&gt;&lt;/ul&gt;Una volta inserite le nostre personalizzazioni, basta fare un build del progetto e il nostro file si soluzione .wsp viene creato, pronto per essere registrato sul nostro server Sharepoint.
&lt;br /&gt;Proprio utile !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS.aspx" title="TAG: WSS"&gt;WSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSP.aspx" title="TAG: WSP"&gt;WSP&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharePointVisualStudioProjectTemplates .aspx" /><issued>2007-6-24T16:0:42+01:00</issued><modified>2007-6-24T16:0:42+01:00</modified></entry><entry><title>CAML Query Builder</title><id>/Blog/CAMLQueryBuilder.aspx</id><created>2007-6-7T15:35:27+01:00</created><content type="text/html" mode="escaped">Dal blog center di U2U, società di consulenza belga, che conta tra le sue linee due tra i più famosi MVP di Sharepoint (&lt;a href="http://www.u2u.info/blogs/Patrick" title="Patrick Tisseghem"&gt;Patrick Tisseghem&lt;/a&gt; e &lt;a href="http://weblogs.asp.net/jan/" title="Jan Tielens"&gt;Jan Tielens&lt;/a&gt;), la notizia del nuovo CAML Query Builder.
&lt;br /&gt;Questa nuova release, non sarà più una Windows Application, ma sarà una Feature Sharepoint 2007 vera e propria. Direi che questa è un'innovazione assoluta.
&lt;br /&gt;Veramente bello.
&lt;br /&gt;Per ulteriori dettagli e qualche screenshot:
&lt;br /&gt;&lt;a href="http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?ID=3" title=""&gt;http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?ID=3&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/CAML.aspx" title="TAG: CAML"&gt;CAML&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CAMLQueryBuilder.aspx" /><issued>2007-6-7T15:35:27+01:00</issued><modified>2007-6-7T15:35:27+01:00</modified></entry><entry><title>Tool per convertire la lingua di un template STP</title><id>/Blog/ConvertSTPLanguageTool.aspx</id><created>2007-5-31T10:10:26+01:00</created><content type="text/html" mode="escaped">Non l'ho ancora provato. Ma sicuramente l'idea è fantastica.. Ecco un tool che converte la lingua di un template STP di sharepoint. La nuova versione supporta sia le specifiche dei template di WSS 2 e Sharepoint Portal Server 2003 che quelle di WSS 3 e MOSS 2007.
&lt;br /&gt;Qui per il download:
&lt;br /&gt;&lt;a href="http://www.kwizcom.com/ContentPage.asp?PageId=165" title=""&gt;http://www.kwizcom.com/ContentPage.asp?PageId=165&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS.aspx" title="TAG: WSS"&gt;WSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/SPS.aspx" title="TAG: SPS"&gt;SPS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/STP.aspx" title="TAG: STP"&gt;STP&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/ConvertSTPLanguageTool.aspx" /><issued>2007-5-31T10:10:26+01:00</issued><modified>2007-5-31T10:10:26+01:00</modified></entry><entry><title>Sharepoint Conference</title><id>/Blog/SharepointConference2007.aspx</id><created>2007-5-7T18:0:54+01:00</created><content type="text/html" mode="escaped">Vi volevo segnalare un interessantissimo evento su Sharepoint. Credo il primo in Italia.
&lt;br /&gt;Da quanto ho capito, è a pagamento, ma ne dovrebbe valer la pena.. lo sponsorizza &lt;a href="http://www.delgiovine.it/" title="Gabriele del Giovine"&gt;Gabriele Del Giovine&lt;/a&gt; (Sharepoint MVP) !
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.sharepointconference.it" title="Sharepoint Conference"&gt;http://www.sharepointconference.it&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointConference2007.aspx" /><issued>2007-5-7T18:0:54+01:00</issued><modified>2007-5-7T18:0:54+01:00</modified></entry><entry><title>Sharepoint impersonation</title><id>/Blog/SharepointImpersonation.aspx</id><created>2007-5-4T9:24:51+01:00</created><content type="text/html" mode="escaped">Tempo fa, &lt;a href="http://www.peppedotnet.it/Blog/RunWithElevatedPrivilegesWss3.aspx" title="Il metodo RunWithElevetedPrivileges"&gt;avevo parlato&lt;/a&gt; riguardo l'utilità del metodo RunWithElevatedPrivileges della classe SPSecurity.
&lt;br /&gt;Beh, mi sbagliavo proprio... E' utile si, ma ... QUANDO FUNZIONA !!
&lt;br /&gt;Esatto, perchè questa tecnica non funziona sempre in tutti i contesti. L'ho provato sia nello sviluppo di event handler, che in web part, che in user control caricati attraverso la SmartPart. Ma ci sono proprio delle volte, in cui non vuol proprio fuzionare...
&lt;br /&gt;
&lt;br /&gt;Vi consiglio allora, una serie di cinque post dedicati all'impersonation su Sharepoint Services 3.0:
&lt;br /&gt;Part 1: &lt;a href="http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69524.aspx" title="Impersonation Part 1"&gt;http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69524.aspx&lt;/a&gt;
&lt;br /&gt;Part 2: &lt;a href="http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69519.aspx" title="Impersonation Part 2"&gt;http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69519.aspx&lt;/a&gt;
&lt;br /&gt;Part 3: &lt;a href="http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69521.aspx" title="Impersonation Part 3"&gt;http://dotnetjunkies.com/WebLog/victorv/archive/2005/04/20/69521.aspx&lt;/a&gt;
&lt;br /&gt;Part 4: &lt;a href="http://dotnetjunkies.com/WebLog/victorv/archive/2005/06/30/128887.aspx" title="Impersonation Part 4"&gt;http://dotnetjunkies.com/WebLog/victorv/archive/2005/06/30/128887.aspx&lt;/a&gt;
&lt;br /&gt;Part 5: &lt;a href="http://dotnetjunkies.com/WebLog/victorv/archive/2005/06/30/128890.aspx" title="Impersonation Part 5"&gt;http://dotnetjunkies.com/WebLog/victorv/archive/2005/06/30/128890.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Questi vi assicuro che funzionano !
&lt;br /&gt;Uno dei metodi più carini, è quello descritto nella parte 5. E' stata creata una classe che eridata di IDisposable, in modo tale da poterla utilizzarle all'interno della direttiva using, e altra cosa carina è che prende le credenziali direttamente dall'Application Pool di IIS, senza quindi doverle mettere a mano.
&lt;br /&gt;Questo poi l'utilizzo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;using&lt;/span&gt;(Identity impersonate = Identity.ImpersonateAdmin())
&lt;br /&gt;{   
&lt;br /&gt;    &lt;span style="color: #008200"&gt;// ... Operazioni di admin, eseguite con l'utenza dell'Application Pool
&lt;/span&gt;
}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Proprio bello !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/RunWithElevatedPrivileges.aspx" title="TAG: RunWithElevatedPrivileges"&gt;RunWithElevatedPrivileges&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointImpersonation.aspx" /><issued>2007-5-4T9:24:51+01:00</issued><modified>2007-5-4T9:24:51+01:00</modified></entry><entry><title>Come creare un Content Type personalizzato via codice</title><id>/Blog/CreateCustomContentTypeProgrammatically.aspx</id><created>2007-4-30T11:11:5+01:00</created><content type="text/html" mode="escaped">I Content Type sono una delle novità di Sharepoint Services 3.0; essi permettono di creare una struttura ad albero per gestire i vari tipi di contenuti che possono essere utilizzati nei siti sharepoint. Quindi ogni vario tipo di lista, da quelle personalizzate alle document library, ha alla propria base il suo content type.
&lt;br /&gt;Per la creazione di questi oggetti, esiste un'apposita interfaccia grafica, raggiungibile sotto Site Settings &gt; Site content types. Può essere utile però, crearne da codice, per soddisfare le nostre esigenze di personalizzazione di sharepoint. Vediamo come:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPWeb web = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;).OpenWeb();
&lt;br /&gt;SPContentType tipoBase = web.AvailableContentTypes[&lt;span style="color: #A31515"&gt;"Item"&lt;/span&gt;];
&lt;br /&gt;SPContentType myCT = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPContentType(tipoBase, web.ContentTypes, contentTypeName);
&lt;br /&gt;web.ContentTypes.Add(myCT);
&lt;br /&gt;myCT.FieldLinks.Add(&lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPFieldLink(web.AvailableFields[&lt;span style="color: #A31515"&gt;"Author"&lt;/span&gt;]));
&lt;br /&gt;myCT.Update();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo esempio, abbiamo creato un content type che eredita dal tipo base "Item", è gli abbiamo aggiunto la colonna "Author". Questo tipo di colonna, è detta "Site Column"; le site column fanno anch'esse parte delle novità introdotte nell'ultima versione di Sharepoint, e hanno il compito di definire il contenuto stesso dei vari content type.
&lt;br /&gt;Quindi, come siamo in grado di aggiungere al nostro content type, una colonna gia presente all'interno del sito, così abbiamo la possibilità di crearci le nostre colonne personalizzate ed inserirle nel nostro content type.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPWeb web = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;).OpenWeb();
&lt;br /&gt;SPContentType tipoBase = web.AvailableContentTypes[&lt;span style="color: #A31515"&gt;"Item"&lt;/span&gt;];
&lt;br /&gt;SPContentType myCT = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPContentType(tipoBase, web.ContentTypes, contentTypeName);
&lt;br /&gt;web.ContentTypes.Add(myCT);
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//aggiungo una colonna pre-esistente
&lt;/span&gt;
myCT.FieldLinks.Add(&lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPFieldLink(web.AvailableFields[&lt;span style="color: #A31515"&gt;"Author"&lt;/span&gt;]));
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//creo una colonna personalizzata e la aggiungo al content type
&lt;/span&gt;
&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; fieldName = web.Fields.AddLookup(&lt;span style="color: #A31515"&gt;"MyCustomField"&lt;/span&gt;, web.Lists[&lt;span style="color: #A31515"&gt;"MyLookupList"&lt;/span&gt;].ID, web.ID, &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;);
&lt;br /&gt;SPFieldLookup lookup = web.Fields[&lt;span style="color: #A31515"&gt;"MyCustomField"&lt;/span&gt;] &lt;span style="color: #0000FF"&gt;as&lt;/span&gt; SPFieldLookup;
&lt;br /&gt;myCT.FieldLinks.Add(&lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPFieldLink(web.AvailableFields[lookup.Title]));
&lt;br /&gt;
&lt;br /&gt;myCT.Update();&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Una volta creato il nostro content type, lo possiamo assegnare ad una, o più, delle liste del nostro sito.
&lt;br /&gt;Quella dei content type, è stata una gran bella mossa. Sono davvero utili... vedrete!
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Content Types.aspx" title="TAG: Content Types"&gt;Content Types&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Site Columns.aspx" title="TAG: Site Columns"&gt;Site Columns&lt;/a&gt;][&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/CreateCustomContentTypeProgrammatically.aspx" /><issued>2007-4-30T11:11:5+01:00</issued><modified>2007-4-30T11:11:5+01:00</modified></entry><entry><title>WSS 3.0 Visual Studio Extension 1.0</title><id>/Blog/Wss3VisualStudioExtension1.aspx</id><created>2007-3-16T12:59:52+01:00</created><content type="text/html" mode="escaped">E' finalmente uscita la versione 1.0 delle estensioni per Visual Studio 2005 per sviluppare componenti per Windows Sharepoint Services 3.0 !
&lt;br /&gt;Ecco il link per il download:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;displaylang=en" title="WSS 3.0 Visual Studio Extension 1.0 download"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;displaylang=en&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/MOSS.aspx" title="TAG: MOSS"&gt;MOSS&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Visual Studio 2005.aspx" title="TAG: Visual Studio 2005"&gt;Visual Studio 2005&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/Wss3VisualStudioExtension1.aspx" /><issued>2007-3-16T12:59:52+01:00</issued><modified>2007-3-16T12:59:52+01:00</modified></entry><entry><title>Evento Sharepoint a ROMA</title><id>/Blog/SharepointEvent@Roma.aspx</id><created>2007-3-13T10:57:56+01:00</created><content type="text/html" mode="escaped">Vi segnalo un evento Sharepoint che si terrà a Roma.
&lt;br /&gt;Qui il link:
&lt;br /&gt;&lt;a href="http://www.decatec.it/calendar/calendar.aspx" title="Evento Sharepoint"&gt;http://www.decatec.it/calendar/calendar.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;La società che lo promuove è la &lt;a href="http://www.decatec.it" title="Decatec"&gt;Decatec&lt;/a&gt;, e vi saranno presenti Davide Colombo (Microsoft), Gabriele DelGiovine (unico Sharepoint MVP italiano) e Stefan Demetz (Decatec).
&lt;br /&gt;Come ci vorrei andare... :(
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SharepointEvent@Roma.aspx" /><issued>2007-3-13T10:57:56+01:00</issued><modified>2007-3-13T10:57:56+01:00</modified></entry><entry><title>BUG nella discussion list di MOSS 2007</title><id>/Blog/MOSS2007DiscussionListBUG.aspx</id><created>2007-2-26T21:46:17+01:00</created><content type="text/html" mode="escaped">L'altro giorno un mio collega mi fa notare un bel bug di Microsoft Office Sharepoint Server, per quanto riguarda la "discussion board" (la lista dei fourm per intenderci...).
&lt;br /&gt;In pratica, quando veniva visualizzata la vista "Threaded", il link per effettuare un reply manda ad una pagina inesistente. Ecco i passi per riprodurre il bug:&lt;ol&gt;&lt;li&gt;Creare una discussion list&lt;/li&gt;&lt;li&gt;Inserire un messaggio&lt;/li&gt;&lt;li&gt;Andare nella pagina dei Settings della discussion list&lt;/li&gt;&lt;li&gt;Selezionare la vista Threaded&lt;/li&gt;&lt;li&gt;Espandere il pannello "Folders"&lt;/li&gt;&lt;li&gt;Scegliere l'opzione "Show this view in all folders"&lt;/li&gt;&lt;li&gt;Provare ad effettuare un reply di un messaggio nella vista Threaded e riscontrare l'errore&lt;/li&gt;&lt;/ol&gt;Fantastico no ?
&lt;br /&gt;Beh, a me è toccata la risoluzione. E' stato necessario aggiungere un pò di codice CAML all'interno del file Schema.xml, posto sotto il percorso:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-style: italic; margin-left: 15px"&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\Disccusion List\Discuss&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;più precisamente, ho dovuto modificare il contenuto dell'elemento DisplayPattern del campo "ReplyNoGif", che componeva l'URL della pagina di replay dimenticandosi di un punto interrogativo !
&lt;br /&gt;Ecco la modifica dell'elemento DisplayPattern del nodo Field con attributo name="ReplyNoGif":
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;DisplayPattern&gt;&lt;IfEqual&gt;
&lt;br /&gt;  &lt;Expr1&gt;
&lt;br /&gt;    &lt;GetVar Name=&lt;span style="color: #A31515"&gt;"RootFolder"&lt;/span&gt; /&gt;
&lt;br /&gt;  &lt;/Expr1&gt;
&lt;br /&gt;  &lt;Expr2&gt;&lt;/Expr2&gt;
&lt;br /&gt;  &lt;Then&gt;
&lt;br /&gt;    &lt;IfHasRights&gt;
&lt;br /&gt;      &lt;RightsChoices&gt;
&lt;br /&gt;        &lt;RightsGroup PermAddListItems=&lt;span style="color: #A31515"&gt;"required"&lt;/span&gt; /&gt;
&lt;br /&gt;      &lt;/RightsChoices&gt;
&lt;br /&gt;    &lt;Then&gt;
&lt;br /&gt;      &lt;HTML&gt;&lt;![CDATA[&lt;a id=&lt;span style="color: #A31515"&gt;"ReplyLink]]&gt;&lt;/HTML&gt;
&lt;br /&gt;      &lt;Field Name="&lt;/span&gt;ID&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA["&lt;/span&gt; href=&lt;span style="color: #A31515"&gt;"]]&gt;&lt;/HTML&gt;
&lt;br /&gt;      &lt;URL Cmd="&lt;/span&gt;New&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA["&lt;/span&gt; ONCLICK=&lt;span style="color: #A31515"&gt;"javascript:GoToPage(']]&gt;&lt;/HTML&gt;
&lt;br /&gt;      &lt;ScriptQuote NotAddingQuote="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;"&gt;
&lt;br /&gt;        &lt;URL Cmd="&lt;/span&gt;New&lt;span style="color: #A31515"&gt;" /&gt;
&lt;br /&gt;      &lt;/ScriptQuote&gt;&lt;HTML&gt;&lt;![CDATA[?ContentTypeId=0x0107&amp;DiscussionParentID=]]&gt;&lt;/HTML&gt;
&lt;br /&gt;      &lt;Field Name="&lt;/span&gt;ID&lt;span style="color: #A31515"&gt;" StripWS="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;" URLEncode="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA[');return false;"&lt;/span&gt;
&lt;br /&gt;                target=&lt;span style="color: #A31515"&gt;"_self"&lt;/span&gt;&gt;]]&gt;&lt;/HTML&gt;&lt;HTML&gt;&lt;![CDATA[&lt;img 
&lt;br /&gt;                id=&lt;span style="color: #A31515"&gt;"replyButton"&lt;/span&gt; border=&lt;span style="color: #A31515"&gt;"0"&lt;/span&gt; align=&lt;span style="color: #A31515"&gt;"middle"&lt;/span&gt; alt=&lt;span style="color: #A31515"&gt;"$Resources:core,ReplyLinkText"&lt;/span&gt;]]
&lt;br /&gt;                &lt;/HTML&gt;&lt;HTML&gt;&lt;![CDATA[
&lt;br /&gt;                src=&lt;span style="color: #A31515"&gt;"/_layouts/images/reply.gif"&lt;/span&gt;&gt;&amp;nbsp;]]&gt;&lt;/HTML&gt;&lt;HTML&gt;&lt;![CDATA
&lt;br /&gt;                &lt;NOBR&gt;&lt;b&gt;$Resources:core,ReplyLinkText&lt;/b&gt;&lt;/NOBR&gt;&lt;/a&gt;]]&gt;&lt;/HTML&gt;
&lt;br /&gt;      &lt;/Then&gt;
&lt;br /&gt;      &lt;Else&gt;&lt;HTML&gt;&lt;![CDATA[&amp;nbsp;]]&gt;&lt;/HTML&gt;
&lt;br /&gt;    &lt;/Else&gt;
&lt;br /&gt;    &lt;/IfHasRights&gt;
&lt;br /&gt;    &lt;/Then&gt;
&lt;br /&gt;    &lt;Else&gt;
&lt;br /&gt;      &lt;IfHasRights&gt;
&lt;br /&gt;        &lt;RightsChoices&gt;
&lt;br /&gt;          &lt;RightsGroup PermAddListItems=&lt;span style="color: #A31515"&gt;"required"&lt;/span&gt; /&gt;
&lt;br /&gt;        &lt;/RightsChoices&gt;
&lt;br /&gt;        &lt;Then&gt;
&lt;br /&gt;          &lt;HTML&gt;&lt;![CDATA[&lt;a id=&lt;span style="color: #A31515"&gt;"ReplyLink]]&gt;&lt;/HTML&gt;
&lt;br /&gt;          &lt;Field Name="&lt;/span&gt;ID&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA["&lt;/span&gt; href=&lt;span style="color: #A31515"&gt;"]]&gt;&lt;/HTML&gt;
&lt;br /&gt;          &lt;URL Cmd="&lt;/span&gt;New&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA["&lt;/span&gt; ONCLICK=&lt;span style="color: #A31515"&gt;"javascript:GoToPage(']]&gt;&lt;/HTML&gt;
&lt;br /&gt;          &lt;ScriptQuote NotAddingQuote="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;"&gt;
&lt;br /&gt;            &lt;URL Cmd="&lt;/span&gt;New&lt;span style="color: #A31515"&gt;" /&gt;
&lt;br /&gt;          &lt;/ScriptQuote&gt;&lt;HTML&gt;&lt;![CDATA[&amp;ContentTypeId=0x0107&amp;DiscussionParentID=]]&gt;&lt;/HTML&gt;
&lt;br /&gt;          &lt;Field Name="&lt;/span&gt;ID&lt;span style="color: #A31515"&gt;" StripWS="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;" URLEncode="&lt;/span&gt;TRUE&lt;span style="color: #A31515"&gt;" /&gt;&lt;HTML&gt;&lt;![CDATA[');return false;"&lt;/span&gt;
&lt;br /&gt;                    target=&lt;span style="color: #A31515"&gt;"_self"&lt;/span&gt;&gt;]]&gt;&lt;/HTML&gt;&lt;HTML&gt;&lt;![CDATA[&lt;img 
&lt;br /&gt;                    id=&lt;span style="color: #A31515"&gt;"replyButton"&lt;/span&gt; border=&lt;span style="color: #A31515"&gt;"0"&lt;/span&gt; align=&lt;span style="color: #A31515"&gt;"middle"&lt;/span&gt; alt=&lt;span style="color: #A31515"&gt;"$Resources:core,ReplyLinkText"&lt;/span&gt;]]
&lt;br /&gt;                   &lt;/HTML&gt;&lt;HTML&gt;&lt;![CDATA[
&lt;br /&gt;                   src=&lt;span style="color: #A31515"&gt;"/_layouts/images/reply.gif"&lt;/span&gt;&gt;&amp;nbsp;]]&gt;&lt;/HTML&gt;&lt;HTML&gt;
&lt;br /&gt;                   &lt;![CDATA[&lt;NOBR&gt;&lt;b&gt;$Resources:core,ReplyLinkText&lt;/b&gt;&lt;/NOBR&gt;&lt;/a&gt;]]&gt;&lt;/HTML&gt;
&lt;br /&gt;          &lt;/Then&gt;
&lt;br /&gt;          &lt;Else&gt;&lt;HTML&gt;&lt;![CDATA[&amp;nbsp;]]&gt;&lt;/HTML&gt;
&lt;br /&gt;        &lt;/Else&gt;
&lt;br /&gt;      &lt;/IfHasRights&gt;
&lt;br /&gt;  &lt;/Else&gt;
&lt;br /&gt;  &lt;/IfEqual&gt;
&lt;br /&gt;&lt;/DisplayPattern&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/MOOS 2007.aspx" title="TAG: MOOS 2007"&gt;MOOS 2007&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/CAML.aspx" title="TAG: CAML"&gt;CAML&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/MOSS2007DiscussionListBUG.aspx" /><issued>2007-2-26T21:46:17+01:00</issued><modified>2007-2-26T21:46:17+01:00</modified></entry><entry><title>Supporto per AJAX in Sharepoint 2007</title><id>/Blog/AJAXSupportSharepoint2007.aspx</id><created>2007-2-21T14:28:12+01:00</created><content type="text/html" mode="escaped">Dal &lt;a href="http://weblogs.asp.net/scottgu/default.aspx" title="blog di Scott Guthrie"&gt;blog di Scott Guthrie&lt;/a&gt; la notizia del prossimo supporto per ASP.NET AJAX 1.0 su Office Sharepoint Server 2007. La tecnologia sarà infatti inserita nel primo service pack del prodotto.
&lt;br /&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/02/20/asp-net-ajax-and-sharepoint.aspx" title="Supporto AJAX su Sharepoint 2007"&gt;Qui per maggiori informazioni.&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/AJAX.aspx" title="TAG: AJAX"&gt;AJAX&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AJAXSupportSharepoint2007.aspx" /><issued>2007-2-21T14:28:12+01:00</issued><modified>2007-2-21T14:28:12+01:00</modified></entry><entry><title>Il metodo RunWithElevatedPrivileges in wss 3.0</title><id>/Blog/RunWithElevatedPrivilegesWss3.aspx</id><created>2007-2-10T14:6:48+01:00</created><content type="text/html" mode="escaped">Una delle tecniche con cui ci si è dovuti sempre scontrare nello sviluppo di applicazioni o semplici web part in Windows Sharepoint Services 2.0 era quella dell'impersonation. Avere cioè del codice, lanciato da utenti "reader", o comunque con permessi limitati, da far eseguire con permessi da amministratore.
&lt;br /&gt;Ora, nella versione 3.0 dei services, è stato aggiunto un metodo alla classe SPSecurity che risolve tutti i problemi che erano legati allo sviluppo a mano dell'impersonation. Il metodo (statico) di cui sto parlando è il metodo RunWithElevatedPrivileges; questo fa si che il codice inserito all'interno di un delegato, che deve essergli passato come parametro, venga eseguito con permessi "elevati", cioè come se fosse un utente amministratore ad eseguirlo.
&lt;br /&gt;Vediamo ora come utilizzarlo:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSecurity.RunWithElevatedPrivileges(&lt;span style="color: #0000FF"&gt;delegate&lt;/span&gt;()
&lt;br /&gt;{
&lt;br /&gt;    SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://localhost/Administration"&lt;/span&gt;);
&lt;br /&gt;    SPWeb web = site.OpenWeb(); 
&lt;br /&gt;
&lt;br /&gt;    SPList lista = web.Lists[&lt;span style="color: #A31515"&gt;"AdminTask"&lt;/span&gt;]; 
&lt;br /&gt;    &lt;span style="color: #008200"&gt;//... 
&lt;/span&gt;
}); 
&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;A mio parere è veramente d'aiuto.. Anche perchè può essere utilizzato sia all'interno di singole web part o web part pages che all'interno di event handler personalizzati.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/WSS 3.0.aspx" title="TAG: WSS 3.0"&gt;WSS 3.0&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/RunWithElevatedPrivilegesWss3.aspx" /><issued>2007-2-10T14:6:48+01:00</issued><modified>2007-2-10T14:6:48+01:00</modified></entry><entry><title>Nuoi template per wss 3.0</title><id>/Blog/NewTemplatesForWSS3.aspx</id><created>2007-1-30T18:26:3+01:00</created><content type="text/html" mode="escaped">Microsoft ha pubblicato 30 nuovi template per wss 3.0
&lt;br /&gt;Li trovate qui:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx" title="Nuovi template per wss 3.0"&gt;http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Wss 3.0.aspx" title="TAG: Wss 3.0"&gt;Wss 3.0&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/NewTemplatesForWSS3.aspx" /><issued>2007-1-30T18:26:3+01:00</issued><modified>2007-1-30T18:26:3+01:00</modified></entry><entry><title>Sharepoint 2007 e WSS 3.0 SDK RTM</title><id>/Blog/Moss2007Wss3SDK.aspx</id><created>2007-1-27T13:1:27+01:00</created><content type="text/html" mode="escaped">Mercoledì scorso (24/01/07), sono stati ufficialmente rilasciati per il download gli sdk di Windows Sharepoint Services 3.0 e Office Sharepoint Server 2007.
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6d94e307-67d9-41ac-b2d6-0074d6286fa9&amp;displaylang=en" title="SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit"&gt;SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=05E0DD12-8394-402B-8936-A07FE8AFAFFD&amp;displaylang=en" title="Windows SharePoint Services 3.0: Software Development Kit (SDK)"&gt;Windows SharePoint Services 3.0: Software Development Kit (SDK)&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/Moss2007Wss3SDK.aspx" /><issued>2007-1-27T13:1:27+01:00</issued><modified>2007-1-27T13:1:27+01:00</modified></entry><entry><title>Come aggiungere un link alla quick launch bar</title><id>/Blog/AddLinkToQuickLaunchBar.aspx</id><created>2007-1-26T15:32:12+01:00</created><content type="text/html" mode="escaped">In Windows Sharepoint Services 3.0 la quick launch bar presente nella maggior parte delle site definition installate di default, è stata migliorata con funzionalità che la fanno divenire una vera e propria barra di navigazione.
&lt;br /&gt;Al suo interno infatti, oltre ai link per raggiungere le liste presenti all'interno del sito, è possibile aggiungere nuovi gruppi di elementi, per crearsi una propria struttura di navigazione. In un sito gia creato è possibile quindi aggungere dei link personalizzati, seguendo il percorso: Actions &gt; Site settings &gt; lanuch bar (nel caso di un sito wss 3.0) o Actions &gt; Site settings &gt; Modify all site settings &gt; Navigation (nel caso di un sito con le feature di Office Sharepoint Server 2007 attivate).
&lt;br /&gt;
&lt;br /&gt;Per aggiungere invece, dei link custom che vengano inseriti nel sito direttamente alla sua creazione, dobbiamo inserirne la definizione all'interno del file di configurazione (onet.xml) della site definition che abbiamo scelto di modificare o che abbiamo creato.
&lt;br /&gt;Basta infatti inserire un nuovo elemento "NavBar" sotto la sezione "Project/NavBars", per aggiungere elementi alla struttura del sito. Tale elemento NavBar, rappresenta l'header di un gruppo di link, ognuno definito da un singolo elemento "NavBarLink".
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;NavBar&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Name&lt;span style='color:#0000FF'&gt;="Peppe links"&lt;/span&gt; ID&lt;span style='color:#0000FF'&gt;="1028"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;     &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;NavBarLink&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Name&lt;span style='color:#0000FF'&gt;="PeppeDotNet.it"&lt;/span&gt; Url&lt;span style='color:#0000FF'&gt;="http://www.peppedotnet.it"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;     &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;NavBarLink&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Name&lt;span style='color:#0000FF'&gt;="VS-Trophy.net"&lt;/span&gt; Url&lt;span style='color:#0000FF'&gt;="http://www.vs-trophy.net"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;NavBar&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;L'ID di ogni nuovo elemento di tipo NavBar, deve essere superiore al valore 1027, che è l'ultimo valore utilizzato per gli elementi della quick launch bar presenti di default.
&lt;br /&gt;Nell'esempio precedente, abbiamo creato un nuovo gruppo di link, con un header e dei sotto-elementi. Nulla però ci vieta di inserire direttamente un singolo elemento NavBar che rappresenti esso stesso un collegamento ad un'altra pagina.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;NavBar&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Name&lt;span style='color:#0000FF'&gt;="PeppeDotNet.it"&lt;/span&gt; Url&lt;span style='color:#0000FF'&gt;="http://www.peppedotnet.it"&lt;/span&gt; ID&lt;span style='color:#0000FF'&gt;="1029"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;N.B.: E' importante ricordarsi che per vedere applicate queste modifiche ad una site definition, è necessario un IISRESET della macchina e la creazione di un sito ex-novo.
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/AddLinkToQuickLaunchBar.aspx" /><issued>2007-1-26T15:32:12+01:00</issued><modified>2007-1-26T15:32:12+01:00</modified></entry><entry><title>Come accedere, via codice, alla lista degli utenti di una site collection</title><id>/Blog/AccessProgrammaticallyToSharepointUserList.aspx</id><created>2007-1-24T11:53:43+01:00</created><content type="text/html" mode="escaped">Con il modello ad oggetti di Sharepoint Services 3.0 è possibile andare a metter mano alla lista degli utenti di una site collection. Questa lista, nell'installazione in inglese, è la "User Information List" ed è possiblie accedervi, creando una nuova istanza della classe SPSite riferendosi al sito di root della site collection.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (site != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;{
&lt;br /&gt;    SPList usersList = site.OpenWeb().Lists[&lt;span style="color: #A31515"&gt;"User Information List"&lt;/span&gt;];
&lt;br /&gt;    &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (usersList != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;    {
&lt;br /&gt;       &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (user[&lt;span style="color: #A31515"&gt;"Account"&lt;/span&gt;] != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;       {
&lt;br /&gt;             Console.WriteLine(&lt;span style="color: #A31515"&gt;"- {0}"&lt;/span&gt;, user[&lt;span style="color: #A31515"&gt;"Account"&lt;/span&gt;]);
&lt;br /&gt;       }
&lt;br /&gt;    }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;N.B.: Il sito http://localhost, deve essere il sito root della site collection
&lt;br /&gt;
&lt;br /&gt;Se invece, avete installato sul vostro server l'intero pacchetto Microsoft Office Sharepoint Server, avete anche la possibilità di accedere all'archivio dei profili (una volta che avete configurato correttamente gli shared services della vostra web farm). Sia l'archivio dei profili di moss che la lista degli utenti di una site collection wss 3.0, possono essere estesi rispettivamente con proprietà e campi personalizzati, in modo tale da poter aggiungere informazioni custom per ogni utente.
&lt;br /&gt;Tali informazioni personalizzate verranno mantenute ad ogni import (sia full che incrementale) dei profili utenti da Active Directory.</content><link rel="alternate" type="text/html" href="/Blog/AccessProgrammaticallyToSharepointUserList.aspx" /><issued>2007-1-24T11:53:43+01:00</issued><modified>2007-1-24T11:53:43+01:00</modified></entry><entry><title>Come nascondere dei campi da una lista gi&#224; creata</title><id>/Blog/HideFieldsFromListForm.aspx</id><created>2007-1-15T19:47:7+01:00</created><content type="text/html" mode="escaped">In questi giorni mi è capitato di dover nascondere dei campi dalle form di un template di lista sharepoint. Se questo l'avessi fatto io dall'inizio, la cosa sarebbe stata abbastanza facile, in quanto, nella template definition esistono gli attributi ShowInEditForm, ShowInNewForm ... da applicare ad ogni campo della nostra lista.
&lt;br /&gt;Nel mio caso, però, la lista era stata gia creata e modificata e quindi non potevo metter mano in quei file.
&lt;br /&gt;Ho cercato un pò su google come potermi muovere e ho trovato &lt;a href="http://weblogs.asp.net/jan/archive/2006/11/06/Custom-Edit-Forms-for-SharePoint-2007-Lists.aspx" title="Custom Edit Forms for SharePoint 2007 Lists"&gt;questo&lt;/a&gt;.
&lt;br /&gt;In pratica, mi dicono di apire Sharepoint Designer, fare una copia della form che voglio editare ed inserire un controllo specifico di sharepoint (custom list form) che mi permette di modificare il modulo di visualizzazione a mio piacimento. Peccato però, che quando io cerchi di settare la mia nuova form come form di edit (per esempio), la mia modifica non venga accettata.
&lt;br /&gt;
&lt;br /&gt;Ecco quindi che ho dovuto lasciar perdere sharepoint designer e mi son creato una semplice consol application, che grazie al modello ad oggetti fornito da sharepoint, mi permette di modificare quelle proprietà dei campi di una lista che non possono essere modificate tramite interfaccia grafica.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://locahost"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (site != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;{
&lt;br /&gt;   SPWeb web = site.OpenWeb();
&lt;br /&gt;   SPList list = web.Lists[&lt;span style="color: #A31515"&gt;"ListName"&lt;/span&gt;]];
&lt;br /&gt;   &lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (list != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;   {
&lt;br /&gt;      list.Fields[&lt;span style="color: #A31515"&gt;"FieldName"&lt;/span&gt;].ShowInDisplayForm = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;      list.Fields[&lt;span style="color: #A31515"&gt;"FieldName"&lt;/span&gt;].ShowInEditForm = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;      list.Fields[&lt;span style="color: #A31515"&gt;"FieldName"&lt;/span&gt;].ShowInNewForm = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;      list.Fields[&lt;span style="color: #A31515"&gt;"FieldName"&lt;/span&gt;].Update();
&lt;br /&gt;      list.Update();    
&lt;br /&gt;   }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;In questo modo ho nascosto il campo "FieldName" dalle form di edit, new e display della mia lista "ListName".
&lt;br /&gt;Niente di più facile no ?</content><link rel="alternate" type="text/html" href="/Blog/HideFieldsFromListForm.aspx" /><issued>2007-1-15T19:47:7+01:00</issued><modified>2007-1-15T19:47:7+01:00</modified></entry><entry><title>November CTP dei Windows SharePoint Services 3.0 Tools</title><id>/Blog/NovemberCTPWindowsSharePointServices3Tools.aspx</id><created>2007-1-12T14:5:10+01:00</created><content type="text/html" mode="escaped">E' stata rilasciata la CTP di novembre per i &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;displaylang=en" title="Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions"&gt;Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions&lt;/a&gt;.
&lt;br /&gt;L'annuncio viene dal nuovo &lt;a href="http://blogs.msdn.com/spdev/" title="SharePoint Development Team Blog"&gt;blog del team di sharepoint development&lt;/a&gt;.
&lt;br /&gt;All'interno di questi tool, è presente un'utility, chiamata SharePoint Solution Generator, per la creazione di site definition da siti sharepoint esistenti. Io devo ancora provarla, e non vedo l'ora !</content><link rel="alternate" type="text/html" href="/Blog/NovemberCTPWindowsSharePointServices3Tools.aspx" /><issued>2007-1-12T14:5:10+01:00</issued><modified>2007-1-12T14:5:10+01:00</modified></entry><entry><title>Come creare una nuova lista via codice</title><id>/Blog/CreateSharepointListProgrammatically.aspx</id><created>2007-1-12T0:56:50+01:00</created><content type="text/html" mode="escaped">Tramite il modello ad oggetti di Sharepoint 2007 è possibile fare esattamente le stesse cose che possono essere fatte tramite interfaccia web e, a mio pareare, anche qualcosina in più.
&lt;br /&gt;L'altro giorno mi è capitato di dover creare una nuova lista da una console application, selezionando a priori il template e cercando di posizionarla nella quick launch bar. Il codice per far ciò è davvero semplice:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (site != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;{
&lt;br /&gt;    SPWeb web = site.OpenWeb(); 
&lt;br /&gt;    web.Lists.Add(&lt;span style="color: #A31515"&gt;"Nuova lista"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Desc..."&lt;/span&gt;, web.ListTemplates[&lt;span style="color: #A31515"&gt;"Custom list"&lt;/span&gt;]);
&lt;br /&gt;    SPList list = web.Lists[&lt;span style="color: #A31515"&gt;"Nuova lista"&lt;/span&gt;];
&lt;br /&gt;    list.OnQuickLaunch = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;    list.Update();
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt; 
&lt;br /&gt;Così ho creato una lista del template "Custom list" in automatico.
&lt;br /&gt;Ma se volessi creare una nuova lista che abbia la medesima struttura riportata da un mio template personalizzato ? Template che posso aver creato all'interno della site definition o semplicemente come stp.
&lt;br /&gt;In questo caso, ci viene in aiuto il metodo GetCustomListTemplates() della classe SPSite.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt; (site != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;{
&lt;br /&gt;    SPWeb web = site.OpenWeb(); 
&lt;br /&gt;    web.Lists.Add(&lt;span style="color: #A31515"&gt;"Nuova lista"&lt;/span&gt;, &lt;span style="color: #A31515"&gt;"Desc..."&lt;/span&gt;, site.GetCustomListTemplates(web)[&lt;span style="color: #A31515"&gt;"NomeTemplateCustom"&lt;/span&gt;]);
&lt;br /&gt;    SPList list = web.Lists[&lt;span style="color: #A31515"&gt;"Nuova lista"&lt;/span&gt;];
&lt;br /&gt;    list.OnQuickLaunch = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;
&lt;br /&gt;    list.Update();
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Allo stesso modo, abbiamo la possibilità di aggiungere nuovi campi alla lista o di agire su altre proprietà come la presenza di event handler o di workflow, l'abilitazione del feed rss o della history, l'aggiunta di nuove viste... e così via.</content><link rel="alternate" type="text/html" href="/Blog/CreateSharepointListProgrammatically.aspx" /><issued>2007-1-12T0:56:50+01:00</issued><modified>2007-1-12T0:56:50+01:00</modified></entry><entry><title>Come assegnare un task all'utente &quot;System Account&quot;</title><id>/Blog/AssignTaskToSystemAccountUser.aspx</id><created>2006-12-13T13:53:0+01:00</created><content type="text/html" mode="escaped">Per l'utilizzo di Workflow Foundation all'interno di siti Sharepoint 2007 è fondamentale l'utilizzo dei task per far procedere il workflow sui singoli oggetti di una lista. Ogni task può essere assegnato ad un utente o ad un gruppo popolando la proprietà AssignedTo della classe SPWorkflowTaskProperties (per assegnare il task ad un gruppo, basta solamente scrivere il nome di tale gruppo).
&lt;br /&gt;Ma se volessimo creare dei task ad esecuzione automatica, come potremmo fare per assegnare quei task all'utente di servizio di sharepoint, l'utente "System Account" ?
&lt;br /&gt;Ecco come fare:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; SPWorkflowTaskProperties  taskProps = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; SPWorkflowTaskProperties();
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; Guid taskID = &lt;span style="color: #0000FF"&gt;default&lt;/span&gt;(Guid);
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;private&lt;/span&gt; &lt;span style="color: #0000FF"&gt;void&lt;/span&gt; CreateTask(&lt;span style="color: #0000FF"&gt;object&lt;/span&gt; sender, EventArgs e)
&lt;br /&gt;{
&lt;br /&gt;    taskID = Guid.NewGuid();            
&lt;br /&gt;    taskProps.Title = &lt;span style="color: #A31515"&gt;"Titolo task"&lt;/span&gt;;
&lt;br /&gt;    taskProps.AssignedTo = @&lt;span style="color: #A31515"&gt;"SHAREPOINT\system"&lt;/span&gt;;
&lt;br /&gt;    taskProps.SendEmailNotification = &lt;span style="color: #0000FF"&gt;false&lt;/span&gt;;
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Un ulteriore personalizzazione potrebbe poi essere quella di assegnare al task una form infopath che stampi a video la scritta "Autamatic task", in modo tale che tale task non possa essere modificato graficamente, ma solo dal codice eseguito dal nostro workflow.</content><link rel="alternate" type="text/html" href="/Blog/AssignTaskToSystemAccountUser.aspx" /><issued>2006-12-13T13:53:0+01:00</issued><modified>2006-12-13T13:53:0+01:00</modified></entry><entry><title>The form cannot be displayed because session state is not available</title><id>/Blog/TheFormCannotBeDisplayedBecauseSessionStateIsNot available.aspx</id><created>2006-12-12T18:25:19+01:00</created><content type="text/html" mode="escaped">Ieri, mentre stavo spostando un mio progetto con Workflow Foundation in Sharepoint 2007 dall'ambiente di sviluppo (in beta 2) a quello di produzione (in RTM ! :) mi sono trovato di fronte a questo errore:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: red; font-style:italic; padding-left: 15px"&gt;The form cannot be displayed because session state is not available&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;L'errore mi veniva segnalato ogni qualvolta io cercassi di aprire una pagina di edit di un task fatta con Infopath 2007. Per risolvere il problema basta decommentare questa linea nel web.config:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;!-- &lt;add name=&lt;span style="color: #A31515"&gt;"Session"&lt;/span&gt; type=&lt;span style="color: #A31515"&gt;"System.Web.SessionState.SessionStateModule"&lt;/span&gt;/&gt; --&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Poichè nell'installazione di windows sharepoint services 3.0 di default, la sessione è disabilitata !</content><link rel="alternate" type="text/html" href="/Blog/TheFormCannotBeDisplayedBecauseSessionStateIsNot available.aspx" /><issued>2006-12-12T18:25:19+01:00</issued><modified>2006-12-12T18:25:19+01:00</modified></entry><entry><title>The Return of the Smart Part</title><id>/Blog/ReturnOfTheSmart Part.aspx</id><created>2006-12-3T14:14:42+01:00</created><content type="text/html" mode="escaped">Proprio oggi mi sono accorto del rilascio di uno dei progetti cui mi sono di più appassionato: la Smart Part !
&lt;br /&gt;L'autore &lt;a href="http://weblogs.asp.net/jan/default.aspx" title="Jan Tielens"&gt;Jan Tielens&lt;/a&gt;, ha infatti &lt;a href="http://weblogs.asp.net/jan/archive/2006/12/02/announcing-the-return-of-the-smartpart.aspx" title="The return of the smart part"&gt;annunciato&lt;/a&gt; l'arrivo della nuova "Return of the Smart Part", una web part che permette di visualizzare degli user control (ascx) all'interno di pagine sharepoint 2007.
&lt;br /&gt;Il download è disponibile nel relativo &lt;a href="http://workspaces.gotdotnet.com/smartpart" title="GotDotNet smart part workspace"&gt;workspace di GotDotNet&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;E' anche presente uno &lt;a href="http://weblogs.asp.net/jan/archive/2006/12/02/deploying-the-return-of-the-smartpart.aspx" title="Return of the smart part screencast"&gt;screencast&lt;/a&gt;, veramente ben fatto, che mostra come effettuare l'effettivo deployment della web part, in un sito sharepoint 2007.
&lt;br /&gt;
&lt;br /&gt;Jan è veramente un grande !</content><link rel="alternate" type="text/html" href="/Blog/ReturnOfTheSmart Part.aspx" /><issued>2006-12-3T14:14:42+01:00</issued><modified>2006-12-3T14:14:42+01:00</modified></entry><entry><title>Come aggiungere delle voci ad un campo di tipo scelta di una lista Sharepoint</title><id>/Blog/AddChoicesToChoiceField.aspx</id><created>2006-12-2T15:47:31+01:00</created><content type="text/html" mode="escaped">Ecco come aggiungere, via codice, dei nuovi valori ad un campo di tipo scelta (choice) di una lista sharepoint:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPSite site = &lt;span style="color: #0000FF"&gt;new&lt;/span&gt; (&lt;span style="color: #A31515"&gt;"http://localhost"&lt;/span&gt;);
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(site != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;{
&lt;br /&gt;     SPList list = site.OpenWeb().Lists[&lt;span style="color: #A31515"&gt;"ListName"&lt;/span&gt;];
&lt;br /&gt;     &lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(list != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;     {
&lt;br /&gt;          SPFieldChoice field = (SPFieldChoice)list.Fields[&lt;span style="color: #A31515"&gt;"NomeCampo"&lt;/span&gt;];
&lt;br /&gt;          &lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(field != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;          {
&lt;br /&gt;               field.Choices.Add(&lt;span style="color: #A31515"&gt;"nuova voce"&lt;/span&gt;);
&lt;br /&gt;               field.Update();
&lt;br /&gt;               list.Update();
&lt;br /&gt;          }
&lt;br /&gt;     }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;</content><link rel="alternate" type="text/html" href="/Blog/AddChoicesToChoiceField.aspx" /><issued>2006-12-2T15:47:31+01:00</issued><modified>2006-12-2T15:47:31+01:00</modified></entry><entry><title>WSS 3.0</title><id>/Blog/WSS3.aspx</id><created>2006-11-17T22:21:7+01:00</created><content type="text/html" mode="escaped">In attesa di tutto il pacchetto Office 2007, è uscita la versione 3.0 di &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=D51730B5-48FC-4CA2-B454-8DC2CAF93951&amp;displaylang=en" title="Windows Sharepoint Services 3.0"&gt;Windows Sharepoint Services&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;Io ho iniziato da un pò a sviluppare su Sharepoint 2007 e devo dire che con questa versione, sembra che abbiano fatto veramente un buon lavoro.
&lt;br /&gt;
&lt;br /&gt;Buon download a tutti</content><link rel="alternate" type="text/html" href="/Blog/WSS3.aspx" /><issued>2006-11-17T22:21:7+01:00</issued><modified>2006-11-17T22:21:7+01:00</modified></entry><entry><title>Cosa c'&#232; dietro all'errore &quot;An unexpected error has occurred&quot;</title><id>/Blog/AnUnexpectedErrorHasOccurred.aspx</id><created>2006-11-3T20:8:47+01:00</created><content type="text/html" mode="escaped">Sarete sicurtamente d'accordo con me nel dire che l'errore "An unexpected error has occurred", che spesso e volentieri appare sviluppando soluzioni custom su Sharepoint, è una delle cose più fastidiose che possano accadare ad uno sviluppatore.
&lt;br /&gt;L'errore vago che a me personalmente da i nervi !
&lt;br /&gt;Per fortuna, esiste il modo di vedere qual'è l'effettivo errore che si è scatenato. Basta sostituire questi due elementi all'interno del web.config:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;SafeMode&lt;/span&gt;&lt;span style='color:#FF0000'&gt; MaxControls&lt;span style='color:#0000FF'&gt;="50"&lt;/span&gt; CallStack&lt;span style='color:#0000FF'&gt;="false"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;customErrors&lt;/span&gt;&lt;span style='color:#FF0000'&gt; mode&lt;span style='color:#0000FF'&gt;="On"&lt;/span&gt;  &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;con
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;SafeMode&lt;/span&gt;&lt;span style='color:#FF0000'&gt; MaxControls&lt;span style='color:#0000FF'&gt;="50"&lt;/span&gt; CallStack&lt;span style='color:#0000FF'&gt;="true"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;customErrors&lt;/span&gt;&lt;span style='color:#FF0000'&gt; mode&lt;span style='color:#0000FF'&gt;="Off"&lt;/span&gt;  &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel="alternate" type="text/html" href="/Blog/AnUnexpectedErrorHasOccurred.aspx" /><issued>2006-11-3T20:8:47+01:00</issued><modified>2006-11-3T20:8:47+01:00</modified></entry><entry><title>Link per l'upload multiplo in una document library &quot;sparito&quot;</title><id>/Blog/LostMultipleUploadLinkInDocumentLibrary.aspx</id><created>2006-10-25T20:10:39+01:00</created><content type="text/html" mode="escaped">Oggi è capitata questa cosa al mio capo.
&lt;br /&gt;Stava per andare ad uppare in una document library di un sito sharepoint un pò di documenti, e voleva utilizzare l'opzione di upload multiplo, presente appunto solo nelle liste di documenti.
&lt;br /&gt;Beh, il link, che solitamente sta proprio sotto la textbox di upload singolo, non c'era più ... era sparito..
&lt;br /&gt;Prima credevamo di averlo perso durante le personalizzazioni ai template di lista che avevamo effettuato. Poi c'è venuta in mente un'altra cosa....
&lt;br /&gt;Semplicemente, stavamo guardando il sito su una macchina dove non era installato Office 2003, e il componente per l'upload multiplo era reso invisibile da sharepoint, data la mancaza.
&lt;br /&gt;Non c'è più da stupirsi di niente utilizzando sharepoint..</content><link rel="alternate" type="text/html" href="/Blog/LostMultipleUploadLinkInDocumentLibrary.aspx" /><issued>2006-10-25T20:10:39+01:00</issued><modified>2006-10-25T20:10:39+01:00</modified></entry><entry><title>Come disabilitare o nascondere campi di una lista, in edit</title><id>/Blog/DisableOrHideListFieldInEditForm.aspx</id><created>2006-9-11T16:56:36+01:00</created><content type="text/html" mode="escaped">Ecco due semplici trucchi per disabilitare e nascondere dei campi di una lista Sharepoint, dalla pagina di Edit di un singolo elemento. Entrambe le modifiche vanno fatte nel file Schema.XML del template di lista scelto.
&lt;br /&gt;
&lt;br /&gt;1) Per nascondere un campo basta aggiungere all'elemento Field, proprio del campo scelto, l'attributo ShowInEditForm="FALSE".
&lt;br /&gt;
&lt;br /&gt;2) Per disabilitare un campo, quindi mantenedo il suo valore visibile, ma non editabile, basta aggiungere questo codice, nella vista "EditForm" presente nel file Schema.XML, all'interno dell'elemento &lt;SCRIPT&gt; :
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;window.attachEvent("onload", new Function("DisableOnLoad();"));
&lt;br /&gt;function DisableOnLoad()
&lt;br /&gt;{
&lt;br /&gt;      // Se il campo è di tipo scelta
&lt;br /&gt;      document.getElementsByName("OWS:NOMECAMPO:Dropdown").item(0).disabled=true;
&lt;br /&gt;
&lt;br /&gt;      // Se il campo è di tipo testo
&lt;br /&gt;      document.getElementsByName(
&lt;br /&gt;                  "urn:schemas-microsoft-com:office:office#NOMECAMPO").item(0).disabled=true;
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Fatte queste moficihe al file Schema.XML proprio del template da voi scelto, ricordatevi di effettuare un IISRESET per rendere effettive le modifiche.</content><link rel="alternate" type="text/html" href="/Blog/DisableOrHideListFieldInEditForm.aspx" /><issued>2006-9-11T16:56:36+01:00</issued><modified>2006-9-11T16:56:36+01:00</modified></entry><entry><title>La propriet&#224; ListsForCurrentUser della classe SPListCollection</title><id>/Blog/ListsForCurrentUser_property.aspx</id><created>2006-9-11T12:43:48+01:00</created><content type="text/html" mode="escaped">Ecco un utilissima proprietà per "giocare" con gli elenchi di liste di un sito Sharepoint.
&lt;br /&gt;La proprietà ListsForCurrentUser, propria della classe SPListCollection, da la possibilità di decidere se far vedere o meno solamente le liste dove l'utente corrente ha dei permessi (almeno di visualizzazione degli elementi).
&lt;br /&gt;Il valore di default è settato a True.
&lt;br /&gt;Se, via codice, settiamo questo valore a False, avremmo a disposizione la collezione di oggetti SPList completa, cioè contenente tutte le liste del sito Sharepoint scelto.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SPWeb web = SPControl.GetContextWeb(&lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.Context);
&lt;br /&gt;web.Lists.ListsForCurrentUser = &lt;span style="color: #0000FF"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/microsoft.sharepoint.splistcollection.listsforcurrentuser.aspx" title="SPListCollection.ListsForCurrentUser property"&gt;SPListCollection.ListsForCurrentUser property&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel="alternate" type="text/html" href="/Blog/ListsForCurrentUser_property.aspx" /><issued>2006-9-11T12:43:48+01:00</issued><modified>2006-9-11T12:43:48+01:00</modified></entry><entry><title>E-Book gratuito su sharepoint 2007</title><id>/Blog/FreeEBookSharepoint2007.aspx</id><created>2006-6-20T10:28:39+01:00</created><content type="text/html" mode="escaped">Come sapete (o almeno dovreste...) è uscita la beta 2 si Office 2007, pacchetto che contiene anche la nuova versione di &lt;a href="http://msdn.microsoft.com/sharepoint" title="Sharepoint 2007"&gt;Sharepoint&lt;/a&gt;.
&lt;br /&gt;L'&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=05E0DD12-8394-402B-8936-A07FE8AFAFFD&amp;displaylang=en" title="Sharepoint V3 SDK"&gt;SDK&lt;/a&gt; è gia disponibile per il download, correlato da una bella serie di &lt;a href="http://msdn.microsoft.com/sharepoint/learn/default.aspx?#Screencasts" title="Sharepoint 2007 screencasts"&gt;screencasts&lt;/a&gt;.
&lt;br /&gt;Da pochi giorni, Microsoft ha reso anche disponibile per il download, un e-book completamente gratuito:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20Development%20Projects%20with%20the%202007%20Microsoft%20Office%20System%20and%20Windows%20SharePoint%20Services%202007.pdf" title="7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0"&gt;7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Io me lo sono scaricato e mi appresto a leggerlo. Ho anche la beta 2.. se trovassi solo il tempo di installarla e di giocarci un pò ... :)
&lt;br /&gt;
&lt;br /&gt;TAGS:  [&lt;a href="http://www.peppedotnet.it/Tags/Sharepoint.aspx" title="TAG: Sharepoint"&gt;Sharepoint&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/FreeEBookSharepoint2007.aspx" /><issued>2006-6-20T10:28:39+01:00</issued><modified>2006-6-20T10:28:39+01:00</modified></entry><entry><title>Errore: &quot;An error has occurred in the portal site&quot;</title><id>/Blog/ErrorCreatingPortalArea.aspx</id><created>2006-3-24T11:32:36+01:00</created><content type="text/html" mode="escaped">In questo periodo sono decisamente più indaffarato del sito, ed è proprio per questo che scrivo oggi (giorno 24) il primo post del mese di marzo... che vergogna.
&lt;br /&gt;Comunque, la mia attenzione è prevalentemente orientata su di un progetto sharepoint per la ditta in cui lavoro. Ieri, dopo l'installazione ex-novo di sharepoint portal 2003 e dei miei template custom, mi trovo di fronte a questo errore, durante la creazione di un'area del portal:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: red"&gt;An error has occurred in the portal site. Contact the portal site administrator for assistance.&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;La cosa strana era che poco prima ne avevo create una quindicina di aree... bah !
&lt;br /&gt;Cosa faccio ? mi affido a google e cerco l'errore. Dopo poco arrivo a questo articolo della kb:
&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/910764/en-us" title="Articolo kb"&gt;http://support.microsoft.com/kb/910764/en-us&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Subito mi dico: "Bella ! i signori Microsoft, hanno la soluzione per me". Seguo tutte le i