SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE




       PROGETTAZIONE E SVILUPPO DI
      UN’APPLICAZIONE WEB BASATA SU
      TECNOLOGIA SHARE POINT 2010

                    Facoltà di Ingegneria

  Corso di Laurea Triennale in Ingegneria dell’Informazione
                   Curriculum Informatica




Laureando:                       Relatore:
ALEX RONCI                       CHIAR.MO PROF. MAURIZIO FERMEGLIA



             ANNO ACCADEMICO 2010 / 2011
A Michela e Massimo




1
SOMMARIO

1. INTRODUZIONE ............................................................................................................................ 6

2. PRESENTAZIONE DELLE RICHIESTE .................................................................................................... 7

3. ANALISI DELLE RICHIESTE ............................................................................................................... 8

4. STRUMENTI NECESSARI ALLO SVILUPPO DEL PROGETTO ....................................................................... 9

   4.1.     HARDWARE ......................................................................................................................... 9

      4.1.1.        PC NOTEBOOK SONY VAIO VPCB1S1E ............................................................................. 9
      4.1.2.        SERVER UNIVERITARI ...................................................................................................... 9
   4.2.     SOFTWARE ........................................................................................................................ 10

      4.2.1.        VMWARE PLAYER ....................................................................................................... 10
      4.2.2.        MICROSOFT SHARE POINT FOUNDATION 2010 ................................................................. 10
      4.2.3.        MICROSOFT SHARE POINT DESIGNER 2010 ..................................................................... 10
      4.2.4.        MICROSOFT SQL SERVER 2008 ..................................................................................... 11
      4.2.5.        MICROSOFT ACCESS 2010 ............................................................................................ 11
5. PRIMA DI COMINCIARE ................................................................................................................ 12

   5.1.     CONFIGURAZIONE DELL’AMBIENTE DI TEST SU MACCHINA VIRTUALE ............................................. 12

   5.2.     CONFIGURAZIONE DELLA MACCHINA FISICA .............................................................................. 15

6. STRUTTURA DELL’APPLICAZIONE ................................................................................................... 16

   6.1.     SVILUPPO DELLA HOME PAGE ................................................................................................ 16

   6.2.     CREAZIONE DEI SUBSITES ...................................................................................................... 18

   6.3.     CREAZIONE DELLA PAGINA WEB GENERICA ............................................................................... 19

7. ACCESSO DATI DEL DATABASE IN MICROSOFT SQL SERVER 2008 ....................................................... 20

   7.1.     CREAZIONE DEL MODELLO IN SHARE POINT DESIGNER 2010 ...................................................... 20

   7.2.     CREAZIONE DELLA LISTA ESTERNA .......................................................................................... 21

   7.3.     CONFIGURAZIONE DEI PERMESSI AUTENTICATI .......................................................................... 22

   7.4.     CONFIGURAZIONE DELL’APPLICAZIONE PER L’UTENTE ANONIMO .................................................. 23

                2
7.5.      CONFIGURAZIONE DELL’IIS ................................................................................................... 23

   7.6.      CONFIGURAZIONE DELL’UTENTE ANONIMO IN MICROSOFT SQL SERVER 2008 .............................. 25

   7.7.      BCD IDENTITY SETTING PER L’UTENTE ANONIMO ...................................................................... 26

   7.8.      RISULTATO DEL PROCESSO .................................................................................................... 28

8. GESTIONE DELL’APPLICAZIONE IN MODALITÀ MULTILINGUA ................................................................ 29

9. GESTIONE DEGLI ACCESSI E PERMESSI DEGLI UTENTI .......................................................................... 31

10. TIPS & TRICKS DI SVILUPPO DELL’APPLICAZIONE ............................................................................... 33

   10.1. INTEGRAZIONE DELL’ACCESSO AL DB SU PIATTAFORMA ACCESS .................................................... 33

      10.1.1. ACCESS PER LE LISTE ..................................................................................................... 33
      10.1.2. ACCESS COME FRONT-END SQL SERVER ........................................................................... 34
   10.2. GESTIONE DI ACCESSO DA DISPOSITIVI MOBILI........................................................................... 36

   10.3. CONFIGURAZIONE DEL TEMA PER L’UTENTE ANONIMO ............................................................... 37

      10.3.1. COME NASCONDERE LA RIBBON BAR ............................................................................... 37
      10.3.2. CONFIGURAZIONE DEL TEMA PERSONALIZZATO .................................................................. 38
11. CONCLUSIONI ............................................................................................................................ 41

12. BIBLIOGRAFIA............................................................................................................................ 43



APPENDICE A – MACROLIVELLI E DETTAGLI PROPOSTI DAL COMMISSIONARIO DEL PROGETTO .......................... 44

APPENDICE B – SITUAZIONE SERVER DI3 ............................................................................................... 46




                3
INDICE DELLE FIGURE



FIGURA 1 - SONY VAIO VPCEB1S1E ..................................................................................................... 9
FIGURA 2 - SCHERMATA DI MICROSOFT SHARE POINT DESIGNER 2010 ...................................................... 10
FIGURA 3 - RUOLI ATTIVI SU MACCHINA VIRTUALE .................................................................................. 13
FIGURA 4 - CREAZIONE DELL'APPLICAZIONE WEB..................................................................................... 14
FIGURA 5 - HOME PAGE DELL'APPLICAZIONE .......................................................................................... 16
FIGURA 6 - CONFIGURAZIONE DELLA WEBPART CALENDARIO..................................................................... 18
FIGURA 7 - SELEZIONE DI EXTERNAL CONTENT TYPE ................................................................................ 20
FIGURA 8 - OPERAZIONI ATTIVE SUL CONTENUTO ESTERNO ....................................................................... 21
FIGURA 9 - CREAZIONE NUOVA LISTA ESTERNA ....................................................................................... 22
FIGURA 10 - CONFIGURAZIONE PERMESSI PER CONTENUTO ESTERNO ......................................................... 22
FIGURA 11 - ACCESSO AGLI UTENTI TRAMITE SERVER MANAGER ............................................................... 24
FIGURA 12 - SCHERMATA PER LA CONFIGURAZIONE DELL'UTENTE ANONIMO IN IIS........................................ 24
FIGURA 13 - SCHERMATA INIZIALE IN SQL SERVER 2008 ......................................................................... 25
FIGURA 14 - CONFIGURAZIONE DELL'UTENTE IN SQL SERVER ................................................................... 26
FIGURA 15 - FRAMMENTO DI CODICE DEL LOBSYSTEMINSTANCE ............................................................... 27
FIGURA 16 - SERVIZIO DI APPLICAZIONE INTEGRATIVA DEI DATI IN SERVIZI APPLICAZIONI ................................ 27
FIGURA 17 - CONFIGURAZIONE IMPORT MODELLO BDC .......................................................................... 28
FIGURA 18 - IMPOSTAZIONI LINGUA ..................................................................................................... 29
FIGURA 19 - QUICK ACCESS BAR CON MODIFICA TRAMITE MUI ................................................................ 30
FIGURA 20 - INFORMAZIONI ELENCO .................................................................................................... 31
FIGURA 21 - ACCESSO ANONIMO PER LISTE ........................................................................................... 32
FIGURA 22 - RIBBON BAR DI ACCESS 2010 SU DATI ESTERNI .................................................................... 33
FIGURA 23 - SELEZIONE DEGLI ELENCHI PER IL FRONT-END ....................................................................... 34
FIGURA 25 - SETTAGGI PER CONNESSIONE SERVER SQL SERVER ................................................................ 35
FIGURA 24 - DEFINIZIONE DI ADP IN ACCESS 2010 ................................................................................ 35
FIGURA 26 - CONFRONTO DISABILITAZIONE ACCESSO PER DISPOSITIVI MOBILI .............................................. 37
FIGURA 27 - PAGINE MASTER.............................................................................................................. 37
FIGURA 28 - CORE*.CSS FILE .............................................................................................................. 38
                4
FIGURA 29 - TEMA PERSONALIZZATO CON ELIMINAZIONE RIBBON BAR ....................................................... 40




             5
1. INTRODUZIONE
La tesi proposta all’interno di questo documento andrà a trattare lo sviluppo e l’analisi di un
portale informatico scolastico, nella fattispecie quello del LICEO SCIENTIFICO STATALE “GALILEO
GALILEI” di Trieste.

Tale struttura verrà sviluppata nell’ambiente proprietario MICROSOFT SHARE POINT, in modo tale
che possa permettere un’agevole condivisione di dati ed informazioni tra studenti, docenti,
genitori e personale amministrativo sfruttando le caratteristiche della suite MICROSOFT OFFICE.

L’obiettivo è quello di valorizzare i punti salienti di una scaletta illustrativa consegnata
direttamente dalla scuola stessa, e concernente criticità a livello di gestione di documenti
condivisi, accessi protetti e dati sensibili, quali anagrafiche e risultati studenteschi.

Vista l’impossibilità da parte della scuola di disporre di server propri per la messa online di tale
piattaforma, l’ipotesi iniziale è quella di porla su quelli dell’Università: dunque ulteriore step
per lo sviluppo sarà legato ad un primo sviluppo in locale del progetto, all’interno di una
macchina virtuale predisposta a tale uso, e il susseguente trasferimento dei semilavorati
ottenuti sul server universitario, con seguenti criticità legate allo stesso trasferimento.

I capitoli della tesi sono così distribuiti:

     2) e 3) presentano le specifiche richieste dal committente, e la relativa analisi del
        progetto;
     4) descrive le strumentazioni hardware e software necessarie;
     5) propone un setup per poter procedere nel progetto;
     6) imposta le strutture di base dell’applicazione web;
     7) analizza e risolve uno dei problemi più complessi a livello di utenza anonima:
        l’accesso ad un database in SQL SERVER;
     8) e 9) vanno ad affrontare la problematica dell’utenza e della gestione della lingua;
     10) approfondisce tematiche relative a tweaks di sviluppo per migliorare il prodotto;
     11) propone una personale riflessione sul prodotto e spunti futuri del lavoro creato.




            6
2. PRESENTAZIONE DELLE RICHIESTE
La scuola, commissionaria del progetto di tesi, vuole ottenere un prodotto finale che permetta
di:

       Avere dalle cinque alle sette aree tematiche
       Avere approfondimenti di secondo livello
       Usufruire di quattro differenti tipologie di accesso privilegiato mediante login (Docenti,
         Studenti, Genitori, Segreteria) ed uno anonimo senza login
       Poter tracciare le circolari
       Avere una newsletter
       Avere un forum moderato
       Avere un blog con animatori
       Gestire una piattaforma di e-learning
       Avere una grafica accattivante ed innovativa
       Avere una versione inglese della piattaforma
       Essere ad alto indice di usabilità

Oltretutto, la stessa ha già consegnato una struttura di massima del portale, definendo
macrolivelli e dettagli di primo e secondo livello, come indicato in APPENDICE A.




             7
3. ANALISI DELLE RICHIESTE
Le richieste della scuola risultano portare criticità, in particolar modo nella gestione delle
risorse archiviate dalla scuola, sia per quelle legate ad un elevato standard di sicurezza per gli
utenti autenticati, ma anche nella gestione della stessa piattaforma in formato multilingua.

Il progetto, di per sé, non richiede grossi approfondimenti nella gestione delle più basilari
strutture online, poiché la gestione dei contenuti standard HTML, quali pagine formattate e
tabelle, risulta molto agevole, sia lavorando online che tramite lo strumento di sviluppo fornito
dalla stessa MICROSOFT (di cui tratteremo a breve).

Più interessante, invece, risulta la gestione dei dati, caricati da un database esterno (che possa
essere su motore SQL SERVER, oppure ACCESS, giusto per restare in ambiente MICROSOFT): se la
gestione a livello di utente autenticato è relativamente semplice, più articolata è la sua
gestione se l’utente è anonimo.

Restando a livello utente, la gestione degli accessi è importante per poter permettere di
soddisfare quei parametri di accesso privilegiato, indicati dalla scuola, che distinguano i
differenti target di utilizzo dell’applicazione che si sta creando. Questo elemento può andarsi a
scontrare con i mezzi a disposizione per lo sviluppo del progetto (e di questo tratteremo nel
relativo capitolo).

La gestione di risorse multilingua deve essere gestita nell’ambiente, e l’intento è quello di
sfruttare (per quanto possibile) le opportunità concesse da SHARE POINT, per tale frangente:
avere una struttura per il più possibile preconfigurata, in modo tale da poter creare un’unica
applicazione, e non duplicare (inutilmente) i contenuti.

Discorso a parte è la piattaforma di e - learning: confrontandosi con lo stesso relatore, questa
risulta a priori ingestibile, per problemi di requisiti hardware troppo elevati rispetto ai limitati
mezzi a disposizione.




            8
4. STRUMENTI NECESSARI ALLO SVILUPPO DEL PROGETTO
Il progetto, come già dichiarato, richiede l’utilizzo del seguente elenco di hardware e software.
Di seguito ne descriveremo le caratteristiche.

   4.1.          HARDWARE

          4.1.1. PC NOTEBOOK SONY VAIO VPCB1S1E
È il portatile a disposizione del laureando, montante un processore INTEL CORE I5         DUALCORE     e
scheda grafica ATI MOBILITY RADEON HD 5650 con 1 GB di memoria grafica dedicata, HARD DISK da
500 GB e 4 GB di RAM DDR III. Le caratteristiche tecniche del calcolatore sono adatte a
sostenere la virtualizzazione di una macchina virtuale, quale ambiente di test, da poter
utilizzare quale server e visibile alla macchina fisica (che si interfaccerà con esso quale client).




                                      Figura 1 - Sony Vaio VPCEB1S1E

          4.1.2. SERVER UNIVERITARI
I server universitari sono costituiti da 7 macchine fisiche su cui sono virtualizzati 10 ulteriori
server.

Quello di nostro interesse è chiamato SRV4: un server virtuale, appartenente al dominio DI3,
monta WINDOWS SERVER 2008 R2 X64 SP2, con 4 GB di RAM e 126GB di HD, e vi è installato SHARE
POINT FOUNDATION 2010. Su questo verrà attivata l’applicazione in oggetto.

             9
(Per avere dati relativi all’attuale situazione dei servers del DI3, si legga la tabella in APPENDICE
B)

     4.2.        SOFTWARE

        4.2.1. VMWARE PLAYER
È il software che ci permetterà di virtualizzare il nostro ambiente di test per il progetto. Al suo
interno è stato montato WINDOWS SERVER 2008 R2 X64, configurato per garantirci le prestazioni
di dominio (la configurazione sarà descritta nel paragrafo 5.1).

        4.2.2. MICROSOFT SHARE POINT FOUNDATION 2010
È il software che permette la gestione di una piattaforma SHARE POINT. Interfacciandosi al
dominio, va a generare il sito di AMMINISTRAZIONE CENTRALE dell’ambiente SHARE POINT, e i siti e
sottositi su cui verrà sviluppato il nostro progetto.

        4.2.3. MICROSOFT SHARE POINT DESIGNER 2010
È il prodotto, sviluppato da MICROSOFT, che ci permetterà di lavorare, senza dover operare




                           Figura 2 - Schermata di Microsoft Share Point Designer 2010


direttamente sulla macchina server, sull’applicazione. È sostituibile, parzialmente, da un
qualsiasi browser sul mercato al momento (quello più adatto e compatibile è risultato INTERNET
EXPLORER 9): SPD però ci permette di lavorare in maniera più articolata su determinate
            10
strutture del portale, che nella gestione on-the-site non risultano facilmente gestibili nella
configurazione.

       4.2.4. MICROSOFT SQL SERVER 2008
È il DBMS (DATABASE MANAGEMENT SYSTEM) che verrà utilizzato per la possibile gestione di dati
contenuti nel database consegnato dalla scuola. Questo è oltretutto necessario per poter
installare SHARE POINT FOUNDATION 2010. Risulterà interessante analizzare come poter gestire e
concedere l’accesso a quest’ultimo tramite SQL SERVER all’utente anonimo (principale fruitore
della piattaforma).

       4.2.5. MICROSOFT ACCESS 2010
Software appartenente alla suite MICROSOFT OFFICE 2010, sarà utile per la gestione dei dati
contenuti nel database a disposizione per l’end-user, ed in egual maniera per la gestione dei
dati disponibili sul portale.




           11
5. PRIMA DI COMINCIARE
Per poter cominciare a lavorare sul progetto, vi è la necessità di avere opportuni settaggi, sia
all’interno dell’ambiente di test, con la configurazione della macchina virtuale, sia a livello
della macchina fisica.

   5.1.           CONFIGURAZIONE DELL’AMBIENTE DI TEST SU MACCHINA VIRTUALE
Avviato VMWARE PLAYER e creata la macchina virtuale con installato al suo interno WINDOWS
SERVER 2008 R2 STANDARD, il primo step necessario sarà quello di configurare WS come dominio
di server.

Autenticati ed entrati nella schermata di START, si dovrà accedere al SERVER MANAGER per poter
attivare i RUOLI necessari alla macchina:

   a) Prima di tutto, deve essere attivato il ruolo di SERVER DI DOMINIO ACTIVE DIRECTORY. Con
       tale ruolo, la macchina potrà fungere da Dominio (definito nel nostro caso   PUPONE)   per
       poter gestire utenze che si interfacciano come client a questa.
       Avviando la configurazione guidata, con il comando DCPROMO.EXE, della ACTIVE DIRECTORY,
       oltre che alla definizione del nome di dominio, sarà importante consentire la
       generazione di un SERVER DNS, per poter tradurre nel modo corretto le richieste di
       connessione, e l’introduzione di un DHCP    AUTOMATICO,   così che non vi siano problemi
       nella configurazione locale della piattaforma;
   b) Senza dover apportare modifiche a tali moduli, verranno attivati anche i ruoli di SERVER
       WEB e SERVER APPLICAZIONI. Importante sarà soprattutto il primo, per poter gestire
       l’accesso anonimo.

Seguentemente, all’interno del sistema verrà installato MICROSOFT SQL SERVER 2008, i quali
settaggi nella configurazione di installazione risulteranno essere quelli già preindicati
nell’installazione standard.

Il DBMS permetterà di installare MICROSOFT SHARE POINT FOUNDATION 2010 su WS: tramite la
CONFIGURAZIONE GUIDATA PRODOTTI   SHARE POINT potremo connettere tutte le applicazioni SHARE
POINT create al dominio generato in precedenza, ed inoltre poter creare i rispettivi database su



             12
SQL SERVER (che, sottolineo,    NON DEVONO       essere assolutamente toccati, poiché si andrebbe a
intaccare la stabilità di tutto il sistema SP).




                                   Figura 3 - Ruoli attivi su Macchina virtuale


Al primo avvio sarà da configurare la farm di SHARE POINT:

   a) Nella schermata iniziale, selezionare AVVIA LA PROCEDURA GUIDATA;
   b) Settare, nella pagina successiva, come                   ACCOUNT DI SERVIZIO   quello esistente di
       amministratore, e mettere le spunte su RACCOLTA DATI DI UTILIZZO E INTEGRITÀ e su SERVIZIO DI
       INTEGRAZIONE APPLICATIVA DEI DATI;

   c) Nella schermata successiva, si creerà la pagina dell’amministrazione centrale
       (importante anche qui è bene           NON    operare in tale home, pena grossi problemi di
       gestione e stabilità).

Avvenuta la creazione dell’AMMINISTRAZIONE CENTRALE, vi è la necessità di creare il sito di test: per
fare ciò, acceduti all’AC come ADMINISTRATOR, saranno da seguire tali passaggi:

   a) Nella colonna di Sinistra, accedere a GESTIONE APPLICAZIONI;
   b) Ora, nel riquadro centrale, premere GESTIONE APPLICAZIONI WEB;
   c) Nella nuova schermata, nella RIBBON BAR, premere NUOVA;
           13
d) Nel riquadro apparso, definire, conservando il resto, il                              NUMERO       DI   PORTA

       dell’applicazione, il NOME DEL SITO IIS, e settare SI su CONSENTIRE ACCESSO ANONIMO.

In tale modo è stata creata l’applicazione su cui creare la RACCOLTA DI SITI. La raccolta di siti serve
per poter gestire tutti i contenuti a disposizione della piattaforma in progetto. Per poter
configurare tale raccolta, si procederà in tale maniera:

   a) Dall’AMMINISTRAZIONE CENTRALE, premere cREA RACCOLTA SITI;
   b) Nella nuova pagina, indicare l’APPLICAZIONE           WEB   su cui questa poggerà (in questo caso
       quella appena creata),    TITOLO, DESCRIZIONE      (facoltativa),        INDIRIZZO DEL SITO WEB   (che sarà
       l’indirizzo dell’applicazione seguito da ciò che verrà definito),                  SELEZIONE MODELLO     (in
       questo caso è adatto il Sito del Team), e indicare l’AMMINISTRATORE                      PRINCIPALE DELLA

       RACCOLTA DEI SITI (l’ADMINISTRATOR).


Salvato, si potrà cominciare a lavorare sulla macchina virtuale.




                                   Figura 4 - Creazione dell'applicazione web


In aggiunta, è stato installato anche sulla macchina virtuale MICROSOFT SHARE POINT DESIGNER
2010, di cui però verrà approfondito nel prossimo paragrafo.



          14
5.2.        CONFIGURAZIONE DELLA MACCHINA FISICA
Questo passaggio risulta importante per potersi interfacciare, al di fuori del browser web, ai
portali creati in ambiente Share Point.

Sulla macchina fisica non verrà installato nulla al di fuori di SHARE POINT DESIGNER 2010:
l’installazione non richiederà alcun settaggio particolare, mentre sarà importante avere i dati
corretti per poter lavorare sui portali.

All’apertura del programma, difatti, verrà richiesto il sito in cui è locata l’applicazione. Il
progetto verterà su due applicazioni, con il relativo nome:

    Applicazione       di   produzione    (già   disponibile   ed   accessibile    come   utente
       amministratore): http://srv4.di3.units.it:30120
    Applicazione di Sviluppo e Test: http://win-n1hiicm56v1:25544/

Ovviamente per entrambi gli accessi sono necessari il proprio    NOME UTENTE   e   PASSWORD,   e che
questi siano legati ad un account di amministratore, cosicché si possano editare i contenuti.

Da ricordare inoltre che per accedere al server di test, dobbiamo, per ovvi motivi, avere attiva
la macchina virtuale.




          15
6. STRUTTURA DELL’APPLICAZIONE

   6.1.         SVILUPPO DELLA HOME PAGE
Pronte le due piattaforme, andiamo a definire la struttura dell’applicazione.




                                      Figura 5 - Home Page dell'applicazione


Nella home page l’interesse è quello di proporre tutti gli elementi salienti della scuola, sia a
livello di prestigio, che a livello di comunicazione con il pubblico. Dunque si è optato per
introdurre questi elementi:

    Nella QUICK BAR gli elementi di più facile accesso, quali STORIA DELLA SCUOLA, CORSI, ISCRIZIONI
       e   CIRCOLARI   (l’accesso a quest’ultimo è stato limitato ai soli utenti registrati). Inoltre,
       sempre riservato e nascosto alla vista dei utenti senza autorizzazione, vi è presente il
       FORUM interno.

       Interessante osservare che la         QUICK BAR     costruita potrà essere elaborata sia tramite
       connessioni ad elenchi (così sono definiti in SP) costruiti tramite SP, oppure quali link a
       pagine o file, indicati dal creatore. Inoltre, questa risulterà standard e conservata per
       tutte le pagine del sito su cui si sta lavorando (in questo caso il MAIN SITE).
       Per poter editare la     QUICK BAR,   tramite la   RIBBON BAR     selezionare   AZIONI SITO, IMPOSTAZIONI

       SITO:   nella nuova schermata selezionare nell’area aspetto l’icona              AVVIO VELOCE.   Da qui si

           16
potranno aggiungere / editare / eliminare        TITOLI   e   COLLEGAMENTI DI SPOSTAMENTO.   Di base
   si troveranno gli elementi precostruiti da SP; questi saranno solitamente eliminati,
   poiché editati per altra via;
 Nella colonna centrale sono presenti le            NEWS    di pubblico interesse, che verranno
   caricate direttamente dalla scuola sia on-the-web sia attraverso un qualsiasi
   programma della suite MICROSOFT OFFICE. Vista la versatilità dell’ambiente, è possibile
   accedere a tali elenchi tramite un qualsiasi client per SP (nei test si è provato a caricare
   materiale con successo tramite SHAREPLUS per IPAD).
 Nella colonna di destra, un calendario con le attività presenti e future della scuola. Per
   questa webpart si può osservare che, selezionandola ed accedendovi come utente
   autorizzato alla modifica, vi si può effettuare la        MODIFICA DELLA VISUALIZZAZIONE CORRENTE.

   Per la soluzione proposta, si è optato di far visualizzare unicamente DATA DI INIZIO e NOME
   dell’evento, con ordine crescente relativo all’ora di inizio.
   Per poter visualizzare unicamente gli elementi in programma dalla data odierna in poi,
   si è usato il seguente escamotage, vista l’impossibilità di usare direttamente                DATA DI

   INIZIO   come confronto: si è introdotta una colonna calcolata definita                CONTROLLO,

   equivalente a      DATA DI INIZIO,   consentendo la visualizzazione degli elementi che siano
   maggiori o uguali ad [OGGI];
 Nella     BARRA     SUPERIORE   invece sono presenti i             SUBSITES   che verranno creati
   successivamente e, come segnalato dalla scuola, saranno le macroaree                         ISTITUTO,

   PROGETTI e ATTIVITÀ.

   Da notare la particolarità di questa barra: questa sarà condivisa non solo dalle pagine
   del   MAIN SITE,   ma anche da tutti i suoi   SUBSITES,   dunque si avrà accesso diretto, senza
   dover effettuare alcuna configurazione aggiuntiva, a tutte le pagine dell’applicazione.




      17
Figura 6 - Configurazione della webpart Calendario



    6.2.          CREAZIONE DEI SUBSITES
La creazione dei SUBSITES rispetterà dei passaggi leggermente diversi rispetto a quello del                   MAIN

SITE:


    a. Da una qualsiasi posizione del               MAIN SITE,      dopo essersi autenticati con diritti di
          amministratore, premere sulla RIBBON BAR su AZIONI SITO;
    b. Dalla finestra apparsa, selezionare NUOVO SITO;
    c. Nella schermata successiva, impostare TITOLO, DESCRIZIONE, NOME URL;
    d. A livello di autorizzazioni, Per convenienza spuntare                  UTILIZZA LE STESSE AUTORIZZAZIONI DEL

          SITO PADRE, NO   per   VISUALIZZA IL SITO NELLA BARRA DI AVVIO VELOCE DEL SITO PADRE, SI             per
          VISUALIZZA IL SITO NELLA BARRA DEI COLLEGAMENTI SUPERIORE DEL SITO PADRE         e per UTILIZZA LA BARRA
          DEI COLLEGAMENTI SUPERIORE DEL SITO PADRE.


La struttura appena definita sarà quella impostata per i SUBSITES creati per il progetto.

La struttura ad albero si può perpetuare fino a maggiori profondità: difatti anche i                      SUBSITES

possono avere dei loro sotto siti relativi. Importante è ricordare però che i contenuti del
SUBSITE   possono essere letti dai siti genitori, ma non viceversa. Dunque liste ed elenchi ad un


             18
livello N potranno essere letti da tutti i siti del ramo di livello minore di N, ma non da quelli di
livello maggiore.

     6.3.             CREAZIONE DELLA PAGINA WEB GENERICA
Pur potendo sembrare banale, il trattamento della pagina web risulta essere particolare, e
richiede l’utilizzo di un workaround per poter eliminare un fastidioso problema per la QUICK BAR
presente in tale pagina. Come impostazione standard, difatti, la pagina web creata sarà
configurata come PAGINA WIKI, e dunque manterrà nell’estremità superiore della QUICK BAR l’area
documenti recenti: questa conterrà gli ultimi elementi acceduti o modificati nell’applicazione,
risultando fastidiosa ed inutile allo scopo.

Per poter aggirare il problema, viene proposto questo trick:

     a) Dopo l’autenticazione, premere su AZIONI SITO;
     b) Nella finestra a scorrimento, NON selezionare NUOVA PAGINA, bensì ALTRE OPZIONI;
     c) Nella nuova schermata, selezionare ELENCO PERSONALIZZATO;
     d) Definire nella nuova pagina NOME, DESCRIZIONE e spuntare SI per VISUALIZZA L’ELENCO DI TIPO
           ELENCO SULLA BARRA DI AVVIO VELOCE;

     e) Ora aprire MICROSOFT SHARE POINT DESIGNER 2010, accedere all’applicazione interessata,
           selezionare dall’area    OGGETTI SITO    l’elemento    ELENCHI E RACCOLTE,   e dunque cliccare
           sull’elenco appena creato;
     f) Nella nuova schermata apparsa, accedere a TUTTI GLI ELEMENTI nell’area VISUALIZZAZIONI;
     g) Ora apparirà, dopo il caricamento della pagina master, l’editor della pagina;

     h) Da qui nella PLACEHOLDERMAIN selezionare WEBPARTPAGES e cancellarla;

     i)    Svuotata la pagina, premere INSERISCI, WEB PART, EDITOR CONTENUTO.

In        tale        maniera    avremo      ottenuto       la       pagina     desiderata,    con     URL

http://<NOMESITO>/list/<NOMEELENCO>/AllItems.aspx, con la possibilità di non avere la zona
RECENTLY OPENED        nella zona superiore alla   QUICK BAR,   poiché la pagina rispetterà la struttura di
una pagina elenco.




                 19
7. ACCESSO DATI DEL DATABASE IN MICROSOFT SQL SERVER 2008
Uno dei più grossi problemi che si possono riscontrare nella gestione dell’applicazione in
ambiente Share Point, nella fattispecie per permettere la visualizzazione dei dati ad un utente
non autenticato, è quello della gestione dei dati attinti da un db esterno all’applicazione.

Difatti, le protezioni del DBMS in soggetto sono tali da non concedere l’accesso a utenti non
autorizzati dal dominio: l’obiettivo dunque sarà quello di accedervi primariamente con un
utente effettivamente autorizzato, senza violare le protezioni di SQL SERVER (mantenendone
così la stabilità e la sicurezza), e dunque elaborare il codice per permettere l’accesso
dell’utente anonimo.

La procedura qui indicata è una commistione di spunti e guide ricercate su internet, il cui
elenco è presente nella BIBLIOGRAFIA.

   7.1.        CREAZIONE DEL MODELLO IN SHARE POINT DESIGNER 2010
Prima fase sarà quella di collegare il db come tipo di contenuto esterno a SP.




                                Figura 7 - Selezione di External Content Type
          20
a) Aperto SPD 2010, cliccare su EXTERNAL CONTENT TYPES (Tipi di contenuto esterno);
   b) Sulla RIBBON, premere NEW EXTERNAL CONTENT TYPE;
   c) Nella nuova finestra, cliccare su     CLICK HERE TO DISCOVER EXTERNAL DATA SOURCES AND DEFINE

       OPERATIONS;

   d) Premere su     ADD CONNECTION   nell’area    EXTERNAL DATA SOURCE            e selezionare come tipo di
       DATA SOURCE SQL SERVER;

   e) Nella finestra successiva, indicare il        NOME DEL SERVER,          il   NOME DEL DB   e il tipo di
       autenticazione USER IDENTITY AUTHENTICATION;
   f) Ora, selezionare le   OPERATIONS    utili allo scopo: nel nostro caso, può tranquillamente
       andar bene fare ADD ALL OPERATIONS;




                                 Figura 8 - Operazioni attive sul contenuto esterno


Otterremo in questo modo un qualcosa di similare all’immagine qui sopra, ed avremo il nostro
contenuto esterno.

   7.2.        CREAZIONE DELLA LISTA ESTERNA
Secondo step del processo sarà quello di creare la lista esterna da visualizzare
nell’applicazione.

   a) Aperto il sito SP sul browser, andare IN SITE ACTIONS, VIEW ALL SITE CONTENTS;
   b) Selezionare CREATE, e dunque nell’area CUSTOM LISTS, EXTERNAL LIST (lista esterna);
   c) Nella nuova schermata, indicare il NOME DELLA LISTA e la DESCRIZIONE;
   d) Ora apparirà una selezione di contenuti esterni: selezionare quello di nostro interesse;
   e) Cliccare su CREATE.

La lista però in tale maniera non risulterà ancora utilizzabile: poiché non sono ancora stati
configurati i permessi, otterremo, nel tentativo di accesso alla lista, se non autenticati su SQL
SERVER, una schermata con indicante ACCESS DENIED BY BUSINESS DATA CONNECTIVITY.


          21
Figura 9 - Creazione nuova lista esterna

   7.3.        CONFIGURAZIONE DEI PERMESSI AUTENTICATI
Ora vanno configurati i permessi di accesso a tale contenuto esterno:

   a) In CENTRAL ADMINISTRATION, selezionare APPLICATION MANAGER;
   b) Nella nuova schermata, cliccare MANAGE SERVICE APPLICATIONS;
   c) Dunque, cliccare BUSINESS DATA CONNECTIVITY SERVICE;




   d) Spuntare il contenuto creato e cliccarepermessi object permissions;
                        Figura 10 - Configurazione su set per contenuto esterno



          22
e) Nella nuova finestra, aggiungere gli utenti che necessitano l’accesso, e configurarne i
       permessi.

Qui il problema sorge se proviamo ad autenticare un utente anonimo: l’aggiunta dell’utente
‘NT AUTHORITYANONYMOUS LOGON’ produrrà un errore di login.

   7.4.        CONFIGURAZIONE DELL’APPLICAZIONE PER L’UTENTE ANONIMO
Nuovo step necessario per poter superare tale problema sarà quello di configurare
l’applicazione per poter gestire l’accesso anonimo al db: vi è il bisogno di attivare la
REVERTTOSELF AUTHENTICATION.

Questo metodo di autenticazione si differenzia dalla      WINDOWS AUTHENTICATION    poiché l’utente
che viene autenticato viene attinto direttamente dall’IIS         APPLICATION POOL,   non facendo
impersonare all’IIS un particolare account. Dunque permette all’ anonymous user di accedere
ai contenuti del database.

Ora necessitiamo di configurare i servizi necessari per attivare la REVERTTOSELF:

   a) Accediamo alla SHELL DI GESTIONE SHARE POINT 2010 come amministratore;
   b) Digitiamo le seguenti linee di comando:
$apps = Get-SPServiceApplication

$apps //cerchiamo servizio di applicazione integrativa dei dati e contiamo la
sua riga

$bcs = $apps[i] // con i numero di riga – 1

$bcs.RevertToSelfAllowed = $true

$bcs.Update();

In questo modo l’applicazione che legherà il nostro database all’applicazione web che stiamo
creando non ci ostacolerà nell’accesso. Passiamo dunque a configurare l’IIS per l’accesso
anonimo, per poi configurare il database in SQL SERVER.

   7.5.        CONFIGURAZIONE DELL’IIS
L’IIS, INTERNET INFORMATION SERVICES, è un complesso di servizi server internet per sistemi
WINDOWS, utile poiché l’applicazione server non è in grado da sé di eseguire elaborazioni
server – side, e necessita la delega ad applicazioni ISAPI (fornite dalla stessa MICROSOFT).


          23
Il bisogno relativo al progetto sarà quello di configurare l’IIS per poter avere un utente
esistente configurato come utente anonimo:

   a) Accedendo a SERVER MANAGER, RUOLI, SERVIZI DI DOMINIO ACTIVE DIRECTORY,                  UTENTI E COMPUTER

      ACTIVE DIRECTORY,   <NOSTROSERVER>,      USERS,   creiamo il nostro utente anonimo, (nel nostro
      caso chiamato AUSR);




                             Figura 11 - Accesso agli utenti tramite Server Manager


   b) Spostandosi in GESTIONE INTERNET INFORMATION SERVICES (IIS), accedere al server di
      dominio;
   c) Entrati in SITI, selezionare l’applicazione web di interesse;
   d) Con il tasto destro, cliccare su AUTENTICAZIONE ANONIMA e dunque su MODIFICA;




                      Figura 12 - Schermata per la configurazione dell'utente anonimo in IIS




         24
e) Premere su IMPOSTA nel riquadro UTENTE SPECIFICO, ed indicare nella nuova finestra NOME
       UTENTE e PASSWORD (e confermarla).


L’utente creato in tale modo sarà considerato dall’IIS quale quello anonimo.

   7.6.        CONFIGURAZIONE DELL’UTENTE ANONIMO IN MICROSOFT SQL SERVER 2008
Prossimo step è quello di configurare SQL SERVER, ed il database di interesse per l’accesso con
l’utente desiderato.

   a) Avviare MICROSOFT SQL SERVER MANAGEMENT STUDIO, ed autenticarsi;




                             Figura 13 - Schermata iniziale in SQL Server 2008


   b) In SECURITY, premere con il tasto destro su LOGINS, e selezionare NEW LOGIN;
   c) Da qui indicare l’utente desiderato (es. AUSR), premendo su                SEARCH   e scrivendone il
       nome (l’utente qui non necessiterà di ulteriori configurazioni);
   d) Ora, andare in    DATABASES,   e selezionare quello che è stato collegato al contenuto
       esterno;
   e) Entrare in SECURITY;
   f) Con il tasto destro premere su USERS e cliccare su NEW USER;
   g) Definire NAME, LOGIN NAME (anche questo con il tasto search);
   h) In DATABASE ROLE MEMBERSHIP, spuntiamo DB_OWNER;

L’utente in tal modo creato avrà così diritto di accesso al db in cui questo è stato autenticato.
Ora non resta che configurare il contenuto di tipo esterno nell’applicazione web in modo tale
che possa usufruire e godere delle proprietà della REVERTTOSELF AUTHENTICATION.




          25
Figura 14 - Configurazione dell'utente in SQL Server

   7.7.         BCD IDENTITY SETTING PER L’UTENTE ANONIMO
Riprendendo ciò che è stato spiegato al punto 7.3, diamo i permessi ad un utente (esistente) a
nostro piacere. Necessitiamo di questo passaggio per poter modificare e creare l’accesso per
l’utente anonimo.

   a) Avviando SPD 2010, selezionare TIPI DI CONTENUTO ESTERNO;
   b) Evidenziare il contenuto di interesse, e dunque premere nella                 RIBBON BAR   su   ESPORTA

       MODELLO DBC;

   c) Nella nuova finestra, dare un      NOME     al file esportato, selezionando nelle impostazioni
       CLIENT, e premere ok, salvando nella posizione preferita;

   d) Aprire il file esportato con un qualsiasi elaboratore di testi (è sufficiente anche             BLOCCO

       NOTE);

   e) Cercare tutte le righe indicanti
            <AccessControlEntry Principal="<UTENTE_DA_NOI_CREATO">
              <Right BdcRight="Execute" />
            </AccessControlEntry>

      e sostituirle con

          26
<AccessControlEntry Principal="NT AuthorityAnonymous Logon">
              <Right BdcRight="Execute" />
            </AccessControlEntry>


   ottenendo un codice come quello proposto qui sotto




                            Figura 15 - Frammento di codice del LobSystemInstance


f) Salvare il file;
g) Eliminare da SPD 2010 il contenuto esterno creato (questo non comporterà la perdita
    del lavoro finora compiuto);
h) Andando nell’AMMINISTRAZIONE CENTRALE, accedere in gestione applicazioni;
i) Nell’area APPLICAZIONI DI SERVIZIO, premere GESTISCI APPLICAZIONI DI SERVIZIO;
j) Nella nuova schermata, selezionare ed accedere al SERVIZIO DI INTEGRAZIONE APPLICATIVA DEI
    DATI;




                  Figura 16 - Servizio di applicazione integrativa dei dati in Servizi applicazioni

k) Nella nuova finestra, fare IMPORTA;
l) Indicare dove si trova il file, e spuntare                          MODELLO, NOMI LOCALIZZATI, PROPRIETÀ,

    AUTORIZZAZIONI nelle relative aree;

m) L’elemento inserito risulterà uguale a quello creato in precedenza, però accedendo ai
    permessi indicati in 7.3 si potrà verificare la presenza dell’ANONYMOUS LOGON.




       27
Figura 17 - Configurazione import modello BDC


Per completare, andare in START e digitare IISRESET, così da ripulire la BCS cache.

   7.8.        RISULTATO DEL PROCESSO
In tale maniera, se provassimo ad accedere alla lista creata come utente anonimo,
otterremmo un tale risultato:




Come si può notare, appare la lista, pur essendo indicato nella RIBBON l’elemento ACCESSO, che
sta a sottintendere l’utenza anonima.

          28
8. GESTIONE DELL’APPLICAZIONE IN MODALITÀ MULTILINGUA
SHARE POINT 2010 ha come suo cavallo di battaglia l’implementazione di una efficiente gestione
multilingua delle proprie strutture. Dalla versione 2010, difatti, è stata introdotta la MUI, MULTI
LANGUAGE USER INTERFACE, che consente una gestione modulare di titoli, descrizioni, menù,
azioni, colonne e collegamenti della barra di navigazione.

Questa caratteristica è molto interessante poiché permette di creare un’unica applicazione in
diverse lingue con un’estrema facilità (basta praticamente sostituire lingua per lingua le varie
“etichette” degli elementi) per gli utenti autenticati.

È difatti proprio quest’ultima la grossa limitazione della piattaforma SHARE POINT: l’impossibilità
di scelta della lingua per l’utente anonimo. La lingua sarà infatti scelta quale quella predefinita
per l’applicazione, non consentendo di sfruttare tale interessantissima opportunità.

L’unica idea praticabile, anche sebbene poco efficace e alla fin fine controproducente rispetto
ai parametri di semplicità basilari per l’applicazione in progetto, sarebbe quella di creare due
applicazioni parallele, una predefinita in italiano, ed una in inglese. Questo però porterebbe ad
una fastidiosa duplicazione dei contenuti, a cui non si è riusciti a trovare una soluzione.

Se il problema dell’utente anonimo, in questo caso, non risulta risolvibile, la gestione
multilingua per l’autenticato è invece decisamente semplice:

   a) Scaricare             dalla            pagina                     www.microsoft.com/downloads/it-
       it/details.aspx?familyid=046f16a9-4bce-4149-8679-223755560d54&displaylang=it                         il
       LANGUAGE PACK   di nostro interesse (selezionare la lingua di interesse da installare, per il
       progetto la lingua inglese), ed installare tale file su WS;
   b) Accedendo autenticati via browser all’applicazione, dalla              RIBBON BAR   accedere in   AZIONI




                                      Figura 18 - Impostazioni lingua
          29
SITO, IMPOSTAZIONI SITO;

   c) Nell’area AMMINISTRAZIONE SITO, selezionare IMPOSTAZIONI LINGUA;
   d) Ora impostare, tra le LINGUE ALTERNATIVE, quella di interesse per il progetto (es. inglese),
       e impostare NO per l’opzione SOVRASCRIVI TRADUZIONI;
   e) Per editare le varie   LABELS,   accediamo, premendo sul nome utente/seleziona lingua di
       visualizzazione, a quella di nostro interesse, e cominciamo ad editare        RIBBON BAR, QUICK

       BAR e WEB PART a nostro piacimento.


Qui sotto è possibile vedere un esempio delle possibilità fornite dalla MUI di SHARE POINT 2010,
in questo caso per la gestione della QUICK BAR.




                             Figura 19 - Quick Access Bar con modifica tramite MUI




          30
9. GESTIONE DEGLI ACCESSI E PERMESSI DEGLI UTENTI
Altro tasto di ardua gestione all’interno del progetto è quello della gestione dei permessi degli
utenti: è un problema non tanto a livello software, ma piuttosto a livello hardware.

Se infatti, tralasciando le difficoltà che si possono riscontrare a livello di privacy nella gestione
dei contenuti riservati consegnati dalla scuola, quali rendimenti scolastici, anagrafiche, o più in
generale dati sensibili, il grosso problema risiede nel poter sostenere adeguatamente un’alta
quantità di accessi autenticati a tale applicazione: se non vi sono dei requisiti hardware
sufficienti, non sarà possibile consentire l’accesso ad un numero elevato di utenze.

Oltretutto, la gestione delle utenze richiederebbe la creazione di un database supplementare e
parallelo a quello che è già a disposizione in Università: percorso impraticabile anche
considerando la possibilità di introdurre le utenze all’interno dello stesso database
universitario, poiché un migliaio di nuovi accrediti risulterebbero insostenibili.

Dialogando con la scuola, ed interfacciandosi con il relatore, si è giunti alla conclusione di
ridurre, almeno momentaneamente, il numero di utenti richiesti, limitandoli ad un gruppo
selezionato di docenti ed al personale amministrativo, concedendo a questi l’accesso alle zone
riservate CIRCOLARI e FORUM.

Essendo questi due ultimi delle liste teoricamente accessibili anche all’utente anonimo, la
priorità sarà quella di proteggere e nascondere a tale utenza il link di accesso, settando
correttamente i diritti di visualizzazione e gestione.




                                      Figura 20 - Informazioni elenco


Nel progetto, ad esempio, si può andare a nascondere l’accesso all’area forum:

   a) Accedendo tramite browser all’applicazione, andare in AZIONI SITO, IMPOSTAZIONI SITO;

          31
b) In AMMINISTRAZIONE SITO, selezionare RACCOLTE ED ELENCHI DEL SITO;
   c) Selezionare PERSONALIZZA <NOME_LISTA>;
   d) Nella nuova finestra, selezionare AUTORIZZAZIONI PER L’ELENCO DI TIPO <TIPO_ELENCO>;
   e) Selezionare, nella RIBBON BAR, INTERROMPI EREDITARIETÀ AUTORIZZAZIONI;
   f) Nella stessa barra, selezionare ACCESSO ANONIMO;
   g) Togliere le spunte per tutte le opzioni presenti;




                                Figura 21 - Accesso anonimo per Liste

   h) Premere OK;

In tal modo, e reiterando il ragionamento a tutte le liste di interesse, sarà possibile proteggere
in modo adeguato le strutture che lo richiederanno.




          32
10. TIPS & TRICKS DI SVILUPPO DELL’APPLICAZIONE
Poiché l’applicazione alla base del progetto non è puramente la struttura di          SITE   e   SUBSITES,   e
neppure unicamente la gestione dell’accesso anonimo al db, può risultare interessante
osservare quali siano quei passaggi, quei trucchi, che permettono di avere un’applicazione più
pulita e piacevole all’utente finale.

   10.1.        INTEGRAZIONE DELL’ACCESSO AL DB SU PIATTAFORMA ACCESS
Seppur possa sembrare banale ed, anzi, controproducente per un utente più smaliziato, la
conversione dell’accesso dei dati del db SQL Server per un end user inesperto potrebbe
risultare solo che conveniente, avendo un approccio più leggero e ordinato quale quello in
MICROSOFT ACCESS.

Dovendoci relazionare con un personale amministrativo che non può stare a perder tempo per
comprendere cosa sia SQL SERVER, l’obiettivo di questo paragrafo è quello di fornire un piccolo
modulo, utilizzabile in MICROSOFT ACCESS 2010 (oppure 2007). Tale front-end permetterà di
elaborare o direttamente i dati presenti nelle liste e non direttamente gestite dal DBMS,
oppure quelle presenti nel motore.

       10.1.1.        ACCESS PER LE LISTE
Un primo passo di sviluppo di front-end su ACCESS può essere quello di linkare le liste presenti
nell’applicazione in un ACCESS DATABASE. Il procedimento presentato è applicato su MICROSOFT
ACCESS 2010:

    a) Avviato il programma, creare un NUOVO DATABASE VUOTO, indicandone il nome;
    b) Nella schermata apparsa, selezionare nella ribbon bar DATI ESTERNI;




                              Figura 22 - Ribbon bar di Access 2010 su Dati esterni

    c) Selezionare ALTRO, e dunque ELENCO DI SHARE POINT;
    d) Nelle videata successiva, selezionare COLLEGARE ALL’ORIGINE DATI CREANDO UNA TABELLA
        COLLEGATA, e proseguire;




           33
e) Dunque, selezionare gli elenchi che interessa avere disponibili nel front-end Access e
           continuare;




                               Figura 23 - Selezione degli elenchi per il Front-End

A questo punto avremo ottenuto il front-end richiesto, con gli elenchi trattati come tabelle
linkate.

       10.1.2.           ACCESS COME FRONT-END SQL SERVER
Altro problema che l’end-user può incontrare è quello della gestione “semplificata” dei dati
raccolti nel database presente nel DBMS SQL Server.

Seguendo lo stesso ragionamento del punto precedente, viene qui proposta una possibile
soluzione, sfruttando questa volta però un ACCESS DATA PROJECT:

   a) Avviare il programma e, nella creazione, andare a selezionare il                FOLDER   di destinazione:
       da qui, in SALVA COME impostare PROGETTI DI MICROSOFT ACCESS (*.ADP);



             34
Figura 25 - Definizione di ADP in Access 2010

b) Nella finestra apparsa, selezionare si;




                          Figura 24 - Settaggi per connessione server SQL Server




      35
c) Ora inserire i dati necessari, come indicato in FIGURA 25, e premere ok.

In questo modo, otterrò accesso a tutte le tabelle presenti nel database collegato, e
modificarle a piacimento.

   10.2.         GESTIONE DI ACCESSO DA DISPOSITIVI MOBILI
Altro interessante frangente di analisi è quello della configurazione dell’accesso
all’applicazione web da dispositivi mobili, specie al giorno d’oggi. Avere un’interfaccia che si
adatti in modo chiaro e comprensibile anche su mobile può risultare un punto a favore del
prodotto.

Dall’analisi e dai vari tentativi effettuati per una buona impaginazione delle strutture mobile, e
da una riflessione relativa ai benefici che possa portate tale formato, si è giunti alla
conclusione che, vista l’organizzazione        SITE   /   SUBSITES   e dal tipo di contenuti presenti
sull’applicazione, non risulti adeguato la gestione fornita da Microsoft. Dunque si è optato per
l’eliminazione dell’accesso in formato mobile.

Per poter ottenere tutto ciò, necessitiamo di tali passaggi:

   a) Andare         in    COMPUTER,      ed          inserire       sulla   barra   degli    indirizzi
       “inetpubwwwrootwssVirtualDirectories<NUMEROPORTA>App_Browsers”,
       inserendo al posto di <NUMEROPORTA> il numero della porta associato all’applicazione di
       interesse;
   b) Aprire con un editor di testo il file COMPAT.BROWSER;
   c) Ricercare la stringhe di codice
       <capability name="isMobileDevice" VALUE="True" />

       e sostituirle con
       <capability name="isMobileDevice" VALUE="False" />


       per tutte le volte che risulterà esservi tale stringa.

In questo modo otterremo una visualizzazione del sito su dispositivo mobile di tale modo (qui
verrà simulata tramite plug – in USER AGENT SWITCHER per MOZILLA FIREFOX, e confrontati i risultati
ottenuti su un’applicazione con mobile access disabilitato, a sinistra, e abilitato, a destra).

            36
Figura 26 - Confronto disabilitazione Accesso per dispositivi mobili

   10.3.        CONFIGURAZIONE DEL TEMA PER L’UTENTE ANONIMO
L’interesse del committente è quello di fornire una pagina più pulita possibile per l’utente
principale di tale applicazione: l’ANONYMOUS            USER.   Questo fattore però viene negato dalla
presenza della   RIBBON BAR   che, pur risultando molto efficace ed efficiente nell’utilizzo in
sviluppo, risulta superflua ad un utente che non ha permessi di modifica. Il nostro interesse
sarà quello dunque di far sparire tale barra, mantenendo ordinata la pagina.

       10.3.1.       COME NASCONDERE LA RIBBON BAR
Il nostro intervento dovrà essere eseguito sulla MASTER PAGE dell’applicazione.

   a) Accedendo tramite SPD all’applicazione, accedere a PAGINE MASTER;
   b) Copiare ed incollare l’elemento v4.master. Questo è necessario per poter ripristinare la
       pagina in caso di problemi;




                                            Figura 27 - Pagine master

           37
c) Rinominare il file a propria scelta (es. v4Final.master);
   d) Accedere al file appena creato, e selezionare modifica file;
   e) Accedere alla vista codice;
   f) Nello head del codice C#, introdurre tali stringhe:
           <asp:LoginView id="LoginView" runat="server">
                <AnonymousTemplate>
                <style type="text/css">
                  body #s4-ribbonrow {
                    display: none;
                  }
                 </style>
                </AnonymousTemplate>
               </asp:LoginView>


   g) Salvare.

Tale codice ci fungerà da filtro sulla   RIBBON,    rendendola invisibile agli utenti non autorizzati.
Questo però comporterà anche la sparizione del LOGIN BUTTON, che è necessario per accedere ai
contenuti riservati. Vi è la necessità dunque di ripristinare tale bottone, integrandolo nel tema
dell’applicazione, configurandone una predefinita personalizzata.

       10.3.2.       CONFIGURAZIONE DEL TEMA PERSONALIZZATO
L’esempio in considerazione recupererà un tema già esistente, da applicare per il tema
anonimo.




                                         Figura 28 - Core*.css file
   a) Per un qualsiasi utente autenticato (ad esempio                 ADMIN),   impostare un tema
       personalizzato;
   b) Tramite SPD, accedere a TUTTI I FILE/_THEMES/<NUMEROTEMA>;

           38
c) Con il tasto destro selezionare il primo CORE*.CSS file, e accedere alle proprietà;
   d) Copiare il TITOLO;
   e) Accedere alla master page modificata (es. v4Final.master);
   f) Al di sotto del tag SHAREPOINT:CSSLINK inserire tale codice:
         <SharePoint:CssRegistration runat=”server” name=”<TITOLO-CORE*.CSS-FILE-
         DI-PTO-C>” EnableCssTheming=”true” After=”true”/>


   g) Salvare.

Per poter vedere i progressi effettuati, cliccare con il tasto destro sulla pagina master editata e
premere sia       IMPOSTA COME PAGINA MASTER PREDEFINITA       che   IMPOSTA COME PAGINA MASTER

PERSONALIZZATA.


Ora va reintegrato il LOGIN BUTTON:

   h) All’interno del      BODY   della pagina master, localizzare la posizione in cui si vuole
       introdurre il bottone di login (utilizzare anche la doppia visualizzazione per trovare più
       comodamente la porzione di codice interessata);
   i) All’interno dei tag DIV di tale porzione, inserire il codice
         <wssuc:Welcome id="IdLogin" runat="server" EnableViewState="false">
         </wssuc:Welcome>
         <wssuc:MUISelector runat="server"/>

   j) Per poterlo integrare al meglio il login button con il tema definito, andare a modificare
       il CORE*.CSS recuperato in c), editando con particolare interesse la sezione le classi .MS-
       WELCOMEMENU      (che determina forme e colori del bottone), .S4-TITLE (per l’editing della
       barra del titolo) e .S4-TITLETEXT (che concerne le scritte di quest’ultima barra).

Nel progetto in questione, si è optato di integrare il     LOGIN BUTTON   all’interno della   TITLE BAR,

nascondendo il bottone dalla ribbon anche per gli utenti autenticati, ottenendo un risultato
piuttosto pulito:




          39
Figura 29 - Tema personalizzato con eliminazione Ribbon Bar




40
11.    CONCLUSIONI
Lo sviluppo dell’applicazione web commissionata da parte della scuola è risultato di grosso
interesse, anche a livello formativo. L’utilizzo di un CMS proprietario MICROSOFT come quello
SHARE POINT mi ha dato la possibilità di studiare ed analizzare oltre che un nuovo tool,
principalmente quali siano i parametri e le caratteristiche che in un prossimo futuro potranno
essere utili nell’ambiente lavorativo, mettendomi in evidenza quali siano le informazioni che il
committente lavorativo prediligerà.

L’apprendimento è stato lento all’inizio, ma colti i passaggi basilari, buona parte dei problemi è
stata affrontata e risolta senza grosse difficoltà.

L’impiego ha preso una ventina di ore per l’apprendimento delle caratteristiche avanzate,
mentre circa altre 200 ore sono state dedicate all’analisi del progetto e della relativa scrittura
del codice supplementare al semilavorato ottenuto tramite interfaccia grafica.

Apprezzabile, dal mio punto di vista, il livello di protezioni che ha portato le maggiori difficoltà
nello sviluppo: l’utenza anonima, dal mio punto di vista, risulta poco considerata da SHARE
POINT, e dunque in alcune situazioni solo con workaround articolati si è potuto “aggirare”
(anche se non è propriamente il termine più corretto da utilizzare, poiché le protezioni non
sono state mai violate) ciò che basilarmente non viene garantito a priori.

Proprio questa alta protezione a livello anonimo mi porta a pensare che l’ambiente SHARE
POINT sia più adatto ad una funzionalità intranet, piuttosto che internet, pur risultando
particolarmente efficiente in quei frangenti in cui non è vi è un grosso livello di gestione di
informazioni riservate, o almeno protette.

Pur non avendo potuto risolvere, per limiti strutturali (sia a livello software che hardware),
problemi quali la gestione dell’ e – learning, delle connessioni multilingua e delle utente, che
potranno comunque avere un futuro sviluppo in tale ambiente perché potenzialmente
supportate, ma al momento inaccessibili, mi ritengo piuttosto soddisfatto della possibilità
fornitami, poiché l’apprendimento di un tool a me completamente sconosciuto sino a prima
dell’inizio del progetto, e la possibilità di apprendere quali siano i fulcri che garantiscono ad



          41
un’azienda di avere una buona comunicazione interna e con il pubblico mi han permesso di
migliorare le mie conoscenze ed arricchire piacevolmente il mio curriculum.

Il prodotto è in fase di produzione: presi gli accordi con il committente, la struttura
dell’applicazione è già esistente ed on-line, anche se ne mancano i contenuti consegnati da
quest’ultimo; unitamente, ne vanno raffinate alcune altre caratteristiche non fondamentali,
ma esteticamente importanti.

Come indicato, possibili sviluppi futuri potranno essere l’implementazione di una piattaforma
e-learning, ed un ampliamento delle utenze autenticate: SPD consentirà senza grosse difficoltà
(almeno a livello software) di implementare questi.




          42
12.   BIBLIOGRAFIA
Jorg Krause, Christian Langhirt, Alexander Sterff, Bernd Pehlke, Martin Doring – SharePoint
2010 as a Development Platform

Tom Carpenter, James Pyles – Microsoft SharePoint 2010 Administration

Emer McKenna, Kevin Laahs, Veli-Matti Vanamo – Microsoft SharePoint 2010 all-in-one for
Dummies

Simone de Bianchi, Maurizio Fermeglia – Sviluppo di applicazioni web con tecnologia Microsoft
Sharepoint 2010

    Gestione dell’accesso al db in SQL Server

http://dontpapanic.com/blog/?p=131

http://blogs.msdn.com/b/bcs/archive/2010/03/12/authenticating-to-your-external-
system.aspx

http://technet.microsoft.com/en-us/library/ms172405.aspx

    Gestione dell’accesso da dispositivi mobili

http://blogs.technet.com/b/office2010/archive/2010/03/09/configure-sharepoint-server-
2010-for-mobile-device-access.aspx

    Modifica dei temi e della ribbon bar

http://social.technet.microsoft.com/Forums/en-
US/sharepoint2010customization/thread/12bf4ed1-8bf3-4bc4-b108-8e26e27e8651

http://www.sharepointgeoff.com/sharepoint-foundation-site-anonymous-access-no-theme/

http://erikswenson.blogspot.com/2010/01/sharepoint-2010-base-css-classes.html




          43
APPENDICE A – MACROLIVELLI         E DETTAGLI PROPOSTI DAL COMMISSIONARIO DEL
PROGETTO


Macrolivello           Dettagli I livello                    Dettagli II Livello
ISTITUTO         1A    Storia
                 2A    Mission
                 3A    Organigramma
                 4A    Organi Collegiali
                 5A    Piano Offerta Informativa
                 6A    Regolamento Interno
                 7A    I Corsi                         7AA Materie dei Corsi
                                                       7AB Orario delle lezioni
                                                       7AC Docenti e Materie
                 8A    Contatti e Orari Uffici
                 9A    Bilancio Sociale
                 10A   Modulistica
                 11A   Presentazione Attività
                 12A   Modulo di Iscrizione
                 13A   Galleria Fotografica Tematica
                 14A   Studenti Illustri
                 15A   News
                 16    Dove Siamo
PROGETTI         1B    Progetto Sport Invernali
                                                       1BA   E – Learning
                                                       1BB   Materiale Didattico
                                                       1BC   Forum Moderati
                                                       1BD   Registro on – line
                 1C    Progetto Impresa Simulata
                 1E    Progetto Professioni della
                       montagna
ATTIVITA’        1F    Biblioteca
                 2F    Emeroteca
                 3F    Laboratori e aule
                 4F    Prodotti educativi                    (audio, video, foto, testi)
                 5F    Sondaggi on – line
                       Area Protetta da Login e
                       Password
AREA DOCENTI     1G    Comunicazioni
                 2G    Circolari
                 3G    Formazione
                 4G    Classi
                 5G    Orari docenze / supplenze
                 6G    Registro Elettronico
                 7G    Graduatorie

            44
8G   Inserisci Documentazione    8GA Notizie
                                                 8GB News
                                                 8GC Materiale Didattico
                     Area Protetta da Login e
                     Password
AREA STUDENTI   1H   Comunicazioni
                2H   Documentazione
                3H   Materiale didattico
                4H   Registro Elettronico
                5H   Libri di testo
                6H   Attività Studentesche
                7H   Blog
                     Area Protetta da Login e
                     Password
AREA GENITORI   1I   Comunicazioni
                2I   Documentazione
                3I   Materiale Didattico
                4I   Valutazione degli allievi




        45
APPENDICE B – SITUAZIONE SERVER DI3
Stato, a settembre 2011, dei server del DI3. Si ringrazia Dario Cechet per i dati ottenuti.




          46

Mais conteúdo relacionado

Mais procurados

Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Francesco Occhioni
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
Guida Database SQL
Guida Database SQLGuida Database SQL
Guida Database SQLAmmLibera AL
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigantedox82
 
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Matteo Gazzin
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebCyclope86
 
Imparare asp.net 107
Imparare asp.net 107Imparare asp.net 107
Imparare asp.net 107Pi Libri
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzinshadow82
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Nicola Cerami
 
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3energymanager
 
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Francesco Benincasa
 
La riforma del mercato del lavoro in una prospettiva di crescita
La riforma del mercato del lavoro in una prospettiva di crescitaLa riforma del mercato del lavoro in una prospettiva di crescita
La riforma del mercato del lavoro in una prospettiva di crescitaQuotidiano Piemontese
 
Rapporto e gov italia 19dic2010
Rapporto e gov italia 19dic2010Rapporto e gov italia 19dic2010
Rapporto e gov italia 19dic2010Between
 

Mais procurados (19)

Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...
 
Tesi peiretti
Tesi peirettiTesi peiretti
Tesi peiretti
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
Guida Database SQL
Guida Database SQLGuida Database SQL
Guida Database SQL
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigante
 
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 
Imparare asp.net 107
Imparare asp.net 107Imparare asp.net 107
Imparare asp.net 107
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzin
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
 
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
 
Tesi
TesiTesi
Tesi
 
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
 
La riforma del mercato del lavoro in una prospettiva di crescita
La riforma del mercato del lavoro in una prospettiva di crescitaLa riforma del mercato del lavoro in una prospettiva di crescita
La riforma del mercato del lavoro in una prospettiva di crescita
 
Riforma mercato lavoro_230312
Riforma mercato lavoro_230312Riforma mercato lavoro_230312
Riforma mercato lavoro_230312
 
Rapporto e gov italia 19dic2010
Rapporto e gov italia 19dic2010Rapporto e gov italia 19dic2010
Rapporto e gov italia 19dic2010
 
Ap6532 manuale di installazione
Ap6532 manuale di installazioneAp6532 manuale di installazione
Ap6532 manuale di installazione
 

Destaque

Calendari Jornades LEGO Mindstorms
Calendari Jornades LEGO MindstormsCalendari Jornades LEGO Mindstorms
Calendari Jornades LEGO Mindstorms3D Girona Tic Media
 
SEO para E-Commerce: lojas online com sucesso!
SEO para E-Commerce: lojas online com sucesso!SEO para E-Commerce: lojas online com sucesso!
SEO para E-Commerce: lojas online com sucesso!introfini
 
Create Spotless Customer Lists + Fresh Email Marketing
Create Spotless Customer Lists + Fresh Email Marketing Create Spotless Customer Lists + Fresh Email Marketing
Create Spotless Customer Lists + Fresh Email Marketing SnapRetail
 
Moola saving mom presentation
Moola saving mom presentationMoola saving mom presentation
Moola saving mom presentationJessie Alonzo
 

Destaque (6)

Calendari Jornades LEGO Mindstorms
Calendari Jornades LEGO MindstormsCalendari Jornades LEGO Mindstorms
Calendari Jornades LEGO Mindstorms
 
SEO para E-Commerce: lojas online com sucesso!
SEO para E-Commerce: lojas online com sucesso!SEO para E-Commerce: lojas online com sucesso!
SEO para E-Commerce: lojas online com sucesso!
 
Create Spotless Customer Lists + Fresh Email Marketing
Create Spotless Customer Lists + Fresh Email Marketing Create Spotless Customer Lists + Fresh Email Marketing
Create Spotless Customer Lists + Fresh Email Marketing
 
Moola saving mom presentation
Moola saving mom presentationMoola saving mom presentation
Moola saving mom presentation
 
Prueba
PruebaPrueba
Prueba
 
LinkedIn Infographic 2016
LinkedIn Infographic 2016LinkedIn Infographic 2016
LinkedIn Infographic 2016
 

Semelhante a Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Point 2010 - Alex Ronci

Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiPietro Corona
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Marco Virgo
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility modelsUmberto Griffo
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiFrancesco Magagnino
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Luca Bressan
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Davide Ciambelli
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Domenico Schillaci
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilitàLie Chen
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104Pi Libri
 
Motorola solutions ap6532 installation guide italian (part no. 72 e-149368-...
Motorola solutions ap6532 installation guide   italian (part no. 72 e-149368-...Motorola solutions ap6532 installation guide   italian (part no. 72 e-149368-...
Motorola solutions ap6532 installation guide italian (part no. 72 e-149368-...Advantec Distribution
 

Semelhante a Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Point 2010 - Alex Ronci (20)

Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzati
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
 
Sat howto
Sat howtoSat howto
Sat howto
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility models
 
Compas Project
Compas ProjectCompas Project
Compas Project
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilità
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
 
Tesi Forcolin Fabio
Tesi Forcolin FabioTesi Forcolin Fabio
Tesi Forcolin Fabio
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Tesi Tamiazzo09
Tesi Tamiazzo09Tesi Tamiazzo09
Tesi Tamiazzo09
 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104
 
Ap6532 manuale di installazione
Ap6532 manuale di installazioneAp6532 manuale di installazione
Ap6532 manuale di installazione
 
Motorola solutions ap6532 installation guide italian (part no. 72 e-149368-...
Motorola solutions ap6532 installation guide   italian (part no. 72 e-149368-...Motorola solutions ap6532 installation guide   italian (part no. 72 e-149368-...
Motorola solutions ap6532 installation guide italian (part no. 72 e-149368-...
 

Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Point 2010 - Alex Ronci

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE PROGETTAZIONE E SVILUPPO DI UN’APPLICAZIONE WEB BASATA SU TECNOLOGIA SHARE POINT 2010 Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dell’Informazione Curriculum Informatica Laureando: Relatore: ALEX RONCI CHIAR.MO PROF. MAURIZIO FERMEGLIA ANNO ACCADEMICO 2010 / 2011
  • 2. A Michela e Massimo 1
  • 3. SOMMARIO 1. INTRODUZIONE ............................................................................................................................ 6 2. PRESENTAZIONE DELLE RICHIESTE .................................................................................................... 7 3. ANALISI DELLE RICHIESTE ............................................................................................................... 8 4. STRUMENTI NECESSARI ALLO SVILUPPO DEL PROGETTO ....................................................................... 9 4.1. HARDWARE ......................................................................................................................... 9 4.1.1. PC NOTEBOOK SONY VAIO VPCB1S1E ............................................................................. 9 4.1.2. SERVER UNIVERITARI ...................................................................................................... 9 4.2. SOFTWARE ........................................................................................................................ 10 4.2.1. VMWARE PLAYER ....................................................................................................... 10 4.2.2. MICROSOFT SHARE POINT FOUNDATION 2010 ................................................................. 10 4.2.3. MICROSOFT SHARE POINT DESIGNER 2010 ..................................................................... 10 4.2.4. MICROSOFT SQL SERVER 2008 ..................................................................................... 11 4.2.5. MICROSOFT ACCESS 2010 ............................................................................................ 11 5. PRIMA DI COMINCIARE ................................................................................................................ 12 5.1. CONFIGURAZIONE DELL’AMBIENTE DI TEST SU MACCHINA VIRTUALE ............................................. 12 5.2. CONFIGURAZIONE DELLA MACCHINA FISICA .............................................................................. 15 6. STRUTTURA DELL’APPLICAZIONE ................................................................................................... 16 6.1. SVILUPPO DELLA HOME PAGE ................................................................................................ 16 6.2. CREAZIONE DEI SUBSITES ...................................................................................................... 18 6.3. CREAZIONE DELLA PAGINA WEB GENERICA ............................................................................... 19 7. ACCESSO DATI DEL DATABASE IN MICROSOFT SQL SERVER 2008 ....................................................... 20 7.1. CREAZIONE DEL MODELLO IN SHARE POINT DESIGNER 2010 ...................................................... 20 7.2. CREAZIONE DELLA LISTA ESTERNA .......................................................................................... 21 7.3. CONFIGURAZIONE DEI PERMESSI AUTENTICATI .......................................................................... 22 7.4. CONFIGURAZIONE DELL’APPLICAZIONE PER L’UTENTE ANONIMO .................................................. 23 2
  • 4. 7.5. CONFIGURAZIONE DELL’IIS ................................................................................................... 23 7.6. CONFIGURAZIONE DELL’UTENTE ANONIMO IN MICROSOFT SQL SERVER 2008 .............................. 25 7.7. BCD IDENTITY SETTING PER L’UTENTE ANONIMO ...................................................................... 26 7.8. RISULTATO DEL PROCESSO .................................................................................................... 28 8. GESTIONE DELL’APPLICAZIONE IN MODALITÀ MULTILINGUA ................................................................ 29 9. GESTIONE DEGLI ACCESSI E PERMESSI DEGLI UTENTI .......................................................................... 31 10. TIPS & TRICKS DI SVILUPPO DELL’APPLICAZIONE ............................................................................... 33 10.1. INTEGRAZIONE DELL’ACCESSO AL DB SU PIATTAFORMA ACCESS .................................................... 33 10.1.1. ACCESS PER LE LISTE ..................................................................................................... 33 10.1.2. ACCESS COME FRONT-END SQL SERVER ........................................................................... 34 10.2. GESTIONE DI ACCESSO DA DISPOSITIVI MOBILI........................................................................... 36 10.3. CONFIGURAZIONE DEL TEMA PER L’UTENTE ANONIMO ............................................................... 37 10.3.1. COME NASCONDERE LA RIBBON BAR ............................................................................... 37 10.3.2. CONFIGURAZIONE DEL TEMA PERSONALIZZATO .................................................................. 38 11. CONCLUSIONI ............................................................................................................................ 41 12. BIBLIOGRAFIA............................................................................................................................ 43 APPENDICE A – MACROLIVELLI E DETTAGLI PROPOSTI DAL COMMISSIONARIO DEL PROGETTO .......................... 44 APPENDICE B – SITUAZIONE SERVER DI3 ............................................................................................... 46 3
  • 5. INDICE DELLE FIGURE FIGURA 1 - SONY VAIO VPCEB1S1E ..................................................................................................... 9 FIGURA 2 - SCHERMATA DI MICROSOFT SHARE POINT DESIGNER 2010 ...................................................... 10 FIGURA 3 - RUOLI ATTIVI SU MACCHINA VIRTUALE .................................................................................. 13 FIGURA 4 - CREAZIONE DELL'APPLICAZIONE WEB..................................................................................... 14 FIGURA 5 - HOME PAGE DELL'APPLICAZIONE .......................................................................................... 16 FIGURA 6 - CONFIGURAZIONE DELLA WEBPART CALENDARIO..................................................................... 18 FIGURA 7 - SELEZIONE DI EXTERNAL CONTENT TYPE ................................................................................ 20 FIGURA 8 - OPERAZIONI ATTIVE SUL CONTENUTO ESTERNO ....................................................................... 21 FIGURA 9 - CREAZIONE NUOVA LISTA ESTERNA ....................................................................................... 22 FIGURA 10 - CONFIGURAZIONE PERMESSI PER CONTENUTO ESTERNO ......................................................... 22 FIGURA 11 - ACCESSO AGLI UTENTI TRAMITE SERVER MANAGER ............................................................... 24 FIGURA 12 - SCHERMATA PER LA CONFIGURAZIONE DELL'UTENTE ANONIMO IN IIS........................................ 24 FIGURA 13 - SCHERMATA INIZIALE IN SQL SERVER 2008 ......................................................................... 25 FIGURA 14 - CONFIGURAZIONE DELL'UTENTE IN SQL SERVER ................................................................... 26 FIGURA 15 - FRAMMENTO DI CODICE DEL LOBSYSTEMINSTANCE ............................................................... 27 FIGURA 16 - SERVIZIO DI APPLICAZIONE INTEGRATIVA DEI DATI IN SERVIZI APPLICAZIONI ................................ 27 FIGURA 17 - CONFIGURAZIONE IMPORT MODELLO BDC .......................................................................... 28 FIGURA 18 - IMPOSTAZIONI LINGUA ..................................................................................................... 29 FIGURA 19 - QUICK ACCESS BAR CON MODIFICA TRAMITE MUI ................................................................ 30 FIGURA 20 - INFORMAZIONI ELENCO .................................................................................................... 31 FIGURA 21 - ACCESSO ANONIMO PER LISTE ........................................................................................... 32 FIGURA 22 - RIBBON BAR DI ACCESS 2010 SU DATI ESTERNI .................................................................... 33 FIGURA 23 - SELEZIONE DEGLI ELENCHI PER IL FRONT-END ....................................................................... 34 FIGURA 25 - SETTAGGI PER CONNESSIONE SERVER SQL SERVER ................................................................ 35 FIGURA 24 - DEFINIZIONE DI ADP IN ACCESS 2010 ................................................................................ 35 FIGURA 26 - CONFRONTO DISABILITAZIONE ACCESSO PER DISPOSITIVI MOBILI .............................................. 37 FIGURA 27 - PAGINE MASTER.............................................................................................................. 37 FIGURA 28 - CORE*.CSS FILE .............................................................................................................. 38 4
  • 6. FIGURA 29 - TEMA PERSONALIZZATO CON ELIMINAZIONE RIBBON BAR ....................................................... 40 5
  • 7. 1. INTRODUZIONE La tesi proposta all’interno di questo documento andrà a trattare lo sviluppo e l’analisi di un portale informatico scolastico, nella fattispecie quello del LICEO SCIENTIFICO STATALE “GALILEO GALILEI” di Trieste. Tale struttura verrà sviluppata nell’ambiente proprietario MICROSOFT SHARE POINT, in modo tale che possa permettere un’agevole condivisione di dati ed informazioni tra studenti, docenti, genitori e personale amministrativo sfruttando le caratteristiche della suite MICROSOFT OFFICE. L’obiettivo è quello di valorizzare i punti salienti di una scaletta illustrativa consegnata direttamente dalla scuola stessa, e concernente criticità a livello di gestione di documenti condivisi, accessi protetti e dati sensibili, quali anagrafiche e risultati studenteschi. Vista l’impossibilità da parte della scuola di disporre di server propri per la messa online di tale piattaforma, l’ipotesi iniziale è quella di porla su quelli dell’Università: dunque ulteriore step per lo sviluppo sarà legato ad un primo sviluppo in locale del progetto, all’interno di una macchina virtuale predisposta a tale uso, e il susseguente trasferimento dei semilavorati ottenuti sul server universitario, con seguenti criticità legate allo stesso trasferimento. I capitoli della tesi sono così distribuiti:  2) e 3) presentano le specifiche richieste dal committente, e la relativa analisi del progetto;  4) descrive le strumentazioni hardware e software necessarie;  5) propone un setup per poter procedere nel progetto;  6) imposta le strutture di base dell’applicazione web;  7) analizza e risolve uno dei problemi più complessi a livello di utenza anonima: l’accesso ad un database in SQL SERVER;  8) e 9) vanno ad affrontare la problematica dell’utenza e della gestione della lingua;  10) approfondisce tematiche relative a tweaks di sviluppo per migliorare il prodotto;  11) propone una personale riflessione sul prodotto e spunti futuri del lavoro creato. 6
  • 8. 2. PRESENTAZIONE DELLE RICHIESTE La scuola, commissionaria del progetto di tesi, vuole ottenere un prodotto finale che permetta di:  Avere dalle cinque alle sette aree tematiche  Avere approfondimenti di secondo livello  Usufruire di quattro differenti tipologie di accesso privilegiato mediante login (Docenti, Studenti, Genitori, Segreteria) ed uno anonimo senza login  Poter tracciare le circolari  Avere una newsletter  Avere un forum moderato  Avere un blog con animatori  Gestire una piattaforma di e-learning  Avere una grafica accattivante ed innovativa  Avere una versione inglese della piattaforma  Essere ad alto indice di usabilità Oltretutto, la stessa ha già consegnato una struttura di massima del portale, definendo macrolivelli e dettagli di primo e secondo livello, come indicato in APPENDICE A. 7
  • 9. 3. ANALISI DELLE RICHIESTE Le richieste della scuola risultano portare criticità, in particolar modo nella gestione delle risorse archiviate dalla scuola, sia per quelle legate ad un elevato standard di sicurezza per gli utenti autenticati, ma anche nella gestione della stessa piattaforma in formato multilingua. Il progetto, di per sé, non richiede grossi approfondimenti nella gestione delle più basilari strutture online, poiché la gestione dei contenuti standard HTML, quali pagine formattate e tabelle, risulta molto agevole, sia lavorando online che tramite lo strumento di sviluppo fornito dalla stessa MICROSOFT (di cui tratteremo a breve). Più interessante, invece, risulta la gestione dei dati, caricati da un database esterno (che possa essere su motore SQL SERVER, oppure ACCESS, giusto per restare in ambiente MICROSOFT): se la gestione a livello di utente autenticato è relativamente semplice, più articolata è la sua gestione se l’utente è anonimo. Restando a livello utente, la gestione degli accessi è importante per poter permettere di soddisfare quei parametri di accesso privilegiato, indicati dalla scuola, che distinguano i differenti target di utilizzo dell’applicazione che si sta creando. Questo elemento può andarsi a scontrare con i mezzi a disposizione per lo sviluppo del progetto (e di questo tratteremo nel relativo capitolo). La gestione di risorse multilingua deve essere gestita nell’ambiente, e l’intento è quello di sfruttare (per quanto possibile) le opportunità concesse da SHARE POINT, per tale frangente: avere una struttura per il più possibile preconfigurata, in modo tale da poter creare un’unica applicazione, e non duplicare (inutilmente) i contenuti. Discorso a parte è la piattaforma di e - learning: confrontandosi con lo stesso relatore, questa risulta a priori ingestibile, per problemi di requisiti hardware troppo elevati rispetto ai limitati mezzi a disposizione. 8
  • 10. 4. STRUMENTI NECESSARI ALLO SVILUPPO DEL PROGETTO Il progetto, come già dichiarato, richiede l’utilizzo del seguente elenco di hardware e software. Di seguito ne descriveremo le caratteristiche. 4.1. HARDWARE 4.1.1. PC NOTEBOOK SONY VAIO VPCB1S1E È il portatile a disposizione del laureando, montante un processore INTEL CORE I5 DUALCORE e scheda grafica ATI MOBILITY RADEON HD 5650 con 1 GB di memoria grafica dedicata, HARD DISK da 500 GB e 4 GB di RAM DDR III. Le caratteristiche tecniche del calcolatore sono adatte a sostenere la virtualizzazione di una macchina virtuale, quale ambiente di test, da poter utilizzare quale server e visibile alla macchina fisica (che si interfaccerà con esso quale client). Figura 1 - Sony Vaio VPCEB1S1E 4.1.2. SERVER UNIVERITARI I server universitari sono costituiti da 7 macchine fisiche su cui sono virtualizzati 10 ulteriori server. Quello di nostro interesse è chiamato SRV4: un server virtuale, appartenente al dominio DI3, monta WINDOWS SERVER 2008 R2 X64 SP2, con 4 GB di RAM e 126GB di HD, e vi è installato SHARE POINT FOUNDATION 2010. Su questo verrà attivata l’applicazione in oggetto. 9
  • 11. (Per avere dati relativi all’attuale situazione dei servers del DI3, si legga la tabella in APPENDICE B) 4.2. SOFTWARE 4.2.1. VMWARE PLAYER È il software che ci permetterà di virtualizzare il nostro ambiente di test per il progetto. Al suo interno è stato montato WINDOWS SERVER 2008 R2 X64, configurato per garantirci le prestazioni di dominio (la configurazione sarà descritta nel paragrafo 5.1). 4.2.2. MICROSOFT SHARE POINT FOUNDATION 2010 È il software che permette la gestione di una piattaforma SHARE POINT. Interfacciandosi al dominio, va a generare il sito di AMMINISTRAZIONE CENTRALE dell’ambiente SHARE POINT, e i siti e sottositi su cui verrà sviluppato il nostro progetto. 4.2.3. MICROSOFT SHARE POINT DESIGNER 2010 È il prodotto, sviluppato da MICROSOFT, che ci permetterà di lavorare, senza dover operare Figura 2 - Schermata di Microsoft Share Point Designer 2010 direttamente sulla macchina server, sull’applicazione. È sostituibile, parzialmente, da un qualsiasi browser sul mercato al momento (quello più adatto e compatibile è risultato INTERNET EXPLORER 9): SPD però ci permette di lavorare in maniera più articolata su determinate 10
  • 12. strutture del portale, che nella gestione on-the-site non risultano facilmente gestibili nella configurazione. 4.2.4. MICROSOFT SQL SERVER 2008 È il DBMS (DATABASE MANAGEMENT SYSTEM) che verrà utilizzato per la possibile gestione di dati contenuti nel database consegnato dalla scuola. Questo è oltretutto necessario per poter installare SHARE POINT FOUNDATION 2010. Risulterà interessante analizzare come poter gestire e concedere l’accesso a quest’ultimo tramite SQL SERVER all’utente anonimo (principale fruitore della piattaforma). 4.2.5. MICROSOFT ACCESS 2010 Software appartenente alla suite MICROSOFT OFFICE 2010, sarà utile per la gestione dei dati contenuti nel database a disposizione per l’end-user, ed in egual maniera per la gestione dei dati disponibili sul portale. 11
  • 13. 5. PRIMA DI COMINCIARE Per poter cominciare a lavorare sul progetto, vi è la necessità di avere opportuni settaggi, sia all’interno dell’ambiente di test, con la configurazione della macchina virtuale, sia a livello della macchina fisica. 5.1. CONFIGURAZIONE DELL’AMBIENTE DI TEST SU MACCHINA VIRTUALE Avviato VMWARE PLAYER e creata la macchina virtuale con installato al suo interno WINDOWS SERVER 2008 R2 STANDARD, il primo step necessario sarà quello di configurare WS come dominio di server. Autenticati ed entrati nella schermata di START, si dovrà accedere al SERVER MANAGER per poter attivare i RUOLI necessari alla macchina: a) Prima di tutto, deve essere attivato il ruolo di SERVER DI DOMINIO ACTIVE DIRECTORY. Con tale ruolo, la macchina potrà fungere da Dominio (definito nel nostro caso PUPONE) per poter gestire utenze che si interfacciano come client a questa. Avviando la configurazione guidata, con il comando DCPROMO.EXE, della ACTIVE DIRECTORY, oltre che alla definizione del nome di dominio, sarà importante consentire la generazione di un SERVER DNS, per poter tradurre nel modo corretto le richieste di connessione, e l’introduzione di un DHCP AUTOMATICO, così che non vi siano problemi nella configurazione locale della piattaforma; b) Senza dover apportare modifiche a tali moduli, verranno attivati anche i ruoli di SERVER WEB e SERVER APPLICAZIONI. Importante sarà soprattutto il primo, per poter gestire l’accesso anonimo. Seguentemente, all’interno del sistema verrà installato MICROSOFT SQL SERVER 2008, i quali settaggi nella configurazione di installazione risulteranno essere quelli già preindicati nell’installazione standard. Il DBMS permetterà di installare MICROSOFT SHARE POINT FOUNDATION 2010 su WS: tramite la CONFIGURAZIONE GUIDATA PRODOTTI SHARE POINT potremo connettere tutte le applicazioni SHARE POINT create al dominio generato in precedenza, ed inoltre poter creare i rispettivi database su 12
  • 14. SQL SERVER (che, sottolineo, NON DEVONO essere assolutamente toccati, poiché si andrebbe a intaccare la stabilità di tutto il sistema SP). Figura 3 - Ruoli attivi su Macchina virtuale Al primo avvio sarà da configurare la farm di SHARE POINT: a) Nella schermata iniziale, selezionare AVVIA LA PROCEDURA GUIDATA; b) Settare, nella pagina successiva, come ACCOUNT DI SERVIZIO quello esistente di amministratore, e mettere le spunte su RACCOLTA DATI DI UTILIZZO E INTEGRITÀ e su SERVIZIO DI INTEGRAZIONE APPLICATIVA DEI DATI; c) Nella schermata successiva, si creerà la pagina dell’amministrazione centrale (importante anche qui è bene NON operare in tale home, pena grossi problemi di gestione e stabilità). Avvenuta la creazione dell’AMMINISTRAZIONE CENTRALE, vi è la necessità di creare il sito di test: per fare ciò, acceduti all’AC come ADMINISTRATOR, saranno da seguire tali passaggi: a) Nella colonna di Sinistra, accedere a GESTIONE APPLICAZIONI; b) Ora, nel riquadro centrale, premere GESTIONE APPLICAZIONI WEB; c) Nella nuova schermata, nella RIBBON BAR, premere NUOVA; 13
  • 15. d) Nel riquadro apparso, definire, conservando il resto, il NUMERO DI PORTA dell’applicazione, il NOME DEL SITO IIS, e settare SI su CONSENTIRE ACCESSO ANONIMO. In tale modo è stata creata l’applicazione su cui creare la RACCOLTA DI SITI. La raccolta di siti serve per poter gestire tutti i contenuti a disposizione della piattaforma in progetto. Per poter configurare tale raccolta, si procederà in tale maniera: a) Dall’AMMINISTRAZIONE CENTRALE, premere cREA RACCOLTA SITI; b) Nella nuova pagina, indicare l’APPLICAZIONE WEB su cui questa poggerà (in questo caso quella appena creata), TITOLO, DESCRIZIONE (facoltativa), INDIRIZZO DEL SITO WEB (che sarà l’indirizzo dell’applicazione seguito da ciò che verrà definito), SELEZIONE MODELLO (in questo caso è adatto il Sito del Team), e indicare l’AMMINISTRATORE PRINCIPALE DELLA RACCOLTA DEI SITI (l’ADMINISTRATOR). Salvato, si potrà cominciare a lavorare sulla macchina virtuale. Figura 4 - Creazione dell'applicazione web In aggiunta, è stato installato anche sulla macchina virtuale MICROSOFT SHARE POINT DESIGNER 2010, di cui però verrà approfondito nel prossimo paragrafo. 14
  • 16. 5.2. CONFIGURAZIONE DELLA MACCHINA FISICA Questo passaggio risulta importante per potersi interfacciare, al di fuori del browser web, ai portali creati in ambiente Share Point. Sulla macchina fisica non verrà installato nulla al di fuori di SHARE POINT DESIGNER 2010: l’installazione non richiederà alcun settaggio particolare, mentre sarà importante avere i dati corretti per poter lavorare sui portali. All’apertura del programma, difatti, verrà richiesto il sito in cui è locata l’applicazione. Il progetto verterà su due applicazioni, con il relativo nome:  Applicazione di produzione (già disponibile ed accessibile come utente amministratore): http://srv4.di3.units.it:30120  Applicazione di Sviluppo e Test: http://win-n1hiicm56v1:25544/ Ovviamente per entrambi gli accessi sono necessari il proprio NOME UTENTE e PASSWORD, e che questi siano legati ad un account di amministratore, cosicché si possano editare i contenuti. Da ricordare inoltre che per accedere al server di test, dobbiamo, per ovvi motivi, avere attiva la macchina virtuale. 15
  • 17. 6. STRUTTURA DELL’APPLICAZIONE 6.1. SVILUPPO DELLA HOME PAGE Pronte le due piattaforme, andiamo a definire la struttura dell’applicazione. Figura 5 - Home Page dell'applicazione Nella home page l’interesse è quello di proporre tutti gli elementi salienti della scuola, sia a livello di prestigio, che a livello di comunicazione con il pubblico. Dunque si è optato per introdurre questi elementi:  Nella QUICK BAR gli elementi di più facile accesso, quali STORIA DELLA SCUOLA, CORSI, ISCRIZIONI e CIRCOLARI (l’accesso a quest’ultimo è stato limitato ai soli utenti registrati). Inoltre, sempre riservato e nascosto alla vista dei utenti senza autorizzazione, vi è presente il FORUM interno. Interessante osservare che la QUICK BAR costruita potrà essere elaborata sia tramite connessioni ad elenchi (così sono definiti in SP) costruiti tramite SP, oppure quali link a pagine o file, indicati dal creatore. Inoltre, questa risulterà standard e conservata per tutte le pagine del sito su cui si sta lavorando (in questo caso il MAIN SITE). Per poter editare la QUICK BAR, tramite la RIBBON BAR selezionare AZIONI SITO, IMPOSTAZIONI SITO: nella nuova schermata selezionare nell’area aspetto l’icona AVVIO VELOCE. Da qui si 16
  • 18. potranno aggiungere / editare / eliminare TITOLI e COLLEGAMENTI DI SPOSTAMENTO. Di base si troveranno gli elementi precostruiti da SP; questi saranno solitamente eliminati, poiché editati per altra via;  Nella colonna centrale sono presenti le NEWS di pubblico interesse, che verranno caricate direttamente dalla scuola sia on-the-web sia attraverso un qualsiasi programma della suite MICROSOFT OFFICE. Vista la versatilità dell’ambiente, è possibile accedere a tali elenchi tramite un qualsiasi client per SP (nei test si è provato a caricare materiale con successo tramite SHAREPLUS per IPAD).  Nella colonna di destra, un calendario con le attività presenti e future della scuola. Per questa webpart si può osservare che, selezionandola ed accedendovi come utente autorizzato alla modifica, vi si può effettuare la MODIFICA DELLA VISUALIZZAZIONE CORRENTE. Per la soluzione proposta, si è optato di far visualizzare unicamente DATA DI INIZIO e NOME dell’evento, con ordine crescente relativo all’ora di inizio. Per poter visualizzare unicamente gli elementi in programma dalla data odierna in poi, si è usato il seguente escamotage, vista l’impossibilità di usare direttamente DATA DI INIZIO come confronto: si è introdotta una colonna calcolata definita CONTROLLO, equivalente a DATA DI INIZIO, consentendo la visualizzazione degli elementi che siano maggiori o uguali ad [OGGI];  Nella BARRA SUPERIORE invece sono presenti i SUBSITES che verranno creati successivamente e, come segnalato dalla scuola, saranno le macroaree ISTITUTO, PROGETTI e ATTIVITÀ. Da notare la particolarità di questa barra: questa sarà condivisa non solo dalle pagine del MAIN SITE, ma anche da tutti i suoi SUBSITES, dunque si avrà accesso diretto, senza dover effettuare alcuna configurazione aggiuntiva, a tutte le pagine dell’applicazione. 17
  • 19. Figura 6 - Configurazione della webpart Calendario 6.2. CREAZIONE DEI SUBSITES La creazione dei SUBSITES rispetterà dei passaggi leggermente diversi rispetto a quello del MAIN SITE: a. Da una qualsiasi posizione del MAIN SITE, dopo essersi autenticati con diritti di amministratore, premere sulla RIBBON BAR su AZIONI SITO; b. Dalla finestra apparsa, selezionare NUOVO SITO; c. Nella schermata successiva, impostare TITOLO, DESCRIZIONE, NOME URL; d. A livello di autorizzazioni, Per convenienza spuntare UTILIZZA LE STESSE AUTORIZZAZIONI DEL SITO PADRE, NO per VISUALIZZA IL SITO NELLA BARRA DI AVVIO VELOCE DEL SITO PADRE, SI per VISUALIZZA IL SITO NELLA BARRA DEI COLLEGAMENTI SUPERIORE DEL SITO PADRE e per UTILIZZA LA BARRA DEI COLLEGAMENTI SUPERIORE DEL SITO PADRE. La struttura appena definita sarà quella impostata per i SUBSITES creati per il progetto. La struttura ad albero si può perpetuare fino a maggiori profondità: difatti anche i SUBSITES possono avere dei loro sotto siti relativi. Importante è ricordare però che i contenuti del SUBSITE possono essere letti dai siti genitori, ma non viceversa. Dunque liste ed elenchi ad un 18
  • 20. livello N potranno essere letti da tutti i siti del ramo di livello minore di N, ma non da quelli di livello maggiore. 6.3. CREAZIONE DELLA PAGINA WEB GENERICA Pur potendo sembrare banale, il trattamento della pagina web risulta essere particolare, e richiede l’utilizzo di un workaround per poter eliminare un fastidioso problema per la QUICK BAR presente in tale pagina. Come impostazione standard, difatti, la pagina web creata sarà configurata come PAGINA WIKI, e dunque manterrà nell’estremità superiore della QUICK BAR l’area documenti recenti: questa conterrà gli ultimi elementi acceduti o modificati nell’applicazione, risultando fastidiosa ed inutile allo scopo. Per poter aggirare il problema, viene proposto questo trick: a) Dopo l’autenticazione, premere su AZIONI SITO; b) Nella finestra a scorrimento, NON selezionare NUOVA PAGINA, bensì ALTRE OPZIONI; c) Nella nuova schermata, selezionare ELENCO PERSONALIZZATO; d) Definire nella nuova pagina NOME, DESCRIZIONE e spuntare SI per VISUALIZZA L’ELENCO DI TIPO ELENCO SULLA BARRA DI AVVIO VELOCE; e) Ora aprire MICROSOFT SHARE POINT DESIGNER 2010, accedere all’applicazione interessata, selezionare dall’area OGGETTI SITO l’elemento ELENCHI E RACCOLTE, e dunque cliccare sull’elenco appena creato; f) Nella nuova schermata apparsa, accedere a TUTTI GLI ELEMENTI nell’area VISUALIZZAZIONI; g) Ora apparirà, dopo il caricamento della pagina master, l’editor della pagina; h) Da qui nella PLACEHOLDERMAIN selezionare WEBPARTPAGES e cancellarla; i) Svuotata la pagina, premere INSERISCI, WEB PART, EDITOR CONTENUTO. In tale maniera avremo ottenuto la pagina desiderata, con URL http://<NOMESITO>/list/<NOMEELENCO>/AllItems.aspx, con la possibilità di non avere la zona RECENTLY OPENED nella zona superiore alla QUICK BAR, poiché la pagina rispetterà la struttura di una pagina elenco. 19
  • 21. 7. ACCESSO DATI DEL DATABASE IN MICROSOFT SQL SERVER 2008 Uno dei più grossi problemi che si possono riscontrare nella gestione dell’applicazione in ambiente Share Point, nella fattispecie per permettere la visualizzazione dei dati ad un utente non autenticato, è quello della gestione dei dati attinti da un db esterno all’applicazione. Difatti, le protezioni del DBMS in soggetto sono tali da non concedere l’accesso a utenti non autorizzati dal dominio: l’obiettivo dunque sarà quello di accedervi primariamente con un utente effettivamente autorizzato, senza violare le protezioni di SQL SERVER (mantenendone così la stabilità e la sicurezza), e dunque elaborare il codice per permettere l’accesso dell’utente anonimo. La procedura qui indicata è una commistione di spunti e guide ricercate su internet, il cui elenco è presente nella BIBLIOGRAFIA. 7.1. CREAZIONE DEL MODELLO IN SHARE POINT DESIGNER 2010 Prima fase sarà quella di collegare il db come tipo di contenuto esterno a SP. Figura 7 - Selezione di External Content Type 20
  • 22. a) Aperto SPD 2010, cliccare su EXTERNAL CONTENT TYPES (Tipi di contenuto esterno); b) Sulla RIBBON, premere NEW EXTERNAL CONTENT TYPE; c) Nella nuova finestra, cliccare su CLICK HERE TO DISCOVER EXTERNAL DATA SOURCES AND DEFINE OPERATIONS; d) Premere su ADD CONNECTION nell’area EXTERNAL DATA SOURCE e selezionare come tipo di DATA SOURCE SQL SERVER; e) Nella finestra successiva, indicare il NOME DEL SERVER, il NOME DEL DB e il tipo di autenticazione USER IDENTITY AUTHENTICATION; f) Ora, selezionare le OPERATIONS utili allo scopo: nel nostro caso, può tranquillamente andar bene fare ADD ALL OPERATIONS; Figura 8 - Operazioni attive sul contenuto esterno Otterremo in questo modo un qualcosa di similare all’immagine qui sopra, ed avremo il nostro contenuto esterno. 7.2. CREAZIONE DELLA LISTA ESTERNA Secondo step del processo sarà quello di creare la lista esterna da visualizzare nell’applicazione. a) Aperto il sito SP sul browser, andare IN SITE ACTIONS, VIEW ALL SITE CONTENTS; b) Selezionare CREATE, e dunque nell’area CUSTOM LISTS, EXTERNAL LIST (lista esterna); c) Nella nuova schermata, indicare il NOME DELLA LISTA e la DESCRIZIONE; d) Ora apparirà una selezione di contenuti esterni: selezionare quello di nostro interesse; e) Cliccare su CREATE. La lista però in tale maniera non risulterà ancora utilizzabile: poiché non sono ancora stati configurati i permessi, otterremo, nel tentativo di accesso alla lista, se non autenticati su SQL SERVER, una schermata con indicante ACCESS DENIED BY BUSINESS DATA CONNECTIVITY. 21
  • 23. Figura 9 - Creazione nuova lista esterna 7.3. CONFIGURAZIONE DEI PERMESSI AUTENTICATI Ora vanno configurati i permessi di accesso a tale contenuto esterno: a) In CENTRAL ADMINISTRATION, selezionare APPLICATION MANAGER; b) Nella nuova schermata, cliccare MANAGE SERVICE APPLICATIONS; c) Dunque, cliccare BUSINESS DATA CONNECTIVITY SERVICE; d) Spuntare il contenuto creato e cliccarepermessi object permissions; Figura 10 - Configurazione su set per contenuto esterno 22
  • 24. e) Nella nuova finestra, aggiungere gli utenti che necessitano l’accesso, e configurarne i permessi. Qui il problema sorge se proviamo ad autenticare un utente anonimo: l’aggiunta dell’utente ‘NT AUTHORITYANONYMOUS LOGON’ produrrà un errore di login. 7.4. CONFIGURAZIONE DELL’APPLICAZIONE PER L’UTENTE ANONIMO Nuovo step necessario per poter superare tale problema sarà quello di configurare l’applicazione per poter gestire l’accesso anonimo al db: vi è il bisogno di attivare la REVERTTOSELF AUTHENTICATION. Questo metodo di autenticazione si differenzia dalla WINDOWS AUTHENTICATION poiché l’utente che viene autenticato viene attinto direttamente dall’IIS APPLICATION POOL, non facendo impersonare all’IIS un particolare account. Dunque permette all’ anonymous user di accedere ai contenuti del database. Ora necessitiamo di configurare i servizi necessari per attivare la REVERTTOSELF: a) Accediamo alla SHELL DI GESTIONE SHARE POINT 2010 come amministratore; b) Digitiamo le seguenti linee di comando: $apps = Get-SPServiceApplication $apps //cerchiamo servizio di applicazione integrativa dei dati e contiamo la sua riga $bcs = $apps[i] // con i numero di riga – 1 $bcs.RevertToSelfAllowed = $true $bcs.Update(); In questo modo l’applicazione che legherà il nostro database all’applicazione web che stiamo creando non ci ostacolerà nell’accesso. Passiamo dunque a configurare l’IIS per l’accesso anonimo, per poi configurare il database in SQL SERVER. 7.5. CONFIGURAZIONE DELL’IIS L’IIS, INTERNET INFORMATION SERVICES, è un complesso di servizi server internet per sistemi WINDOWS, utile poiché l’applicazione server non è in grado da sé di eseguire elaborazioni server – side, e necessita la delega ad applicazioni ISAPI (fornite dalla stessa MICROSOFT). 23
  • 25. Il bisogno relativo al progetto sarà quello di configurare l’IIS per poter avere un utente esistente configurato come utente anonimo: a) Accedendo a SERVER MANAGER, RUOLI, SERVIZI DI DOMINIO ACTIVE DIRECTORY, UTENTI E COMPUTER ACTIVE DIRECTORY, <NOSTROSERVER>, USERS, creiamo il nostro utente anonimo, (nel nostro caso chiamato AUSR); Figura 11 - Accesso agli utenti tramite Server Manager b) Spostandosi in GESTIONE INTERNET INFORMATION SERVICES (IIS), accedere al server di dominio; c) Entrati in SITI, selezionare l’applicazione web di interesse; d) Con il tasto destro, cliccare su AUTENTICAZIONE ANONIMA e dunque su MODIFICA; Figura 12 - Schermata per la configurazione dell'utente anonimo in IIS 24
  • 26. e) Premere su IMPOSTA nel riquadro UTENTE SPECIFICO, ed indicare nella nuova finestra NOME UTENTE e PASSWORD (e confermarla). L’utente creato in tale modo sarà considerato dall’IIS quale quello anonimo. 7.6. CONFIGURAZIONE DELL’UTENTE ANONIMO IN MICROSOFT SQL SERVER 2008 Prossimo step è quello di configurare SQL SERVER, ed il database di interesse per l’accesso con l’utente desiderato. a) Avviare MICROSOFT SQL SERVER MANAGEMENT STUDIO, ed autenticarsi; Figura 13 - Schermata iniziale in SQL Server 2008 b) In SECURITY, premere con il tasto destro su LOGINS, e selezionare NEW LOGIN; c) Da qui indicare l’utente desiderato (es. AUSR), premendo su SEARCH e scrivendone il nome (l’utente qui non necessiterà di ulteriori configurazioni); d) Ora, andare in DATABASES, e selezionare quello che è stato collegato al contenuto esterno; e) Entrare in SECURITY; f) Con il tasto destro premere su USERS e cliccare su NEW USER; g) Definire NAME, LOGIN NAME (anche questo con il tasto search); h) In DATABASE ROLE MEMBERSHIP, spuntiamo DB_OWNER; L’utente in tal modo creato avrà così diritto di accesso al db in cui questo è stato autenticato. Ora non resta che configurare il contenuto di tipo esterno nell’applicazione web in modo tale che possa usufruire e godere delle proprietà della REVERTTOSELF AUTHENTICATION. 25
  • 27. Figura 14 - Configurazione dell'utente in SQL Server 7.7. BCD IDENTITY SETTING PER L’UTENTE ANONIMO Riprendendo ciò che è stato spiegato al punto 7.3, diamo i permessi ad un utente (esistente) a nostro piacere. Necessitiamo di questo passaggio per poter modificare e creare l’accesso per l’utente anonimo. a) Avviando SPD 2010, selezionare TIPI DI CONTENUTO ESTERNO; b) Evidenziare il contenuto di interesse, e dunque premere nella RIBBON BAR su ESPORTA MODELLO DBC; c) Nella nuova finestra, dare un NOME al file esportato, selezionando nelle impostazioni CLIENT, e premere ok, salvando nella posizione preferita; d) Aprire il file esportato con un qualsiasi elaboratore di testi (è sufficiente anche BLOCCO NOTE); e) Cercare tutte le righe indicanti <AccessControlEntry Principal="<UTENTE_DA_NOI_CREATO"> <Right BdcRight="Execute" /> </AccessControlEntry> e sostituirle con 26
  • 28. <AccessControlEntry Principal="NT AuthorityAnonymous Logon"> <Right BdcRight="Execute" /> </AccessControlEntry> ottenendo un codice come quello proposto qui sotto Figura 15 - Frammento di codice del LobSystemInstance f) Salvare il file; g) Eliminare da SPD 2010 il contenuto esterno creato (questo non comporterà la perdita del lavoro finora compiuto); h) Andando nell’AMMINISTRAZIONE CENTRALE, accedere in gestione applicazioni; i) Nell’area APPLICAZIONI DI SERVIZIO, premere GESTISCI APPLICAZIONI DI SERVIZIO; j) Nella nuova schermata, selezionare ed accedere al SERVIZIO DI INTEGRAZIONE APPLICATIVA DEI DATI; Figura 16 - Servizio di applicazione integrativa dei dati in Servizi applicazioni k) Nella nuova finestra, fare IMPORTA; l) Indicare dove si trova il file, e spuntare MODELLO, NOMI LOCALIZZATI, PROPRIETÀ, AUTORIZZAZIONI nelle relative aree; m) L’elemento inserito risulterà uguale a quello creato in precedenza, però accedendo ai permessi indicati in 7.3 si potrà verificare la presenza dell’ANONYMOUS LOGON. 27
  • 29. Figura 17 - Configurazione import modello BDC Per completare, andare in START e digitare IISRESET, così da ripulire la BCS cache. 7.8. RISULTATO DEL PROCESSO In tale maniera, se provassimo ad accedere alla lista creata come utente anonimo, otterremmo un tale risultato: Come si può notare, appare la lista, pur essendo indicato nella RIBBON l’elemento ACCESSO, che sta a sottintendere l’utenza anonima. 28
  • 30. 8. GESTIONE DELL’APPLICAZIONE IN MODALITÀ MULTILINGUA SHARE POINT 2010 ha come suo cavallo di battaglia l’implementazione di una efficiente gestione multilingua delle proprie strutture. Dalla versione 2010, difatti, è stata introdotta la MUI, MULTI LANGUAGE USER INTERFACE, che consente una gestione modulare di titoli, descrizioni, menù, azioni, colonne e collegamenti della barra di navigazione. Questa caratteristica è molto interessante poiché permette di creare un’unica applicazione in diverse lingue con un’estrema facilità (basta praticamente sostituire lingua per lingua le varie “etichette” degli elementi) per gli utenti autenticati. È difatti proprio quest’ultima la grossa limitazione della piattaforma SHARE POINT: l’impossibilità di scelta della lingua per l’utente anonimo. La lingua sarà infatti scelta quale quella predefinita per l’applicazione, non consentendo di sfruttare tale interessantissima opportunità. L’unica idea praticabile, anche sebbene poco efficace e alla fin fine controproducente rispetto ai parametri di semplicità basilari per l’applicazione in progetto, sarebbe quella di creare due applicazioni parallele, una predefinita in italiano, ed una in inglese. Questo però porterebbe ad una fastidiosa duplicazione dei contenuti, a cui non si è riusciti a trovare una soluzione. Se il problema dell’utente anonimo, in questo caso, non risulta risolvibile, la gestione multilingua per l’autenticato è invece decisamente semplice: a) Scaricare dalla pagina www.microsoft.com/downloads/it- it/details.aspx?familyid=046f16a9-4bce-4149-8679-223755560d54&displaylang=it il LANGUAGE PACK di nostro interesse (selezionare la lingua di interesse da installare, per il progetto la lingua inglese), ed installare tale file su WS; b) Accedendo autenticati via browser all’applicazione, dalla RIBBON BAR accedere in AZIONI Figura 18 - Impostazioni lingua 29
  • 31. SITO, IMPOSTAZIONI SITO; c) Nell’area AMMINISTRAZIONE SITO, selezionare IMPOSTAZIONI LINGUA; d) Ora impostare, tra le LINGUE ALTERNATIVE, quella di interesse per il progetto (es. inglese), e impostare NO per l’opzione SOVRASCRIVI TRADUZIONI; e) Per editare le varie LABELS, accediamo, premendo sul nome utente/seleziona lingua di visualizzazione, a quella di nostro interesse, e cominciamo ad editare RIBBON BAR, QUICK BAR e WEB PART a nostro piacimento. Qui sotto è possibile vedere un esempio delle possibilità fornite dalla MUI di SHARE POINT 2010, in questo caso per la gestione della QUICK BAR. Figura 19 - Quick Access Bar con modifica tramite MUI 30
  • 32. 9. GESTIONE DEGLI ACCESSI E PERMESSI DEGLI UTENTI Altro tasto di ardua gestione all’interno del progetto è quello della gestione dei permessi degli utenti: è un problema non tanto a livello software, ma piuttosto a livello hardware. Se infatti, tralasciando le difficoltà che si possono riscontrare a livello di privacy nella gestione dei contenuti riservati consegnati dalla scuola, quali rendimenti scolastici, anagrafiche, o più in generale dati sensibili, il grosso problema risiede nel poter sostenere adeguatamente un’alta quantità di accessi autenticati a tale applicazione: se non vi sono dei requisiti hardware sufficienti, non sarà possibile consentire l’accesso ad un numero elevato di utenze. Oltretutto, la gestione delle utenze richiederebbe la creazione di un database supplementare e parallelo a quello che è già a disposizione in Università: percorso impraticabile anche considerando la possibilità di introdurre le utenze all’interno dello stesso database universitario, poiché un migliaio di nuovi accrediti risulterebbero insostenibili. Dialogando con la scuola, ed interfacciandosi con il relatore, si è giunti alla conclusione di ridurre, almeno momentaneamente, il numero di utenti richiesti, limitandoli ad un gruppo selezionato di docenti ed al personale amministrativo, concedendo a questi l’accesso alle zone riservate CIRCOLARI e FORUM. Essendo questi due ultimi delle liste teoricamente accessibili anche all’utente anonimo, la priorità sarà quella di proteggere e nascondere a tale utenza il link di accesso, settando correttamente i diritti di visualizzazione e gestione. Figura 20 - Informazioni elenco Nel progetto, ad esempio, si può andare a nascondere l’accesso all’area forum: a) Accedendo tramite browser all’applicazione, andare in AZIONI SITO, IMPOSTAZIONI SITO; 31
  • 33. b) In AMMINISTRAZIONE SITO, selezionare RACCOLTE ED ELENCHI DEL SITO; c) Selezionare PERSONALIZZA <NOME_LISTA>; d) Nella nuova finestra, selezionare AUTORIZZAZIONI PER L’ELENCO DI TIPO <TIPO_ELENCO>; e) Selezionare, nella RIBBON BAR, INTERROMPI EREDITARIETÀ AUTORIZZAZIONI; f) Nella stessa barra, selezionare ACCESSO ANONIMO; g) Togliere le spunte per tutte le opzioni presenti; Figura 21 - Accesso anonimo per Liste h) Premere OK; In tal modo, e reiterando il ragionamento a tutte le liste di interesse, sarà possibile proteggere in modo adeguato le strutture che lo richiederanno. 32
  • 34. 10. TIPS & TRICKS DI SVILUPPO DELL’APPLICAZIONE Poiché l’applicazione alla base del progetto non è puramente la struttura di SITE e SUBSITES, e neppure unicamente la gestione dell’accesso anonimo al db, può risultare interessante osservare quali siano quei passaggi, quei trucchi, che permettono di avere un’applicazione più pulita e piacevole all’utente finale. 10.1. INTEGRAZIONE DELL’ACCESSO AL DB SU PIATTAFORMA ACCESS Seppur possa sembrare banale ed, anzi, controproducente per un utente più smaliziato, la conversione dell’accesso dei dati del db SQL Server per un end user inesperto potrebbe risultare solo che conveniente, avendo un approccio più leggero e ordinato quale quello in MICROSOFT ACCESS. Dovendoci relazionare con un personale amministrativo che non può stare a perder tempo per comprendere cosa sia SQL SERVER, l’obiettivo di questo paragrafo è quello di fornire un piccolo modulo, utilizzabile in MICROSOFT ACCESS 2010 (oppure 2007). Tale front-end permetterà di elaborare o direttamente i dati presenti nelle liste e non direttamente gestite dal DBMS, oppure quelle presenti nel motore. 10.1.1. ACCESS PER LE LISTE Un primo passo di sviluppo di front-end su ACCESS può essere quello di linkare le liste presenti nell’applicazione in un ACCESS DATABASE. Il procedimento presentato è applicato su MICROSOFT ACCESS 2010: a) Avviato il programma, creare un NUOVO DATABASE VUOTO, indicandone il nome; b) Nella schermata apparsa, selezionare nella ribbon bar DATI ESTERNI; Figura 22 - Ribbon bar di Access 2010 su Dati esterni c) Selezionare ALTRO, e dunque ELENCO DI SHARE POINT; d) Nelle videata successiva, selezionare COLLEGARE ALL’ORIGINE DATI CREANDO UNA TABELLA COLLEGATA, e proseguire; 33
  • 35. e) Dunque, selezionare gli elenchi che interessa avere disponibili nel front-end Access e continuare; Figura 23 - Selezione degli elenchi per il Front-End A questo punto avremo ottenuto il front-end richiesto, con gli elenchi trattati come tabelle linkate. 10.1.2. ACCESS COME FRONT-END SQL SERVER Altro problema che l’end-user può incontrare è quello della gestione “semplificata” dei dati raccolti nel database presente nel DBMS SQL Server. Seguendo lo stesso ragionamento del punto precedente, viene qui proposta una possibile soluzione, sfruttando questa volta però un ACCESS DATA PROJECT: a) Avviare il programma e, nella creazione, andare a selezionare il FOLDER di destinazione: da qui, in SALVA COME impostare PROGETTI DI MICROSOFT ACCESS (*.ADP); 34
  • 36. Figura 25 - Definizione di ADP in Access 2010 b) Nella finestra apparsa, selezionare si; Figura 24 - Settaggi per connessione server SQL Server 35
  • 37. c) Ora inserire i dati necessari, come indicato in FIGURA 25, e premere ok. In questo modo, otterrò accesso a tutte le tabelle presenti nel database collegato, e modificarle a piacimento. 10.2. GESTIONE DI ACCESSO DA DISPOSITIVI MOBILI Altro interessante frangente di analisi è quello della configurazione dell’accesso all’applicazione web da dispositivi mobili, specie al giorno d’oggi. Avere un’interfaccia che si adatti in modo chiaro e comprensibile anche su mobile può risultare un punto a favore del prodotto. Dall’analisi e dai vari tentativi effettuati per una buona impaginazione delle strutture mobile, e da una riflessione relativa ai benefici che possa portate tale formato, si è giunti alla conclusione che, vista l’organizzazione SITE / SUBSITES e dal tipo di contenuti presenti sull’applicazione, non risulti adeguato la gestione fornita da Microsoft. Dunque si è optato per l’eliminazione dell’accesso in formato mobile. Per poter ottenere tutto ciò, necessitiamo di tali passaggi: a) Andare in COMPUTER, ed inserire sulla barra degli indirizzi “inetpubwwwrootwssVirtualDirectories<NUMEROPORTA>App_Browsers”, inserendo al posto di <NUMEROPORTA> il numero della porta associato all’applicazione di interesse; b) Aprire con un editor di testo il file COMPAT.BROWSER; c) Ricercare la stringhe di codice <capability name="isMobileDevice" VALUE="True" /> e sostituirle con <capability name="isMobileDevice" VALUE="False" /> per tutte le volte che risulterà esservi tale stringa. In questo modo otterremo una visualizzazione del sito su dispositivo mobile di tale modo (qui verrà simulata tramite plug – in USER AGENT SWITCHER per MOZILLA FIREFOX, e confrontati i risultati ottenuti su un’applicazione con mobile access disabilitato, a sinistra, e abilitato, a destra). 36
  • 38. Figura 26 - Confronto disabilitazione Accesso per dispositivi mobili 10.3. CONFIGURAZIONE DEL TEMA PER L’UTENTE ANONIMO L’interesse del committente è quello di fornire una pagina più pulita possibile per l’utente principale di tale applicazione: l’ANONYMOUS USER. Questo fattore però viene negato dalla presenza della RIBBON BAR che, pur risultando molto efficace ed efficiente nell’utilizzo in sviluppo, risulta superflua ad un utente che non ha permessi di modifica. Il nostro interesse sarà quello dunque di far sparire tale barra, mantenendo ordinata la pagina. 10.3.1. COME NASCONDERE LA RIBBON BAR Il nostro intervento dovrà essere eseguito sulla MASTER PAGE dell’applicazione. a) Accedendo tramite SPD all’applicazione, accedere a PAGINE MASTER; b) Copiare ed incollare l’elemento v4.master. Questo è necessario per poter ripristinare la pagina in caso di problemi; Figura 27 - Pagine master 37
  • 39. c) Rinominare il file a propria scelta (es. v4Final.master); d) Accedere al file appena creato, e selezionare modifica file; e) Accedere alla vista codice; f) Nello head del codice C#, introdurre tali stringhe: <asp:LoginView id="LoginView" runat="server"> <AnonymousTemplate> <style type="text/css"> body #s4-ribbonrow { display: none; } </style> </AnonymousTemplate> </asp:LoginView> g) Salvare. Tale codice ci fungerà da filtro sulla RIBBON, rendendola invisibile agli utenti non autorizzati. Questo però comporterà anche la sparizione del LOGIN BUTTON, che è necessario per accedere ai contenuti riservati. Vi è la necessità dunque di ripristinare tale bottone, integrandolo nel tema dell’applicazione, configurandone una predefinita personalizzata. 10.3.2. CONFIGURAZIONE DEL TEMA PERSONALIZZATO L’esempio in considerazione recupererà un tema già esistente, da applicare per il tema anonimo. Figura 28 - Core*.css file a) Per un qualsiasi utente autenticato (ad esempio ADMIN), impostare un tema personalizzato; b) Tramite SPD, accedere a TUTTI I FILE/_THEMES/<NUMEROTEMA>; 38
  • 40. c) Con il tasto destro selezionare il primo CORE*.CSS file, e accedere alle proprietà; d) Copiare il TITOLO; e) Accedere alla master page modificata (es. v4Final.master); f) Al di sotto del tag SHAREPOINT:CSSLINK inserire tale codice: <SharePoint:CssRegistration runat=”server” name=”<TITOLO-CORE*.CSS-FILE- DI-PTO-C>” EnableCssTheming=”true” After=”true”/> g) Salvare. Per poter vedere i progressi effettuati, cliccare con il tasto destro sulla pagina master editata e premere sia IMPOSTA COME PAGINA MASTER PREDEFINITA che IMPOSTA COME PAGINA MASTER PERSONALIZZATA. Ora va reintegrato il LOGIN BUTTON: h) All’interno del BODY della pagina master, localizzare la posizione in cui si vuole introdurre il bottone di login (utilizzare anche la doppia visualizzazione per trovare più comodamente la porzione di codice interessata); i) All’interno dei tag DIV di tale porzione, inserire il codice <wssuc:Welcome id="IdLogin" runat="server" EnableViewState="false"> </wssuc:Welcome> <wssuc:MUISelector runat="server"/> j) Per poterlo integrare al meglio il login button con il tema definito, andare a modificare il CORE*.CSS recuperato in c), editando con particolare interesse la sezione le classi .MS- WELCOMEMENU (che determina forme e colori del bottone), .S4-TITLE (per l’editing della barra del titolo) e .S4-TITLETEXT (che concerne le scritte di quest’ultima barra). Nel progetto in questione, si è optato di integrare il LOGIN BUTTON all’interno della TITLE BAR, nascondendo il bottone dalla ribbon anche per gli utenti autenticati, ottenendo un risultato piuttosto pulito: 39
  • 41. Figura 29 - Tema personalizzato con eliminazione Ribbon Bar 40
  • 42. 11. CONCLUSIONI Lo sviluppo dell’applicazione web commissionata da parte della scuola è risultato di grosso interesse, anche a livello formativo. L’utilizzo di un CMS proprietario MICROSOFT come quello SHARE POINT mi ha dato la possibilità di studiare ed analizzare oltre che un nuovo tool, principalmente quali siano i parametri e le caratteristiche che in un prossimo futuro potranno essere utili nell’ambiente lavorativo, mettendomi in evidenza quali siano le informazioni che il committente lavorativo prediligerà. L’apprendimento è stato lento all’inizio, ma colti i passaggi basilari, buona parte dei problemi è stata affrontata e risolta senza grosse difficoltà. L’impiego ha preso una ventina di ore per l’apprendimento delle caratteristiche avanzate, mentre circa altre 200 ore sono state dedicate all’analisi del progetto e della relativa scrittura del codice supplementare al semilavorato ottenuto tramite interfaccia grafica. Apprezzabile, dal mio punto di vista, il livello di protezioni che ha portato le maggiori difficoltà nello sviluppo: l’utenza anonima, dal mio punto di vista, risulta poco considerata da SHARE POINT, e dunque in alcune situazioni solo con workaround articolati si è potuto “aggirare” (anche se non è propriamente il termine più corretto da utilizzare, poiché le protezioni non sono state mai violate) ciò che basilarmente non viene garantito a priori. Proprio questa alta protezione a livello anonimo mi porta a pensare che l’ambiente SHARE POINT sia più adatto ad una funzionalità intranet, piuttosto che internet, pur risultando particolarmente efficiente in quei frangenti in cui non è vi è un grosso livello di gestione di informazioni riservate, o almeno protette. Pur non avendo potuto risolvere, per limiti strutturali (sia a livello software che hardware), problemi quali la gestione dell’ e – learning, delle connessioni multilingua e delle utente, che potranno comunque avere un futuro sviluppo in tale ambiente perché potenzialmente supportate, ma al momento inaccessibili, mi ritengo piuttosto soddisfatto della possibilità fornitami, poiché l’apprendimento di un tool a me completamente sconosciuto sino a prima dell’inizio del progetto, e la possibilità di apprendere quali siano i fulcri che garantiscono ad 41
  • 43. un’azienda di avere una buona comunicazione interna e con il pubblico mi han permesso di migliorare le mie conoscenze ed arricchire piacevolmente il mio curriculum. Il prodotto è in fase di produzione: presi gli accordi con il committente, la struttura dell’applicazione è già esistente ed on-line, anche se ne mancano i contenuti consegnati da quest’ultimo; unitamente, ne vanno raffinate alcune altre caratteristiche non fondamentali, ma esteticamente importanti. Come indicato, possibili sviluppi futuri potranno essere l’implementazione di una piattaforma e-learning, ed un ampliamento delle utenze autenticate: SPD consentirà senza grosse difficoltà (almeno a livello software) di implementare questi. 42
  • 44. 12. BIBLIOGRAFIA Jorg Krause, Christian Langhirt, Alexander Sterff, Bernd Pehlke, Martin Doring – SharePoint 2010 as a Development Platform Tom Carpenter, James Pyles – Microsoft SharePoint 2010 Administration Emer McKenna, Kevin Laahs, Veli-Matti Vanamo – Microsoft SharePoint 2010 all-in-one for Dummies Simone de Bianchi, Maurizio Fermeglia – Sviluppo di applicazioni web con tecnologia Microsoft Sharepoint 2010  Gestione dell’accesso al db in SQL Server http://dontpapanic.com/blog/?p=131 http://blogs.msdn.com/b/bcs/archive/2010/03/12/authenticating-to-your-external- system.aspx http://technet.microsoft.com/en-us/library/ms172405.aspx  Gestione dell’accesso da dispositivi mobili http://blogs.technet.com/b/office2010/archive/2010/03/09/configure-sharepoint-server- 2010-for-mobile-device-access.aspx  Modifica dei temi e della ribbon bar http://social.technet.microsoft.com/Forums/en- US/sharepoint2010customization/thread/12bf4ed1-8bf3-4bc4-b108-8e26e27e8651 http://www.sharepointgeoff.com/sharepoint-foundation-site-anonymous-access-no-theme/ http://erikswenson.blogspot.com/2010/01/sharepoint-2010-base-css-classes.html 43
  • 45. APPENDICE A – MACROLIVELLI E DETTAGLI PROPOSTI DAL COMMISSIONARIO DEL PROGETTO Macrolivello Dettagli I livello Dettagli II Livello ISTITUTO 1A Storia 2A Mission 3A Organigramma 4A Organi Collegiali 5A Piano Offerta Informativa 6A Regolamento Interno 7A I Corsi 7AA Materie dei Corsi 7AB Orario delle lezioni 7AC Docenti e Materie 8A Contatti e Orari Uffici 9A Bilancio Sociale 10A Modulistica 11A Presentazione Attività 12A Modulo di Iscrizione 13A Galleria Fotografica Tematica 14A Studenti Illustri 15A News 16 Dove Siamo PROGETTI 1B Progetto Sport Invernali 1BA E – Learning 1BB Materiale Didattico 1BC Forum Moderati 1BD Registro on – line 1C Progetto Impresa Simulata 1E Progetto Professioni della montagna ATTIVITA’ 1F Biblioteca 2F Emeroteca 3F Laboratori e aule 4F Prodotti educativi (audio, video, foto, testi) 5F Sondaggi on – line Area Protetta da Login e Password AREA DOCENTI 1G Comunicazioni 2G Circolari 3G Formazione 4G Classi 5G Orari docenze / supplenze 6G Registro Elettronico 7G Graduatorie 44
  • 46. 8G Inserisci Documentazione 8GA Notizie 8GB News 8GC Materiale Didattico Area Protetta da Login e Password AREA STUDENTI 1H Comunicazioni 2H Documentazione 3H Materiale didattico 4H Registro Elettronico 5H Libri di testo 6H Attività Studentesche 7H Blog Area Protetta da Login e Password AREA GENITORI 1I Comunicazioni 2I Documentazione 3I Materiale Didattico 4I Valutazione degli allievi 45
  • 47. APPENDICE B – SITUAZIONE SERVER DI3 Stato, a settembre 2011, dei server del DI3. Si ringrazia Dario Cechet per i dati ottenuti. 46