• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010
 

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

on

  • 356 views

 

Statistics

Views

Total Views
356
Views on SlideShare
356
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010 Progetto e implementazione di un processo per l'assemblaggio di documenti html in ambito microsoft share point 2010 Document Transcript

    • Università degli Studi di Trieste Dipartimento di Ingegneria e Architettura Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Informatica PROGETTO E IMPLEMENTAZIONE DI UN PROCESSO PER LASSEMBLAGGIO DI DOCUMENTI HTML IN AMBITO MICROSOFT SHAREPOINT 2010Relatore: Laureando:Chiar.mo Prof. Maurizio FERMEGLIA Nicola FURLAN Anno Accademico 2011-2012
    • Indice1 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 ............................................................................................................ 52 Analisi ..................................................................................................................................... 5 2.1 Database in MS Access.................................................................................................... 5 2.2 Sito del Dipartimento di Ingegneria e Architettura ............................................................. 63 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 ................................................................................ 84 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 ................................................125 Conclusioni ............................................................................................................................15APPENDICE .............................................................................................................................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 INTRODUZIONEQuesta tesi si prefigge lo scopo di sviluppare e realizzare il progetto el’implementazione di una procedura atta ad automatizzare l’inserimento e lamodifica di documenti HTML relativi alle attività di ricerca svolte all’interno delDipartimento di Ingegneria e Architettura dell’Università di Trieste.1.1 Obiettivo della TesiL’obiettivo di questo lavoro consiste nella creazione di un procedimento voltoall’inserimento automatizzato dei documenti riguardanti le attività di ricercadirettamente sul nuovo sito del Dipartimento, e alla modifica in loco degli stessi.1.2 Stato dell’arte e MotivazioniPrima di proseguire con lesposizione del lavoro svolto, è utile analizzare lo statodell’arte relativo alla modifica dei documenti ed alla loro visualizzazione, permeglio comprendere le motivazioni alla base dei procedimenti esposti in questoelaborato.Attualmente nel nuovo sito del Dipartimento di Ingegneria e Architettura èpresente una sezione raggiungibile dal menù “Ricerca” dove, organizzate secondoi cinque Settori di ricerca, si suddividono le varie Attività di interesse. Ogni Attivitàcontiene documenti di Progetti di ricerca ad essa relativi; tali documenti sonocontenuti nel sito in formato PDF e pertanto difficilmente modificabili, obbligandolamministratore ad un prolungato lavoro manuale, sviluppato in varie fasi:l’apertura del file DOC del progetto e la modifica dello stesso, la conversione inPDF e il successivo upload del documento al posto del precedente.Oltre alle difficoltà esposte precedentemente, bisogna anche considerare lapossibile azione di un utente non esperto in questo tipo di attività, già di per secomplesse, come il Professore interessato ad inserire o modificare propriepubblicazioni. 1
    • Per rendere questa procedura più rapida e meno dispersiva, si è proposto diaggiungere una funzionalità al sito in costruzione per fare in modo che ilProfessore che effettua l’accesso al sito possa subito aver accesso alla collezionedei documenti di Progetti di ricerca di cui lui è autore, e sia abilitato alla modificaper quei soli documenti.Per quanto riguarda invece lo stato dell’arte relativo alla visualizzazione deidocumenti, selezionando direttamente Settore e Attività di ricerca si arriva ad unalista dei documenti relativi alla sottoarea considerata; cliccando sul titolo deldocumento, si può aprire direttamente il PDF nel browser.Si vuole intervenire anche su questo procedimento poiché si vuole evitare didover operare con due tipi di documenti: file PDF salvati on-line nel sito, e file informato Word per la modifica in locale.Per ottenere questo risultato verrà creata una pagina in linguaggio ASPX cheesegue una Query direttamente nel Database presente in SQL Server e generauna pagina HTML opportunamente formattata che riproduce nel complesso icontenuti presenti nel documento PDF. 2
    • 1.3 Vincoli di progettoI vincoli di progetto discendono direttamente dalle tecnologie utilizzate edassociate al CMS (Content Management System) specifico impiegato nellacreazione del sito di Dipartimento, oltre alle specifiche riguardo l’utilizzo di XML eHTML 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 HTML1.4 Tecnologie software utilizzate1.4.1 Microsoft SharePoint 2010SharePoint è un Content Management System (CMS) che permette la creazione diparticolari siti web principalmente ad uso aziendale (Intranet) ma che possonoanche 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 conOutlook e molto altro. SharePoint è completamente integrato con il pacchettoOffice e offre soluzioni come il "versionamento" dei documenti che essendosalvati su server rendono possibile la collaborazione.1.4.2 Microsoft SharePoint Designer 2010Microsoft SharePoint Designer (SPD), è un editor HTML specializzato e unsoftware di web design gratuito utilizzato per creare o modificare siti realizzaticon Microsoft SharePoint, workflows e pagine web.1.4.3 Microsoft SQL Server 2008Microsoft SQL Server è un DataBase Management System Relazionale (rDBMS). Sitratta di un prodotto software la cui funzione principale è quella di memorizzare erecuperare i dati su richiesta di altre applicazioni software, sia quelli sullo stesso 3
    • 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 AdministrationSharePoint Central Administration (la CA) è un’applicazione web che esistetipicamente su un singolo server della server farm. Una server farm è una serie diserver collocati in un ambiente unico in modo da poterne centralizzare lagestione, la manutenzione e la sicurezza. Questa applicazione fornisceun’interfaccia di gestione completa e centralizzata per il web e per applicazioni diservizio nella farm SharePoint, includendo la gestione di account AD per il web eper applicazioni di servizio.1.4.5 Microsoft Windows Server 2008 R2Windows Server 2008 R2 (noto anche come Windows Server 7), è il nome dellaversione dedicata al settore server del sistema operativo Windows 7, sviluppatoda Microsoft, successore di Windows Server 2008.E’ stato usato come ambiente di prova per la realizzazione del progetto.1.5 Definizione delle fasi di progettoIl 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 4
    • 1.6 Risultato della tesiIl presente lavoro ha portato alla realizzazione di una pagina aggiuntiva dovel’utente può gestire i documenti di cui è il proprietario, e ad un sistema per lavisualizzazione documenti controllato da una pagina creata ad hoc in linguaggioASPX.La visualizzazione dei documenti tramite query su database e la gestione tramiteuna richiesta di una pagina in ASPX, la quale genera una pagina HTML formattataadeguatamente, hanno permesso l’abbandono di una gestione separata deidocumenti in favore di una gestione totalmente on-line degli stessi.Il futuro prossimo di questo progetto riguarderà la gestione documenti con unnuovo 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 AnalisiOggetto dell’analisi sono stati i seguenti aspetti: la struttura del database in MSAccess e l’organizzazione del sito di Dipartimento. Entrambi sono stati realizzatiprecedentemente, e non sono a cura del laureando.2.1 Database in MS Access 5
    • 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 internodelle attività, che possono essere condivise da più settori, e per ogni attività sonopresenti alcuni documenti appartenenti a quell’ambito, relativi alle attività diricerca dei Professori e dei dottorandi all’interno del Dipartimento.Ogni query salvata mostra i documenti relativi ad un’attività fissata, e vengonopresentati nome del documento e relativo autore.2.2 Sito del Dipartimento di Ingegneria e ArchitetturaIl sito del Dipartimento è stato realizzato usando il CMS Microsoft SharePoint, e sicompone di una Home Page dove è possibile avere uno sguardo generale sullediverse 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. 6
    • 3 ProgettazioneLa progettazione si articola in varie fasi: una fase iniziale di migrazione deldatabase su MS SQL Server oltre allinserimento di una tabella addizionale per ilsalvataggio dei dettagli dei documenti PDF, una fase in cui viene analizzato ilprocedimento per giungere ad uninterfaccia di modifica dei dati del singolodocumento, e una fase in cui si affronta il processo di visualizzazione dello stesso.3.1 Migrazione database da MS Access a MS SQL ServerIl database su cui poggia la gestione dei documenti è sostenuto da MS Access2010. Utilizzando una procedura guidata presente nello stesso Access è possibile,con poca fatica, importare il database in toto o in parte, all’interno di un DatabaseSQL Server già esistente, o eventualmente uno nuovo. Per quanto riguarda lamigrazione delle query, si è dovuto operare in maniera diversa attraverso l’uso diuna macro eseguita all’interno di Access, che restituisca la sintassi SQL per crearele query stesse. In una fase successiva, per completare il trasferimento, si èdovuto modificare lo script ottenuto per essere adattato alla sintassi di SQL Servered in seguito eseguito.3.2 Interfaccia di modifica dei datiSharepoint offre numerose tipologie di gestione dei file e dei contenuti, una fraqueste, la gestione tramite “Liste” (o “List”) di dati salvati precedentemente informato tabellare, o che riferiscono a “tabelle linkate” da Microsoft Access.L’obbiettivo è sfruttare le proprietà di queste liste integrate di gestione peraggiungere un nuovo elemento e modificare un elemento già esistente, come daspecifiche di progetto. Sostituendo MS SQL Server a MS Access, non è piùpossibile appoggiarsi su liste gestite internamente a SharePoint, ma si necessitadell’uso di “Tipi dati esterni” (o “External Content Type”), basati sui BusinessConnectivity Services, servizi che offrono interfacce per interagire con i businessdata. 7
    • 3.3 Interfaccia di visualizzazione dei datiPer quanto riguarda la visualizzazione dei dati, essa verrà fatta in maniera diversadalla modifica degli stessi: i dati verranno così direttamente interrogati daldatabase e mostrati sfruttando una pagina ASPX.4 Realizzazione4.1 Migrazione database da MS Access a MS SQL ServerMS Access mette a disposizione dell’utente una funzione particolare per lamigrazione del database sotto il menù“Strumenti database” -> “Sposta Dati”.Questa funzione esegue una proceduraguidata di migrazione, che richiede aquale tipo di database legarsi per ilpassaggio o se selezionarne uno nuovo, e a quale computer SQL Server effettuareil collegamento.Per quanto riguarda la migrazione delle query, si è scelto di procedere utilizzandouna macro già esistente trovata in Rete, riadattata (vedi Appendice).La funzione scorre tutte le macro presenti, e per ognuna di esse, ne stampa ilnome e la sintassi SQL che la genera. Aggiungendo opportunamente la prima rigacon “CREATE VIEW name_view AS” invece di lasciare solamente il nome, eaggiungendo la dicitura “GO” sotto la sintassi SQL della query, si produce un lungolistato di sintassi SQL eseguibile a livello del nuovo database in SQL Server, laquale produrrà tutte le viste presenti nel vecchio database Access.Va notata la cura particolare riservata all’assegnazione dei nomi di tabella, vista ecampi, 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 letteradev’essere maiuscola)- Alfanumerico- Evitare underscore- No Prefisso 8
    • - Usare la forma singolare (es: Utente, non Utenti)Inoltre, per evitare problemi di incompatibilità, si è preferito eliminare gli spazibianchi all’interno dei nomi di tabella (anche se gestibili richiamando il nomecompleto di tabella dentro parentesi quadre) e lettere accentate nei nomi ditabella e di campo.Oltre alle tabelle già esistenti, è stata creata un’altra tabella per inserire leinformazioni presenti nei singoli file PDF: ogni voce del documento sarà oracontenuta in un campo della tabella, cosicché ogni documento corrisponderà daora in poi ad un singolo record. Oltre a tutti i campi presenti nel documento èstato introdotto un campo aggiuntivo, “SchedaID”, che viene usato come chiaveprimaria della tabella, e serve per identificare univocamente il documentoall’interno della collezione. Questa tabella tblDettagliSchede è collegata con latabella tblSchede da una relationship 1-1 che ha come chiave primaria e chiaveesterna SchedaID.Di seguito, il diagramma del Database. 9
    • 4.2 Realizzazione della pagina di modifica documentiPer caricare una tabella appartenente ad un Database in SQL Server, è necessariocaricarla non più come lista, ma come “Tipo di contenuto esterno” (“ExternalContent Type”), dalla lista degli“Oggetti del Sito” (“Site Objects”).A quel punto, viene richiesto un nomeper il nuovo contenuto creato, e unSistema esterno, che ricerca unasorgente dati esterna e definisce le operazioni volute sulle tabelle selezionate. Leoperazioni possibili sono Create, Read (Read Item e Read List), Update, Delete.N.B. Su “Edit Connection Properties”, alla voce “Authentication Mode:” selezionare “BDC Identity”. 10
    • I cambiamenti effettuati sul nuovo tipo dicontenuto esterno verranno salvati nel“Business Data Connectivity Metadata Store”(componente integrato di SharePoint).Ora, fissate le operazioni consentite, è possibilecreare una nuova lista esterna cliccando il tastorelativo; essa si aggiungerà all’elenco delle listegià esistenti.Per poter filtrare i documenti in base all’utente, è necessario creare un filtro e siprocede come segue: andando in “Operation Design View”, creare una nuovaoperazione di “Read List”, aggiungendo stavolta un filtro in base al campoAutoreID. Questo filtro può essere impostato nelle proprietà della vista, così daavere 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 comevalore proprio il nome di login dell’utente. Lo script è stato modificato ed adattatoalla situazione a cura del laureando.Verranno osservati in seguito solo alcuni tratti dello script; il codice completo sitrova nell’Appendice.Nel seguente script vengono usate funzioni di jQuery, per cui dev’essereimportato 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 querycontext.executeQueryAsync( Function.createDelegate(this, this.onSuccess), Function.createDelegate(this, this.onFailureMethod) ); 11
    • Se la query ha successo, salva nella variabile currentUser lo username dell’utentefunction onSuccess(sender, args) { currentUser = this.user.get_loginName();}Questo verrà usato come parametro del filtro in base all’utente, usato nellavisualizzazione 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 documentiOra verrà spiegato come creare una pagina ASPX per visualizzare dinamicamenteil documento selezionato in base allidentificativo del documento. 12
    • Si apra Visual Studio, e si crei una Solution di tipo Web Application.Dalla Toolbox, selezionare e trascinare nel codice loggetto della categoria "Data","SqlDataSource".Cambiando la modalità di visualizzazione da Source a Design, è possibileintervenire sulle proprietà delloggetto, e soprattutto sulla scelta della sorgentedati.A questo punto parte del codice nella pagina .aspx e nel file Web.config è già statocreato automaticamente: la stringa di connessione al Database è già stata settata,ed esiste già un oggetto SqlDataSource che, se sono stati configurati in manieracorretta i parametri inseriti durante la configurazione delloggetto fattaprecedentemente, porteranno alla creazione automatica di un parametro diselezione, o più nello specifico, di un QueryStringParameter. 13
    • Il QueryStringParameter è un oggetto molto interessante, poichè è proprio essoche ricopre il ruolo fondamentale del passaggio parametri direttamente nellURLdella richiesta.Esso ha degli attributi, quali Name, il quale valore è mappato come variabile nellaquery fatta dalloggetto SqlDataSource per prelevare il documento. Un altroattributo importante è QueryStringField, il quale valore sarà lattributo che verràdefinito nellURL.Es. http://localhost:1950/WebForm1.aspx?fileID=1In questo caso, si può notare che fileID è il valore di QueryStringField.Nel file .aspx manca solo la creazione delle label per la visualizzazione dei campidel documento, e le label per le intestazioni di riga. Lintera struttura è gestita conuna tabella.Le Label vengono tutte definite con il tag <asp:Label> e sono presenti i seguentiattributi:- 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 allinterno della labelNel file .aspx.cs dovranno essere inserite alcune righe di codice allinterno dellafunzione 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 effettuatalbldescrizioneAttivitaVALUE.Text = dv.Table.Rows[0][4].ToString();indica che il testo da visualizzare della label lbldescrizioneAttivitaVALUE è il testogenerato dal 5° valore presente nellarray interno delloggetto DataView.Facendo questa associazione per ogni label a cui dobbiamo associare lavisualizzazione di un campo della query. 14
    • Dopo aver compilato, il risultato sarà il seguente:5 ConclusioniL’obiettivo di creare in locale una pagina per la visualizzazione e una pagina per lagestione, 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 CMSSharePoint e il software SharePoint Designer, della pagina di gestione deidocumenti nonché la costruzione in toto di una pagina .aspx e una .aspx.cs per lagestione della query e la visualizzazione del documento tramite CSS.Oltre a questo, è stato effettuato un lavoro sul database Access per permettere lamigrazione 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 delDipartimento.La prossima mossa sarà l’integrazione di questo sistema con la gestione el’archiviazione dei documenti con XML e della loro visualizzazione tramite XSLT. 15
    • APPENDICEMacro VBA per esportazione QueryOption Compare DatabasePublic 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 NextEnd SubSCRIPT 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()); } 16
    • function onFailureMethod(sender, args) { alert(request failed + args.get_message() + n + args.get_stackTrace()); }</script>.ASPX AND .ASPX.CS PAGES AND WEB.CONFIGWeb.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="DataSource=localhostSQLEXPRESS;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 fileusing 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); 17
    • 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> 18
    • </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="Nomedell’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="SettoriApplicativi"></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="DescrizioneAttivita"></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 InizioAttivita"></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 DiRicerca"></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> 19
    • <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="AttivitaPrevista 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> 20
    • 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.html2. 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 21