.NET Development su tecnologia SharePoint Parte 2

Slides:



Advertisements
Presentazioni simili
© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Advertisements

Open Document Format for Office Applications Organization for the Advancement of Structured Information Standards Sergio Capone ITP.
Introduzione ai Visual Studio Tools For Office 2005 Fabio Santini
Recovery e Troubleshooting di Active Directory Renato Francesco Giorgini
Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi Roberto Brunetti.
Sviluppare workflow per il nuovo 2007 Microsoft Office system e Windows SharePoint Services 3.0 Paolo Pialorsi
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Windows SharePoint 2003 Products & Technologies – Overview funzionale Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web:
Sharepoint Gabriele Castellani
Luca Bianchi Windows Development Day Bologna 28 gennaio 2005 SQL Server Desktop Engine (MSDE) & SQL Server 2005 Express.
Sql Server 2005 Reporting Services - Sviluppo Franco Perduca Factory Software
Fabio Santini.NET Senior Developer Evangelist. 2 SharePoint Customizzazione 4 principali modalità 4 principali modalità Componenti (Web Parts e Event.
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
EJB Getting started Database: MySql Application Server: Pramati Server Ambiente di sviluppo: Pramati Studio 3 Applicazione esempio: Logon Trento, 30/10/2002.
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
Fanno ormai parte della nostra vita di tutti i giorni….
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
New Features + Improvements Miglioramenti alle Situazioni contabili Distribuzione costi Intragruppo in registrazione fatture di acqusti Varie.
Vision Caratteristica generica– disponibile a livello generale Possibilità di personalizzazione Facile da usare (What you see is what you get)
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Introduzione ad ASP.net
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
Componenti dell’architettura Oracle
SQL Server 2012 LocalDB.
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
PrimordialCode WebMatrix + Orchard First Impact… Ing. Giorgetti Alessandro Software Artisan SID s.r.l.
C OME CREARE I FRAME. Dal pannello File fai doppio clic sul file default.html per aprire la pagina (figura 1.1). Figura 1.1 Il file default.html.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
Internet Explorer 8.0: Gestione centralizzata tramite Group Policy
KNOwledge Store. INSTALLAZIONE KNOS 1.Architettura dellapplicazione 2.Prerequisiti hardware 3.Prerequisiti software 4.Installazione ruoli e funzionalità
Project Review byNight byNight December 6th, 2011.
WPF per il client Desktop
14° Workshop – DotNetMarche :: Castelfidardo, 16 Aprile 2010 Introduzione ai framework per IoC / DI e AOP.
Fabio Cozzolino Vito Arconzo
Renato Francesco Giorgini Evangelist IT Pro
Scoprirete che su Office non si può solo contare ma anche sviluppare.
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
Microsoft Office SharePoint Designer 2007 Costruire soluzioni SharePoint senza sviluppare codice Paolo Pialorsi
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 6th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
Giovedì 17 Aprile 2008 Heroes {Community} Launch Giovedì 17 Aprile 2008.
Collection & Generics in Java
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
Fabio Santini.NET Senior Developer Evangelist. 2 SharePoint Customizzazione 4 principali modalità 4 principali modalità  Componenti (Web Parts e Event.
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Nuove funzionalitA’ e caratteristiche del linguaggio
Sviluppo applicativo mobile per lettore barcode datalogic
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Transcript della presentazione:

.NET Development su tecnologia SharePoint Parte 2 ASP.NET Web Part, Master Page, Data Rendering Paolo Pialorsi paolo@devleap.it DevLeap http://www.devleap.com/ Roberto Brunetti roberto@devleap.it DevLeap http://www.devleap.com/

ASP.NET Integration SP v3 <-> ASP.NET 2.0 Maggiore integrazione Ci sono ancora alcune differenze SharePoint ha Modello basato su template Un utente può editare le pagine Windows SharePoint Services “v2” ASP.NET 1.1 ASP.NET 2.0 Windows SharePoint Services “v3”

SharePoint per sviluppatori ASP.NET Differenze nel modello di security I Knowledge Worker possono editare le pagine Molti siti, basati su Template No-Code page No-Code Behind page SafeControls Content Database Customized ASPX Pages _layouts Application ASPX Pages Web Front End Template ASPX Pages

Integrazione IIS -> ASP.NET Autenticazione Web Parts Master Page Windows Authentication Forms Authentication Membership Per entrambi Role Manager Web Parts Master Page

Digital Dashboard del 99 in chiave .NET Web Parts Digital Dashboard del 99 in chiave .NET

Obiettivo Per l’utente Per lo sviluppatore Plumbing già creato ! UI flessibile Contenuto personalizzato Per lo sviluppatore Ton di pre-written code Personalizzazione di UI Customizzazione semplice Contenuto complesso Plumbing già creato !

ASP.NET Web Parts Building Block per siti dinamici Utilizzabile in qualunque web app Portal, contenuti, intranet, internet Supporto Windows e Form Authentication Integrazione con ASP.NET Control Ogni controllo può essere una Web Part Connessioni semplici e potenti Flessibile e estendibile Supporto per servizi ASP.NET Personalization, Role Management, Membership, Profile.. ecc Visual Studio Designer Full !

Giro sul sito DLASPNET20/WebParts

Display Mode Browse Design Edit Catalog Connection

Il Cervello: Web Part Manager Non-visual <ASP:WebPartManager runat=server ... /> Traccia lo stato della pagina Browse, Catalog, Connect, Design, Edit Gestisce le Zone e i Controlli Traccia le Part in ogni Zone Gestisce le Web Part Add, Close, Delete, Move Gestisce le comunicazioni fra controlli Obbligatorio !

WebPartZone Gestore di layout per server control Sezione/Porzione UI Una Zone può contenere più controlli Rendering di elementi UI Border, Title, Verbs Una pagina può contenere più Zone Una Zone è legata al WebPartDisplayMode Edit visualizza EditorZone Catalog visualizza CatalogZone Connection visualizza ConnectionZone WebPartZone sempre visualizzato

WebPartZone Zone* WebPartZoneBase* ToolZone* All modes Edit mode Catalog mode Connection mode EditorZone ConnectionZone WebPartZone CatalogZone

Zone Layout EditorZone WebPartZone

Zone Layout DLASPNET20/WebParts

Part Qualunque server side control o user control si comporta come Web Part System.Web.UI.WebControls.WebPart Classe base Definisce come l’utente interagisce con la Web Part Custom verbs Settaggi per titolo e Catalog Built-in Control per le funzionalità in una zona

Part WebPartZone “All Modes” Part WebPart EditorZone “Edit Mode” EditorPart CatalogZone “Catalog Mode” CatalogPart BehaviorEditorPart GenericWebPart ImportCatalogPart AppearanceEditorPart PageCatalogPart PropertyGridEditorPart TemplateCatalogPart LayoutEditorPart

Part: Content Web Part Control LayOutEditorPart Literal User Control AppearanceEditorPart

UI Element Verb Elementi che consentono azioni WebPartZone fornisce Close, Minimize, Restore, Help, Edit, Connect, Export Custom Verb derivando WebPart TitleIcon Title Verbs Content Chrome

Costruire una vera Web Part Derivare da System.Web.UI.WebControls.WebPart System.Web.UI.Control O qualunque derivata Aggiungere membri Override ChildControlCreated/Render Aggiungere a una Zone Non usare ViewState Usa Personalization in auto dietro le quinte

WebPart Base Class Più controllo su tutto rispetto alle interfacce. Si può Gestire Interazione con l’utente AllowClose, AllowExport, AllowMinimize..etc Aggiunta di custom verb Icona per titolo e Catalogo Help mode e Help URL Error Message per l’importazione Container Control Deriva da <asp:Panel> Può includere text, markup, e server side control Lavora anche fuori dalle WebPart !!!

PrevisioniWebPart.cs Deriva da WebPart Definisce proprietà Custom ZipCode WebBrowsable Personalizabile WebDisplayName Si vede anche nel Designer di VS 2005 WebDescription ToolTip siulla riga Per usarlo si registra come sempre Proprietà esposta accessibile nel Designer di VS 2005

TextDisplayWebPart.cs Tolgo il verbo Close e Minimize In Get proprietà AllowClose/Minimize Override di RenderContent Crea Label Aggiunge Label Aggiunta di Verb “Save” Override Verbs Per usarlo si registra come sempre In DesignMode provare Verb

CatalogMode Export/Import ExportMode=“All” in Default.aspx Su WebPart “vere” Serve anche web.config <webParts enableExport=“true”> Es su PrevisioniWebPart Da codice ExportMode=WebPartExportMode.All

SharePoint Web Part

Tipi di SharePoint Web Part ASP.NET Web Part Microsoft.Web.UI.WebControls.WebParts.WebPart WSS Web Part Microsoft.SharePoint.WebPartPages.WebPart Client Connection, Caching, Work Item Usano XML Serialization Hybrid Web Part (v2) Utilizzate per la migrazione Usano ASP.NET Serialization

Limitazioni sulla integrazione Si possono usare le Web Part ASP.NET 2.0 Ma non le pagine contenenti Web Part Occorre usare SPWebPartZones e SPWebPartManager Non esiste supporto built-in .ASCX (user controls) come Web Parts Si possono usare .ASCX nelle pagine Si possono creare però Wrapper per ASCX Forse nella versione finale

Creare una Web Part C# [DefaultProperty(“ImageLink"), ToolboxData("<{0}:DemoWP runat=server></{0}:DemoWP>")] [XmlRoot(Namespace="FirstSimpleWebPart")] public class DemoWP: Microsoft.SharePoint.WebPartPages.WebPart { [WebPartStorage(Storage.Shared), Resources("ImageLinkLiteral", "Advanced", "ImageLink"), XmlElement("ImageLink", IsNullable=false)] public string ImageLink { get; set; } }

L’albero genealogico

Creare una WebPart

Definire i controlli child I controlli child possono essere definiti come membri privati/protected nel codice della classe, come nei WebControl Ridefinire CreateChildControls per configurarli e aggiungerli (Controls.Add) al controllo Il loro rendering sarà gestito dal metodo protected void RenderWebPart(HtmlTextWriter output); che internamente richiama RenderChildren La gestione degli eventi e del postback passa attraverso il motore di Sharepoint che fa da host delle nostre Web Part

Strong Name e GUID sn –k NomeChiave.snk [assembly: AssemblyVersion("1.0.0.1")] [assembly: AssemblyKeyFile(“keyfile.snk")] [Guid("12F8AFE7-3E99-4fd1-B6AC-C5F36F6E6B06")]

Parametri di configurazione Possiamo definire delle proprietà configurabili: [DefaultValue(“Valore Predefinito”)] [WebPartStorage(Storage.*)] Storage.Personal: il valore sarà salvato nello storage relativo a ciascun utente Storage.Shared: il valore sarà comune a tutti gli utent Storage.None: il valore non sarà salvato [Resources(“Name”, “Category”, “Description”)] [FriendlyName(“Nome da mostrare")] [Category(“Nome Categoria”)] [Description(“Contenuto del ToolTip”)] [Browsable(true)] Indicare False per non mostrarlo e fornire un pannello custom [XmlElement(ElementName=“nome_tag_da_serializzare”)]

Stili di impaginazione Il file OWS.CSS C:\Program Files\Common Files\Microsoft Shared \web server extensions\60\TEMPLATE\LAYOUTS\1033\STYLES Contiene gli stili principali di WSS ms-toolbar ms-formlabel ms-formdescription ms-formbody ms-* http://msdn.microsoft.com/library/en-us/spptsdk/html/tsovCSSStyles_SV01077709.asp?frame=true

Deployment manuale (development) Se siamo in development possiamo Project Output: .\bin\ del web site Copiare file DWP nella BIN Definire nel web.config del web site l’assembly come SafeControl <?xml version="1.0" encoding="utf-8"?> <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" > <Title>First Simple Web Part</Title> <Description>This is a first simple Web Part.</Description> <Assembly>FirstSimpleWebPart, Version=1.0.0.1, Culture=neutral, PublicKeyToken=684a1baf4f6ac767</Assembly> <TypeName>FirstSimpleWebPart.FirstWP</TypeName> </WebPart> XML <SafeControl Assembly="FirstSimpleWebPart, Version=1.0.0.1, Culture=neutral, PublicKeyToken=684a1baf4f6ac767" Namespace="FirstSimpleWebPart" TypeName="*" Safe="True" /> XML

Deployment via .CAB Creare un file .CAB Inserire nel file Da VS.NET creare un progetto del gruppo “Setup and Deployment” di tipo “Cab Project” Inserire nel file Assembly.DLL Manifest.XML Risorse WebPart.DWP Cioè scegliere dal progetto della Web Part Primary Output Content Files Usare STSADM.EXE per il deployment (vedi poi...)

STSADM.EXE –o *wppack STSADM.EXE è il tool a riga di comando per la gestione di WSS I comandi relativi alle Web Part sono: addwppack –f file.cab Aggiunge un nuovo Web Part Package (CAB) deletewppack –name file.cab Rimuove un Web Part Package enumwppacks Elenca i Web Part Package installati Per esempio per installare un WPPack: STSADM.EXE –o addwppack –f file.cab –url http://site/ http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/sharepoint/wssadmin/stsk01.asp

Web Part deployment

Proprietà Estese e Dialog Possiamo definire proprietà con designer esterni Attributo: HtmlDesignerAttribute BuilderArguments: argomenti passati via JavaScript al popup HtmlEditorBuilderType Color => Constant used to refer to the designer color builder. Date => Constant used to refer to the designer date builder. File => Constant used to refer to the designer file builder. Font => Constant used to refer to the designer font builder. Picture => Constant used to refer to the designer picture builder. String => Constant used to refer to the designer string builder. BuilderUrl: la URL della finestra di popup DialogFeatures: per impostare il formato della finestra di popup Ridefinendo il metodo: protected virtual string GetCustomBuilder(string propertyName);

Proprietà Estese e Dialog Possiamo definire delle pagine HTML o ASPX dinamiche Inserire del codice JavaScript che gestisca: window.dialogArguments window.returnValue

Collegare Web Parts Possiamo creare delle Web Part “connesse” Master/Detail Possiamo lasciare la scelta all’utente su come connettere le Web Part Utililzzare interfacce apposite Con BDC servirà sempre meno ...

Form Digest Se definiamo un ASCX, o utilizziamo delle pagine ASPX nel codice possiamo inserire un controllo Form Digest di WSS Che ci permetterà di intervenire sulle informazioni relative al sito Web Altrimenti otterremmo un errore Questo serve per evitare che altri, non autorizzati, possano inviare in POST dei dati ad una pagina, modificando senza autorizzazione i dati <%@ Register tagPrefix=“SharePoint” Namespace=“Microsoft.SharePoint.WebControls” Assembly=“Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71°9bce111e9429c” %> <form runat=“server” method=“post” id=“formWSS”> <SharePoint:FormDigest runat=“server” id=“formDigestWSS” /> </form> ASPX

Sicurezza A partire da ASP.NET 1.1 è possibile sfruttare livelli di trust personalizzati WSS definisce dei custom Permission SharePointPermission (ObjectModel, UnsafeSaveOnGet , Unrestricted) WebPartPermission (Connections, Unrestricted) I livelli di trust di ASP.NET sono Full High Medium Low Minimal WSS definisce anche WSS_Minimal WSS_Medium

Conseguenze A volte le Web Part e le estensioni non sono autorizzate a funzionare SecurityException: SharePointPermission Conviene gestire l’errore e/o ricordarsi di configurare correttamente il livello di Trust Per esempio con WSS_Minimal una Web Part non può utilizzare il Managed Object Model Serve almeno WSS_Medium

Permessi e CAS A seconda del codice che abbiamo previsto potremmo avere problemi di security Ricordiamoci dei livelli di Trust predefiniti Ricordiamoci che possiamo definire dei nostri livelli di Trust Operazioni tipiche che richiedono modifiche al livello di Trust predefinito: Managed Object Model System.IO System.Data.SqlClient System.Management

Come ovviare al problema Adattare il livello di Trust del site Installare nella GAC (che di default ha FullTrust) gli assembly di estensione e delle Web Part Prevedere blocchi try...catch nelle istruzioni a rischio Creare custom policy file per gli assembly che necessitano di permessi particolari

Master Page

Master Page Definiscono Layout Le pagina puntano alla Master Page E volendo comportamento Le pagina puntano alla Master Page Master Page definisce “Placeholder” dove le pagine vanno a “scrivere” Master Page “Chrome” (default.master) Content Page (default.aspx)

Master Pages Placeholder

ASP.NET 2.0 Master Page Possono essere nidificate Master di Sezione 1 Pagine sezione 1 Master di Sezione 2 Pagine sezione 2 Possono usare Property Override Meccanismo nativo dei controlli di ASP.NET 2.0 per modificare il valore di una proprietà in base al browser che effettua la richiesta Es. Se FireFox -> Master = “Color.master” Se Pocket IE -> Master = “Little.master”

Master Pages In WSS Ogni pagina punta a una Master Page Ogni Site WSS ha una MPG (Gallery) I metadati del Site indicano dove vercare le Master Page Le Content Page per default usano la MPG del Site Le Application Page per default la directory _layout Site metadata indicates where WSS looks for a master page

Master Page Token Due token dinamici Due token statici ~masterurl/default.master Punta a spweb.MasterUrl ~masterurl/custom.master Punta a spweb.CustomMasterUrl Due token statici ~sitecollection/default.master ~site/default.master

SharePoint Page Layout Content Pages - http://myserver/ Application Pages spweb.MasterUrl /_layouts/ application.master / /shared documents/ /_catalogs/masterpage/ .master default.aspx allitems.aspx default.master .aspx .aspx .master /_layouts/ create.aspx “ghosting” SiteTemplates\STS Pages\ Global\ .aspx default.aspx viewpage.aspx default.master File System - \.. \web server extensions\12\

Master Page custom

Extensibility Point

Cosa Toolbars, Menu, Pagine “Settings” Link alle pagine Usare controlli ASP.NETsulle toolbar Associate List type Content type File Type

Central Admin Site Settings Content Type Settings

Display Form ToolBar Site Actions View ToolBar Welcome Menu “ECB”

Visual Studio Extensions for Sharepoint

“Visual Studio Extensions” Supporto operativo a chi sviluppa soluzioni per SharePoint Aggiunge dei template a VS2005 VS Project, Item Templates Build, Deploy, Debug WSS XSD con XML intellisense Forse ci sarà anche un tool per esportare i contenuti dei site da un ContentDB (devDB) ad un altro (productionDB)

Servirà per creare Web Part Site Definition List Definition Feature Definition Event Handler Workflow Activity

Mobility

Mobile Page Architecture http://mysitename/m http://mysitename/_layouts/mobile/default.aspx Usa ASP.NET Property Override Cambia Home Page Con redirect In base al template Personalizzabile da Web Template Type List Template Type Field Type

Ulteriori approfondimenti… http://www.microsoft.com/italy/msdn/ http://msdn.microsoft.com/office/future/ http://www.netfx3.com/ http://wf.netfx3.com/ http://www.devleap.it/

Grazie! Domande? Compilate il form di valutazione…

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.