SlideShare a Scribd company logo
Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web

5. Applicazioni Web e
CMS
Roberto Polillo




                         Edizione 2012-13
Applicazioni Web
3


       Oltre che "navigare", l'utente deve poter
        "interagire" con un sito, fornendo dei dati che il
        sito elaborerà fornendo le risposte opportune
       Non solo "Web sites" ma "Web applications"




                                                    R.Polillo - Marzo 2013
Applicazioni Web: script client-side
4




                                                     AJAX Engine
                               HTML con script
                               client-side

                                                              Browser

                                        internet
                                       HTTP
                       Web
                      server                           HTML con
                                                       programmi client-
                                                       side
    Esempi:
    •Javascript (script interpretati) con librerie                 Esecutore dei
    DOM                                                            programmi client-
    •Applet Java (codice precompilato                              side
    interpretato da JVM (Java Virtual Machine)
    •Ajax (rende asincrona l'interazione col
Programmazione lato client
5

       JavaScript (creato da Netscape, 1995)
        Semplice linguaggio di scripting, inserito nel codice HTML e (standardizzato da
        ECMA col nome di ECMAScript)
        Interpretato da una Javascript Engine
       DOM (Document Object Model)
        Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli
        elementi dell'interfaccia del browser
       Applet Java (Java: linguaggio a oggetti creato da Sun, 1995)
        Programmi già compilati in codice intermedio ("bytecode"), che viene eseguito da
        una Java Virtual Machine.
        Devono essere inviati dal server, e quindi per motivi di sicurezza non hanno accesso
        al file system del client.
       AJAX (Asynchronous JavaScript and XML)
        Un gruppo di tecnologie e metodi che rendono asincrone la gestione della
        interazione con l'utente e il dialogo con il web server

                                                                               R.Polillo - Marzo 2013
Esempi
6



    <html>
     <head> …. </head>
       <body>
        ….
        <script type="text/javascript">   <applet
         Document.write('Hello World')      code="Hello class" width="200" hight="200">
        </script>                         </applet>
        …..
       </body>
    </html>




                                                                        R.Polillo - Marzo 2013
Applet Java: esempio
7




                           R.Polillo - Marzo 2013
AJAX (Asynchronous JavaScript and XML)
8




    Da leggere:
    http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications
                                                                      R.Polillo - Marzo 2013
Applicazioni Web: script server-side
      (pagine dinamiche)
9



                          Codice server-side

                               HTML con
                               programmi server- e
                               client-side
                                                            Browser

                                        internet
                                       HTTP
                       Web
                      server                         HTML con script
                           Esecutore di              client-side
                           programmi server-
                           side
    Esempi:
                                                              Codice generato
    •script PHP (Personal Home Page Tools)                    server-side
    •script JSP (Java Server Pages)
    •Servlet Java
    •…
La trasmissione dei dati di input
10


      HTTP e HTML forniscono degli strumenti per
      richiedere dati all'utente e trasmetterli al Web server


 Elaborazione dati e                                                             Scrive
 produzione / invio di                HTML                                       "Mario" e
 una nuova pagina                                                                preme OK
                                            GET URL',                3
                                            Nome=mario                   Nome:
                                                              5
                                                                                 OK
                                        1     GET (URL)                                      4
                         6
                                              HTTP        2
                              Web               PUT
                             server                           HTML
Form: esempio
11



       <form method="get" action=http://www.google.com/search>
            <input type="text" name="querystring">
           <input type="submit" name="button1" value="Google Search">
        </form>




                        bla bla




            Al server       querystring=bla+bla&button1=Google+S
                            earch

                                                                        R.Polillo - Marzo 2013
Architetture a più livelli ("multi-tier")
12




     Data base




                                                               Browser

                                             internet
                                            HTTP
       db   Application     Web
     server   server       server                       HTML con script
                                                        client-side




                          Pagine generate
                          dinamicamente
Come installare un sito Web?
13



             Pagine           Una soluzione elementare
              web

                                                         Es.:
                                           FTP           Dreamweave
                                                         r
                                            Browser   Edito
                                                      r
                              internet
                      HTTP
                             HTTP
              Web
             server                      HTML
Content Management Systems (CMS)
14


                       Un'applicazione che permette di costruire e
     Data base          installare le pagine, e di servirle aai lettori



                                                                          Browser

                                                   internet
                                                  HTTP
       db        CMS          Web
     server                  server                                                 Lettor
                                                                                    e




                            Pagine generate
                            dinamicamente
Content Management Systems (CMS)
15




     Data base




                                                     Browser

                                          internet
                                         HTTP
       db        CMS     Web
     server             server                                 Lettor
                                                               e
                                                     Browser


                       Pagine generate
                       dinamicamente

                                                               Editor
Content Management Systems (CMS)
16

                                                     Browser

     Data base



                                                               Amministrato
                                                     Browser   re

                                          internet
                                         HTTP
       db        CMS     Web
     server             server                                   Lettor
                                                                 e
                                                     Browser


                       Pagine generate
                       dinamicamente

                                                                 Autore
Content Management Systems (CMS)
17


                       Templates                         Browser

     Data base
                                   Materiale autore
                        Materiale
                        amministratore                             Amministrato
                                                         Browser   re

                                              internet
                                             HTTP
       db        CMS      Web
     server              server                                      Lettor
                                                                     e
                                                         Browser


                        Pagine generate
                        dinamicamente

                                                                     Autore
CMS
18


     Due grandi classi di soluzioni:
      Proprietarie
     spesso preistallati, offrono servizi online per la costruzione
     interattiva di siti, senza necessità di programmazione:
     "online site builder"
     Open source

     il codice è disponibile e modificabile spesso con licenze
     gratuite




                                                           R.Polillo - Marzo 2013
Online site builders
 19
R.Polillo -
  Marzo
  2013




                 Applicazioni proprietarie che permettono di costruire e
                  pubblicare siti web interamente on-line, senza necessità di
                  programmazione
                 Il sito può essere personalizzato in vari modi: scelta del tema
                  grafico, uso di widget, … A volte si può personalizzare il codice
                  o modificare i CSS
                 Quasi sempre a pagamento (canone mensile), a volte servizi di
                  base gratuiti
                 Esempi:
                  Per blog: www.blogger.com (di Google, gratuito), …
                  Per siti: www.weebly.com, www.webs.com, …
                  Per social networks: www.ning.com, www.socialgo.com, …
CMS open source
 20
R.Polillo -
  Marzo
  2013




                 Si deve scaricare il software e installarlo su un server
                  (proprio o di un provider)
                 Si rivolgono a utenti più esperti, e sono più flessibili
                 Esempi:
                     WordPress (www.wordpress.org)
                      Molto semplice da usare, molto ricco di plugin pronti all’uso.
                      Esiste anche una versione online semplificata: www.wordpress.com
                      (funzionalmente limitata, molto diffusa: http://en.wordpress.com/stats/ )
                     Joomla (www.joomla.org)
                      Più complesso
                     Drupal (www.drupal.org)
                      Più complesso
WordPress
 21
R.Polillo -
  Marzo
  2013




                 Il CMS open source più diffuso
                 Nato per realizzare blog nel 2003 sulla base di un
                  precedente sistema del 2001, ora permette di
                  realizzare anche siti molto sofisticati
                 Grande community che ne sviluppa l'ecosistema
                 Facile da usare, può essere personalizzato anche in
                  modo molto sofisticato (HTML, PhP, MySQL)
                 http://en.wikipedia.org/wiki/WordPress
22




     Blog iniziale:
     tema di default
                       R.Polillo - Marzo 2013
Temi: strutture tipiche
 23
R.Polillo -
  Marzo
  2013




                                Header
                                                              1, 2 o 3
                                                              colonne
                           [Menu orizzontale]




               Colonna 1       Colonna 2        [Colonna 3]




                                 Footer
24




     Altro tema predefinito (2
     colonne)
                                 R.Polillo - Marzo 2013
25
     Altro tema
     predefinito: 2
     colonne




                      R.Polillo - Marzo 2013
26




     Altro tema predefinito (3 colonne)



                                          R.Polillo - Marzo 2013
27




     Altro tema predefinito (3
     colonne)
                         R.Polillo - Marzo 2013
Esempi realizzati con WordPress
28


     Versione .com:
     www.corsow.wordpress.com
     Versione scaricabile:
     http://www.rpolillo.it
     www.umanofoundation.org
     http://www.stylenest.co.uk
     http://mosaic-consulting.com
     http://b5media.com




                                     R.Polillo - Marzo 2013
Wordpress: elementi base
29

        Articoli (post)
         Titolo, autore, data, categorie, tag, [commenti]
        Pagine (pagine statiche)
        Plugin
         Permettono di aggiungere funzionalità (es. widget) in
         modo immediato, senza programmazione
        Temi
         Codice che descrive l’apparenza grafica (e altro) del
         sito; possono essere cambiati con un clic




                                                         R.Polillo - Marzo 2013
Articoli
 30
R.Polillo -
  Marzo
  2013




                 Sono i post del blog
                 Possono contenere testi e inserti multimediali (foto, video,
                  audio, pdf)
                 Presentati in ordine cronologico (di solito), di solito (ma non
                  sempre) in home
                 Hanno categorie e tag
                 Commenti abilitabili
                 Scrivibili da più autori
                 Pubblici, protetti da psw, privati
                 Pubblicazione programmabile (quando)
                 Generano feed RSS
Pagine
 31
R.Polillo -
  Marzo
  2013




                 Contenuti statici
                 Più livelli gerarchici
                 Possono contenere testi e inserti multimediali (foto, video,
                  audio, pdf)
                 Commenti abilitabili
32   R.Polillo - Marzo 2013
Temi
 33
R.Polillo -
  Marzo
  2013




                 Tema: codice predefinito che descrive l’apparenza grafica (e
                  altro) del sito
                 Numerosissimi temi predefiniti, di ogni tipo, gratuiti o a
                  pagamento
                 L’adozione di un tema non richiede scrittura di codice
                 Si può cambiare tema con un clic
Plugin
 34
R.Polillo -
  Marzo
  2013




                 Sono il punto di forza di WordPress
                 Permettono di estenderne le funzionalità in modo
                  molto facile e ampio
                 Ce ne sono migliaia, bisogna cercarli e provarli
Plugin: esempi
 35
R.Polillo -
  Marzo
  2013




                  Authors Widget
                   Widget per selezionare i post per autore
                  Author exposed
                   Pop-up sul post con scheda autore
                  Enhanced Categories
                   Widget per selezionare i post per categorie gerarchiche
                  Flexo Archives
                   Widget per selezionare i post per data
                  SuperTag Widget
                   Widget per gestione di Tag Cloud
                  WP-Contact Form
                   Form per contatti via email
Plugin: esempi
 36
R.Polillo -
  Marzo
  2013




                  Ultimate Google Analytics
                   Attiva Google Analytics sul sito
                  All In One SEO Pack
                   Definizione dei meta-tag per i motori di ricerca
                  Google Translator
                   Widget per tradurre le pagine in 32 lingue
                  Wp Geo
                   Localizza il post su una mappa Google Map
                  PollDaddy Polls&Ratings
                   Gestione questionari on-line e user-rating
                  AddToAny: Share/Bookmarks/Email Button
                   Share buttons per moltissimi siti
                  Dynamic Headers by Nicasio Design
                   Immagine di testata variabile
                  Slickr Flickr
                   Photo gallery da flickr
Back-office: ruoli
 37
R.Polillo -
  Marzo
  2013




               Amministratore (administrator)
                Può fare tutto (possono esserci più amministratori)
               Editore (editor)

                Ha ampi poteri, ma solo sui contenuti: articoli, pagine, categorie,
                commenti (non può intervenire su temi, plugin, widget)
               Autore (author)

                Può scrivere, cancellare e modificare articoli e caricare file, e
                approvare e modificare i commenti agli articoli.
                Non può intervenire sugli articoli di altri autori.
               Collaboratore (contributor)

                Può creare articoli, ma non può pubblicarli (devono essere
                approvati da un editore o amministratore)
              NB: Il backoffice è disponibile in moltissime lingue
Dove installare il vostro blog
 38
R.Polillo -
  Marzo
  2013




              Potete usare per esempio www.altervista.org
               Servizio di hosting gratuito, italiano

               www.yourname.altervista.org
Altervista: due tipi di servizi
 39
R.Polillo -
  Marzo
  2013




          Massima flessibilità
                                                        Massima semplicità
                                                        (vedi http://it.altervista.org/come-fare-
                                                        blog.php )

              Differenze, vantaggi e svantaggi in
              http://blog.altervista.org/it/differenze-tra-alterblog-e-altersito-con-
              wordpress/
Lavoro individuale
40


        Installate il vostro blog Wordpress su un hoster
         gratuito (es.: www.altervista.org) e iniziate a
         svilupparlo




                                                    R.Polillo - Marzo 2013

More Related Content

PPTX
PPT
Presentazione Corso - Parte 3
PDF
IBM WCM e SEO
PDF
WebSphere Portal e WCM #dd12
PPTX
Come analizzare il log del web server
PDF
Php: riconoscere il dispositivo del client
PDF
6.01 php ajax_json_mysql
PDF
Html 5: una breve guida!
Presentazione Corso - Parte 3
IBM WCM e SEO
WebSphere Portal e WCM #dd12
Come analizzare il log del web server
Php: riconoscere il dispositivo del client
6.01 php ajax_json_mysql
Html 5: una breve guida!

What's hot (11)

PDF
couchbase mobile
PPT
Dal Click Al Web Server
PPTX
PDF
Hands on MVC - Mastering the Web
ODP
Net core base
ODP
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
ODP
Sviluppare estensioni per google chrome
PDF
PPT
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
PDF
Html e Css - 1 | WebMaster & WebDesigner
ODP
couchbase mobile
Dal Click Al Web Server
Hands on MVC - Mastering the Web
Net core base
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Sviluppare estensioni per google chrome
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Html e Css - 1 | WebMaster & WebDesigner
Ad

Viewers also liked (20)

PPT
20. Wiki e wikipedia
PPT
7. Dal web 1.0 al web 2.0
PDF
Gt briefing march 2015 upstarts- driving the entrepreneurial economy
ODP
IMPRESS HISTORIA DE INTERNET
PPTX
Conscious Success: The Inner Game of Personal Achievement
PPTX
Modelos administrativos
PDF
조직개발과 성인학습
PPTX
Wellness final 4.1.2013
PPT
5. Feed, tweet e aggregatori
PPT
6. Introduzione al web
PPT
6. Progettare per l'utente (ii)
DOC
Cancer treatment
PPT
6. Ricercare nel Web
PPTX
10. Conoscere l'utente (ii)
PDF
Up to date in erfelijke kanker (2013)
PPTX
13. Conoscere l'utente: il sistema motorio
PDF
Best Bourbons
PPT
1.Introduzione al corso
PDF
Article réduire l'absentéisme
20. Wiki e wikipedia
7. Dal web 1.0 al web 2.0
Gt briefing march 2015 upstarts- driving the entrepreneurial economy
IMPRESS HISTORIA DE INTERNET
Conscious Success: The Inner Game of Personal Achievement
Modelos administrativos
조직개발과 성인학습
Wellness final 4.1.2013
5. Feed, tweet e aggregatori
6. Introduzione al web
6. Progettare per l'utente (ii)
Cancer treatment
6. Ricercare nel Web
10. Conoscere l'utente (ii)
Up to date in erfelijke kanker (2013)
13. Conoscere l'utente: il sistema motorio
Best Bourbons
1.Introduzione al corso
Article réduire l'absentéisme
Ad

Similar to 5. Applicazioni Web e CMS (20)

PPT
Introduzione a Internet
PPTX
Asp net (versione 1 e 2)
PPT
8. Architetture web
PDF
8 Www2009 Parte2
PPTX
Novità di Asp.Net 4.0
PPT
Wpo extended
PDF
Architetture web - Linguaggi e standard - Web server, application server, dat...
PDF
Web services
PPTX
Applicazioni RESTful con ASP.NET Web Api
PDF
Sviluppo di servizi REST per Android - Luca Masini
PDF
SVILUPPO DI SERVIZI REST PER ANDROID
PPT
Web dynpro for abap 01
PPT
Come funziona la navigazione Web
PPTX
Web Project - LESSON 1
PPTX
Chrome DevTools: le basi tecniche per comprendere meglio la SEO
PPTX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
PDF
Spa with Blazor
PPTX
World wide web
PDF
Javascript - 1 | WebMaster & WebDesigner
PDF
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Introduzione a Internet
Asp net (versione 1 e 2)
8. Architetture web
8 Www2009 Parte2
Novità di Asp.Net 4.0
Wpo extended
Architetture web - Linguaggi e standard - Web server, application server, dat...
Web services
Applicazioni RESTful con ASP.NET Web Api
Sviluppo di servizi REST per Android - Luca Masini
SVILUPPO DI SERVIZI REST PER ANDROID
Web dynpro for abap 01
Come funziona la navigazione Web
Web Project - LESSON 1
Chrome DevTools: le basi tecniche per comprendere meglio la SEO
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Spa with Blazor
World wide web
Javascript - 1 | WebMaster & WebDesigner
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013

More from Roberto Polillo (20)

PDF
Future City, Ipotesi sulla città del futuro
PPT
Teaching HCI to computing students: some considerations
PPTX
Conclusioni del corso
PPT
22. Conclusioni del corso
PPTX
ICT e sviluppo sociale: alcune riflessioni
PPTX
Editoria e industria dei media di fronte alla rivoluzione digitale
PPTX
21. Progettare per l'errore
PPT
20. Principi e linee guida (II)
PPT
20. Principi e linee guida (I)
PPT
18. Paradigmi di interazione uomo macchina (III)
PPTX
Wikipedia
PPTX
Open internet
PPT
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
PPT
16. Evoluzione dei paradigmi di interazione uomo macchina (I)
PPTX
20. Social networks
PPTX
19. Le organnizzazioni sul web e segg
PPTX
18. Content sharing sites
PPTX
17. Web feed e aggregatori
PPTX
15. Ancora sulla grafica
PPTX
16. Social media
Future City, Ipotesi sulla città del futuro
Teaching HCI to computing students: some considerations
Conclusioni del corso
22. Conclusioni del corso
ICT e sviluppo sociale: alcune riflessioni
Editoria e industria dei media di fronte alla rivoluzione digitale
21. Progettare per l'errore
20. Principi e linee guida (II)
20. Principi e linee guida (I)
18. Paradigmi di interazione uomo macchina (III)
Wikipedia
Open internet
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
16. Evoluzione dei paradigmi di interazione uomo macchina (I)
20. Social networks
19. Le organnizzazioni sul web e segg
18. Content sharing sites
17. Web feed e aggregatori
15. Ancora sulla grafica
16. Social media

Recently uploaded (8)

PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...

5. Applicazioni Web e CMS

  • 1. Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 5. Applicazioni Web e CMS Roberto Polillo Edizione 2012-13
  • 2. Applicazioni Web 3  Oltre che "navigare", l'utente deve poter "interagire" con un sito, fornendo dei dati che il sito elaborerà fornendo le risposte opportune  Non solo "Web sites" ma "Web applications" R.Polillo - Marzo 2013
  • 3. Applicazioni Web: script client-side 4 AJAX Engine HTML con script client-side Browser internet HTTP Web server HTML con programmi client- side Esempi: •Javascript (script interpretati) con librerie Esecutore dei DOM programmi client- •Applet Java (codice precompilato side interpretato da JVM (Java Virtual Machine) •Ajax (rende asincrona l'interazione col
  • 4. Programmazione lato client 5  JavaScript (creato da Netscape, 1995) Semplice linguaggio di scripting, inserito nel codice HTML e (standardizzato da ECMA col nome di ECMAScript) Interpretato da una Javascript Engine  DOM (Document Object Model) Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli elementi dell'interfaccia del browser  Applet Java (Java: linguaggio a oggetti creato da Sun, 1995) Programmi già compilati in codice intermedio ("bytecode"), che viene eseguito da una Java Virtual Machine. Devono essere inviati dal server, e quindi per motivi di sicurezza non hanno accesso al file system del client.  AJAX (Asynchronous JavaScript and XML) Un gruppo di tecnologie e metodi che rendono asincrone la gestione della interazione con l'utente e il dialogo con il web server R.Polillo - Marzo 2013
  • 5. Esempi 6 <html> <head> …. </head> <body> …. <script type="text/javascript"> <applet Document.write('Hello World') code="Hello class" width="200" hight="200"> </script> </applet> ….. </body> </html> R.Polillo - Marzo 2013
  • 6. Applet Java: esempio 7 R.Polillo - Marzo 2013
  • 7. AJAX (Asynchronous JavaScript and XML) 8 Da leggere: http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications R.Polillo - Marzo 2013
  • 8. Applicazioni Web: script server-side (pagine dinamiche) 9 Codice server-side HTML con programmi server- e client-side Browser internet HTTP Web server HTML con script Esecutore di client-side programmi server- side Esempi: Codice generato •script PHP (Personal Home Page Tools) server-side •script JSP (Java Server Pages) •Servlet Java •…
  • 9. La trasmissione dei dati di input 10 HTTP e HTML forniscono degli strumenti per richiedere dati all'utente e trasmetterli al Web server Elaborazione dati e Scrive produzione / invio di HTML "Mario" e una nuova pagina preme OK GET URL', 3 Nome=mario Nome: 5 OK 1 GET (URL) 4 6 HTTP 2 Web PUT server HTML
  • 10. Form: esempio 11 <form method="get" action=http://www.google.com/search> <input type="text" name="querystring"> <input type="submit" name="button1" value="Google Search"> </form> bla bla Al server querystring=bla+bla&button1=Google+S earch R.Polillo - Marzo 2013
  • 11. Architetture a più livelli ("multi-tier") 12 Data base Browser internet HTTP db Application Web server server server HTML con script client-side Pagine generate dinamicamente
  • 12. Come installare un sito Web? 13 Pagine Una soluzione elementare web Es.: FTP Dreamweave r Browser Edito r internet HTTP HTTP Web server HTML
  • 13. Content Management Systems (CMS) 14 Un'applicazione che permette di costruire e Data base installare le pagine, e di servirle aai lettori Browser internet HTTP db CMS Web server server Lettor e Pagine generate dinamicamente
  • 14. Content Management Systems (CMS) 15 Data base Browser internet HTTP db CMS Web server server Lettor e Browser Pagine generate dinamicamente Editor
  • 15. Content Management Systems (CMS) 16 Browser Data base Amministrato Browser re internet HTTP db CMS Web server server Lettor e Browser Pagine generate dinamicamente Autore
  • 16. Content Management Systems (CMS) 17 Templates Browser Data base Materiale autore Materiale amministratore Amministrato Browser re internet HTTP db CMS Web server server Lettor e Browser Pagine generate dinamicamente Autore
  • 17. CMS 18 Due grandi classi di soluzioni:  Proprietarie spesso preistallati, offrono servizi online per la costruzione interattiva di siti, senza necessità di programmazione: "online site builder" Open source il codice è disponibile e modificabile spesso con licenze gratuite R.Polillo - Marzo 2013
  • 18. Online site builders 19 R.Polillo - Marzo 2013  Applicazioni proprietarie che permettono di costruire e pubblicare siti web interamente on-line, senza necessità di programmazione  Il sito può essere personalizzato in vari modi: scelta del tema grafico, uso di widget, … A volte si può personalizzare il codice o modificare i CSS  Quasi sempre a pagamento (canone mensile), a volte servizi di base gratuiti  Esempi: Per blog: www.blogger.com (di Google, gratuito), … Per siti: www.weebly.com, www.webs.com, … Per social networks: www.ning.com, www.socialgo.com, …
  • 19. CMS open source 20 R.Polillo - Marzo 2013  Si deve scaricare il software e installarlo su un server (proprio o di un provider)  Si rivolgono a utenti più esperti, e sono più flessibili  Esempi:  WordPress (www.wordpress.org) Molto semplice da usare, molto ricco di plugin pronti all’uso. Esiste anche una versione online semplificata: www.wordpress.com (funzionalmente limitata, molto diffusa: http://en.wordpress.com/stats/ )  Joomla (www.joomla.org) Più complesso  Drupal (www.drupal.org) Più complesso
  • 20. WordPress 21 R.Polillo - Marzo 2013  Il CMS open source più diffuso  Nato per realizzare blog nel 2003 sulla base di un precedente sistema del 2001, ora permette di realizzare anche siti molto sofisticati  Grande community che ne sviluppa l'ecosistema  Facile da usare, può essere personalizzato anche in modo molto sofisticato (HTML, PhP, MySQL)  http://en.wikipedia.org/wiki/WordPress
  • 21. 22 Blog iniziale: tema di default R.Polillo - Marzo 2013
  • 22. Temi: strutture tipiche 23 R.Polillo - Marzo 2013 Header 1, 2 o 3 colonne [Menu orizzontale] Colonna 1 Colonna 2 [Colonna 3] Footer
  • 23. 24 Altro tema predefinito (2 colonne) R.Polillo - Marzo 2013
  • 24. 25 Altro tema predefinito: 2 colonne R.Polillo - Marzo 2013
  • 25. 26 Altro tema predefinito (3 colonne) R.Polillo - Marzo 2013
  • 26. 27 Altro tema predefinito (3 colonne) R.Polillo - Marzo 2013
  • 27. Esempi realizzati con WordPress 28 Versione .com: www.corsow.wordpress.com Versione scaricabile: http://www.rpolillo.it www.umanofoundation.org http://www.stylenest.co.uk http://mosaic-consulting.com http://b5media.com R.Polillo - Marzo 2013
  • 28. Wordpress: elementi base 29  Articoli (post) Titolo, autore, data, categorie, tag, [commenti]  Pagine (pagine statiche)  Plugin Permettono di aggiungere funzionalità (es. widget) in modo immediato, senza programmazione  Temi Codice che descrive l’apparenza grafica (e altro) del sito; possono essere cambiati con un clic R.Polillo - Marzo 2013
  • 29. Articoli 30 R.Polillo - Marzo 2013  Sono i post del blog  Possono contenere testi e inserti multimediali (foto, video, audio, pdf)  Presentati in ordine cronologico (di solito), di solito (ma non sempre) in home  Hanno categorie e tag  Commenti abilitabili  Scrivibili da più autori  Pubblici, protetti da psw, privati  Pubblicazione programmabile (quando)  Generano feed RSS
  • 30. Pagine 31 R.Polillo - Marzo 2013  Contenuti statici  Più livelli gerarchici  Possono contenere testi e inserti multimediali (foto, video, audio, pdf)  Commenti abilitabili
  • 31. 32 R.Polillo - Marzo 2013
  • 32. Temi 33 R.Polillo - Marzo 2013  Tema: codice predefinito che descrive l’apparenza grafica (e altro) del sito  Numerosissimi temi predefiniti, di ogni tipo, gratuiti o a pagamento  L’adozione di un tema non richiede scrittura di codice  Si può cambiare tema con un clic
  • 33. Plugin 34 R.Polillo - Marzo 2013  Sono il punto di forza di WordPress  Permettono di estenderne le funzionalità in modo molto facile e ampio  Ce ne sono migliaia, bisogna cercarli e provarli
  • 34. Plugin: esempi 35 R.Polillo - Marzo 2013  Authors Widget Widget per selezionare i post per autore  Author exposed Pop-up sul post con scheda autore  Enhanced Categories Widget per selezionare i post per categorie gerarchiche  Flexo Archives Widget per selezionare i post per data  SuperTag Widget Widget per gestione di Tag Cloud  WP-Contact Form Form per contatti via email
  • 35. Plugin: esempi 36 R.Polillo - Marzo 2013  Ultimate Google Analytics Attiva Google Analytics sul sito  All In One SEO Pack Definizione dei meta-tag per i motori di ricerca  Google Translator Widget per tradurre le pagine in 32 lingue  Wp Geo Localizza il post su una mappa Google Map  PollDaddy Polls&Ratings Gestione questionari on-line e user-rating  AddToAny: Share/Bookmarks/Email Button Share buttons per moltissimi siti  Dynamic Headers by Nicasio Design Immagine di testata variabile  Slickr Flickr Photo gallery da flickr
  • 36. Back-office: ruoli 37 R.Polillo - Marzo 2013  Amministratore (administrator) Può fare tutto (possono esserci più amministratori)  Editore (editor) Ha ampi poteri, ma solo sui contenuti: articoli, pagine, categorie, commenti (non può intervenire su temi, plugin, widget)  Autore (author) Può scrivere, cancellare e modificare articoli e caricare file, e approvare e modificare i commenti agli articoli. Non può intervenire sugli articoli di altri autori.  Collaboratore (contributor) Può creare articoli, ma non può pubblicarli (devono essere approvati da un editore o amministratore) NB: Il backoffice è disponibile in moltissime lingue
  • 37. Dove installare il vostro blog 38 R.Polillo - Marzo 2013 Potete usare per esempio www.altervista.org  Servizio di hosting gratuito, italiano  www.yourname.altervista.org
  • 38. Altervista: due tipi di servizi 39 R.Polillo - Marzo 2013 Massima flessibilità Massima semplicità (vedi http://it.altervista.org/come-fare- blog.php ) Differenze, vantaggi e svantaggi in http://blog.altervista.org/it/differenze-tra-alterblog-e-altersito-con- wordpress/
  • 39. Lavoro individuale 40  Installate il vostro blog Wordpress su un hoster gratuito (es.: www.altervista.org) e iniziate a svilupparlo R.Polillo - Marzo 2013