Introduzione alle Single Page Application

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione alle Single Page Application"

Transcript

1 Introduzione alle Single Page Application Abstract Introduzione al mondo delle Single Page Application attraverso DurandalJS, RequireJS, BreezeJS, QJS, etc.. Alberto Acerbis for TheDiligence - 2 dicembre 2013

2 Sommario Cos è una SPA... 2 DurandalJS... 3 Struttura di una SPA con DurandalJS... 3 Creazione di una pagina... 4 Creazione del ViewModel... 4 Creazione della View... 6 Il Sistema di Routing... 7 BreezeJS... 9 Caratteristiche principali... 9 EntityManager... 9 Entity Data Binding Query Salvataggio dei Dati Metadata Promise Vs Callback Function Modules in RequireJS Fonti... 18

3 Cos è una SPA Una SPA è un'applicazione che prevede un modello di sviluppo completamente diverso dalle classiche applicazioni web. In una SPA l'applicazione è suddivisa in due layer principali con responsabilità ben precise: il client e il server. Il client ha la responsabilità di mostrare i dati all'utente e di permettere a questo di interagire con i dati stessi. Il server ha il compito di fornire le API di accesso ai dati che sono accedute dal client sia per leggere che per scrivere. Il layer client, e questa è la grande novità, è sviluppato completamente in JavaScript, HTML e CSS e quindi gira interamente sul browser. Il layer server può essere invece sviluppato utilizzando qualunque piattaforma server (Web API, ASP.NET MVC, ma anche servizi basati su Java o PHP o altro ancora). Client e server comunicano sfruttando normali richieste AJAX (in genere tramite il protocollo REST). Sviluppare una SPA da zero significa doversi occupare di diversi aspetti come il binding dei dati all interfaccia, e di questo ne abbiamo parlato al primo incontro introducendo KnockoutJS, la navigazione tra le pagine, il download dei file JavaScript e HTML necessari, la compatibilità tra i browser. Tutto questo richiede un approfondita conoscenza di JavaScript, oltre che un buon monte ore di tempo disponibile. La standardizzazione, e la continua diffusione di JavaScript, hanno fortunatamente permesso la creazione di framework che si occupano di gestire la maggior parte delle complessità infrastrutturali di un SPA lasciando a noi il compito di scrivere il codice di business. Di questi framework ne esistono ormai diversi, uno di questi, AngularJS, lo abbiamo visto nella presentazione di Gianni, oggi ci occuperemo di DurandalJS.

4 DurandalJS DurandalJS è un framework sviluppato dal team Caliburn.Micro, tanto per intenderci gli stessi di MVVM. La potenza di questo framework consiste nel fatto che il team non ho reinventato nulla, come cita il sito ufficiale, non hanno reinventato la ruota da zero, bensì ha riutilizzato framework già largamente diffusi sul web, come KnockoutJS, RequireJS e jquery e li ha uniti sotto un unico cappello. 1. JQuery viene sfruttato per le promise e per la manipolazione del DOM. 2. KnockoutJS per l implementazione del pattern MVVM. 3. RequireJS per la modularizzazione del codice. Di suo, DurandalJS, implementa un meccanismo di navigazione e un servizio di messaggistica, oltre che un sistema di routing che mappi gli url alle relative view, un meccanismo di popup, uno splash screen e altri aspetti più o meno secondari. Struttura di una SPA con DurandalJS Il template di DurandalJS nell ambiente di Visual Studio genera una applicazione ASP.NET MVC classica a cui aggiunge HTML, CSS e JavaScript, oltre a classi lato server e lato client. Dal punto di vista del server genera un controller, una view e una classe che genera un bundle. Il controller, con l originale nome di DurandalController, ha un solo metodo (index) che non fa altro che richiamare la view all interno della quale è ospitata la SPA. La view è estremamente semplice <body> <div <script src="/app/durandal/amd/require.js" data-main="app/main"></script> </body>

5 Nella view è dichiarato un tag div all interno del quale verranno visualizzate le pagine dell applicazione, lo script del bundle generato dal template e infine il tag script responsabile dell avvio dell applicazione. Per quanto riguarda il bundle c è poco da aggiungere, la classe generata dal template non fa altro che prendere i file JavaScript necessari al template stesso e includerli nel bundle scripts/vendor.js che è poi quello utilizzato dalla view vista nel codice precedente. Da sottolineare che nel bundle non vi è presenza dei file JavaScript di Durandal questi infatti vengono caricati all occorrenza tramite Require.js. Vedremo in seguito l importanza di questa libreria. Molto più interessante è osservare cosa è successo lato client. I file necessari a Durandal sono inclusi un due cartelle App e Scripts. Nella cartella Scripts sono contenuti i file a cui Durandal si appoggia (RequireJS, KnockoutJS); i file JS strettamente appartenenti a Durandal si trovano in una sottocartella che prende il nome di Durandal. Questa cartella si può trovare nella cartella Scripts, nel caso del template Durandal, nella cartella App nel caso del template HotTowel, di John Papa, che è un implementazione di Durandal. Nella cartella App c è il file che viene lanciato al caricamento della SPA (main.js) e poi ci sono le View, che non sono altro che pagine HTML ridotte, con i relativi viewmodels, contenuti nella cartella ViewModels. Anche in questo caso ci sono alcune piccole differenza fra il template Durandal ed il template HotTowel, il secondo risulta avere una struttura un poco più ordinata e logica a mio avviso. Il nostro codice andrà a popolare sostanzialmente queste due cartelle. Creazione di una pagina La creazione di una pagina si articola in tre azioni 1. Creazione del ViewModel 2. Creazione della View 3. Aggiunta al sistema di routing Creazione del ViewModel Si tratta del file JavaScript contenente la logica della pagina. In esso vengono invocati i servizi per recuperare e/o modificare i dati. Il ViewModel espone anche le proprietà che compongono i dati che successivamente vengono collegati sulla View; in genere si tratta di observable o observabearray di Knockout in modo da poter sfruttare pienamente il relativo meccanismo di routing di quest ultimo.

6 define(['services/datacontext'], function (datacontext) { var coaches = ko.observablearray(); var activate = function () { // go get local data, if we have it return datacontext.getcoachpartials(speakers); ; var refresh = function () { return datacontext.getcoachpartials(speakers, true); ; var vm = { activate: activate, coaches: coaches, title: 'Coaches', refresh: refresh ; ); return vm; Dall esempio di codice possiamo vedere che un ViewModel non è altro che un modulo creato tramite la funzione define di RequireJS. Questa funzione accetta in input una lista di stringhe che rappresentano il riferimento a altri file JavaScript che non sono altro che moduli caricati sempre da RequireJS e sono quelli da cui il nostro ViewModel dipende. L ultimo parametro della funzione define è un callback che viene invocato quando RequireJS finisce di scaricare i file. Ad ogni parametro del callback corrisponde un istanza delle dipendenze specificate prima. Il callback deve restituire un oggetto che è quello che poi viene collegato alla View. Questo oggetto, come anticipato, può contenere sia proprietà che metodi che possono quindi essere invocati dalla View tramite la sintassi di KnockoutJS. Ci sono poi una serie di metodi opzionali che, se presenti, vengono invocati dal motore di DurandalJS, i più importanti sono 1. canactivate: invocato per specificare se la pagina può essere aperta

7 2. activate: invocato quando si naviga verso la pagina legata al ViewModel 3. candeactivate: invocato per specificare se si può abbandonare la pagina 4. deactivate: invocato quando si esce dalla pagina legata al ViewModel. E importante sottolineare che i metodi canactivae e candeactivate possono restituire un boolean o una promise, che a sua volta restituisce un boolean una volta risolta, mentri i metodi activate e deactivate possono o no restituire nulla, oppure una promise. Ovviamente, in accordo con i principi della programmazione asincrona, per tutti i metodi, nel caso venga restituita una promise, DurandalJS attende la risoluzione della stessa prima di proseguire nella pipeline. Fra i metodi elencati quello che praticamente è sempre presente è activate in quanto è il responsabile dei dai che vengono inizialmente visualizzati sulla View. Il file ViewModel, nel nostro caso coaches.js, dev essere salvato nella cartella ViewModels; deve perché, come vedremo, il sistema di routing di DurandalJS prevede questa disposizione dei file. Creazione della View La View è un file HTML, senza i tag di inizializzazione. Ricordiamoci che stiamo sviluppando una SPA, quindi tutta l applicazione è contenuta all interno di una singola pagina, perciò non avrebbe senso continuare a definire nuove pagine che SPA sarebbe!?!?! La View contiene il markup necessario a mostrare all utente i dati esposti dal ViewModel e si trova, fisicamente, nella cartella App/Views. L associazione tra la View ed il ViewModel viene risolta automaticamente da DurandalJS. Innanzitutto Durandal sfrutta il nome dei file per risolvere questa associazione, quindi i file che hanno lo stesso nome che si trovano nelle cartelle Views e ViewModels, vengono automaticamente associati fra loro. In seguito, grazie a KnockoutJS, Durandal associa i dati del ViewModel alla View, quindi è chiaro che noi dobbiamo rispettare la sintassi di KnockoutJS per decidere come visualizzare i nostri dati all utente <section class="view"> <header> <a class="btn btn-info btn-force-refresh pull-right" data-bind="click: refresh" href="#"><i class="icon-refresh"></i> Refresh</a> <h3 class="page-title" data-bind="text: title"></h3> <div class="article-counter"> <address data-bind="text: speakers().length"></address> <address>found</address>

8 </div> </header> <section class="view-list" data-bind="foreach: coaches"> <article class="article-container-full-width"> <div> <img data-bind="attr: { src: imagename " class="img-polaroid"/> <address data-bind="text: firstname"></address> <address data-bind="text: lastname"></address> </div> </article> </section> </section> Come si può vedere il codice delle View è estremamente semplice. Non abbiamo fatto altro che sfruttare Knockout per legare le proprietà del ViewMode agli oggetti della View e viceversa Le complessità ovviamente possono aumentare con l aumentare della complessità dell interfaccia, ma KnockoutJS mette a disposizione diversi meccanismi per semplificare lo sviluppo dell interfaccia, primo fra tutti il meccanismo dei custom binding dove i binding di base non siano applicabili; ovviamente l obiettivo è mantenere il codice delle interfacce il più pulito possibile. Il Sistema di Routing Di cosa stiamo parlando? Del modulo di DurandalJS che si occupa di trasformare un url in una richiesta a una specifica associazione View/ViewModels nella nostra SPA. Nel template originale la configurazione del routing è contenuta nel file shell.js, io preferisco creare un file separato, in genere config.js, dove specificare i parametri di configurazione della mia SPA. In ogni caso, al di là delle scelte personali di ognuno di noi, vediamo come si configura questo modulo var routes = [{ url: 'sessions', moduleid: 'viewmodels/sessions', name: 'Sessions', visible: true,

9 caption: 'Sessions', settings: { caption: '<i class="icon-book"></i> Sessions', { url: 'coaches', moduleid: 'viewmodels/coaches', name: 'Coaches', caption: 'Coaches', visible: true, settings: { caption: '<i class="icon-user"></i> Coaches', { url: 'sessiondetail/:id', moduleid: 'viewmodels/sessiondetail', name: 'Edit Session', caption: 'Edit Session', visible: false, { url: 'sessionadd', moduleid: 'viewmodels/sessionadd', name: 'Add Session', visible: false, caption: 'Add Session', settings: { admin: true, caption: '<i class="icon-plus"></i> Add Session' ];

10 BreezeJS Breeze è una libreria JavaScript che consente di gestire i dati nelle applicazioni Rich Client. L obiettivo principale di Breeze è quello di permettere la condivisione dei dati fra una pagina ed un altra senza necessariamente passare sempre dal server, e la navigabilità in essi, ossia fornire oggetti grafici complessi. Caratteristiche principali Creare oggetti lato client che rispecchiano il modello lato server. Breeze crea questi oggetti dinamicamente e lega le proprietà di questi oggetti alla UI della nostra applicazione (KnockuotJS nel nostro caso). In questo modo ogni oggetto di Breeze sa quando e quale dato è cambiato al suo interno. Permette la scrittura di Query in JavaScript, con tutte le fetures del caso, come ordinamento, filtro, raggruppamento, etc. Implementa OData (Open Data Protocol) in modo da poter espandere il risultato di una query con entità correlate. Permette di salvare un oggetto, o un gruppo di più entità, con una sola transizione. Crea una cache dei dai lato Client riducendo drasticamente la necessità di continui round-trip clientserver per recuperare dati già presenti lato Client alla transizione da una pagina ad un altra. Permette di estendere il modello con metodi, proprietà ed eventi personalizzati, è opensource cos altro volete? EntityManager E l oggetto che permette, lato Client, di accedere ai dati e crearne una cache Breeze si crea una sua struttura di Metadati, un file json che ricava con l Action Metadata nel controller che si crea, per poter navigare all interno della struttura dei dati che preleva Tipicamente si recuperano i dati da un database, o da un qualsiasi servizio di persistenza remoto, tramite una query eseguita con EntityManager; si presentano questi dati all utente tramite i meccanismi messi a disposizione dalle View, KnockouJS è uno di questi; si abilita la possibilità di manipolare questi dati con tutte le operazioni CRUD possibili e periodicamente si salvano le modifiche in sospeso con una sola transizione verso il database. EntityManager è sia un gateway per il servizio di persistenza dei dati che una cache delle entità su cui si intende lavorare lato Client. Gli oggetti interrogati e salvati sono entità mantenute nella Cache di EntityManager; queste entità possono entrare nel nostro EntityManager a seguito di una query, oppure a seguito di un operazione di inserimento lato client, o da un altro EntityManager della nostra App.

11 Queste entità liberano la cache, escono dal nostro EntityManager a seguito di un intervento da parte nostra, oppure perché contrassegnate come cancellate dopo un operazione di persistenza dei dati. La cache di EntityManager è interrogabile allo stesso modo in cui si interrogano i dati sul server remoto, con la sola unica grande differenza che è locale, quindi nessun round-trip Client-Server! Entity Un entità rappresenta un oggetto significativo nel modello della nostra applicazione. Potrebbe trattarsi di semplici dati, di relazioni fra entità (Cliente e relativi Ordini), di regole (una proprietà richiesta per convalidare il dato). Un entità in Breeze è un oggetto con le proprietà dei dati e le proprietà di navigazione che restituiscono entità correlate. Oltre alle normali proprietà relative ai dati, stringhe numeri, valori in genere, sono presente proprietà di navigazione fra le entità correlate nella cache di EntityManager. L esempio classico è costituito dall anagrafica Cliente con i relativi Ordini. Un entità Breeze è costituita anche da un suo kernel, una entity-ness, che rappresenta il suo entityaspect che serve al motore di Breeze per gestire l entità stessa. E possibile intervenire su questo kernel e influenzare il comportamento di Breeze nel manipolare l Entity stessa (a vostro rischio e pericolo). L aspetto più importante di una Entity è il suo EntityState. Questa proprietà indica se si tratta di un nuovo oggetto che è stato aggiunto, oppure se si tratta di un oggetto già presente ma che è stato modificato. E possibile esaminare i valori originali di un oggetto preesistente e ripristinare l entità al suo stato originale chiamando l istruzione entityaspect.rejectchanges(). Data Binding Breeze si basa principalmente sulle proprietà di Binding per intercettare le modifiche apportare lato client alle entità, il che significa che le proprietà che si vogliono trattare devono essere di tipo observable. Le proprietà in Breeze ovviamente lo sono. In ambito.net, lo sappiamo, questo meccanismo è garantito dall evento PropertyChanged, ma in JavaScript non vi è alcun meccanismo standard che implementi questa funzionalità. Ogni framework adotta la propria implementazione (KnockuotJS, AngularJS, BackboneJS, etc.). Breeze è in grado di lavorare con tutti questi framework, lasciando a noi la libertà di scegliere quello che più ci aggrada.

12 Query E possibile recuperare i dati da un server remoto componendo una query nella sintassi indicata da Breeze ed eseguendola attraverso un oggetto EntityManager var query = breeze.entityquery().from("coaches").where("name", "startswith", "A").orderBy("Name"); var manager = new breeze.entitymanager(servicename); manager.executequery(query).then(querysucceeded).fail(queryfailed); La prima cosa che possiamo notare è che si tratta di una chiamata asincrona, il metodo executequery restituisce una promise e invoca il metodo querysucceded nel caso l operazione vada a buon fine, oppure il metodo queryfailed in caso contrario. Breeze risolve questa query dentro con una richiesta HTTP GET, tipicamente si tratta di un servizio WebAPI con endpoint opportunamente configurato verso il nostro servizio di persistenza dei dati (SQL Server, MongoDB,..). La sintassi O-Data della query è supportata da WebAPI, ma anche da WCF e altri servizi non necessariamente.net compatibili. Ovviamente è possibile scrivere anche query complesse, sempre sfruttando la sintassi indicata da Breeze Salvataggio dei Dati Breeze aggiunge, modifica, elimina le entity nella cache di un EntityManager, mai direttamente sulla fonte dati remota. Tutto quello che fa è modificare l EntityState di una Entity. Tutte le modifiche vengono conservate e gestite nella cache sino alla chiamata del metodo SaveChanges() del nostro EntityManager.

13 manager.savechanges().then(savesucceeded).fail(savefailed); Ancora una volta possiamo notare che si tratta di un metodo asincrono che restituisce una promise, nel modo del tutto equivalente a quanto visto in precedenza per il recupero dei dati attraverso l esecuzione di una query. Ho già detto in precedenza che Breeze è in grado di persistere dati di una singola entità, o un batch di più entità fra loro relazionate, tutto in un unica transizione, consentendo un notevole risparmio di tempo ed un inutile round trip. Metadata Il Metadata di Breeze descrive i tipi di entità, e le relative relazioni fra di esse, in un modello di dati. Breeze necessita di questi metadati per comunicare con il servizio di persistenza durante l esecuzione di query. Si tratta di un insieme di informazioni che Breeze richiede autonomamente al server e che vengono restituite in formato json puro. Grazie a questi metadati creare un nuovo oggetto all interno di un entità diventa un operazione estremamente semplice con Breeze var newcoach = manager.createentity('coach', {CoachName='New Hero');

14 Promise Vs Callback Chiunque abbia scritto un minimo di codice JavaScript avrà scritto qualcosa di simile function getarticoli(callback, errorback){ $.ajax({ ); url: "/mywebapp/allspares.json", datatype: "json", success: function(data) {, // Sfrutto la callback per gestire la risposta della chiamamta ajax if (data.spares) { // OK: Abbiamo recuperato i dati, quindi possiamo invocare la callback if (typeof callback == "function" { callback(data.spares); else if (typeof errorback == "function") { errorback(new Error("Nessun Articolo Trovato"); error: function(jqxhr, textstatus, errorthrown) if (typeof errorback == "function") { errorback(errorthrown); La funzione getarticoli() dell esempio non ritorna nessun valore. L uso delle callback ci obbliga a scrivere codice strettamente accoppiato; dobbiamo conoscere esattamente dove inserire la chiamata alla callback per sortire l effetto desiderato e questo ci preclude la strada al riutilizzo del codice che stiamo scrivendo, cosa che a noi programmatori sfaticati e pigri non piace affatto! Per nostra fortuna le nuove librerie JavaScript ci offrono un alternativa alle callback, ovvero le promise, una promessa.

15 Una promise è un oggetto che rappresenta il valore di un azione asincrona, una cambiale per informazioni. Lo strumento messo a disposizione da jquery per implementare il meccanismo delle promise è l oggetto Deferred. L esempio riportato sopra, con l uso delle promise diventa function getarticoli(){ // Creo un'istanza dell'oggetto Deferred var deferred = new $.Deferred(); // Non faccio altro che invocare la mia funzione tramite Ajax... esattamente come prima $.ajax({ url: "/mywebapp/allspares.json", datatype: "json", success: function(data) { if (data.spares) { deferred.resolve(data.spares); else { deferred.reject(new Error("Nessun Articolo Trovato"));, error: function(jqxhr, textstatus, errorthrown) { deferred.reject(errorthrown); ); // Restituisco la promessa che rappresenta l'anagrafica articoli return deferred.promise(); La differenza fondamentale rispetto al primo approccio è la presenza di un valore di ritorno, cosa assolutamente non prevista nella versione basata sulle callback.

16 L oggetto che viene restituito è la cambiale, ovvero la promessa che il nostro utente potrà utilizzare per ottenere le informazioni che appunto gli abbiamo promesso, non appena queste saranno disponibili. La Deferred è il meccanismo con cui gestisco la promessa; posso creare una promessa che poi restituisco al mio utente, proprio come se lavorassi in maniera asincrona. Sarà l utente, avendo ora a disposizione questo oggetto, a collegare ad esso una callback per accedere ai valori richiesti: getarticoli().then (function (spare) { for (var i = 0, l = spares.length, i <l, i + +) { //... code code code and code more ); Si potrebbe obiettare dicendo che alla fine è ancora una callback quella che mi serve. Certamente! Ma a invocare e consumare la callback ora è il codice che ha invocato il tutto, la mia funzione non è assolutamente accoppiata con esso; in questo modo abbiamo astratto la funzione di estrazione articoli e possiamo riutilizzarla ognivolta che ci tornerà comodo, decidendo di volta in volta quale funzione attaccare tramite callback. La libreria che ci permette di gestire le promise è Q.js

17 Function Modules in RequireJS La caratteristica principale di RequireJS è la possibilità di definire un modulo come funzione. Se in un primo momento questo può sembrare una caratteristica piuttosto semplice, come in effetti lo è, ci sono alcuni aspetti pratici in cui tornare una funzione come modulo può rivelarsi piuttosto utile. L implementazione di una funzione come modulo è piuttosto semplice // random.js define(function(){ ); return function(min, max){ return Math.floor((Math.random()*max)+min); Dopo di che il modulo può essere richiamato nel modo seguente: require(['random'], function(random){ console.log(random(1,10)): ); Un modulo può essere utilizzato come mezzo conveniente per creare uno specifico tipo di oggetto su una entità in base a determinate condizioni. Prendiamo questo semplice esempio che, dato uno specifico ruolo, restituisce un implementazione corrispondente della View // app/views/editors/editorfactory.js define(function(require){ var editors = { 'admin' : require('editors/admineditorview'), 'user' : require('editors/usereditorview'), 'guest' : require('editors/guesteditorview'), // additional implementations... ; return function(role){ try {

18 ); return new editors[role]; catch(error) { throw new Error('Unknown Role Specified.'); Il ViewModels può semplicemente invocare il modulo per recuperare l appropriata implementazione della View in base al ruolo specificato define(function(require){ var factory = require('editors/editorfactory'); return Backbone.View.extend({ render: function(){ //... view rendering this.editor = factory(this.model.get('role')); this.editor.render(); ); ); La definizione di funzioni come modulo semplifica notevolmente l implementazione del codice, consentendo una scrittura del codice più semplice, facilmente testabile e manutenibile.

19 Fonti

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

NOVITÀ SITI COMMERCIALISTA

NOVITÀ SITI COMMERCIALISTA NOVITÀ E-COMMERCE Sono state introdotte, nella versione 2011B, una serie di implementazioni grazie alle quali sarà ora possibile disporre all interno del proprio sito E-commerce delle seguenti funzionalità:

Dettagli

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1 Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

ADDING SOCIAL PLUGINS TO YOUR OWN SITE

ADDING SOCIAL PLUGINS TO YOUR OWN SITE ADDING SOCIAL PLUGINS TO YOUR OWN SITE Aggiungere SOCIAL PLUGINS al proprio sito è ormai materia quotidiana per coloro che si cimentano nella creazione di un sito internet, infatti, possiamo trovare implementazioni

Dettagli

A tal fine il presente documento si compone di tre distinte sezioni:

A tal fine il presente documento si compone di tre distinte sezioni: Guida on-line all adempimento Questa guida vuole essere un supporto per le pubbliche amministrazioni, nella compilazione e nella successiva pubblicazione dei dati riguardanti i dirigenti sui siti istituzionali

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

ICARO Terminal Server per Aprile

ICARO Terminal Server per Aprile ICARO Terminal Server per Aprile Icaro è un software aggiuntivo per Aprile (gestionale per centri estetici e parrucchieri) con funzionalità di terminal server: gira sullo stesso pc dove è installato il

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

A tal fine il presente documento si compone di tre distinte sezioni:

A tal fine il presente documento si compone di tre distinte sezioni: Guida on-line all adempimento Questa guida vuole essere un supporto per le pubbliche amministrazioni, nella compilazione e nella successiva pubblicazione dei dati riguardanti i dirigenti sui siti istituzionali

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

Editing e gestione delle views per il modulo Landing Page Espositore

Editing e gestione delle views per il modulo Landing Page Espositore Editing e gestione delle views per il modulo Landing Page Espositore Revisione 1.0 29 Marzo 2011 Editing e gestione delle views per il modulo Landing Page Espositori Per modificare il comportamento dei

Dettagli

Corso Drupal «Project management»

Corso Drupal «Project management» Corso Drupal «Project management» Pino Vasarelli, Andrea Vivaldi Iit Istituto di Informatica e Telematica del CNR Project management Il sito Project management deve avere le seguenti caratteristiche: la

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA 3 NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA Collegandosi al sito, si accede alla Home Page del SI-ERC che si presenta come illustrato di seguito. L utente progettista, analogamente agli altri utenti,

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Figura 1 Le Icone dei file di Excel con e senza macro.

Figura 1 Le Icone dei file di Excel con e senza macro. 18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO 1 Installazione e requisiti per il corretto funzionamento del sito: L istallazione è possibile sui più diffusi sistemi operativi. Il pacchetto

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Università Politecnica delle Marche. Progetto Didattico

Università Politecnica delle Marche. Progetto Didattico Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Manuale servizio Webmail Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Introduzione alle Webmail Una Webmail è un sistema molto comodo per consultare la

Dettagli

Manuale Servizio NEWSLETTER

Manuale Servizio NEWSLETTER Manuale Servizio NEWSLETTER Manuale Utente Newsletter MMU-05 REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale 28/01/2011 Lorenzo Bonelli

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

COMUNIC@CTION INVIO SMS

COMUNIC@CTION INVIO SMS S I G e s t S.r.l S e d e l e g a l e : V i a d e l F o r n o 3 19125 L a S p e z i a T e l e f o n o 0187/284510/15 - F a x 0187/525519 P a r t i t a I V A 01223450113 COMUNIC@CTION INVIO SMS GUIDA ALL

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele Matricola: 0124000461 Miglio Stefano Matricola: 0124000462 Obiettivi Iniziali Si intende realizzare

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

Overview su Online Certificate Status Protocol (OCSP)

Overview su Online Certificate Status Protocol (OCSP) Overview su Online Certificate Status Protocol (OCSP) Introduzione di Nicola Ferrini MCT MCSA MCSE MCTS MCITP La revoca dei certificati digitali consiste nel rendere non più valido un certificato prima

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

FtpZone Guida all uso

FtpZone Guida all uso FtpZone Guida all uso La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente un login e password

Dettagli

Port Community System del Porto di Ravenna CONFIGURAZIONE

Port Community System del Porto di Ravenna CONFIGURAZIONE Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Progetto ittorario Anno scol. 2013-2014

Progetto ittorario Anno scol. 2013-2014 PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

File Server Resource Manager (FSRM)

File Server Resource Manager (FSRM) File Server Resource Manager (FSRM) di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione FSRM, File Server Resource Manager, è un ruolo opzionale che può essere installato in Windows Server 2008 nel

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Progetto Eleven. http://lpweb.diiga.univpm.it/~grp_11/ Introduzione. Componenti del gruppo. Gruppo 11

Progetto Eleven. http://lpweb.diiga.univpm.it/~grp_11/ Introduzione. Componenti del gruppo. Gruppo 11 Progetto Eleven Gruppo 11 http://lpweb.diiga.univpm.it/~grp_11/ Introduzione Eleven è un azienda che opera nel campo delle applicazioni WEB specializzata nel campo dei social network. Da la possibilità

Dettagli

Guida all uso delle Web View su ios

Guida all uso delle Web View su ios Guida all uso delle Web View su ios Tesina per il corso di Programmazione di Sistemi Mobile Lorenzo Pellegrini Matricola: 0000653299 Cosa sono le Web View? Le web view sono componenti grafiche, integrabili

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

CP Customer Portal. Sistema di gestione ticket unificato

CP Customer Portal. Sistema di gestione ticket unificato CP Customer Portal Sistema di gestione ticket unificato Sommario CP Customer Portal...1 Sistema di gestione ticket unificato...1 Sommario...2 Flusso gestione ticket...3 Modalità di apertura ticket...3

Dettagli

ELENCO CLIENTI FORNITORI Patch1

ELENCO CLIENTI FORNITORI Patch1 ELENCO CLIENTI FORNITORI Patch1 Il pacchetto P15_200ElencoCF_Patch1.exe contiene una serie di aggiornamenti alla procedura di generazione del file contenente l. Download: 1) Assicurarsi di avere una versione

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

MAUALE PIATTAFORMA MOODLE

MAUALE PIATTAFORMA MOODLE MAUALE PIATTAFORMA MOODLE La piattaforma moodle ci permette di salvare e creare contenuti didattici. Dal menù principale è possibile: inviare dei messaggi agli altri docenti che utilizzano la piattaforma:

Dettagli

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE ESSE3 Gestione Registro delle lezioni MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni

Dettagli

Uso dei modelli/template

Uso dei modelli/template Uso dei modelli/template Il modello (o template, in inglese) non è altro che un normale file di disegno, generalmente vuoto, cioè senza alcuna geometria disegnata al suo interno, salvato con l estensione.dwt.

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

MAGAZZINO FISCALE (agg. alla rel. 3.4.1)

MAGAZZINO FISCALE (agg. alla rel. 3.4.1) MAGAZZINO FISCALE (agg. alla rel. 3.4.1) Per ottenere valori corretti nell inventario al LIFO o FIFO è necessario andare in Magazzino Fiscale ed elaborare i dati dell anno che ci serve valorizzare. Bisogna

Dettagli

Come creare una pagina Facebook e collegarla al sito mosajco

Come creare una pagina Facebook e collegarla al sito mosajco Come creare una pagina Facebook e collegarla al sito mosajco Cos è una pagina Facebook? E la pagina gratuita dedicata alle attività che Facebook mette a disposizione di chi vuole far conoscere il proprio

Dettagli

Presentazione Data Base

Presentazione Data Base Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mysql) come supporto Open Source ad un piccolo progetto di Data Base relazionale, e tipicamente ad ogni applicazione non troppo

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Let's start! File > New Project > Ruby > Ruby on Rails Application (events)

Let's start! File > New Project > Ruby > Ruby on Rails Application (events) La nuova versione di Netbeans 6 consente di lavorare con Ruby On Rails, un potente e nuovissimo framework per lo sviluppo e la prototipazione di applicazioni web, che fa uso del design-pattern MVC (Model-View-Controller,

Dettagli

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

USARE JOOMLA 1.7/2.5 per gestire il vostro sito.

USARE JOOMLA 1.7/2.5 per gestire il vostro sito. 1 USARE JOOMLA 1.7/2.5 per gestire il vostro sito. 1. Per accedere al pannello di controllo: www.vostrosito.it/administrator 2. Inserire utente e password 3. Il vostro pannello di controllo si presenterà

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

ammesso solo con il tuo consenso. Le modifiche apportate hanno lo scopo di semplificare il controllo di quali

ammesso solo con il tuo consenso. Le modifiche apportate hanno lo scopo di semplificare il controllo di quali CHE COSA SONO I COOKIES E COME LI UTILIZZIAMO Un cookie è un semplice file di testo che viene memorizzato sul tuo computer o dispositivo mobile dal server di un sito web e che solo quel server sarà in

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Sotto il nome OpenOffice.org si nasconde un insieme di programmi per l ufficio potenti

Dettagli

Come masterizzare dischi con Nero 11

Come masterizzare dischi con Nero 11 Come masterizzare dischi con Nero 11 Non c è dubbio che Nero è diventato un sinonimo di masterizzatore di dischi, data la lunga esperienza sul mercato. Molte persone pensano in questo programma nel momento

Dettagli

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione)

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) - 36 - Manuale di Aggiornamento 4 MODULI AGGIUNTIVI 4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) È stata realizzata una nuova funzione che permette di inviare un sollecito ai fornitori,

Dettagli