<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.devleap.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Claudio Brotto</title><link>http://blogs.devleap.com/devlizard/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>SSCLI Essentials v2</title><link>http://blogs.devleap.com/devlizard/archive/2008/08/24/sscli-essentials-v2.aspx</link><pubDate>Sun, 24 Aug 2008 20:19:44 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18594</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18594</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/08/24/sscli-essentials-v2.aspx#comments</comments><description>&lt;p&gt;Se vi chiedessero di nominare 5 libri di informatica che avete letto e che hanno avuto un contributo significativo per la vostra cultura e per la vostra crescita professionale, quali nominereste ?&lt;/p&gt;  &lt;p&gt;Domanda banale ? Domanda troppo complicata ?&lt;/p&gt;  &lt;p&gt;Forse s&amp;#236;, anche perch&amp;#232; il confronto pu&amp;#242; risultare arduo quando si vanno a considerare testi che differiscono non solo per contenuti, ma anche per approccio o, magari, per stile.&lt;/p&gt;  &lt;p&gt;Un libro che non posso togliere dalla mia classifica, ad esempio, &amp;#232; il primo che ho letto integralmente, del quale non ricordo n&amp;#232; autore n&amp;#232; casa editrice (sigh ...) ma solo il colore della copertina (rosso acceso) e l&amp;#39;argomento (una sorta di guida di livello intermedio sui PC e sul loro funzionamento).&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;[Non se ne trovano pi&amp;#249; in giro. Non so se &amp;#232; una sensazione solo mia, e magari errata, ma adesso la tendenza sembra premiare il &amp;quot;tutorial-che-ti-insegna-a-programmare-in-6-lezioni-da-un&amp;#39;ora&amp;quot; :-(]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pluralsight.com/community/blogs/dbox/default.aspx" target="_blank"&gt;Don Box&lt;/a&gt; trova posto come autore (cos&amp;#236; ne occupa solo uno :-P ... insomma, se &lt;a href="http://www.amazon.com/Essential-NET-Language-Microsoft-Development/dp/0201734117/ref=pd_bbs_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1219607379&amp;amp;sr=1-1" target="_blank"&gt;vinci&lt;/a&gt; non puoi anche arrivare &lt;a href="http://www.amazon.com/Essential-COM-DevelopMentor-Don-Box/dp/0201634465/ref=pd_bbs_sr_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1219607379&amp;amp;sr=1-2" target="_blank"&gt;secondo&lt;/a&gt;).&amp;#160; La &lt;a href="http://www.informit.com/imprint/series_detail.aspx?st=61214" target="_blank"&gt;Addison&lt;/a&gt;-&lt;a href="http://www.informit.com/imprint/series_detail.aspx?st=61419" target="_blank"&gt;Wesley&lt;/a&gt;, spannometricamente parlando, come casa editrice.&lt;/p&gt;  &lt;p&gt;E poi c&amp;#39;&amp;#232; &lt;a href="http://www.amazon.com/Shared-Source-Essentials-David-Stutz/dp/059600351X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1219607931&amp;amp;sr=1-1" target="_blank"&gt;questo volumetto da 300 pagine o poco pi&amp;#249;&lt;/a&gt;, edito da O&amp;#39;Reilly, acquistato pi&amp;#249; per curiosit&amp;#224; che per reale interesse (almeno all&amp;#39;epoca) ed entrato in top five a velocit&amp;#224; sorprendente.&lt;/p&gt;  &lt;p&gt;Shared Source CLI Essentials &amp;#232; un viaggio negli gli internals della &amp;quot;macchina virtuale&amp;quot; .NET. &lt;/p&gt;  &lt;p&gt;E&amp;#39; un libro che ti fa venire voglia di prendere in mano un debugger e di fare le pulci a quel runtime che ospita le tue applicazioni di tutti i giorni.&lt;/p&gt;  &lt;p&gt;E&amp;#39; un libro che riprenderei in mano volentieri, ad avere anche solo un pochino di tempo.&lt;/p&gt;  &lt;p&gt;Ecco perch&amp;#232; sono davvero contento di leggere, da &lt;a href="http://callvirt.net/blog/entry.aspx?entryid=b9a94d0c-761a-4d6b-bc2f-d6a5f8c1a4a7" target="_blank"&gt;Joel Pobar&lt;/a&gt; e da &lt;a href="http://feeds.feedburner.com/callvirt" target="_blank"&gt;Ted Neward&lt;/a&gt;, che &amp;#232; disponibile una &lt;a href="http://callvirt.net/files/Shared%20Source%20CLI%202.0%20Internals%20DRAFT.pdf" target="_blank"&gt;bozza della versione 2&lt;/a&gt; del succitato volume, arricchito da:&lt;/p&gt;  &lt;blockquote&gt;   &lt;li&gt;&lt;em&gt;Updated to reflect the 2.0 source code. A *lot* of stuff changed internally, specifically for deeply engrained type system features like Generics. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Added a chapter on Reflection and Code Generation features. We talk about new 2.0 features like Lightweight Code Generation (LCG) and the new Reflection caching mechanisms. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Added a chapter on Generics to explore how it works under the hood, from metadata changes, right through to runtime data structure changes. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Added an Appendix tutorial that walks through step-by-step the changes required to add a new opcode to the runtime (everything from verification, to JIT compilation). &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Explores a new interface call dispatch architecture called &amp;#8220;Virtual Stub Dispatch&amp;#8221;. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Looks at the new native x86 calling convention.&lt;/em&gt;&lt;/li&gt; &lt;/blockquote&gt;  &lt;p&gt;Un must, come si dice. Davvero !!&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18594" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/books/default.aspx">books</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/.NET/default.aspx">.NET</category></item><item><title>pptPlex</title><link>http://blogs.devleap.com/devlizard/archive/2008/08/16/pptplex.aspx</link><pubDate>Sat, 16 Aug 2008 08:35:32 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18589</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18589</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/08/16/pptplex.aspx#comments</comments><description>&lt;p&gt;I &lt;a title="Microsoft Office Labs" href="http://www.officelabs.com/"&gt;Microsoft Office Labs&lt;/a&gt; hanno reso disponibile &lt;a href="http://www.officelabs.com/projects/pptPlex/Pages/default.aspx" target="_blank"&gt;pptPlex&lt;/a&gt;, un add-on per PowerPoint che ... d&amp;#224; vita alle presentazioni aggiungendo effetti di zoom e pan durante la navigazione tra le slide (e all&amp;#39;interno della stessa slide, quando i contenuti sono troppo minuscoli).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;pptPlex is a plug-in that explores an alternate method for presenting a PowerPoint slide deck. Using pptPlex, you can present your slides as a tour through a zoomable canvas instead of a series of linear slides&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Le parole si spiegano molto peggio di un &lt;a href="http://video.msn.com/video.aspx?mkt=en-GB&amp;amp;playlist=videoByUuids:uuids:f362631f-c86c-4547-a544-9b8eda9975e3&amp;amp;showPlaylist=true&amp;amp;from=msnvideo" target="_blank"&gt;video&lt;/a&gt; :-)&lt;/p&gt;  &lt;p&gt;L&amp;#39;ho installato e provato per qualche minuto e devo dire che &amp;#232; estremamente interessate, e non solo per via degli effetti.&lt;/p&gt;  &lt;p&gt;Offre una modalit&amp;#224; di navigazione (e quindi di presentazione) che ben si presta all&amp;#39;esposizione di contenuti non sequenziali, per la quale un ritorno ad una schermata di overview interattiva &amp;#232; utile didatticamente, oltre che molto ad effetto.&lt;/p&gt;  &lt;p&gt;Utilizzare questo add-on &amp;quot;in produzione&amp;quot; forse &amp;#232; prematuro:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Q. Can I run my business with these tools?       &lt;br /&gt;A. These prototypes are unsupported so we don&amp;#39;t think that would be a good idea.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Speriamo quindi in un buon supporto e, magari, in una integrazione nella prossima versione di Office :-)&lt;/p&gt;  &lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18589" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/Office+System/default.aspx">Office System</category></item><item><title>STSDEV: aggiungere files alla CONFIG folder</title><link>http://blogs.devleap.com/devlizard/archive/2008/08/10/stsdev-aggiungere-files-alla-config-folder.aspx</link><pubDate>Sun, 10 Aug 2008 20:45:39 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18576</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18576</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/08/10/stsdev-aggiungere-files-alla-config-folder.aspx#comments</comments><description>&lt;p&gt;Oggi mi sono appollaiato sotto il sole dell&amp;#39;&lt;a href="http://it.wikipedia.org/wiki/Mugello" target="_blank"&gt;alta Toscana&lt;/a&gt; con l&amp;#39;intenzione di preparare un po&amp;#39; di materiale per la &lt;a href="http://www.sharepointconference.it/" target="_blank"&gt;SharePoint Conference&lt;/a&gt; di ottobre.&lt;/p&gt;  &lt;p&gt;Ho riorganizzato un po&amp;#39; di esempi, completato qualche snippet di codice lasciato da un po&amp;#39; di tempo nei &amp;quot;todo&amp;quot; di outlook e poi mi sono dedicato al packaging per la &lt;a href="http://www.sharepointconference.it/Sessioni/default.aspx#SYS304" target="_blank"&gt;sessione su STSADM&lt;/a&gt; che terr&amp;#242; con &lt;a href="http://blogs.devleap.com/igor" target="_blank"&gt;Igor&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Ovviamente non svelo nulla (:-P) ma, giacch&amp;#232; sono tuttora appollaiato sotto la luna dell&amp;#39;alta Toscana, vi scrivo un piccolo tip.&lt;/p&gt;  &lt;p&gt;L&amp;#39;esigenza &amp;#232; stata quella di creare una solution SharePoint in grado di effettuare il deploy di una custom stsadm extension. Il che si riduce, per farla breve, alla distribuzione di un assembly in GAC (e sin qui nessun problema) e alla copia di un file in [12]\CONFIG.&lt;/p&gt;  &lt;p&gt;Il meccanismo di packaging in solutions consente entrambe queste operazioni (definendo i relativi elementi Assembly e RootFile nel manifest della solution, e ovviamente includendo i file nel pacchetto generato):&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;Solution&amp;#160; ... &amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;&lt;strong&gt;RootFiles&lt;/strong&gt;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;strong&gt;RootFile&lt;/strong&gt; Location=&amp;quot;CONFIG\stsadmcommands.Spc2008.xml&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;/&lt;strong&gt;RootFiles&lt;/strong&gt;&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;&lt;strong&gt;Assemblies&lt;/strong&gt;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;strong&gt;Assembly&lt;/strong&gt; Location=&amp;quot;Spc2008.StsAdmExtensions.dll&amp;quot; DeploymentTarget=&amp;quot;GlobalAssemblyCache&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;/&lt;strong&gt;Assemblies&lt;/strong&gt;&amp;gt;      &lt;br /&gt;&amp;lt;/Solution&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Purtroppo, per&amp;#242;, &lt;a href="http://www.codeplex.com/stsdev" target="_blank"&gt;STSDEV&lt;/a&gt; non &amp;#232; in grado di inserire file nella directory CONFIG.&lt;/p&gt;  &lt;p&gt;Ponendo come presupposto che:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tutte le mie altre demo sono basate su progetti creati con STSDEV ... e vorrei mantenere un minimo di omogeneit&amp;#224; almeno con me stesso :-)&lt;/li&gt;    &lt;li&gt;STSDEV &amp;#232; un tool eccellente, sia per funzionalit&amp;#224; che per facilit&amp;#224; di estensione&lt;/li&gt;    &lt;li&gt;STSDEV &amp;#232; corredato da codice sorgente&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;tutto sommato l&amp;#39;idea di metter su una patch non &amp;#232; cos&amp;#236; tanto campata per aria.&lt;/p&gt;  &lt;p&gt;Step by step, la patch &amp;#232; costituita da:&lt;/p&gt;  &lt;p&gt;1) In Globals.cs, definizione di un nuovo campo String all&amp;#39;interno della classe stsdev.Globals, inizializzato con il percorso della directory CONFIG:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;public readonly static string &lt;strong&gt;ConfigFolder&lt;/strong&gt; = RootFilesFolder + @&amp;quot;\CONFIG&amp;quot;;&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2) In CabDdfBuilder.cs, modifica del processo di generazione del file DDF (alla base della successiva creazione del pacchetto WSP), rilassando il controllo sull&amp;#39;esistenza delle directory nel ramo di progetto per includere anche RootFiles\Config: &lt;/p&gt;  &lt;ul&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;if (Directory.Exists(Globals.IsapiFolder) || Directory.Exists(Globals.ResourcesFolder) &lt;strong&gt;|| Directory.Exists(Globals.ConfigFolder)&lt;/strong&gt;)&lt;/font&gt; &lt;/p&gt; &lt;/ul&gt;  &lt;p&gt;3) In ManifestBuilder.cs, modifica del processo di generazione del manifest della solution, rilassando il controllo sull&amp;#39;esistenza delle directory nel ramo di progetto per includere anche RootFiles\Config: &lt;/p&gt;  &lt;ul&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;if (Directory.Exists(Globals.IsapiFolder) || Directory.Exists(Globals.ResourcesFolder) &lt;strong&gt;|| Directory.Exists(Globals.ConfigFolder)&lt;/strong&gt;)&lt;/font&gt; &lt;/p&gt; &lt;/ul&gt;  &lt;p&gt;Rebuild, test e via :-)&lt;/p&gt;  &lt;p&gt;Ah, per inciso.&lt;/p&gt;  &lt;p&gt;L&amp;#39;avete visto, no, che &lt;a href="http://www.tedpattison.net/" target="_blank"&gt;Ted Pattison&lt;/a&gt; (creatore - tra l&amp;#39;altro - di STSDEV) &lt;a href="http://www.sharepointconference.it/Sessioni/default.aspx#DEV309" target="_blank"&gt;terr&amp;#224; una sessione proprio sulla sua creatura&lt;/a&gt; ?&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18576" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint Guidance - Patterns and Practices</title><link>http://blogs.devleap.com/devlizard/archive/2008/08/02/sharepoint-guidance-patterns-and-practices.aspx</link><pubDate>Sat, 02 Aug 2008 17:37:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18570</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18570</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/08/02/sharepoint-guidance-patterns-and-practices.aspx#comments</comments><description>&lt;p&gt;Paul Andrew &lt;a href="http://blogs.msdn.com/pandrew/archive/2008/08/01/microsoft-patterns-and-practices-moves-on-sharepoint.aspx" target="_blank"&gt;annuncia&lt;/a&gt; che è disponibile su &lt;a href="http://www.codeplex.com/" target="_blank"&gt;Codeplex&lt;/a&gt; una &amp;quot;not-even-alpha version&amp;quot; della &lt;a href="http://www.codeplex.com/spg" target="_blank"&gt;SharePoint Guidance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La descrizione schematica che troviamo in home è piuttosto precisa:&lt;/p&gt;
&lt;blockquote&gt;
&lt;h5&gt;&lt;em&gt;Project Description &lt;/em&gt;&lt;/h5&gt;&lt;em&gt;We plan to provide guidance to customers on how to build SharePoint Intranet Applications. This includes guidance on how to Architect, Design, and Develop applications as well as best practices. &lt;/em&gt;
&lt;h5&gt;&lt;em&gt;Intended Audience &lt;/em&gt;&lt;/h5&gt;&lt;em&gt;This guidance is intended for software architects and software developers who are building applications on Microsoft Office SharePoint Server. Familiarity with Windows SharePoint Services, Microsoft Office SharePoint Server, and ASP.NET is useful for evaluating the guidance.&lt;/em&gt; 
&lt;h5&gt;&lt;em&gt;Guidance is not even Alpha &lt;/em&gt;&lt;/h5&gt;&lt;em&gt;Please note that this guidance is in draft form and will change dramatically before it is released on MSDN. We provide you access to drops to give you an idea of our direction and get your feedback. The code will continually be refactored until the point we publish it on MSDN. &lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;Evidentemente ... &amp;quot;they heard from customers&amp;quot; (cit.) :-)&lt;/p&gt;
&lt;p&gt;Non aspettatevi di trovare nulla di lontanamente definitivo ... però, visto che curiosare è in fondo &lt;a href="http://www.codeplex.com/spg/WorkItem/List.aspx" target="_blank"&gt;lecito&lt;/a&gt; e, a dire il vero, &lt;a href="http://www.codeplex.com/spg/Thread/List.aspx" target="_blank"&gt;richiesto&lt;/a&gt;, diamo un&amp;#39;occhiata partendo dalla &amp;quot;&lt;a href="http://www.codeplex.com/spg/Release/ProjectReleases.aspx?ReleaseId=15819" target="_blank"&gt;vision&lt;/a&gt;&amp;quot; di questa drop. Mi sono permesso un ritaglio dal pdf:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3149/2724923919_1991346592.jpg" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Interessante il ranking delle richieste più gettonate.&lt;/p&gt;
&lt;p&gt;Il &lt;strong&gt;Debugging&lt;/strong&gt; sembra avere la meglio su altre &amp;quot;piccole&amp;quot; questioni quali &lt;strong&gt;tooling&lt;/strong&gt; (VSeWSS vs STSDEV vs WSPBuilder vs SmartTemplates vs Custom Batch vs &lt;strike&gt;Tutto A Mano&lt;/strike&gt; ...) o &lt;strong&gt;Sviluppo in Team&lt;/strong&gt; (che secondo me è invece il punto più interessante e aperto, e se volete va giù a domino coprendo la maggior parte degli altri &lt;em&gt;desiderata&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Interessante soprattutto il fatto che alcune esigenze, che personalmente giudico *primarie* per *qualsiasi* ambiente di sviluppo, siano presentate in un documento di Vision come &lt;em&gt;must have&lt;/em&gt;, e quindi sia lecito aspettarsi una risposta &amp;quot;ufficiale&amp;quot; (da seguire o non seguire a discrezione, ci mancherebbe, ma sempre utile come termine di confronto).&lt;/p&gt;
&lt;p&gt;Mi riferisco in particolare al SDLC (&lt;a href="http://en.wikipedia.org/wiki/Software_development_process" target="_blank"&gt;Software Development Life Cycle&lt;/a&gt;) e a quanto/come/quando di questa disciplina si possa/debba applicare alle soluzioni SharePoint. &lt;/p&gt;
&lt;p&gt;In termini più pratici, e solo per fare un esempio, tutti sappiamo che si devono fare i test, semmai il punto è individuare la metodologia più corretta per farlo, tenendo ovviamente in conto l&amp;#39;ambiente target, i suoi vincoli e le sue particolarità.&lt;/p&gt;
&lt;p&gt;Alla &lt;a href="http://www.sharepointconference.it/" target="_blank"&gt;SharePoint Conference&lt;/a&gt; avremo sicuramente occasione di discutere anche di queste cose. Io ho già pronta qualche domandina per &lt;a href="http://www.sharepointconference.it/Speaker/pages/biografia.aspx#Ted%20Pattison" target="_blank"&gt;Ted Pattison&lt;/a&gt; ... preparate le vostre :-)&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18570" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Modificare le proprietà delle web part senza il tool pane</title><link>http://blogs.devleap.com/devlizard/archive/2008/07/19/modificare-le-propriet-224-delle-web-part-senza-il-tool-pane.aspx</link><pubDate>Sat, 19 Jul 2008 20:21:40 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18555</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18555</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/07/19/modificare-le-propriet-224-delle-web-part-senza-il-tool-pane.aspx#comments</comments><description>&lt;p&gt;Segnalo &lt;a href="http://rnowik.com/Updating-webpart-properties-from-outside-the-tool-pane.aspx" target="_blank"&gt;questo post&lt;/a&gt; di &lt;a href="http://rnowik.com/Default.aspx" target="_blank"&gt;Rob Nowik&lt;/a&gt; che propone una soluzione, semplice ed efficace, per modificare le property di una web part al di fuori del &amp;quot;classico&amp;quot; tool pane.&lt;/p&gt;  &lt;p&gt;Questo approccio pu&amp;#242; risultare assai utile, ad esempio, quando le propriet&amp;#224; che si vogliono gestire richiedono un cruscotto grafico particolarmente oneroso in termini di spazio sulla pagina, tanto da rendere insufficiente - o comunque troppo esiguo - il pannello laterale.&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18555" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>STSADM poster</title><link>http://blogs.devleap.com/devlizard/archive/2008/07/08/stsadm-poster.aspx</link><pubDate>Tue, 08 Jul 2008 05:43:55 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18530</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18530</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/07/08/stsadm-poster.aspx#comments</comments><description>&lt;p&gt;Da qualche tempo sono stati pubblicati due &amp;quot;poster&amp;quot; che illustrano graficamente le operazioni e le propriet&amp;#224; disponibili per la gestione di un&amp;#39;infrastruttura SharePoint via STSADM.&lt;/p&gt;  &lt;p&gt;&lt;img height="390" src="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_MOSS_2007.jpg" width="520" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Per WSS: &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_WSS_3.jpg" target="_blank"&gt;jpg&lt;/a&gt;, &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_WSS_3.png" target="_blank"&gt;png&lt;/a&gt;, &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_WSS_3.vsd" target="_blank"&gt;Visio&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Per MOSS: &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_MOSS_2007.jpg" target="_blank"&gt;jpg&lt;/a&gt;, &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_MOSS_2007.png" target="_blank"&gt;png&lt;/a&gt;, &lt;a href="http://sharepoint.microsoft.com/sharepoint/Documents/STSADM%20Posters/Stsadm_Cmd-Line_MOSS_2007.vsd" target="_blank"&gt;Visio&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Molto bene, cos&amp;#236; alla &lt;a href="http://www.sharepointconference.it" target="_blank"&gt;Microsoft SharePoint Conference 2008&lt;/a&gt; io e &lt;a href="http://blogs.devleap.com/igor" target="_blank"&gt;Igor&lt;/a&gt; ve li &lt;a href="http://www.sharepointconference.it/Sessioni/default.aspx#SYS304" target="_blank"&gt;mostreremo&lt;/a&gt; *tutti* :-O&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18530" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/eventi/default.aspx">eventi</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SharePoint Solution e Shared Assemblies</title><link>http://blogs.devleap.com/devlizard/archive/2008/07/01/sharepoint-solution-e-shared-assemblies.aspx</link><pubDate>Tue, 01 Jul 2008 13:17:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18512</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18512</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/07/01/sharepoint-solution-e-shared-assemblies.aspx#comments</comments><description>&lt;p&gt;Sono capitato un po&amp;#39; per caso a leggere &lt;a href="http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/06/23/wsp-solution-deployment-to-share-or-not-to-share-that-s-the-question.aspx" target="_blank"&gt;questo post&lt;/a&gt; su Bamboo Nations (che, devo dire, sta scalando rapidamente la mia &lt;em&gt;feed-parade&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Riporto qui un brevissimo e significativo excerpt:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;[Deploying SharePoint Solutions]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;So &lt;strong&gt;if you decide to put anything into the GAC make sure it&amp;#39;s NOT shared by anyone else&lt;/strong&gt; since then it will break if you retract one of the solutions....&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Dunque, un minimo di spiegazione !&lt;/p&gt;
&lt;p&gt;Il meccanismo di deploy delle &lt;a href="http://msdn.microsoft.com/en-us/library/aa543214.aspx" target="_blank"&gt;solution SharePoint&lt;/a&gt; consente di installare, come parte del package, assembly nella Global Assembly Cache.&lt;/p&gt;
&lt;p&gt;In questo senso (e in realtà non solo in questo senso, estendendo il discorso ad altri tipi di risorse o di location di installazione) le solution possono essere definite senza troppo margine di interpretazione &amp;quot;l&amp;#39;MSI di SharePoint&amp;quot;.&lt;/p&gt;
&lt;p&gt;Con le funzionalità aggiuntive che la piattaforma richiede (allineamento garantito tra i server della farm, per dirne una). Ma, anche, con qualche funzionalità in meno.&lt;/p&gt;
&lt;p&gt;Si parlava di GAC.&lt;/p&gt;
&lt;p&gt;La GAC è utilizzata (e pensata) come storage per assembly condivisi fra più applicazioni. Quando più applicazioni tentano di installare un assembly in GAC, possono richiedere la memorizzazione di riferimenti (si chiamano &lt;a href="http://blogs.msdn.com/junfeng/archive/2004/09/13/228651.aspx" target="_blank"&gt;trace references&lt;/a&gt;) in modo tale da evitare disinstallazioni forzose e conseguenti, brutali crash.&lt;/p&gt;
&lt;p&gt;Ho scritto possono ... perchè ovviamente ci sono le eccezioni.&lt;/p&gt;
&lt;p&gt;Una di queste (purtroppo) è appunto il meccanismo di deploy delle solutions.&lt;/p&gt;
&lt;p&gt;Prova del nove (seguire passo passo - uso le VSeWSS Extensions per rapidità, benissimo qualsiasi altro tool o il tutto a manina).&lt;/p&gt;
&lt;p&gt;1) Creare un progetto class library, anche vuoto va benissimo (purchè compili !). Nell&amp;#39;esempio l&amp;#39;ho chiamato SomeSharedAssembly.&lt;/p&gt;
&lt;p&gt;2) Firmare l&amp;#39;assembly (il metodo più comodo è dalle proprietà del progetto Visual Studio, voce Signing).&lt;/p&gt;
&lt;p&gt;3) Build.&lt;/p&gt;
&lt;p&gt;4) Creare uno SharePoint Empty Project (SolutionOne).&lt;/p&gt;
&lt;p&gt;5) Add-&amp;gt;Existing Item-&amp;gt;La dll creata al punto 3.&lt;/p&gt;
&lt;p&gt;6) Modificare il file manifest dela solution. Se avete usato le VSeWSS potete utilizzare il pane &amp;quot;WSP View&amp;quot;, doppio click su manifest.xml. Ottenete qualcosa del genere (in bold la riga da aggiungere, ovviamente cambiando il nome della DLL creata al punto 3):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt; &lt;br /&gt;&amp;lt;Solution &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SolutionId=&amp;quot;961c3359-9b2b-4c29-86ed-b1a6399de968&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&amp;quot;&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/sharepoint/"&gt;&lt;font face="Courier New"&gt;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;Assemblies&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Assembly Location=&amp;quot;SolutionOne.dll&amp;quot; DeploymentTarget=&amp;quot;GlobalAssemblyCache&amp;quot; /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;Assembly Location=&amp;quot;SomeSharedAssembly.dll&amp;quot; DeploymentTarget=&amp;quot;GlobalAssemblyCache&amp;quot; /&amp;gt;&lt;/strong&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Assemblies&amp;gt; &lt;br /&gt;&amp;lt;/Solution&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;7) Build e deploy della solution.&lt;/p&gt;
&lt;p&gt;8) Ripetere i punti 4..7, creando una solution identica con nome diverso (SolutionTwo, diciamo).&lt;/p&gt;
&lt;p&gt;9) Ci troviamo con due solution installate e deployate (ripeto, se avete usato altri tool o avete scelto la strada &amp;quot;raw&amp;quot;, alcuni dei punti precedenti possono cambiare, in particolar modo la creazione del package WSP e la sua successiva installazione).&lt;/p&gt;
&lt;p&gt;10) Command prompt di Visual Studio (giusto per avere impostate le variabili d&amp;#39;ambiente) e lanciamo gacutil.exe (credo che gacutil non abbia bisogno di presentazioni, è *il* tool usato per esaminare ed interagire con la GAC via linea di comando).&lt;/p&gt;
&lt;p&gt;11) &lt;strong&gt;gacutil -l SomeSharedAssembly&lt;/strong&gt;. L&amp;#39;output dovrebbe indicare che è presente l&amp;#39;assembly richiesto:&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;D:\Windows\system32&amp;gt;gacutil -l SomeSharedAssembly &lt;br /&gt;Microsoft (R) .NET Global Assembly Cache Utility.&amp;nbsp; Version 3.5.21022.8 &lt;br /&gt;Copyright (c) Microsoft Corporation.&amp;nbsp; All rights reserved. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;The Global Assembly Cache contains the following assemblies: &lt;br /&gt;&amp;nbsp; SomeSharedAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38b02c7e6 &lt;br /&gt;914e65f, processorArchitecture=MSIL &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;Number of items = 1 &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;12) &lt;strong&gt;stsadm -o retractsolution -name solutionone.wsp -immediate&lt;/strong&gt; (controllate di avere stsadm nel path, altrimenti lo dovete invocare con il suo percorso completo, [12]\bin)&lt;/p&gt;
&lt;p&gt;13) stsadm -o execadmsvcjobs (se non volete aspettare nemmeno quei pochi secondi affinchè il timer job che effettua il retract (= undeploy) della solution venga eseguito&lt;/p&gt;
&lt;p&gt;14) Di nuovo gacutil -l SomeSharedAssembly.&lt;/p&gt;
&lt;p&gt;15) Osservare e riflettere ...&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;Microsoft (R) .NET Global Assembly Cache Utility.&amp;nbsp; Version 3.5.21022.8 &lt;br /&gt;Copyright (c) Microsoft Corporation.&amp;nbsp; All rights reserved. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;The Global Assembly Cache contains the following assemblies: &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;Number of items = 0&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo due solution che utilizzano lo stesso assembly condiviso. Facendo il retract di una delle due (a caso) abbiamo disinstallato l&amp;#39;assembly dalla GAC ... lasciando l&amp;#39;altra in braghe di tela :-O&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18512" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>InfoPath Browser Forms in un sito SharePoint aka come fare l’attach di una Master Page</title><link>http://blogs.devleap.com/devlizard/archive/2008/06/19/infopath-browser-forms-in-un-sito-sharepoint-aka-come-fare-l-attach-di-una-master-page.aspx</link><pubDate>Thu, 19 Jun 2008 05:31:24 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18500</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18500</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/06/19/infopath-browser-forms-in-un-sito-sharepoint-aka-come-fare-l-attach-di-una-master-page.aspx#comments</comments><description>&lt;p&gt;Sar&amp;#242; breve. He he ... forse dal titolo non si direbbe :-)&lt;/p&gt;  &lt;p&gt;Provo almeno ad essere schematico.&lt;/p&gt;  &lt;p&gt;Esigenza: erogare funzionalit&amp;#224; di data entry tramite form infopath renderizzate dal browser (via FormsServices) mantenendo, per&amp;#242;, l&amp;#8217;&lt;i&gt;aspetto&lt;/i&gt; del sito SharePoint. In altre parole, inserire il &amp;#8220;content&amp;#8221; che IPFS ci mette a disposizione in una pagina che usi la master page del sito SharePoint in questione.&lt;/p&gt;  &lt;p&gt;Soluzioni: ce ne sono un po&amp;#8217;. &lt;/p&gt;  &lt;p&gt;Una, ad esempio, che cito giusto per dovere di cronaca, &amp;#232; quella di usare una &lt;b&gt;PageViewerWebPart&lt;/b&gt; che punti all&amp;#8217;URL delle pagine aspx di FormsServices. Ammesso e non concesso che utilizzare un IFrame sia realmente necessario :-)&lt;/p&gt;  &lt;p&gt;In alternativa (molto meglio a mio parere) si pu&amp;#242; usare il controllo &lt;b&gt;XmlFormView&lt;/b&gt; (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.server.controls.xmlformview.aspx" target="_blank"&gt;Microsoft.Office.InfoPath.Server.Controls.XmlFormView&lt;/a&gt;), che abbiamo a disposizione &amp;#8220;aggratis&amp;#8221;, giacch&amp;#232; alla fine la licenza di IPFS l&amp;#8217;abbiamo pagata. E da buon ligure questo &amp;#232; gi&amp;#224; un motivo sufficiente.&lt;/p&gt;  &lt;p&gt;XmlFormView &amp;#232; una web part piuttosto interessante - peraltro utilizzata anche dalle pagine native di IPFS - e dall&amp;#8217;uso decisamente immediato. Talmente tanto da rendere possibile la creazione di interfacce semplici anche solamente mediante browser.&lt;/p&gt;  &lt;p&gt;Il procedimento &amp;#232; abbastanza lineare, e potrebbe essere questo:&lt;/p&gt;  &lt;p&gt;&amp;#183; Aggiunta del controllo suddetto all&amp;#8217;elenco di SafeControls per la web application di interesse (un punto in pi&amp;#249; se decidete di fattorizzare la cosa in ottica di deploy ed inserite la modifica nel manifest di una solution ... anzi no ... due punti)&lt;/p&gt;  &lt;p&gt;&amp;#183; Provisioning della web part sulla site collection (Site Settings -&amp;gt; Web Parts -&amp;gt; New -&amp;gt; Selezionare XmlFormView e cliccare su Populate Gallery)&lt;/p&gt;  &lt;p&gt;&amp;#183; Si crea una document library dedicata alla memorizzazione delle pagine di data entry (nulla vieta di usarne una preesistente, se non una pura questione di separazione logica dei contenuti)&lt;/p&gt;  &lt;p&gt;&amp;#183; Le si associa il content type WebPartPage (non necessario se in fase di creazione della document library abbiamo scelto WebPartPage come template per i nuovi documenti)&lt;/p&gt;  &lt;p&gt;&amp;#183; Si crea ... indovinate ? &amp;#8230; una WebPartPage :-)&lt;/p&gt;  &lt;p&gt;&amp;#183; Si inserisce XmlFormView nella zona che maggiormente ci aggrada&lt;/p&gt;  &lt;p&gt;&amp;#183; Si completa la configurazione della web part&lt;/p&gt;  &lt;p&gt;Yep. Ma ci sono comunque un paio di considerazioni da tenere in conto. &lt;/p&gt;  &lt;p&gt;Una, che vale un po&amp;#8217; sempre, &amp;#232; che ci&amp;#242; che facciamo via browser pu&amp;#242; arrivare ad un punto di non ritorno, quando le funzionalit&amp;#224; out-of-the-box non sono sufficienti (giusto per anticipare la risposta alla domanda &amp;#8220;ma come faccio a passare dei parametri alla form ?&amp;#8221;). &lt;/p&gt;  &lt;p&gt;Questo fa da contrappeso agli (indubbi) vantaggi che ci sono, uno su tutti la possibilit&amp;#224; di delegare le operazioni ad un &amp;#8220;power user&amp;#8221;. Basta saperlo e scegliere di conseguenza.&lt;/p&gt;  &lt;p&gt;L&amp;#8217;altra considerazione che, invece, prescinde un po&amp;#8217; di pi&amp;#249; dalle prospettive &amp;#232; legata alle performance pure e semplici. &lt;/p&gt;  &lt;p&gt;Una pagina creata come item di una document library &amp;#232; memorizzata in DB. Il che implica un peso non sempre trascurabile per il sistema, che si trova a non poter riutilizzare il codice compilato della pagina ASPX (la stessa cosa che succede per le famose pagine unghosted/customized che si ottengono, ad esempio, modificando un&amp;#8217;istanza di pagina con SharePoint Designer).&lt;/p&gt;  &lt;p&gt;Logicamente, se si riescono a fattorizzare le funzionalit&amp;#224; di una &amp;#8220;pagina host con master page&amp;#8221;, la strada pi&amp;#249; conveniente &amp;#232; quella di definire un page template, creando poi istanze della pagina host nei siti di interesse.&lt;/p&gt;  &lt;p&gt;Non &amp;#232; cos&amp;#236; complesso come pu&amp;#242; sembrare, basta giocare un po&amp;#8217; con le feature ... oops ... Feature di SharePoint 2007.&lt;/p&gt;  &lt;p&gt;Ecco qualche riga di codice.&lt;/p&gt;  &lt;p&gt;La pagina ASPX, innanzitutto, almeno le &amp;#8220;parti salienti&amp;#8221;:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;%@ Page Inherits=&amp;quot;Microsoft.SharePoint.WebPartPages.WebPartPage&amp;quot; MasterPageFile=&amp;quot;~masterurl/default.master&amp;quot; .... /&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;%@ Register Assembly=&amp;quot;Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; Namespace=&amp;quot;Microsoft.Office.InfoPath.Server.Controls&amp;quot; TagPrefix=&amp;quot;ip&amp;quot; %&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;%@ Register Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.WebPartPages&amp;quot; TagPrefix=&amp;quot;wss&amp;quot; %&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;asp:Content ID=&amp;quot;cntMain&amp;quot; runat=&amp;quot;server&amp;quot; ContentPlaceHolderID=&amp;quot;PlaceHolderMain&amp;quot;&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;div&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;ip:XmlFormView ID=&amp;quot;frmViewer&amp;quot; runat=&amp;quot;server&amp;quot; Height=&amp;quot;100%&amp;quot; Width=&amp;quot;100%&amp;quot; &amp;#8230; /&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;/div&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;/asp:Content&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Manca qualche &amp;#8220;piccolo pezzo&amp;#8221;, per dirne un il path del form template (o del documento InfoPath). Vi rimando alla &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.server.controls.xmlformview.aspx" target="_blank"&gt;documentazione del controllo XmlFormView&lt;/a&gt; su &lt;a href="http://msdn.microsoft.com/en-us/library/aa701078.aspx" target="_blank"&gt;MSDN&lt;/a&gt; per ogni informazione riguardante i parametri necessari a mostrare documenti InfoPath al suo interno.&lt;/p&gt;  &lt;p&gt;Scrivo qui, invece, l&amp;#8217;&lt;i&gt;element manifest&lt;/i&gt; di una feature che effettua, una volta attivata, il provisioning della page instance:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Elements xmlns=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;Module Path=&amp;quot;PageTemplatePathOnFileSystem&amp;quot; Url=&amp;#8221;PageInstanceUrl&amp;#8221;&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;File Url=&amp;quot;FormViewer.aspx&amp;quot; Type=&amp;quot;Ghostable&amp;quot;&amp;gt;&amp;lt;/File&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;/Module&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;/Elements&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;L&amp;#8217;attributo Path indica il percorso, sul file system del front-end e relativo alla directory della feature, a partire dal quale verr&amp;#224; copiato il file FormViewer.aspx.&lt;/p&gt;  &lt;p&gt;L&amp;#8217;attributo URL specifica, invece, il suo percorso relativo alla root del sito web sul quale la feature viene attivata.&lt;/p&gt;  &lt;p&gt;Con un po&amp;#8217; di lavoro in pi&amp;#249; (non molto, alla fine) &amp;#232; infine possibile &amp;#8220;parametrizzare&amp;#8221; la pagina, valorizzando quindi le propriet&amp;#224; del controllo XmlFormView in maniera dinamica ed ottenendo, alla fine dei giochi, una pagina generica e riutilizzabile.&lt;/p&gt;  &lt;p&gt;Voila. Enjoy InfoPath :-)&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18500" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/InfoPath/default.aspx">InfoPath</category></item><item><title>Dryad, concorrenza e rielaborazione</title><link>http://blogs.devleap.com/devlizard/archive/2008/06/12/dryad-concorrenza-e-rielaborazione.aspx</link><pubDate>Thu, 12 Jun 2008 19:01:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18496</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18496</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/06/12/dryad-concorrenza-e-rielaborazione.aspx#comments</comments><description>&lt;p&gt;Visto &lt;a href="http://blogs.ugidotnet.org/piyo/archive/2008/05/07/la-piu-orripilante-traduzione-in-italiano-di-sempre.aspx" target="_blank"&gt;l&amp;#39;effetto delle traduzioni&lt;/a&gt;, non mi cimento e mi limito al copia e incolla.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Dryad&lt;/strong&gt; is a general-purpose distributed execution engine for &lt;br /&gt;coarse-grain data-parallel applications. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A Dryad application combines computational “vertices” with communication “channels” to form a dataflow graph. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Dryad runs the application by executing the vertices of this graph on a set of available computers, communicating as appropriate through files, TCP pipes, and shared-memory FIFOs. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The vertices provided by the application developer are quite simple and are usually written as sequential programs with no thread creation or locking. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concurrency arises from Dryad scheduling vertices to run simultaneously on multiple computers, or on multiple CPU cores within a computer. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The application can discover the size and placement of data at run time, and modify the graph as the computation progresses to make efficient use of the available resources.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Potete leggere di più (non molto a dire il vero) sul sito di &lt;a href="http://research.microsoft.com/" target="_blank"&gt;MSR&lt;/a&gt; &lt;a href="http://research.microsoft.com/research/sv/dryad/" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Non è certo una scoperta che l&amp;#39;investimento (ricerca, studio, progettazione) sulla &lt;strong&gt;programmazione concorrente&lt;/strong&gt; sia *la* direzione corrente e futura (prossima e forse non tanto prossima). &lt;/p&gt;
&lt;p&gt;Quello che è interessante, a mio parere, è il fatto che (almeno dal punto di vista teorico) gli studi e gli esempi di architettura parallela applicata alle tecniche di programmazione datino, a volte, indietro di qualche decade.&lt;/p&gt;
&lt;p&gt;Però sfruttare i principi e le idee di tecnologie o soluzioni precedenti non significa non poterle (o doverle ?) &lt;strong&gt;rielaborare&lt;/strong&gt; sulla base dell&amp;#39;avanzamento tecnologico attuale.&lt;/p&gt;
&lt;p&gt;E sennò da dove saltava fuori &lt;a href="http://research.microsoft.com/research/sv/DryadLINQ/" target="_blank"&gt;DryadLINQ&lt;/a&gt; :-P&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18496" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/Concurrency/default.aspx">Concurrency</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>SPContentDatabase e CLS *non* Compliance</title><link>http://blogs.devleap.com/devlizard/archive/2008/06/08/spcontentdatabase-e-cls-non-compliance.aspx</link><pubDate>Sun, 08 Jun 2008 06:18:42 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18488</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18488</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/06/08/spcontentdatabase-e-cls-non-compliance.aspx#comments</comments><description>&lt;p&gt;Durante la creazione di uno script &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx" target="_blank"&gt;PowerShell&lt;/a&gt; di &amp;quot;dumping&amp;quot; di una site collection, sono incappato in un errore che mi ha incuriosito.&lt;/p&gt;  &lt;p&gt;Nel tentativo di accedere alla property &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.contentdatabase.aspx" target="_blank"&gt;ContentDatabase&lt;/a&gt; di un&amp;#39;istanza di &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.aspx" target="_blank"&gt;SPSite&lt;/a&gt;, la shell mi ha risposto picche con il seguente errore:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;PS D:\Users\clu&amp;gt; $site.ContentDatabase      &lt;br /&gt;out-lineoutput : The field/property: &amp;quot;Id&amp;quot; for type: &amp;quot;Microsoft.SharePoint.Administration.SPContentDatabase&amp;quot; differs only in case from the field/property: &amp;quot;ID&amp;quot;. Failed to use non CLS compliant type.       &lt;br /&gt;PS D:\Users\clu&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Mmhhh ... senti senti ... vuoi mica dire ...&lt;/p&gt;  &lt;p&gt;Per garantire l&amp;#39;operabilit&amp;#224; tra linguaggi che &lt;em&gt;targetizzano &lt;/em&gt;il .NET Framework, &amp;#232; stato definito un insieme di regole, che vanno sotto il nome di &lt;a href="http://msdn.microsoft.com/en-us/library/12a7a7h3.aspx" target="_blank"&gt;Common Language Specifications&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Rispettando tali regole (non &amp;#232; difficile ... i compilatori ci danno una mano in questi casi) gli autori di librerie possono essere certi che i tipi che definiscono saranno utilizzabili senza problemi da *qualsiasi* linguaggio usi il client.&lt;/p&gt;  &lt;p&gt;Per fare un esempio, C# supporta i tipi pointer, che per&amp;#242; non sono CLS-Compliant. Inutile esporli pubblicamente se, poi, &amp;#232; richiesta l&amp;#39;interoperabilit&amp;#224; :-)&lt;/p&gt;  &lt;p&gt;C&amp;#39;&amp;#232; un&amp;#39;altra regola, forse la pi&amp;#249; nota di tutte, che impone di assegnare nomi differenti ai membri (overload a parte), senza considerare maiuscole e minuscole.&lt;/p&gt;  &lt;p&gt;Le verifiche, chiaramente, si applicano solamente all&amp;#39;interfaccia che il tipo espone al chiamante (quindi ai membri public e protected). &lt;/p&gt;  &lt;p&gt;In C#, ad esempio, &amp;#232; molto frequente uno stile di codifica che utilizza camelCasing per i campi privati e PascalCasing per le propriet&amp;#224; pubbliche che li incapsulano, e il tutto &amp;#232; perfettamente lecito.&lt;/p&gt;  &lt;p&gt;Per curiosit&amp;#224; ecco la definizione di SPContentDatabase (snapshots courtesy of Reflector).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spcontentdatabase.aspx" target="_blank"&gt;SPContentDatabase&lt;/a&gt; ha la seguente catena di ereditariet&amp;#224;:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img src="http://farm4.static.flickr.com/3083/2560461170_392b722476_o.jpg" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Definisce un campo pubblico ID, di tipo System.Guid:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3076/2560469562_ae36ed871d_o.jpg" alt="" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Ma &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.sppersistedobject.aspx" target="_blank"&gt;SPPersistedObject&lt;/a&gt; (tre livelli di ereditariet&amp;#224; sopra) definisce a sua volta un membro pubblico, Id, di tipo System.Guid:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3170/2560476044_21fa3efa41_o.jpg" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Andando a spulciare il body del getter di &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spcontentdatabase.id.aspx" target="_blank"&gt;SPContentDatabase::Id&lt;/a&gt; (minuscolo) ... indovinate un po&amp;#39; che valore ritorna ? (Vedere penultima immagine).&lt;/p&gt;  &lt;p&gt;In realt&amp;#224; il caso &amp;#232; ancora pi&amp;#249; interessante perch&amp;#232;, nella documentazione di SPContentDatabase::ID, il membro &amp;#232; indicato come obsolete. Era presente nell&amp;#39;OM di WSS2.0, ora consigliano di usare la property Id (minuscolo) della classe base.&lt;/p&gt;  &lt;p&gt;Dicevo interessante perch&amp;#232; &amp;#232; un esempio delle scelte che si trova ad affrontare chi rilascia la v2 dei propri componenti (a maggior ragione quando gli utilizzatori sono piuttosto numerosi :-)).&lt;/p&gt;  &lt;p&gt;Eliminare la propriet&amp;#224;, a questo punto ridondante, da SPContentDatabase sarebbe stata la soluzione pi&amp;#249; pulita e avrebbe garantito la CLS compliance.&lt;/p&gt;  &lt;p&gt;Ma avrebbe di fatto &amp;quot;rotto&amp;quot; la retrocompatibilit&amp;#224;.&lt;/p&gt;  &lt;p&gt;Ho fatto un giro per leggere quali sono i commenti a riguardo. &lt;a href="http://www.nivot.org/2007/10/24/NonCLSCompliantTypesInPowerShell.aspx" target="_blank"&gt;Qui&lt;/a&gt; ad esempio, con annessa indicazione di un modo per circumnavigare il problema. Viene proposto di utilizzare GetMethod per invocare il getter (il metodo get_ID) di SPContentDatabase::ID.&lt;/p&gt;  &lt;p&gt;E&amp;#39; chiaro che andando di reflection molte questioni si riescono a risolvere (e se &amp;#232; per quello, ad avere i diritti, si riescono tranquillamente ad invocare metodi privati o a cambiare lo stato interno degli oggetti).&lt;/p&gt;  &lt;p&gt;Per&amp;#242; ... &amp;#232; proprio una cura del sintomo :-(&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18488" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Do Less. Get More. Develop on SharePoint :-)</title><link>http://blogs.devleap.com/devlizard/archive/2008/06/05/do-less-get-more-develop-on-sharepoint.aspx</link><pubDate>Wed, 04 Jun 2008 22:15:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18479</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18479</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/06/05/do-less-get-more-develop-on-sharepoint.aspx#comments</comments><description>&lt;p&gt;Dal &lt;a href="http://blogs.msdn.com/sharepoint/default.aspx" target="_blank"&gt;blog&lt;/a&gt; del team di SharePoint l&amp;#39;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/06/04/announcing-the-vsewss-version-1-2.aspx" target="_blank"&gt;annuncio&lt;/a&gt;(*) fresco fresco dell&amp;#39;apertura di un sito (&lt;a href="http://www.mssharepointdeveloper.com/"&gt;&lt;strong&gt;http://www.mssharepointdeveloper.com/&lt;/strong&gt;&lt;/a&gt;) che mette a disposizione risorse introduttive allo sviluppo su piattaforma SharePoint (WSS3/MOSS2007):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;There are Whitepapers, Virtual Labs, Web casts, Screen casts, Quickstarts &amp;amp; other resources.&amp;nbsp; You can also download a SharePoint development VPC with all the tools you need to get started already installed&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Al di là del look&amp;amp;feel accattivante, rigorosamente Silverlight-style, direi che è da tenere d&amp;#39;occhio, in particolare per chi si avvicina a SharePoint e ne vuole almeno &amp;quot;assaggiare&amp;quot; qualche aspetto.&lt;/p&gt;
&lt;p&gt;(*) Della disponibilità di VSeWSS 1.2 per Visual Studio 2008, altro argomento del post in questione, ha appena scritto &lt;a href="http://blogs.devleap.com/paolo/default.aspx" target="_blank"&gt;Paolo&lt;/a&gt;, quindi vi rimando al &lt;a href="http://blogs.devleap.com/paolo/archive/2008/06/04/visual-studio-2008-extensions-for-windows-sharepoint-services.aspx" target="_blank"&gt;suo post&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18479" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>WordML e Revision ID</title><link>http://blogs.devleap.com/devlizard/archive/2008/06/03/wordml-e-revision-id.aspx</link><pubDate>Tue, 03 Jun 2008 17:49:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18471</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18471</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/06/03/wordml-e-revision-id.aspx#comments</comments><description>&lt;p&gt;Oggi da un cliente, più o meno 12 secondi dopo aver varcato la soglia, mi è stata fatta una domanda che sul momento mi ha lasciato piuttosto perplesso. &lt;/p&gt;
&lt;p&gt;&amp;quot;Perchè quando modifico il testo in un documento Word (*) il valore aggiunto non viene semplicemente appeso al termine del precedente, ma tra i due viene frapposto del contenuto ?&amp;quot;&lt;/p&gt;
&lt;p&gt;Contestualizzo un minimo.&lt;/p&gt;
&lt;p&gt;Il documento in questione è &lt;a href="http://msdn.microsoft.com/en-us/library/aa212812(office.11).aspx" target="_blank"&gt;WordML&lt;/a&gt;, utilizzato come formato nella generazione (via XSL) di documenti Word a partire da moduli InfoPath (niente document converters, nè OpenXML, nè tanto meno word print view causa necessità di compatibilità con Forms Services).&lt;/p&gt;
&lt;p&gt;Il contenuto testuale di origine:&lt;/p&gt;
&lt;p&gt;&amp;lt;w:p wsp:rsidR=&amp;quot;00E57442&amp;quot; wsp:rsidRDefault=&amp;quot;00434E2F&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;w:r&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:t&amp;gt;&lt;strong&gt;Ciao&lt;/strong&gt;&amp;lt;/w:t&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/w:r&amp;gt; &lt;br /&gt;&amp;lt;/w:p&amp;gt; &lt;/p&gt;
&lt;p&gt;dopo una semplice modifica, si trasforma in:&lt;/p&gt;
&lt;p&gt;&amp;lt;w:p wsp:rsidR=&amp;quot;00E57442&amp;quot; wsp:rsidRDefault=&amp;quot;00434E2F&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;w:r&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:t&amp;gt;&lt;strong&gt;Ciao&lt;/strong&gt;&amp;lt;/w:t&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/w:r&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;w:r wsp:rsidR=&amp;quot;00C2519A&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:t&amp;gt;&lt;strong&gt; &lt;font color="#ff8040"&gt;a Tutti&lt;/font&gt;&lt;/strong&gt;&amp;lt;/w:t&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/w:r&amp;gt; &lt;br /&gt;&amp;lt;/w:p&amp;gt; &lt;/p&gt;
&lt;p&gt;Il che rende *un po&amp;#39; scomodo*, ad esempio, il find and replace di turno :-)&lt;/p&gt;
&lt;p&gt;In altri termini, a priori mi sarei aspettato una versione due come segue:&lt;/p&gt;&amp;lt;w:p wsp:rsidR=&amp;quot;00E57442&amp;quot; wsp:rsidRDefault=&amp;quot;00434E2F&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;w:r&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:t&amp;gt;&lt;strong&gt;Ciao &lt;font color="#ff8040"&gt;a tutti&lt;/font&gt;&lt;/strong&gt;&amp;lt;/w:t&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;lt;/w:r&amp;gt; &lt;br /&gt;&amp;lt;/w:p&amp;gt; 
&lt;p&gt;Il motivo di questo comportamento, almeno per me, inaspettato è spiegato nel dettaglio in &lt;a href="http://blogs.msdn.com/brian_jones/archive/2006/12/11/what-s-up-with-all-those-rsids.aspx" target="_blank"&gt;questo post&lt;/a&gt; di Brian Jones.&lt;/p&gt;
&lt;p&gt;Ne riassumo in due righe il significato, rimandando ogni approfondimento direttamente alla fonte.&lt;/p&gt;
&lt;p&gt;Word memorizza dei revision identifiers (RSIDs), indipendentemente dal fatto che la funzionalità di &lt;em&gt;track changes&lt;/em&gt; sia o meno abilitata sul documento in questione. Tali id sono numeri casuali e non contengono, per ragioni di sicurezza, alcuna indicazione che consenta di risalire all&amp;#39;utente che ha apportato le modifiche. Risultano utili nel caso di fork delle modifiche sui documenti, poichè eventuali merge successivi si riducono ad una indagine sulle &lt;em&gt;revisioni&lt;/em&gt; (memorizzate come attributo nel documento stesso).&lt;/p&gt;
&lt;p&gt;Bello. E se non lo voglio ?&lt;/p&gt;
&lt;p&gt;Dalle opzioni del Trust Center (sia in Word 2003 che in Word 2007), Privacy Options e deselezione del check &amp;quot;Store random numbers to improve Combine accuracy&amp;quot;.&lt;/p&gt;
&lt;p&gt;Credits a Vittorio e a Mattia per la segnalazione (e per l&amp;#39;aver individuato in tempi brevi il workaround :-P).&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18471" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.devleap.com/devlizard/archive/tags/InfoPath/default.aspx">InfoPath</category></item><item><title>SharePoint su Vista, prime considerazioni e Carpe Diem</title><link>http://blogs.devleap.com/devlizard/archive/2008/05/29/sharepoint-su-vista-prime-considerazioni-e-carpe-diem.aspx</link><pubDate>Thu, 29 May 2008 21:10:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18468</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18468</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/05/29/sharepoint-su-vista-prime-considerazioni-e-carpe-diem.aspx#comments</comments><description>&lt;p&gt;Dopo qualche (rapida e poco significativa) prova su virtual machine, ho installato MOSS sul mio sistema host (Vista Ultimate sp1).&lt;/p&gt;
&lt;p&gt;Le prime impressioni sono direi piuttosto positive. Solo un piccolo workaround, peraltro già noto e documentato (&lt;a href="http://www.harbar.net/archive/2007/04/04/Pesky-DCOM-10016-Errors.aspx" target="_blank"&gt;qui&lt;/a&gt;), e per il resto non ho ancora trovato particolari ostacoli.&lt;/p&gt;
&lt;p&gt;Almeno per quel che riguarda un ambiente dedicato *solo* alla prova volante.&lt;/p&gt;
&lt;p&gt;Non è solo uno sfizio quello di avere a portata di click un sistema ad uso &lt;em&gt;quick test&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Ad esempio, a me capita ogni tanto di avere qualche idea di risoluzione di un problema senza avere un Visual Studio aperto su VM con MOSS installato (ehm ... forse meno spesso di quanto dovrebbe :-)).&lt;/p&gt;
&lt;p&gt;Ora, se vogliamo aggiungere alla fuggevolezza dell&amp;#39;attimo anche quel minuto o due che servono a tirar su una macchina virtuale ed essere in condizioni di tradurre l&amp;#39;idea in mock-up ... &lt;/p&gt;
&lt;p&gt;Credo che la rapidità di accesso alle funzionalità di un sistema abbia un valore enorme nel momento in cui consente di &amp;quot;cogliere l&amp;#39;attimo&amp;quot;.&lt;/p&gt;
&lt;p&gt;Mi viene in mente un paragone, un po&amp;#39; stiracchiato, con la scrittura al PC vs. la scrittura su carta.&lt;/p&gt;
&lt;p&gt;Personalmente uso ormai da anni il computer per scrivere. *Quasi* tutto. Rimangono fuori le cose che escono più di getto. Su quelle la carta è ancora imbattibile.&lt;/p&gt;
&lt;p&gt;Perchè ? &lt;/p&gt;
&lt;p&gt;E&amp;#39; un giudizio personale, ma la ritengo ancora un mezzo più immediato. E qualche piccola frazione di secondo può fare la differenza.&lt;/p&gt;
&lt;p&gt;Quello che scrivo su carta, nel momento in cui dovrà essere formalizzato, verrà trasportato su formato elettronico. Nessun dubbio a riguardo, non fosse altro che per una questione di leggibilità e di correttezza sintattica.&lt;/p&gt;
&lt;p&gt;Dello scritto originale rimane il significato. La forma ... può darsi, non necessariamente. Una revisione ? Sempre e comunque.&lt;/p&gt;
&lt;p&gt;Lo stesso approccio credo possa essere usato per gli ambienti di &lt;em&gt;quick test&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Ottimi per catturare le intenzioni dell&amp;#39;autore / sviluppatore.&lt;/p&gt;
&lt;p&gt;Ma probabilmente sconsigliabili se il prodotto del test deve essere, in qualche modo, significativo o semplicemente (un minimo) affidabile.&lt;/p&gt;
&lt;p&gt;A conclusione, e per ritornare un po&amp;#39; più on-topic, trovo che la disponibilità di un sistema SharePoint installato sulla macchina di lavoro (per chi ci lavora :-)) sia estremamente interessante. Altri discorsi (ristrutturazione degli ambienti e dei processi di sviluppo) potranno essere affrontati quando il supporto sarà maggiore.&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18468" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Modificare il web.config di applicazioni SharePoint per il supporto ad ASP.NET 3.5 e Silverlight, via feature</title><link>http://blogs.devleap.com/devlizard/archive/2008/05/28/modificare-il-web-config-di-applicazioni-sharepoint-per-il-supporto-ad-asp-net-3-5-e-silverlight-via-feature.aspx</link><pubDate>Wed, 28 May 2008 21:27:50 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18463</guid><dc:creator>devlizard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18463</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/05/28/modificare-il-web-config-di-applicazioni-sharepoint-per-il-supporto-ad-asp-net-3-5-e-silverlight-via-feature.aspx#comments</comments><description>&lt;p&gt;Patrick Tisseghem &lt;a href="http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?List=91f6455c%2D4448%2D4303%2D8a38%2Db1722e1522d1&amp;amp;ID=1794" target="_blank"&gt;illustra in questo post&lt;/a&gt; i passi necessari per configurare una web application SharePoint all&amp;#39;uso dei &lt;a href="http://www.ssblueprints.net/sharepoint/" target="_blank"&gt;Silverlight Blueprints for SharePoint&lt;/a&gt; [sorry per le ripetizioni].&lt;/p&gt; &lt;p&gt;Vorrei segnalare a tal riguardo un&amp;#39;aggiunta alla &amp;quot;suite&amp;quot; di features che &lt;a href="http://scothillier.spaces.live.com/blog/" target="_blank"&gt;Scot Hillier&lt;/a&gt; (&lt;a href="http://www.codeplex.com/features/People/ProjectPeople.aspx" target="_blank"&gt;&amp;amp; c.&lt;/a&gt;) sviluppa e distribuisce su Codeplex (&lt;a href="http://www.codeplex.com/features" target="_blank"&gt;qui&lt;/a&gt;), tramite la quale è possibile apportare le modifiche al web.config in maniera automatica (e facilmente reversibile).&lt;/p&gt; &lt;p&gt;W le &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx" target="_blank"&gt;SPWebConfigModification&lt;/a&gt;s :-)&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18463" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>E SharePoint giro' su Vista :-)</title><link>http://blogs.devleap.com/devlizard/archive/2008/05/25/e-sharepoint-giro-su-vista.aspx</link><pubDate>Sun, 25 May 2008 11:20:00 GMT</pubDate><guid isPermaLink="false">723bc1d7-e66b-4192-854d-44fd94d7f9a3:18457</guid><dc:creator>devlizard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.devleap.com/devlizard/rsscomments.aspx?PostID=18457</wfw:commentRss><comments>http://blogs.devleap.com/devlizard/archive/2008/05/25/e-sharepoint-giro-su-vista.aspx#comments</comments><description>&lt;p&gt;&lt;img height="397" src="http://farm3.static.flickr.com/2397/2521032436_f414323009.jpg" width="700" border="0" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3143/2520213955_1550e673ff_o.jpg" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Questi qui sopra non sono opera di Photoshop, e oggi non è il primo di aprile ...&lt;/p&gt;
&lt;p&gt;Leggendo un po&amp;#39; i post &amp;quot;arretrati&amp;quot; della settimana sono finito su &lt;a href="http://community.bamboosolutions.com/" target="_blank"&gt;Bamboo Nation&lt;/a&gt; e chiaramente un titolo quale&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&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" target="_blank"&gt;&lt;strong&gt;How to install Windows SharePoint Services 3.0 SP1 on Vista x64/x86&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;ha *un pochino* attirato l&amp;#39;attenzione.&lt;/p&gt;
&lt;p&gt;Con ordine ...&lt;/p&gt;
&lt;p&gt;Il team di Bamboo Solutions ha sviluppato un &lt;strong&gt;&lt;em&gt;preinstaller&lt;/em&gt;&lt;/strong&gt; che consente l&amp;#39;installazione di WSS (con Service Pack 1) su sistemi Vista (x86 e x64).&lt;/p&gt;
&lt;p&gt;&amp;lt;Disclaimer&amp;gt;&lt;/p&gt;
&lt;p&gt;Il prodotto è ancora in versione beta (quindi non è consigliato l&amp;#39;utilizzo in ambienti di produzione). Inutile aggiungere che non esiste, ad oggi, alcun supporto da parte di Microsoft.&lt;/p&gt;
&lt;p&gt;&amp;lt;/Disclaimer&amp;gt;&lt;/p&gt;
&lt;p&gt;Ho scaricato il tool (link diretto &lt;a href="http://community.bamboosolutions.com/media/p/193.aspx" target="_blank"&gt;qui&lt;/a&gt;) ed ho provato il tutto su una macchina virtuale nuova di zecca, con Vista Business (tra l&amp;#39;altro senza sp1).&lt;/p&gt;
&lt;p&gt;L&amp;#39;installazione non ha dato problemi particolari. Vi rimando al post che ho segnalato per tutti i dettagli (compresa la configurazione di IIS, ovviamente necessaria).&lt;/p&gt;
&lt;p&gt;E quindi ? Cosa cambia ?&lt;/p&gt;
&lt;p&gt;Personalmente faccio due considerazioni (con ottiche temporali differenti).&lt;/p&gt;
&lt;p&gt;Nel breve (speriamo brevissimo :-)) periodo, durante il quale il tool è ancora in beta, si tratta secondo me di giocarci un po&amp;#39;, con lo scopo di dare tutti i feedback possibili al team che ne sta portando avanti lo sviluppo. Non vedo ancora proponibile l&amp;#39;adozione di alcuna soluzione (neanche lo sviluppo) in questa fase transitoria.&lt;/p&gt;
&lt;p&gt;Ma nel momento in cui il prodotto si stabilizza ... beh ... allora si inizia a ragionare !&lt;/p&gt;
&lt;p&gt;Il più grosso vantaggio, a mio parere, è nella possibilità di utilizzare Vista come sistema operativo per i computer di sviluppo, senza la necessità di ricorrere all&amp;#39;utilizzo di macchine virtuali (con Windows Server 2003/2008). Non fosse altro che per poter &amp;quot;provare al volo&amp;quot; una personalizzazione o verificare il comportamento del sistema in tempi rapidi (e magari senza dover attaccare il disco esterno :-))&lt;/p&gt;
&lt;p&gt;Ah, le ultime due note che mi sono venute in mente scrivendo.&lt;/p&gt;
&lt;p&gt;1) No, non è una buona notizia perchè così si possono mettere in produzione installazioni di SharePoint che girano su Vista (che *non è* e di sicuro *non diventa* un sistema operativo server !!)&lt;/p&gt;
&lt;p&gt;2) No, non aspettatevi la versione per XP. E non per cattiveria, ma perchè la versione di IIS che gira su XP (5.1) è caratterizzata da un&amp;#39;architettura interna e da un process model esposto alle applicazioni che non è sufficiente per consentire a SharePoint di essere eseguito. Gli application pool a qualcosa serviranno bene, o no ? :-P&lt;/p&gt;&lt;img src="http://blogs.devleap.com/aggbug.aspx?PostID=18457" width="1" height="1"&gt;</description><category domain="http://blogs.devleap.com/devlizard/archive/tags/SharePoint/default.aspx">SharePoint</category></item></channel></rss>