Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft...

24
Università degli Studi di Trieste Dipartimento di Ingegneria e Architettura Corso di Laurea Triennale in Ingegneria dell'Informazione Curriculum Informatica PROGETTO E IMPLEMENTAZIONE DI UN PROCESSO PER L'ASSEMBLAGGIO DI DOCUMENTI HTML IN AMBITO MICROSOFT SHAREPOINT 2010 Relatore: Laureando: Chiar.mo Prof. Maurizio FERMEGLIA Nicola FURLAN Anno Accademico 2011-2012

Transcript of Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft...

Page 1: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

Università degli Studi di Trieste

Dipartimento di Ingegneria e Architettura

Corso di Laurea Triennale in Ingegneria dell'Informazione

Curriculum Informatica

PROGETTO E IMPLEMENTAZIONE DI UN PROCESSO PER

L'ASSEMBLAGGIO DI DOCUMENTI HTML IN AMBITO

MICROSOFT SHAREPOINT 2010

Relatore: Laureando:

Chiar.mo Prof. Maurizio FERMEGLIA Nicola FURLAN

Anno Accademico 2011-2012

Page 2: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

Indice 1 INTRODUZIONE ..................................................................................................................... 1

1.1 Obiettivo della Tesi ........................................................................................................... 1

1.2 Stato dell’arte e Motivazioni .............................................................................................. 1

1.3 Vincoli di progetto ............................................................................................................. 3

1.4 Tecnologie software utilizzate ........................................................................................... 3

1.4.1 Microsoft SharePoint 2010 ......................................................................................... 3

1.4.2 Microsoft SharePoint Designer 2010 .......................................................................... 3

1.4.3 Microsoft SQL Server 2008 ........................................................................................ 3

1.4.4 SharePoint Central Administration ............................................................................. 4

1.4.5 Microsoft Windows Server 2008 R2 ........................................................................... 4

1.5 Definizione delle fasi di progetto ....................................................................................... 4

1.6 Risultato della tesi ............................................................................................................ 5

2 Analisi ..................................................................................................................................... 5

2.1 Database in MS Access .................................................................................................... 5

2.2 Sito del Dipartimento di Ingegneria e Architettura ............................................................. 6

3 Progettazione .......................................................................................................................... 7

3.1 Migrazione database da MS Access a MS SQL Server .................................................... 7

3.2 Interfaccia di modifica dei dati ........................................................................................... 7

3.3 Interfaccia di visualizzazione dei dati ................................................................................ 8

4 Realizzazione .......................................................................................................................... 8

4.1 Migrazione database da MS Access a MS SQL Server .................................................... 8

4.2 Realizzazione della pagina di modifica documenti ...........................................................10

4.3 Realizzazione della pagina di visualizzazione documenti ................................................12

5 Conclusioni ............................................................................................................................15

APPENDICE .............................................................................................................................16

Macro VBA per esportazione Query ......................................................................................16

SCRIPT getIDcode ................................................................................................................16

.ASPX AND .ASPX.CS PAGES AND WEB.CONFIG .............................................................17

Web.Config ........................................................................................................................17

.aspx.cs file ........................................................................................................................17

.aspx file ............................................................................................................................18

Page 3: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

Bibliografia/Sitografia: ...............................................................................................................21

Page 4: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

1

1 INTRODUZIONE Questa tesi si prefigge lo scopo di sviluppare e realizzare il progetto e

l’implementazione di una procedura atta ad automatizzare l’inserimento e la

modifica di documenti HTML relativi alle attività di ricerca svolte all’interno del

Dipartimento di Ingegneria e Architettura dell’Università di Trieste.

1.1 Obiettivo della Tesi

L’obiettivo di questo lavoro consiste nella creazione di un procedimento volto

all’inserimento automatizzato dei documenti riguardanti le attività di ricerca

direttamente sul nuovo sito del Dipartimento, e alla modifica in loco degli stessi.

1.2 Stato dell’arte e Motivazioni

Prima di proseguire con l'esposizione del lavoro svolto, è utile analizzare lo stato

dell’arte relativo alla modifica dei documenti ed alla loro visualizzazione, per

meglio comprendere le motivazioni alla base dei procedimenti esposti in questo

elaborato.

Attualmente nel nuovo sito del Dipartimento di Ingegneria e Architettura è

presente una sezione raggiungibile dal menù “Ricerca” dove, organizzate secondo

i cinque Settori di ricerca, si suddividono le varie Attività di interesse. Ogni Attività

contiene documenti di Progetti di ricerca ad essa relativi; tali documenti sono

contenuti nel sito in formato PDF e pertanto difficilmente modificabili, obbligando

l'amministratore ad un prolungato lavoro manuale, sviluppato in varie fasi:

l’apertura del file DOC del progetto e la modifica dello stesso, la conversione in

PDF e il successivo upload del documento al posto del precedente.

Oltre alle difficoltà esposte precedentemente, bisogna anche considerare la

possibile azione di un utente non esperto in questo tipo di attività, già di per se

complesse, come il Professore interessato ad inserire o modificare proprie

pubblicazioni.

Page 5: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

2

Per rendere questa procedura più rapida e meno dispersiva, si è proposto di

aggiungere una funzionalità al sito in costruzione per fare in modo che il

Professore che effettua l’accesso al sito possa subito aver accesso alla collezione

dei documenti di Progetti di ricerca di cui lui è autore, e sia abilitato alla modifica

per quei soli documenti.

Per quanto riguarda invece lo stato dell’arte relativo alla visualizzazione dei

documenti, selezionando direttamente Settore e Attività di ricerca si arriva ad una

lista dei documenti relativi alla sottoarea considerata; cliccando sul titolo del

documento, si può aprire direttamente il PDF nel browser.

Si vuole intervenire anche su questo procedimento poiché si vuole evitare di

dover operare con due tipi di documenti: file PDF salvati on-line nel sito, e file in

formato Word per la modifica in locale.

Per ottenere questo risultato verrà creata una pagina in linguaggio ASPX che

esegue una Query direttamente nel Database presente in SQL Server e genera

una pagina HTML opportunamente formattata che riproduce nel complesso i

contenuti presenti nel documento PDF.

Page 6: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

3

1.3 Vincoli di progetto

I vincoli di progetto discendono direttamente dalle tecnologie utilizzate ed

associate al CMS (Content Management System) specifico impiegato nella

creazione del sito di Dipartimento, oltre alle specifiche riguardo l’utilizzo di XML e

HTML per la gestione dei documenti.

Scendendo più nel dettaglio, i vincoli sono i seguenti:

● utilizzo del CMS “Microsoft SharePoint 2010” per la gestione dei contenuti

del sito

● utilizzo del DBMS “Microsoft SQL Server 2008”

● visualizzazione dei documenti inseriti e modificabili tramite pagine in HTML

1.4 Tecnologie software utilizzate

1.4.1 Microsoft SharePoint 2010

SharePoint è un Content Management System (CMS) che permette la creazione di

particolari siti web principalmente ad uso aziendale (Intranet) ma che possono

anche essere messi in rete e quindi disponibili e utilizzati come normali siti web.

Lo scopo del prodotto è condividere informazioni e/o documenti in diversi modi,

attraverso la creazione di liste, repository documentali, calendari sincronizzati con

Outlook e molto altro. SharePoint è completamente integrato con il pacchetto

Office e offre soluzioni come il "versionamento" dei documenti che essendo

salvati su server rendono possibile la collaborazione.

1.4.2 Microsoft SharePoint Designer 2010

Microsoft SharePoint Designer (SPD), è un editor HTML specializzato e un

software di web design gratuito utilizzato per creare o modificare siti realizzati

con Microsoft SharePoint, workflows e pagine web.

1.4.3 Microsoft SQL Server 2008

Microsoft SQL Server è un DataBase Management System Relazionale (rDBMS). Si

tratta di un prodotto software la cui funzione principale è quella di memorizzare e

recuperare i dati su richiesta di altre applicazioni software, sia quelli sullo stesso

Page 7: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

4

computer che quelli in esecuzione su un altro computer attraverso una rete

(compreso Internet). I suoi query languages primari sono T-SQL e ANSI SQL.

1.4.4 SharePoint Central Administration

SharePoint Central Administration (la CA) è un’applicazione web che esiste

tipicamente su un singolo server della server farm. Una server farm è una serie di

server collocati in un ambiente unico in modo da poterne centralizzare la

gestione, la manutenzione e la sicurezza. Questa applicazione fornisce

un’interfaccia di gestione completa e centralizzata per il web e per applicazioni di

servizio nella farm SharePoint, includendo la gestione di account AD per il web e

per applicazioni di servizio.

1.4.5 Microsoft Windows Server 2008 R2

Windows Server 2008 R2 (noto anche come Windows Server 7), è il nome della

versione dedicata al settore server del sistema operativo Windows 7, sviluppato

da Microsoft, successore di Windows Server 2008.

E’ stato usato come ambiente di prova per la realizzazione del progetto.

1.5 Definizione delle fasi di progetto

Il lavoro è stato suddiviso nelle seguenti fasi:

● studio delle tecnologie atte alla gestione del sito

○ CMS SharePoint 2010, SharePoint Developer 2010

● studio delle tecnologie atte alla gestione del Database

○ SQL Server 2008

● analisi della situazione esistente nel sito del Dipartimento

● migrazione del Database di gestione dei documenti da Microsoft Access 2010

a Microsoft SQL Server 2008 con relativa conversione di tabelle e viste

● conversione dei documenti da PDF a record di una tabella contenente i

dettagli del documento inseriti in più campi

● studio e realizzazione di una pagina che dia la possibilità di modifica solo sui

documenti di cui l’utente è proprietario

● analisi della gestione della modifica dei documenti direttamente da web

● analisi della gestione della visualizzazione dei documenti

Page 8: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

5

1.6 Risultato della tesi

Il presente lavoro ha portato alla realizzazione di una pagina aggiuntiva dove

l’utente può gestire i documenti di cui è il proprietario, e ad un sistema per la

visualizzazione documenti controllato da una pagina creata ad hoc in linguaggio

ASPX.

La visualizzazione dei documenti tramite query su database e la gestione tramite

una richiesta di una pagina in ASPX, la quale genera una pagina HTML formattata

adeguatamente, hanno permesso l’abbandono di una gestione separata dei

documenti in favore di una gestione totalmente on-line degli stessi.

Il futuro prossimo di questo progetto riguarderà la gestione documenti con un

nuovo formato: XML.

L’intera collezione di documenti sarà presente nel sito SharePoint in formato XML,

formattato adeguatamente con XSLT per una visualizzazione più user-friendly.

2 Analisi Oggetto dell’analisi sono stati i seguenti aspetti: la struttura del database in MS

Access e l’organizzazione del sito di Dipartimento. Entrambi sono stati realizzati

precedentemente, e non sono a cura del laureando.

2.1 Database in MS Access

Page 9: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

6

Il database relativo alla gestione dei documenti è stato realizzato in MS Access, ed

è composto da cinque tabelle e quarantuno query.

Sono presenti cinque macrosettori: Energia e Ambiente, ICT, Bio-based Economy,

Process & Product Design, Decision Science; ogni settore contiene al suo interno

delle attività, che possono essere condivise da più settori, e per ogni attività sono

presenti alcuni documenti appartenenti a quell’ambito, relativi alle attività di

ricerca dei Professori e dei dottorandi all’interno del Dipartimento.

Ogni query salvata mostra i documenti relativi ad un’attività fissata, e vengono

presentati nome del documento e relativo autore.

2.2 Sito del Dipartimento di Ingegneria e Architettura

Il sito del Dipartimento è stato realizzato usando il CMS Microsoft SharePoint, e si

compone di una Home Page dove è possibile avere uno sguardo generale sulle

diverse aree di interesse e organizzazione del dipartimento. Oltre alla Home Page,

sono presenti varie sezioni:

● la sezione “Dipartimento” dove si trovano informazioni sulla storia del

dipartimento e la sua posizione, oltre che alle informazioni sul suo

personale;

● la sezione “Didattica”;

● la sezione “Link” con link utili alla vita in ateneo e a informazioni su master

e congressi;

● la sezione “Servizi” con prenotazioni, materiale, accesso a posta elettronica

e area download;

● la sezione “Ricerca”, che conduce ad un sottosito. Qui è possibile notare un

menù diverso dai precedenti, organizzato con cinque link che portano

ognuno ad un settore di ricerca. In ognuno di questi settori è possibile

notare la presenza di una lista con la divisione in attività; il click su una di

esse porta successivamente ad un’altra lista contenente un elenco dei

documenti legati a quella specifica attività.

In questa lista è presente il nome e l’autore del documento. Da notare il

fatto che il nome è in realtà un campo URL, il quale indirizza direttamente

al documento PDF, caricato in una libreria apposita direttamente nel sito.

Page 10: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

7

3 Progettazione La progettazione si articola in varie fasi: una fase iniziale di migrazione del

database su MS SQL Server oltre all'inserimento di una tabella addizionale per il

salvataggio dei dettagli dei documenti PDF, una fase in cui viene analizzato il

procedimento per giungere ad un'interfaccia di modifica dei dati del singolo

documento, e una fase in cui si affronta il processo di visualizzazione dello stesso.

3.1 Migrazione database da MS Access a MS SQL Server

Il database su cui poggia la gestione dei documenti è sostenuto da MS Access

2010. Utilizzando una procedura guidata presente nello stesso Access è possibile,

con poca fatica, importare il database in toto o in parte, all’interno di un Database

SQL Server già esistente, o eventualmente uno nuovo. Per quanto riguarda la

migrazione delle query, si è dovuto operare in maniera diversa attraverso l’uso di

una macro eseguita all’interno di Access, che restituisca la sintassi SQL per creare

le query stesse. In una fase successiva, per completare il trasferimento, si è

dovuto modificare lo script ottenuto per essere adattato alla sintassi di SQL Server

ed in seguito eseguito.

3.2 Interfaccia di modifica dei dati

Sharepoint offre numerose tipologie di gestione dei file e dei contenuti, una fra

queste, la gestione tramite “Liste” (o “List”) di dati salvati precedentemente in

formato tabellare, o che riferiscono a “tabelle linkate” da Microsoft Access.

L’obbiettivo è sfruttare le proprietà di queste liste integrate di gestione per

aggiungere un nuovo elemento e modificare un elemento già esistente, come da

specifiche di progetto. Sostituendo MS SQL Server a MS Access, non è più

possibile appoggiarsi su liste gestite internamente a SharePoint, ma si necessita

dell’uso di “Tipi dati esterni” (o “External Content Type”), basati sui Business

Connectivity Services, servizi che offrono interfacce per interagire con i business

data.

Page 11: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

8

3.3 Interfaccia di visualizzazione dei dati

Per quanto riguarda la visualizzazione dei dati, essa verrà fatta in maniera diversa

dalla modifica degli stessi: i dati verranno così direttamente interrogati dal

database e mostrati sfruttando una pagina ASPX.

4 Realizzazione

4.1 Migrazione database da MS Access a MS SQL Server

MS Access mette a disposizione dell’utente una funzione particolare per la

migrazione del database sotto il menù

“Strumenti database” -> “Sposta Dati”.

Questa funzione esegue una procedura

guidata di migrazione, che richiede a

quale tipo di database legarsi per il

passaggio o se selezionarne uno nuovo, e a quale computer SQL Server effettuare

il collegamento.

Per quanto riguarda la migrazione delle query, si è scelto di procedere utilizzando

una macro già esistente trovata in Rete, riadattata (vedi Appendice).

La funzione scorre tutte le macro presenti, e per ognuna di esse, ne stampa il

nome e la sintassi SQL che la genera. Aggiungendo opportunamente la prima riga

con “CREATE VIEW name_view AS” invece di lasciare solamente il nome, e

aggiungendo la dicitura “GO” sotto la sintassi SQL della query, si produce un lungo

listato di sintassi SQL eseguibile a livello del nuovo database in SQL Server, la

quale produrrà tutte le viste presenti nel vecchio database Access.

Va notata la cura particolare riservata all’assegnazione dei nomi di tabella, vista e

campi, che segue delle regole non scritte.

Per i nomi di Tabella e di Colonna:

- Pascal Case (si distingue dal CamelCase per la restrizione che la prima lettera

dev’essere maiuscola)

- Alfanumerico

- Evitare underscore

- No Prefisso

Page 12: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

9

- Usare la forma singolare (es: Utente, non Utenti)

Inoltre, per evitare problemi di incompatibilità, si è preferito eliminare gli spazi

bianchi all’interno dei nomi di tabella (anche se gestibili richiamando il nome

completo di tabella dentro parentesi quadre) e lettere accentate nei nomi di

tabella e di campo.

Oltre alle tabelle già esistenti, è stata creata un’altra tabella per inserire le

informazioni presenti nei singoli file PDF: ogni voce del documento sarà ora

contenuta in un campo della tabella, cosicché ogni documento corrisponderà da

ora in poi ad un singolo record. Oltre a tutti i campi presenti nel documento è

stato introdotto un campo aggiuntivo, “SchedaID”, che viene usato come chiave

primaria della tabella, e serve per identificare univocamente il documento

all’interno della collezione. Questa tabella tblDettagliSchede è collegata con la

tabella tblSchede da una relationship 1-1 che ha come chiave primaria e chiave

esterna SchedaID.

Di seguito, il diagramma del Database.

Page 13: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

10

4.2 Realizzazione della pagina di modifica documenti

Per caricare una tabella appartenente ad un Database in SQL Server, è necessario

caricarla non più come lista, ma come “Tipo di contenuto esterno” (“External

Content Type”), dalla lista degli

“Oggetti del Sito” (“Site Objects”).

A quel punto, viene richiesto un nome

per il nuovo contenuto creato, e un

Sistema esterno, che ricerca una

sorgente dati esterna e definisce le operazioni volute sulle tabelle selezionate. Le

operazioni possibili sono Create, Read (Read Item e Read List), Update, Delete. N.B. Su “Edit Connection Properties”, alla voce “Authentication Mode:” selezionare “BDC Identity”.

Page 14: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

11

I cambiamenti effettuati sul nuovo tipo di

contenuto esterno verranno salvati nel

“Business Data Connectivity Metadata Store”

(componente integrato di SharePoint).

Ora, fissate le operazioni consentite, è possibile

creare una nuova lista esterna cliccando il tasto

relativo; essa si aggiungerà all’elenco delle liste

già esistenti.

Per poter filtrare i documenti in base all’utente, è necessario creare un filtro e si

procede come segue: andando in “Operation Design View”, creare una nuova

operazione di “Read List”, aggiungendo stavolta un filtro in base al campo

AutoreID. Questo filtro può essere impostato nelle proprietà della vista, così da

avere la possibilità di associare un valore al campo AutoreID.

Per rendere dinamico questo filtro in base all’utente che effettua il login nel sito,

si inserisce uno script javascript in esecuzione nella pagina, che ritorna come

valore proprio il nome di login dell’utente. Lo script è stato modificato ed adattato

alla situazione a cura del laureando.

Verranno osservati in seguito solo alcuni tratti dello script; il codice completo si

trova nell’Appendice.

Nel seguente script vengono usate funzioni di jQuery, per cui dev’essere

importato lo script

$(document).ready(

function() {

ExecuteOrDelayUntilScriptLoaded(

AddItem( function(){ alert(currentUser); } )

, "sp.js");

});

Viene eseguita la funzione AddItem solamente quando la pagina è stata caricata.

La funzione AddItem tenta di eseguire una query

context.executeQueryAsync( Function.createDelegate(this, this.onSuccess),

Function.createDelegate(this, this.onFailureMethod) );

Page 15: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

12

Se la query ha successo, salva nella variabile currentUser lo username dell’utente

function onSuccess(sender, args) {

currentUser = this.user.get_loginName();

}

Questo verrà usato come parametro del filtro in base all’utente, usato nella

visualizzazione dei documenti che è possibile modificare.

Cliccando su ogni elemento, è possibile modificarlo, se si è il proprietario del file,

ed è possibile creare un nuovo documento.

4.3 Realizzazione della pagina di visualizzazione documenti

Ora verrà spiegato come creare una pagina ASPX per visualizzare dinamicamente

il documento selezionato in base all'identificativo del documento.

Page 16: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

13

Si apra Visual Studio, e si crei una Solution di tipo Web Application.

Dalla Toolbox, selezionare e trascinare nel codice l'oggetto della categoria "Data",

"SqlDataSource".

Cambiando la modalità di visualizzazione da Source a Design, è possibile

intervenire sulle proprietà dell'oggetto, e soprattutto sulla scelta della sorgente

dati.

A questo punto parte del codice nella pagina .aspx e nel file Web.config è già stato

creato automaticamente: la stringa di connessione al Database è già stata settata,

ed esiste già un oggetto SqlDataSource che, se sono stati configurati in maniera

corretta i parametri inseriti durante la configurazione dell'oggetto fatta

precedentemente, porteranno alla creazione automatica di un parametro di

selezione, o più nello specifico, di un QueryStringParameter.

Page 17: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

14

Il QueryStringParameter è un oggetto molto interessante, poichè è proprio esso

che ricopre il ruolo fondamentale del passaggio parametri direttamente nell'URL

della richiesta.

Esso ha degli attributi, quali Name, il quale valore è mappato come variabile nella

query fatta dall'oggetto SqlDataSource per prelevare il documento. Un altro

attributo importante è QueryStringField, il quale valore sarà l'attributo che verrà

definito nell'URL.

Es. http://localhost:1950/WebForm1.aspx?fileID=1

In questo caso, si può notare che fileID è il valore di QueryStringField.

Nel file .aspx manca solo la creazione delle label per la visualizzazione dei campi

del documento, e le label per le intestazioni di riga. L'intera struttura è gestita con

una tabella.

Le Label vengono tutte definite con il tag <asp:Label> e sono presenti i seguenti

attributi:

- ID: fornisce un nome di oggetto che potrà poi essere richiamato nel file .aspx.cs

- runat="server"

- Text: il valore di questo attributo sarà il testo visualizzato all'interno della label

Nel file .aspx.cs dovranno essere inserite alcune righe di codice all'interno della

funzione protected void Page_Load(object sender, EventArgs e).

Le righe da inserire sono le seguenti:

DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

che crea un oggetto DataView, che contiene il risultato della query effettuata

lbldescrizioneAttivitaVALUE.Text = dv.Table.Rows[0][4].ToString();

indica che il testo da visualizzare della label lbldescrizioneAttivitaVALUE è il testo

generato dal 5° valore presente nell'array interno dell'oggetto DataView.

Facendo questa associazione per ogni label a cui dobbiamo associare la

visualizzazione di un campo della query.

Page 18: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

15

Dopo aver compilato, il risultato sarà il seguente:

5 Conclusioni L’obiettivo di creare in locale una pagina per la visualizzazione e una pagina per la

gestione, intesa come modifica e inserimento, dei documenti relativi alle attività

di ricerca svolte dai professori e dai dottorandi del dipartimento è stato raggiunto.

Durante il lavoro di tesi è stata svolta la costruzione in locale, tramite il CMS

SharePoint e il software SharePoint Designer, della pagina di gestione dei

documenti nonché la costruzione in toto di una pagina .aspx e una .aspx.cs per la

gestione della query e la visualizzazione del documento tramite CSS.

Oltre a questo, è stato effettuato un lavoro sul database Access per permettere la

migrazione dello stesso come premessa dei lavori precedentemente discussi.

Il lavoro è attualmente accessibile in locale, e lo sviluppo nel prossimo futuro sarà

il porting on-line del progetto sul CMS SharePoint direttamente sul sito del

Dipartimento.

La prossima mossa sarà l’integrazione di questo sistema con la gestione e

l’archiviazione dei documenti con XML e della loro visualizzazione tramite XSLT.

Page 19: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

16

APPENDICE

Macro VBA per esportazione Query Option Compare Database

Public Sub IterateQueryDefsCollection()

Dim dbMain As DAO.Database

Dim qdf As DAO.QueryDef

Dim qdfTemp As DAO.QueryDef

Set dbMain = CurrentDb

For Each qdf In dbMain.QueryDefs

Debug.Print qdf.Name 'Prints name of query

Set qdfTemp = dbMain.QueryDefs(qdf.Name)

Debug.Print qdfTemp.SQL 'Prints SQL Syntax of query

Next

End Sub

SCRIPT getIDcode <script type="text/ecmascript">

$(document).ready(

function() {

ExecuteOrDelayUntilScriptLoaded(

AddItem(

function(){

alert(currentUser);

})

, "sp.js");

});

function AddItem(callback) {

var context = SP.ClientContext.get_current();

user = context.get_web().get_currentUser();

context.load(this.user);

context.executeQueryAsync(Function.createDelegate(this, this.onSuccess), Function.createDelegate(this,

this.onFailureMethod));

}

function onSuccess(sender, args) {

currentUser = this.user.get_loginName();

$('.prova').html(currentUser);

//alert(' Name:' + this.user.get_title() + '\n Login:' + this.user.get_loginName());

}

Page 20: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

17

function onFailureMethod(sender, args) {

alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());

}

</script>

.ASPX AND .ASPX.CS PAGES AND WEB.CONFIG

Web.Config

<?xml version="1.0"?>

<!--

For more information on how to configure your ASP.NET application, please visit

http://go.microsoft.com/fwlink/?LinkId=169433

-->

<configuration>

<connectionStrings>

<add name="DBRicercaDipartimentoConnectionString" connectionString="Data

Source=localhost\SQLEXPRESS;Initial Catalog=DBRicercaDipartimento;Integrated Security=True"

providerName="System.Data.SqlClient" />

</connectionStrings>

<system.web>

<compilation debug="true" targetFramework="4.5" />

<httpRuntime targetFramework="4.5" />

</system.web>

</configuration>

.aspx.cs file

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace WebApplication1

{

public partial class WebForm1 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

Page 21: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

18

lblSchedaIDVALUE.Text = dv.Table.Rows[0][0].ToString();

lblnomeAttivitaRicercaVALUE.Text = dv.Table.Rows[0][1].ToString();

lblsintesiVALUE.Text = dv.Table.Rows[0][2].ToString();

lblsettoriApplicativiVALUE.Text = dv.Table.Rows[0][3].ToString();

lbldescrizioneAttivitaVALUE.Text = dv.Table.Rows[0][4].ToString();

lblannoInizioAttivitaVALUE.Text = dv.Table.Rows[0][5].ToString();

lblgruppoDiRicercaVALUE.Text = dv.Table.Rows[0][6].ToString();

lblstudentiDottoratoCoinvoltiVALUE.Text = dv.Table.Rows[0][7].ToString();

lblprogettiDiRicercaAttiviNelVALUE.Text = dv.Table.Rows[0][8].ToString();

lblannoPRAVALUE.Text = dv.Table.Rows[0][9].ToString();

lblattivitaPrevistaPerIlVALUE.Text = dv.Table.Rows[0][10].ToString();

lblannoAPVALUE.Text = dv.Table.Rows[0][11].ToString();

lblpubblicazioniIntervalloVALUE.Text = dv.Table.Rows[0][12].ToString();

lblannoInizioPIVALUE.Text = dv.Table.Rows[0][13].ToString();

lblannoFinePIVALUE.Text = dv.Table.Rows[0][14].ToString();

}

}

}

.aspx file

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"

Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

<title></title>

<style>

.scheda td {

padding: 3px 5px;

}

</style>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$

ConnectionStrings:DBRicercaDipartimentoConnectionString %>" SelectCommand="SELECT * FROM

[tblDettagliSchede] WHERE ([SchedaID] = @SchedaID)">

<SelectParameters>

<asp:QueryStringParameter DefaultValue="1" QueryStringField="fileID" Name="SchedaID"

Type="Int32" />

</SelectParameters>

Page 22: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

19

</asp:SqlDataSource>

<table border="1" class="scheda">

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblSchedaID" runat="server"

Text="SchedaID"></asp:Label></td>

<td><asp:Label ID="lblSchedaIDVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblnomeAttivitaRicerca" runat="server" Text="Nome

dell’attivita' di ricerca"></asp:Label></td>

<td><asp:Label ID="lblnomeAttivitaRicercaVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblsintesi" runat="server"

Text="Sintesi"></asp:Label></td>

<td><asp:Label ID="lblsintesiVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblsettoriApplicativi" runat="server" Text="Settori

Applicativi"></asp:Label></td>

<td><asp:Label ID="lblsettoriApplicativiVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lbldescrizioneAttivita" runat="server" Text="Descrizione

Attivita'"></asp:Label></td>

<td><asp:Label ID="lbldescrizioneAttivitaVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblannoInizioAttivita" runat="server" Text="Anno Inizio

Attivita'"></asp:Label></td>

<td><asp:Label ID="lblannoInizioAttivitaVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblgruppoDiRicerca" runat="server" Text="Gruppo Di

Ricerca"></asp:Label></td>

<td><asp:Label ID="lblgruppoDiRicercaVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblstudentiDottoratoCoinvolti" runat="server"

Text="Studenti Dottorato Coinvolti"></asp:Label></td>

<td><asp:Label ID="lblstudentiDottoratoCoinvoltiVALUE" runat="server"

Text=""></asp:Label></td>

</tr>

<tr>

Page 23: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

20

<td bgcolor="#9acd32"><asp:Label ID="lblprogettiDiRicercaAttiviNel" runat="server"

Text="Progetti Di Ricerca Attivi Nel"></asp:Label> <asp:Label ID="lblannoPRAVALUE" runat="server"

Text=""></asp:Label></td>

<td><asp:Label ID="lblprogettiDiRicercaAttiviNelVALUE" runat="server"

Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblattivitaPrevistaPerIl" runat="server" Text="Attivita'

Prevista Per Il"></asp:Label> <asp:Label ID="lblannoAPVALUE" runat="server" Text=""></asp:Label></td>

<td><asp:Label ID="lblattivitaPrevistaPerIlVALUE" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td bgcolor="#9acd32"><asp:Label ID="lblpubblicazioniIntervallo" runat="server"

Text="Pubblicazioni Intervallo"></asp:Label> <asp:Label ID="lblannoInizioPIVALUE" runat="server"

Text=""></asp:Label> - <asp:Label ID="lblannoFinePIVALUE" runat="server" Text=""></asp:Label></td>

<td><asp:Label ID="lblpubblicazioniIntervalloVALUE" runat="server" Text=""></asp:Label></td>

</tr>

</table>

</div>

</form>

</body>

</html>

Page 24: Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010

21

Bibliografia/Sitografia: 1. Riguardo SharePoint

○ SharePoint

■ http://pluralsight.com/training/courses/TableOfContents?courseName=sp2010-

foundation-fundamentals&highlight=

■ http://pluralsight.com/training/Courses/TableOfContents/sp2010-development

■ http://sharepoint-tutorial.net/post/2011/02/10/sharepoint-tutorial-for-

beginners.aspx

■ http://www.sharepointhosting.com/video_tutorials.html

2. Riguardo al lavoro sulla pagina di gestione e modifica dei documenti

○ Business Connectivity Services in SharePoint Server 2010

■ http://technet.microsoft.com/en-us/sharepoint/ee518675.aspx

○ How to create an External Content Type in SharePoint Designer 2010 using

Business Connectivity Services(BCS) and fix issues that arise on the way

■ http://underthehood.ironworks.com/2010/07/how-to-create-an-external-content-

type-in-sharepoint-designer-2010-using-business-connectivity-servi.html

○ Business Data Catalog Authentication

■ http://lightningtools.com/bdc-authentication-vs-authorization/

3. Riguardo al lavoro sulla pagina di visualizzazione dei documenti

○ Querying Data with the SqlDataSource Control (C#)

■ http://www.asp.net/web-forms/tutorials/data-access/accessing-the-database-

directly-from-an-aspnet-page/querying-data-with-the-sqldatasource-control-cs