How to contribute to Symfony for Symfony 2.0

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "How to contribute to Symfony for Symfony 2.0"

Transcript

1 How to contribute to Symfony for Symfony.0

2 How to contribute to Symfony (.0) This work is licensed under the Attribution-Share Alike 3.0 Unported license (http://creativecommons.org/ licenses/by-sa/3.0/). You are free to share (to copy, distribute and transmit the work), and to remix (to adapt the work) under the following conditions: Attribution: You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor SensioLabs shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. If you find typos or errors, feel free to report them by creating a ticket on the Symfony ticketing system (http://github.com/symfony/symfony-docs/issues). Based on tickets and users feedback, this book is continuously updated.

3 Contents at a Glance Segnalare un bug...4 Inviare una patch...5 Segnalazione di un problema di sicurezza...11 Eseguire i test di Symfony...1 Standard del codice...14 Convenzioni...17 Licenza di Symfony...19 Contribuire alla documentazione...0 Formato della documentazione... Traduzioni...5 Licenza della documentazione di Symfony...7 Incontri su IRC...9 Altre risorse...31 Contents at a Glance iii

4 Chapter 1 Segnalare un bug Se si dovesse trovare un bug in Symfony, chiediamo di segnalarlo. Ciò aiuta a rendere migliore Symfony. Se si ritiene di aver trovato un problema di sicurezza, si prega di seguire invece la procedura. Prima di inviare un bug: Ricontrollare la documentazione 1 ufficiale per verificare che non si stia facendo un uso scorretto del framework; Chiedere assistenza alla lista degli utenti, al forum 3 o al canale IRC 4 #symfony, se non si è sicuri che sia effettivamente un bug. Se si hanno problemi a identificare effettivamente il bug, segnalarlo utilizzando il tracker 5 ufficiale, seguendo alcune regole di base: Utilizzare il campo titolo per descrivere chiaramente il problema; Descrivere i passi necessari per riprodurre il bug, anche con brevi esempi di codice (fornire un test unitario per replicare il bug è il modo migliore) Fornire il maggior numero di dettagli possibile sul proprio ambiente (sistema operativo, versione di PHP versione di Symfony, extensioni abilitate,...) (facoltativo) Allegare una patch #contributing-code-irc:--irc.freenode.net-symfony 5. https://github.com/symfony/symfony/issues Chapter 1: Segnalare un bug 4

5 Chapter Inviare una patch Una patch è il modo migliore per rimediare a un bug e per proporre dei miglioramenti a Symfony Passo 1: preparare l'ambiente Installare il software Prima di lavorare con Symfony, preparare l'ambiente con il seguente software: Git; PHP versione 5.3. o successive; PHPUnit o successivi. Configurare Git Impostare le informazioni utente con il proprio nome reale e il proprio indirizzo di posta elettronica: Listing -1 1 $ git config --global user.name "Il proprio nome" $ git config --global user. Si raccomanda caldamente a chi fosse nuovo la lettura del libro ProGit 1, eccellente e libero. Se il proprio IDE crea dei file di configurazione dentro la cartella del progetto, si può usare il file globale.gitignore (per tutti i progetti) o il file.git/info/exclude (per progetto) per ignorarli. Vedere la documentazione di Github. 1. Chapter : Inviare una patch 5

6 Utenti di Windows: quando si installa Git, l'installazione chiederà cosa fare con i fine riga, suggerendo di sostituire Lf con CRLF. Questa impostazine è sbagliata, se si vuole contribuire a Symfony! Impostare il metodo "as-is" come scelta migliore, così git convertirà i fine riga con quelli nel repository. Se git è già stato installato, si può verificare questa impostazione con: Listing - 1 $ git config core.autocrlf Restituirà "false", "input" o "true", dove "true" e "false" sono i valori sbagliati. Impostare nuovamente con: Listing -3 1 $ git config --global core.autocrlf input Sostituire --global con --local se si vuole impostare solo per il repository attivo. Ottenere il codice sorgente di Symfony Ottenere il codice sorgente di Symfony: Creare un account su GitHub 3 ed entrare; Forkare il repository di Symfony 4 (cliccando sul bottone "Fork"); Dopo che l'azione "hardcore forking" è stata completata, clonare il proprio fork in locale (creerà una cartella symfony): Listing -4 1 $ git clone Aggiungere il repository upstream come remote: Listing -5 1 $ cd symfony $ git remote add upstream git://github.com/symfony/symfony.git Verificare che i test passino Ora che Symfony è installato, verifcare che tutti i test unitari passino nel proprio ambiente, come spiegato nel documento dedicato. Passo : lavorare su una patch La licenza Prima di iniziare, occorre sapere che tutte le patch da inviare devono essere rilasciate sotto licenza MIT, a meno che non sia specificato diversamente nel proprio codice.. https://help.github.com/articles/ignoring-files 3. https://github.com/signup/free 4. https://github.com/symfony/symfony Chapter : Inviare una patch 6

7 Scegliere il ramo giusto Prima di lavorare su una patch, è necessario individuare il ramo giusto. Il ramo deve essere basato sul ramo master se si vuole aggiungere una nuova funzionalità. Ma se si vuole risolvere un bug, utilizzare le versioni vecchie (ma ancora mantenute) di Symfony nelle quali appare il bug (come.0). Tutti i bug risolti in rami di manutenzione sono inseriti anche i rami più recenti, su base regolare. Per esempio, se si invia una patch per il ramo.0, la patch sarà applicata anche sul ramo master. Creare un ramo Ogni volta che si vuole lavorare su una patch per un bug o un miglioramento, creare un ramo: Listing -6 1 $ git checkout -b NOME_RAMO master Oppure, se si vuole risolvere un bug per il ramo.0, tracciare il ramo.0 remoto in locale: Listing -7 1 $ git checkout -t origin/.0 Quindi creare un nuovo ramo dal ramo.0: Listing -8 1 $ git checkout -b NOME_RAMO.0 Usare un nome descrittivo per il proprio ramo (ticket_xxx dove XXX è il numero di ticket è una buona convenzione per i bug). I comandi precedenti porteranno automaticamente sul ramo appena creato (verificare il ramo su cui si sta lavorando con git branch). Lavorare sulla propria patch È possibile lavorare sul codice quanto si vuole e committare tanto quanto si vuole; ma bisogna tenere a mente le seguenti indicazioni: Seguire gli standard del codice (utilizzare git diff --check per controllare i spazi alla fine); Aggiungere test unitari per provare che il bug è stato fissato per mostrare che la funzionalità è effettivamente funzionante; Sforzarsi di non infrangere la retro-compatibilità (se lo si deve fare, provare a fornire un livello di compatibilità che supporti il vecchio modo), le patch che infrangono la retro-compatbilità hanno meno probabilità di essere accettate; Fare commit separati e atomici (utilizzare le funzionalità di git rebase per ottenere uno storico chiaro e pulito); Comprimere i commit irrilevanti, che sistemano solamente gli standard di codice o gli errori di battitura; Non sistemare mai gli standard nel codice esistente, perché rende più difficoltosa la revisione del codice; Scrivere buoni messaggi di commit. Chapter : Inviare una patch 7

8 Si possono verificare gli standard del codice eseguente il seguente script 5 (sorgente 6 ): Listing -9 1 $ cd /path/to/symfony/src $ php symfony-cs-fixer.phar fix. Symfony0Finder Un buon messaggio di commit è composto dal riepilogo nella (prima linea), opzionalmente seguito da una linea vuota e da una descrizione dettagliata. Il riepilogo dovrebbe cominciare con il componente sul quale si sta lavorando posto fra parentesi quadre ([DependencyInjection], [FrameworkBundle],...). Utilizzare un verbo (fixed..., added...,...) per iniziare e non utilizzare il punto finale. Preparare la propria patch Quando la proprià patch non riguarda la sistemazione di un bug (quando si aggiunge una nuova caratteristica o se ne cambia una, per esempio), occorre includere quello che segue: Una spiegazione delle modifiche nel file (o nei file) CHANGELOG rilevante; Una spiegazione di come aggiornare un'applicazione esistente, nel file (o nei file) UPGRADE rilevante, se le modifiche infrangono la retro-compatibilità. Passo 3: inviare la propria patch Quando si ritiene la propria patch pronta per l'invio, seguire i passi seguenti. Fare un rebase Prima di inviare una patch, aggiornare il proprio ramo (necessario se passa del tempo tra il checkout e il commit delle nuove funzionalità) Listing $ git checkout master $ git fetch upstream $ git merge upstream/master $ git checkout NOME_RAMO $ git rebase master Sostituire master con.0 se si sta lavorando sulla risoluzione di un bug Quando si esegue il comando rebase, potrebbe essere necessario risolvere conflitti. Il comando git status metterà in mostra i file non ancora uniti (unmerged ). Risolvere tutti i conflitti e continuare con il rebase: Listing https://github.com/fabpot/php-cs-fixer Chapter : Inviare una patch 8

9 1 $ git add... # aggiunge file risolti $ git rebase --continue Verificare che tutti i test stiano ancora passando e inviare gli sviluppi nel ramo remoto. Listing -1 1 $ git push origin NOME_RAMO Richiedere un pull Si può ora eseguire una richiesta di pull sul repository symfony/symfony su Github. Si faccia attenzione a puntare la richiesta di pull verso symfony:.0, se si vuole che la risoluzione del bug riceva un pull basato sul ramo.0. Per facilitare il lavoro, includere sempre i componenti modificati nel messaggio di richiesta di pull, come in: Listing [Yaml] pippo pluto [Form] [Validator] [FrameworkBundle] pippo pluto Si prega di usare un titolo con "[WIP]", se la proposta non è ancora completa o se i test sono incompleti o non passano ancora. La descrizione della richiesta di pull deve includere la seguente lista, per assicurare che i contributi siano rivisti senza continui giri di feedback e che quindi possano essere inclusi in Symfony il prima possibile: Listing Bug fix: [yes no] Feature addition: [yes no] Backwards compatibility break: [yes no] Symfony tests pass: [yes no] Fixes the following tickets: [lista separata da virgole di ticket risolti] Todo: [lista di todo in corso] License of the code: MIT Documentation PR: [Riferimento alla PR di documentazione, se presente] Un esempio di proposta potrebbe essere il seguente: Listing Bug fix: no Feature addition: yes Backwards compatibility break: no Symfony tests pass: yes Fixes the following tickets: #1, #43 Todo: - License of the code: MIT Documentation PR: symfony/symfony-docs#13 Nella descrizione della richiesta di pull, dare quanti più dettagli possibile sulle proprie modifiche (non esitare a fornire esempi di codice per illustrare il punto). Se la richiesta di pull aggiunge nuove caratteristiche o ne modifica di esistenti, spiegare le ragioni delle modifiche. La descrizione della richiesta Chapter : Inviare una patch 9

10 di pull aiuta la revisione del codice e serve da riferimento nel momento del merge (la descrizione della richiesta di pull e tutti i commenti associati sono parte del messaggio di commit del merge). Oltre alla richiesta di pull sul codice, si deve inviare anche una richiesta di pull al repository della documentazione 7, per aggiornare la documentazione relativa. Rielaborare una patch Dipendentemente dal riscontro della lista o attraverso la richiesta di pull su Github, potrebbe essere necessario rielaborare la patch. Prima di re-inserire la patch, eseguire il rebase con il ramo master, ma non unire attraverso il merge; e forzare il push nell'origin: Listing $ git rebase -f upstream/master $ git push -f origin NOME_RAMO Quando si fa un push --force, specificare sempre il nome del ramo in modo esplicito, per evitare complicazioni con altri rami del repository (--force dice a git che si vogliono veramente complicare le cose, quindi va usato con cautela). Spesso, i moderatori richiederanno una compressione dei commit. Questo vuol dire che si convertiranno molti commit in uno solo. Per farlo, usare il comando rebase: Listing $ git rebase -i HEAD~3 $ git push -f origin NOME_RAMO Il numero 3 deve essere uguale al numero di commit nel proprio ramo. Dopo aver scritto questo comando, si aprirà un programma di modifica, con una lista di commit: Listing pick 1a31be6 primo commit pick 7fc64b4 secondo commit pick 7d33018 terzo commit Per unificare tutti i commit nel primo, rimuovere la parola "pick" prima del secondo e dell'ultimo commit e sostituirla con la parola "squash", o anche solo "s". Quando si salva, git inizierà il rebase e, in caso di successo, chiederà di modificare il messaggio di commit, che come predefinito è una lista di messaggi di commit di tutti i commit. Dopo aver finito, eseguire il push. Per fare in modo che il proprio ramo sia automaticamente testato, si può aggiungere il proprio fork a travis-ci.org 8. Basta entrare con l'account usato su github.com e e abilitare un singolo switch, per i test automatici. Nella propria richiesta di pull, invece di specificare "Symfony tests pass: [yes no]", si può collegare l'icona di stato di travis-ci.org 9. Per maggiori dettagli, vedere travis-ci.org Getting Started Guide 10. Lo si può fare in modo facile, cliccando sull'icona della chiave inglese nella pagina del build di Travis. Prima selezionare il proprio ramo, quindi copiare il codice markdown nella descrizione della propria richiesta di pull. 7. https://github.com/symfony/symfony-docs Chapter : Inviare una patch 10

11 Chapter 3 Segnalazione di un problema di sicurezza Si è trovato un problema di sicurezza in Symfony? Non utilizzare la lista o il tracker. Tutte le questioni di sicurezza devono essere inviate a security [at] symfony-project.com. Le inviate a questo indirizzo verranno inoltrate al team di sviluppo principale di Symfony. Per ogni report, prima si cercherà di confermare la vulnerabilità. Quando confermata, il team di sviluppo lavorerà a una soluzione seguendo questi passi: 1. Inviare un riconoscimento al segnalatore;. Lavorare su una patch; 3. Scrivere un post che descriva la vulnerabilità, i possibili exploit e come aggiornare le applicazioni afflitte; 4. Applicare la patch a tutte le versioni di Symfony in manutenzione; 5. Pubblicare il post sul blog ufficiale di Symfony. Nel periodo in cui si lavora alla risoluzione della patch, si prega di non rivelare pubblicamente il problema. Chapter 3: Segnalazione di un problema di sicurezza 11

12 Chapter 4 Eseguire i test di Symfony Prima di inviare una patch, occorre eseguire tutti i test di Symfony, per assicurarsi di non aver rotto nulla. PHPUnit Per eseguire i test di Symfony, installare 1 prima PHPUnit o successivi. Listing $ pear config-set auto_discover 1 $ pear install pear.phpunit.de/phpunit Dipendenze (opzionali) Per eseguire tutti i test, inclusi quelli che hanno dipendenze esterne, Symfony deve poterli scaricare. Per impostazione predefinita, sono auto-caricati dalla cartella vendor/ (vedere autoload.php.dist). I test necessitano delle seguenti librerie di terze parti: Doctrine Swiftmailer Twig Monolog Per installarle tutte, eseguire lo script vendors: Listing 4-1 $ php vendors.php install 1. Chapter 4: Eseguire i test di Symfony 1

13 Si noti che lo script ha bisogno di tempo per terminare. Dopo l'installazione, si possono aggiornare i venditori alle loro ultime versioni, con il comando seguente: Listing $ php vendors.php update Esecuzione Prima di tutto, aggiornare i venditori (vedere sopra). Quindi, eseguire i test dalla cartella radice di Symfony, con il comando seguente: Listing $ phpunit L'output dovrebbe mostrare OK. Altrimenti, occorre appurare quello che si è verificato e se i test sono rotti per colpa di una propria modifica. Se si vuole testare un singolo componente, scriverne il percorso dopo il comando phpunit, p.e.: Listing $ phpunit src/symfony/component/finder/ Eseguire i test prima di applicare le proprie modifiche, per assicurarsi che girino correttamente con la propria configurazione. Copertura del codice Se si aggiunge una nuova caratteristica, occorre anche verificare la copertura del codice, usando l'opzione coverage-html: Listing $ phpunit --coverage-html=cov/ Verificare la copertura del codice, aprendo la pagina generata cov/index.html in un browser. La copertura del codice funziona solo con XDebug abilitato e tutte le dipendenze installate. Chapter 4: Eseguire i test di Symfony 13

14 Chapter 5 Standard del codice Contribuendo al codice di Symfony, bisogna seguire i suoi standard. Per farla breve, ecco una regola d'oro: imitare il codice esistente di Symfony. La maggior parte dei bundle e delle librerie open source usati da Symfony segue le stesse linee guida. Ricordare che il vantaggio principale degli standard è che ogni pezzo di codice sembra familiare, non è che questo o quello siano più o meno leggibili. Symfony segue gli standard definiti nei documenti PSR-0 1, PSR-1 e PSR- 3. Poiché un'immagine (o un po' di codice) vale più di mille parole, ecco un breve esempio contenente la maggior parte delle caratteristiche descritte sotto: Listing <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Acme; class FooBar { const SOME_CONST = 4; private $foobar; /** string $dummy Una descrizione del parametro 1. https://github.com/php-fig/fig-standards/blob/master/accepted/psr-0.md. https://github.com/php-fig/fig-standards/blob/master/accepted/psr-1-basic-coding-standard.md 3. https://github.com/php-fig/fig-standards/blob/master/accepted/psr--coding-style-guide.md Chapter 5: Standard del codice 14

15 } */ public function construct($dummy) { $this->foobar = $this->transform($dummy); } /** string $dummy Una descrizione del parametro string null Input trasformato */ private function transformtext($dummy, $options = array()) { $mergedoptions = array_merge($options, array( 'some_default' => 'values', )); } if (true === $dummy) { return; } if ('string' === $dummy) { if ('values' === $mergedoptions['some_default']) { $dummy = substr($dummy, 0, 5); } else { $dummy = ucwords($dummy); } } return $dummy; Struttura Aggiungere un singolo spazio dopo ogni virgola delimitatrice; Aggiungere un singolo spazio intorno agli operatori (==, &&,...); Aggiungere una riga vuota prima delle istruzioni return, a meno che non siano soli dentro una struttura di controllo (come un if); Usare le parentesi graffe per le strutture di controllo, indipendentemente dal numero di istruzioni contenute; Definire una classe per file (non si applica a classi private di helper che non devono essere istanziate dall'esterno e quindi esulano dallo standard PSR-0); Dichiarare le proprietà di una classe prima dei metodi; Dichiarare prima i metodi pubblici, poi quelli protetti e infine quelli privati; Convenzioni sui nomi Usare camelcase, non i trattini bassi, per nomi di variabili, di funzioni e di metodi; Usare i trattini bassi per nomi di opzioni e parametri; Usare gli spazi dei nomi per tutte le classi; Aggiungere il suffisso Interface alle interfacce; Usare caratteri alfanumerici e trattini bassi per i nomi di file; Non dimenticare di dare un'occhiata al documento più prolisso sulle Convenzioni, per considerazioni più soggettive sulla nomenclatura. Chapter 5: Standard del codice 15

16 Documentazione Aggiungere blocchi PHPDoc per ogni classe, metodo e funzione; Omettere il se il metodo non restituisce nulla; Le non sono usate. Licenza Symfony è rilasciato sotto licenza MIT e il blocco della licenza deve essere presente in cima a ogni file PHP, prima dello spazio dei nomi. Chapter 5: Standard del codice 16

17 Chapter 6 Convenzioni La documentazione Standard del codice descrive gli standard del codice per i progetti Symfony e per i bundle interni e di terze parti. Tale documento descrive gli standard e le convenzioni del codice utilizzate nel nucleo del framework per renderlo più coerente e prevedibile. L'utilizzo nel proprio codice è incoraggiato, ma non obbligatorio. Nomi dei metodi Quando un oggetto ha molte relazioni "principali" correlate a "cose" (oggetti, parametri,...) i nomi dei metodi sono normalizzati in: get() set() has() all() replace() remove() clear() isempty() add() register() count() keys() L'utilizzo di questi metodi sono permessi solo quando è chiaro che si tratti di una relazione principale: un CookieJar ha molti oggetti Cookie; un servizio Container ha molti servizi e molti parametri (come servizi nelle relazioni principali, quindi si usa la convenzione); una Console di Input ha molti argomenti e molte opzioni. Non c'e una relazione principalethere is no "main" e quindi questa convezione non è applicata Per le relazioni per le quali non si può applicare la convenzione, bisogna invece seguire i seguenti metodi (dove XXX è il nome della cosa relazionata ): Chapter 6: Convenzioni 17

18 Relazione principale get() set() n/d has() all() replace() remove() clear() isempty() add() register() count() keys() Altre relazioni getxxx() setxxx() replacexxx() hasxxx() getxxxs() setxxxs() removexxx() clearxxx() isemptyxxx() addxxx() registerxxx() countxxx() n/d Pur essendo "setxxx" e "replacexxx" molto simili, c'e una differenza: "setxxx" può sostituire o aggiungere nuovi elementi alla relazione. A "replacexxx", invece, è espressamente vietato aggiungere nuove elementi, ma la maggior parte solleva un'eccezione in questi casi. Chapter 6: Convenzioni 18

19 Chapter 7 Licenza di Symfony Symfony è distribuito sotto licenza MIT. Secondo Wikipedia 1 : "È una licenza permissiva, cioè permette il riutilizzo nel software proprietario sotto la condizione che la licenza sia distribuita con tale software. È anche una licenza GPLcompatibile, cioè la GPL permette di combinare e ridistribuire tale software con altro che usa la Licenza MIT." La licenza Copyright (c) Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 1. Chapter 7: Licenza di Symfony 19

20 Chapter 8 Contribuire alla documentazione La documentazione è importante tanto quanto il codice. E segue esattamente gli stessi principi: DRY, test, facilità di manutenzione, estensibilità, ottimizzazione e refactoring, solo per nominarne alcuni. E certamente la documentazione ha bug, errori di battitura, difficoltà di lettura dei tutorial e molto altro. Contribuire Prima di contribuire, è necessario famigliarizzare con il linguaggio di markup usato per la documentazione. La documentazione di Symfony è ospitata da GitHub: Listing https://github.com/symfony/symfony-docs Se si vuole inviare una patch, fare un fork 1 del repository ufficiale su GitHub e fare un clone: Listing 8-1 git://github.com/symfony/symfony-docs.git A meno di non documentare una caratteristica aggiunta in Symfony.1, le modifiche vanno basate sul ramo.0, non sul ramo master. Per poterlo fare, eseguire un checkout del ramo.0 prima del prossimo passo: Listing $ git checkout.0 Quindi, creare un ramo dedicato per le proprie modifiche (per questioni organizzative): Listing $ git checkout -b miglioramenti_di_pippo_e_pluto Si possono ora eseguire le proprie modifiche in tale ramo. Quando si ha finito, fare il push di quest ramo nel proprio fork su GitHub e richiedere un pull. La richiesta di pull sarà tra il proprio ramo miglioramenti_di_pippo_e_pluto e il ramo master di symfony-docs. 1. Chapter 8: Contribuire alla documentazione 0

21 ../../_images/docs-pull-request.png Se le proprie modifiche sono basate sul ramo.0, occorre seguire il collegamento di modifica del commit e cambiare il ramo base GitHub spiega l'argomento in modo dettagliato, su richieste di pull. La documentazione di Symfony è rilasciata sotto licenza Creative Commons Attribuzione - Condividi allo stesso modo 3.0 Unported. Le modifiche appaiono sul sito symfony.com website non oltre 15 minuti dopo il merge della richiesta di pull nella documentazione. Si può verificare se le proprie modifiche non abbiano introdotto problemi di markup, guardando la pagina Errori di build della documentazione 3 (aggiornata ogni notte alle 3, quando il server ricostruisce la documentazione). Segnalare una problematica Il modo più semplice di contribuire è segnalando una problematica: un errore di battitura, un errore grammaticale, un bug nel codice di esempio, e così via Passi: Segnalare un bug attraverso il bug Tracker; (opzionale) Inviare una patch. Traduzione Leggere la documentazione apposita Chapter 8: Contribuire alla documentazione 1

22 Chapter 9 Formato della documentazione La documentazione di Symfony utilizza restructuredtext 1, che usa come linguaggio di markup Sphinx per la generazione dell'output (HTML, PDF,...). restructuredtext restructuredtext "è un sistema di analisi e una sintassi a marcatori facilmente leggibile, in testo semplice e WYSIWYG". Si può imparare di più su questa sintassi leggendo i documenti 3 di Symfony oppure leggendo restructuredtext Primer 4 nel sito web di Sphinx. Se si ha dimestichezza con Markdown, bisogna fare attenzione alle cose simili, ma differenti: Le liste cominciano all'inizio della riga (non hanno bisogno di indentazione) I blocchi di codice utilizzano i doppi apici (``come questi``). Sphinx Sphinx è un sistema di compilazione che aggiunge alcuni piacevoli strumenti per creare documentazione da documenti restructuredtext. Come tale, aggiunge nuove direttive e interpreta ruoli di testo definiti nel markup 5 standard rest. Colorazione della sintassi Tutti i blocchi di codice utilizzano PHP come linguaggio predefinito. È possibile cambiarlo con la direttiva code-block: Listing Chapter 9: Formato della documentazione

23 1 3.. code-block:: yaml { foo: bar, bar: { foo: bar, bar: baz } } Se il proprio codice PHP comincia con <?php, allora si avrà bisogno di utilizzare html+php come pseudolinguaggio: Listing code-block:: html+php <?php echo $this->foobar();?> La lista dei linguaggi supportati è disponibile nel sito di Pygments 6. Blocchi di configurazione Ogni volta che si mostra una configurazione, per mostrarla in tutti i formati supportati,bisogna utilizzare la direttiva configuration-block (PHP, YAML e XML): Listing configuration-block::.. code-block:: yaml # Configurazione in YAML.. code-block:: xml <!-- Configurazione in XML //-->.. code-block:: php // Configurazione in PHP Il precedente snippet rest mostra un blocco come di seguito: Listing # Configurazione in YAML Ecco la lista dei formati attualmente supportati: Formato markup html xml php yaml jinja html+jinja Mostrato HTML XML PHP YAML Twig Twig 6. Chapter 9: Formato della documentazione 3

24 Formato markup jinja+html php+html html+php ini php-annotations Mostrato Twig PHP PHP INI Annotazioni Test della documentazione Per fare un test della documentazione, prima di un commit: Installare Sphinx 7 ; Eseguire la preparazione rapida di Sphinx 8 ; Installare l'estensione configuration-block di Sphinx (vedere sotto); Eseguire make html e controllare l'html generato nella cartella build. Installare l'estensione configuration-block di Sphinx Scaricare l'estensione dal repository configuration-block 9 Copiare il file configurationblock.py nella cartella _exts della propria cartella dei sorgenti (in cui si trova conf.py) Aggiungere le righe seguenti al file conf.py: Listing #... sys.path.append(os.path.abspath('_exts')) # aggiunge PhpLexer from sphinx.highlighting import lexers from pygments.lexers.web import PhpLexer #... # aggiunge le estensioni alla lista di estensioni extensions = [..., 'sensio.sphinx.refinclude', 'sensio.sphinx.configurationblock', 'sensio.sphinx.phpcode'] # abilita la colorazione per il codice PHP non compreso tra ``<?php...?>`` lexers['php'] = PhpLexer(startinline=True) lexers['php-annotations'] = PhpLexer(startinline=True) # usa PHP come dominio primario primary_domain = 'php' # imposta url per collegamenti alle API api_url = 'http://api.symfony.com/master/%s' https://github.com/fabpot/sphinx-php Chapter 9: Formato della documentazione 4

The Best Practices Book Version: 2.5

The Best Practices Book Version: 2.5 The Best Practices Book Version: 2.5 The Best Practices Book (2.5) This work is licensed under the Attribution-Share Alike 3.0 Unported license (http://creativecommons.org/ licenses/by-sa/3.0/). You are

Dettagli

COMUNITA TERAPEUTICA IL FARO

COMUNITA TERAPEUTICA IL FARO COMUNITA TERAPEUTICA IL FARO Ristrutturazione per danni provocati dal sisma e adeguamento nuove normative Presentazione al 31.10.2010 STATO DI FATTO PRIMA DEL SISMA DI APRILE 2009 CRITICITA CRITICITA Spazi

Dettagli

How to contribute to Symfony Version: master

How to contribute to Symfony Version: master How to contribute to Symfony Version: master How to contribute to Symfony (master) This work is licensed under the Attribution-Share Alike 3.0 Unported license (http://creativecommons.org/ licenses/by-sa/3.0/).

Dettagli

dal laboratorio libri in presenza alla collaborazione online

dal laboratorio libri in presenza alla collaborazione online Centro Sovrazonale di Comunicazione Aumentativa Centro Sovrazonale di Comunicazione Aumentativa dal laboratorio libri in presenza alla collaborazione online a cura di Antonio Bianchi sommario L'impostazione

Dettagli

CA Agile Vision. Guida all'integrazione di Agile Vision

CA Agile Vision. Guida all'integrazione di Agile Vision CA Agile Vision Guida all'integrazione di Agile Vision Spring 2010 La presente documentazione ed ogni relativo programma software di ausilio (di seguito definiti "Documentazione") vengono forniti unicamente

Dettagli

L o. Francesco Cabras. http://paneb.dyndns.org. un sistema integrato per la gestione dei progetti di sviluppo software

L o. Francesco Cabras. http://paneb.dyndns.org. un sistema integrato per la gestione dei progetti di sviluppo software Introduzione a Trac L o un sistema integrato per la gestione dei progetti di sviluppo software Francesco Cabras http://paneb.dyndns.org 1 Introduzione Trac è un sistema web-based per la gestione dello

Dettagli

Schermata principale NOTA. (1) La Libreria è la schermata principale di questa app. Toccare per visualizzare i file e le cartelle dell'app.

Schermata principale NOTA. (1) La Libreria è la schermata principale di questa app. Toccare per visualizzare i file e le cartelle dell'app. Progettato per iphone, ipod touch e ipad, MusicSoft Manager può essere utilizzato per eseguire le seguenti operazioni di gestione per song, dati di stile e altri file utilizzati su strumenti musicali digitali.

Dettagli

Server Galileo. http://galileo.dmi.unict.it/

Server Galileo. http://galileo.dmi.unict.it/ Server Galileo http://galileo.dmi.unict.it/ Gestione progetti Wiki Subversion Iscrizione a Galileo Per registrarsi è sufficiente iscriversi da questa pagina: https://galileo.dmi.unict.it/iscrizioni/ L'account

Dettagli

RTXAGENDA v01.04. Manuale d uso

RTXAGENDA v01.04. Manuale d uso RTXAGENDA v01.04 Manuale d uso Un programma semplice e facile da usare per aggiornare la rubrica telefonica del vostro RT4, comodamente a casa sul vostro PC. mira308sw 25/02/2010 Sommario Introduzione...

Dettagli

Data: Altre informazioni: 15.06.2015 w w w.sw isssalary.ch. copyright 1998-2015 Swisssalary Ltd.

Data: Altre informazioni: 15.06.2015 w w w.sw isssalary.ch. copyright 1998-2015 Swisssalary Ltd. IncaMail Data: Altre informazioni: 15.06.2015 w w w.sw isssalary.ch copyright 1998-2015 Swisssalary Ltd. IncaMail 2015 SwissSalary Ltd. All rights reserved. No parts of this work may be reproduced in any

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

RTXAGENDA v01.07. Manuale d uso

RTXAGENDA v01.07. Manuale d uso RTXAGENDA v01.07 Manuale d uso Un programma semplice e facile da usare per aggiornare la rubrica telefonica del vostro RT4-RT5-RT6, comodamente a casa sul vostro PC. mira308sw 02/09/2012 Sommario Introduzione...

Dettagli

COE_XBOX_360_Mancover_IT.indd 1

COE_XBOX_360_Mancover_IT.indd 1 KINECT, Xbox, Xbox 360, Xbox LIVE e i logo Xbox sono marchi di fabbrica del gruppo di società Microsoft e sono concessi in licenza da Microsoft. 300038666 COE_XBOX_360_Mancover_IT.indd 1 24/05/11 17:24

Dettagli

FileMaker Server 11. Guida all'aggiornamento dei plug-in

FileMaker Server 11. Guida all'aggiornamento dei plug-in FileMaker Server 11 Guida all'aggiornamento dei plug-in 2010 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di

Dettagli

SISTEMI INFORMATICI/WEBGIS PER LA GESTIONE DI DATI AMBIENTALI E TERRITORIALI Povo, 11-04-2005 Steno Fontanari

SISTEMI INFORMATICI/WEBGIS PER LA GESTIONE DI DATI AMBIENTALI E TERRITORIALI Povo, 11-04-2005 Steno Fontanari Una piccola impresa trentina Open-Source SISTEMI INFORMATICI/WEBGIS PER LA GESTIONE DI DATI AMBIENTALI E TERRITORIALI Povo, 11-04-2005 Steno Fontanari L IDEA LA STORIA 5 soci fondatori: dalla ricerca al

Dettagli

Guida rapida all installazione di NX7 per Windows

Guida rapida all installazione di NX7 per Windows Guida rapida all installazione di NX7 per Windows Lo scopo di questo documento é di fornire una guida sintetica all installazione della versione NX7 di Unigraphics. Alla fine di questo documento, potete

Dettagli

9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione.

9) si ritorna alla maschera di fig. 6, nella quale si clicca su Salva modifiche per completare l operazione. Fig. 8 La finestra Gestione file con il file appena caricato 9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione. Fig. 9 Il corso con la nuova

Dettagli

Gestione della configurazione del software

Gestione della configurazione del software Gestione della configurazione del software 1 Indice Concetti di gestione della configurazione Versione e Configurazione Memorizzazione delle versioni Baseline e Release Alcune pratiche consigliate 2 1

Dettagli

Lettere di restituzione della caparra

Lettere di restituzione della caparra Lettere di restituzione della caparra Lettera di restituzione dell intera caparra, poichè la proprietà non presenta danno alcuno Vi ringraziamo per aver scelto il nostro appartamento per le vostre vacanze.

Dettagli

Pillole di Bazaar. user manual

Pillole di Bazaar. user manual Pillole di Bazaar user manual consolidata pubblica v.1.0 del 20 ott 2009 autori: luciano de falco alfano Sommario Sommario...1 Obiettivi e contesto...1 Un esempio di flusso di lavoro...2 Un po' di terminologia...3

Dettagli

Strumenti per lo sviluppo software in comunità

Strumenti per lo sviluppo software in comunità Strumenti per lo sviluppo software in comunità Francesco Agnolazza e Luca Mezzalira Montebelluna Linux User Group 27 ottobre 2012 Castelfranco Veneto Agno && Syslac (MontelLUG) Linux Day 2012 27 ott 2012

Dettagli

Microcat Authorisation Server (MAS ) Guida dell'utente

Microcat Authorisation Server (MAS ) Guida dell'utente Microcat Authorisation Server (MAS ) Guida dell'utente Indice Introduzione... 2 Installazione del Microcat Authorisation Server (MAS)... 3 Configurazione del MAS... 4 Opzioni di Licenza... 4 Opzioni Internet...

Dettagli

Corso Git 2014. Riccardo Binetti me@rbino.com. 22 Ottobre 2014. Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38

Corso Git 2014. Riccardo Binetti me@rbino.com. 22 Ottobre 2014. Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38 Corso Git 2014 Riccardo Binetti me@rbino.com 22 Ottobre 2014 Riccardo Binetti Corso Git 2014 22 Ottobre 2014 1 / 38 Perché usare un VCS Questo codice funziona bene, però chissà se funzionerebbe se togliessi

Dettagli

Luca Ottaviano. Everyday Git

Luca Ottaviano. Everyday Git Luca Ottaviano Everyday Git Usare Git per lo sviluppo embedded Firenze, 24 settembre 2012 Chi sono Luca Ottaviano lottaviano@develer.com @lucaotta Sviluppatore su sistemi embedded presso Develer Qt certified

Dettagli

Il test valuta la capacità di pensare?

Il test valuta la capacità di pensare? Il test valuta la capacità di pensare? Per favore compili il seguente questionario senza farsi aiutare da altri. Cognome e Nome Data di Nascita / / Quanti anni scolastici ha frequentato? Maschio Femmina

Dettagli

VisualStore Guida Attivazione Licenze. Guida Utente

VisualStore Guida Attivazione Licenze. Guida Utente VisualStore Guida Attivazione Licenze Guida Utente 7 th Edition ( July 2014 ) This edition applies to Version 4.x and 5.x of the licensed program VisualStore Suite and to all subsequent releases and modifications

Dettagli

Microcat Authorisation Server (MAS ) Guida dell utente

Microcat Authorisation Server (MAS ) Guida dell utente Microcat Authorisation Server (MAS ) Guida dell utente Indice Introduzione... 2 Installazione del Microcat Authorisation Server (MAS)... 3 Configurazione del MAS... 4 Opzioni di Licenza... 4 Opzioni Internet...

Dettagli

ScanSnap Manager V6.3L31 File Leggimi PFU LIMITED

ScanSnap Manager V6.3L31 File Leggimi PFU LIMITED ScanSnap Manager V6.3L31 File Leggimi PFU LIMITED # Sommario 1. Requisiti di sistema 2. Avvertenze riguardanti l'usb e il computer 3. Avvertenze riguardanti l'installazione 4. Avvertenze riguardanti l'uso

Dettagli

Sophos Endpoint Security and Control Guida di avvio per computer autonomi

Sophos Endpoint Security and Control Guida di avvio per computer autonomi Sophos Endpoint Security and Control Guida di avvio per computer autonomi Sophos Endpoint Security and Control per Windows, versione 10.0 Sophos Anti-Virus per Mac OS X, versione 8 Data documento: giugno

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Protocolli di Sessione TCP/IP: una panoramica

Protocolli di Sessione TCP/IP: una panoramica Protocolli di Sessione TCP/IP: una panoramica Carlo Perassi carlo@linux.it Un breve documento, utile per la presentazione dei principali protocolli di livello Sessione dello stack TCP/IP e dei principali

Dettagli

III.2 Come condividere risultati

III.2 Come condividere risultati III.2 Come condividere risultati Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 6, 2015 Argomenti 1 Di cosa si tratta Tipologie 2 Ai fine del progetto Comandi

Dettagli

Il desktop: scrivania informatica

Il desktop: scrivania informatica Il desktop: scrivania informatica Il desktop è la metafora della scrivania e gli elementi che vi troviamo ci sono familiari: la foto nella cornice il cestino lo scaffale contenente le cartelle dei nostri

Dettagli

INSTALLARE L AMBIENTE DI SVILUPPO PER JOOMLA 2.5

INSTALLARE L AMBIENTE DI SVILUPPO PER JOOMLA 2.5 INSTALLARE L AMBIENTE DI SVILUPPO PER JOOMLA 2.5 Si sa che un IDE è sicuramente uno strumento molto comodo (ormai indispensabile) per poter creare le proprie applicazioni in PHP e Joomla. Eclipse con PDT

Dettagli

Area Sistemi Sicurezza Informatica

Area Sistemi Sicurezza Informatica InfoCamere Società Consortile di Informatica delle Camere di Commercio Italiane per azioni Note sull installazione di CardOS API 2.2.1 Funzione emittente 70500 Area Sistemi Sicurezza Informatica NOTE su

Dettagli

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Windows 7 Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Contenuto del kit cod. 20046946: - Interfaccia PC-scheda (comprensiva

Dettagli

Clicca sul link Gmail in alto nella pagina. Arriverai ad una pagina simile alla seguente: G. Pettarin ECDL Modulo 7: Internet 68

Clicca sul link Gmail in alto nella pagina. Arriverai ad una pagina simile alla seguente: G. Pettarin ECDL Modulo 7: Internet 68 G. Pettarin ECDL Modulo 7: Internet 68 Usiamo Gmail In questo capitolo vedremo come creare un proprio accesso alla posta elettronica (account) ad uno dei servizi di mail on line più diffusi: Gmail, la

Dettagli

Bozza Guida ufficiale vs 1.0

Bozza Guida ufficiale vs 1.0 Bozza Guida ufficiale vs 1.0 Caratteristiche del software Videocopen è un software open source di videoconferenza. Sviluppato in php per la parte web e macromedia flash per la videoconferenza, sfrutta

Dettagli

Sophos Endpoint Security and Control Guida di avvio per computer autonomi

Sophos Endpoint Security and Control Guida di avvio per computer autonomi Sophos Endpoint Security and Control Guida di avvio per computer autonomi Sophos Endpoint Security and Control versione 9 Sophos Anti-Virus per Mac OS X, versione 7 Data documento: ottobre 2009 Sommario

Dettagli

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore

Dettagli

Processi di stampa in attesa protetti. Guida per l'amministratore

Processi di stampa in attesa protetti. Guida per l'amministratore Processi di stampa in attesa protetti Guida per l'amministratore Settembre 2013 www.lexmark.com Sommario 2 Sommario Panoramica...3 Configurazione processi di stampa in attesa protetti...4 Configurazione

Dettagli

Gestione password: KeePass e DropBox

Gestione password: KeePass e DropBox Gestione password: KeePass e DropBox 1 / 52 Questo tutorial è rilasciato con la licenza Creative Commons Attribuzione-Non commerciale-non opere derivate 2.5, consultabile all indirizzo http://creativecommons.org/licenses/by-nc-nd/2.5/deed.it.

Dettagli

http://www.homeaway.it/info/guida-proprietari Copyright HomeAway INC

http://www.homeaway.it/info/guida-proprietari Copyright HomeAway INC Cambiare il testo in rosso con i vostri estremi Esempi di lettere in Inglese per la restituzione o trattenuta di acconti. Restituzione Acconto, nessun danno all immobile: Vostro Indirizzo: Data

Dettagli

Sophos Virtualization Scan Controller guida per utenti. Versione prodotto: 1.0

Sophos Virtualization Scan Controller guida per utenti. Versione prodotto: 1.0 Sophos Virtualization Scan Controller guida per utenti Versione prodotto: 1.0 Data documento: luglio 2011 (rivista) Sommario 1 Informazioni sulla guida...3 2 Virtualization Scan Controller...3 3 Dove installare...3

Dettagli

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM Una volta acquistata una Lavagna Interattiva Multimediale SMARTBoard TM, è necessario effettuare una procedura di registrazione al fine di:. Estendere la garanzia

Dettagli

Breve introduzione al Javadoc

Breve introduzione al Javadoc Premessa Javadoc è uno strumento che permette di documentare i sorgenti di un programma all interno dei sorgenti stessi. Anziché scrivere la documentazione di un programma in un file separato, il programmatore

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Offriamo l'opportunita' di inviarci spot attraverso un nuovo servizio gratuito che gli utenti potranno utilizzare in base alle proprie esigenze.

Offriamo l'opportunita' di inviarci spot attraverso un nuovo servizio gratuito che gli utenti potranno utilizzare in base alle proprie esigenze. R AI T R ADE T AP E L E S S R E C E P T ION Offriamo l'opportunita' di inviarci spot attraverso un nuovo servizio gratuito che gli utenti potranno utilizzare in base alle proprie esigenze. Tale servizio

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Ingegneria del Software - Il Ciclo Lungo

Ingegneria del Software - Il Ciclo Lungo Ingegneria del Software - Il Ciclo Lungo Alessandro Martinelli alessandro.martinelli@unipv.it 10 Marzo 2014 Il Ciclo Lungo Il Versioning e la Condivisione di Codice Organizzazione dei Pacchetti La Modellazione

Dettagli

Note di utilizzo del programma

Note di utilizzo del programma Note di utilizzo del programma Queste sono delle brevi note che illustrano come eseguire l'installazione del programma per la gestione dei contest VHF UHF SHF ed il suo utilizzo, per eventuali problemi

Dettagli

Per la serie. presentati dal sito FRAMASOFT

Per la serie. presentati dal sito FRAMASOFT Per la serie I tutorial liberi presentati dal sito FRAMASOFT CREARE DEGLI ESERCIZI CON JCLIC- AUTHOR Programma: JClic-author Sistema operativo: Linux, Windows, Mac OS X Versione: 0.1.1.9 Licenza: GNU General

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

Costruire un wiki in wikispaces.com

Costruire un wiki in wikispaces.com Costruire un wiki in wikispaces.com Wikispaces, www.wikispaces.com è uno dei progetti wiki più utilizzati nella formazione delle persone. Consente a tutti di avere un wiki che, non essendo a pagamento,

Dettagli

Tecnologie Open Source. Subversion

Tecnologie Open Source. Subversion Tecnologie Open Source Subversion Materiale di riferimento Version Control with Subversion Rilasciato sotto licenza CC all'indirizzo: http://svnbook.red-bean.com/ Pragmatic Version Control using Subversion

Dettagli

Ho messo la domotica a casa mia. My Home. Lorenzo Pini

Ho messo la domotica a casa mia. My Home. Lorenzo Pini Ho messo la domotica a casa mia My Home Lorenzo Pini Domotica si, domotica no? Un impianto domotico: Offre davvero maggior comfort? Può migliorare la qualità di vita? E facile da usare? Lo trovo un installatore

Dettagli

Copyright (c) 2009-2014 Jeremy Ashkenas, Reporter e redattori DocumentCloud e. Copyright (c) 2012 Dimitar Ivanov, http://bulgaria-web-developers.

Copyright (c) 2009-2014 Jeremy Ashkenas, Reporter e redattori DocumentCloud e. Copyright (c) 2012 Dimitar Ivanov, http://bulgaria-web-developers. La presente è una mera traduzione in lingua italiana non avente valore legale. L'unico documento che ha valore legale è il documento in lingua inglese. Copyright (c) 2013-2014 ZURB, inc. Licenza MIT Copyright

Dettagli

Manuale di KMouth. Gunnar Schmi Dt Traduzione della documentazione: Federico Zenith

Manuale di KMouth. Gunnar Schmi Dt Traduzione della documentazione: Federico Zenith Gunnar Schmi Dt Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 5 2 Uso di KMouth 6 2.1 Il primo avvio........................................ 6 2.2 La finestra principale....................................

Dettagli

GB informazioni e freeware

GB informazioni e freeware GB informazioni e freeware Informazioni per PC, internet, software, freeware e tutorial Home Programmi Informazioni Passatempo Siti utili Aggiornamenti sito News Posizione nel sito : Home >> Informazioni

Dettagli

Introduzione a PostgreSQL e phppgadmin

Introduzione a PostgreSQL e phppgadmin Introduzione a PostgreSQL e phppgadmin Gabriele Pozzani Informatica documentale 2011/2012 Corso di laurea in Scienze della comunicazione PostgreSQL il più avanzato database OpenSource al mondo Sviluppato

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST.

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST. INDICE 1) SOMMARIO... 1 2) ISTRUZIONI DI BASE... 2 3) CONFIGURAZIONE... 7 4) STORICO... 9 5) EDITOR HTML... 10 6) GESTIONE ISCRIZIONI E CANCELLAZIONI... 11 7) GESTIONE MAILING LIST... 12 8) E-MAIL MARKETING...

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Guida dell'amministratore di JMP 9 alle versioni con licenza annuale per Windows e Macintosh

Guida dell'amministratore di JMP 9 alle versioni con licenza annuale per Windows e Macintosh Guida dell'amministratore di JMP 9 alle versioni con licenza annuale per Windows e Macintosh Gli estremi corretti per la citazione bibliografica di questo manuale sono i seguenti: SAS Institute Inc. 2010.

Dettagli

GreenTone - Manuale Utente

GreenTone - Manuale Utente GreenTone - Manuale Utente Il manuale di riferimento di GreenTone (http://code.google.com/p/greentone/). Giuseppe Caliendo (capitanfuturo) Davide Marcolongo (dade.may) e-mail: greentone.developers@gmail.com

Dettagli

Sophos Deployment Packager guida per utenti. Versione prodotto: 1.2

Sophos Deployment Packager guida per utenti. Versione prodotto: 1.2 Sophos Deployment Packager guida per utenti Versione prodotto: 1.2 Data documento: settembre 2014 Sommario 1 Informazioni sulla guida...3 2 Deployment Packager...4 2.1 Problemi noti e limiti del Deployment

Dettagli

Capitolo 16 Creare pagine web:

Capitolo 16 Creare pagine web: Guida introduttiva Capitolo 16 Creare pagine web: salvare documenti in formato HTML OpenOffice.org Copyright Il presente documento è rilasciato sotto Copyright 2005 dei collaboratori elencati nella sezione

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Manuale di Skanlite. Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith

Manuale di Skanlite. Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 5 2 Usare Skanlite 6 2.1 Selezione dello scanner................................... 6 3 Finestra principale

Dettagli

WikiSpaces Tutorial. Registrarsi. Editare la Home Page. Wikispaces Tutorial. Vai all URL http://www.wikispaces.com/

WikiSpaces Tutorial. Registrarsi. Editare la Home Page. Wikispaces Tutorial. Vai all URL http://www.wikispaces.com/ Registrarsi Vai all URL http://www.wikispaces.com/ WikiSpaces Tutorial Clicca su Get Started, inserisci i dati richiesti e conferma la mail che arriverà subito dopo. Le volte successive, per accedere al

Dettagli

mailto:gearloose@fastwebnet.itgilbert O Sullivan v1.99.8 10-05-2006

mailto:gearloose@fastwebnet.itgilbert O Sullivan v1.99.8 10-05-2006 Configuration HOWTO mailto:gearloose@fastwebnet.itgilbert O Sullivan v1.99.8 10-05-2006 Questo HOWTO vuole essere il documento principale a cui tutti possano fare riferimento per configurare i più comuni

Dettagli

Manuale di Desktop Sharing. Brad Hards Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Desktop Sharing. Brad Hards Traduzione: Luciano Montanaro Traduzione: Daniele Micci Brad Hards Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Desktop Sharing 7 3.1 Gestione degli inviti di Desktop Sharing.........................

Dettagli

Manuale di Blogilo. Mehrdad Momeny Traduzione e revisione del documento: Valter Mura

Manuale di Blogilo. Mehrdad Momeny Traduzione e revisione del documento: Valter Mura Mehrdad Momeny Traduzione e revisione del documento: Valter Mura 2 Indice 1 Introduzione 5 2 Uso di Blogilo 6 2.1 Primi passi.......................................... 6 2.2 Configurazione di un blog.................................

Dettagli

Sistemi software di collaborazione in ambito open source

Sistemi software di collaborazione in ambito open source Sistemi software di collaborazione in ambito open source Testimonianza di: Davide Dalle Carbonare davide.dallecarbonare@eng.it 1 Introduzione Collaborare e cooperare: diverse persone operano contemporaneamente

Dettagli

Manuale Utente Area Utenti SeeOpen.IT INDICE GENERALE

Manuale Utente Area Utenti SeeOpen.IT INDICE GENERALE Manuale Utente Area Utenti SeeOpen.IT INDICE GENERALE PREMESSA... 2 Area Utenti... 3 Pagina di accesso al servizio... 4 Recupero della password... 5 Cambio delle a password... 6 Pagina principale del servizio...

Dettagli

MagicInfo Express Creatore contenuti

MagicInfo Express Creatore contenuti MagicInfo Express Creatore contenuti MagicInfo Express Creatore contenuti Manuale utente MagicInfo Express Creatore contenuti è un programma che permette di creare facilmente contenuti LFD usando vari

Dettagli

CIE_CSP GUIDA INSTALLAZIONE. Versione 1.0

CIE_CSP GUIDA INSTALLAZIONE. Versione 1.0 CIE_CSP GUIDA INSTALLAZIONE Versione 1.0 Data Preparazione 31.10.2001 Nota sul manuale Le informazioni contenute in questo documento sono soggette a modifiche senza preavviso e non rappresentano obbligo

Dettagli

ScanSnap Manager V6.2L14 File Leggimi PFU LIMITED

ScanSnap Manager V6.2L14 File Leggimi PFU LIMITED ScanSnap Manager V6.2L14 File Leggimi PFU LIMITED # Sommario 1. Requisiti di sistema 2. Avvertenze riguardanti l'usb e il computer 3. Avvertenze riguardanti l'installazione 4. Avvertenze riguardanti l'uso

Dettagli

PHPUnit Ricettario Del Programmatore Scontroso

PHPUnit Ricettario Del Programmatore Scontroso PHPUnit Ricettario Del Programmatore Scontroso Chris Hartjes and Pietro Alberto Rossi This book is for sale at http://leanpub.com/phpunitricettariodelprogrammatorescontroso This version was published on

Dettagli

IMPLEMENTAZIONE DEI TAG SOFTWARE NEI PRODOTTI ADOBE NOTE TECNICHE

IMPLEMENTAZIONE DEI TAG SOFTWARE NEI PRODOTTI ADOBE NOTE TECNICHE IMPLEMENTAZIONE DEI TAG SOFTWARE NEI PRODOTTI ADOBE NOTE TECNICHE 2011 Adobe Systems Incorporated. All rights reserved. Software Tag Implementation in Adobe Products Tech Note Adobe, the Adobe logo, and

Dettagli

I Quaderni di LAPSUS n 1d. TUXPAINT PASSO A PASSO: funzioni avanzate

I Quaderni di LAPSUS n 1d. TUXPAINT PASSO A PASSO: funzioni avanzate PROGETTO LAPSUS LAboratorio per la Promozione nelle Scuole dell Uso consapevole del Software I Quaderni di LAPSUS n 1d TUXPAINT PASSO A PASSO: funzioni avanzate version 0.9.15 A simple drawing program

Dettagli

Console di Amministrazione Centralizzata Guida Rapida

Console di Amministrazione Centralizzata Guida Rapida Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4

Dettagli

Manuale di Klipper. Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano

Manuale di Klipper. Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano 2 Indice 1 Introduzione 5 2 Uso di Klipper 6 2.1 Uso basilare......................................... 6 2.2 Azioni............................................

Dettagli

Guida dell amministratore a Kontact. Allen Winter

Guida dell amministratore a Kontact. Allen Winter Allen Winter 2 Indice 1 Introduzione 5 2 Problemi di compatibilità 6 2.1 Outlook ed Exchange.................................... 6 3 Problemi di comportamento 8 3.1 Composizione dei messaggi................................

Dettagli

Gestione del software

Gestione del software Gestione del software Installazione e gestione repository Andrea Gussoni andrealinux1@gmail.com Corsi Gnu/Linux Avanzati 2014 Andrea Gussoni Gestione Software Corsi Linux Avanzati 2014 1 / 31 Introduzione

Dettagli

Manuale di KonsoleKalendar. Tuukka Pasanen Allen Winter Revisore: Malcolm Hunter Traduzione del documento: Luciano Montanaro

Manuale di KonsoleKalendar. Tuukka Pasanen Allen Winter Revisore: Malcolm Hunter Traduzione del documento: Luciano Montanaro Tuukka Pasanen Allen Winter Revisore: Malcolm Hunter Traduzione del documento: Luciano Montanaro 2 Indice 1 Introduzione 5 2 Funzionalità 6 2.1 Visualizzazione degli eventi................................

Dettagli

Manuale di KLinkStatus. Paulo Moura Guedes Traduzione iniziale italiana: Samuele Kaplun Traduzione italiana: Pino Toscano

Manuale di KLinkStatus. Paulo Moura Guedes Traduzione iniziale italiana: Samuele Kaplun Traduzione italiana: Pino Toscano Paulo Moura Guedes Traduzione iniziale italiana: Samuele Kaplun Traduzione italiana: Pino Toscano 2 Indice 1 Introduzione 5 2 Usare KLinkStatus 6 3 Configurare KLinkStatus 8 4 Riconoscimenti e licenza

Dettagli

VADEMECUM. Per l uso dello spazio web della comunità on line del progetto DIESIS. Per chiarimenti e/o informazioni ncorrente.guest@formez.

VADEMECUM. Per l uso dello spazio web della comunità on line del progetto DIESIS. Per chiarimenti e/o informazioni ncorrente.guest@formez. VADEMECUM Per l uso dello spazio web della comunità on line del progetto DIESIS Per chiarimenti e/o informazioni ncorrente.guest@formez.it 1/8 Introduzione Per la comunità on line dei partecipanti al progetto

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Concetti di Java, parte 2 Ing. Giuseppe D'Aquì Testi Consigliati Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Tutorials [http://download.oracle.com/javase/tutorial/java/]

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

Manuale di KFourInLine

Manuale di KFourInLine Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Traduzione italiana: Andrea Celli Aggiornamento e revisione della documentazione per KDE 4: Luciano Montanaro 2 Indice 1 Introduzione

Dettagli

La soluzione IBM per la Busines Analytics Luca Dalla Villa

La soluzione IBM per la Busines Analytics Luca Dalla Villa La soluzione IBM per la Busines Analytics Luca Dalla Villa Cosa fa IBM Cognos Scorecards & Dashboards Reports Real Time Monitoring Supporto? Decisionale Come stiamo andando? Percezione Immediate immediata

Dettagli

DM-Learning MOO. Manuale del Docente

DM-Learning MOO. Manuale del Docente DM-Learning MOO Manuale del Docente DM-Learning MOO è un ambiente virtuale di supporto alle attività didattiche svolte in presenza, ed è gestita da DidatticaMente.net per l I.T.I.S. Zuccante di Venezia

Dettagli

FileMaker Server 13. Guida alla configurazione dell'installazione in rete

FileMaker Server 13. Guida alla configurazione dell'installazione in rete FileMaker Server 13 Guida alla configurazione dell'installazione in rete 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati

Dettagli

Ministero dell Ambiente e della Tutela del Territorio e del Mare

Ministero dell Ambiente e della Tutela del Territorio e del Mare Ministero dell Ambiente e della Tutela del Territorio e del Mare Utilizzo del Nuovo Formulario Standard Natura2000 e procedura di trasmissione della nuova banca dati Natura2000 23/01/2012 Sommario Passaggio

Dettagli

Prova Finale Controllo delle versioni

Prova Finale Controllo delle versioni Prova Finale Controllo delle versioni 1 Controllo delle versioni: a cosa serve? Tenere traccia dei cambiamenti Semplificare la collaborazione Gestione di diverse diramazioni (branch) di sviluppo Differen3

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

Che Cos'e'? Introduzione

Che Cos'e'? Introduzione Level 3 Che Cos'e'? Introduzione Un oggetto casuale e' disegnato sulla lavagna in modo distorto. Devi indovinare che cos'e' facendo click sull'immagine corretta sotto la lavagna. Piu' veloce sarai piu'

Dettagli

Architettura Connettore Alfresco Share

Architettura Connettore Alfresco Share Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli