<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</title>
	<atom:link href="https://landlogic.it/feed/" rel="self" type="application/rss+xml" />
	<link>https://landlogic.it/</link>
	<description>LandLogic IT &#124; Siti web, E-commerce, software, internet delle cose, .NET</description>
	<lastBuildDate>Wed, 13 May 2026 16:33:50 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://landlogic.it/wp-content/uploads/2022/06/logolinkedin-150x150.png</url>
	<title>LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</title>
	<link>https://landlogic.it/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>MyISAM vs InnoDB: risolti rallentamenti e blocchi su server Plesk multi-sito</title>
		<link>https://landlogic.it/myisam-vs-innodb-risolti-rallentamenti-e-blocchi-su-server-plesk-multi-sito/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Wed, 13 May 2026 16:33:50 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1419</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/myisam-vs-innodb-risolti-rallentamenti-e-blocchi-su-server-plesk-multi-sito/">MyISAM vs InnoDB: risolti rallentamenti e blocchi su server Plesk multi-sito</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">MyISAM vs InnoDB: risolti rallentamenti e blocchi su server Plesk multi-sito</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p data-start="127" data-end="454">Negli ultimi interventi di ottimizzazione eseguiti sui server hosting gestiti da <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">LandLogic IT</span></span>, abbiamo individuato una problematica spesso sottovalutata negli ambienti con molti siti WordPress, WooCommerce e applicazioni web dinamiche: l’utilizzo di tabelle database in formato MyISAM invece di InnoDB.</p>
<p data-start="456" data-end="494">In diversi casi i server presentavano:</p>
<ul data-start="495" data-end="719">
<li data-section-id="qx2d57" data-start="495" data-end="530">rallentamenti improvvisi dei siti</li>
<li data-section-id="156n2er" data-start="531" data-end="548">timeout casuali</li>
<li data-section-id="1u88kui" data-start="549" data-end="580">backend WordPress molto lenti</li>
<li data-section-id="1vpx6m" data-start="581" data-end="610">picchi anomali di CPU e I/O</li>
<li data-section-id="1btihft" data-start="611" data-end="642">blocchi temporanei di PHP-FPM</li>
<li data-section-id="14ka0rj" data-start="643" data-end="719">accesso rallentato anche al pannello <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Plesk</span></span></li>
</ul>
<p data-start="721" data-end="922">Dopo un’analisi approfondita del motore database <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">MariaDB</span></span>, abbiamo identificato numerose tabelle legacy ancora configurate con motore <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">MyISAM</span></span>.</p>
<h2 data-section-id="5wp1t0" data-start="924" data-end="979">Perché MyISAM può creare problemi nei server moderni</h2>
<p data-start="981" data-end="1080">MyISAM è un motore storico di MySQL, nato in un’epoca molto diversa dagli attuali ambienti hosting.</p>
<p data-start="1082" data-end="1213">Il problema principale è che utilizza il cosiddetto “table locking”: quando una query scrive dati, l’intera tabella viene bloccata.</p>
<p data-start="1215" data-end="1231">In ambienti con:</p>
<ul data-start="1232" data-end="1392">
<li data-section-id="cpdq4k" data-start="1232" data-end="1270">molti siti contemporaneamente attivi</li>
<li data-section-id="wgnk6a" data-start="1271" data-end="1284">WooCommerce</li>
<li data-section-id="34lylo" data-start="1285" data-end="1333">plugin che scrivono continuamente nel database</li>
<li data-section-id="jlp2y4" data-start="1334" data-end="1351">cron automatici</li>
<li data-section-id="qn7pet" data-start="1352" data-end="1373">campagne Google Ads</li>
<li data-section-id="6psw2y" data-start="1374" data-end="1392">traffico elevato</li>
</ul>
<p data-start="1394" data-end="1501">questo comportamento può generare code di query, processi PHP in attesa e saturazione delle risorse server.</p>
<p data-start="1503" data-end="1536">Il risultato è un effetto domino:</p>
<ul data-start="1537" data-end="1662">
<li data-section-id="lcdfir" data-start="1537" data-end="1553">query bloccate</li>
<li data-section-id="pig7tv" data-start="1554" data-end="1577">PHP-FPM congestionato</li>
<li data-section-id="av8g05" data-start="1578" data-end="1600">aumento utilizzo CPU</li>
<li data-section-id="14824lw" data-start="1601" data-end="1623">timeout nginx/apache</li>
<li data-section-id="133zqew" data-start="1624" data-end="1662">siti temporaneamente irraggiungibili</li>
</ul>
<h2 data-section-id="dfkl50" data-start="1664" data-end="1688">La soluzione adottata</h2>
<p data-start="1690" data-end="1709">Abbiamo effettuato:</p>
<ul data-start="1710" data-end="1981">
<li data-section-id="1xg0omh" data-start="1710" data-end="1743">scansione completa dei database</li>
<li data-section-id="7uukpk" data-start="1744" data-end="1782">identificazione delle tabelle MyISAM</li>
<li data-section-id="1rlp9xy" data-start="1783" data-end="1819">verifica compatibilità applicativa</li>
<li data-section-id="1ix9l3e" data-start="1820" data-end="1889">conversione controllata verso <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">InnoDB</span></span></li>
<li data-section-id="rbfmbd" data-start="1890" data-end="1927">ottimizzazione dei servizi database</li>
<li data-section-id="12zwe5n" data-start="1928" data-end="1981">verifica dei plugin che generavano carico eccessivo</li>
</ul>
<p data-start="1983" data-end="2014">InnoDB offre numerosi vantaggi:</p>
<ul data-start="2015" data-end="2237">
<li data-section-id="neq1q2" data-start="2015" data-end="2050">locking a livello di singola riga</li>
<li data-section-id="1x509es" data-start="2051" data-end="2094">migliore gestione concorrente delle query</li>
<li data-section-id="198nf8o" data-start="2095" data-end="2133">recovery automatica in caso di crash</li>
<li data-section-id="1uynu4p" data-start="2134" data-end="2154">maggiore stabilità</li>
<li data-section-id="16j4uop" data-start="2155" data-end="2192">migliore utilizzo di RAM e SSD/NVMe</li>
<li data-section-id="vjr42n" data-start="2193" data-end="2237">performance superiori nei workload moderni</li>
</ul>
<h2 data-section-id="1sb8xxs" data-start="2239" data-end="2260">Risultati ottenuti</h2>
<p data-start="2262" data-end="2281">Dopo la migrazione:</p>
<ul data-start="2282" data-end="2475">
<li data-section-id="o4ol08" data-start="2282" data-end="2314">riduzione dei blocchi database</li>
<li data-section-id="yur1qd" data-start="2315" data-end="2347">backend WordPress più reattivi</li>
<li data-section-id="afm0cl" data-start="2348" data-end="2368">minori timeout PHP</li>
<li data-section-id="1saan4s" data-start="2369" data-end="2396">carico server più stabile</li>
<li data-section-id="1hfzyly" data-start="2397" data-end="2429">miglior utilizzo delle risorse</li>
<li data-section-id="1mk0pop" data-start="2430" data-end="2475">maggiore affidabilità generale dell’hosting</li>
</ul>
<p data-start="2477" data-end="2606">In ambienti multi-sito, anche piccoli dettagli infrastrutturali possono fare una grande differenza sulle performance complessive.</p>
<h2 data-section-id="1c15qyv" data-start="2608" data-end="2656">Ottimizzazione hosting: non conta solo la CPU</h2>
<p data-start="2658" data-end="2744">Molto spesso si pensa che i rallentamenti dipendano soltanto dalla potenza del server.</p>
<p data-start="2746" data-end="2787">In realtà entrano in gioco molti fattori:</p>
<ul data-start="2788" data-end="2956">
<li data-section-id="b2vc5f" data-start="2788" data-end="2805">motore database</li>
<li data-section-id="15agqi5" data-start="2806" data-end="2830">configurazione PHP-FPM</li>
<li data-section-id="v5444o" data-start="2831" data-end="2849">plugin WordPress</li>
<li data-section-id="16c7hlw" data-start="2850" data-end="2857">cache</li>
<li data-section-id="179h5y9" data-start="2858" data-end="2865">Redis</li>
<li data-section-id="1mkpxk4" data-start="2866" data-end="2886">gestione query SQL</li>
<li data-section-id="1vgzu9f" data-start="2887" data-end="2898">I/O disco</li>
<li data-section-id="11fpk83" data-start="2899" data-end="2923">configurazione MariaDB</li>
<li data-section-id="1cxbagh" data-start="2924" data-end="2956">numero di processi concorrenti</li>
</ul>
<p data-start="2958" data-end="3040">L’ottimizzazione reale richiede un’analisi completa dell’intero stack applicativo.</p>
<h2 data-section-id="7oo8b3" data-start="3042" data-end="3056">Conclusioni</h2>
<p data-start="3058" data-end="3217">L’aggiornamento da MyISAM a InnoDB rappresenta ancora oggi uno degli interventi più efficaci per migliorare stabilità e performance nei server hosting moderni.</p>
<p data-start="3219" data-end="3391">Su ambienti con molti siti WordPress, WooCommerce o applicazioni business, questa differenza può incidere concretamente sull’esperienza utente e sulla continuità operativa.</p>
<p data-start="3561" data-end="3621">&#8211; <a href="https://landlogic.it/contatti/">Contattaci</a>: per approfondimenti e info tecniche.</p>
</div></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_left"><div class="w-image-h"><img decoding="async" width="1536" height="1024" src="https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-13-mag-2026-18_28_57.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-13-mag-2026-18_28_57.png 1536w, https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-13-mag-2026-18_28_57-300x200.png 300w, https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-13-mag-2026-18_28_57-1024x683.png 1024w" sizes="auto, (max-width: 1536px) 100vw, 1536px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/myisam-vs-innodb-risolti-rallentamenti-e-blocchi-su-server-plesk-multi-sito/">MyISAM vs InnoDB: risolti rallentamenti e blocchi su server Plesk multi-sito</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Docker Desktop 4.73 su Windows 11: attenzione alla migrazione automatica containerd e ai volumi WSL2</title>
		<link>https://landlogic.it/docker-desktop-4-73-su-windows-11-attenzione-alla-migrazione-automatica-containerd-e-ai-volumi-wsl2/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Tue, 12 May 2026 10:25:57 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1415</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/docker-desktop-4-73-su-windows-11-attenzione-alla-migrazione-automatica-containerd-e-ai-volumi-wsl2/">Docker Desktop 4.73 su Windows 11: attenzione alla migrazione automatica containerd e ai volumi WSL2</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Docker Desktop 4.73 su Windows 11: attenzione alla migrazione automatica containerd e ai volumi WSL2</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p data-start="834" data-end="964">Negli ultimi giorni abbiamo riscontrato un comportamento critico su un ambiente Windows 11 Pro aggiornato con Docker Desktop 4.73.</p>
<p data-start="966" data-end="987">Dopo l’aggiornamento:</p>
<ul data-start="988" data-end="1242">
<li data-section-id="dlsw66" data-start="988" data-end="1024">Docker Desktop non si avviava più;</li>
<li data-section-id="1q095hu" data-start="1025" data-end="1092">i processi <code data-start="1038" data-end="1052">com.docker.*</code> comparivano e sparivano immediatamente;</li>
<li data-section-id="rjx6b" data-start="1093" data-end="1176">la distribuzione WSL2 <code data-start="1117" data-end="1138">docker-desktop-data</code> risultava nello stato <code data-start="1161" data-end="1175">Uninstalling</code>;</li>
<li data-section-id="hllr8b" data-start="1177" data-end="1242">tutti i container, le immagini e i volumi sembravano scomparsi.</li>
</ul>
<p data-start="1244" data-end="1308">Nel nostro caso erano coinvolti oltre 100 GB di dati Docker tra:</p>
<ul data-start="1309" data-end="1432">
<li data-section-id="ote4mn" data-start="1309" data-end="1333">container persistenti,</li>
<li data-section-id="oqs6wo" data-start="1334" data-end="1364">database PostgreSQL/MariaDB,</li>
<li data-section-id="1rbnhvi" data-start="1365" data-end="1381">ambienti Odoo,</li>
<li data-section-id="tl5yra" data-start="1382" data-end="1405">stack Docker Compose,</li>
<li data-section-id="fhjibq" data-start="1406" data-end="1432">immagini personalizzate.</li>
</ul>
<p data-start="1434" data-end="1515">Fortunatamente il file VHDX contenente i dati era ancora presente e recuperabile.</p>
<h1 data-section-id="19kuqoe" data-start="1522" data-end="1532">La causa</h1>
<p data-start="1534" data-end="1638">Durante l’aggiornamento alla versione 4.73, Docker Desktop ha abilitato automaticamente la funzionalità:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"></div>
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span>Use containerd for pulling and storing images</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
<p data-start="1699" data-end="1816">Questa opzione introduce il nuovo image store basato su containerd e modifica il modo in cui Docker Desktop gestisce:</p>
<ul data-start="1817" data-end="1871">
<li data-section-id="19zfkjp" data-start="1817" data-end="1828">immagini,</li>
<li data-section-id="44htu0" data-start="1829" data-end="1840">snapshot,</li>
<li data-section-id="n09hqh" data-start="1841" data-end="1852">metadata,</li>
<li data-section-id="pu29lv" data-start="1853" data-end="1871">runtime storage.</li>
</ul>
<p data-start="1873" data-end="1980">Nel nostro caso la migrazione non è stata completata correttamente, lasciando WSL2 in uno stato incoerente.</p>
<hr data-start="1982" data-end="1985" />
<h1 data-section-id="1p5p8ql" data-start="1987" data-end="2008">Sintomi riscontrati</h1>
<ul data-start="2010" data-end="2197">
<li data-section-id="455b5e" data-start="2010" data-end="2039">Docker Desktop non si avvia</li>
<li data-section-id="1m90sji" data-start="2040" data-end="2087"><code data-start="2042" data-end="2063">docker-desktop-data</code> in stato <code data-start="2073" data-end="2087">Uninstalling</code></li>
<li data-section-id="1np6xdk" data-start="2088" data-end="2115">nessun container visibile</li>
<li data-section-id="bjn57u" data-start="2116" data-end="2150">backend Docker che crasha subito</li>
<li data-section-id="1ik5wbu" data-start="2151" data-end="2197">reinstallazione che non corregge il problema</li>
</ul>
<hr data-start="2199" data-end="2202" />
<h1 data-section-id="13y9h05" data-start="2204" data-end="2236">Procedura di recupero adottata</h1>
<ol data-start="2238" data-end="2518">
<li data-section-id="bcaps8" data-start="2238" data-end="2274">Backup immediato del file <code data-start="2267" data-end="2274">.vhdx</code></li>
<li data-section-id="z3a7sc" data-start="2275" data-end="2299">Arresto completo WSL2</li>
<li data-section-id="1x9mw3p" data-start="2300" data-end="2349">Disinstallazione controllata di Docker Desktop</li>
<li data-section-id="1gnv6wh" data-start="2350" data-end="2386">Installazione Docker Desktop 4.72</li>
<li data-section-id="1vfanvg" data-start="2387" data-end="2443">Disabilitazione della funzione containerd image store</li>
<li data-section-id="lrxy0x" data-start="2444" data-end="2493">Ripristino manuale del file <code data-start="2475" data-end="2493">docker_data.vhdx</code></li>
<li data-section-id="1xoktgn" data-start="2494" data-end="2518">Riavvio ambiente WSL2</li>
</ol>
<p data-start="2520" data-end="2539">Dopo il ripristino:</p>
<ul data-start="2540" data-end="2598">
<li data-section-id="1rqz2jm" data-start="2540" data-end="2560">tutti i container,</li>
<li data-section-id="180mdt8" data-start="2561" data-end="2575">le immagini,</li>
<li data-section-id="1d6vecp" data-start="2576" data-end="2598">i volumi persistenti</li>
</ul>
<p data-start="2600" data-end="2642">sono tornati operativi senza perdita dati.</p>
<hr data-start="2644" data-end="2647" />
<h1 data-section-id="8ruld8" data-start="2649" data-end="2674">Considerazioni tecniche</h1>
<p data-start="2676" data-end="2723">Questo episodio conferma quanto sia importante:</p>
<ul data-start="2725" data-end="2955">
<li data-section-id="dny4zs" data-start="2725" data-end="2764">effettuare backup dei file VHDX WSL2;</li>
<li data-section-id="1nx6ivi" data-start="2765" data-end="2819">evitare aggiornamenti immediati in ambienti critici;</li>
<li data-section-id="euka1n" data-start="2820" data-end="2859">testare nuove release Docker Desktop;</li>
<li data-section-id="4xjdtq" data-start="2860" data-end="2903">mantenere dump indipendenti dei database;</li>
<li data-section-id="1r7mous" data-start="2904" data-end="2955">valutare l’uso diretto di Docker Engine su Linux.</li>
</ul>
<p data-start="2957" data-end="3093">Per workload professionali persistenti, Linux rimane generalmente più prevedibile e stabile rispetto al layer Docker Desktop su Windows.</p>
<hr data-start="3095" data-end="3098" />
<h1 data-section-id="nqgzc0" data-start="3100" data-end="3113">Conclusione</h1>
<p data-start="3115" data-end="3360">Docker Desktop resta uno strumento estremamente utile per sviluppo e test, ma quando vengono introdotte modifiche profonde al backend storage/runtime, è fondamentale prestare attenzione agli aggiornamenti automatici e alle migrazioni containerd.</p>
<p data-start="3362" data-end="3491">Nel nostro caso il backup preventivo del file VHDX ha evitato una potenziale perdita di oltre 100 GB di ambienti containerizzati.</p>
<p data-start="3561" data-end="3621">&#8211; <a href="https://landlogic.it/contatti/">Contattaci</a>: per approfondimenti e info tecniche.</p>
</div></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_left"><div class="w-image-h"><img decoding="async" width="1536" height="1024" src="https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-12-mag-2026-12_24_24.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-12-mag-2026-12_24_24.png 1536w, https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-12-mag-2026-12_24_24-300x200.png 300w, https://landlogic.it/wp-content/uploads/2026/05/ChatGPT-Image-12-mag-2026-12_24_24-1024x683.png 1024w" sizes="auto, (max-width: 1536px) 100vw, 1536px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/docker-desktop-4-73-su-windows-11-attenzione-alla-migrazione-automatica-containerd-e-ai-volumi-wsl2/">Docker Desktop 4.73 su Windows 11: attenzione alla migrazione automatica containerd e ai volumi WSL2</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Magic Trackpad 2 su Windows: driver firmato EV e certificato da Microsoft</title>
		<link>https://landlogic.it/magic-trackpad-2-su-windows-driver-firmato-ev-e-certificato-da-microsoft/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Thu, 26 Feb 2026 17:49:36 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1397</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/magic-trackpad-2-su-windows-driver-firmato-ev-e-certificato-da-microsoft/">Magic Trackpad 2 su Windows: driver firmato EV e certificato da Microsoft</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Magic Trackpad 2 su Windows: driver firmato EV e certificato da Microsoft</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p><em>Come LandLogic ha reso il driver open-source di MagicTrackpad2ForWindows sicuro, attendibile e pronto per ambienti aziendali con Windows 11</em></p>
<p>Chi lavora con Mac e Windows in parallelo conosce bene la frustrazione di non poter utilizzare il Magic Trackpad di Apple su Windows con la stessa fluidità e ricchezza di gesture offerta su macOS. Il progetto open-source <strong>MagicTrackpad2ForWindows</strong>, sviluppato da Vito Plantamura e disponibile su GitHub (https://github.com/vitoplantamura/MagicTrackpad2ForWindows), risolve brillantemente questo problema: un driver Windows completo per Magic Trackpad 2, con supporto multi-touch, gesture avanzate e compatibilità sia USB che Bluetooth.</p>
<p>Il codice è tecnicamente solido e ben mantenuto. Tuttavia, per chi gestisce la sicurezza informatica di un&#8217;organizzazione, un driver non firmato o firmato senza certificati riconosciuti rappresenta un rischio inaccettabile: Windows mostra avvisi di sicurezza, i criteri di group policy possono bloccarne l&#8217;installazione e, soprattutto, non vi è alcuna garanzia di integrità verificabile sul software installato.</p>
<h2>La soluzione LandLogic: firma EV Code Signing + Microsoft Attestation</h2>
<p>LandLogic ha preso in carico la distribuzione certificata di questo driver, occupandosi dell&#8217;intera catena di firma e validazione. Il processo si articola in due passi fondamentali:</p>
<h3>1. Firma con certificato EV Code Signing</h3>
<p>LandLogic è in possesso di un certificato <strong>Extended Validation (EV) Code Signing</strong> rilasciato da una Certification Authority riconosciuta a livello globale. I certificati EV rappresentano il livello più alto di validazione per la firma del codice: richiedono una verifica rigorosa dell&#8217;identità legale dell&#8217;organizzazione firmataria e sono associati a un hardware security token fisico, rendendo praticamente impossibile la compromissione della chiave privata.</p>
<p>Con questo certificato LandLogic ha firmato:</p>
<ul>
<li>Il file del driver (.sys) di MagicTrackpad2ForWindows</li>
<li>Il file eseguibile di gestione (.exe) incluso nel pacchetto</li>
</ul>
<p>La firma EV garantisce che il software provenga inequivocabilmente da LandLogic e che non sia stato modificato dopo la firma. Windows SmartScreen riconosce immediatamente i certificati EV, eliminando gli avvisi di reputazione che normalmente compaiono per software nuovo o poco diffuso.</p>
<h3>2. Microsoft Attestation Signing per Windows 11</h3>
<p>La firma EV da sola non è sufficiente per i driver in modalità kernel su Windows 11. Microsoft ha introdotto il requisito di <strong>Attestation Signing</strong>: il driver deve essere inviato al Microsoft Hardware Dev Center, dove Microsoft verifica la firma EV del mittente e appone la propria firma di attestazione sul pacchetto del driver.</p>
<p>LandLogic ha completato questo processo: il driver firmato con EV è stato sottomesso al portale Microsoft per l&#8217;attestation e Microsoft ha restituito il driver con la propria firma ufficiale. Il risultato è un driver che:</p>
<ul>
<li>È riconosciuto come pienamente attendibile da Windows 11</li>
<li>Non genera alcun avviso di sicurezza durante l&#8217;installazione, né via USB né via Bluetooth</li>
<li>Può essere distribuito in ambienti aziendali con criteri di Secure Boot e Driver Signature Enforcement attivi</li>
<li>È compatibile con le policy di group policy più restrittive</li>
</ul>
<h2>Perché questo è rilevante per la cybersecurity aziendale</h2>
<p>I responsabili della sicurezza informatica sanno bene che i driver di dispositivo rappresentano uno dei vettori di attacco più critici in un sistema Windows. Un driver in modalità kernel opera con i massimi privilegi del sistema: un driver malevolo o non integro può compromettere l&#8217;intero sistema operativo, eludere gli antivirus e rendere vani tutti i controlli di sicurezza a livello applicativo.</p>
<p>Per questo motivo, la catena di fiducia nella distribuzione dei driver è fondamentale. Con il pacchetto LandLogic per MagicTrackpad2ForWindows, ogni responsabile IT e CISO dispone di evidenze concrete e verificabili:</p>
<ul>
<li>Identità del firmatario verificata tramite certificato EV (disponibile nell&#8217;elenco CRL/OCSP della CA)</li>
<li>Controfirma Microsoft tramite Attestation, verificabile attraverso il portale Windows Hardware Compatibility</li>
<li>Timestamp di firma crittograficamente vincolato, che garantisce la validità della firma anche dopo la scadenza del certificato</li>
<li>Integrità del codice sorgente di partenza: il driver è basato sul repository pubblico di Vito Plantamura, consultabile e auditable da chiunque</li>
</ul>
<h2>Funzionalità del driver: cosa offre MagicTrackpad2ForWindows</h2>
<p>Il driver firmato da LandLogic abilita su Windows 11 tutte le funzionalità avanzate del Magic Trackpad di Apple:</p>
<ul>
<li>Supporto multi-touch completo con gesture a più dita (scroll, pinch-to-zoom, rotazione)</li>
<li>Compatibilità per Magic Trackpad 2 (A1535)</li>
<li>Connessione sia via USB che via Bluetooth, senza differenze di funzionalità</li>
<li>Applicazione di configurazione per personalizzare sensibilità, accelerazione e gesture</li>
<li>Funzionamento silenzioso in background, senza impatto visibile sulle performance di sistema</li>
<li>Nessuna dipendenza da software Apple aggiuntivi (nessun iTunes, nessun Bonjour richiesto)</li>
</ul>
<h2>Come ottenere il pacchetto LandLogic</h2>
<p>Il pacchetto completo — comprendente il driver firmato Microsoft Attestation, l&#8217;eseguibile di gestione firmato EV e la documentazione di installazione — è disponibile direttamente sul sito del progetto github qui:<br />https://github.com/vitoplantamura/MagicTrackpad2ForWindows/releases/download/v2.0/MT2FW11-20260223-MSSigned.zip</p>
<p>Per ambienti enterprise con requisiti specifici di compliance, distribuzione tramite SCCM/Intune o necessità di documentazione aggiuntiva per audit di sicurezza, è possibile contattare il team LandLogic per un supporto dedicato.</p>
<p>Il codice sorgente originale su cui si basa il driver è verificabile pubblicamente al repository GitHub di Vito Plantamura: questa trasparenza, combinata con la catena di firma documentata, costituisce un elemento di fiducia verificabile end-to-end per qualsiasi processo di security review.</p>
<p> </p>
<p><strong>In sintesi</strong></p>
<p data-start="3561" data-end="3621">LandLogic distribuisce MagicTrackpad2ForWindows con la massima garanzia di sicurezza disponibile per driver Windows: firma EV Code Signing sull&#8217;identità dell&#8217;organizzazione e firma Microsoft Attestation sul driver, pienamente compatibile con Windows 11, Secure Boot e ambienti enterprise. Nessun avviso di sicurezza, nessuna eccezione da configurare.</p>
<p data-start="3561" data-end="3621">&#8211; <a href="https://landlogic.it/contatti/">Contattaci</a>: analizzeremo insieme la soluzione più adatta.</p>
</div></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_left"><div class="w-image-h"><img decoding="async" width="1200" height="628" src="https://landlogic.it/wp-content/uploads/2026/02/landlogic_magictrackpad_featured.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2026/02/landlogic_magictrackpad_featured.png 1200w, https://landlogic.it/wp-content/uploads/2026/02/landlogic_magictrackpad_featured-300x157.png 300w, https://landlogic.it/wp-content/uploads/2026/02/landlogic_magictrackpad_featured-1024x536.png 1024w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/magic-trackpad-2-su-windows-driver-firmato-ev-e-certificato-da-microsoft/">Magic Trackpad 2 su Windows: driver firmato EV e certificato da Microsoft</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LandLogic è ora autorizzata da Microsoft per lo sviluppo e la certificazione di driver Windows</title>
		<link>https://landlogic.it/landlogic-e-ora-autorizzata-da-microsoft-per-lo-sviluppo-e-la-certificazione-di-driver-windows/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Sat, 21 Feb 2026 15:47:25 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1388</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/landlogic-e-ora-autorizzata-da-microsoft-per-lo-sviluppo-e-la-certificazione-di-driver-windows/">LandLogic è ora autorizzata da Microsoft per lo sviluppo e la certificazione di driver Windows</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">LandLogic è ora autorizzata da Microsoft per lo sviluppo e la certificazione di driver Windows</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><h2 data-start="260" data-end="340">Un nuovo traguardo per l’integrazione hardware e software in ambienti Windows</h2>
<p data-start="341" data-end="525">Siamo lieti di annunciare che <strong data-start="371" data-end="384">LandLogic</strong> è stata ufficialmente autorizzata da Microsoft all’accesso al <strong data-start="447" data-end="477">Hardware Developer Program</strong> e al <strong data-start="483" data-end="505">Hardware Dashboard</strong> del Partner Center.</p>
<p data-start="527" data-end="725">Questo risultato ci consente di <strong data-start="559" data-end="627">sviluppare, firmare e distribuire driver certificati per Windows</strong> in modo conforme alle linee guida Microsoft, garantendo ai nostri clienti i più alti standard di:</p>
<ul data-start="727" data-end="834">
<li data-start="727" data-end="740">
<p data-start="729" data-end="740">sicurezza</p>
</li>
<li data-start="741" data-end="758">
<p data-start="743" data-end="758">compatibilità</p>
</li>
<li data-start="759" data-end="775">
<p data-start="761" data-end="775">affidabilità</p>
</li>
<li data-start="776" data-end="834">
<p data-start="778" data-end="834">distribuzione controllata tramite ecosistema Microsoft</p>
</li>
</ul>
<hr data-start="836" data-end="839" />
<h2 data-start="841" data-end="893"> &#8211; Firma digitale con certificato EV Code Signing</h2>
<p data-start="894" data-end="983">LandLogic è inoltre titolare di un <strong data-start="929" data-end="982">certificato EV Code Signing (Extended Validation)</strong>.</p>
<p data-start="985" data-end="1006">Questo significa che:</p>
<ul data-start="1008" data-end="1313">
<li data-start="1008" data-end="1101">
<p data-start="1010" data-end="1101">i nostri eseguibili e componenti software sono <strong data-start="1057" data-end="1101">riconosciuti come attendibili da Windows</strong></p>
</li>
<li data-start="1102" data-end="1174">
<p data-start="1104" data-end="1174">non vengono segnalati da <strong data-start="1129" data-end="1144">SmartScreen</strong> come applicazioni sconosciute</p>
</li>
<li data-start="1175" data-end="1252">
<p data-start="1177" data-end="1252">sono considerati validi dai principali <strong data-start="1216" data-end="1252">sistemi antivirus e di sicurezza</strong></p>
</li>
<li data-start="1253" data-end="1313">
<p data-start="1255" data-end="1313">garantiscono l’integrità del codice distribuito ai clienti</p>
</li>
</ul>
<p data-start="1315" data-end="1435">Per le aziende questo si traduce in <strong data-start="1351" data-end="1382">installazioni senza blocchi</strong>, maggiore fiducia e piena conformità alle policy IT.</p>
<hr data-start="1437" data-end="1440" />
<h2 data-start="1442" data-end="1480"> &#8211; Cosa cambia per i nostri clienti</h2>
<p data-start="1481" data-end="1519">Grazie a questa abilitazione possiamo:</p>
<h3 data-start="1521" data-end="1584"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Sviluppare driver personalizzati per dispositivi hardware</h3>
<p data-start="1585" data-end="1589">Per:</p>
<ul data-start="1591" data-end="1732">
<li data-start="1591" data-end="1620">
<p data-start="1593" data-end="1620">periferiche USB e seriali</p>
</li>
<li data-start="1621" data-end="1648">
<p data-start="1623" data-end="1648">dispositivi industriali</p>
</li>
<li data-start="1649" data-end="1675">
<p data-start="1651" data-end="1675">sistemi embedded e IoT</p>
</li>
<li data-start="1676" data-end="1732">
<p data-start="1678" data-end="1732">hardware professionale integrato in ambienti Windows</p>
</li>
</ul>
<h3 data-start="1734" data-end="1801"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Firmare driver in modalità kernel secondo le policy Microsoft</h3>
<p data-start="1802" data-end="1819">Fondamentale per:</p>
<ul data-start="1821" data-end="1921">
<li data-start="1821" data-end="1848">
<p data-start="1823" data-end="1848">Windows 10 e Windows 11</p>
</li>
<li data-start="1849" data-end="1884">
<p data-start="1851" data-end="1884">ambienti con Secure Boot attivo</p>
</li>
<li data-start="1885" data-end="1921">
<p data-start="1887" data-end="1921">infrastrutture aziendali gestite</p>
</li>
</ul>
<h3 data-start="1923" data-end="1976"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Distribuire driver in modo sicuro e controllato</h3>
<p data-start="1977" data-end="1988">Attraverso:</p>
<ul data-start="1990" data-end="2117">
<li data-start="1990" data-end="2024">
<p data-start="1992" data-end="2024">pacchetti firmati e verificati</p>
</li>
<li data-start="2025" data-end="2049">
<p data-start="2027" data-end="2049">deployment aziendale</p>
</li>
<li data-start="2050" data-end="2117">
<p data-start="2052" data-end="2117">eventuale distribuzione tramite Windows Update (quando richiesto)</p>
</li>
</ul>
<hr data-start="2119" data-end="2122" />
<h2 data-start="2124" data-end="2174"> &#8211; Un vantaggio per system integrator e aziende</h2>
<p data-start="2175" data-end="2242">Molti produttori hardware non dispongono di competenze interne per:</p>
<ul data-start="2244" data-end="2364">
<li data-start="2244" data-end="2283">
<p data-start="2246" data-end="2283">sviluppare driver Windows compliant</p>
</li>
<li data-start="2284" data-end="2316">
<p data-start="2286" data-end="2316">gestire la firma kernel-mode</p>
</li>
<li data-start="2317" data-end="2364">
<p data-start="2319" data-end="2364">superare i requisiti di sicurezza Microsoft</p>
</li>
</ul>
<p data-start="2366" data-end="2420">LandLogic si propone come <strong data-start="2392" data-end="2415">partner tecnologico</strong> per:</p>
<ul data-start="2422" data-end="2577">
<li data-start="2422" data-end="2456">
<p data-start="2424" data-end="2456">integrazione hardware/software</p>
</li>
<li data-start="2457" data-end="2488">
<p data-start="2459" data-end="2488">sviluppo driver certificati</p>
</li>
<li data-start="2489" data-end="2529">
<p data-start="2491" data-end="2529">testing di compatibilità con Windows</p>
</li>
<li data-start="2530" data-end="2577">
<p data-start="2532" data-end="2577">distribuzione sicura in ambienti enterprise</p>
</li>
</ul>
<hr data-start="2579" data-end="2582" />
<h2 data-start="2584" data-end="2623"> &#8211; Sicurezza, compliance e stabilità</h2>
<p data-start="2624" data-end="2697">L’accesso al programma Microsoft Hardware ci permette di operare secondo:</p>
<ul data-start="2699" data-end="2832">
<li data-start="2699" data-end="2743">
<p data-start="2701" data-end="2743">Windows Driver Model (WDM / KMDF / UMDF)</p>
</li>
<li data-start="2744" data-end="2782">
<p data-start="2746" data-end="2782">linee guida di sicurezza Microsoft</p>
</li>
<li data-start="2783" data-end="2832">
<p data-start="2785" data-end="2832">processi di validazione e testing strutturati</p>
</li>
</ul>
<p data-start="2834" data-end="2856">Riducendo i rischi di:</p>
<ul data-start="2858" data-end="2980">
<li data-start="2858" data-end="2886">
<p data-start="2860" data-end="2886">blocchi di installazione</p>
</li>
<li data-start="2887" data-end="2932">
<p data-start="2889" data-end="2932">incompatibilità con aggiornamenti Windows</p>
</li>
<li data-start="2933" data-end="2980">
<p data-start="2935" data-end="2980">problemi con Secure Boot e policy aziendali</p>
</li>
</ul>
<hr data-start="2982" data-end="2985" />
<h2 data-start="2987" data-end="3037"> &#8211; Un ulteriore passo nella strategia LandLogic</h2>
<p data-start="3038" data-end="3083">Questo traguardo rafforza il nostro ruolo di:</p>
<ul data-start="3085" data-end="3288">
<li data-start="3085" data-end="3153">
<p data-start="3087" data-end="3153">software house specializzata in integrazione con sistemi Windows</p>
</li>
<li data-start="3154" data-end="3204">
<p data-start="3156" data-end="3204">partner per soluzioni enterprise e industriali</p>
</li>
<li data-start="3205" data-end="3288">
<p data-start="3207" data-end="3288">riferimento per progetti che uniscono <strong data-start="3245" data-end="3288">hardware, driver e software applicativo</strong></p>
</li>
</ul>
<hr data-start="3290" data-end="3293" />
<h2 data-start="3295" data-end="3352"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4de.png" alt="📞" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Vuoi integrare un dispositivo hardware con Windows?</h2>
<p data-start="3353" data-end="3360">Se hai:</p>
<ul data-start="3362" data-end="3559">
<li data-start="3362" data-end="3416">
<p data-start="3364" data-end="3416">un dispositivo che necessita di driver certificati</p>
</li>
<li data-start="3417" data-end="3483">
<p data-start="3419" data-end="3483">un hardware che deve funzionare in ambienti aziendali protetti</p>
</li>
<li data-start="3484" data-end="3559">
<p data-start="3486" data-end="3559">la necessità di distribuire software firmato e riconosciuto come sicuro</p>
</li>
</ul>
<p data-start="3561" data-end="3621"><span>&#8211; Un ringraziamento speciale a <strong>Vito Plantamura</strong> [<a href="https://github.com/vitoplantamura" target="_blank" rel="noopener">https://github.com/vitoplantamura</a>/</span><span>] per il contributo nello sviluppo avanzato e per la collaborazione tecnica che ha reso possibile rafforzare questa nuova area di competenza.</span> </p>
<p data-start="3561" data-end="3621">&#8211; <a href="https://landlogic.it/contatti/">Contattaci</a>: analizzeremo insieme la soluzione più adatta.</p>
<blockquote>
<h2 data-start="1648" data-end="1687"> Technical note for advanced users</h2>
<p data-start="1689" data-end="1842">LandLogic operates within the Microsoft Hardware Developer Program with access to the <strong data-start="1775" data-end="1797">Hardware Dashboard</strong> for driver submission and signing workflows.</p>
<p data-start="1844" data-end="1889">Our development and release process supports:</p>
<ul data-start="1891" data-end="2288">
<li data-start="1891" data-end="1963">
<p data-start="1893" data-end="1963"><strong data-start="1893" data-end="1930">Kernel-Mode and User-Mode drivers</strong> (KMDF / UMDF where applicable)</p>
</li>
<li data-start="1964" data-end="2031">
<p data-start="1966" data-end="2031"><strong data-start="1966" data-end="1989">Attestation signing</strong> for streamlined certification scenarios</p>
</li>
<li data-start="2032" data-end="2113">
<p data-start="2034" data-end="2113"><strong data-start="2034" data-end="2066">HLK/WLK validation workflows</strong> when full hardware certification is required</p>
</li>
<li data-start="2114" data-end="2214">
<p data-start="2116" data-end="2214">Compatibility with <strong data-start="2135" data-end="2164">Windows 10 and Windows 11</strong>, including systems with <strong data-start="2189" data-end="2212">Secure Boot enabled</strong></p>
</li>
<li data-start="2215" data-end="2288">
<p data-start="2217" data-end="2288">Signed driver packages compliant with Microsoft distribution policies</p>
</li>
</ul>
<p data-start="2290" data-end="2365">All binaries are signed using an <strong data-start="2323" data-end="2354">EV Code Signing certificate</strong>, ensuring:</p>
<ul data-start="2367" data-end="2475">
<li data-start="2367" data-end="2399">
<p data-start="2369" data-end="2399">SmartScreen reputation trust</p>
</li>
<li data-start="2400" data-end="2426">
<p data-start="2402" data-end="2426">integrity verification</p>
</li>
<li data-start="2427" data-end="2475">
<p data-start="2429" data-end="2475">compliance with enterprise security policies</p>
</li>
</ul>
<p data-start="2477" data-end="2627">Driver deployment is performed through controlled enterprise channels or Microsoft’s driver distribution ecosystem, depending on project requirements.</p>
<p data-start="2629" data-end="2666">This enables reliable integration of:</p>
<ul data-start="2668" data-end="2778">
<li data-start="2668" data-end="2698">
<p data-start="2670" data-end="2698">USB / HID / Serial devices</p>
</li>
<li data-start="2699" data-end="2735">
<p data-start="2701" data-end="2735">industrial and embedded hardware</p>
</li>
<li data-start="2736" data-end="2778">
<p data-start="2738" data-end="2778">custom peripherals and control systems</p>
</li>
</ul>
<p data-start="2780" data-end="2819">within managed Windows infrastructures.</p>
</blockquote>
</div></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_left"><div class="w-image-h"><img decoding="async" width="718" height="480" src="https://landlogic.it/wp-content/uploads/2026/02/win_driver_cert_landlogic.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2026/02/win_driver_cert_landlogic.png 718w, https://landlogic.it/wp-content/uploads/2026/02/win_driver_cert_landlogic-300x201.png 300w" sizes="auto, (max-width: 718px) 100vw, 718px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/landlogic-e-ora-autorizzata-da-microsoft-per-lo-sviluppo-e-la-certificazione-di-driver-windows/">LandLogic è ora autorizzata da Microsoft per lo sviluppo e la certificazione di driver Windows</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nuova versione del plugin GestPay per nopCommerce 4.90.x</title>
		<link>https://landlogic.it/nuova-versione-del-plugin-gestpay-per-nopcommerce-4-90-x/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Wed, 03 Dec 2025 08:24:11 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1356</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/nuova-versione-del-plugin-gestpay-per-nopcommerce-4-90-x/">Nuova versione del plugin GestPay per nopCommerce 4.90.x</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Nuova versione del plugin GestPay per nopCommerce 4.90.x</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p data-start="122" data-end="439">Il team LandLogic è lieto di annunciare la disponibilità della versione del nostro plugin <strong data-start="212" data-end="235">GestPay Banca Sella</strong> compatibile con <strong data-start="252" data-end="274">nopCommerce 4.90.x</strong>. Questo componente permette di integrare in modo semplice e sicuro i pagamenti con la piattaforma GestPay di Banca Sella all’interno del vostro negozio nopCommerce.</p>
<h2 data-start="441" data-end="465">Panoramica del plugin</h2>
<p data-start="467" data-end="989">GestPay è uno dei gateway di pagamento più utilizzati in Italia. Il nostro plugin gratuito consente ai merchant di accettare pagamenti tramite GestPay direttamente dall’e‑commerce nopCommerce utilizzando il WebService <strong data-start="685" data-end="703">WSCryptDecrypt </strong><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://www.nopcommerce.com/it/gestpay-payment-plugin#:~:text=Descrizione" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">nopcommerce.com</span></span></span></a></span></span>. La release presente sul marketplace nopCommerce è stata creata da LandLogic nel 2016 e mantiene la compatibilità con numerose versioni della piattaforma (3.90, 4.20, 4.30, 4.40, 4.50, 4.60, 4.70, 4.80 e 4.90) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://www.nopcommerce.com/it/gestpay-payment-plugin#:~:text=Versioni%20supportate%3A%203,90" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">nopcommerce.com</span></span></span></a></span></span>.</p>
<p data-start="991" data-end="1329">Con l’aggiornamento di nopCommerce alla versione 4.90 abbiamo adattato il plugin e rilasciato la <strong data-start="1088" data-end="1105">versione 1.61</strong>.  Nel file <code data-start="1117" data-end="1130">plugin.json</code> del progetto è indicato che il plugin appartiene al gruppo <strong data-start="1190" data-end="1209">Payment methods</strong>, presenta il nome amichevole <em data-start="1239" data-end="1259">GestPay BancaSella</em> e supporta le versioni <strong data-start="1283" data-end="1291">4.90 </strong><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://raw.githubusercontent.com/landlogicit/gestpay-for-nopcommerce/nop4x/plugin.json#:~:text=,Lorenzo%20Battaglia%2C%20LandLogic%20IT" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">raw.githubusercontent.com</span></span></span></a></span></span>.</p>
<h2 data-start="1331" data-end="1362">Novità della versione 4.90.x</h2>
<p data-start="1364" data-end="1805">L’aggiornamento introduce tre operazioni fondamentali per la gestione dei pagamenti: <strong data-start="1449" data-end="1459">Refund</strong>, <strong data-start="1461" data-end="1472">Capture</strong> e <strong data-start="1475" data-end="1483">Void</strong>.  Queste funzioni permettono di rimborsare, acquisire definitivamente o annullare una transazione direttamente dall’area amministrativa di nopCommerce.  L’implementazione si basa sull’API SOAP <strong data-start="1677" data-end="1703">S2S (Server‑to‑Server)</strong> e garantisce piena compatibilità con l’infrastruttura esistente <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://raw.githubusercontent.com/landlogicit/gestpay-for-nopcommerce/nop4x/README.md#:~:text=,compatibility%20with%20the%20current%20infrastructure" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">raw.githubusercontent.com</span></span></span></a></span></span>.</p>
<ul data-start="1807" data-end="2103">
<li data-start="1807" data-end="1899">
<p data-start="1809" data-end="1899"><strong data-start="1809" data-end="1819">Refund</strong> – restituisce l’importo al cliente in caso di reso o cancellazione dell’ordine.</p>
</li>
<li data-start="1900" data-end="2022">
<p data-start="1902" data-end="2022"><strong data-start="1902" data-end="1913">Capture</strong> – consente di confermare un’autorizzazione di pagamento e di incassare l’importo solo in un secondo momento.</p>
</li>
<li data-start="2023" data-end="2103">
<p data-start="2025" data-end="2103"><strong data-start="2025" data-end="2033">Void</strong> – annulla un’autorizzazione prima che venga acquisita la transazione.</p>
</li>
</ul>
<p data-start="2105" data-end="2288">Oltre a queste novità, il plugin continua a utilizzare la crittografia <strong data-start="2176" data-end="2194">WSCryptDecrypt</strong> e a fornire i template di pagina di pagamento personalizzati, come nelle versioni precedenti.</p>
<h2 data-start="2290" data-end="2318">Come installare il plugin</h2>
<p data-start="2320" data-end="2395">L’installazione del plugin GestPay per nopCommerce 4.90.x è molto semplice:</p>
<ol data-start="2397" data-end="2986">
<li data-start="2397" data-end="2622">
<p data-start="2400" data-end="2622"><strong data-start="2400" data-end="2424">Scarica il pacchetto</strong> – potete ottenere il plugin dalla <a class="decorated-link" href="https://github.com/landlogicit/gestpay-for-nopcommerce" target="_new" rel="noopener" data-start="2459" data-end="2541">nostra repository GitHub<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a> o dalla pagina del marketplace nopCommerce <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://www.nopcommerce.com/it/gestpay-payment-plugin#:~:text=Scarica%20l%27estensione%20" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">nopcommerce.com</span></span></span></a></span></span>.</p>
</li>
<li data-start="2623" data-end="2841">
<p data-start="2626" data-end="2841"><strong data-start="2626" data-end="2649">Carica il pacchetto</strong> – accedete al pannello amministrativo di nopCommerce e navigate su <em data-start="2717" data-end="2760">Dashboard » Configuration » Local plugins</em>, quindi caricate l’archivio ZIP del plugin<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center"></span></span></span></span></span>.</p>
</li>
<li data-start="2842" data-end="2986">
<p data-start="2845" data-end="2986"><strong data-start="2845" data-end="2867">Installa il plugin</strong> – una volta caricato il file, installate il plugin seguendo la procedura guidata.</p>
</li>
</ol>
<h2 data-start="2988" data-end="3016">Configurazione del plugin</h2>
<p data-start="3018" data-end="3129">Per utilizzare il gateway è necessario configurare le credenziali rilasciate da GestPay.  Dopo l’installazione:</p>
<ol data-start="3131" data-end="3411">
<li data-start="3131" data-end="3225">
<p data-start="3134" data-end="3225">Aprite la pagina di configurazione del plugin GestPay<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center"></span></span></span></span></span>.</p>
</li>
<li data-start="3226" data-end="3344">
<p data-start="3229" data-end="3344">Inserite le credenziali fornite da Banca Sella (<em data-start="3277" data-end="3305">shopLogin/Codice esercente</em>)<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center"></span></span></span></span></span>.</p>
</li>
<li data-start="3345" data-end="3411">
<p data-start="3348" data-end="3411">Salvate la configurazione<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center"></span></span></span></span></span>.</p>
</li>
</ol>
<h3 data-start="3413" data-end="3448">Setup della pagina di pagamento</h3>
<p data-start="3450" data-end="3765">GestPay utilizza parametri aggiuntivi (indirizzo email dell’acquirente, nome dell’acquirente e lingua) nella richiesta di crittografia. È fondamentale abilitare questi campi nel back‑office GestPay altrimenti la richiesta di <strong data-start="3675" data-end="3686">Encrypt</strong> fallirà.<br />
Per impostarli correttamente:</p>
<ul data-start="3767" data-end="4086">
<li data-start="3767" data-end="3908">
<p data-start="3769" data-end="3908">Accedete al back‑office GestPay e andate nella sezione <em data-start="3824" data-end="3868">Configurazione clienti » Campi &amp; Parametri</em><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span></p>
</li>
<li data-start="3909" data-end="4086">
<p data-start="3911" data-end="4086">Selezionate la pagina di pagamento pubblicata e verificate che i parametri <strong data-start="3986" data-end="4002">Buyer E‑Mail</strong>, <strong data-start="4004" data-end="4018">Buyer Name</strong> e <strong data-start="4021" data-end="4033">Language</strong> siano attivi<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span></p>
</li>
</ul>
<h3 data-start="4088" data-end="4118">Notifiche e URL di ritorno</h3>
<p data-start="4120" data-end="4577">Per far sì che GestPay notifichi correttamente l’esito del pagamento bisogna configurare gli URL di risposta. La notifica viene inviata tramite chiamata server‑to‑server alla pagina <code data-start="4302" data-end="4337">Plugins/PaymentGestPay/s2sHandler<br />
</code><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span> Il risultato dell’operazione viene mostrato all’acquirente come scontrino virtuale e, in seguito, il cliente viene reindirizzato alla pagina di successo o di errore configurata nel profilo esercente:</p>
<ul data-start="4579" data-end="4778">
<li data-start="4579" data-end="4679">
<p data-start="4581" data-end="4679">URL di successo: <code data-start="4598" data-end="4640">…/Plugins/PaymentGestPay/EsitoGestPay/OK</code><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span></p>
</li>
<li data-start="4680" data-end="4778">
<p data-start="4682" data-end="4778">URL di errore: <code data-start="4697" data-end="4739">…/Plugins/PaymentGestPay/EsitoGestPay/KO</code><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span></p>
</li>
</ul>
<h2 data-start="4780" data-end="4812">Ambiente di test e produzione</h2>
<p data-start="4814" data-end="5237">Ogni esercente può gestire i profili GestPay da un pannello dedicato.  L’<strong data-start="4887" data-end="4913">ambiente di produzione</strong> è raggiungibile all’indirizzo <code data-start="4944" data-end="4986">https://dashboard.gestpay.net/BackOffice</code> mentre l’<strong data-start="4996" data-end="5016">ambiente di test</strong> è disponibile su <code data-start="5034" data-end="5074">https://sandbox.gestpay.net/BackOffice.</code><br />
È consigliabile utilizzare l’ambiente di sandbox per tutte le verifiche prima di mettere online il gateway di pagamento.</p>
<h2 data-start="5239" data-end="5270">Contributo aperto e supporto</h2>
<p data-start="5272" data-end="5686">LandLogic sviluppa e mantiene questo plugin come parte del suo impegno verso l’ecosistema open‑source nopCommerce. Il codice sorgente è disponibile su GitHub e può essere liberamente studiato o modificato. Se state usando una versione precedente di nopCommerce, trovate le release compatibili nella stessa repository (ramo <em data-start="5595" data-end="5603">master</em> per 3.90/4.10/4.20, ramo <em data-start="5629" data-end="5636">nop4x</em> per 4.90)<span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-&#091;9px&#093; font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-&#091;#F4F4F4&#093;! dark:bg-&#091;#303030&#093;!" href="https://raw.githubusercontent.com/landlogicit/gestpay-for-nopcommerce/nop4x/README.md#:~:text=Gestpay%20for%20nopCommerce%20v4,compatibility%20with%20the%20current%20infrastructure" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-&#091;15ch&#093; grow truncate overflow-hidden text-center">raw.githubusercontent.com</span></span></span></a></span></span>.</p>
<p data-start="5688" data-end="6076" data-is-only-node="">Per qualsiasi richiesta di supporto o integrazione personalizzata potete contattarci tramite l’apposito <strong data-start="5792" data-end="5805">help desk</strong> sul sito LandLogic <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-&#091;-0.094rem&#093; animate-&#091;show_150ms_ease-in&#093;" data-testid="webpage-citation-pill"></span></span> oppure scrivere a <strong data-start="5882" data-end="5903"><a class="decorated-link cursor-pointer" rel="noopener" data-start="5884" data-end="5901">info@landlogic.it<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a></strong>. Il nostro team vi assisterà nell’installazione, configurazione e personalizzazione della piattaforma nopCommerce per soddisfare le esigenze del vostro progetto e‑commerce.</p>
</div></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_left"><div class="w-image-h"><img decoding="async" width="1408" height="1214" src="https://landlogic.it/wp-content/uploads/2022/09/checkout-1.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2022/09/checkout-1.png 1408w, https://landlogic.it/wp-content/uploads/2022/09/checkout-1-300x259.png 300w, https://landlogic.it/wp-content/uploads/2022/09/checkout-1-1024x883.png 1024w" sizes="auto, (max-width: 1408px) 100vw, 1408px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/nuova-versione-del-plugin-gestpay-per-nopcommerce-4-90-x/">Nuova versione del plugin GestPay per nopCommerce 4.90.x</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Odoo Enterprise e Community: perché le versioni devono essere perfettamente sincronizzate</title>
		<link>https://landlogic.it/odoo-enterprise-community-sincronizzazione-versioni/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Tue, 04 Nov 2025 11:03:41 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1347</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/odoo-enterprise-community-sincronizzazione-versioni/">Odoo Enterprise e Community: perché le versioni devono essere perfettamente sincronizzate</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Odoo Enterprise e Community: perché le versioni devono essere perfettamente sincronizzate</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p>Quando Odoo Community e Enterprise non sono perfettamente allineati per commit, possono verificarsi errori critici.<br />Negli ambienti di produzione Odoo, soprattutto quando si utilizzano <strong>container Docker</strong> e moduli <strong>Enterprise</strong>, può sembrare sufficiente aggiornare all’ultima versione disponibile. In realtà, la compatibilità tra <strong>Odoo Community (core)</strong> e <strong>Odoo Enterprise (moduli commerciali)</strong> dipende in modo diretto dal <strong>commit Git preciso</strong> — e non solo dal numero di versione (es. <em>19.0</em>).</p>
<h2>&#8211; Il problema</h2>
<p>Dopo aver aggiornato il container Docker Odoo Community alla build <strong>19.0-20251021</strong> (rilascio del 21 ottobre 2025) e i moduli Enterprise alla versione più recente disponibile (<strong>28 ottobre 2025</strong>), l’ambiente non riusciva più ad avviarsi correttamente.</p>
<pre><code>ImportError: cannot import name 'ACCOUNT_CODES_ENGINE_SPLIT_REGEX'</code></pre>
<p>Il modulo <code>account_reports</code> di Odoo Enterprise tentava di importare una costante che, nella nuova versione del core, <strong>non esisteva più</strong>.</p>
<h2>&#8211; Analisi tecnica</h2>
<p>L’errore non derivava da un problema di configurazione, ma da una <strong>mancata corrispondenza tra i commit</strong>. Tra il 21 e il 28 ottobre, Odoo SA aveva modificato il modulo <code>account</code> nel core, ma il corrispondente aggiornamento Enterprise era ancora in fase di sincronizzazione.</p>
<h2>&#8211; La soluzione</h2>
<p>Dopo vari test, la stabilità è stata raggiunta <strong>utilizzando i sorgenti Enterprise del 15 ottobre 2025</strong>, quindi leggermente <strong>più vecchi del core</strong> ma perfettamente compatibili con quella build Docker.</p>
<pre><code>git fetch origin 19.0
git reset --hard `git rev-list -n 1 --before="2025-10-16" origin/19.0`</code></pre>
<h2>&#8211; Lezioni apprese</h2>
<ul>
<li><strong>Allineare sempre per data o commit</strong>, non per semplice branch.</li>
<li><strong>Evitare di aggiornare Docker e Enterprise in momenti diversi.</strong></li>
<li><strong>Usare un controllo automatico</strong> per verificare la corrispondenza tra <code>odoo --version</code> e il commit Enterprise locale.</li>
<li>Monitorare GitHub Issues: <a href="https://github.com/odoo/odoo/issues/233611" target="_blank" rel="noopener">Issue #233611</a>.</li>
</ul>
<h2>&#8211; Conclusione</h2>
<p>Odoo è una piattaforma potente, ma estremamente integrata: piccoli disallineamenti tra moduli possono compromettere l’intero ambiente. Per chi gestisce installazioni in Docker o aggiornamenti CI/CD, la chiave è <strong>sincronizzare Community e Enterprise commit per commit</strong>.</p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Discussione su Reddit: <a href="https://www.reddit.com/r/Odoo/s/ReLJxHG7I3" target="_blank" rel="noopener">link diretto al thread</a></p>
<p><em>Articolo a cura di <strong>Landlogic IT</strong> – Soluzioni Odoo e integrazione aziendale<br />www.landlogic.it</em></p>
</div></div><div class="w-separator size_medium"></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_none"><a target="_blank" href="https://www.odoo.com?utm_campaign=partner-8f36ba2a&amp;utm_source=partner_ref" aria-label="odoo_logo (1)" class="w-image-h"><img decoding="async" width="621" height="621" src="https://landlogic.it/wp-content/uploads/2025/05/odoo_logo-1-1.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2025/05/odoo_logo-1-1.png 621w, https://landlogic.it/wp-content/uploads/2025/05/odoo_logo-1-1-300x300.png 300w, https://landlogic.it/wp-content/uploads/2025/05/odoo_logo-1-1-150x150.png 150w" sizes="auto, (max-width: 621px) 100vw, 621px" /></a></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/odoo-enterprise-community-sincronizzazione-versioni/">Odoo Enterprise e Community: perché le versioni devono essere perfettamente sincronizzate</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Risolto loop di avvio dopo aggiornamento su Windows Server 2016 con RAID</title>
		<link>https://landlogic.it/risolvere-loop-avvio-windows-server-2016-raid/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 12:01:45 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1335</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/risolvere-loop-avvio-windows-server-2016-raid/">Risolto loop di avvio dopo aggiornamento su Windows Server 2016 con RAID</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Risolto loop di avvio dopo aggiornamento su Windows Server 2016 con RAID</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p>In uno dei nostri ambienti di produzione basati su <strong>Windows Server 2016</strong>, ci siamo trovati di fronte a un problema critico subito dopo l’installazione di un aggiornamento cumulativo: il server rimaneva bloccato nella schermata <em>“Preparazione di Windows – Non spegnere il computer”</em>, per poi riavviarsi in loop continuo.</p>
<p>Il comportamento era sintomo di un malfunzionamento del <strong>Component Store (WinSxS)</strong>, il cuore del sistema di gestione aggiornamenti e componenti di Windows. In questo articolo spieghiamo come abbiamo diagnosticato e risolto il problema, riportando il server in stato operativo senza reinstallare l’ambiente.</p>
<h2>&#8211; Analisi del problema</h2>
<p>Durante l’avvio, il sistema non completava mai la fase di configurazione degli aggiornamenti e si riavviava ciclicamente. Nemmeno la modalità provvisoria o il ripristino automatico erano in grado di risolvere la situazione.</p>
<p>Abbiamo quindi avviato il server nell’ambiente di <strong>ripristino di Windows (WinRE)</strong> per operare con i comandi offline di manutenzione immagine.</p>
<pre><code>dism /image:C:\ /cleanup-image /checkhealth
dism /image:C:\ /cleanup-image /restorehealth</code></pre>
<p>Entrambi restituivano l’errore <strong>0x800f081f</strong>, indicando l’impossibilità di trovare i file di origine necessari alla riparazione del sistema.</p>
<h2>&#8211; Riparazione con DISM e ISO di Windows Server 2016</h2>
<p>Per ripristinare il Component Store, abbiamo montato la ISO ufficiale di <strong>Windows Server 2016</strong> tramite <strong>Lenovo XClarity Controller</strong>, rendendola disponibile come unità virtuale (<code>E:</code>).</p>
<pre><code>dism /image:C:\ /cleanup-image /restorehealth /source:wim:E:\sources\install.wim:2 /limitaccess /ScratchDir:C:\Scratch</code></pre>
<p>Dopo diversi tentativi, il processo si è completato con successo:</p>
<blockquote>
<p>“Operazione di ripristino riuscita.”</p>
</blockquote>
<p>Questo ha ricostruito completamente il <strong>WinSxS</strong> e risolto le azioni di aggiornamento in sospeso che impedivano l’avvio del sistema.</p>
<h2>&#8211; Caricamento dei driver RAID in ambiente di ripristino</h2>
<p>Durante le prime fasi di diagnosi ci siamo accorti che, all’interno dell’ambiente di ripristino, <strong>Windows non caricava i driver del controller RAID</strong> installato nel sistema (nel nostro caso un <strong>ThinkSystem RAID 930-8i</strong>).</p>
<p>Questo comportava che i volumi logici non risultassero visibili con il comando <code>diskpart → list volume</code>, impedendo di accedere al disco del sistema (<code>C:</code>).</p>
<p>La soluzione è stata caricare manualmente i driver del controller:</p>
<ol>
<li>Abbiamo scaricato dal sito Lenovo i driver più recenti del controller RAID.</li>
<li>Abbiamo estratto il pacchetto (file .exe) con <strong>7-Zip</strong>, poiché i file di installazione non sono riconosciuti nativamente da WinRE.</li>
<li>All’interno dell’archivio, abbiamo individuato i file <code>.INF</code> necessari al caricamento manuale.</li>
<li>Abbiamo montato l’immagine ISO o IMG contenente i driver come unità virtuale tramite <strong>XClarity Controller</strong>.</li>
<li>Da prompt dei comandi di WinRE abbiamo eseguito:
<pre><code>drvload E:\percorsi\driver\megaraid.inf</code></pre>
</li>
</ol>
<p>Dopo il caricamento, il comando <code>wmic logicaldisk get name</code> ha mostrato correttamente il volume <code>C:</code>, consentendoci di procedere con la riparazione tramite DISM.</p>
<p>Questo passaggio è fondamentale su hardware server con controller dedicati: senza il driver RAID, l’ambiente di ripristino non è in grado di accedere ai dischi e qualsiasi tentativo di manutenzione fallisce.</p>
<h2>&#8211; Verifica e pulizia post-ripristino</h2>
<p>Dopo la riparazione, abbiamo eseguito:</p>
<pre><code>sfc /scannow</code></pre>
<p>per verificare e ripristinare eventuali file di sistema danneggiati.</p>
<p>Successivamente, abbiamo pulito i componenti residui e rimosso versioni obsolete dei file:</p>
<pre><code>dism /online /cleanup-image /startcomponentcleanup /resetbase</code></pre>
<h2>&#8211; Ripristino del database di Windows Update</h2>
<p>Il tool di risoluzione problemi di Windows segnalava un errore nel “controllo del database di Windows Update”. Abbiamo quindi rigenerato manualmente la cache degli aggiornamenti rinominando le cartelle di sistema:</p>
<pre><code>net stop wuauserv
net stop bits
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start bits</code></pre>
<p>Questo ha permesso di ricreare un database pulito, eliminando riferimenti a patch corrotte o incomplete.</p>
<h2>&#8211; Risultato finale</h2>
<p>Dopo il riavvio, <strong>il server si è avviato correttamente</strong> senza più blocchi o loop di aggiornamento. Tutti i servizi di produzione sono tornati operativi e Windows Update è stato riallineato con il sistema.</p>
<ul>
<li>nessuna reinstallazione del sistema operativo;</li>
<li>dati e configurazioni preservati;</li>
<li>stabilità del sistema completamente ripristinata.</li>
</ul>
<h2>&#8211; Lezioni apprese e prevenzione</h2>
<p>Abbiamo riscontrato che i loop post-aggiornamento su Windows Server 2016 derivano spesso da azioni pendenti nel processo di servicing. Per ridurre il rischio, consigliamo di:</p>
<ul>
<li>utilizzare strumenti come <strong>PSWindowsUpdate</strong> o <strong>WSUS Offline Update</strong> per applicare patch <em>in modo transazionale</em>;</li>
<li>installare sempre prima il <strong>Servicing Stack Update (SSU)</strong> e poi il <strong>Cumulative Update (CU)</strong>;</li>
<li>eseguire periodicamente la pulizia del Component Store:
<pre><code>dism /online /cleanup-image /startcomponentcleanup /resetbase</code></pre>
</li>
</ul>
<h2>&#8211; Conclusione</h2>
<p>Grazie a un intervento mirato con <strong>DISM</strong>, al caricamento manuale dei driver RAID e all’uso dell’immagine originale di Windows Server 2016 come sorgente, siamo riusciti a ripristinare completamente un sistema in produzione bloccato da un aggiornamento fallito.</p>
<p>L’esperienza conferma l’importanza di conoscere e utilizzare correttamente gli strumenti di manutenzione avanzata di Windows Server, in modo da prevenire fermi imprevisti e ridurre i tempi di downtime.</p>
<hr />
<section>
<h3>&#8211; Autore</h3>
<p><strong>LandLogic – Soluzioni IT e infrastrutture aziendali</strong><br />
Siamo specializzati in sistemi Windows Server, ambienti virtualizzati, automazione IT e sicurezza aziendale.<br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://www.landlogic.it" target="_blank" rel="noopener">www.landlogic.it</a></p>
</section>
</div></div><div class="w-separator size_medium"></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_none"><div target="_blank" class="w-image-h"><img decoding="async" width="1536" height="1024" src="https://landlogic.it/wp-content/uploads/2025/11/ChatGPT-Image-1-nov-2025-12_38_27.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2025/11/ChatGPT-Image-1-nov-2025-12_38_27.png 1536w, https://landlogic.it/wp-content/uploads/2025/11/ChatGPT-Image-1-nov-2025-12_38_27-300x200.png 300w" sizes="auto, (max-width: 1536px) 100vw, 1536px" /></div></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/risolvere-loop-avvio-windows-server-2016-raid/">Risolto loop di avvio dopo aggiornamento su Windows Server 2016 con RAID</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Umbraco 13.12 arriva il 20 novembre: incluso il nostro fix per il Media Picker</title>
		<link>https://landlogic.it/umbraco-13-12-arriva-il-20-novembre-incluso-il-nostro-fix-per-il-media-picker/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 08:38:17 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1330</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/umbraco-13-12-arriva-il-20-novembre-incluso-il-nostro-fix-per-il-media-picker/">Umbraco 13.12 arriva il 20 novembre: incluso il nostro fix per il Media Picker</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Umbraco 13.12 arriva il 20 novembre: incluso il nostro fix per il Media Picker</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p>Il 20 novembre sarà disponibile <strong>Umbraco CMS 13.12</strong>, una release importante della serie LTS che porta con sé diversi miglioramenti di stabilità, performance e bug fix.<br />
Tra questi, siamo orgogliosi di annunciare che è stato incluso <strong>il contributo di LandLogic</strong> per risolvere un problema storico del <strong>Media Picker</strong>.</p>
<hr />
<h3>&#8211; Il problema: cartelle lente con migliaia di file</h3>
<p>Fin dalle versioni 10.x, il Media Picker di Umbraco caricava tutti gli elementi di una cartella in un’unica chiamata.<br />
Per chi gestiva grandi librerie di immagini o documenti, questo causava:</p>
<ul>
<li>rallentamenti significativi nel backoffice,</li>
<li>consumo elevato di RAM,</li>
<li>e in alcuni casi, errori di timeout.</li>
</ul>
<p>L’issue era stata segnalata nel 2022 e tracciata su GitHub come <a href="https://github.com/umbraco/Umbraco-CMS/issues/12364">Issue #12364</a>.</p>
<hr />
<h3>&#8211; La soluzione: paginazione lato client e prestazioni ottimizzate</h3>
<p>Abbiamo analizzato il comportamento del Media Picker nella versione 13 e proposto una soluzione nel <a href="https://github.com/umbraco/Umbraco-CMS/pull/20202">Pull Request #20202</a>.</p>
<p>La nostra modifica:</p>
<ul>
<li>sostituisce l’uso di <code>getChildren</code> con <code>getPagedChildren</code>,</li>
<li>introduce la <strong>paginazione lato client</strong>,</li>
<li>e garantisce un caricamento progressivo delle immagini, riducendo drasticamente tempi e risorse usate.</li>
</ul>
<p>Il tutto <strong>senza modificare l’API server</strong> e senza introdurre breaking changes.</p>
<hr />
<h3>&#8211; Un percorso open source reale</h3>
<p>Durante la review, abbiamo collaborato con i maintainer ufficiali di Umbraco per affinare il codice e garantire compatibilità completa.<br />
Grazie a questo confronto, il contributo è stato <strong>accettato e fuso nel core</strong>, e sarà distribuito nella <strong>release 13.12</strong>.</p>
<hr />
<h3>&#8211; Cosa cambia per chi usa Umbraco 13.x</h3>
<ul>
<li>Il Media Picker ora gestisce correttamente la paginazione anche nelle cartelle con molti elementi.</li>
<li>L’esperienza del backoffice è più fluida e reattiva.</li>
<li>Nessuna modifica o configurazione richiesta: basta aggiornare alla 13.12.</li>
</ul>
<hr />
<h3>&#8211; Disponibilità</h3>
<p>La release <strong>Umbraco 13.12</strong> sarà disponibile dal <strong>20 novembre 2025</strong>.<br />
Tutte le informazioni ufficiali e le note di rilascio sono disponibili su <a href="https://our.umbraco.com/download/releases/13120">our.umbraco.com/releases/13120</a>.</p>
<h3>&#8211; Conclusione</h3>
<p>Questo contributo dimostra come anche realtà italiane possano collaborare attivamente allo sviluppo di <strong>Umbraco CMS</strong>, migliorando l’esperienza per tutta la community.</p>
<p>Se la tua azienda utilizza <strong>Umbraco 13.x o precedenti</strong>, puoi contattarci per:</p>
<ul>
<li>ottimizzare performance,</li>
<li>realizzare plugin o estensioni,</li>
<li>o pianificare la migrazione verso Umbraco 14+.</li>
</ul>
<p><strong>Scopri di più su <a href="https://www.landlogic.it/">www.landlogic.it</a></strong></p>
</div></div><div class="w-separator size_medium"></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_none"><a target="_blank" href="https://umbraco.com/" aria-label="umbraco_logo_blue0.5" class="w-image-h"><img decoding="async" width="540" height="540" src="https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5.png 540w, https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5-300x300.png 300w, https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5-150x150.png 150w" sizes="auto, (max-width: 540px) 100vw, 540px" /></a></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/umbraco-13-12-arriva-il-20-novembre-incluso-il-nostro-fix-per-il-media-picker/">Umbraco 13.12 arriva il 20 novembre: incluso il nostro fix per il Media Picker</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Contributo Umbraco 13: migliorare il Media Picker con paginazione  &#8211; come l’abbiamo fatto</title>
		<link>https://landlogic.it/contributo-umbraco-13-migliorare-il-media-picker-con-paginazione-come-labbiamo-fatto/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Fri, 26 Sep 2025 08:17:01 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1293</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/contributo-umbraco-13-migliorare-il-media-picker-con-paginazione-come-labbiamo-fatto/">Contributo Umbraco 13: migliorare il Media Picker con paginazione  &#8211; come l’abbiamo fatto</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">Contributo Umbraco 13: migliorare il Media Picker con paginazione  &#8211; come l’abbiamo fatto</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><h3 data-start="372" data-end="388">Introduzione</h3>
<p data-start="389" data-end="710">Nel nostro lavoro quotidiano con <strong data-start="422" data-end="437">Umbraco CMS</strong> ci siamo imbattuti in un problema fastidioso, presente <strong data-start="493" data-end="511">fin dalla 10.x</strong> e mai risolto fino alla serie 13: il <strong data-start="549" data-end="565">Media Picker</strong> caricava <em data-start="575" data-end="582">tutti</em> gli elementi di una cartella, anche quando si trattava di centinaia o migliaia di file, causando <strong data-start="680" data-end="707">rallentamenti e timeout</strong>.</p>
<p data-start="712" data-end="1073">Per dare una soluzione concreta alla community, abbiamo deciso di intervenire <strong data-start="790" data-end="815">direttamente sul core</strong>.<br data-start="816" data-end="819" />Siamo partiti dall’<a class="decorated-link" href="https://github.com/umbraco/Umbraco-CMS/issues/12364" target="_new" rel="noopener" data-start="838" data-end="905">issue #12364<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a>, aperta nel 2022 e rimasta senza fix per anni, abbiamo sviluppato una patch e l’abbiamo proposta come <a class="decorated-link" href="https://github.com/umbraco/Umbraco-CMS/pull/20202" target="_new" rel="noopener" data-start="1008" data-end="1070">PR #20202<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a>.</p>
<p data-start="1075" data-end="1243">Dopo un accurato processo di review con il team Umbraco, la nostra pull request è stata <strong data-start="1163" data-end="1183">approvata e fusa</strong>: il fix sarà disponibile a partire da <strong data-start="1222" data-end="1239">Umbraco 13.12</strong>. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<blockquote data-start="1245" data-end="1486">
<p data-start="1247" data-end="1486"><strong data-start="1250" data-end="1269">Nota importante</strong><br data-start="1269" data-end="1272" />La correzione interessa solo la <strong data-start="1306" data-end="1320">serie 13.x</strong> (e versioni precedenti ancora supportate).<br data-start="1363" data-end="1366" />In Umbraco 14 e successivi il bug era già stato risolto nativamente nel core, quindi non serve applicare questa patch.</p>
</blockquote>
<hr data-start="1488" data-end="1491" />
<h3 data-start="1493" data-end="1529">Sezione 1 — Il problema iniziale</h3>
<p data-start="1531" data-end="1785"><strong data-start="1531" data-end="1549">Cosa succedeva</strong><br data-start="1549" data-end="1552" />Quando si apriva il Media Picker in una cartella con molti file, l’interfaccia Angular richiamava un endpoint che restituiva tutti i figli <strong data-start="1691" data-end="1712">senza paginazione</strong>.<br data-start="1713" data-end="1716" />Per cartelle con centinaia o migliaia di elementi questo significava:</p>
<ul data-start="1786" data-end="1888">
<li data-start="1786" data-end="1815">
<p data-start="1788" data-end="1815">query pesanti sul database,</p>
</li>
<li data-start="1816" data-end="1840">
<p data-start="1818" data-end="1840">grande consumo di RAM,</p>
</li>
<li data-start="1841" data-end="1888">
<p data-start="1843" data-end="1888">possibili timeout lato browser e lato server.</p>
</li>
</ul>
<p data-start="1890" data-end="2171"><strong data-start="1890" data-end="1916">Perché permane su 13.x</strong><br data-start="1916" data-end="1919" />La serie 14 ha introdotto un Media Picker rinnovato che risolve automaticamente questa inefficienza.<br data-start="2019" data-end="2022" />Ma la <strong data-start="2028" data-end="2046">13.x è una LTS</strong> ancora molto diffusa, quindi il problema rimaneva per tutti i progetti che non possono passare subito alla major successiva.</p>
<p data-start="2173" data-end="2190"><strong data-start="2173" data-end="2188">Riferimenti</strong></p>
<ul data-start="2191" data-end="2374">
<li data-start="2191" data-end="2291">
<p data-start="2193" data-end="2291">Issue originale (aperta nel 2022): <a class="decorated-link" href="https://github.com/umbraco/Umbraco-CMS/issues/12364" target="_new" rel="noopener" data-start="2228" data-end="2289">#12364<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a></p>
</li>
<li data-start="2292" data-end="2374">
<p data-start="2294" data-end="2374">Pull request di fix: <a class="decorated-link" href="https://github.com/umbraco/Umbraco-CMS/pull/20202" target="_new" rel="noopener" data-start="2315" data-end="2374">#20202<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a></p>
</li>
</ul>
<hr data-start="2376" data-end="2379" />
<h3 data-start="2381" data-end="2428">Sezione 2 — Analisi e proposta di soluzione</h3>
<p data-start="2430" data-end="2451"><strong data-start="2430" data-end="2449">File analizzati</strong></p>
<ul data-start="2452" data-end="2644">
<li data-start="2452" data-end="2533">
<p data-start="2454" data-end="2533"><code data-start="2454" data-end="2472">EntityController</code> (back-office): endpoint <code data-start="2497" data-end="2510">GetChildren</code> chiamato dal client.</p>
</li>
<li data-start="2534" data-end="2644">
<p data-start="2536" data-end="2644"><code data-start="2536" data-end="2563">mediapicker.controller.js</code> (front-end Angular): implementa le chiamate a <code data-start="2610" data-end="2643">entityResource.getChildren(...)</code>.</p>
</li>
</ul>
<p data-start="2646" data-end="2813"><strong data-start="2646" data-end="2658">Diagnosi</strong><br data-start="2658" data-end="2661" />Il problema non era a livello server ma <strong data-start="2701" data-end="2718">nel front-end</strong>: il Media Picker non passava mai parametri di paging (<code data-start="2773" data-end="2779">skip</code>, <code data-start="2781" data-end="2787">take</code>), caricando sempre tutto.</p>
<p data-start="2815" data-end="2834"><strong data-start="2815" data-end="2834">Scelte valutate</strong></p>
<ol data-start="2835" data-end="3052">
<li data-start="2835" data-end="2942">
<p data-start="2838" data-end="2942"><strong data-start="2838" data-end="2862">Modifica lato server</strong> (limitare implicitamente i risultati): rischioso, potenziale breaking change.</p>
</li>
<li data-start="2943" data-end="3052">
<p data-start="2946" data-end="3052"><strong data-start="2946" data-end="3024">Uso degli endpoint già esistenti di paging (<code data-start="2992" data-end="3010">getPagedChildren</code>) nel client</strong>: sicuro, retro-compatibile.</p>
</li>
</ol>
<p data-start="3054" data-end="3076"><strong data-start="3054" data-end="3076">Soluzione adottata</strong></p>
<ul data-start="3077" data-end="3556">
<li data-start="3077" data-end="3257">
<p data-start="3079" data-end="3257">Sostituzione di <code data-start="3095" data-end="3128">entityResource.getChildren(...)</code> con <code data-start="3133" data-end="3171">entityResource.getPagedChildren(...)</code>, inviando <code data-start="3182" data-end="3194">pageNumber</code>, <code data-start="3196" data-end="3206">pageSize</code> e (solo se necessario) parametri di ordinamento.</p>
</li>
<li data-start="3258" data-end="3409">
<p data-start="3260" data-end="3409">Introduzione di logica di <strong data-start="3286" data-end="3316">paginazione lato front-end</strong>: reset della pagina quando si cambia cartella, gestione coerente anche durante la ricerca.</p>
</li>
<li data-start="3410" data-end="3556">
<p data-start="3412" data-end="3556">Refactoring per ridurre la complessità ciclomatica: estratti piccoli helper, rimossi commenti temporanei, lasciati solo commenti tecnici chiari.</p>
</li>
</ul>
<hr data-start="3558" data-end="3561" />
<h3 data-start="3563" data-end="3600">Sezione 3 — Il processo di review</h3>
<p data-start="3602" data-end="3728">Durante la review il team Umbraco, in particolare <strong data-start="3652" data-end="3668">Andy Butland</strong>, ha svolto un lavoro molto accurato.<br data-start="3705" data-end="3708" />Alcuni punti chiave:</p>
<ul data-start="3730" data-end="4669">
<li data-start="3730" data-end="3977">
<p data-start="3732" data-end="3977"><strong data-start="3732" data-end="3753">Parametri inutili</strong><br data-start="3753" data-end="3756" />In una versione intermedia avevamo aggiunto <code data-start="3802" data-end="3826">orderBy: "VersionDate"</code> e <code data-start="3829" data-end="3859">orderDirection: "Descending"</code>.<br data-start="3860" data-end="3863" />Su richiesta di Andy li abbiamo rimossi, dato che il paging funziona correttamente con l’ordinamento di default.</p>
</li>
<li data-start="3979" data-end="4229">
<p data-start="3981" data-end="4153"><strong data-start="3981" data-end="4007">Commenti “da revisore”</strong><br data-start="4007" data-end="4010" />Alcune note come <code data-start="4029" data-end="4038">// MOD:</code> o <code data-start="4041" data-end="4074">// helpers to reduce complexity</code> sono state eliminate o sostituite con spiegazioni tecniche utili, ad esempio</p>
<blockquote data-start="4156" data-end="4229">
<p data-start="4158" data-end="4229"><code data-start="4158" data-end="4228">// reset filter to ensure folder navigation always starts unfiltered</code>.</p>
</blockquote>
</li>
<li data-start="4231" data-end="4553">
<p data-start="4233" data-end="4553"><strong data-start="4233" data-end="4263">Promise e ritorni coerenti</strong><br data-start="4263" data-end="4266" />La vera soluzione è stata rendere coerente la catena di promise (<code data-start="4333" data-end="4340">run()</code>, <code data-start="4342" data-end="4367">ensureWithinStartNode()</code>, <code data-start="4369" data-end="4386">gotoStartNode()</code>, <code data-start="4388" data-end="4402">gotoFolder()</code>), per garantire che la chiamata <code data-start="4435" data-end="4453">getPagedChildren</code> sia sempre eseguita anche quando il Media Picker riapre direttamente nell’ultima cartella visitata.</p>
</li>
<li data-start="4555" data-end="4669">
<p data-start="4557" data-end="4669"><strong data-start="4557" data-end="4574">Formattazione</strong><br data-start="4574" data-end="4577" />Migliorata l’indentazione delle catene <code data-start="4618" data-end="4643">.then(...).finally(...)</code> per maggiore leggibilità.</p>
</li>
</ul>
<p data-start="4671" data-end="4762">Grazie a questo confronto aperto, il codice finale è <strong data-start="4724" data-end="4761">più solido, pulito e manutenibile</strong>.</p>
<hr data-start="4764" data-end="4767" />
<h3 data-start="4769" data-end="4827">Sezione 4 — Il risultato e i benefici per la community</h3>
<ul data-start="4829" data-end="5472">
<li data-start="4829" data-end="5013">
<p data-start="4831" data-end="5013"><strong data-start="4831" data-end="4857">Performance migliorata</strong><br data-start="4857" data-end="4860" />Ora il Media Picker carica solo gli elementi della pagina corrente (es. 100 o 200 alla volta), con un impatto enorme su tempi di caricamento e memoria.</p>
</li>
<li data-start="5015" data-end="5157">
<p data-start="5017" data-end="5157"><strong data-start="5017" data-end="5043">Nessun breaking change</strong><br data-start="5043" data-end="5046" />Il back-end (<code data-start="5061" data-end="5079">EntityController</code>) resta invariato: chi usa ancora <code data-start="5113" data-end="5126">getChildren</code> non subisce alcun cambiamento.</p>
</li>
<li data-start="5159" data-end="5279">
<p data-start="5161" data-end="5279"><strong data-start="5161" data-end="5182">Codice più chiaro</strong><br data-start="5182" data-end="5185" />La gestione della paginazione è leggibile e documentata, facilitando la manutenzione futura.</p>
</li>
<li data-start="5281" data-end="5472">
<p data-start="5283" data-end="5472"><strong data-start="5283" data-end="5321">Valore per chi resta su Umbraco 13</strong><br data-start="5321" data-end="5324" />Le aziende che non possono migrare subito a 14 (o che sono ancora su 10–12) possono aggiornare tranquillamente a 13.12 e godere dei miglioramenti.</p>
</li>
</ul>
<hr data-start="5474" data-end="5477" />
<h3 data-start="5479" data-end="5537">Sezione 5 — Cosa abbiamo imparato (e consigli pratici)</h3>
<ul data-start="5539" data-end="6015">
<li data-start="5539" data-end="5673">
<p data-start="5541" data-end="5673"><strong data-start="5541" data-end="5572">Anche i piccoli bug contano</strong>: un’ottimizzazione del backoffice può migliorare la vita quotidiana di molti editori di contenuti.</p>
</li>
<li data-start="5674" data-end="5808">
<p data-start="5676" data-end="5808"><strong data-start="5676" data-end="5716">Dialogo costruttivo con i maintainer</strong>: ogni commento della review è stato un’occasione per semplificare e rafforzare il codice.</p>
</li>
<li data-start="5809" data-end="5891">
<p data-start="5811" data-end="5891"><strong data-start="5811" data-end="5838">Scrivere meno ma meglio</strong>: rimuovere codice inutile è spesso il miglior fix.</p>
</li>
<li data-start="5892" data-end="6015">
<p data-start="5894" data-end="6015"><strong data-start="5894" data-end="5921">Documentare il “perché”</strong>: spiegare le ragioni di un reset o di una scelta di design aiuta chi leggerà tra mesi o anni.</p>
</li>
</ul>
<hr data-start="6017" data-end="6020" />
<h3 data-start="6022" data-end="6054">Conclusione e call to action</h3>
<p data-start="6056" data-end="6380">Siamo orgogliosi che la nostra <a class="decorated-link" href="https://github.com/umbraco/Umbraco-CMS/pull/20202" target="_new" rel="noopener" data-start="6087" data-end="6149">PR #20202<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a> sia stata <strong data-start="6160" data-end="6206">accettata e inclusa ufficialmente nel core</strong> di Umbraco, a partire dalla versione <strong data-start="6244" data-end="6253">13.12</strong>.<br data-start="6254" data-end="6257" />Dopo quasi <strong data-start="6268" data-end="6312">due anni dall’apertura dell’issue #12364</strong>, la community Umbraco ha finalmente una soluzione nativa e stabile.</p>
<p data-start="6382" data-end="6437">Se utilizzi <strong data-start="6394" data-end="6410">Umbraco 13.x</strong> (o versioni 10–12) e vuoi:</p>
<ul data-start="6438" data-end="6552">
<li data-start="6438" data-end="6481">
<p data-start="6440" data-end="6481">migliorare le performance del backoffice,</p>
</li>
<li data-start="6482" data-end="6504">
<p data-start="6484" data-end="6504">scrivere estensioni,</p>
</li>
<li data-start="6505" data-end="6552">
<p data-start="6507" data-end="6552">o ricevere supporto per migrazioni complesse,</p>
</li>
</ul>
<p data-start="6554" data-end="6708"><strong data-start="6554" data-end="6613">contattaci su <a class="decorated-link" href="https://www.landlogic.it/" target="_new" rel="noopener" data-start="6570" data-end="6611">landlogic.it<span aria-hidden="true" class="ms-0.5 inline-block align-middle leading-none"></span></a></strong>: saremo felici di condividere la nostra esperienza e contribuire al successo del tuo progetto.</p>
</div></div><div class="w-separator size_medium"></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image align_none"><a target="_blank" href="https://umbraco.com/" aria-label="umbraco_logo_blue0.5" class="w-image-h"><img decoding="async" width="540" height="540" src="https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5.png" class="attachment-full size-full" alt="" loading="lazy" srcset="https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5.png 540w, https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5-300x300.png 300w, https://landlogic.it/wp-content/uploads/2025/09/umbraco_logo_blue0.5-150x150.png 150w" sizes="auto, (max-width: 540px) 100vw, 540px" /></a></div></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/contributo-umbraco-13-migliorare-il-media-picker-con-paginazione-come-labbiamo-fatto/">Contributo Umbraco 13: migliorare il Media Picker con paginazione  &#8211; come l’abbiamo fatto</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MCP: l’intelligenza artificiale “contestuale” nei progetti LandLogic</title>
		<link>https://landlogic.it/mcp-lintelligenza-artificiale-contestuale-nei-progetti-landlogic/</link>
		
		<dc:creator><![CDATA[adm]]></dc:creator>
		<pubDate>Fri, 08 Aug 2025 09:24:37 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://landlogic.it/?p=1283</guid>

					<description><![CDATA[<p>L'articolo <a href="https://landlogic.it/mcp-lintelligenza-artificiale-contestuale-nei-progetti-landlogic/">MCP: l’intelligenza artificiale “contestuale” nei progetti LandLogic</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><section class="l-section wpb_row height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container"><div class="vc_column-inner"><div class="w-image us_custom_ebda694a align_right"><a title="Home" href="https://landlogic.it/" aria-label="landlogo" class="w-image-h"><img decoding="async" width="250" height="30" src="https://landlogic.it/wp-content/uploads/2022/06/landlogo.png" class="attachment-full size-full" alt="" loading="lazy" /></a></div></div></div></div></div></section>
</div></div></div></div></section><section class="l-section wpb_row us_custom_b0aad4f8 height_auto width_full"><div class="l-section-h i-cf"><div class="g-cols vc_row via_grid cols_2-1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default"><div class="wpb_column vc_column_container us_custom_47474b22 us_animate_this"><div class="vc_column-inner"><h1 class="w-post-elm post_title align_left entry-title color_link_inherit">MCP: l’intelligenza artificiale “contestuale” nei progetti LandLogic</h1><div class="w-separator size_medium"></div><div class="wpb_text_column"><div class="wpb_wrapper"><p data-start="459" data-end="640">Dal codice alla gestione dei contenuti, una nuova era di automazione e assistenza per e-commerce e CMS.</p>
<h2 data-start="459" data-end="473"><strong data-start="462" data-end="471">Intro</strong></h2>
<p data-start="474" data-end="923">In LandLogic siamo sempre alla ricerca di tecnologie che permettano di <strong data-start="545" data-end="618">ridurre i tempi, aumentare la qualità e migliorare l’esperienza d’uso</strong> dei sistemi che sviluppiamo.<br data-start="647" data-end="650" />Negli ultimi mesi abbiamo avviato diversi progetti sperimentali basati sul <strong data-start="725" data-end="757">Model Context Protocol (MCP)</strong>, una nuova tecnologia che permette di collegare l’intelligenza artificiale direttamente alle funzionalità specifiche di un software, in modo sicuro e personalizzato.</p>
<p data-start="925" data-end="1186">Queste implementazioni sono <strong data-start="953" data-end="988">attualmente in fase di sviluppo</strong> e ci consentiranno di offrire ai clienti <strong data-start="1030" data-end="1058">strumenti AI “su misura”</strong>, perfettamente integrati con le piattaforme che utilizzano ogni giorno: <strong data-start="1131" data-end="1185">nopCommerce, Umbraco, WordPress/WooCommerce e Odoo</strong>.</p>
<h2 data-start="1193" data-end="1211"><strong data-start="1196" data-end="1209">Cos’è MCP</strong></h2>
<p data-start="1212" data-end="1544">Il <strong data-start="1215" data-end="1241">Model Context Protocol</strong> è un protocollo che definisce come un’applicazione può esporre “tool” (funzioni specifiche) che l’AI può usare in tempo reale.<br data-start="1368" data-end="1371" />In pratica, il modello AI non lavora più “alla cieca”, ma sa come interrogare e utilizzare dati e funzioni reali del tuo sistema, rispettando regole di sicurezza e contesto.</p>
<p data-start="1546" data-end="1574">Con MCP possiamo progettare:</p>
<ul data-start="1575" data-end="1825">
<li data-start="1575" data-end="1681">
<p data-start="1577" data-end="1681"><strong data-start="1577" data-end="1598">Operazioni mirate</strong> (es. “cerca prodotti per categoria”, “genera descrizione SEO”, “crea preventivo”).</p>
</li>
<li data-start="1682" data-end="1741">
<p data-start="1684" data-end="1741"><strong data-start="1684" data-end="1707">Accesso controllato</strong> a dati, API e logica di business.</p>
</li>
<li data-start="1742" data-end="1825">
<p data-start="1744" data-end="1825">Integrazione <strong data-start="1757" data-end="1781">trasparente e sicura</strong> delle funzionalità AI nei flussi aziendali.</p>
</li>
</ul>
<h2 data-start="1832" data-end="1856"><strong data-start="1835" data-end="1856">Progetti in corso</strong></h2>
<h3 data-start="1858" data-end="1880"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f539.png" alt="🔹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong data-start="1865" data-end="1880">nopCommerce</strong></h3>
<p data-start="1881" data-end="1930">Stiamo sviluppando tool MCP che permetteranno di:</p>
<ul data-start="1931" data-end="2220">
<li data-start="1931" data-end="1995">
<p data-start="1933" data-end="1995">Generare automaticamente descrizioni prodotto ottimizzate SEO.</p>
</li>
<li data-start="1996" data-end="2065">
<p data-start="1998" data-end="2065">Creare meta-tag e testi marketing basati sulle specifiche tecniche.</p>
</li>
<li data-start="2066" data-end="2136">
<p data-start="2068" data-end="2136">Effettuare ricerche avanzate in catalogo usando linguaggio naturale.</p>
</li>
<li data-start="2137" data-end="2220">
<p data-start="2139" data-end="2220">Fornire assistenza nella gestione ordini (recupero stato, proposte di upselling).</p>
</li>
</ul>
<p data-start="2222" data-end="2340">Il tutto sarà integrato come <strong data-start="2251" data-end="2261">plugin</strong> lato admin, con pulsanti e wizard direttamente nell’interfaccia di backoffice.</p>
<hr data-start="2342" data-end="2345" />
<h3 data-start="2347" data-end="2365"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f539.png" alt="🔹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong data-start="2354" data-end="2365">Umbraco</strong></h3>
<p data-start="2366" data-end="2414">Su Umbraco, i tool MCP in lavorazione includono:</p>
<ul data-start="2415" data-end="2678">
<li data-start="2415" data-end="2487">
<p data-start="2417" data-end="2487">Assistenza editoriale: suggerimenti per testi, riassunti e traduzioni.</p>
</li>
<li data-start="2488" data-end="2558">
<p data-start="2490" data-end="2558">Generazione di contenuti multilingua a partire da una singola bozza.</p>
</li>
<li data-start="2559" data-end="2613">
<p data-start="2561" data-end="2613">Estrazione automatica di keyword e meta description.</p>
</li>
<li data-start="2614" data-end="2678">
<p data-start="2616" data-end="2678">Chat interna per redattori, collegata ai contenuti pubblicati.</p>
</li>
</ul>
<p data-start="2680" data-end="2743">L’integrazione avverrà come <strong data-start="2708" data-end="2728">dashboard custom</strong> in backoffice.</p>
<hr data-start="2745" data-end="2748" />
<h3 data-start="2750" data-end="2782"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f539.png" alt="🔹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong data-start="2757" data-end="2782">WordPress/WooCommerce</strong></h3>
<p data-start="2783" data-end="2824">Stiamo realizzando tool MCP che potranno:</p>
<ul data-start="2825" data-end="3023">
<li data-start="2825" data-end="2870">
<p data-start="2827" data-end="2870">Analizzare e migliorare le schede prodotto.</p>
</li>
<li data-start="2871" data-end="2934">
<p data-start="2873" data-end="2934">Creare automaticamente post blog con riferimenti al catalogo.</p>
</li>
<li data-start="2935" data-end="2980">
<p data-start="2937" data-end="2980">Generare immagini AI coerenti con il brand.</p>
</li>
<li data-start="2981" data-end="3023">
<p data-start="2983" data-end="3023">Suggerire aggiornamenti e cross-selling.</p>
</li>
</ul>
<p data-start="3025" data-end="3117">Tutto sarà accessibile dal classico editor di WordPress o dalla scheda prodotto WooCommerce.</p>
<hr data-start="3119" data-end="3122" />
<h3 data-start="3124" data-end="3139"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f539.png" alt="🔹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong data-start="3131" data-end="3139">Odoo</strong></h3>
<p data-start="3140" data-end="3215">Su Odoo Enterprise 18, stiamo sviluppando sia <strong data-start="3186" data-end="3202">funzioni ERP</strong> che <strong data-start="3207" data-end="3214">CRM</strong>:</p>
<ul data-start="3216" data-end="3557">
<li data-start="3216" data-end="3298">
<p data-start="3218" data-end="3298">Creazione rapida di preventivi partendo da una richiesta in linguaggio naturale.</p>
</li>
<li data-start="3299" data-end="3357">
<p data-start="3301" data-end="3357">Ricerca prodotti, disponibilità e prezzi in tempo reale.</p>
</li>
<li data-start="3358" data-end="3422">
<p data-start="3360" data-end="3422">Preparazione automatica di email commerciali pronte all’invio.</p>
</li>
<li data-start="3423" data-end="3479">
<p data-start="3425" data-end="3479">Riassunti di ordini, fatture e movimenti di magazzino.</p>
</li>
<li data-start="3480" data-end="3557">
<p data-start="3482" data-end="3557">Assistenza per supporto clienti con risposte contestualizzate sui dati ERP.</p>
</li>
</ul>
<p data-start="3559" data-end="3691">Queste funzionalità saranno disponibili <strong data-start="3599" data-end="3623">direttamente in Odoo</strong> (tramite modulo Python MCP) o tramite un <strong data-start="3665" data-end="3680">hub esterno</strong> integrato.</p>
<h2 data-start="3698" data-end="3736"><strong data-start="3701" data-end="3736">Perché stiamo investendo su MCP</strong></h2>
<ul data-start="3737" data-end="4034">
<li data-start="3737" data-end="3814">
<p data-start="3739" data-end="3814"><strong data-start="3739" data-end="3751">Velocità</strong>: riduzione drastica dei tempi per molte operazioni ripetitive.</p>
</li>
<li data-start="3815" data-end="3877">
<p data-start="3817" data-end="3877"><strong data-start="3817" data-end="3828">Qualità</strong>: contenuti e risposte basati su AI e dati reali.</p>
</li>
<li data-start="3878" data-end="3964">
<p data-start="3880" data-end="3964"><strong data-start="3880" data-end="3901">Personalizzazione</strong>: strumenti progettati sulle regole e sui processi del cliente.</p>
</li>
<li data-start="3965" data-end="4034">
<p data-start="3967" data-end="4034"><strong data-start="3967" data-end="3980">Sicurezza</strong>: accesso AI solo alle funzioni e ai dati autorizzati.</p>
</li>
</ul>
<h2 data-start="4041" data-end="4059"><strong data-start="4044" data-end="4059">Conclusione</strong></h2>
<p data-start="4060" data-end="4373">MCP non è “un’altra moda AI”, ma un nuovo modo di <strong data-start="4110" data-end="4194">collegare in sicurezza l’intelligenza artificiale alla realtà dei dati aziendali</strong>.<br data-start="4195" data-end="4198" />Con questi progetti, attualmente in sviluppo, LandLogic sta portando <strong data-start="4267" data-end="4295">automazione intelligente</strong> nei sistemi dei propri clienti, dal piccolo e-commerce al portale enterprise.</p>
<p data-start="4375" data-end="4500"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e9.png" alt="📩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong data-start="4378" data-end="4440">Vuoi scoprire come MCP potrà rivoluzionare il tuo sistema?</strong><br data-start="4440" data-end="4443" />Contattaci: <a class="cursor-pointer" rel="noopener" data-start="4455" data-end="4500">info@landlogic.it<br />
</a>oppure visita la sezione <a href="https://landlogic.it/contatti/">contatti</a> su landlogic.it</p>
</div></div><div class="w-separator size_medium"></div></div></div><div class="wpb_column vc_column_container"><div class="vc_column-inner"></div></div></div></div></section>
<p>L'articolo <a href="https://landlogic.it/mcp-lintelligenza-artificiale-contestuale-nei-progetti-landlogic/">MCP: l’intelligenza artificiale “contestuale” nei progetti LandLogic</a> proviene da <a href="https://landlogic.it">LandLogic IT | Siti web, E-commerce, software, internet delle cose, .NET</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
