<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1166220361463020672</atom:id><lastBuildDate>Fri, 09 May 2025 14:13:07 +0000</lastBuildDate><category>sharepoint</category><category>2010</category><category>javascript</category><category>2007</category><category>document</category><category>microsoft</category><category>webpart</category><category>2013</category><category>google</category><category>jquery</category><category>designer</category><category>development</category><category>list</category><category>workflow</category><category>moss</category><category>office</category><category>column</category><category>multilanguage</category><category>ribbon</category><category>+1</category><category>android</category><category>api</category><category>button</category><category>css</category><category>filter</category><category>google plus</category><category>library</category><category>search</category><category>server</category><category>visual studio</category><category>custom action</category><category>ecmascript</category><category>personalizzazioni</category><category>powershell</category><category>social network</category><category>view</category><category>app</category><category>content</category><category>html</category><category>issue</category><category>lingua</category><category>lookup</category><category>personalizzato</category><category>plus</category><category>quick launch</category><category>sharepoint 15</category><category>stsadm</category><category>template</category><category>windows</category><category>wsp</category><category>caml</category><category>choice</category><category>contatti</category><category>custom control</category><category>deletion</category><category>deploy</category><category>document set</category><category>ecb</category><category>event receiver</category><category>exception</category><category>formfield</category><category>fotografia</category><category>images</category><category>instant</category><category>json</category><category>list menu</category><category>liste</category><category>market</category><category>menu contestuale</category><category>migrazione</category><category>nexus</category><category>office365</category><category>open new window</category><category>php</category><category>query</category><category>ricerca</category><category>system</category><category>threshold</category><category>update conflict</category><category>web</category><category>word</category><category>xp</category><category>.net</category><category>2011</category><category>Google voice</category><category>HRESULT</category><category>XML</category><category>access denied</category><category>afterproperties</category><category>aggiornamento</category><category>ajax</category><category>ajaxtoolkit</category><category>alert template</category><category>applicazione</category><category>approval status</category><category>appsgeyser</category><category>beforeproperties</category><category>blogger</category><category>c#</category><category>caratteri speciali</category><category>cartella</category><category>cascading</category><category>check all</category><category>check-in</category><category>check-out</category><category>client validation</category><category>conditional formatting</category><category>console</category><category>content query web part</category><category>convalida colonna</category><category>copia</category><category>copy</category><category>crash</category><category>crawl</category><category>crm</category><category>cross domain</category><category>cyotek</category><category>datagrid</category><category>datasource</category><category>deletionstatecode</category><category>demo</category><category>deployment</category><category>developer</category><category>doshare</category><category>email</category><category>error</category><category>errore</category><category>estrazione</category><category>feature</category><category>filename</category><category>flash</category><category>flickr</category><category>gadget</category><category>gallery</category><category>games</category><category>ghostscript</category><category>giovanni storti</category><category>gratis</category><category>group by</category><category>html 5</category><category>iTextSharp</category><category>iframe</category><category>immagini</category><category>initiation form</category><category>java sdk</category><category>jdk</category><category>juice</category><category>kb</category><category>librerie</category><category>lightbox</category><category>localizzazione</category><category>master page</category><category>migration</category><category>modal dialog</category><category>mouse</category><category>move</category><category>multiple</category><category>notification</category><category>pdf</category><category>people picker</category><category>permessi</category><category>pictures</category><category>pixel</category><category>pixeljuice</category><category>post</category><category>produzione</category><category>profilo</category><category>property is read-only</category><category>pubblicazione</category><category>public</category><category>publishing features</category><category>quota</category><category>recurrence</category><category>recursive</category><category>redirect</category><category>resx</category><category>resx editor</category><category>ripristino</category><category>rss</category><category>schedulazione</category><category>sdk</category><category>sharepoint 2007</category><category>sharepoint 2013</category><category>silverlight</category><category>site collection</category><category>site column</category><category>source</category><category>sposta</category><category>table</category><category>target audience</category><category>test</category><category>traduzioni</category><category>update</category><category>validazione</category><category>web application</category><category>webresource.axd</category><category>xslt</category><title>Web Dev Share Etc.</title><description>Web, Html, Css, Jquery, .NET, Sharepoint, Technology etc.</description><link>http://webdevshareetc.blogspot.com/</link><managingEditor>noreply@blogger.com (Giorgio Guerrieri)</managingEditor><generator>Blogger</generator><openSearch:totalResults>100</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-9015192107478492714</guid><pubDate>Thu, 22 Jul 2021 10:30:00 +0000</pubDate><atom:updated>2021-07-22T12:30:00.157+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">giovanni storti</category><category domain="http://www.blogger.com/atom/ns#">moss</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2007</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2013</category><category domain="http://www.blogger.com/atom/ns#">silverlight</category><category domain="http://www.blogger.com/atom/ns#">stsadm</category><title>SharePoint 2007, 2013, Silverlight! ... &quot;Non ce la faccio, troppi ricordi&quot;</title><description>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtIPYg6nc-GQ97WWqfsdX3VVlCIzC9zLUfLIbr5E6TR8Bv2j2umfAZ77OtlsJ54zyJm4pQFSLli8U4RD7XOWpqwup8Dd_zFxOYQpe3FX-xL9iHGxkIN2J7M2VhY7tBx0Nk-83-ffORnLa/s639/non-ce-la-faccio-troppi-ricordi-giovanni.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;326&quot; data-original-width=&quot;639&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtIPYg6nc-GQ97WWqfsdX3VVlCIzC9zLUfLIbr5E6TR8Bv2j2umfAZ77OtlsJ54zyJm4pQFSLli8U4RD7XOWpqwup8Dd_zFxOYQpe3FX-xL9iHGxkIN2J7M2VhY7tBx0Nk-83-ffORnLa/s16000/non-ce-la-faccio-troppi-ricordi-giovanni.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;Dopo una lunga pausa, ritrovo un po&#39; di tempo per questo blog.. confesso decisamente lasciato solo...&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;(Confesso che mi è anche capitato tra le mani per caso)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Blogger. Non pensavo neppure fosse ancora utilizzato e chissà se qualcuno leggerà queste righe.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Dovevo ancora abilitare l&#39;https, per fortuna andato con un semplice flag.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;E, addirittura, mi avvisano che &quot;mettiamo noi il banner per i cookies, ma tu controlla che ci sia: è una tua responsabilità&quot;. Che gentili!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Però è bello riprendere in mano materiale &quot;vintage&quot;. Ha il suo fascino e dà un senso di nostalgia.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Quella piacevole sensazione che senti maneggiando oggetti antichi ai mercatini o in solaio, materiali di altri tempi, che tanto fanno pensare alle madeleine di Proust (citazione classica, un must, per i post su ricordi e lacrimucce) o, più recente, ma neanche troppo (1997), a Giovanni Storti in auto, cantando e&amp;nbsp; piangendo &quot;troppi ricordi, non ce la faccio&quot;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;E la sensazione sarebbe molto più godibile, se non fosse che certi old-fashioned te li trovi quando cambi lavoro, nel 2021..&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;E scopri che si lotta per abbandonare &quot;vecchi amici&quot;..&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;430&quot; data-original-width=&quot;1188&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUDSL7gvX8Nlx0RpJ9dC2X3colEPthsWKmlg3TojCJqQHH7SiuBKMpRja6EbqmtpmiMZ5E0gMlLUY_TJQKAKIP50u6S6-q3c_v2Oo9hTT5gEW6S6sc2j8eWtsTvoE_VVUwKCL5N4aEUsu/w420-h152/Microsoft%252BSharePoint%252B2007.png&quot; width=&quot;420&quot; /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieSAM5ma15hMHJub5QexKozc6bQqrUYzD6gypmDWlr7kQ__Pmj4cHr3UEyXFUHGaLt6IwMTC3hU_Og-sVDSyFI_8ojdcpFgRsdPrlvSx8hU4GGxKs7HWofaOuHA4tX_SFTDWQl6Mo728VR/s1000/SharePoint-2013.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;500&quot; data-original-width=&quot;1000&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieSAM5ma15hMHJub5QexKozc6bQqrUYzD6gypmDWlr7kQ__Pmj4cHr3UEyXFUHGaLt6IwMTC3hU_Og-sVDSyFI_8ojdcpFgRsdPrlvSx8hU4GGxKs7HWofaOuHA4tX_SFTDWQl6Mo728VR/s320/SharePoint-2013.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;SharePoint 2007, SharePoint 2013 (ma questo in fondo è quasi ancora giovane).. per non parlare dei sistemi operativi che trovi sotto, i Sql Server e lo stile di alcune pagine..&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Ma l&#39;incontro più importante è stato lui, .. Silverlight!&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Lo so, non ci credevo neppure io, ma ci sono ancora tante applicazioni basate su Silverlight.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGhgYYZKL8uJToNlOvP7ZQQbi20vvyBoZQDbnYHhCpHgCtvQ05UImJUvlByurYQw4amJPaT8leQU45Zd5OqcUSl3H6WbTCcnZtitn7LMoOTVJmqkAP3ic4jA25mu2pjfCxAHh5NgYBehOB/s640/b2ap3_medium_silverlight.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;360&quot; data-original-width=&quot;640&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGhgYYZKL8uJToNlOvP7ZQQbi20vvyBoZQDbnYHhCpHgCtvQ05UImJUvlByurYQw4amJPaT8leQU45Zd5OqcUSl3H6WbTCcnZtitn7LMoOTVJmqkAP3ic4jA25mu2pjfCxAHh5NgYBehOB/w400-h225/b2ap3_medium_silverlight.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Per fortuna, Microsoft in questo aiuta: grazie agli annunci di dismissione di Internet Explorer 11, della fine vita (ormai da mo&#39;) di MOSS e del termine del supporto a SP2013, ora si devono aprire le finestre, togliere i veli, scuotere via la polvere, far prendere aria e rimodernare un minimo.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Intanto, si parte da Silverlight.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Al momento l&#39;onore (?) di preparare un degno Addio al plugin è lasciato ad un fortunato fornitore. E devo dire, che è anche interessante vedere come stia riuscendo nell&#39;impresa. Bravi!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Quasi li invidio.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Ho detto &quot;quasi&quot;!&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;L&#39;obiettivo ora è riuscire ad allineare (almeno) le versioni, tutti sul SharePoint 2013 e poi si vedrà sul resto..&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Forse tornerò tra un paio d&#39;anni a scriverne l&#39;esito.. E non perché mi sarò nuovamente scordato del blog, ma perché probabilmente è quello il tempo che ci metteremo.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Se non mi sentite più.. sono invece rimasto sepolto sotto la polvere, a guardare le cartoline e le foto di un tempo, lanciando stsadm come non ci fosse un domani.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Per sempre.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A presto!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGSFfTDaZzUlk5cJRzbgV9HepDiRTKu48GrnP0RJl3vbgzzhSOLuKVfq3di-mFmnE46WwJnx7XE44JFKTyYK_HkU9LHNy6x1JiWlRVT-BWl7KNfYaCuuRCIfcQCj21SE2fwkhasOsCpSdz/s1688/Fotolia_52294792_Subscription_Monthly_M.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1125&quot; data-original-width=&quot;1688&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGSFfTDaZzUlk5cJRzbgV9HepDiRTKu48GrnP0RJl3vbgzzhSOLuKVfq3di-mFmnE46WwJnx7XE44JFKTyYK_HkU9LHNy6x1JiWlRVT-BWl7KNfYaCuuRCIfcQCj21SE2fwkhasOsCpSdz/w640-h426/Fotolia_52294792_Subscription_Monthly_M.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://webdevshareetc.blogspot.com/2021/07/sharepoint-2007-2013-silverlight-non-ce.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtIPYg6nc-GQ97WWqfsdX3VVlCIzC9zLUfLIbr5E6TR8Bv2j2umfAZ77OtlsJ54zyJm4pQFSLli8U4RD7XOWpqwup8Dd_zFxOYQpe3FX-xL9iHGxkIN2J7M2VhY7tBx0Nk-83-ffORnLa/s72-c/non-ce-la-faccio-troppi-ricordi-giovanni.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-4977453882718695043</guid><pubDate>Wed, 08 Apr 2015 09:15:00 +0000</pubDate><atom:updated>2015-04-08T11:24:14.401+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">moss</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">webresource.axd</category><title>SharePoint - Errore javascript nel file WebResource.axd </title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG7DsAtDSKL6hv7U_WjWOKgTHa1fgk6TLEZfTqq9OB2pceaCaRgraUAnH_gfUr5pSXB8tq7CDbrbAhxrKa7-NGdcpbFz5Za92ir19yep-wwlkzbiQjAW6qnI7oT-J3HJavJEez1IAm2lhX/s1600/6a0120a85dcdae970b0128776ffe23970c-pi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG7DsAtDSKL6hv7U_WjWOKgTHa1fgk6TLEZfTqq9OB2pceaCaRgraUAnH_gfUr5pSXB8tq7CDbrbAhxrKa7-NGdcpbFz5Za92ir19yep-wwlkzbiQjAW6qnI7oT-J3HJavJEez1IAm2lhX/s1600/6a0120a85dcdae970b0128776ffe23970c-pi.png&quot; height=&quot;133&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Non so dire perché, né spiegarlo o trovare traccia del motivo per cui si presenta, ma ogni tanto, non su tutti i browser, non a tutti gli utenti, e neppure allo stesso utente nella stessa sessione di navigazione, però in pagine particolarmente personalizzate lato client (tramite jquery e javascript di varia forma), viene fuori un errore javascript&lt;br /&gt;
&lt;br /&gt;
&#39;Event&#39; is undefined&lt;br /&gt;
&lt;br /&gt;
normalmente in una delle righe del file WebResource.axd.&lt;br /&gt;
In alcune circostanze, non è neppure bloccante, in altre invece blocca l&#39;esecuzione di altri javascript (soprattutto per browser datati, ad es IE7-8)&lt;br /&gt;
&lt;br /&gt;
Proviamo a risolvere o aggirare il problema.&lt;br /&gt;
&lt;br /&gt;
Eseguendo il debug di IE l&#39;errore non si presenta.&lt;br /&gt;
Il che dà conferma alla teoria che l&#39;osservazione modifica lo stato (fisica in background), ma non ci aiuta.&lt;br /&gt;
&lt;br /&gt;
Entrando però in debug al momento dell&#39;errore, ecco che abbiamo un&#39;eccezione in questa funzione, dentro il WebResource.axd (riga 184 circa):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;function Menu_HideItems(items) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (document.body.__oldOnClick) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.body.onclick = document.body.__oldOnClick;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.body.__oldOnClick = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Menu_ClearInterval();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;if (!items || ((typeof(items.tagName) == &quot;undefined&quot;) &amp;amp;&amp;amp; (items instanceof Event))) {&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items = __rootMenuItem;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mi sono fermato dal capirne i motivi: la funzione viene chiamata dall&#39;evento document.body.onclick, il che fa pensare che sia per chiudere eventuali menu aperti, tramite il click, o roba del genere.&lt;br /&gt;
Va bene. &lt;br /&gt;
Nella mia pagina, serve un evento del genere? Se la risposta è NO, allora aggiriamo con questo codice, che ho messo nel $(document).ready.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;//to prevent error on webresource.axd&lt;br /&gt;var oldMenu_HideItems = Menu_HideItems;&amp;nbsp;&amp;nbsp; &lt;br /&gt;if(oldMenu_HideItems)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Menu_HideItems = function(items)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return oldMenu_HideItems(items);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(err)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;} &lt;br /&gt;//&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Di fatto, ridefinisce la funzione, per recuperarla quando viene chiamata e poterla inserire in un try/catch.&lt;br /&gt;
Se la funzione non ha eccezioni, va, altrimenti, non fa nulla e non ho più errori javascript nella mia pagina.&lt;br /&gt;
&lt;br /&gt;
E via.</description><link>http://webdevshareetc.blogspot.com/2015/04/sharepoint-errore-javascript-nel-file.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG7DsAtDSKL6hv7U_WjWOKgTHa1fgk6TLEZfTqq9OB2pceaCaRgraUAnH_gfUr5pSXB8tq7CDbrbAhxrKa7-NGdcpbFz5Za92ir19yep-wwlkzbiQjAW6qnI7oT-J3HJavJEez1IAm2lhX/s72-c/6a0120a85dcdae970b0128776ffe23970c-pi.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-1717342904230093286</guid><pubDate>Fri, 30 Jan 2015 10:07:00 +0000</pubDate><atom:updated>2015-01-30T11:07:35.609+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">column</category><category domain="http://www.blogger.com/atom/ns#">document set</category><category domain="http://www.blogger.com/atom/ns#">issue</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 15</category><title>SharePoint 2013 - Issue su Document Set</title><description>Abbiamo sperimentato un paio di Issue sulla gestione dei Document Set su SharePoint 2013 (testati e riprodotti su SP Online).&lt;br /&gt;
Ecco qui due promemoria per le prossime volte.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Singolo Apice nel Nome del Document Set&lt;/h3&gt;
A differenza della gestione dei caratteri speciali NON permessi sui nomi dei file, per il Document Set abbiamo la restrizione solo per i seguenti caratteri:&lt;br /&gt;
&lt;br /&gt;
&quot; # % * : &amp;lt; &amp;gt; ? / \ |.&lt;br /&gt;
&lt;br /&gt;
Quindi, apice singolo e &amp;amp; sono permessi nel nome del file.&lt;br /&gt;
MA, utilizzando l&#39;apice singolo, in creazione del Document Set non abbiamo problemi: visualizziamo la Welcome Page correttamente.&lt;br /&gt;
Se usciamo dal Document Set, e proviamo a rientrarci, invece, abbiamo il comportamento della Cartella: nessuna welcome page...&lt;br /&gt;
Se togliamo l&#39;apice dal nome, in Modifica Proprietà, tutto torna alla normalità.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Conclusione: &lt;/strong&gt;controllate manualmente che NON sia presente l&#39;apice singolo nel Nome del Document Set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Errore in Welcome Page per Lookup errate&lt;/h3&gt;
Creiamo un Content Type Document Set con una colonna di tipo Lookup.&lt;br /&gt;
Utilizziamo la colonna in visualizzazione nella Welcome Page.&lt;br /&gt;
Tutto fila liscio.&lt;br /&gt;
Ora, eliminiamo la Lista cui fa riferimento la Lookup, così da renderla &quot;orfana&quot;.&lt;br /&gt;
[Già in teoria mi aspetterei un messaggio di errore del tipo &quot;questa lista è utilizzata in una lookup, non puoi eliminarla&quot;, ma fa lo stesso]&lt;br /&gt;
&lt;br /&gt;
Il nostro content type continua ad avere la lookup, anche se orfana di lista.&lt;br /&gt;
Poco male, non possiamo selezionare nessun valore.&lt;br /&gt;
&lt;br /&gt;
Ma, se apriamo la Welcome Page abbiamo un errore, segnalato sulla web part DocumentSetProperties.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Conclusione: &lt;/strong&gt;Nelle impostazioni del Content Type Document Set, togliamo dalla visualizzazione in Welcome Page la colonna: tutto va a posto.&lt;br /&gt;
Meglio ancora, togliamo la Lookup orfana ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(segue)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</description><link>http://webdevshareetc.blogspot.com/2015/01/sharepoint-2013-issue-su-document-set.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-186741055914694133</guid><pubDate>Tue, 08 Jul 2014 14:33:00 +0000</pubDate><atom:updated>2014-07-08T16:33:32.568+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">caml</category><category domain="http://www.blogger.com/atom/ns#">query</category><category domain="http://www.blogger.com/atom/ns#">recurrence</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint 2013 - Filtrare per Eventi Ricorrenti senza i duplicati</title><description>La creazione di un evento ricorrente genera tante istanze dell&#39;evento creato, quante sono le date configurate per la ricorrenza.&lt;br /&gt;
&lt;br /&gt;
Esiste la possibilità di visualizzare tutti gli eventi, con le ricorrenze, tramite la vista Calendario e la vista Eventi Correnti.&lt;br /&gt;
&lt;br /&gt;
La vista Tutti gli Eventi mostra invece gli eventi ricorrenti &quot;Parent&quot;, quindi i soli item effettivamente inseriti, con la regola di ricorrenza.&lt;br /&gt;
&lt;br /&gt;
Quando modifichiamo una istanza di una ricorrenza, possiamo decidere se modificare tutta la serie o il singolo elemento: scegliendo l&#39;ultima opzione, viene creato un nuovo item (evento), con un suo id, con le stesse regole della ricorrenza, ma &quot;slegato&quot; dalla ricorrenza &quot;Parent&quot; originaria (pur mantenendo un collegamento interno).&lt;br /&gt;
&lt;br /&gt;
Se vogliamo visualizzare solo gli eventi &quot;Parent&quot; originali, senza gli eventi modificati a partire dalla serie (come descritto sopra), dobbiamo filtrare la web part modifiicando, tramite il Designer, la CAML Query.&lt;br /&gt;
&lt;br /&gt;
Identifichiamo il tag &amp;lt;View&amp;gt; e inseriamo nel tag &amp;lt;Query&amp;gt;, il seguente codice:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;Where&amp;gt;&amp;lt;Neq&amp;gt;&amp;lt;FieldRef Name=&quot;EventType&quot;/&amp;gt;&amp;lt;Value Type=&quot;Integer&quot;&amp;gt;4&amp;lt;/Value&amp;gt;&amp;lt;/Neq&amp;gt;&amp;lt;/Where&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Questo esclude dalla visualizzazione gli eventi con EventType = 4, cioè quelli generati dalla modifica di una singola ricorrenza.&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/07/sharepoint-2013-filtrare-per-eventi.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-2632247656497302993</guid><pubDate>Wed, 18 Jun 2014 10:48:00 +0000</pubDate><atom:updated>2014-06-18T12:48:23.314+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">copy</category><category domain="http://www.blogger.com/atom/ns#">document</category><category domain="http://www.blogger.com/atom/ns#">document set</category><category domain="http://www.blogger.com/atom/ns#">move</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Spostare Document Set di grandi dimensioni</title><description>Per lo spostamento di Document Set da una libreria ad un&#39;altra occorre tenere conto del contesto in cui si implementa la procedura di spostamento, in particolare se esiste la possibilità che i Document Set contengano documenti di dimensioni superiori ai 10 Mb.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: normal;&quot;&gt;Export/Import&lt;/span&gt;&lt;/h3&gt;
In rete è la soluzione più consigliata, ma&amp;nbsp;&lt;b&gt;attenzione: per file di grandi dimensioni (superiori a 10Mb)&lt;/b&gt;, funziona solo nel caso di Event Receiver (o Console Application).&lt;br /&gt;
Utilizzato in un Timer Job si riceve un errore decisamente incomprensibile, in fase di Export: &quot;&lt;b&gt;Unable to determine the identity of domain&lt;/b&gt;&quot;.&lt;br /&gt;
Questo messaggio ci ha fatto penare un bel po&#39; ed è riferito ad una classe utilizzata dal package di gestione dello stream in fase di esportazione del Document Set (class IsolatedStorage).&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;//get Document Set Source&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;DocumentSet documentSet = DocumentSet.GetDocumentSet(itemToMove.Folder);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//get Target List&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;SPList targetList = web.Lists[docSetListTargetName];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//get content type id for target list&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;SPContentTypeId contentTypeId = targetList.ContentTypes[&quot;Custom Document Set Name&quot;].Id;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//export in a stream&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;byte[] documentSetData = documentSet.Export();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//get document set name&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;string documentSetName = documentSet.Item.Name;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//get folder target&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;SPFolder targetFolder = targetList.RootFolder;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//Assign all properties&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;System.Collections.Hashtable propertiesParent = itemToMove.Properties;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//Create new Document Set&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;DocumentSet docSet = DocumentSet.Import(documentSetData, documentSetName, targetFolder, contentTypeId, propertiesParent, currentWeb.CurrentUser);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Courier New, Courier, monospace;&quot;&gt;//then go to delete source document set&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Folder.MoveTo&lt;/h3&gt;
Utilizzando questo metodo viene spostato il Document Set con il suo contenuto, qualsiasi peso abbia, come fosse una Cartella (SPFolder) e successivamente, viene convertita in Document Set Content Type.&lt;br /&gt;
&lt;br /&gt;
La cosa buona è che funziona anche per i Timer Job quindi senza problemi di size.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//get Document Set Source&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;DocumentSet documentSet = DocumentSet.GetDocumentSet(itemToMove.Folder);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//get Target List&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SPList targetList = web.Lists[docSetListTargetName];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//get content type id for target list&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SPContentTypeId contentTypeId = targetList.ContentTypes[&quot;Custom Document Set Name&quot;].Id;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//set Url of new Document Set in target list&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;string moveUrl = targetList.RootFolder + &quot;/&quot; + itemToArc.Folder.Name;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//move document set as folder&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;itemToMove.Folder.MoveTo(moveUrl);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//check new Document Set&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SPFolder newDocset = currentWeb.GetFolder(moveUrl);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;if (newDocset.Exists)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; //Update all fields from source&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; foreach (SPField f in itemToMove.Fields)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!f.ReadOnlyField)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newDocset.Item[f.StaticName] = itemToMove[f.StaticName];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; //IMPORTANT: convert Folder to Document Set&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; newDocset.Item[&quot;ContentTypeId&quot;] = contentTypeId;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; newDocset.Item[&quot;HTML File Type&quot;] = &quot;SharePoint.DocumentSet&quot;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; //then update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; newDocset.Item.Update();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;// Failed moving the docset or setting ...&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//no need to delete source Document Set&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/06/sharepoint-spostare-document-set-di.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-8403380117915556292</guid><pubDate>Tue, 17 Jun 2014 08:47:00 +0000</pubDate><atom:updated>2014-06-17T10:48:40.778+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">check-in</category><category domain="http://www.blogger.com/atom/ns#">check-out</category><category domain="http://www.blogger.com/atom/ns#">document</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Il Check-Out e i Documenti Fantasma!</title><description>Lo scenario spettrale nel quale i Documenti scompaiono alla vista di tutti, compreso il System Account, ha una spiegazione (quasi logica) e anche una soluzione!&lt;br /&gt;
&lt;br /&gt;
Il Cliente segnala l&#39;impossibilità di salvare un nuovo Documento (nuovo), creato con Word, con un dato nome.&lt;br /&gt;
L&#39;utente X accede alla Document Library su cui è impostato check-in/out per modifica.&lt;br /&gt;
Clicca su Nuovo Documento, apre Word, modifica il file e, per qualche ragione, NON esegue Check-in.&lt;br /&gt;
Chiude Word, oppure si pianta (non raro), o il browser va in errore (ancora meno raro), o qualsiasi altro motivo per cui non viene archiviato il file.&lt;br /&gt;
&lt;br /&gt;
In questo scenario, gli altri utenti non vedono il documento. Nessuno. Solo l&#39;utente X.&lt;br /&gt;
&lt;br /&gt;
L&#39;utente Y crea un nuovo file e lo vuole salvare, chiamandolo come il file creato (e non archiviato) dall&#39;utente X.&lt;br /&gt;
MA riceve un messaggio: Non è possibile salvare il file perché l&#39;utente X sta già modificando un documento con quel nome.&lt;br /&gt;
&lt;br /&gt;
Il sistema dice che c&#39;è quel file, ma non si vede e non possiamo sovrascriverlo né modificarlo perché lo fa già utente X. Neppure System Account lo vede, neppure con Power Shell..&lt;br /&gt;
&lt;br /&gt;
L&#39;utente X sembra l&#39;unico che può vederlo.&lt;br /&gt;
L&#39;utente X è l&#39;unico che può cancellarlo.&lt;br /&gt;
L&#39;utente X può risolvere il problema.&lt;br /&gt;
&lt;br /&gt;
L&#39;utente X è in maternità.&lt;br /&gt;
&lt;br /&gt;
Microsoft ha previsto, fortunatamente (per loro), lo scenario descritto, fornendo la possibilità, nelle configurazioni della Document Library, di visualizzare i documenti che non hanno ancora una versione: ovvero sono stati creati, ma mai ne è stato eseguito un check-in.&lt;br /&gt;
&lt;br /&gt;
Il Link Manage files which have no checked in version è abbastanza esplicativo.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYFZEzzOH-H-W6B_YUH1kJhyphenhyphenmec5uK-n_1L8YqH8EBlC_yfW_uhYBFOHtF5t82EAe4CNDzRF_dE6vmX-YcpripB0hyphenhyphentGf13wEJbo7KxboMDauadAc3YHzYOIrhz4sz2wLCPXPNIhjlTWT7/s1600/check-out-files.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYFZEzzOH-H-W6B_YUH1kJhyphenhyphenmec5uK-n_1L8YqH8EBlC_yfW_uhYBFOHtF5t82EAe4CNDzRF_dE6vmX-YcpripB0hyphenhyphentGf13wEJbo7KxboMDauadAc3YHzYOIrhz4sz2wLCPXPNIhjlTWT7/s1600/check-out-files.png&quot; height=&quot;152&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Mostra i file non archiviati, senza versione:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFj_CeZbNMmQHAurrKhWo3aaKpioNyq3IDvzY6PbrVyI4jaKcg1mTMPkKZvyUnYn3Zw5tidtnpXpdb-e8-gsPAnZhhXBro-H56DkZ2I1gzcudQ9lVegkY4LPFmN8wiO4Yx2Gw5dLy-NZFr/s1600/check-out-files-2.jpg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFj_CeZbNMmQHAurrKhWo3aaKpioNyq3IDvzY6PbrVyI4jaKcg1mTMPkKZvyUnYn3Zw5tidtnpXpdb-e8-gsPAnZhhXBro-H56DkZ2I1gzcudQ9lVegkY4LPFmN8wiO4Yx2Gw5dLy-NZFr/s1600/check-out-files-2.jpg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Selezionando un documento e cliccando su Take Ownership of Selection, l&#39;utente corrente ha la possibilità di prendere il possesso dei file, sostituirsi all&#39;utente che non ha eseguito l&#39;archiviazione, e modificare il file.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin2urcoYKRoTMdA4Cph6LN20PhyphenhyphenzGgXiXdpAVK653zqcKBYwB4NpAfsMhsoaXQ0WklO8Uji5C1y-YOtaGQrj3KbohPbz1DqhBO8r7bZ5lLSvuSTI_rXZSA5GxPl8oAolWDNZX1FAiXPCRM/s1600/check-out-files-3.jpg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin2urcoYKRoTMdA4Cph6LN20PhyphenhyphenzGgXiXdpAVK653zqcKBYwB4NpAfsMhsoaXQ0WklO8Uji5C1y-YOtaGQrj3KbohPbz1DqhBO8r7bZ5lLSvuSTI_rXZSA5GxPl8oAolWDNZX1FAiXPCRM/s1600/check-out-files-3.jpg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Risulta quindi, nella library, finalmente il file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xCWDydnuWlW3ahO00XnSvZu1Q8_IkdjPwwCaZCSrFpqw_qseGY1_BPRH3x5m6P1UstFfA4RiE9ZNvNptO_v7-hKy-2Kym0NBFk29L9fa5n-dTuP_ts2wVo4Bu2AuqIoib1zAYRLIe7wD/s1600/check-out-files-4.jpg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xCWDydnuWlW3ahO00XnSvZu1Q8_IkdjPwwCaZCSrFpqw_qseGY1_BPRH3x5m6P1UstFfA4RiE9ZNvNptO_v7-hKy-2Kym0NBFk29L9fa5n-dTuP_ts2wVo4Bu2AuqIoib1zAYRLIe7wD/s1600/check-out-files-4.jpg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&quot;SharePoint Mystery - The case of the missing documents&quot; racconta la nostra storia&lt;br /&gt;
&lt;a href=&quot;http://www.networkworld.com/article/2346678/microsoft-subnet/sharepoint-mystery--the-case-of-the-missing-documents.html&quot;&gt;http://www.networkworld.com/article/2346678/microsoft-subnet/sharepoint-mystery--the-case-of-the-missing-documents.html&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/06/sharepoint-il-check-out-e-i-documenti.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYFZEzzOH-H-W6B_YUH1kJhyphenhyphenmec5uK-n_1L8YqH8EBlC_yfW_uhYBFOHtF5t82EAe4CNDzRF_dE6vmX-YcpripB0hyphenhyphentGf13wEJbo7KxboMDauadAc3YHzYOIrhz4sz2wLCPXPNIhjlTWT7/s72-c/check-out-files.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-1967897063021616483</guid><pubDate>Wed, 28 May 2014 15:30:00 +0000</pubDate><atom:updated>2014-05-28T17:30:30.169+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">workflow</category><title>SharePoint - Usare Information Management Policy per l&#39;invio di Notifiche di Scadenza</title><description>&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Definiamo un campo di tipo Date Time per immagazzinare il giorno per l’invio
dell’alert, ad es “AlertDate”&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Definire da SharePoint Designer, un Workflow, in creazione/modifica, denominato “Set Alert Date” che
aggiorna il campo AlertDate con la scadenza desiderata.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Ad es, si vuole essere avvisati 7 giorni prima della scadenza
(EndDate)?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Impostiamo AlerDate = EndDate – 8 giorni (poi vediamo perché
8 e non 7)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Definire un secondo Workflow, senza nessuna spunta (no manuale, no
automatico) così non verrà visto da nessuno, se non l’admin&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Chiamiamolo “Send Alert For
End Date”&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Il Worflow invia una mail ai destinatari da avvisare.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Eventualmente, possiamo fare in modo, dopo l&#39;invio, di impostare AlertDate
= AlertDate+1 (se AlertDate &amp;lt; EndDate), così da inviare mail anche nei
giorni successivi fino alla scadenza.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;Ora, navigare
sulla lista/library interessata dall’alert ed entrare in List Settings &amp;gt; Information
Management Policy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Definiamo una Policy per l’Expiration, utilizzando le
impostazioni seguenti:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiksPyYqsfT6fHIEU-isIvPioyBv4-SoyCUC2n1Nip9hyphenhyphengrjP_9Qji0QLVMUclCvaekQkyH10fdmQBjB7MZD36tPi0bZh8hgcwUzUcvKczBJXH5yzXHxbCOf7R90c809P4r7F30zg0EqyR-/s1600/informationpolicyexpiration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiksPyYqsfT6fHIEU-isIvPioyBv4-SoyCUC2n1Nip9hyphenhyphengrjP_9Qji0QLVMUclCvaekQkyH10fdmQBjB7MZD36tPi0bZh8hgcwUzUcvKczBJXH5yzXHxbCOf7R90c809P4r7F30zg0EqyR-/s1600/informationpolicyexpiration.png&quot; height=&quot;221&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;NOTE: &lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Come Item Properties non è possibile (almeno su MOSS2007)
utilizzare un campo calcolato.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Il +1 è necessario (non accetta 0): da qui il fatto che nel workflow aumentiamo di 8 giorni.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Salviamo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Che cosa succede?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
SharePoint ha un job predefinito che gira ogni sera (ma
schedulabile a piacere) e che esegue il controllo su tutte le liste su cui è
definita una Policy di Expiration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Se incontra un item che risponde a questa Policy, controlla
il campo definito per il controllo (&quot;AlertDate&quot;), se Today = AlertDate+1, avvia il Workflow indicato che invia la notifica (ed eventualmente, aggiorna
AlertDate = ALertDate+1, così da scattare nuovamente il giorno successivo).&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Se la notifica invita l&#39;utente a cambiare la EndDate dell&#39;item, il Workflow &quot;Set Alert
Date&quot;, va ad aggiornare l’Alert Date con la nuova data (EndDate-8gg) e ricomincia il giro.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;NOTA IMPORTANTE:&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Se si modifica il Workflow “Send Alert For End Date”, occorre
riconfigurare la Policy, andando a selezionare la nuova versione del Workflow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Se si elimina il Workflow, occorre controllare che la Policy non
vada a prendere il primo Workflow che ha in elenco, visto che abbiamo tolto quello
corrente...&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Non ci resta che attendere il giro del job di Expiration Policy o forzarne l&#39;esecuzione da Central Administration.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2014/05/sharepoint-usare-information-management.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiksPyYqsfT6fHIEU-isIvPioyBv4-SoyCUC2n1Nip9hyphenhyphengrjP_9Qji0QLVMUclCvaekQkyH10fdmQBjB7MZD36tPi0bZh8hgcwUzUcvKczBJXH5yzXHxbCOf7R90c809P4r7F30zg0EqyR-/s72-c/informationpolicyexpiration.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-8051453415931157337</guid><pubDate>Fri, 24 Jan 2014 15:26:00 +0000</pubDate><atom:updated>2014-01-24T16:26:58.253+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">target audience</category><category domain="http://www.blogger.com/atom/ns#">web application</category><title>SharePoint 2010 - Target Audience non funzionante? Un semplice flag che risolve..</title><description>Diventare matti per la funzionalità di Target Audience su web part, navigation...&lt;br /&gt;
&lt;br /&gt;
Il problema è che la Target Audience è correttamente configurata in ogni sua parte, vedo la possibilità di usarla ovunque, nella navigazione, ad esempio. Inserisco un Gruppo di SharePoint, salvo e verifico..&lt;br /&gt;
Verifico che non funziona e continua ad ignorare i miei settings.&lt;br /&gt;
Da Site Collection Administration, tutte le configurazioni erano corrette.&lt;br /&gt;
Allora ci siamo spostati sulla Central Administration, e abbiamo verificato che lo User Profile Service funzionasse correttamente.&lt;br /&gt;
&lt;br /&gt;
Siamo andati in Application Management &amp;gt; Manage Web Applications, selezioniamo la Web Application in cui non funziona la Target Audience e clicchiamo su Service Connections.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-NmLc8i988B0/UuKFGgz7bKI/AAAAAAAAUps/cQzPkXL0M7s/s1600/web_application_service_connection_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-NmLc8i988B0/UuKFGgz7bKI/AAAAAAAAUps/cQzPkXL0M7s/s1600/web_application_service_connection_1.png&quot; height=&quot;157&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Abbiamo trovato che era impostata a [custom], ma soprattutto che il check su User Profile Service Application era a false...&lt;br /&gt;
Lo abbiamo messo a true, flaggandolo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-_46JkAhorzs/UuKFGspG69I/AAAAAAAAUp4/-l6eRhSKrdE/s1600/web_application_service_connection_3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-_46JkAhorzs/UuKFGspG69I/AAAAAAAAUp4/-l6eRhSKrdE/s1600/web_application_service_connection_3.png&quot; height=&quot;350&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Poi, andiamo in Application Management &amp;gt; Manager Service Applications e clicchiamo su User Profile Service Application&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-YyBvRAKl1I0/UuKFGjHeNRI/AAAAAAAAUp8/GA8T9AhXmOU/s1600/web_application_service_connection_5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-YyBvRAKl1I0/UuKFGjHeNRI/AAAAAAAAUp8/GA8T9AhXmOU/s1600/web_application_service_connection_5.png&quot; height=&quot;151&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicchiamo su Start Profile Syncronization e.... attendiamo che giri.&lt;br /&gt;
&lt;br /&gt;
Al termine, o anche prima, se siete fortunati, vedrete che la Target Audience funziona...&lt;br /&gt;
&lt;br /&gt;
Finalmente!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-2010-target-audience-non.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-NmLc8i988B0/UuKFGgz7bKI/AAAAAAAAUps/cQzPkXL0M7s/s72-c/web_application_service_connection_1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-1614175606598500968</guid><pubDate>Wed, 22 Jan 2014 16:52:00 +0000</pubDate><atom:updated>2014-01-22T17:52:59.695+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">alert template</category><category domain="http://www.blogger.com/atom/ns#">email</category><category domain="http://www.blogger.com/atom/ns#">moss</category><category domain="http://www.blogger.com/atom/ns#">notification</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint 2007 - Modificare il Subject delle mail di Notifica/Alert con proprietà dell&#39;item con AlertTemplate.xml</title><description>Il Cliente chiede di modificare il Subject delle mail di Alert che vengono inviate alla modifica di item di lista, in particolare di Task list personalizzate.&lt;br /&gt;
&lt;br /&gt;
La modifica dei template è &quot;semplice&quot;, secondo quanto si legge in giro, ma non è per nulla ben documentata.&lt;br /&gt;
In particolare per l&#39;utilizzo di campi dell&#39;item da utilizzare al di fuori del corpo della mail.&lt;br /&gt;
&lt;br /&gt;
Per modificare il template, occorre andare sul server nella cartella &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Eseguire una copia del file &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;alerttemplates.xml&lt;/span&gt;: questo XML definisce tutti i template delle mail inviate alla sottoscrizione del servizio di Alert di liste e library.&lt;br /&gt;
&lt;br /&gt;
Creare un nuovo file XML con un nome diverso, ad es, &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;custom_alerttemplates.xml&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Nota&lt;/b&gt;: non modificate il file originale, ma solo questo.&lt;br /&gt;
&lt;br /&gt;
Ora, apriamo il nuovo XML e cerchiamo il template da modificare, nel nostro caso devo cercare il blocco:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;AlertTemplate Type=&quot;List&quot; &amp;nbsp;Name=&quot;SPAlertTemplateType.Tasks&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Vado nel blocco &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;immediate&amp;gt;&lt;/span&gt; che rappresenta il template delle mail che partono alla modifica di un item, quindi non quelle raggruppate per periodo (che per forza di cose non potranno avere un subject personalizzato per singolo item).&lt;br /&gt;
&lt;br /&gt;
Modifichiamo ora il blocco (il primo) &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;Subject&amp;gt;&lt;/span&gt; in cui viene definito l&#39;oggetto della mail.&lt;br /&gt;
Di default, lo troviamo così:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;Subject&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;AlertTitle&quot; /&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;HTML&amp;gt;&amp;lt;![CDATA[ - ]]&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;ItemName&quot; /&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;/Subject&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Che corrisponde ad un oggetto del tipo:&lt;b&gt; &quot;titolo dato all&#39;alert&quot; - &quot;titolo dell&#39;item&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Il cliente vuole ad esempio :&lt;b&gt; &quot;titolo dell&#39;alert&quot; - &quot;priorità&quot; - &quot;stato&quot; - &quot;titolo dell&#39;item&quot;.&lt;/b&gt;&lt;br /&gt;
Dove i campi &quot;priorità&quot; e &quot;stato&quot; sono quelli definiti nei task.&lt;br /&gt;
Poiché non è detto che le task list siano tutte uguali, potrebbero avere nomi interni (internal name) differenti.&lt;br /&gt;
Ad esempio, ho una task list che non ha il campo &quot;stato&quot;, internal name &quot;Status&quot; (non era necessario ed è stato tolto), l&#39;altra non ha il campo &quot;priorità&quot;, internal name &quot;Priority&quot;, ma un campo personalizzato con internal name &quot;Issue_Priority&quot;. Le Task list standard hanno &quot;Status&quot; e &quot;Priority&quot;.&lt;br /&gt;
&lt;br /&gt;
Occorre quindi tenere conto di queste differenze poiché quanto stiamo facendo ha impatti&lt;b&gt; su tutta la web application e non sul singolo sito&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Quindi inseriamo un blocco If all&#39;interno del Subject, che diventa come segue:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;Immediate&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;Subject&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;AlertTitle&quot; /&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;IfEqual&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Expr1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;RawValue#Status&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Expr1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Expr2/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Then/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Else&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;HTML&amp;gt;&amp;lt;![CDATA[ - ]]&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;RawValue#Status&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Else&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/IfEqual&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;IfEqual&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Expr1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;RawValue#Issue_Priority&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Expr1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Expr2/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Then&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;HTML&amp;gt;&amp;lt;![CDATA[ - ]]&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;RawValue#Priority&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Then&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Else&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;HTML&amp;gt;&amp;lt;![CDATA[ - ]]&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;RawValue#Issue_Priority&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Else&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/IfEqual&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;HTML&amp;gt;&amp;lt;![CDATA[ - ]]&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;GetVar Name=&quot;ItemName&quot; /&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;/Subject&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Nota&lt;/b&gt;: per richiamare il metadato desiderato dobbiamo utilizzare&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;GetVar Name=&quot;RawValue#INTERNALNAME&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Salviamo il file ed eseguiamo il comando seguente che imposta il nuovo file come template standard per tutta la web application:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;stsadm -o updatealerttemplates -url http://URLWEBAPP -filename &quot;c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\custom_alerttemplates.xml&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Eseguiamo un &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;iisreset &lt;/span&gt;e verifichiamo gli oggetti delle mail per modifiche ai task.&lt;br /&gt;
&lt;br /&gt;
Nota: per ripristinare il file originale, eseguire lo stesso comando, ma con il file &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;alerttemplates.xml &lt;/span&gt;e successivamente un &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;iisreset&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;stsadm -o updatealerttemplates -url http://URLWEBAPP -filename &quot;c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\alerttemplates.xml&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-2007-modificare-il-subject.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-8957498347916297033</guid><pubDate>Wed, 15 Jan 2014 16:45:00 +0000</pubDate><atom:updated>2014-01-15T17:45:19.969+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">formfield</category><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">jquery</category><category domain="http://www.blogger.com/atom/ns#">people picker</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Check People Picker con jQuery</title><description>Se si vuol controllare il valore inserito in un People Picker utilizzando jQuery, facciamo così!&lt;br /&gt;
&lt;br /&gt;
Controllando l&#39;HTML source della pagina, vediamo che al People Picker corrispondono molto elementi, ma quando l&#39;utente scrive il nome per inserire l&#39;utente, non scrive in un input o in una textarea, ma... in un DIV con l&#39;attributo contentEditable = true.&lt;br /&gt;
&lt;br /&gt;
Possiamo quindi controllare il dato in un New/Edit form prima di salvare l&#39;item tramite la funzione js PreSaveAction().&lt;br /&gt;
&lt;br /&gt;
Prima di tutto, creiamo un custom form (new o edit) e cerchiamo la riga corrispondente alla colonna People da controllare. Nell&#39;HTML, individuiamo la TD che contiene il controllo SharePoint e aggiungiamo all&#39;attributo &quot;class&quot; un nome che ci aiuterà ad identificare il campo desiderato (ad es &quot;check-this-pp&quot;).&lt;br /&gt;
Se abbiamo da controllare più People Picker, usiamo classi diverse.&lt;br /&gt;
&lt;br /&gt;
Ora, aggiungiamo i riferimenti a jQuery e il codice seguente, in fondo alla pagina:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;function PreSaveAction(){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var checkPP = $(&quot;.check-this-pp&amp;nbsp;div[contentEditable=&#39;true&#39;]&quot;).text();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if(checkPP == &quot;&quot;){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;alert(&quot;Warning: Insert User in People Picker before saving item.&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return false;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;return true;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Salviamo e andiamo a controllare.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Apriamo il form, nel Browser.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Non inseriamo nomi nel People Picker e clicchiamo su Save.&lt;/div&gt;
&lt;div&gt;
Il form darà il messaggio del nostro codice js e non continua.&lt;/div&gt;
&lt;div&gt;
Inseriamo un nome e clicchiamo su Save.&lt;/div&gt;
&lt;div&gt;
Il form si ricarica correttamente (eseguendo quindi il controllo del nome, individua l&#39;utente e, se l&#39;utente esiste, salva il form).&lt;/div&gt;
&lt;div&gt;
Ancora un&#39;ultima prova: apriamo il form di edit (con il codice inserito), vedremo il nome dell&#39;utente.&lt;/div&gt;
&lt;div&gt;
Se lo cancelliamo e clicchiamo su Save, il form restituisce il warning per l&#39;inserimento dell&#39;utente.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-check-people-picker-con.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-6423626687712739535</guid><pubDate>Fri, 10 Jan 2014 11:27:00 +0000</pubDate><atom:updated>2014-01-10T12:27:27.120+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">custom control</category><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Check File Name in Upload form in Document Library con Javascript</title><description>Se si desidera controllare il nome del file di un nuovo documento in un Upload form, possiamo farlo con del buon Javascript !&lt;br /&gt;
&lt;br /&gt;
Ho creato una funzione che controlla il nome del file e poi disattiva il bottone OK se la condizione non è verificata&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s1600/Immagine.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s1600/Immagine.png&quot; height=&quot;132&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Ho eseguito un override della funzione CheckAssetLibMediaExtension sull&#39;evento &quot;onchange&quot; del controllo input file nel file Upload.aspx.&lt;br /&gt;
&lt;br /&gt;
Se vediamo il codice HTML del file Upload.aspx (da browser), troviamo:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;input name=&quot;ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile&quot; type=&quot;file&quot; id=&quot;ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile&quot; class=&quot;ms-fileinput ms-fullWidth&quot; size=&quot;35&quot; onfocus=&quot;ResetSpFormOnSubmitCalled();&quot;&amp;nbsp;&lt;b&gt;onchange=&quot;CheckAssetLibMediaExtension()&quot;&amp;nbsp;&lt;/b&gt;title=&quot;Scegliere un file&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Cercando la funzione, troviamo:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;function CheckAssetLibMediaExtension()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Così, possiamo farne l&#39;override!&lt;br /&gt;
&lt;br /&gt;
Creiamo nella masterpage la referenza al jQuery e aggiungiamo la funzione seguente:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;function CheckAssetLibMediaExtension(){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var inputFile = $(&quot;input[name$=&#39;InputFile&#39;]&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var nomeFile = inputFile.val().split(&#39;\\&#39;).pop();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if(!(nomeFile.indexOf(&#39;STRINGTOAVOID&#39;)&amp;gt;-1)){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alert(&#39;Warning: file name not must contains &quot;STRINGTOAVOID&quot;!!&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;$(&quot;input[name$=&#39;btnOK&#39;]&quot;).attr(&#39;disabled&#39;,&#39;disabled&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;return;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(&quot;input[name$=&#39;btnOK&#39;]&quot;).removeAttr(&#39;disabled&#39;);&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Quando l&#39;utente seleziona un file, l&#39;Input File cambia e la funzione viene chiamata.&lt;br /&gt;
La funzione mostra un alert se nel nome file c&#39;è la stringa &quot;STRINGTOAVOID&quot;.&lt;br /&gt;
Quindi, disabilita il bottone OK, e l&#39;utente è obbligato a cambiare il nome del file prima di selezionarlo.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-check-file-name-in-upload_10.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s72-c/Immagine.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-6239056647184727438</guid><pubDate>Fri, 10 Jan 2014 11:21:00 +0000</pubDate><atom:updated>2014-01-10T12:27:53.533+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">custom control</category><category domain="http://www.blogger.com/atom/ns#">document</category><category domain="http://www.blogger.com/atom/ns#">filename</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Check File Name in Upload form in Document Library with Javascript</title><description>If you want to check file name of new document in Upload form, you can do with Javascript!&lt;br /&gt;
&lt;br /&gt;
I created a custom js that check filename then disables button OK if condition is not verified.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s1600/Immagine.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s1600/Immagine.png&quot; height=&quot;132&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I override the function CheckAssetLibMediaExtension on event &quot;onchange&quot; of input file control in Upload.aspx.&lt;br /&gt;
&lt;br /&gt;
If you see HTML Source of Upload.aspx (rendered by browser) you see:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;input name=&quot;ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile&quot; type=&quot;file&quot; id=&quot;ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile&quot; class=&quot;ms-fileinput ms-fullWidth&quot; size=&quot;35&quot; onfocus=&quot;ResetSpFormOnSubmitCalled();&quot; &lt;b&gt;onchange=&quot;CheckAssetLibMediaExtension()&quot; &lt;/b&gt;title=&quot;Scegliere un file&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Search for function in HTML Source, you find:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;function CheckAssetLibMediaExtension()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So, you can override it!&lt;br /&gt;
&lt;br /&gt;
Create in masterpage reference to jQuery and add function below :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;function CheckAssetLibMediaExtension(){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var inputFile = $(&quot;input[name$=&#39;InputFile&#39;]&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var nomeFile = inputFile.val().split(&#39;\\&#39;).pop();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if(!(nomeFile.indexOf(&#39;STRINGTOAVOID&#39;)&amp;gt;-1)){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alert(&#39;Warning: file name not must contains &quot;STRINGTOAVOID&quot;!!&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;$(&quot;input[name$=&#39;btnOK&#39;]&quot;).attr(&#39;disabled&#39;,&#39;disabled&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;return;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(&quot;input[name$=&#39;btnOK&#39;]&quot;).removeAttr(&#39;disabled&#39;);&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
When user select file, InputFile control changes and function called.&lt;br /&gt;
Function show alert if fileName user try to upload has string &quot;STRINGTOAVOID&quot; in name.&lt;br /&gt;
Then, disables button OK, so user need to edit filename before select file.&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-check-file-name-in-upload.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-jc7OHXLw9Tc/Us_XUt2JbjI/AAAAAAAAUa4/MuYoxRYLEXc/s72-c/Immagine.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-2778166343462220142</guid><pubDate>Fri, 10 Jan 2014 11:09:00 +0000</pubDate><atom:updated>2014-01-15T17:25:51.386+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">custom action</category><category domain="http://www.blogger.com/atom/ns#">ribbon</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Aggiungere un bottone Applica al form di Edit di un List Item per salvare senza chiudere il form</title><description>Questo articolo descrive come creare un bottone &quot;Applica&quot; in un edit form per un list item, in modo da salvare i dati e ricaricare il form stesso, senza essere reindirizzati alla lista (o al Source indicato nel querystring).&lt;br /&gt;
&lt;br /&gt;
Creare un edit form personalizzato con SharePoint Designer.&lt;br /&gt;
Aprire in modifica il form.&lt;br /&gt;
&lt;br /&gt;
Creare un nuovo parametro di tipo QueryString per il Source, chiamiamolo Source: quando la pagine viene ricaricata dopo aver salvato i dati, l&#39;url nel Source viene mantenuto (ad es, per essere reindirizzati correttamente quando si clicca su Salva o Annulla).&lt;br /&gt;
&lt;br /&gt;
Quindi, cercare nel codice i tag seguenti:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;dvt_apos&quot;&amp;gt;&amp;amp;apos;&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:variable name=&quot;dvt_1_automode&quot;&amp;gt;0&amp;lt;/xsl:variable&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
E aggiungere sotto il codice seguente:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;ListItemId&quot;&amp;gt;0&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;Source&quot;&amp;gt;&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Cercare il bottone Salva (o Annulla) nell&#39;xslt:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;sharepoint:savebutton controlmode=&quot;Edit&quot; id=&quot;savebutton2&quot; runat=&quot;server&quot;&gt;&lt;/sharepoint:savebutton&gt;&amp;lt;SharePoint:SaveButton runat=&quot;server&quot; ControlMode=&quot;Edit&quot; id=&quot;savebutton2&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Aggiungere il codice seguente (il bottone):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;input type=&quot;button&quot; value=&quot;Applica&quot; name=&quot;btnSave&quot; onclick=&quot;javascript: {ddwrt:GenFireServerEvent(concat(&#39;__commit;__redirect={ModificaPratica.aspx?ID=&#39;,$ListItemId,&#39;&amp;amp;amp;Source=&#39;,$Source,&#39;}&#39;))}&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Nel codice inserito, notare la funzione GeFireServerEvent: questa esegue il salvataggio e reindirizza all&#39;URL indicato.&lt;br /&gt;
L&#39;URL concatena l&#39;ID con il parametro ListItemId e il Source con il corrispondente parametro.&lt;br /&gt;
&lt;br /&gt;
Il risultato: quando clicchi su Applica, l&#39;item viene salvato e la pagina ricaricata (con la stessa Source in querystring), invece che essere reindirizzati al Source.&lt;br /&gt;
&lt;br /&gt;
Tips: puoi aggiungere una Custom Action al list item (con SPDesigner), chiamando una function JS che eseguirà il click sul bottone Applica (button con name=&quot;btnSave&quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$(&quot;input[name=&#39;btnSave&#39;]&quot;).click();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Così, hai un bottone nel ribbon per Appica (salva e reload form), Salva (salva e chiude, con redirect al source), Annulla (chiude e redirect al source)</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-aggiungere-un-botton-applica.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-4924367740775669037</guid><pubDate>Thu, 09 Jan 2014 11:18:00 +0000</pubDate><atom:updated>2014-01-10T12:09:02.580+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">button</category><category domain="http://www.blogger.com/atom/ns#">custom action</category><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint - Add button Apply to List Item Edit Form for Saving Item without closing form</title><description>This post describes how to create an Apply button in list item edit form, to save data and reload form, without redirect to list (or Source).&lt;br /&gt;
&lt;br /&gt;
Create a custom edit form with SharePoint Designer.&lt;br /&gt;
Open form in edit mode.&lt;br /&gt;
&lt;br /&gt;
Create new parameter of type QueryString for Source, named Source: when page refresh after saving data, url maintains Source (i.e. for redirect to list when you click on Save or Cancel).&lt;br /&gt;
&lt;br /&gt;
Then, search for this code&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;dvt_apos&quot;&amp;gt;&amp;amp;apos;&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:variable name=&quot;dvt_1_automode&quot;&amp;gt;0&amp;lt;/xsl:variable&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
And add code below:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;ListItemId&quot;&amp;gt;0&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;xsl:param name=&quot;Source&quot;&amp;gt;&amp;lt;/xsl:param&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Search for button save/cancel in xslt, find this code:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;sharepoint:savebutton controlmode=&quot;Edit&quot; id=&quot;savebutton2&quot; runat=&quot;server&quot;&gt;&lt;/sharepoint:savebutton&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;SharePoint:SaveButton runat=&quot;server&quot; ControlMode=&quot;Edit&quot; id=&quot;savebutton2&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Add code below (the button):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;input type=&quot;button&quot; value=&quot;Applica&quot; name=&quot;btnSave&quot; onclick=&quot;javascript: {ddwrt:GenFireServerEvent(concat(&#39;__commit;__redirect={ModificaPratica.aspx?ID=&#39;,$ListItemId,&#39;&amp;amp;amp;Source=&#39;,$Source,&#39;}&#39;))}&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In code, you see GeFireServerEvent function: this executes save and then redirect to url shown.&lt;br /&gt;
The url concatenates ID and ListItemId parameter and Source with correspondant parameter.&lt;br /&gt;
&lt;br /&gt;
Result: when you click on Apply, Item is saved and page reload (with same Source in querystring), insthead of redirect to Source.&lt;br /&gt;
&lt;br /&gt;
Tips: you can add new Custom Action to list item (with SPDesigner), adding call to js function that execute click on button with name=&quot;btnSave&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$(&quot;input[name=&#39;btnSave&#39;]&quot;).click();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So, you have ribbon button for Apply (save and reload form), Save (save and close, redirect to source), Cancel (close and redirect to source)&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;</description><link>http://webdevshareetc.blogspot.com/2014/01/sharepoint-add-button-apply-to-list.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-3040421062342101585</guid><pubDate>Mon, 09 Dec 2013 12:05:00 +0000</pubDate><atom:updated>2013-12-09T13:05:57.277+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">ecb</category><category domain="http://www.blogger.com/atom/ns#">list menu</category><category domain="http://www.blogger.com/atom/ns#">menu contestuale</category><category domain="http://www.blogger.com/atom/ns#">office365</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>Office365 / SharePoint 2013 - Modificare l&#39;ordine dei link del menu contestuale (ECB)</title><description>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjOw9SPaCZD7CUCB724Xv4DPES_MA2vHHs9KG7k_hh_4ih5zydXhBWMvEqCa4dnWMsz02Ib4f95IvUrShyXbsLmar7YPUYfPuy0waGqbx8i3C26Hm_e2rb1FuyktufaJzcy_p2WsQtt5nq/s1600/ECB.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjOw9SPaCZD7CUCB724Xv4DPES_MA2vHHs9KG7k_hh_4ih5zydXhBWMvEqCa4dnWMsz02Ib4f95IvUrShyXbsLmar7YPUYfPuy0waGqbx8i3C26Hm_e2rb1FuyktufaJzcy_p2WsQtt5nq/s1600/ECB.png&quot; /&gt;&lt;/a&gt;Se vi è capitato di utilizzare,&amp;nbsp;da SharePoint Designer 2013,&amp;nbsp;una Custom Action per aggiungere nel menu contestuale di un item un nuovo link (ad esempio verso una funzionalità custom o una form personalizzata), vi sarete accorti anche voi della difficoltà di inserire questo nuovo link in una posizione definita.&lt;br /&gt;
&lt;br /&gt;
Al contrario dei bottoni sul Ribbon, non possiamo utilizzare schemi per la posizione e il sequence numerico sembra non avere nessun effetto.&lt;br /&gt;
&lt;br /&gt;
Utilizzando la stessa funzione del mio post &lt;a href=&quot;http://webdevshareetc.blogspot.it/2013/12/office365-sharepoint-2013-nascondere.html&quot; target=&quot;_blank&quot;&gt;Office365 / SharePoint 2013 - Nascondere link del menu contestuale (ECB)&lt;/a&gt;, ho inserito un comando aggiuntivo per invertire ad esempio il link per Eliminare un Articolo, posizionandolo al terzo posto dell&#39;item &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La funzione per la sostituzione è la seguente:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;function ExchangePositionWith(firstselector, secondselector) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var other = $(secondselector);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var first = $(firstselector).after(other.clone());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; other.after(first).remove();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In cui richiamo il primo elemento (firstselector) e lo metto al posto del secondo (secondselector).&lt;br /&gt;
Nel mio caso, Elimina Articolo, visualizzato per primo, mi interessa al terzo posto, quindi ho eseguito due volte la funzione:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;ExchangePositionWith($(&quot;a[title=&#39;Elimina Articolo&#39;]&quot;).parent(), $(&quot;a[title=&#39;Modifica elemento&#39;]&quot;).parent());&lt;br /&gt;&amp;nbsp;&amp;nbsp;ExchangePositionWith($(&quot;a[title=&#39;Modifica elemento&#39;]&quot;).parent(), $(&quot;a[title=&#39;Visualizza elemento&#39;]&quot;).parent());&lt;/span&gt;&lt;br /&gt;
Et voilà:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsgfKPdUZyXoi9-k3ObtX8iHssjM-pj9dYk1-DR-8COq6hbhu8sWI_HBXGKK7Z7pNFqqZnACurXbcXtkYRDZzFVI4YcU7535hYYvLJj1E0tqfpLMI-xVBz73SLqGlVZAkk9o_zeUcpNpGn/s1600/ECB_new.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsgfKPdUZyXoi9-k3ObtX8iHssjM-pj9dYk1-DR-8COq6hbhu8sWI_HBXGKK7Z7pNFqqZnACurXbcXtkYRDZzFVI4YcU7535hYYvLJj1E0tqfpLMI-xVBz73SLqGlVZAkk9o_zeUcpNpGn/s1600/ECB_new.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2013/12/office365-sharepoint-2013-modificare.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjOw9SPaCZD7CUCB724Xv4DPES_MA2vHHs9KG7k_hh_4ih5zydXhBWMvEqCa4dnWMsz02Ib4f95IvUrShyXbsLmar7YPUYfPuy0waGqbx8i3C26Hm_e2rb1FuyktufaJzcy_p2WsQtt5nq/s72-c/ECB.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-6467671737225291954</guid><pubDate>Mon, 09 Dec 2013 11:57:00 +0000</pubDate><atom:updated>2013-12-09T13:06:48.163+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">ecb</category><category domain="http://www.blogger.com/atom/ns#">list menu</category><category domain="http://www.blogger.com/atom/ns#">office365</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>Office365 / SharePoint 2013 - Nascondere link del menu contestuale (ECB)</title><description>Utilizzando jQuery ho inserito in un javascript&amp;nbsp;un comando per sostituire le funzioni richiamate dal clic sul Menu dell&#39;item (i &quot;...&quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;$(&quot;div.ms-list-itemLink&quot;).click(function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;CoreInvoke(&#39;ShowECBMenuForTr&#39;, this, event);GestioneMenuItem(); return false;&lt;br /&gt;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;$(&quot;a.ms-lstItmLinkAnchor&quot;).click(function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;CoreInvoke(&#39;ShowECBMenuForTr&#39;, this, event);GestioneMenuItem(); return false;&lt;br /&gt;&amp;nbsp;});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Questi comandi aggiungono una funzione al metodo standard richiamato dal clic e che genera il menu contestuale dell&#39;item.&lt;br /&gt;
&lt;br /&gt;
La funzione &quot;iniettata&quot; esegue un secondo comando dopo qualche ms, attendendo la creazione del menu.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;function GestioneMenuItem(){&lt;br /&gt;&amp;nbsp;setTimeout(&quot;DoGestioneMenuItem()&quot;,300);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
La funzione responsabile della modifica del menu è la seguente e cerca gli elementi da nascondere tramite il titolo del link:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;function DoGestioneMenuItem(){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;$(&quot;a[title=&#39;Elimina elemento&#39;]&quot;).parent().hide();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Il risultato è che, dopo il clic ed un leggero intervallo, verrà nascosta la voce di menu.&lt;br /&gt;
&lt;br /&gt;
Prima: &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2iGXpBrQMaNTmIC4IPjB1l4T7emWPVOd0Ye1JKb1VOvMLwywB488rTlZoMMCXih2Tsua23cLFvO99LQUuo3i7maii0UgQuZ09XxQSglq1XKbpNxRyBElmxeDHJhQ7ntGqeCjbGYggT50U/s1600/ECB.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2iGXpBrQMaNTmIC4IPjB1l4T7emWPVOd0Ye1JKb1VOvMLwywB488rTlZoMMCXih2Tsua23cLFvO99LQUuo3i7maii0UgQuZ09XxQSglq1XKbpNxRyBElmxeDHJhQ7ntGqeCjbGYggT50U/s1600/ECB.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Dopo:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg63tpsF_4IFAqEex0CuXBtQiPIR8isqxSEhlN4qY3ekji3cV19oO6-tAiahSjYkUHpGbplEUKLw-UqEXfhd6I8lI0xkqAIa37YldJi6YjKGQ7OgIvU_DThI2qs2LN8WjUQbluYrTFYSzn6/s1600/ECB_new.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg63tpsF_4IFAqEex0CuXBtQiPIR8isqxSEhlN4qY3ekji3cV19oO6-tAiahSjYkUHpGbplEUKLw-UqEXfhd6I8lI0xkqAIa37YldJi6YjKGQ7OgIvU_DThI2qs2LN8WjUQbluYrTFYSzn6/s1600/ECB_new.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2013/12/office365-sharepoint-2013-nascondere.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2iGXpBrQMaNTmIC4IPjB1l4T7emWPVOd0Ye1JKb1VOvMLwywB488rTlZoMMCXih2Tsua23cLFvO99LQUuo3i7maii0UgQuZ09XxQSglq1XKbpNxRyBElmxeDHJhQ7ntGqeCjbGYggT50U/s72-c/ECB.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-2836536779207894251</guid><pubDate>Tue, 08 Oct 2013 07:33:00 +0000</pubDate><atom:updated>2013-10-08T09:33:56.969+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">caratteri speciali</category><category domain="http://www.blogger.com/atom/ns#">column</category><category domain="http://www.blogger.com/atom/ns#">convalida colonna</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">validazione</category><title>SharePoint 2010 - Convalida Colonna per caratteri speciali</title><description>Eccovi una bella formula per validare il testo inserito in una List Column.&lt;br /&gt;
La colonna non deve contenere caratteri speciali, ad esempio se questa viene usata per creare, tramite una procedura, un file o un Document Set.&lt;br /&gt;
&lt;br /&gt;
Modificare la colonna di lista e, espandere la sezione Convalida Colonna.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOcZ9-n6oN9AcRsSK6ve1llWd3-0pwvYRldpJ4KTUMj9LsIBhu3LLdwamWlUPKvwuMj44X25yGaYKm9nVh8aK-aH051t6O3ePZMmMn2LhLTPN4iGLJRuCSqDeFxsuICglY0nVeUFidBUF0/s1600/Modifica+colonna.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOcZ9-n6oN9AcRsSK6ve1llWd3-0pwvYRldpJ4KTUMj9LsIBhu3LLdwamWlUPKvwuMj44X25yGaYKm9nVh8aK-aH051t6O3ePZMmMn2LhLTPN4iGLJRuCSqDeFxsuICglY0nVeUFidBUF0/s400/Modifica+colonna.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Inserire il testo seguente nella formula:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;=AND(IF(ISERROR(FIND(&quot;,&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;&amp;amp;&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;!&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;@&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;~&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;#&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;$&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;%&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;^&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;*&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;(&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;)&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;-&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;=&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;+&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;:&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;;&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;&amp;lt;&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;&amp;gt;&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;?&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;&#39;&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;{&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;}&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;[&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;]&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;.&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;/&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;\&quot;;Titolo));TRUE);IF(ISERROR(FIND(&quot;&quot;&quot;&quot;;Titolo));TRUE))&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Attenzione: se desse errore, provare a sostituire il ; con la , (tranne che nel &quot;;&quot;). Questo vale soprattutto se la lingua del sito è in inglese (,) o italiano (;).&lt;br /&gt;
&lt;br /&gt;
Poi, nel campo Messaggio Utente inserire :&lt;br /&gt;
&lt;br /&gt;
Il Titolo non può contenere i caratteri seguenti: &amp;amp;,@,!,#,%,^,*,(,),:,;,,,?,&#39;,{,},[,],.,/,\,&quot;,~,$&lt;br /&gt;
&lt;br /&gt;
Salvare e il gioco è fatto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7iHPraWYBl7VSHb5lEI25ny0QCcaELRbsP6nHNRJRp-Xt1CCXBd4M-aGAXEROwSJsoL8Y3G5QvzpfilevihV3YylIDmY56gcTF4yLGbd5l1pT_0Yw-Vag-0UMH0SmrdAcu7Q4ne-tx5JW/s1600/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7iHPraWYBl7VSHb5lEI25ny0QCcaELRbsP6nHNRJRp-Xt1CCXBd4M-aGAXEROwSJsoL8Y3G5QvzpfilevihV3YylIDmY56gcTF4yLGbd5l1pT_0Yw-Vag-0UMH0SmrdAcu7Q4ne-tx5JW/s400/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2013/10/sharepoint-2010-convalida-colonna-per.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOcZ9-n6oN9AcRsSK6ve1llWd3-0pwvYRldpJ4KTUMj9LsIBhu3LLdwamWlUPKvwuMj44X25yGaYKm9nVh8aK-aH051t6O3ePZMmMn2LhLTPN4iGLJRuCSqDeFxsuICglY0nVeUFidBUF0/s72-c/Modifica+colonna.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-6297277174777541391</guid><pubDate>Tue, 23 Jul 2013 17:00:00 +0000</pubDate><atom:updated>2013-07-24T09:38:50.671+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">cascading</category><category domain="http://www.blogger.com/atom/ns#">ecmascript</category><category domain="http://www.blogger.com/atom/ns#">jquery</category><category domain="http://www.blogger.com/atom/ns#">lookup</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint 2010 - Simple Cascading Lookup with SPServices</title><description>A new post on that excellent tool that is SPServices, the jQuery framework / EcmaScript for SharePoint!&lt;br /&gt;
&lt;br /&gt;
A simple scenario: we have two lists of data, for example, Countries and Companies for Countries, and a list which has two columns Lookup, Country and Company.&lt;br /&gt;
We want to be able to use the first Lookup, Country, to filter second, Company, showing Companies for the selected Country.&lt;br /&gt;
&lt;br /&gt;
We create the list Nations, with only the Title field.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s1600/Nazioni+++Tutti+gli+elementi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s320/Nazioni+++Tutti+gli+elementi.png&quot; width=&quot;296&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let&#39;s create Companies with Title (Company Name) and Country (lookup list to the Nations).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBnVQOrRDi_o0ULP2iqz0LwJxDW72Ttfz1c_l1xfGHvHHZicK9RLZgwWmmTVPVPkBDZxvwzvClNkSk5XbnE7Yb6Bl3lAzOur4L5F3oaQ1dvot-VZkt3dYopA2JTNnKzoRCZzV12YQ1tDT/s1600/Societ%C3%A0+++Tutti+gli+elementi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBnVQOrRDi_o0ULP2iqz0LwJxDW72Ttfz1c_l1xfGHvHHZicK9RLZgwWmmTVPVPkBDZxvwzvClNkSk5XbnE7Yb6Bl3lAzOur4L5F3oaQ1dvot-VZkt3dYopA2JTNnKzoRCZzV12YQ1tDT/s320/Societ%C3%A0+++Tutti+gli+elementi.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, let&#39;s create a list CustomList1 that has the two columns Country and Company, respectively lookup of Nations and Companies.&lt;br /&gt;
&lt;br /&gt;
We modify the NewForm.aspx and EditForm.aspx form by entering the following code, making sure to load the SiteAssets. Js file we need:&lt;br /&gt;
&lt;br /&gt;
jquery.SPServices-0.7.2.min.js (&lt;a href=&quot;http://spservices.codeplex.com/&quot; target=&quot;_blank&quot;&gt;download here&lt;/a&gt;)&lt;br /&gt;
jquery-1.8.2.min.js (tested with this version)&lt;br /&gt;
&lt;br /&gt;
Here&#39;s the code to insert in both forms (new and edit):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;../../SiteAssets/js/jquery-1.8.2.min.js&quot;&amp;gt; &amp;lt;/ script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;../../SiteAssets/js/jquery.SPServices-0.7.2.min.js&quot;&amp;gt; &amp;lt;/ script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ (Document). Ready (function () {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; $ (). SPServices.SPCascadeDropdowns ({&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipList: &quot;Company&quot;, // ​​Display Name of List of the second Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipListParentColumn: &quot;Country&quot;, // ​​Static Name of column of the list for the first Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipListChildColumn: &quot;Title&quot;, // ​​Static Name of the column of the second Lookup (Company Name)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; // CAMLQuery: &quot;&amp;lt;Eq&amp;gt; &amp;lt;FieldRef Name=&#39;Status&#39;/&amp;gt; &amp;lt;Value Type=&#39;Text&#39;&amp;gt; Active &amp;lt;/ Value&amp;gt; &amp;lt;/ Eq&amp;gt;&quot;, // ​​Any query to filter the results on the second Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; parentColumn: &quot;Country&quot;, // ​​Display Name of the column as written in the New or Edit form of CustomList1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; childColumn: &quot;Company&quot;, // ​​Display Name of the column as written in the New or Edit form of CustomList1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; simpleChild: true // change the display of the second Lookup in simple dropdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/ Script&amp;gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br /&gt;
So, opening a form, for example, new item:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiOgCMfCahVBRGXgabaiXB4y2eSMu3QukCwZCj6pIILxst3d0BtPViPsnrf7VsDXuB02WBNVuBaddrVEtRiZc5-2wSK7DGKWjfLGIu9ekf-fuIkGIn1O7Ly-zZjTuhkasEpKc-wyTtHGpT/s1600/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;89&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiOgCMfCahVBRGXgabaiXB4y2eSMu3QukCwZCj6pIILxst3d0BtPViPsnrf7VsDXuB02WBNVuBaddrVEtRiZc5-2wSK7DGKWjfLGIu9ekf-fuIkGIn1O7Ly-zZjTuhkasEpKc-wyTtHGpT/s320/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
The second dropdown is blank, and if we select the Country:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKlk55k3YYLfJOz05OMbYYRx_wey6-n6a6zRAoDGBTSndKEXffjjfS9I1Rx1YenQcHF2DQE9MlO6Z6O8MnN0AHflFy0r36syqKUOMDynIj37-PdhyfcD4vCGtU2gryWdNePHJNvpZPVHh3/s1600/societ%C3%A0+per+nazione+selezionata+1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKlk55k3YYLfJOz05OMbYYRx_wey6-n6a6zRAoDGBTSndKEXffjjfS9I1Rx1YenQcHF2DQE9MlO6Z6O8MnN0AHflFy0r36syqKUOMDynIj37-PdhyfcD4vCGtU2gryWdNePHJNvpZPVHh3/s1600/societ%C3%A0+per+nazione+selezionata+1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
We filter the entries in the second dropdown:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqOhgIr9iG4JZYR-4mBHbUy1OK1IxjxslvdwR6ENofMKDOA9Is2WlkOsmwJ44mzvO6Yk8-tPgeo7hx22cPxxWhCCQAQdgvMnb2k6W82J0ujnH1jqaQlpcfbCk0Akmgn8Zm6Jx1IoKzbxxz/s1600/societ%C3%A0+per+nazione+selezionata+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqOhgIr9iG4JZYR-4mBHbUy1OK1IxjxslvdwR6ENofMKDOA9Is2WlkOsmwJ44mzvO6Yk8-tPgeo7hx22cPxxWhCCQAQdgvMnb2k6W82J0ujnH1jqaQlpcfbCk0Akmgn8Zm6Jx1IoKzbxxz/s320/societ%C3%A0+per+nazione+selezionata+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
Of course, we can add code to do cascading on a third lookup.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
The only caution is that the script have the column names displayed in the form : if you change this label or, simply, using a multilingual site, you need to go to edit the script.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
And it&#39;s possible to call all in one .js (perhaps in the master page...) in order to make the changes only once and not have to change both forms..&lt;/div&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2013/07/sharepoint-2010-simple-cascading-lookup_23.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s72-c/Nazioni+++Tutti+gli+elementi.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-7323496365240172098</guid><pubDate>Tue, 23 Jul 2013 16:30:00 +0000</pubDate><atom:updated>2013-07-24T09:39:31.884+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">ecmascript</category><category domain="http://www.blogger.com/atom/ns#">lookup</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint 2010 - Semplice Cascading Lookup con SPServices</title><description>Ancora un post su quell&#39;ottimo strumento che è SPServices, il framework jQuery/Ecmascript per SharePoint!&lt;br /&gt;
&lt;br /&gt;
Uno scenario semplice: abbiamo due liste di anagrafiche, ad esempio, Nazioni e Aziende per Nazioni, e una lista che ha le due colonne Lookup, Nazione e Azienda.&lt;br /&gt;
Vogliamo poter utilizzare la prima Lookup, Nazione, per filtrare la seconda, Azienda, per le sole Aziende per il Paese selezionato.&lt;br /&gt;
&lt;br /&gt;
Creiamo la lista Nazioni, con il solo campo Title.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s1600/Nazioni+++Tutti+gli+elementi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s320/Nazioni+++Tutti+gli+elementi.png&quot; width=&quot;296&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ora creiamo la lista Aziende con Title (Nome Azienda) e Nazione (lookup verso la lista Nazioni).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBnVQOrRDi_o0ULP2iqz0LwJxDW72Ttfz1c_l1xfGHvHHZicK9RLZgwWmmTVPVPkBDZxvwzvClNkSk5XbnE7Yb6Bl3lAzOur4L5F3oaQ1dvot-VZkt3dYopA2JTNnKzoRCZzV12YQ1tDT/s1600/Societ%C3%A0+++Tutti+gli+elementi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBnVQOrRDi_o0ULP2iqz0LwJxDW72Ttfz1c_l1xfGHvHHZicK9RLZgwWmmTVPVPkBDZxvwzvClNkSk5XbnE7Yb6Bl3lAzOur4L5F3oaQ1dvot-VZkt3dYopA2JTNnKzoRCZzV12YQ1tDT/s320/Societ%C3%A0+++Tutti+gli+elementi.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Ora, creiamo una lista CustomList1 che abbia le due colonne Nazione e Azienda, rispettivamente lookup di Nazioni e Aziende.&lt;br /&gt;
&lt;br /&gt;
Modifichiamo i form NewForm.aspx e EditForm.aspx, inserendo il codice che segue, avendo cura di caricare in SiteAssets i file .js di cui abbiamo bisogno:&lt;br /&gt;
&lt;br /&gt;
jquery.SPServices-0.7.2.min.js (&lt;a href=&quot;http://spservices.codeplex.com/&quot; target=&quot;_blank&quot;&gt;download qui&lt;/a&gt;)&lt;br /&gt;
jquery-1.8.2.min.js (testato con questa versione)&lt;br /&gt;
&lt;br /&gt;
Ecco il codice da inserire in entrambi i form (new e edit):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;../../SiteAssets/js/jquery-1.8.2.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;../../SiteAssets/js/jquery.SPServices-0.7.2.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$(document).ready(function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; $().SPServices.SPCascadeDropdowns({&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipList: &quot;Società&quot;, &amp;nbsp;//Display Name della Lista della seconda Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipListParentColumn: &quot;Nazione&quot;, //Static Name della colonna della Lista per la prima Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; relationshipListChildColumn: &quot;Title&quot;, //Static Name della colonna della seconda Lookup (Nome Azienda)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; //CAMLQuery: &quot;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name=&#39;Status&#39;/&amp;gt;&amp;lt;Value Type=&#39;Text&#39;&amp;gt;Active&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&quot;, &amp;nbsp; //Eventuale query per filtrare i risultati sulla seconda Lookup&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; parentColumn: &quot;Nazione&quot;, //Display Name della colonna come scritta nel form New o Edit di CustomList1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; childColumn: &quot;Azienda&quot;, //Display Name della colonna come scritta nel form New o Edit di CustomList1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; simpleChild: true //modifica la visualizzazione della seconda Lookup in semplice dropdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
Quindi, aprendo un form, ad esempio, nuovo elemento:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiOgCMfCahVBRGXgabaiXB4y2eSMu3QukCwZCj6pIILxst3d0BtPViPsnrf7VsDXuB02WBNVuBaddrVEtRiZc5-2wSK7DGKWjfLGIu9ekf-fuIkGIn1O7Ly-zZjTuhkasEpKc-wyTtHGpT/s1600/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;89&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiOgCMfCahVBRGXgabaiXB4y2eSMu3QukCwZCj6pIILxst3d0BtPViPsnrf7VsDXuB02WBNVuBaddrVEtRiZc5-2wSK7DGKWjfLGIu9ekf-fuIkGIn1O7Ly-zZjTuhkasEpKc-wyTtHGpT/s320/Attivit%C3%A0+++Tutte+le+attivit%C3%A0.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
La seconda tendina rimane vuota, mentre se selezioniamo la Nazione:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKlk55k3YYLfJOz05OMbYYRx_wey6-n6a6zRAoDGBTSndKEXffjjfS9I1Rx1YenQcHF2DQE9MlO6Z6O8MnN0AHflFy0r36syqKUOMDynIj37-PdhyfcD4vCGtU2gryWdNePHJNvpZPVHh3/s1600/societ%C3%A0+per+nazione+selezionata+1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKlk55k3YYLfJOz05OMbYYRx_wey6-n6a6zRAoDGBTSndKEXffjjfS9I1Rx1YenQcHF2DQE9MlO6Z6O8MnN0AHflFy0r36syqKUOMDynIj37-PdhyfcD4vCGtU2gryWdNePHJNvpZPVHh3/s1600/societ%C3%A0+per+nazione+selezionata+1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Abbiamo il filtro sulle voci della seconda tendina:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqOhgIr9iG4JZYR-4mBHbUy1OK1IxjxslvdwR6ENofMKDOA9Is2WlkOsmwJ44mzvO6Yk8-tPgeo7hx22cPxxWhCCQAQdgvMnb2k6W82J0ujnH1jqaQlpcfbCk0Akmgn8Zm6Jx1IoKzbxxz/s1600/societ%C3%A0+per+nazione+selezionata+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqOhgIr9iG4JZYR-4mBHbUy1OK1IxjxslvdwR6ENofMKDOA9Is2WlkOsmwJ44mzvO6Yk8-tPgeo7hx22cPxxWhCCQAQdgvMnb2k6W82J0ujnH1jqaQlpcfbCk0Akmgn8Zm6Jx1IoKzbxxz/s320/societ%C3%A0+per+nazione+selezionata+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Ovviamente, possiamo aggiungere altro codice per andare a mettere in cascata una terza lookup.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
L&#39;unica accortezza è che gli script portano il nome visualizzato nel form delle colonne: se si cambia questa etichetta o, banalmente, si utilizza un sito multilingua, bisogna andare a modificare gli script.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
E&#39; possibile richiamare tutto in un .js (magari nella master page) in modo da fare le modifiche solo una volta e non dover modificare entrambi i form.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2013/07/sharepoint-2010-semplice-cascading.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3cK1vs10eSbrb-3-aZKUh8PVgGX3CSzWYS67dWU1AkS8KMsT8DAEOS57xlnnfTjEtQvUSeug8EiE9vn1nM_wcwbxRoq3Y1WCxN-1nJU7JpypTzh5CGCcgXUijVCyyin3_XuKAOP-Me1OP/s72-c/Nazioni+++Tutti+gli+elementi.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-5380341300915566633</guid><pubDate>Wed, 03 Jul 2013 08:23:00 +0000</pubDate><atom:updated>2013-07-03T10:23:41.544+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">css</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>SharePoint 2010 - Cambiare immagini e layout del Search Box </title><description>Abbiamo avuto qualche difficoltà nel dover cambiare il layout, le immagini o il css del box di Ricerca in un Sito SharePoint.&lt;br /&gt;
Il problema principale è nella modifica delle immagini: ad esempio, del bottone di ricerca, la lente di ingrandimento.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHcL8lCfNiyeWtZtt0AaNWFQze7-sh-6dct4fa9TLuSpWTogzlUNrsoJq534ihJLfoMGVyG0HZB76cFWnU89JENSE8Xuc11_obB7_dDw5Oh444HuurG80jLl0y4QJLw1ixxAK0jyMcblFA/s251/search-this-site.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;97&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHcL8lCfNiyeWtZtt0AaNWFQze7-sh-6dct4fa9TLuSpWTogzlUNrsoJq534ihJLfoMGVyG0HZB76cFWnU89JENSE8Xuc11_obB7_dDw5Oh444HuurG80jLl0y4QJLw1ixxAK0jyMcblFA/s400/search-this-site.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In SharePoint, viene recuperata tramite il posizionamento di una immagine unica (fgpng.png), contenente tutte le icone, utilizzando le proprietà di Top, Left sull&#39;immagine.&lt;br /&gt;
Modificare questo png con tutte le icone non è consigliabile, perché cambierebbe su tutti i Siti della farm.&lt;br /&gt;
Inoltre, la lente è proprio una immagine, definitia senza classe css, per cui non è possibile intervenire solo con il foglio di stile.&lt;br /&gt;
&lt;br /&gt;
Abbiamo trovato questa soluzione, un piccolo trucco, che ha funzionato egregiamente!&lt;br /&gt;
&lt;br /&gt;
Sovrascriviamo le classi che definiscono l&#39;immagine del bottone di ricerca e definiamo la nuova immagine per il link del bottone:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.ms-sbgo a &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;background-image:url(&quot;/_layouts/images/myboxsearch/lente.png&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;background-position:4px 5px;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;background-repeat: no-repeat;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;/* ecc ecc */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;E ora, nascondiamo l&#39;immagine, sempre con il css:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.ms-sbgo &amp;gt; a &amp;gt; img{ &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; visibility: hidden;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; height: 24px;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; width: 32px;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; padding:0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Il risultato è che vedremo solo la nostra icona sul bottone e non quella di sistema!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOge83lH0Mrb6WBy9kK0ew1RRCWN33As2qgOZGstd3bbgLk7GcmEfo9ERVHpfefo3zaMxzeW2DfuNZWXSJkhXFpot9mMifBKnvPTyJzG7vyufxgqm6TyDjQJVIIiQk9eLk5tn0blh27kiF/s261/search-this-site-new.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;87&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOge83lH0Mrb6WBy9kK0ew1RRCWN33As2qgOZGstd3bbgLk7GcmEfo9ERVHpfefo3zaMxzeW2DfuNZWXSJkhXFpot9mMifBKnvPTyJzG7vyufxgqm6TyDjQJVIIiQk9eLk5tn0blh27kiF/s400/search-this-site-new.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Lo stesso trucco si può utilizzare con successo anche per :&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Icone del Calendario (prev, next)&lt;/li&gt;
&lt;li&gt;Separatori delle Breadcrumbs&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://webdevshareetc.blogspot.com/2013/07/sharepoint-2010-cambiare-immagini-e.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHcL8lCfNiyeWtZtt0AaNWFQze7-sh-6dct4fa9TLuSpWTogzlUNrsoJq534ihJLfoMGVyG0HZB76cFWnU89JENSE8Xuc11_obB7_dDw5Oh444HuurG80jLl0y4QJLw1ixxAK0jyMcblFA/s72-c/search-this-site.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-6230475513144744298</guid><pubDate>Tue, 04 Jun 2013 21:22:00 +0000</pubDate><atom:updated>2013-06-04T23:22:58.935+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">initiation form</category><category domain="http://www.blogger.com/atom/ns#">issue</category><category domain="http://www.blogger.com/atom/ns#">kb</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">workflow</category><title>SharePoint Designer 2010 - Issue with globally reusable Workflow Initiation Form on Foundation</title><description>In September 2012, I&#39;ve opened a thread in SharePoint Dev Center Forum about an issue on globally reusable Workflow in SharePoint Foundation 2010.&lt;br /&gt;
&lt;br /&gt;
You can find thread here:&amp;nbsp;&lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomizationprevious/thread/66cf91e8-9d38-4573-948c-071e66763ba3/&quot;&gt;http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomizationprevious/thread/66cf91e8-9d38-4573-948c-071e66763ba3/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Today, I received an answer from Microsoft!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEs2-4T42SD0jTUgASdWZ3hiFcrV3BYARglV8qEzRqoQ7JC5InPi9yPA9p3tdE668qxdXmzD9JMUeatXEYnxYgx5B3zXqe1nMnKQkW4AcQg-O5Zzwdgsf5ETLkdkLi-CARmyrQ6O47ESFU/s1600/Initiation+Forms++caching++in+Globally+Reusable+WF+in+SP2010+Foundation+.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEs2-4T42SD0jTUgASdWZ3hiFcrV3BYARglV8qEzRqoQ7JC5InPi9yPA9p3tdE668qxdXmzD9JMUeatXEYnxYgx5B3zXqe1nMnKQkW4AcQg-O5Zzwdgsf5ETLkdkLi-CARmyrQ6O47ESFU/s640/Initiation+Forms++caching++in+Globally+Reusable+WF+in+SP2010+Foundation+.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Yes: there&#39;s an issue and they give KB to solve!&amp;nbsp;&lt;a href=&quot;http://support.microsoft.com/kb/2846543/en-gb&quot;&gt;http://support.microsoft.com/kb/2846543/en-gb&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWEpeinqEt_OoOSpTA_7oriFZ4dDFmm-Rl5uIjmKcPHwm9lg5Omb2PbNHAEeTqKoQLdgg0ImP0_ju0ibXVMs4Bwtlt176jHdK0VBPW3VVoN9Gy5UY6_W1-jhOlkJfeq46ylwfJfO2oZG4z/s1600/SharePoint+Foundation+2010++Wrong+Initiation+Form+used+if+2+Reusable+SharePoint+Designer+Workflows+are+attached+to+the+same+Document+Library.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;356&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWEpeinqEt_OoOSpTA_7oriFZ4dDFmm-Rl5uIjmKcPHwm9lg5Omb2PbNHAEeTqKoQLdgg0ImP0_ju0ibXVMs4Bwtlt176jHdK0VBPW3VVoN9Gy5UY6_W1-jhOlkJfeq46ylwfJfO2oZG4z/s640/SharePoint+Foundation+2010++Wrong+Initiation+Form+used+if+2+Reusable+SharePoint+Designer+Workflows+are+attached+to+the+same+Document+Library.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
:-)</description><link>http://webdevshareetc.blogspot.com/2013/06/sharepoint-designer-2010-issue-with.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEs2-4T42SD0jTUgASdWZ3hiFcrV3BYARglV8qEzRqoQ7JC5InPi9yPA9p3tdE668qxdXmzD9JMUeatXEYnxYgx5B3zXqe1nMnKQkW4AcQg-O5Zzwdgsf5ETLkdkLi-CARmyrQ6O47ESFU/s72-c/Initiation+Forms++caching++in+Globally+Reusable+WF+in+SP2010+Foundation+.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-4011700277922974750</guid><pubDate>Wed, 22 May 2013 14:30:00 +0000</pubDate><atom:updated>2013-05-22T16:30:00.393+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">approval status</category><category domain="http://www.blogger.com/atom/ns#">filter</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">view</category><category domain="http://www.blogger.com/atom/ns#">workflow</category><title>SharePoint 2007/10 - Filtrare gli Item di una Lista per Workflow (Approval) Status</title><description>Per poter filtrare i documenti o gli item di una lista in base allo stato del workflow, possiamo creare una nuova vista e configurare il filtro utilizzando la colonna [Stato flusso di lavoro] .&lt;br /&gt;
Ma se proviamo ad inserire come filtro, ad es., &quot;Approved&quot; o &quot;Rejected&quot;, non otteniamo risultati.&lt;br /&gt;
&lt;br /&gt;
Lo Stato del Workflow, infatti, viene memorizzato come un valore numerico!&lt;br /&gt;
I valori sono i seguenti:&lt;br /&gt;
&lt;br /&gt;
Not Started - 0&lt;br /&gt;
Failed on Start - 1&lt;br /&gt;
In Progress - 2&lt;br /&gt;
Error Occurred - 3&lt;br /&gt;
Canceled - 4 (manualmente)&lt;br /&gt;
Completed - 5&lt;br /&gt;
Failed on Start (retrying) - 6&lt;br /&gt;
Error Occurred (retrying) - 7&lt;br /&gt;
Canceled - 15 (da workflow)&lt;br /&gt;
Approved - 16&lt;br /&gt;
Rejected - 17&lt;br /&gt;
&lt;br /&gt;
L&#39;impostazione corretta del filtro sarà quindi come l&#39;immagine seguente:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s1600/6a00d83452791169e200e54f22d06b8834-800wi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s1600/6a00d83452791169e200e54f22d06b8834-800wi.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Fare attenzione ai valori per Canceled!&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Sono diventato matto, ma se la Cancellazione è stata eseguita automaticamente dal Workflow, usare il valore 15, se invece il Workflow è stato interrotto manualmente dall&#39;amministratore (ad es perché in errore), allora occorre usare il valore 4!&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>http://webdevshareetc.blogspot.com/2013/05/sharepoint-200710-filtrare-gli-item-di.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s72-c/6a00d83452791169e200e54f22d06b8834-800wi.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-8830032869821997076</guid><pubDate>Wed, 22 May 2013 14:28:00 +0000</pubDate><atom:updated>2013-05-22T16:28:20.284+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2007</category><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">filter</category><category domain="http://www.blogger.com/atom/ns#">list</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">view</category><category domain="http://www.blogger.com/atom/ns#">workflow</category><title>SharePoint 2007/10 - How to Filter List Items by Workflow (Approval) Status</title><description>In order to filter documents or items in a list by status of the workflow, we can create a new view and set the filter using the column [Workflow Status].&lt;br /&gt;
But if we try to insert as a filter &quot;Approved&quot; or &quot;Rejected&quot;, we do not get results.&lt;br /&gt;
&lt;br /&gt;
The Workflow Status is stored as a numerical value!&lt;br /&gt;
The values ​​are as follows:&lt;br /&gt;
&lt;br /&gt;
Not Started - 0&lt;br /&gt;
Failed on Start - 1&lt;br /&gt;
In Progress - 2&lt;br /&gt;
Error Occurred - 3&lt;br /&gt;
Canceled - 4 (manually)&lt;br /&gt;
Completed - 5&lt;br /&gt;
Failed on Start (retrying) - 6&lt;br /&gt;
Error Occurred (retrying) - 7&lt;br /&gt;
Canceled - 15 (from workflow)&lt;br /&gt;
Approved - 16&lt;br /&gt;
Rejected - 17&lt;br /&gt;
&lt;br /&gt;
The correct setting of the filter will then be like the following image:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s1600/6a00d83452791169e200e54f22d06b8834-800wi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s1600/6a00d83452791169e200e54f22d06b8834-800wi.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Pay attention to the values ​​for Canceled!&lt;br /&gt;
If the cancellation is done automatically by the Workflow, use the value 15, but if the Workflow is stopped manually by the administrator (eg because of error), then you need to use a value of 4!</description><link>http://webdevshareetc.blogspot.com/2013/05/sharepoint-200710-how-to-filter-list.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYWtDPdK56kq_hyphenhyphenRKwpbogTOAb9egcUkiNYigSFq5oySKbICnN1cL4nkEj9wiMt0Zc9KEIQLCUG65sIA0u6jY9UXVLXcTwufsw4Fet4D45mbEekkcWlYt1oaamtA4t4FG5nmJp-6T63c2/s72-c/6a00d83452791169e200e54f22d06b8834-800wi.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-1576077139026897548</guid><pubDate>Thu, 16 May 2013 13:02:00 +0000</pubDate><atom:updated>2013-05-27T17:46:27.898+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">update conflict</category><title>SharePoint 2010: An update conflict has occurred, and you must re-try this action</title><description>Ogni volta che provo a fare il Backup della Farm, ricevo questo errore:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;&quot;An unhandled exception occurred in the user interface.Exception Information: An update conflict has occurred, and you must re-try this action. The object SessionStateService Parent=SPFarm Name=SharePoint_Config is being updated by DOMAIN\username, in the w3wp process, on machine XXXXXX. &amp;nbsp;View the tracing log for more information about the conflict.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Per risolvere il problema, ripulire la cahce del file system su tutti i server della farm in cui gira Windows SharePoint Services Timer service.&lt;br /&gt;
Per farlo seguire questi passi:&lt;br /&gt;
&lt;br /&gt;
1.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; Fermare il &lt;/span&gt;Timer service, in questo modo:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Click Start, vai su Administrative Tools, e cliccare su Services.&lt;/li&gt;
&lt;li&gt;Tasto destro su Windows SharePoint Services Timer, e clic su Stop.&lt;/li&gt;
&lt;/ul&gt;
2.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; Eliminare o spostare il &lt;b&gt;contenuto &lt;/b&gt;della cartella seguente&lt;/span&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;%ALLUSERSPROFILE%\Application Data\Microsoft\SharePoint\Config\[GUID]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Riavviare il Timer service, in questo modo:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Click Start, vai su Administrative Tools, e cliccare su Services.&lt;/li&gt;
&lt;li&gt;Tasto destro su Windows SharePoint Services Timer, e clic su&amp;nbsp;Start.&lt;/li&gt;
&lt;/ul&gt;
Note: Il file system cache verrà ricreato dopo questa procedura.&lt;br /&gt;
&lt;br /&gt;
Assicurati di eseguire la procedura su tutti i server della farm!</description><link>http://webdevshareetc.blogspot.com/2013/05/sharepoint-2010-update-conflict-has_16.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1166220361463020672.post-4792440891159842153</guid><pubDate>Thu, 16 May 2013 12:56:00 +0000</pubDate><atom:updated>2013-05-27T17:46:48.359+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">update conflict</category><title>SharePoint 2010: An update conflict has occurred, and you must re-try this action (Eng)</title><description>I started to get this message everytime I try to Backup Farm.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;&quot;An unhandled exception occurred in the user interface.Exception Information: An update conflict has occurred, and you must re-try this action. The object SessionStateService Parent=SPFarm Name=SharePoint_Config is being updated by DOMAIN\username, in the w3wp process, on machine XXXXXX. &amp;nbsp;View the tracing log for more information about the conflict.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To resolve this issue, clear the file system cache on all servers in the server farm on which the Windows SharePoint Services Timer service is running.&lt;br /&gt;
To do this, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Stop the Timer service. To do this, follow these steps:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Click Start, point to Administrative Tools, and then click Services.&lt;/li&gt;
&lt;li&gt;Right-click Windows SharePoint Services Timer, and then click Stop.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
2.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Delete or move the &lt;b&gt;contents&lt;/b&gt; of the following folder:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;%ALLUSERSPROFILE%\Application Data\Microsoft\SharePoint\Config\[GUID]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Start the Timer service. To do this, follow these steps:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Click Start, point to Administrative Tools, and then click Services.&lt;/li&gt;
&lt;li&gt;Right-click Windows SharePoint Services Timer, and then click Start.&lt;/li&gt;
&lt;/ul&gt;
Note: The file system cache is re-created after you perform this procedure.&lt;br /&gt;
&lt;br /&gt;
Make sure that you perform this procedure on all servers in the server farm on which the Timer service is running.</description><link>http://webdevshareetc.blogspot.com/2013/05/sharepoint-2010-update-conflict-has.html</link><author>noreply@blogger.com (Giorgio Guerrieri)</author><thr:total>0</thr:total></item></channel></rss>