Piccinin Giulio - Tesi PUBB

55
UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA CORSO DI LAUREA TRIENNALE IN INGEGNERIA INFORMATICA Integrazione di un servizio di Podcast per la condivisione di audio/video lezioni in MOSS. Laureando: Giulio Piccinin

Transcript of Piccinin Giulio - Tesi PUBB

Page 1: Piccinin Giulio - Tesi PUBB

UNIVERSITÀ DEGLI STUDI DI TRIESTE

FACOLTÀ DI INGEGNERIA

CORSO DI LAUREA TRIENNALE IN INGEGNERIA INFORMATICA

Integrazione di un servizio di Podcast

per la condivisione di audio/video lezioni in MOSS.

Laureando:

Giulio Piccinin

Relatore:

Chiar.mo Prof. Maurizio Fermeglia

ANNO ACCADEMICO 2009/2010

Page 2: Piccinin Giulio - Tesi PUBB

Sommari

Page 3: Piccinin Giulio - Tesi PUBB

O

1. Introduzione...........................................................................................................................3

2. Perché il Podcast.....................................................................................................................5

2.1. Definizione.......................................................................................................................5

2.2. Utilizzi...............................................................................................................................5

3. Preparazione dell’ambiente software....................................................................................6

3.1. Installazione dei componenti principali............................................................................6

3.2. Configurazione delle Web Application in MOSS 2007......................................................7

4. Integrazione del Podcasting Kit for SharePoint......................................................................8

4.1. Installazione del Podcasting Kit for SharePoint................................................................8

4.2. Configurazione del PKS...................................................................................................12

4.3 Configurazione del servizio di Search..............................................................................13

5. Portale di condivisione di Audio/Video Lezioni...................................................................15

5.1. Configurazione delle impostazioni di sicurezza..............................................................15

5.1.1. Analisi:.....................................................................................................................15

5.1.2. Realizzazione:..........................................................................................................15

5.1.3. Risultato:.................................................................................................................17

5.2. Categorie personalizzate................................................................................................18

5.2.1. Analisi:.....................................................................................................................18

5.2.2. Realizzazione:..........................................................................................................18

5.2.3. Risultato:.................................................................................................................19

5.3. Pagina Master.................................................................................................................19

5.3.1. Analisi:.....................................................................................................................19

5.3.2. Realizzazione del menu superiore:...........................................................................19

5.3.3. Realizzazione della barra laterale:...........................................................................20

5.3.4. Realizzazione degli elementi della parte inferiore della pagina:..............................23

5.3.5. Risultato:.................................................................................................................23

5.4. Modifica delle Web Parts:..............................................................................................24

5.4.1. Analisi:.....................................................................................................................24

5.4.2. Realizzazione delle Web Parts nella Home Page:.....................................................24

5.4.3. Realizzazione delle Web Parts nella pagina Podcast Details:...................................25

5.4.4. Realizzazione delle Web Parts nella pagina Podcaster Details:...............................28

5.4.5. Risultato:.................................................................................................................29

1

Page 4: Piccinin Giulio - Tesi PUBB

5.5. Serie di Podcasts.............................................................................................................31

5.5.1. Analisi:.....................................................................................................................31

5.5.2. Realizzazione:..........................................................................................................31

5.5.3. Risultato:.................................................................................................................35

5.6. Accesso da Smartphone.................................................................................................36

5.6.1. Analisi:.....................................................................................................................36

5.6.2. Realizzazione:..........................................................................................................37

5.6.3. Risultato:.................................................................................................................38

6. Pubblicazione di Podcast......................................................................................................39

7. Conclusioni............................................................................................................................40

Bibliografia................................................................................................................................41

2

Page 5: Piccinin Giulio - Tesi PUBB

1. INTRODUZIONE

L’obiettivo di questa tesi è l’integrazione di un servizio di Podcasting per la condivisione di audio/video lezioni in una Site Collection di Microsoft Office SharePoint Server 2007 (MOSS).

Più precisamente, è stato sviluppato un portale dedicato alla Facoltà di Ingegneria dell’Università degli Studi di Trieste, attraverso cui i docenti dispongono degli strumenti per pubblicare le registrazioni audio e video delle proprie lezioni, di conferenze e di materiale per approfondire i temi discussi nel proprio Corso.

Le motivazioni di questa esperienza si riconducono all’analisi e allo sviluppo della tecnologia del Podcasting Kit for SharePoint in MOSS, in modo da mettere a disposizione di una realtà universitaria la tecnologia dei Podcast come supporto per l’E-learning.

Gli obiettivi tattici si possono sintetizzare in:

i. Creazione di una macchina virtuale “server” per l’installazione di MOSS 2007;

ii. Configurazione di MOSS e creazione di Web Applications atte a supportare il servizio Search e la Site Collection;

iii. Installazione del Podcasting Kit for SharePoint (PKS) e sua configurazione nella Site Collection;

iv. Analisi dei benefici apportati dall’utilizzo del servizio di Podcasting;v. Adattamento del PKS per la realtà di destinazione (portale per Facoltà di

Ingegneria dell’Università degli Studi di Trieste).

Le principali tecnologie software utilizzate nel progetto sono:

Oracle® VM VirtualBox 3.2.6 – SW per la gestione di macchine virtuali. Microsoft® Windows Server 2003 – Sistema operativo server. Microsoft® SQL Server 2005 – DBMS relazionale. Windows SharePoint Services 3.0 – add-on per WS2003 con possibilità di

creazione di portali con caratteristiche comuni. Microsoft® Office SharePoint Server 2007 – SW che aggiunge a WSS 3.0

funzionalità server e un controllo centralizzato delle informazione dei Web sites.

Microsoft® SharePoint Designer 2007 – HTML editor e SW di Web design per la modifica di siti creati con Microsoft SharePoint.

Podcasting Kit for SharePoint (august ’09 beta) – “acceleratore” per l’utilizzo dei Podcast in siti creati con MOSS, disponibile gratuitamente.

3

Page 6: Piccinin Giulio - Tesi PUBB

La presente tesi si snoda su sei capitoli; di seguito si riporta una sintesi degli argomenti trattati in ciascun capitolo successivo a questo capitolo:

Capitolo 2. “Perché il Podcast”.Definizione e applicazioni pratiche della tecnologia del Podcast, con particolare interesse nei confronti dell’e-Learning.

Capitolo 3. “Preparazione dell’ambiente software”.Descrizione delle operazioni preliminari all’integrazione del Podcasting Kit for SharePoint, cioè l’installazione del S.O. server in una macchina virtuale e la configurazione di tutti i SW necessari al Kit (tra cui MOSS 2007).

Capitolo 4. “Integrazione del Podcasting Kit for SharePoint”.Spiegazione dell’installazione e della configurazione di base del PKS, eseguite sulla base del documento “Installation and Configuration Guide for PKS” appartenente alla documentazione ufficiale del Kit.

Capitolo 5. “Portale di condivisione di audio/video lezioni”.Sviluppo delle funzionalità del PKS per raggiungere l’obiettivo di creare un portale per la condivisione di audio/video lezioni dedicato alla Facoltà di Ingegneria.

Capitolo 6. “Pubblicazione di Podcast”.Descrizione del procedimento standard per pubblicare i Podcast e il materiale di supporto sul sito.

Capitolo 7. “Conclusioni”.Analisi dell’esperienza effettuata con questa tesi.

4

Page 7: Piccinin Giulio - Tesi PUBB

2. PERCHÉ IL PODCAST

2.1. DEFINIZIONE

Il termine Podcast e le sue applicazioni pratiche hanno le proprie basi nel cosiddetto “Web 2.0” , cioè in quella evoluzione di Internet (World Wide Web in particolare) che dalle semplici pagine statiche ha portato alla nascita di vere applicazioni Web dinamiche e interattive. Ciò ha permesso la pubblicazione su Web di contenuti multimediali direttamente fruibili dagli utenti in due modalità:

Webcast : essenzialmente “Broadcasting attraverso Internet”, consiste nell’invio in streaming di trasmissioni audio e video sul Web.

Podcast : definito anche come “non-streaming Webcast”, consente il download e l’esecuzione in locale e su dispositivi portatili di contenuti audio/video liberamente messi a disposizione sul Web.

Il termine Podcasting, da cui Podcast, pare sia comparso per la prima volta il 12 febbraio 2004 in un articolo del giornalista Ben Hammersley sul quotidiano britannico The Guardian”. È la fusione delle parole “iPod” (il celebre lettore MP3 portatile della Apple) e “broadcasting”; intuitivamente descrive la possibilità di riprodurre il file multimediale, ottenuto dal Web, su dispositivi portatili, dunque in un tempo diverso rispetto a quello della pubblicazione di tale contenuto sulla pagina Web (non-streaming).

Strettamente legati al concetto di Podcast sono i Feed RSS, che permettono di “abbonarsi” tramite un’applicazione detta “aggregatore di Feed” ad un determinato contenuto di una pagina Web (che vengono aggiornate frequentemente o regolarmente). Nel caso dei Podcast, l’aggregatore permette il download diretto del file multimediale appena pubblicato.

2.2. UTILIZZI

Sebbene questa tecnologia venga applicata ai più svariati campi e servizi (internet radio, pubblicazione di musica e video musicali, guide per musei e città, tutorials e così via), per un utilizzo in ambito universitario la sua applicazione più consona è l’e-Learning.Si intende e-Learning l’insieme di insegnamento e di apprendimento supportato da mezzi elettronici, sia durante le lezioni, sia durante lo studio individuale.

5

Page 8: Piccinin Giulio - Tesi PUBB

3. PREPARAZIONE DELL’AMBIENTE SOFTWARE

3.1. INSTALLAZIONE DEI COMPONENTI PRINCIPALI

La corretta installazione del Podcasting Kit for SharePoint (PKS) richiede il soddisfacimento di numerosi prerequisiti software, e la loro configurazione.In più, Microsoft Office SharePoint Server 2007 necessita di un sistema operativo server della stessa azienda. Per questo motivo è stato fondamentale l’utilizzo di Oracle VM VirtualBox per la creazione e la gestione di una macchina virtuale atta ad “ospitare” il S.O. guest Windows Server 2003.

Le operazioni immediatamente successive si possono riassumere nell’istallazione e aggiornamento di Windows Server 2003 all’ultimo Service Pack, a cui sono poi state aggiunte le applicazioni Microsoft .NET Framework 3.5, Media Encoder 9 Series, Expression Encoder 2, Silverlight 3.0 e Silverlight SDK 2.0.

È stata attivata l’opzione di Application Server nelle funzioni del Sistema operativo, che nello specifico offre servizi di:

Internet Information Services 6.0 , l’applicazione Web Server di Microsoft con funzionalità di logging, diagnostica, security e compressione;

ASP.NET 2.0 , insieme di tecnologie di sviluppo di software per realizzare applicazioni Web e servizi Web.

Dopodiché, si è proceduto all’installazione di Microsoft Office SharePoint Server 2007 sul computer stand-alone, con installazione in bundle di Microsoft SQL Server 2005 Express Edition. Si è scelta una semplice installazione stand-alone

6

Page 9: Piccinin Giulio - Tesi PUBB

anziché in “server farm”, dal momento che non si dispone di più computer che fungano da Web server, Database server, ecc…

SharePoint Server mette immediatamente a disposizione dell’utente una “Central Administration” ad un URL di default (in questa installazione, http://gp2-server:40039/default.aspx) per configurare le impostazioni del server e per la creazione di Web Applications.

3.2. CONFIGURAZIONE DELLE WEB APPLICATION IN MOSS 2007

Una Web Application è un “contenitore logico” che ospita una o più Site Collections.Mette a disposizione dei siti ospitati un sito IIS (che assegna un URL all’applicazione, e di conseguenza ai siti ospitati) e un Content Database in SQL Server, definiti al momento della creazione della Web Application.

Un prerequisito del Podcasting Kit for SharePoint è appunto la preparazione di una Site Collection con template di tipologia “Collaboration Portal”.

Dalla Central Administration dei servizi di SharePoint, sono state dunque configurate le due Web Applications principali:

SharePoint – 14711 all’URL http://gp2-server:14711/ che ospita l’Administration Site di “SharedServices1”, l’applicazione SSP (Shared Services Provider) preposta al controllo dei servizi di database e ricerca nei siti gestiti dal server di MOSS.La presenza di una Web Application che contenga il sito di amministrazione dello SSP è indispensabile in ogni server di SharePoint;

SharePoint – 28322 (IIS Web Site) all’URL http://gp2-server:28322/, in cui è stata configurata la Site Collection “Site Collection for PKS”, con template “Collaboration Portal”. Su questa Site Collection verranno installati i services del Podcasting Kit for SharePoint.

7

Page 10: Piccinin Giulio - Tesi PUBB

4. INTEGRAZIONE DEL PODCASTING KIT FOR SHAREPOINT

4.1. INSTALLAZIONE DEL PODCASTING KIT FOR SHAREPOINT

Il processo di installazione da console del Podcasting Kit for SharePoint (PKS) prevede che, dalla directory d’estrazione dei binari, si esegua il comando:

ssm.exe install PKSFull.xml <Web Application>

dove <Web Application> è stata sostituita nel nostro caso da http://gp2-server:28322.Al termine dell’installazione, la pagina iniziale standard della Web Application viene sostituita dalla Home Page del Podcasting Kit (http://gp2-server:28322/Pages/pkshomepage.aspx) che offre già tutti i link alle varie pagine consultabili (in alto) e le azioni disponibili per ordinare o filtrare i Podcast (a sinistra):

8

Page 11: Piccinin Giulio - Tesi PUBB

Nel menu superiore, sia l’immagine del logo del PKS sia il pulsante “Podcasts” sono dei collegamenti alla Home Page; gli altri pulsanti invece collegano a:

la pagina dei Podcasters, con la possibilità di accedere alla pagina dei video pubblicati dal Podcaster (contenente informazioni e statistiche):

la pagina dei Most Popular Podcasts, dove i file multimediali sono ordinati

in base alle visite e ai download totali:

9

Page 12: Piccinin Giulio - Tesi PUBB

la pagina Upload Podcasts per la pubblicazione dei Podcast:

la pagina di Reporting per la gestione dei file caricati sul sito da parte degli amministratori:

10

Page 13: Piccinin Giulio - Tesi PUBB

la pagina Smartphone per l’accesso da dispositivi portatili (Smartphone in particolare):

11

Page 14: Piccinin Giulio - Tesi PUBB

4.2. CONFIGURAZIONE DEL PKS

A questo punto, osservando le indicazioni contenute nel file della documentazione ufficiale del PKS “Installation and Configuration Guide for PKS”, viene richiesta la configurazione di numerosi componenti utilizzati dal Podcasting Kit, in particolar modo:

Silverlight , per cui bisogna:- aggiungere l’“IIS MIME Type” application/x-silverlight-app con

estensione .xap tra i tipi gestiti da IIS 6.0;- spostare la libreria dinamica System.Web.Silverlight.dll,

contenuta inizialmente nella directory d’installazione di Silverlight, in “C:\Windows\Assembly”.

la cartella del server dove vengono memorizzati i Podcast che sono “caricati” sul sito Web. Tale cartella (percorso: C:\UploadFiles) viene acceduta dai servizi del sito tramite la Virtual Directory “UploadFolder” (in IIS Manager, raggiungibile sotto: SharePoint – 28322 (IIS Web Site) _layouts NetworkFileStore UploadFolder).

il servizio di Media Encoder , indispensabile per la generazione delle thumbnail dei Podcast e per la conversione degli stessi in formati compatibili con Silverlight, per il quale è necessario:- installarlo dal file MediaEncoderService.msi contenuto nel

pacchetto di file del PKS (directory “MediaEncoderService For Expression Encoder2”);

- configurarlo col file MediaEncoderService.exe.config in “C:\Program Files\PKS\Media Encoder Service” coi seguenti dati:

12

Page 15: Piccinin Giulio - Tesi PUBB

- impostare la lista PKS Configuration Settings per monitorare la cartella UploadFiles e il sito PKS http://gp2-server:28322;

- impostare la lista PKS Media Encoder Monitor Locations, sempre per monitorare le liste sul sito e la cartella sul server:

4.3 CONFIGURAZIONE DEL SERVIZIO DI SEARCH

La Site Collection che ospita i servizi del Podcasting Kit deve essere configurata per poter effettuare ricerche sui file che gli utenti “caricheranno” sul sito.Il servizio di Search richiede quindi di mappare le “Metadata Properties” dei files attraverso l’applicazione SSP “SharedServices1”, accessibile all’URL http://gp2-server:14711/.

Sotto Search Settings Metadata Property Mappings, vanno aggiunte le seguenti proprietà:

Property Name Type Mappings Use in Scopes

13

Page 16: Piccinin Giulio - Tesi PUBB

AuthorID Decimal ows_AuthorID(Decimal) FalseConfidentiality Text ows_Confidentiality FalseCsId Text ows_CsId(Text) FalseDownloads Decimal ows_Total_x0020_Downloads(Decima

l)False

Format Text ows_Format FalseItemID Integer ows_ID(Integer) FalseLanguage Text ows_PodcastLanguage(Text) FalseListContentType Text ows_ContentType(Text) TruePodcastAuthor Text ows_PodcastAuthor(Text) FalsePodcastCoAuthors

Text ows_PodcastCoAuthors(Text) False

PodcastDuration Text ows_PodcastDuration(Text) FalsePodcastPublishDate

DateTime ows_PodcastPublishDate(Date and Time)

False

PodcastSize Text ows_PodcastSize(Text) FalsePodcastThumbnail

Text ows_PodcastThumbnail(Text) False

Rating Text ows_Rating(Text) FalseTags Text ows_Tags(Text) FalseCoAuthorIds Text ows_CoAuthorIds(Text) False

Sempre in “SharedServices1” è indispensabile definire i seguenti “Search Scopes” sotto Scopes View Scopes, assegnando a ciascuno la pagina per i risultati delle ricerche:

Podcasters : PodcasterSearchResults.aspx; Podcasts : PodcastSearchResults.aspx.

14

Page 17: Piccinin Giulio - Tesi PUBB

5. PORTALE DI CONDIVISIONE DI AUDIO/VIDEO LEZIONI

Una volta terminata la configurazione del PKS, è iniziata la fase di modifica e specializzazione del sito “Site Collection for PKS”. L’obiettivo è adattare i servizi già disponibili alle necessità dell’ambiente universitario, giacché il sito dovrà fungere da portale per la condivisione di lezioni “Podcast” tra i docenti e gli studenti della Facoltà di Ingegneria.

5.1. CONFIGURAZIONE DELLE IMPOSTAZIONI DI SICUREZZA

5.1.1. ANALISI:

Il sito da noi ideato deve permettere ai docenti, e soltanto a loro, di pubblicare Podcast, mentre gli studenti devono esclusivamente poter visualizzare, scaricare, commentare e votare i Podcast.

Per questo motivo si è stabilito un modello di sicurezza basato su tre diversi gruppi di utenti, ognuno con privilegi che consentono una maggiore o minore interazione col sito:

Studenti- Ricerca evisualizzazione di Podcast e Podcasters- Vota e commenta i Podcast- Download e riproduzione dal Sito dei Podcast

Docenti- (Tutti i privilegi dei PKS Visitors)- Abilitati a caricare e modificare i Podcast

Amministratori- Pieno controllo del sito

5.1.2. REALIZZAZIONE:

Dal menu “Site Actions Site Settings People And Groups”, in “Site Permissions” si sono definiti due nuovi Permission Level, PKS Visitor e PKS Podcaster. Le loro impostazioni sono identiche:

a. In “List Permissions”: View Items, e View Application Pages;b. In “Site Permissions”: View Pages, Browse User Information, Open e Edit

Personal User Information.

15

Page 18: Piccinin Giulio - Tesi PUBB

Dopodiché dallo stesso menu, in “All People”, sono stati creati i tre nuovi gruppi:

Studenti, con descrizione “Studenti della Facoltà di Ingegneria dell'Università

degli Studi di Trieste.” e Permission Level: Docenti, con descrizione “Personale docente afferente alla Facoltà di

Ingegneria dell'Università degli Studi di Trieste.” e Permission Level: Amministratori, con descrizione “Amministratori del Portale di condivisione

di audio/video lezioni.” e Permission Level:

Inoltre è stato necessario configurare alcune liste e pagine affinché gli utenti senza determinati permessi non possano accedervi:

La Document Library Pages assegna soltanto permessi di Read e Limited Access a Docenti e Studenti; in più, debbono essere eliminati i gruppi Docenti e Studenti (quindi anche i relativi permessi) dalla lista delle Permissions del file reporting contenuto in questa Library:

16

Page 19: Piccinin Giulio - Tesi PUBB

5.1.3. RISULTATO:

I tre nuovi gruppi di utenti, in particolar modo Docenti e Studenti, assegnano con chiarezza i ruoli degli utilizzatori del portale; i primi mettono a disposizione le lezioni, le esperienze professionali e il materiale d’insegnamento, i secondi ne usufruiscono nel modo che più s’adatta al loro metodo di studio.

La pagina reporting, d’interesse esclusivamente per la gestione e il controllo del sito, può essere acceduta soltanto dagli Amministratori, che hanno il controllo totale del sito e possono creare pagine, gruppi di utenti, contenuti.

5.2. CATEGORIE PERSONALIZZATE

5.2.1. ANALISI:

PKS permette la definizione di categorie personalizzate per descrivere e organizzare i Podcast. Una volta create, le categorie possono essere selezionate nella pagina di caricamento dei Podcast (tramite una check-box) e vengono successivamente utilizzate dall’elemento “Filtra per” della barra laterale del sito.

5.2.2. REALIZZAZIONE:

Nello sviluppo del portale per la Facoltà di Ingegneria si è deciso di definire una categoria, di nome Tipologia, che permetta una distinzione tra i tipi di Podcast caricati dai professori: Lezione, Conferenza, Approfondimento e Laboratorio.

Dalla pagina principale del sito PKS, in “Site Actions View All Site Content PKS Podcasts”, selezionando “Settings” e poi “List Settings” si accede alla pagina che consente la creazione di colonne nella lista PKS Podcasts (Create column).

17

Page 20: Piccinin Giulio - Tesi PUBB

Le categorie devono essere visualizzate anche nella pagina dei dettagli del Podcast. Perché ciò accada, è stato sufficiente accedere ad una di queste pagine, e in modalità “Edit Page” selezionare il comando “edit Modify Shared Web Part” della Podcasts Web Part. Nella barra laterale, è stata aggiunta nel campo CommonViewFields la stringa:

Tipologia, Choice;

5.2.3. RISULTATO:

Nella pagina di caricamento dei Podcast la parte di selezione della categoria Tipologia appare così:

5.3. PAGINA MASTER

Le pagine master sono files ASP.NET con estensione .master che presentano un layout predefinito in cui sono compresi elementi HTML, controlli server e testo statico. Consentono di gestire centralmente le funzionalità delle pagine, in modo che gli aggiornamenti possano essere eseguiti in un'unica posizione.Semplificano le operazioni di creazione di un insieme di controlli e di codice, e l'applicazione dei risultati a un gruppo di pagine. Ad esempio, è possibile utilizzare i controlli nella pagina master per creare un menu valido per tutte le pagine.

5.3.1. ANALISI:

La pagina master principale del sito PKS qui sviluppato ha nome PKSMasterPage.master, è situata nella directory virtuale “_catalogs masterpage” e fa riferimento per l’impaginazione ai file TopNav(.xml e .xsl), LeftNav(.xml e .xsl) e SelectSeries.xsl. Descrive il layout, comune a tutte le pagine del sito, del menu superiore, della barra laterale sinistra e degli elementi nella parte inferiore della pagina.

È necessario modificare ed inserire alcune funzionalità affinché realizzi gli obiettivi del progetto.

5.3.2. REALIZZAZIONE DEL MENU SUPERIORE:

18

Page 21: Piccinin Giulio - Tesi PUBB

In primo luogo è stata sostituita l’immagine del logo “Podcasting Kit for SharePoint” con una attinente la Facoltà di Ingegneria dell’Università di Trieste.L’immagine è stata caricata sul sito PKS nella Document Library “Style Library PodcastingKit Images. Poi con SharePoint Designer è sufficiente aprire la pagina master in visualizzazione “Normale” o “Doppia visualizzazione” e modificare la proprietà del percorso dell’immagine.

Successivamente sono stati modificati gli attributi Name dei tag MenuNode nel file TopNav.xml:

Riga 33: da "Most Popular” a “Più visitati”; Riga 36: da “Upload Podcast” a “Carica un Podcast”.

5.3.3. REALIZZAZIONE DELLA BARRA LATERALE:

La barra laterale è un elemento decisamente complesso, del momento che offre quattro servizi differenti e tutti gestiti dal JavaScript PKS-Script.js. Nella maggior parte dei casi le modifiche apportate su di essa sono state superficiali per non pregiudicare il corretto funzionamento dello Script.

19

Page 22: Piccinin Giulio - Tesi PUBB

Sono ad esempio state tradotte in italiano le labels del campo “Search:” e “Select series:”, il primo nel file PKSMasterPage.master alla riga 337:

e il secondo nel file SelectSeries.xsl alla riga 36:

Sono state tradotte in italiano le categorie “Language” e “Level” a cui si accede

come per la creazione di una categoria (capitolo 5.3.2.):

È stato modificato quasi per intero il file LeftNav.xml per tradurre le labels dei menu “Sort by” e “Filter by” e i nomi delle loro entries coi nuovi valori delle categorie (vedi pagina seguente).

Per mantenere la corrispondenza coi nomi delle variabili utilizzate nel JavaScript PKS-Script.js, sono stati aggiornati coi nuovi nomi anche alcune variabili nello Script:

20

Page 23: Piccinin Giulio - Tesi PUBB

21

Page 24: Piccinin Giulio - Tesi PUBB

5.3.4. REALIZZAZIONE DEGLI ELEMENTI DELLA PARTE INFERIORE DELLA PAGINA:

Nella parte inferiore del layout principale sono state inserite una casella di testo col testo “©2010 University of Trieste | Piazzale Europa, 1 – 34127 Trieste, Italia | Tel. +39 040.558.7111” e il logo del Podcasting Kit for SharePoint (PKSlogoMini.png):

5.3.5. RISULTATO:

Dopo aver pubblicato e approvato la nuova versione della Pagina Master PKSMasterPage.master, il layout dei tre elementi grafici appena modificati appare così:

22

Page 25: Piccinin Giulio - Tesi PUBB

5.4. MODIFICA DELLE WEB PARTS:

5.4.1. ANALISI:

Alcune pagine del sito contenevano originariamente Web Parts (cioè controlli ASP.NET che forniscono funzionalità e modelli di layout ai siti SharePoint, modificabili a tempo d’esecuzione) inutili per le finalità del sito che si desiderava creare.

5.4.2. REALIZZAZIONE DELLE WEB PARTS NELLA HOME PAGE:

La Home Page è composta da 4 Web Parts:

nella High Left Zone, vi è una Content Editor Web Part che riporta informazioni relative al PKS; dal momento che tali informazioni non sono di alcuna utilità per i nostri scopi, si è deciso di sostituirle con una descrizione delle finalità e dell’organizzazione del portale:

nella zona Far Left è presente una Content Editor Web Part con del testo eliminabile, perciò è stata sostituita da una Content Editor Web Part che disegna una linea divisoria orizzontale, e da una Links Web Part

(selezionabile tra le WP di base di SharePoint): Nella Low Left Zone e nella High Right Zone sono posizionate

rispettivamente le Web Parts Podcasts e Tag Cloud, che non sono state modificate perché essenziali per il layout e la funzionalità della pagina.

23

Page 26: Piccinin Giulio - Tesi PUBB

Oltretutto in SharePoint Designer sono state cambiate alcune righe del file PKSItem.xsl, che controlla la griglia dei Podcast nella Home Page e in tutte le pagine che ne fanno uso:

Riga 258: <strong>Descrizione: </strong>

Riga 281: nessuno

Riga 389: <xsl:value-of select="string('Da ')" />

Riga 796: <xsl:value-of select="string('Da ')" />

5.4.3. REALIZZAZIONE DELLE WEB PARTS NELLA PAGINA PODCAST DETAILS:

In questo caso non sono state sostituite le 4 Web Parts già esistenti (Podcasts e Comment Submission Form nella High Left Zone, Author e PKS.PodcastTools nella High Right Zone), ma ne sono state aggiornate le labels.

Come prima cosa si è operato direttamente da una pagina Podcast Details qualsiasi (http://gp2-server:28322/Pages/PodcastDetail.aspx?<ID del file>) in modalità “Edit Page”, selezionando “edit Modify Shared Web Part” e scrivendo nel “Source Editor”:

della Web Part PKS.PodcastTools nella High Right Zone:

della Web Part Comment Submission Form nella High Left Zone, modificando i tag (sono state sottolineate le parti modificate, per migliorarne la visibilità):

24

Page 27: Piccinin Giulio - Tesi PUBB

<input type="checkbox" name="Anonymous" id="anonymous"value="false"/> Commenta anonimamente <div style="padding-left:5px;">

e

<button id="AjaxRichTextCommentEditor___postButton" class="ms-ButtonHeightWidth2" value="Post Comment" onclick="javascript:PostComment();">Conferma il commento</button>

Successivamente, con SharePoint Designer sono state apportate modifiche al file PKS-Script.js che controlla anche alcuni elementi di WP:

la parte della Web Part Podcasts relativa a “Support Material” nella High Left Zone:

Righe 1215–1220, 1816–1821, 1883–1888 e 1949–1954: var strFiles = "(" + count + " Files)"; if (count == 0) { strFiles = "(Nessun File)"; } if (count == 1) { strFiles = "(1 File)"; } if ((supportFilesId != null) && (supportFilesId != "")) { document.getElementById(supportFilesId).innerHTML = “Materiale di Supporto " + strFiles;

per adattare le parti della Web Part Author relative a “Podcaster’s Information” e “Co-Podcaster’s Information” nella High Right Zone:

Riga 298: document.write("<td style='border-left:1px #3C3C3C solid'><img src='/_layouts/images/blank.gif' alt='' border='0' /></td><td align='center'><table><tr><td align='center'><div align='center' style='padding-left: 0px;padding-right: 0px; font-size: 11px; padding-bottom: 0px; font-family:Segoe UI, Tahoma, arial, Verdana, sans-serif; padding: 0px;float: right; text-align: center; white-space: nowrap;color:#6d81fd; margin: 0px;'>Nessun Co-Podcaster per questo Podcast</div></td></tr></table></td><td style='border-right:1px #3C3C3C solid'><img src='/_layouts/images/blank.gif' alt='' border='0' /></td></tr>");

Righe 2666–2669: renderUserInformationTable("Informazioni Podcaster", authorid);document.write("<div style='margin-top:9px;' />");

25

Page 28: Piccinin Giulio - Tesi PUBB

var caid = GetQueryValue('caid');renderUserInformationTable('Informazioni Co-Podcaster', caid);

Infine sono stati modificati (sempre con l’ausilio di SharePoint Designer) alcuni elementi della Web Part Podcasts nello stylesheet PKSDetailItem.xsl:

Sono state tradotte le righe:

Riga 441: <span style="color:#333333; font-size:12px">Riservatezza: </span>

Riga 460: Da

Riga 480: Durata

Riga 496: Categoria

Riga 581: Aggiunto il

Riga 590: Lingua

sono state commentate le righe 417, 423, 426, e 430–432 per eliminare dalla Web Part il link alla funzione “Flag as Inappropriate” che non è utile per i nostri obiettivi:

(continua)

26

Page 29: Piccinin Giulio - Tesi PUBB

5.4.4. REALIZZAZIONE DELLE WEB PARTS NELLA PAGINA PODCASTER DETAILS:

La pagina contiene 3 Web Parts: Podcaster Details nella High Left Zone, PodcasterAverageRating nella Middle Left Zone, Podcasts nelle Low Left Zone. Le uniche modifiche apportate a questa pagina sono relative al file PKSPodcasterAverageRating.xsl che controlla il layout della Web Part Podcaster Average Rating:

Riga 161: <td style="color:#7c7d7d;"> Ha votato: </td>

Riga 168: <xsl:value-of select="$totalRate"/> volte

Righe 386–404:

<a href="javascript:sortGrid('Rating');" style="color:white;"field="Rating">Voto</a></li><li><a href="javascript:sortGrid('Downloads');" style="color:white;"field="Downloads">Downloads</a></li><li><a href="javascript:sortGrid('Title');" style="color:white;"field="Title">Titolo</a></li><li><a href="javascript:sortGrid('PodcastPublishDate');" style="color:white;"field="PodcastPublishDate">Pubblicato il</a></li><li><a href="javascript:sortGrid('PodcastAuthor');" style="color:white;"field="PodcastAuthor">Autore</a></li><li><a href="javascript:sortGrid('PodcastSizeInBytes');" style="color:white;"field="PodcastSize">Dimensione</a></li><li><a href="javascript:sortGrid('PodcastDuration');" style="color:white;"field="PodcastDuration">Durata</a></li>

27

Page 30: Piccinin Giulio - Tesi PUBB

5.4.5. RISULTATO:

La modifica delle Web Parts ha permesso di riorganizzare e di personalizzare tre pagine del sito. Qui di seguito i risultati grafici ottenuti:

nella Home Page:

nella pagina Podcaster Details: nella pagina Podcast Details:

28

Page 31: Piccinin Giulio - Tesi PUBB

5.5. SERIE DI PODCASTS

5.5.1. ANALISI:

PKS mette a disposizione gli strumenti per la creazione di classi personalizzate di Podcast, dette “Serie”, e per ogni Serie viene creata una pagina in cui sono visibili tutti e soli i Podcast appartenenti a quella Serie.

Il portale della Facoltà di Ingegneria utilizza le Serie per rappresentare i Corsi, in modo tale da poter assegnare ad ogni Corso una pagina sul sito. A titolo d’esempio, sono state create tre Serie relative ai Corsi di:

Basi di Dati Energie per il futuro Simulazione molecolare Multiscala

tutti tenuti dal Prof. Maurizio Fermeglia, che ha anche messo a disposizione del materiale audio/video relativo ai suddetti Corsi per “popolare” le liste dei Podcast.

5.5.2. REALIZZAZIONE:

Come contenitore per le Serie è stata definita nel sito una Document Library (Site Actions View All Site Content) col nome Facolta di Ingegneria, di tipo “PKS Series Library”. Sono state dunque create le tre Serie, con la seguente procedura:

1. Dalla Document Library Facolta di Ingegneria, attraverso il menu “New Series”, sono stati assegnati il titoli alle Serie e generate automaticamente le loro pagine Web, all’URL relativo /Facolta di

Ingegneria/<titolo>, dove <titolo> corrisponde al titolo della Serie con i caratteri non-alfanumerici convertiti in underscores.

29

Page 32: Piccinin Giulio - Tesi PUBB

2. Da SharePoint Designer, aprendo prima il sito PKS (http://gp2-server:28322) e poi la Document Library PKSXmlNavigation, si sono modificati i files:a. TopNav.xml, aggiungendo i tag DropDownItem e SubMenuNode per

ogni Serie creata:b. MobileNavigation.xml, aggiungendo i tag MenuNode per ciascuna

Serie:

3. Dalla Home Page del sito PKS è stata esportata nella directory “C:\Site Collection for PKS - Web Parts” la Web Part Podcasts.webpart relativa alla griglia per la visualizzazione dei Podcast; sono state poi effettuate le seguenti operazioni:a. in ogni pagina relativa ad una Serie, si è importata la suddetta Web Part

e, dopo averla caricata sul sito, è stata posizionata nella zona Left Column;

b. selezionando “edit”, “Modify Shared Web Part” in questa Web Part, e cliccando su “Editor…” sotto CBQ Override Properties, è stata inserita la stringa <Where> <Eq> <FieldRef Name="Series" /><Value

30

Page 33: Piccinin Giulio - Tesi PUBB

Type="Text">titolo</Value> </Eq></Where>, dove “titolo” è stato sostituito col titolo della Serie.

4. Sono state esportate nella directory “C:\Site Collection for PKS - Web Parts” le Web Part SeriesRating.webpart e Divisorio Far Left.dwp relative alla casella che riporta la valutazione media dei Podcast di una Serie e ad una linea divisoria. Sono poi state effettuate le operazioni:a. in ogni pagina relativa ad una Serie, sono state importate le suddette

Web Part e, dopo averle caricate sul sito, sono state posizionate nella zona Far Left;

b. selezionando “edit”, “Modify Shared Web Part” nella Web Part SeriesRating.webpart, è stata inserita la stringa <Where> <Eq> <FieldRef Name="Series" /><Value

Type="Text">titolo</Value> </Eq></Where> nell’“Editor…” di CBQ Override Properties, dove “titolo” è stato sostituito col titolo della Serie;

c. con SharePoint Designer è stato aggiornato il file PKSSeriesRating.xsl, che descrive le labels e il layout della Web Part:

Riga 167: Votato: <xsl:value-of select="$totalRate"/> volte

Righe 385–403: <li><a href="javascript:sortGrid('Rating');"style="color:white;" field="Rating">Voto</a></li><li><a href="javascript:sortGrid('Downloads');"style="color:white;" field="Downloads">Downloads</a></li><li><a href="javascript:sortGrid('Title');"style="color:white;" field="Title">Titolo</a></li><li><a href="javascript:sortGrid('PodcastPublishDate');"style="color:white;"field="PodcastPublishDate">Pubblicato il</a></li><li><a href="javascript:sortGrid('PodcastAuthor');"style="color:white;"field="PodcastAuthor">Autore</a></li><li><a href="javascript:sortGrid('PodcastSizeInBytes');"style="color:white;" field="PodcastSize">Dimensione</a></li>

31

Page 34: Piccinin Giulio - Tesi PUBB

<li><a href="javascript:sortGrid('PodcastDuration');"style="color:white;"field="PodcastDuration">Durata</a>

5. È stata creata una Content Editor Web Part (rinominata poi “Titolo Serie”) nella zona Top della pagina di ogni Serie, scrivendo nome e docente del Corso:

5.5.3. RISULTATO:

A questo punto le pagine delle Serie (che rappresentano i Corsi) sono completamente configurate ed appaiono con il seguente layout standard (a titolo d’esempio viene riportata la pagina del corso Basi di dati):

Le Serie sono selezionabili dal menu a tendina nella zona di sinistra, sotto “Seleziona il Corso:”; ogni entry qui viene creata aggiungendo il tag DropDowItem, relativo alla Serie, nel file TopNav.xml (punto 2.a.):

32

Page 35: Piccinin Giulio - Tesi PUBB

Sono inoltre selezionabili dal menu pop-up che compare passando col mouse sopra il pulsante “Podcasts” nel menu in alto; ogni entry qui viene creata aggiungendo il tag SubMenuNode, relativo alla Serie, nel file TopNav.xml (punto 2.a.):

5.6. ACCESSO DA SMARTPHONE

Al giorno d’oggi Internet è accessibile dai più svariati dispositivi portatili: telefoni cellulari, smartphone, , eBooks, console da gioco, e così via. I display di questi dispositivi però non hanno dimensioni che permettono di visualizzare completamente, o perlomeno senza artefatti, le normali pagine Web, perché generalmente hanno risoluzioni di 240 o 320 pixel in larghezza.I siti Web vengono invece progettati per la rappresentazione su schermi con larghezze maggiori di 640 pixel.

Per questo motivo diventa fondamentale progettare almeno una pagina Web adatta a questi dispositivi, se si desidera offrire il proprio servizio anche ai loro utilizzatori.

5.6.1. ANALISI:

Il Podcasting Kit for SharePoint configura automaticamente una pagina, di 320 pixel di larghezza, dedicata appositamente agli smartphone e agli altri dispositivi portatili. Si può accedere a questa pagina dalla Home Page del sito, cliccando sul pulsante “Smartphone” (vedi immagine) che è un collegamento all’URL http://gp2server:28322/Pages/pksmobilehome.aspx.

33

Page 36: Piccinin Giulio - Tesi PUBB

I dispositivi con una risoluzione dello schermo inferiore a 640 pixel in orizzontale, invece, nel tentativo di collegarsi alla Home Page del sito vengono reindirizzati automaticamente a questa pagina. Ciò è reso possibile grazie ad un JavaScript contenuto nel file PKSMasterPage.master (nella cartella _catalogs masterpage) che controlla appunto la risoluzione orizzontale dello schermo:

5.6.2. REALIZZAZIONE:

La pagina per accesso da dispositivi portatili è molto semplice, e le modifiche apportate sono state sostanzialmente due:

34

Page 37: Piccinin Giulio - Tesi PUBB

1. la sostituzione del logo con uno relativo alla Facoltà di Ingegneria dell’Università di Trieste, tramite modifica del tag img nella pagina PKSSimpleMobileView.master (in “_catalogs masterpage”):

2. la modifica del file MobileNavigation.xml effettuata al punto 2.b. del capitolo 5.5.1.

5.6.3. RISULTATO:

La pagina appena modificata viene così visualizzata nel browser Internet Explorer:

35

Page 38: Piccinin Giulio - Tesi PUBB

6. PUBBLICAZIONE DI PODCAST

La funzionalità del sito che interessa maggiormente ai docenti riguarda la pubblicazione delle proprie lezioni in formato audio/video, eventualmente corredate da materiale di supporto.

La procedura è semplice dal momento che si basa su di un unico form, contenuto nella pagina

http://gp2-server:28322/PKS%20Podcasts/NewForm.aspx e raggiungibile tramite il link “Carica un Podcast” nel menu superiore di ogni pagina del sito.

A parte alcuni campi obbligatori, la compilazione del form è libera; è necessario soltanto verificare l’esistenza dell’“Author” (e degli eventuali “Co-Authors”) tra gli utenti con permessi del sito, tramite l’icona “Check Names”:È inoltre possibile assegnare il Podcast ad una Serie, selezionandola nell’apposito drop-down menu.

Per l’upload del Podcast e di altro materiale utile (audio, video, documenti di Office, PDF, ecc…), è sufficiente selezionare ogni

36

Page 39: Piccinin Giulio - Tesi PUBB

singolo file da locale dopo aver cliccato sul tasto “Add Files” nel controllo Silverlight. È inoltre possibile pubblicare dei link a Podcast cliccando sul pulsante “Add Link” e scrivendo l’URL nella finestra che compare.

Una volta caricati tutti i file desiderati, bisogna selezionare il file principale (quello che si desidera visualizzare nel sito come “Podcast”) con le radiobox nella colonna “Main”, in modo tale che gli altri file diventino “Materiale di Supporto” al Podcast.

Per terminare l’upload, è sufficiente cliccare sul pulsante “Ok” alla fine del form.

È infine possibile modificare tutte le informazioni relative ad un Podcast, ed aggiungere o rimuovere file dall’elemento, cliccando sul link nella pagina Podcast Details relativa a quel Podcast.

37

Page 40: Piccinin Giulio - Tesi PUBB

7. CONCLUSIONI

Gli obiettivi di questa tesi sono stati raggiunti: è stata studiata, in un ambiente di prova, la tecnologia dei Podcast integrata in un sito di Microsoft Office SharePoint Server; inoltre sono state sviluppate alcune funzionalità del Podcasting Kit for SharePoint che hanno consentito l’adattamento di quella tecnologia all’utilizzo in ambito universitario.

L’impegno complessivo è quantificabile in circa 20 giorni di lavoro, dalla installazione del S.O. server nella macchina virtuale al completamento della personalizzazione del sito Web coi servizi richiesti. I giorni effettivi di studio e lavoro sul servizio di Podcasting ne rappresentano approssimativamente gli ultimi 15 giorni. Infatti, l’installazione in MOSS del Podcsting Kit ha richiesto 5 giorni circa (configurazione di IIS e MOSS , installazione e configurazione del PKS) e l’adattamento delle funzionalità 10 giorni (creazione di gruppi di utenti, modifica dei menu e delle Web Parts, definizione di Serie di Podcasts e Categorie personalizzate).

Questo studio pone le basi per l’implementazione della tecnologia del PKS (in MOSS) in un ambiente d’utilizzo reale, seguita da una fase di test che ne verifichi l’effettiva utilità (efficacia ed usabilità) per la didattica universitaria.

38

Page 41: Piccinin Giulio - Tesi PUBB

BIBLIOGRAFIA

MSDN Library - Introduction to SharePoint Products and Technologies for the Professional .NET Developerhttp://msdn.microsoft.com/library/cc537498.aspx

Microsoft TechNet Library - SharePoint Server 2007http://technet.microsoft.com/it-it/library/cc303422(office.12).aspx

CodePlex - Podcasting Kit for SharePointhttp://pks.codeplex.com/

Wikipedia, the free encyclopediahttp://en.wikipedia.org

39