<?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: MCMS 2002</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>2005-11-10T0:4:26+01:00</modified><author><name>Marchi Giuseppe</name><url>http://www.peppedotnet.it/Blog/</url></author><entry><title>MCMS Service Pack 2</title><id>/Blog/MCMS_SP2.aspx</id><created>2005-11-10T0:4:26+01:00</created><content type="text/html" mode="escaped">Ieri è stato rilasciato il service pack 2 per Microsoft Content Management Server 2002.
&lt;br /&gt;Oltre alla correzione di un pò di bug (potete trovare la lista completa &lt;a href="http://support.microsoft.com/kb/894691" title="Lista completa bug corretti da SP2"&gt;qui&lt;/a&gt;), è stato inoltre aggiunto il supporto per:&lt;ul&gt;&lt;li&gt;ASP.NET 2.0 (e in generale per tutto il .NET Framework 2.0)&lt;/li&gt;&lt;li&gt;Visual Studio .NET 2005&lt;/li&gt;&lt;li&gt;Sql Server 2005&lt;/li&gt;&lt;/ul&gt;Ecco l'url per il download:
&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3de1e8f0-d660-4a2b-8b14-0fce961e56fb&amp;DisplayLang=en" title="Download Service Pack 2 for MCMS 2002"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=3de1e8f0-d660-4a2b-8b14-0fce961e56fb&amp;DisplayLang=en&lt;/a&gt;</content><link rel="alternate" type="text/html" href="/Blog/MCMS_SP2.aspx" /><issued>2005-11-10T0:4:26+01:00</issued><modified>2005-11-10T0:4:26+01:00</modified></entry><entry><title>MCMS Manager</title><id>/Blog/Mcms_manager.aspx</id><created>2005-7-7T19:16:29+01:00</created><content type="text/html" mode="escaped">Ho trovato un'interessantissima applicazione che copre le mancanze e i limiti del Site Manager di Microsoft Content Management Server, si chiama &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp" title="MCMS Manager"&gt;MCMS Manager&lt;/a&gt; e la si può scaricare sia da &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp" title="MCMS Manager @ CodeProject"&gt;CodeProject&lt;/a&gt; che da &lt;a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=2E2E69A3-811D-401D-92FB-C3DA9D01A83C" title="MCMS Manager @ GotDotNet"&gt;GotDotNet&lt;/a&gt;.
&lt;br /&gt;E' un applicazione splendida che permette la modifica di posting, template properties e resources già pubblicate nel sito cms, senza accedere ai web tool come Resource Manager.
&lt;br /&gt;Non vedo l'ora di provarlo.</content><link rel="alternate" type="text/html" href="/Blog/Mcms_manager.aspx" /><issued>2005-7-7T19:16:29+01:00</issued><modified>2005-7-7T19:16:29+01:00</modified></entry><entry><title>Recuperare il contenuto di un placeholder di un altro posting</title><id>/Blog/Recuperare_contenuto_placeholder_remoto.aspx</id><created>2005-6-18T13:33:39+01:00</created><content type="text/html" mode="escaped">&lt;a href="http://www.microsoft.com/cmserver/default.aspx" title="Content Manaement Server"&gt;Content Management Server&lt;/a&gt; è il sistema di "Content Management" della Microsoft basato su template; uno strumento decisamente potente che permette agli sviluppatori di preparare delle pagine pre-definite, con un layout di base, pronte da essere "riempite" da utenti con relativi permessi, in maniera del tutto visuale.
&lt;br /&gt;Lo sviluppatore non deve far altro che definire dei PlaceHolder all'interno dei suoi template, e definirne il tipo di contenuto. Sarà poi l'utente finale a creare la nuova pagina (chiamata "Posting") e ad inserirci il contenuto vero e proprio (che può essere testo, immagini o allegati di vario genere ...).
&lt;br /&gt;
&lt;br /&gt;Una funzionalità che a me personalmente è servita molto, è quella di recuperare il contenuto di un placeholder presente in un differente posting da quello corrente. Per esempio ci potrebbe servire di stampare in home page un testo che è presente anche in un altra sezione del sito.
&lt;br /&gt;Per far ciò, bisogna recuperare il posting che contiene il placeholder scelto, creare un placeholder "astratto" (nel senso che ci serve solamente per recuperare il contenuto di quello prescelto) e recuperarne al suo interno, tutte le informazioni che ci servono (nel nostro caso, ci basta stampare il contenuto della proprietà "Html").
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;VB.NET&lt;/b&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;Dim&lt;/span&gt; posting &lt;span style="color: #0000FF"&gt;As&lt;/span&gt; Posting&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;'path del posting da recuperare&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF"&gt;Dim&lt;/span&gt; path &lt;span style="color: #0000FF"&gt;As&lt;/span&gt; &lt;span style="color: #0000FF"&gt;String&lt;/span&gt; = &lt;span style="color: #848284"&gt;"Channels/SubChannel/PostingName"&lt;/span&gt;
&lt;br /&gt;posting = &lt;span style="color: #0000FF"&gt;Me&lt;/span&gt;.CmsContext.Searches.GetByPath(path)
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;'Creo un placeholder astratto&lt;/span&gt;
&lt;span style="color: #0000FF"&gt;Dim&lt;/span&gt; abstractPlaceHolder &lt;span style="color: #0000FF"&gt;As&lt;/span&gt; Extensions.Placeholders.HtmlPlaceholder
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;'Recupero il placeholder scelto, tramite il nome della sua definizione&lt;/span&gt;
abstractPlaceHolder = posting.Placeholders(&lt;span style="color: #848284"&gt;"PlaceHolderDefinition_name"&lt;/span&gt;)
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;If&lt;/span&gt; &lt;span style="color: #0000FF"&gt;Not&lt;/span&gt; abstractPlaceHolder &lt;span style="color: #0000FF"&gt;Is&lt;/span&gt; &lt;span style="color: #0000FF"&gt;Nothing&lt;/span&gt; &lt;span style="color: #0000FF"&gt;Then&lt;/span&gt;
&lt;br /&gt;    label.InnerHtml = abstractPlaceHolder.Html
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;End&lt;/span&gt; &lt;span style="color: #0000FF"&gt;If&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;C#&lt;/b&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;Posting posting;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//path del posting da recuperare&lt;/span&gt;
&lt;span style="color: #0000FF"&gt;string&lt;/span&gt; path = &lt;span style="color: #848284"&gt;"Channels/SubChannel/PostingName"&lt;/span&gt;;
&lt;br /&gt;posting = &lt;span style="color: #0000FF"&gt;this&lt;/span&gt;.CmsContext.Searches.GetByPath(path)
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//Creo un placeholder astratto&lt;/span&gt;
Extensions.Placeholders.HtmlPlaceholder abstractPlaceHolder;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #008200"&gt;//Recupero il placeholder scelto, tramite il nome della sua definizione&lt;/span&gt;
abstractPlaceHolder = posting.Placeholders[&lt;span style="color: #848284"&gt;"PlaceHolderDefinition_name"&lt;/span&gt;];
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: #0000FF"&gt;if&lt;/span&gt;(abstractPlaceHolder != &lt;span style="color: #0000FF"&gt;null&lt;/span&gt;)
&lt;br /&gt;    label.InnerHtml = abstractPlaceHolder.Html;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;E' da notare che questa tecnica ci da molti margini di personalizzazione del nostro sito CMS, sopratutto per quanto riguarda la dinamicità del contenuto, infatti, se questo viene cambiato nel posting "remoto", verrà automaticamente aggiornato anche nel posting corrente.</content><link rel="alternate" type="text/html" href="/Blog/Recuperare_contenuto_placeholder_remoto.aspx" /><issued>2005-6-18T13:33:39+01:00</issued><modified>2005-6-18T13:33:39+01:00</modified></entry></feed>