XAL - Realizzazione di un sito web in Joomla



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

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

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Informatica per le discipline umanistiche 2 lezione 10

Al giorno d oggi, i sistemi per la gestione di database

19. LA PROGRAMMAZIONE LATO SERVER

Modellazione dei dati in UML

Esercitazione di Basi di Dati

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Raggruppamenti Conti Movimenti

DESIGN PATTERN ESERCITAZIONE UML E DP INGEGNERIA DEL SOFTWARE. A quali pattern si riferiscono i tre schemi?

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Ministero della Giustizia

Archiviazione digitale per SAP con DocuWare

Introduzione ai database relazionali

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

CONCETTO DI ANNIDAMENTO

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

GERARCHIE RICORSIVE - SQL SERVER 2008

Volumi di riferimento

Basi di Dati: Corso di laboratorio

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

Manuale Operativo Beneficiario Sfinge2020

Una metodologia di progettazione di applicazioni web centrate sui dati

Il Mercato elettronico PAT Soggetti coinvolti

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

SERVICE BROWSER. Versione 1.0

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Manuale di realizzazione dei modelli di documento

PIATTAFORMA DOCUMENTALE CRG

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Registratori di Cassa

Dipartimento per le Libertà Civili e l Immigrazione

3 Gestione e stampa casse edili

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Concetti fondamentali dei database database Cos'è un database Principali database

Dispensa di database Access

Università Politecnica delle Marche. Progetto Didattico

Lezione V. Aula Multimediale - sabato 29/03/2008

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Dipartimento per le Libertà Civili e l Immigrazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Introduzione a PostgreSQL e phppgadmin

IOL_guidaoperativa_gestione_allegati-1 0.doc 1 INTRODUZIONE ALL USO DELLA GUIDA SIMBOLI USATI E DESCRIZIONI GESTIONE ALLEGATI...

Realizzazione di una classe con un associazione

La progettazione centrata sull utente nei bandi di gara

Manuale Intesa. Guida all apertura di un ticket di assistenza online

SWIM v2 Design Document

User Tools: DataBase Manager

Manuale di utilizzo del sito ASUWEB

Organizzazione degli archivi

CitySoftware PROTOCOLLO. Info-Mark srl

Database e reti. Piero Gallo Pasquale Sirsi

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Gestione dei servizi all utenza. 3. Autorizzazioni

Le Basi di Dati. Le Basi di Dati

Introduzione al corso

ACCESSO AL PORTALE INTERNET GSE

BDCC : Guida rapida all utilizzo

SOMMARIO... 3 INTRODUZIONE...

Allegato) all art.4 punto 5 Informatizzazione del Magazzino

Personalizzazione Stampe

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud)

Ministero della Giustizia

IL DAT A B A S E DI ALGE B R A N D O

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

Architettura MVC-2: i JavaBeans

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Corso sul linguaggio SQL

PSG Table Builder Manuale Utente. PSG TABLE BUILDER Manuale Utente

CONTENT MANAGEMENT SY STEM

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

Form Editor. Dove NomeProfilo è personalizzabile.

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

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

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Access. P a r t e p r i m a

Archimede ver GUIDA FUNZIONALE ARCHIMEDE VER

Il Web Server e il protocollo HTTP

Integrazione InfiniteCRM - MailUp

Laboratorio di Information Retrieval SOLR. Marco Rossetti Based on Emanuele Panzeri s slides panzeri@disco.unimib.

Laboratorio di Basi di Dati

Creare diagrammi di Gantt con Visio 2003

CONTENT MANAGEMENT SYSTEM

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Il linguaggio HTML - Parte 3

Sistema Informativo di Teleraccolta EMITTENTI

Novità di Access 2010

Corso di Informatica

Transcript:

XAL - Realizzazione di un sito web in Joomla Andrea Poli vr056636 Dipartimento di Informatica Facoltà di Scienze matematiche, fisiche e naturali Università degli Studi di Verona xx Luglio 2009 Presentazione tesi laurea triennale

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Introduzione Introduzione Le aziende Bint S.r.l. e ComputerVAR ITT hanno realizzato il framework XAL per consentire in modo rapido ed efficace di sviluppare applicazioni web e non per la gestione di processi e, come sviluppo futuro, il monitoraggio di sistemi. È nata quindi la necessita di pubblicizzare tale framework presso il mondo degli sviluppatori in modo da incentivarne l uso. A tal proposito poi è sorta anche la necessità di realizzare un tool per rappresentare graficamente l automa temporale alla base di un applicazione XAL in modo da facilitare ulteriormente la fase di progettazione e sviluppo dell applicazione.

Obiettivi del progetto Obiettivi del progetto Realizzare un sito web per: presentare il framework XAL sviluppato da Bint S.r.l. e ComputerVAR ITT gestire gli stage proposti dalle aziende Bint S.r.l. e ComputerVAR ITT mettere a disposizione degli sviluppatori il codice dell interprete XAL e eventuali tool Realizzare un tool per rappresentare graficamente un automa temporale avente le seguenti caratteristiche: possibilità di generare il documento XML in conformità con l xml schema relativo ad un automa XAL validazione dell automa e delle sue proprietà

XAL - Una breve introduzione XAL - Una breve introduzione XAL XAL (acronimo di XML Automata Language) è un paradigma di programmazione con relativo framework per definire applicazioni orientate al web, e non, sotto forma di automi temporali. Esso consente di definire un applicazione come un insieme di stati, legati assieme da transizioni che scattano quando si verificano determinati eventi. XAL consente di specificare esplicitamente dei vincoli temporali che vanno rispettati, affinchè determinate transizioni possano effettivamente avvenire.

XAL - Una breve introduzione XAL - Una breve introduzione A ciascuno stato sono associate due funzioni: una di azione e una di metrica. Queste funzioni possono essere vere e proprie funzioni come intese al PHP, metodi di classi o chiamate a web service remoti.

Progettazione Progettazione Struttura del sito web Componente SpazioStage XAL Designer Tool

Progettazione Struttura del sito web Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Progettazione Struttura del sito web Struttura del sito web Il sito web è organizzato nel seguente modo: back-end: front-end: interfaccia per la gestione degli stage tutorial pubblicazioni paper tesi downloads stage contatti FAQ chi siamo

Progettazione Componente SpazioStage Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Progettazione Componente SpazioStage Componente SpazioStage Il componente SpazioStage è nato dalla necessità di poter gestire gli stage proposti dalle aziende Bint S.r.l. e ComputerVAR ITT. Requisiti Schema ER Schema UML

Progettazione Componente SpazioStage Requisiti fornire un interfaccia efficace per la gestione degli stage pre e post laurea offerti integrare nel motore di ricerca di Joomla la ricerca degli stage fornire all utente la possibilità di richiedere in modo rapido informazioni aggiuntive riguardanti uno stage

Progettazione Componente SpazioStage Schema ER Ideale

Progettazione Componente SpazioStage Schema ER adattato a Joomla la chiave primaria di ogni entità è stata sostituita da un id autoincrementante. è stato creato un indice unique comprendente i campi che costituivano la chiave primaria

Progettazione Componente SpazioStage Schema UML Beans & JTable

Progettazione Componente SpazioStage Schema UML Controller

Progettazione Componente SpazioStage Schema UML Model

Progettazione Componente SpazioStage Schema UML View

Progettazione XAL Designer Tool Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Progettazione XAL Designer Tool XAL Designer Tool XAL Designer Tool consente di rappresentare graficamente un automa temporale alla base di un applicazione XAL e di ottenere da tale rappresentazione il corrispondente codice XML. Requisiti Schema UML

Progettazione XAL Designer Tool Requisiti rappresentare graficamente un automa temporale alla base di un applicazione XAL in particolare poter specificare: le azioni e le metriche gli stati e le relative proprietà associate (azione, metrica, stato finale, stato iniziale) le transizioni e le relative proprietà associate (simbolo, vincoli temporali) ottenere una rappresentazione in formato XML che rispetti lo schema XML di un automa XAL.

Progettazione XAL Designer Tool Requisiti Automa XML Schema Di seguito vedremo la descrizione in XML di un semplice automa XAL. Per l xml schema completo invitiamo a consultare http://www.computervaritt.it/xal/xal/xml/automa.xsd 1 <Automa Id="SimpleAutomaton" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" 2 xsi:nonamespaceschemalocation="automa.xsd"> 3 <GlobalState> 4 <Variable Name="gVar" Value="" Type="string"/> 5 </GlobalState> 6 <Clocks> 7 <Variable Name="cVar"/> 8 </Clocks> 9 <ActionPool> 10 <Action Id="metric" Type="function"> 11 <System Name="f2" Path="../index.php"/> 12 <Input> 13 <Parameter Name="gVar"/> 14 </Input> 15 <Enumeration Type="string">

Progettazione XAL Designer Tool Requisiti Automa XML Schema 1 <Const Value="M1" Desc=""/> 2 </Enumeration> 3 </Action> 4 <Action Id="action" Type="function"> 5 <System Name="f1" Path="../index.php"/> 6 <Input> 7 <Parameter Name="gVar"/> 8 </Input> 9 </Action> 10 </ActionPool> 11 <States> 12 <State Interactive="false" Id="S2" IdAction="action" IdMetric="metric"/> 13 <State Interactive="false" Id="S1" IdAction="action" IdMetric="metric"/> 14 </States> 15 <Transitions> 16 <Transition IdInputState="S1" IdOutputState="S2" MetricValue="M1"> 17 <ClockConstraint ClockExp="cVar <= 1min"/> 18 </Transition> 19 </Transitions> 20 <InitialState IdState="S1"/> 21 <FinalStates> 22 <FinalState IdState="S2"/> 23 </FinalStates> 24 </Automa>

Progettazione XAL Designer Tool Requisiti Automa XML Schema I Descrizione degli elementi principali: GlobalState: definisce le variabili globali dell applicazione XAL. Clocks: definisce le variabili di tempo (clock variables) utilizzate per esprimere i vincoli temporali ActionPool: definisce le azioni e metriche che in seguito vengono associate agli stati. In particolare un azione/metrica può corrispondere alla chiamata di una funzione, un metodo o un webservice. States: definisce gli stati che costituiscono l automa temporale. Per ogni stato vengono specificati: id dell azione id della metrica interattivo, cioè l azione associata allo stato richiede un input da parte dell utente

Progettazione XAL Designer Tool Requisiti Automa XML Schema II Transactions: definisce le transizioni tra stati. Per ogni transizione viene specificato: stato di partenza stato di destinazione simbolo (MetricValue) eventuali vincoli temporali che se presenti devono essere soddisfatti per poter procedere con la transizione InitialState: definisce lo stato iniziale FinalStates: definisce gli stati finali

Progettazione XAL Designer Tool Schema UML automatonproperties

Progettazione XAL Designer Tool Schema UML component

Sviluppo Outline 1 Introduzione 2 Obiettivi del progetto 3 XAL - Una breve introduzione 4 Progettazione Struttura del sito web Componente SpazioStage Requisiti Schema ER Schema UML XAL Designer Tool Requisiti Schema UML 5 Sviluppo 6 Conclusioni 7 Riferimenti bibliografici

Sviluppo Introduzione Componente Joomla [1] Un componente è un applicazione che si integra con il CMS Joomla e si occupa generalmente di: di gestire delle informazioni presenti nel database (back-end) visualizzare in modo personalizzabile tali informazioni all utente finale e/o acquisire informazioni da quest ultimo (front-end) Componenti e MVC Attualmente i componenti Joomla sono sviluppati seguendo il design pattern MVC (Model - View - Controller). In Joomla il pattern MVC è implementato usando tre classi: JModel, JController [5], JView

Sviluppo Model View Controller

Sviluppo Struttura di un componente Un componente Joomla è costituito da: un entry point uno (più) controller uno o più modelli una o più viste un file xml contente le informazioni per l installazione

Sviluppo Entry Point Joomla carica il componente in base al valore del parametro option inviato tramite GET o POST. Es. index.php?option=com_spaziostage Ciò prova il caricamento del file spaziostage.php, il punto di accesso dell applicazione Il nome dell entry point e del componente devono coincidere! Compito dell entry point è di invocare il controller richiesto

Sviluppo spaziostage.php 1 <?php 2 //Joomla security: no direct access 3 defined( _JEXEC ) or die( Restricted access ); 4 5 // Require the base controller 6 require_once( JPATH_COMPONENT.DS. controller.php ); 7 8 // Require specific controller if requested 9 if($controller = JRequest::getWord( controller )) { 10 $path = JPATH_COMPONENT.DS. controllers.ds.$controller..php ; 11 if (file_exists($path)) { 12 require_once $path; 13 } else { 14 $controller = ; 15 } 16 } 17 18 // Create the controller 19 $classname = SpaziostageController.$controller; 20 $controller = new $classname( ); 21 22 // Perform the Request task 23 $controller->execute( JRequest::getVar( task ) );

Sviluppo

Sviluppo Alcune note sul codice JRequest: fornisce un interfaccia per accedere alle variabili ricevute con la richiesta HTTP (GET, POST e cookie). Vediamo alcuni metodi: getword(): ritorna il valore di una variabile consentendo solo i caratteri [A-Za-z_] getvar(): ritorna il valore di una variabile senza effettuare alcun filtraggio getint() getfloat()... Nota: il filtraggio del valore delle variabile aiuta a prevenire attacchi di tipo Cross Site Scripting (XSS) [6]

Sviluppo Controllore Ha il compito di invocare una vista associando ad essa dati richiesti al modello in base alla richiesta (variabile GET/POST task) pervenuta. Estende JController Ad ogni task corrisponde un metodo Se task non è definito di default viene invocato il metodo display()

Sviluppo Alcune note sul codice... JController getmodel($_entity): istanzia un oggetto della classe <Nome componente>model<entity>, es. SpazioStageModelUniversity, dopo aver incluso il file <directory del componente>/models/<entity>.php, es.../com_spaziostage/models/university.php. [5] JRequest::checkToken() or die( Invalid Token ): unito a JHTML::_( form.token ) inserito all interno di un form contribuisce a prevenire attacchi di tipo CSRF (Cross Site Request Forgery [2]), ossia l esecuzione di richieste HTTP non autorizzate.

Sviluppo Alcune note sul codice... JView assignref(<nome variabile>, <valore>): aggiunge dinamicamente un attributo di nome <nome variabile> con valore <valore> all istanza di JView.

Sviluppo Modello Rappresenta un entità Si avvale della classe JTable per gestire le operazioni di inserimento/modifica/cancellazione di una tupla quando l entità ha come chiave primaria un identificatore numerico Per interrogazione/comandi SQL che coinvolgano più tabelle è necessario ricorrere alle classe JDatabase.

Sviluppo JTable [4] Se l entità che vogliamo gestire ha un identificatore numerico come chiave primaria si può creare la relativa JTable in pochi semplici passi. <?php defined( _JEXEC ) or die(); class Table<Nome Tabella> extends JTable { var $id = null; /* altri attributi... */ }?> function construct(&$db) { parent:: construct( <nome tabella>, <identificatore>, $db ); } JTable internamente si avvale della classe JDatabase [3]

Sviluppo JTable I metodi principali sono: bind(<dati POST/GET>): assegna i valori delle variabili ricevute mediante POST/GET con gli attributi dell istanza di JTable aventi gli stessi nomi. check(): esegue la validazione degli attributi store(): esegue il comando SQL di insert/update specifico per la tabella delete(): esegue il comando SQL di delete specifico per la tabella

Sviluppo JDatabase Ottenere un istanza di JDatabase: $db = & JFactory::getDBO() Eseguire una query: $db->setquery($query) $result = $db->loadobjectlist() Ritorna una lista di oggetti PHP i cui attributi coincidono con gli attributi dell entità Eseguire un comando SQL(insert, update, delete): $db->setquery($sqlcommand) $db->query() Prevenire SQL Injection: $query = SELECT * FROM TABLE WHERE stringfield =. $db-

Sviluppo JModel Vediamo ora alcuni metodi di una generica implementazione di JModel che utilizzando JTable e JDatabase. getdata(): ritorna una tupla come oggetto PHP (stdclass) di entità se id è stato definito altrimenti ritorna un oggetto PHP avente come attributi gli attributi di entità inzializzati a valori di default. store(): invoca il metodo bind() della JTable corrispondente all entità per ottenere i dati quindi: id =0 allora esegue un comando di INSERT altrimenti un comando di UPDATE. remove(): cancella una o più tuple relative a entità. getall(): ritorna limit-record a partire da limitstart. Usato per la paginazione.

Sviluppo JModel getpagination(): ritorna l oggetto JPagination che gestisce la paginazione delle tuple relative a entità.

Sviluppo View Gestisce la visualizzazione/richiesta di dati all utente Estende la classe JView Deve rispettare la seguente regola di naming: <Nome componente>view<nov vista>. Es. SpazioStageViewUniversity Riceve i dati da visualizzare dal controllore mediante l utilizzo del metodo assignref Per la visualizzazione vera e propria invoca un template Template Una vista può avere associati uno o più template. Il template gestisce la visualizzazione vera e propria dei dati.

Sviluppo

Sviluppo

Sviluppo XML di installazione Ogni componente Joomla deve avere un file XML di installazione avente lo stesso nome del componente Es. spaziostage.xml Gli elementi principali sono: name: definisce il nome del componente files: elenca tutti i file che realizzano il front-end del componente languages: consente di definire file per la lingua relativi al componente installfile: consente di impostare uno script php per eseguire alcune operazioni particolari in fase di installazione uninstallfile: analogo ma in fase di disinstallazione

Sviluppo XML di installazione Gli elementi principali sono: install: queries: consente di specificare dei comandi SQL da eseguire in fase di installazione uninstall: analogo di install ma in fase di disinstallazione admin: sezione relativa alle risorse del componente relative al back-end menu: definisce il nome del componente nel menù del backend files: elenca tutti i files che realizzano il back-end del componente

Sviluppo spaziostage.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <install type="component" version="1.5.0"> 3 <name>spaziostage</name> 4 <files> 5 <filename>controller.php</filename> 6... 7 </files> 8 <languages> 9 <language tag="it-it">it IT.com_spaziostage.ini</language> 10 </languages> 11 12 <installfile>install.spaziostage.php</installfile> 13 <uninstallfile>uninstall.spaziostage.php</uninstallfile> 14 15 <install> 16 <queries> 17 <query> 18 CREATE TABLE # spaziostage_company ( 19 id int(11) unsigned NOT NULL auto_increment, 20 name varchar(255) NOT NULL default, 21 website text, 22... 23 </query> 24...

Sviluppo spaziostage.xml 1 </queries> 2 </install> 3 4 <administration> 5 <menu>spazio Stage</menu> 6 <files folder="admin"> 7 <filename>index.php</filename> 8... 9 <filename>models/stage.php</filename> 10... 11 <filename>views/stage/view.html.php</filename> 12 <filename>views/stage/tmpl/default.php</filename> 13 <filename>views/stage/tmpl/default_form.php</filename> 14... 15 </files> 16 </administration> 17 </install>

Conclusioni Conclusioni

Riferimenti bibliografici Riferimenti bibliografici I staalanden dannystaple, mjaz. Developing a model-view-controller component. http://docs.joomla.org/developing_a_ Model-View-Controller\_Component_-_Part_1. Joomla! Documentation. How to add csrf anti-spoofing to forms. http://docs.joomla.org/how_to_add_csrf_anti-spoofing_ to_forms. Joomla! Documentation. How to use the database classes in your script. http://docs.joomla.org/how_to_use_the_database_ classes_in_your_script.

Riferimenti bibliografici Riferimenti bibliografici II Joomla! Documentation. How to use the jtable class. http://docs.joomla.org/how_to_use_the_jtable_class. Joomla! API Reference. Jcontroller. http://api.joomla.org/joomla-framework/application/ JController.html. Wikipedia. Cross-site scripting. http://en.wikipedia.org/wiki/cross-site_scripting.