Upload
nicola-furlan
View
366
Download
2
Embed Size (px)
Citation preview
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
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
Bibliografia/Sitografia: ...............................................................................................................21
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.
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.
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
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
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
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.
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.
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
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.
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”.
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) );
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.
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.
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.
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.
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());
}
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);
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>
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>
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>
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