<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Aldolat.it &#8212; Post con tag Sviluppo</title>
        <link>https://www.aldolat.it/tags/sviluppo/</link>
        <description>Ultimi post pubblicati nel tag Sviluppo &#8212; aldolat.it</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>it</language>
        <managingEditor>aldolat@gmail.com (Aldo Latino)</managingEditor>
        <webMaster>aldolat@gmail.com (Aldo Latino)</webMaster>
        <copyright>Creative Commons BY-SA 4.0</copyright>
        <lastBuildDate>Mon, 02 Jun 2025 16:27:16 +0200</lastBuildDate>
        <atom:link href="https://www.aldolat.it/tags/sviluppo/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Una pezza per SyntaxHighlighter</title>
            <link>https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/</link>
            <pubDate>Sat, 19 Jan 2019 20:21:19 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/</guid>
            <description>Con una funzione molto semplice è possibile mettere una pezza al problema del plugin SyntaxHighlighter, che segnalavo qui.&#xA;Grazie a @kaggdesign per la condivisione.</description>
            <content:encoded>&lt;p&gt;Con una funzione molto semplice è possibile &lt;a href=&#34;https://wordpress.org/support/topic/ampersand-character/#post-11108085&#34;&gt;mettere una pezza&lt;/a&gt; al problema del plugin SyntaxHighlighter, che segnalavo &lt;a href=&#34;https://www.aldolat.it/2019/asides/wordpress-syntaxhighlighter-evolved-escaping/&#34;&gt;qui&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Grazie a &lt;a href=&#34;https://wordpress.org/support/users/kaggdesign/&#34;&gt;@kaggdesign&lt;/a&gt; per la condivisione.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/una-pezza-per-syntaxhighlighter/&#34;&gt;Una pezza per SyntaxHighlighter&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>WordPress 5, SyntaxHighlighter Evolved e il carattere «&amp;»</title>
            <link>https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/</link>
            <pubDate>Wed, 09 Jan 2019 18:24:17 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/</guid>
            <description>C&amp;rsquo;è attualmente un problema, confermato da Alex Mills, a.k.a. @viper007bond, circa il corretto escaping del carattere &amp;amp; in WordPress. Trovate la mia discussione con Alex nel forum di WordPress.&#xA;Dalle mie prove sembrerebbe che il problema si presenti solo nei pezzi di codice pubblicati in un post usando il plugin SyntaxHighlighter Evolved. Ad esempio:&#xA;Qui ho usato il blocco standard di WordPress per il codice e il carattere è correttamente mostrato.&#xA;Qui, invece, usando il blocco del plugin SyntaxHighlighter Evolved, no.</description>
            <content:encoded>&lt;p&gt;C&amp;rsquo;è attualmente un problema, confermato da Alex Mills, a.k.a. &lt;a href=&#34;https://profiles.wordpress.org/viper007bond&#34;&gt;@viper007bond&lt;/a&gt;, circa il corretto &lt;em&gt;escaping&lt;/em&gt; del carattere &lt;code&gt;&amp;amp;&lt;/code&gt; in WordPress. Trovate la mia discussione con Alex &lt;a href=&#34;https://wordpress.org/support/topic/ampersand-character/&#34;&gt;nel forum di WordPress&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Dalle mie prove sembrerebbe che il problema si presenti solo nei pezzi di codice pubblicati in un post usando il plugin &lt;a href=&#34;https://wordpress.org/plugins/syntaxhighlighter/&#34;&gt;SyntaxHighlighter Evolved&lt;/a&gt;. Ad esempio:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/standard-wp-code-block.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui ho usato il blocco standard di WordPress per il codice e il carattere è correttamente mostrato.&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/syntax-highlighter-block-code.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui, invece, usando il blocco del plugin SyntaxHighlighter Evolved, no.&lt;/p&gt;&#xA;&lt;p&gt;Alex ha aperto &lt;a href=&#34;https://github.com/WordPress/gutenberg/issues/13218&#34;&gt;un ticket su Github&lt;/a&gt; in quanto dipenderebbe da WordPress.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/wordpress-syntaxhighlighter-evolved-escaping/&#34;&gt;WordPress 5, SyntaxHighlighter Evolved e il carattere «&amp;»&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Facciamo il punto sul mio plugin “Posts in Sidebar”</title>
            <link>https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/</link>
            <pubDate>Sun, 06 Jan 2019 09:30:39 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/</guid>
            <description>L&amp;rsquo;ultima volta che ho scritto di Posts in Sidebar è stato il 2 giugno 2013 e, da allora, sono stati fatti tanti rilasci di questo mio plugin. Tante ore spese a scrivere codice, fare debug e dare assistenza nel forum. Nato da un&amp;rsquo;esigenza puramente personale, il plugin venne pubblicato perché era giusto consentire ad altri di poterne trarre qualche vantaggio e, a quanto pare, viene usato da un po&amp;rsquo; di utenti.&#xA;Dalla versione 1.7, di cui scrivevo appunto nel giugno 2013, siamo arrivati alla versione 4.7.3. Il plugin è cambiato parecchio e tante funzioni sono state aggiunte: diciamo che l&amp;rsquo;oggetto WP_Query è abbastanza “alla portata di widget”. Dalla galleria di foto qui sotto (fare clic per ingrandire l&amp;rsquo;immagine) si vede come il plugin sia cresciuto: nella versione 1.0 le opzioni stanno tutte su una schermata, come anche nella successiva 1.7 anche se aumentate, mentre nell&amp;rsquo;attuale 4.7.3 sono cresciute a dismisura tanto che stanno quasi tutte racchiuse dentro pannelli e sottopannelli (ogni box verde è un pannello che si espande e si contrae con un clic):</description>
            <content:encoded>&lt;p&gt;L&amp;rsquo;ultima volta che ho scritto di &lt;em&gt;Posts in Sidebar&lt;/em&gt; è stato &lt;a href=&#34;https://www.aldolat.it/2013/wordpress/posts-in-sidebar-1-7/&#34;&gt;il 2 giugno 2013&lt;/a&gt; e, da allora, sono stati fatti tanti rilasci di questo mio plugin. Tante ore spese a scrivere codice, fare debug e dare assistenza nel forum. Nato da un&amp;rsquo;esigenza puramente personale, il plugin venne pubblicato perché era giusto consentire ad altri di poterne trarre qualche vantaggio e, a quanto pare, viene usato &lt;a href=&#34;https://wordpress.org/plugins/posts-in-sidebar/advanced/&#34;&gt;da un po&amp;rsquo; di utenti&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2019/01/posts-in-sidebar.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;posts-in-sidebar&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Dalla versione 1.7, di cui scrivevo appunto nel giugno 2013, siamo arrivati alla versione 4.7.3. Il plugin è cambiato parecchio e tante funzioni sono state aggiunte: diciamo che l&amp;rsquo;oggetto &lt;code&gt;WP_Query&lt;/code&gt; è abbastanza “alla portata di widget”. Dalla galleria di foto qui sotto (fare clic per ingrandire l&amp;rsquo;immagine) si vede come il plugin sia cresciuto: nella versione 1.0 le opzioni stanno tutte su una schermata, come anche nella successiva 1.7 anche se aumentate, mentre nell&amp;rsquo;attuale 4.7.3 sono cresciute a dismisura tanto che stanno quasi tutte racchiuse dentro pannelli e sottopannelli (ogni box verde è un pannello che si espande e si contrae con un clic):&lt;/p&gt;&#xA;&#xA;&#xA;    &#xA;&#xA;&#xA;&lt;div class=&#34;gallery threecols&#34;&gt;&#xA;    &#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-1.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-1&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 1.0.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-2.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-2&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 1.7.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;a href=&#34;https://www.aldolat.it/images/2018/12/pis-3.png&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-3&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Il pannello delle opzioni di Posts in Sidebar 4.7.3.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;a-cosa-serve-questo-plugin&#34;&gt;A cosa serve questo plugin&lt;/h2&gt;&#xA;&lt;figure class=&#34;color aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2018/12/pis-4.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;pis-4&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;I sottopannelli dedicati alla personalizzazione della query.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Questo plugin serve a mostrare nella sidebar alcuni post scelti secondo determinati criteri. Ad esempio:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;mostrare gli ultimi post;&lt;/li&gt;&#xA;&lt;li&gt;mostrare gli ultimi post pubblicati in una o più categorie o in uno o più tag;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post a caso;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post a caso ma aventi certe tassonomie (categorie, tag, formati di post, ecc.);&lt;/li&gt;&#xA;&lt;li&gt;mostrare post con un certo stato (pubblicato, programmato, bozza, in attesa di revisione, ecc.);&lt;/li&gt;&#xA;&lt;li&gt;mostrare post di un certo autore;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post con determinati campi personalizzati;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post pubblicati in certi intervalli di date;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post risultanti da una ricerca;&lt;/li&gt;&#xA;&lt;li&gt;mostrare post mediante query complesse di tassonomie;&lt;/li&gt;&#xA;&lt;li&gt;mostrare un determinato gruppo di post in tutte le pagine e, invece, i post dell&amp;rsquo;autore dell&amp;rsquo;articolo corrente quando si visualizza un articolo singolo;&lt;/li&gt;&#xA;&lt;li&gt;mostrare i post di una delle categorie del post quando si visualizza un articolo singolo;&lt;/li&gt;&#xA;&lt;li&gt;e altro ancora.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Oltre a ciò è possibile scegliere cosa visualizzare del post: oltre al titolo, si può scegliere se mostrare anche un estratto (o un altro tipo di testo); si può mostrare l&amp;rsquo;immagine in evidenza, le categorie, i tag, le tassonomie personalizzate, la data, ecc.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-prezzo-di-questo-plugin&#34;&gt;Il prezzo di questo plugin&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Posts in Sidebar&lt;/em&gt; è distribuito gratuitamente nel &lt;a href=&#34;https://wordpress.org/plugins/posts-in-sidebar/&#34;&gt;repository di WordPress&lt;/a&gt; ed è pubblicato sotto licenza GPL v3. Chi ha pagato tanto in termini di tempo e fatica sono io, ma l&amp;rsquo;ho fatto divertendomi. Quando, a volte, in alcune applicazioni disponibili sulla rete vedo la riga che dice &lt;em&gt;Made with love in California&lt;/em&gt; (o altrove), ecco ritengo che sia molto vero se penso alla mia esperienza di lavoro sui miei plugin. 🙂&lt;/p&gt;&#xA;&lt;h2 id=&#34;lassistenza-nel-forum&#34;&gt;L&amp;rsquo;assistenza nel forum&lt;/h2&gt;&#xA;&lt;p&gt;Uno dei punti cardine dello sviluppo di &lt;em&gt;Posts in Sidebar&lt;/em&gt; è stato il mio rapporto con gli utenti nel forum. Sempre rispettosi dello sviluppatore del plugin, mi hanno chiesto assistenza nell&amp;rsquo;uso ma soprattutto nell&amp;rsquo;adattamento dell&amp;rsquo;aspetto alla grafica del tema. Il plugin, infatti, non ha una grafica sua e visualizza i post senza interporre nulla a livello di CSS (se non quando esplicitamente si attivano alcune opzioni dedicate). Spessissimo mi hanno anche chiesto assistenza su cose che esulavano del tutto dal plugin, ma non mi sono tirato indietro e non li ho mai liquidati con risposte sbrigative, cercando invece di immedesimarmi e di dar loro il supporto richiesto.&lt;/p&gt;&#xA;&lt;p&gt;Il widget che questo plugin genera è stracarico di opzioni. Molte le ho aggiunte io, nel tentativo di rendere facilmente disponibile a tutti la potenza di &lt;code&gt;WP_Query&lt;/code&gt;, ma molte opzioni nascono nascono proprio da loro richieste. A memoria mia credo di averne respinte poche, perché le reputavo interessanti e utili per altri eventuali utenti.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-futuro-dello-sviluppo&#34;&gt;Il futuro dello sviluppo&lt;/h2&gt;&#xA;&lt;p&gt;Ad oggi non ho molto da aggiungere al plugin, perché credo di essere molto vicino al traguardo che mi ero prefissato: poter estrarre i post desiderati dal database e mostrarli in un widget.&lt;/p&gt;&#xA;&lt;p&gt;A livello di scrittura del codice confesso che mi sarebbe piaciuto programmarlo ad oggetti, ma non ho mai avuto il tempo di imparare. Non programmo per mestiere e guardando il codice si vede, ma oltre non potevo andare.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2019/facciamo-il-punto-su-posts-in-sidebar/&#34;&gt;Facciamo il punto sul mio plugin “Posts in Sidebar”&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>Usare Bazaar con un repository centrale su disco esterno</title>
            <link>https://www.aldolat.it/posts/2009/usare-bazaar-con-un-repository-centrale-su-disco-esterno/</link>
            <pubDate>Tue, 03 Nov 2009 09:18:41 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2009/usare-bazaar-con-un-repository-centrale-su-disco-esterno/</guid>
            <description>Ho sempre usato Bazaar tenendo il database delle revisioni nella stessa directory di lavoro del progetto, e la cosa non è sbagliata perché questo sistema di controllo di versione è stato pensato proprio così. Mi sono sempre trovato bene, ma ciò che mi sarebbe piaciuto era avere un unico archivio centrale dove tenere i database di tutti i progetti (idea che è nata dopo aver provato SVN); precisamente mi sarebbe piaciuto su un disco esterno, in modo da rendere più difficile la perdita dei dati in caso di crash o altro.</description>
            <content:encoded>&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/11/bazaar_photo.jpg&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Ho sempre usato &lt;a href=&#34;http://bazaar-vcs.org/en/&#34;&gt;Bazaar&lt;/a&gt; tenendo il database delle revisioni nella stessa directory di lavoro del progetto, e la cosa non è sbagliata perché questo sistema di controllo di versione è stato pensato proprio così. Mi sono sempre trovato bene, ma ciò che mi sarebbe piaciuto era &lt;em&gt;avere un unico archivio centrale dove tenere i database di tutti i progetti&lt;/em&gt; (idea che è nata dopo aver provato &lt;span class=&#34;allsc&#34;&gt;SVN&lt;/span&gt;); precisamente mi sarebbe piaciuto &lt;em&gt;su un disco esterno&lt;/em&gt;, in modo da rendere più difficile la perdita dei dati in caso di crash o altro.&lt;/p&gt;&#xA;&lt;figure class=&#34;alignleft nobg&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/11/subversion.png&#34; width=&#34;80&#34; height=&#34;58&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;In questi ultimi tempi ho anche provato &lt;a href=&#34;http://subversion.tigris.org/&#34;&gt;Subversion&lt;/a&gt;, che mi è piaciuto per il suo rigore nello struttura delle &lt;em&gt;working directory&lt;/em&gt; (branches, tags, trunk) e per la filosofia di repository centrale, che mi è piaciuta davvero. Di contro non mi è proprio piaciuta la consuetudine di infilare una directory nascosta &lt;code&gt;.svn&lt;/code&gt; in ogni dove nel progetto. Non ho però una seria esperienza di Subversion per poterlo giudicare, ma mi è apparso comunque un pelino schizzinoso rispetto a Bazaar,&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; che invece apprezzo per la sua facilità e… direi “umanità”, proprio nello stile di Ubuntu, visto che anche lui è sponsorizzato da Canonical.&lt;/p&gt;&#xA;&lt;p&gt;Con un po&amp;rsquo; di pazienza e avendo in mente di creare un repository di progetti su un disco esterno, mi sono spulciato la &lt;a href=&#34;http://doc.bazaar-vcs.org/latest/en/index.html&#34;&gt;documentazione ufficiale di Bazaar&lt;/a&gt;, in cui ho trovato le informazioni che mi servivano.&lt;/p&gt;&#xA;&lt;p&gt;Ecco le &lt;em&gt;mie note personali&lt;/em&gt; su quello che ho fatto. Non prendetele come una guida all&amp;rsquo;uso, ma come una condivisione di esperienza che sicuramente ha lati non chiari per me. Anzi, se avete da correggere quanto scrivo, discutiamone pure nei commenti.&lt;/p&gt;&#xA;&lt;h2 id=&#34;inizializzare-il-repository-centrale-sul-disco-esterno&#34;&gt;Inizializzare il repository centrale sul disco esterno&lt;/h2&gt;&#xA;&lt;p&gt;Sul mio disco esterno &lt;span class=&#34;allsc&#34;&gt;USB&lt;/span&gt; ho creato una directory &lt;code&gt;bzr-repo&lt;/code&gt;, una sorta di contenitore: in essa metterò tutti i progetti, uno in ogni sua sottodirectory:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr-repo       # contenitore centrale&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+- progetto1   # directory progetto 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+- progetto2   # directory progetto 2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+- progetto3   # directory progetto 3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questa è l&amp;rsquo;idea. L&amp;rsquo;unica directory che ho creato finora è &lt;code&gt;bzr-repo&lt;/code&gt;. Le dipendenti le creeremo con bazaar. Da terminale diamo:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr init-repo --no-trees file:///media/Golia/Aldo/bzr-repo/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;opzione &lt;code&gt;--no-trees&lt;/code&gt; dice a Bazaar che in quel repository non si terranno le copie di lavoro (&lt;em&gt;working copy&lt;/em&gt;) dei file, ma solo il database con la loro storia. Questo comando va dato ovviamente una sola volta per tutti i progetti.&lt;/p&gt;&#xA;&lt;h2 id=&#34;creare-la-directory-del-progetto-1&#34;&gt;Creare la directory del progetto 1&lt;/h2&gt;&#xA;&lt;div class=&#34;note&#34;&gt;&#xA;    &#xA;    &lt;p class=&#34;aside&#34;&gt;&#xA;        &lt;em&gt;Quello che segue va fatto per ogni progetto che si vuole collegare al repository centrale.&lt;/em&gt;&#xA;    &lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Inizializziamo la directory del primo progetto:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr init file:///media/Golia/Aldo/bzr-repo/progetto1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questo comando creerà la directory &lt;code&gt;progetto1&lt;/code&gt; con all&amp;rsquo;interno una nascosta &lt;code&gt;.bzr&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;creare-la-directory-di-lavoro-locale-e-collegarla-al-repository&#34;&gt;Creare la directory di lavoro locale e collegarla al repository&lt;/h2&gt;&#xA;&lt;p&gt;Col repository abbiamo finito. Passiamo ora in locale e creiamo la struttura delle directory di lavoro (immaginiamo di voler tenere i progetti nella directory &lt;code&gt;progetti&lt;/code&gt; nella propria &lt;code&gt;home&lt;/code&gt;), quelle in cui terremo le &lt;em&gt;working copy&lt;/em&gt;. Per essere chiari, ecco cosa ho in mente di creare:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;progetti           # contenitore generale&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; +- progetto-uno   # directory principale progetto 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; |  +- releases    # directory con i tarball dei rilasci&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; |  +- trunk       # directory di sviluppo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; +- progetto-due   # directory principale progetto 2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; |  +- releases    # directory con i tarball dei rilasci&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; |  +- trunk       # directory di sviluppo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; …```&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questa struttura è quella che ho scelto io: ognuno può organizzarsi come meglio crede. Immagino sia semplice capire l&amp;rsquo;uso delle directory in base ai commenti.&lt;/p&gt;&#xA;&lt;p&gt;Passiamo all&amp;rsquo;opera nel terminale:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p progetti/progetto1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; progetti/progetto1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Colleghiamo (facciamo in realtà il checkout su) questa directory con quella relativa all&amp;rsquo;interno del repository:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr co file:///media/Golia/Aldo/bzr-repo/progetto1/ trunk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questo comando creerà la directory &lt;code&gt;trunk&lt;/code&gt; (quella in cui terremo fisicamente i file di lavoro) dentro &lt;code&gt;progetti/progetto1&lt;/code&gt;. Se ora la aprite, vedrete la solita directory &lt;code&gt;.bzr&lt;/code&gt; per il controllo.&lt;br&gt;&#xA;Passiamo ora in trunk:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; trunk/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Possiamo già iniziare a creare i nostri file e a lavorare.&lt;/p&gt;&#xA;&lt;p class=&#34;newpar&#34;&gt;Se invece abbiamo già un progetto in corso non ancora sotto controllo di versione, copiamo tutti i file e tutte le directory qui dentro:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -ar ~/vecchia-directory/* .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ora che abbiamo copiato i file, Bazaar ancora non sa cosa siano, quindi aggiungiamoli:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr add&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;e Bazaar li aggiungerà tutti, comprese le sottodirectory e il loro contenuto. Fatto ciò, eseguiamo il nostro primo &lt;code&gt;commit&lt;/code&gt; (cioè inviamo il tutto al repository centrale):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Primo upload&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;che possiamo anche scrivere con l&amp;rsquo;alias &lt;code&gt;ci&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr ci -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Primo upload&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;acronimo &lt;code&gt;ci&lt;/code&gt; sta per &lt;em&gt;check-in&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p class=&#34;newpar&#34;&gt;Abbiamo finito con l&amp;rsquo;impostare database e directory di lavoro. Chiunque, adesso, se il disco è accessibile in rete, può scaricare la propria copia del progetto1 e lavorarci; ad esempio, in una rete dove è attiva una connessione &lt;span class=&#34;allsc&#34;&gt;SSH&lt;/span&gt;, si può lanciare un comando del tipo:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir mia-directory-di-lavoro/progetto1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr co sftp://aldo@192.168.1.2/Aldo/bzr-repo/progetto1/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questo comando si tirerà dietro tutta la storia del progetto. Se non lo si desidera, si può scaricare solo il progetto:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr co --lightweight sftp://aldo@192.168.1.2/Aldo/bzr-repo/progetto1/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;commit-delle-modifiche&#34;&gt;Commit delle modifiche&lt;/h2&gt;&#xA;&lt;p&gt;I paragrafi che seguono sono soltanto un promemoria rapido per alcune operazioni comuni con Bazaar. Vediamo la principale: il &lt;code&gt;commit&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p class=&#34;newpar&#34;&gt;Dopo ogni serie di modifiche correlate, eseguire il &lt;code&gt;commit&lt;/code&gt; con:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr ci -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Descrizione della modifica&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;commit-locale-se-il-repository-è-irraggiungibile&#34;&gt;Commit locale se il repository è irraggiungibile&lt;/h2&gt;&#xA;&lt;p&gt;Qualora stiamo lavorando offline, lontano dal disco esterno, possiamo eseguire i &lt;code&gt;commit&lt;/code&gt; localmente (cioè nel database locale presente nella directory &lt;code&gt;trunk&lt;/code&gt;) e poi inviare tutte le modifiche in una volta al repository. Ecco come cambia il comando:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr ci --local -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Descrizione delle modifiche&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Quando il repository sarà di nuovo raggiungibile, possiamo inviarle così:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;e quindi il commit&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr ci -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;Descrizione delle modifiche&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il comando &lt;code&gt;update&lt;/code&gt; esegue il &lt;em&gt;merging&lt;/em&gt; delle revisioni, diciamo una “ri-unione” delle versioni tra quelle del repository e quelle del database locale. Questo perché Bazaar considera il lavoro offline come se fosse una nuovo linea di sviluppo (nello screenshot più sotto si vede graficamente questo concetto).&lt;/p&gt;&#xA;&lt;h2 id=&#34;taggare-una-versione&#34;&gt;Taggare una versione&lt;/h2&gt;&#xA;&lt;p&gt;Periodicamente è bene taggare (etichettare) una revisione del lavoro, magari in concomitanza di un rilascio. Dalla directory &lt;code&gt;trunk&lt;/code&gt; digitiamo:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr tag 0.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dopo aver taggato una versione non c&amp;rsquo;è bisogno di fare il &lt;code&gt;commit&lt;/code&gt;, che precede quindi il comando di &lt;code&gt;tag&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;esportare-il-codice-in-un-pacchetto-o-in-una-directory&#34;&gt;Esportare il codice in un pacchetto o in una directory&lt;/h2&gt;&#xA;&lt;p&gt;Bazaar consente di esportare facilmente la directory di lavoro in un pacchetto compresso, senza esportare la directory nascosta. Entrare in &lt;code&gt;trunk/&lt;/code&gt; e digitare:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bzr &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; ../releases/version-0.3.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La directory &lt;code&gt;releases&lt;/code&gt; deve ovviamente essere già stata creata manualmente prima del comando.&lt;/p&gt;&#xA;&lt;p&gt;Si può scegliere anche un altro formato di compressione: Bazaar lo ricoscerà automaticamente dall&amp;rsquo;estensione. I formati sono: &lt;code&gt;.tar&lt;/code&gt;, &lt;code&gt;.tar.bz2&lt;/code&gt;, &lt;code&gt;.tar.gz&lt;/code&gt;, &lt;code&gt;.zip&lt;/code&gt; (comprese le forme contratte). Se non mettiamo alcuna estensione, Bazaar esporterà il contenuto in una directory (nel caso di sopra in &lt;code&gt;../releases/version-0.3/&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;h2 id=&#34;una-gui-per-bazaar&#34;&gt;Una GUI per Bazaar&lt;/h2&gt;&#xA;&lt;p&gt;Esiste anche una comodissima interfaccia grafica per Bazaar, &lt;em&gt;Olive&lt;/em&gt;, che potete installare con apt. Ecco qualche screenshot:&lt;/p&gt;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/11/olive3.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;I progetti su Olive e la barra degli strumenti.&#34; width=&#34;448&#34; height=&#34;319&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;I progetti su Olive e la barra degli strumenti.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/11/olive1.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;La storia delle revisioni di un progetto, con i commit locali (in blu) poi riuniti e i tag.&#34; width=&#34;448&#34; height=&#34;580&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;La storia delle revisioni di un progetto, con i commit locali (in blu) poi riuniti e i tag.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/11/olive2.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;I cambiamenti effettuati in una particolare revisione.&#34; width=&#34;448&#34; height=&#34;296&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;I cambiamenti effettuati in una particolare revisione.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p class=&#34;photo-credits&#34;&gt;Photo credits:&#xA;    &lt;span class=&#34;photo-author&#34;&gt;Williamcho&lt;/span&gt;,&#xA;    &#xA;        &lt;span class=&#34;photo-title&#34;&gt;&lt;a href=&#34;http://www.flickr.com/photos/adforce1/6036636784/&#34; class=&#34;photo-link&#34;&gt;Bugis Street is not quite the same as what it used to be&amp;hellip;&lt;/a&gt;&lt;/span&gt;,&#xA;    &#xA;    &lt;span class=&#34;photo-license&#34;&gt;CC by-nc&lt;/span&gt;,&#xA;    &#xA;    &lt;span class=&#34;photo-year&#34;&gt;2010&lt;/span&gt;.&#xA;&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Ad esempio, avevo cancellato un bel numero di file e la loro directory da quella di lavoro. Al momento del commit Subversion mi dice che non potevo eseguire il commit perché questi file non c&amp;rsquo;erano (o erano obsoleti, onestamente non ricordo). Esisterà un comando per farglieli cancellare dal database pur non essendo presenti fisicamente, ma non ci sono riuscito (diciamo pure che non mi sono impegnato). Bazaar, invece, capisce che quei file sono già stati eliminati dall&amp;rsquo;utente e permette il commit, eliminandoli automaticamente.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2009/usare-bazaar-con-un-repository-centrale-su-disco-esterno/&#34;&gt;Usare Bazaar con un repository centrale su disco esterno&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>WordPress 2.8: alcune novità</title>
            <link>https://www.aldolat.it/posts/2009/wordpress-28-alcune-novita/</link>
            <pubDate>Tue, 21 Apr 2009 08:34:27 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2009/wordpress-28-alcune-novita/</guid>
            <description>Questa mattina, aggiornando la mia versione di sviluppo di WordPress che provo sotto un server Lampp, ho visto alcune delle novità: mi sono piaciute e le condivido con voi. Non sono entrato in ulteriori dettagli e questo è quello che si scopre in una rapida visita.&#xA;Temi: è possibile adesso installare un tema senza passare dall&amp;rsquo;anteprima. È stata aggiunta una riga di link con cui effettuare le operazioni: Attiva, Anteprima, Cancella (fig. 1). Temi: è stata aggiunta una pagina sotto Aspetto che consente di installare i temi online, cercandoli in base ai tag del tema (fig. 2): un po&amp;rsquo; come già oggi si fa con i plugin. Ho provato a cercare temi con tag “Holiday” e in figura vedete cosa ho trovato (fig. 3). Editor temi: è stato aggiunto il conteggio delle righe dei file relativi al tema, in modo da individuare subito la riga che si sta cercando (fig. 4); Widgets: finalmente (!) una gestione dei widgets più facile! Ora è possibile avere sott&amp;rsquo;occhio tutte le aree dei widget e aggiungerli in modo più semplice e rapido (fig. 5). Ecco una galleria di screenshot:</description>
            <content:encoded>&lt;p&gt;Questa mattina, aggiornando la mia &lt;a href=&#34;http://wordpress.org/download/svn/&#34;&gt;versione di sviluppo di WordPress&lt;/a&gt; che provo sotto un server &lt;a href=&#34;http://www.apachefriends.org/en/index.html&#34;&gt;Lampp&lt;/a&gt;, ho visto alcune delle novità: mi sono piaciute e le condivido con voi. Non sono entrato in ulteriori dettagli e questo è quello che si scopre in una rapida visita.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Temi:&lt;/strong&gt; è possibile adesso installare un tema senza passare dall&amp;rsquo;anteprima. È stata aggiunta una riga di link con cui effettuare le operazioni: Attiva, Anteprima, Cancella (&lt;em&gt;fig. 1&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Temi:&lt;/strong&gt; è stata aggiunta una pagina sotto Aspetto che consente di installare i temi online, cercandoli in base ai tag del tema (&lt;em&gt;fig. 2&lt;/em&gt;): un po&amp;rsquo; come già oggi si fa con i plugin. Ho provato a cercare temi con tag “Holiday” e in figura vedete cosa ho trovato (&lt;em&gt;fig. 3&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Editor temi:&lt;/strong&gt; è stato aggiunto il conteggio delle righe dei file relativi al tema, in modo da individuare subito la riga che si sta cercando (&lt;em&gt;fig. 4&lt;/em&gt;);&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Widgets:&lt;/strong&gt; finalmente (!) una gestione dei widgets più facile! Ora è possibile avere sott&amp;rsquo;occhio tutte le aree dei widget e aggiungerli in modo più semplice e rapido (&lt;em&gt;fig. 5&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ecco una galleria di screenshot:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/04/wp-themes.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Fig. 1: I link per la gestione completa dei temi installati&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Fig. 1: I link per la gestione completa dei temi installati&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/04/wp-install-themes.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Fig. 2: La pagina di installazione dei temi&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Fig. 2: La pagina di installazione dei temi&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/04/wp-install-themes-holiday.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Fig. 3: Il risultato della ricerca online dei temi&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Fig. 3: Il risultato della ricerca online dei temi&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/04/wp-editor.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Fig. 4: Le righe dell&amp;rsquo;editor sono ora numerate&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Fig. 4: Le righe dell&amp;rsquo;editor sono ora numerate&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2009/04/wp-widgets.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Fig. 5: Le aree dei widget&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Fig. 5: Le aree dei widget&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Ma quando sarà possibile riordinare le pagine del proprio blog allo stesso modo di come ora si farà con i widget? 😀 È vero che col plugin &lt;a href=&#34;http://wordpress.org/extend/plugins/pagemash/&#34;&gt;PageMash&lt;/a&gt; è possibile, ma meglio avere la funzione integrata in WordPress.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2009/wordpress-28-alcune-novita/&#34;&gt;WordPress 2.8: alcune novità&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
    </channel>
</rss>
