Scoprirete che su Office non si può solo contare ma anche sviluppare.

Slides:



Advertisements
Presentazioni simili
Windows Per questa parte: Elementi dell'interfaccia grafica.
Advertisements

© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Interfacce Java.
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
Introduzione ai Visual Studio Tools For Office 2005 Fabio Santini
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
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.
TechNet Integration Workshop
Dalla Business Intelligence al Business Performance Management
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.
La piattaforma Microsoft per lo sviluppo di applicazioni
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.
La gestione e il controllo dellinfrastruttura IT con System Center: dalla piccola alla grande azienda System Center Operations Manager 2007 e System Center.
Sql Server 2005 Integration Services - Introduzione Franco Perduca Factory Software
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.
Model – View - Controller
prompt> java SumAverage
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
Costruzione di Interfacce Lezione 20 Qt + Opengl
Introduzione alle griglie computazionali - a.a LEZIONE LEZIONE N. 12 Grid Monitoring modello GMA GridICE GridICE demo Introduzione alle griglie.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Vision Caratteristica generica– disponibile a livello generale Possibilità di personalizzazione Facile da usare (What you see is what you get)
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
Constraints.
Componenti dell’architettura Oracle
SQL Server 2012 LocalDB.
realizzazione app per Google Android OS
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Lambiente operativo. 2 Per avviare e poter utilizzare il computer è necessario un particolare programma che si chiama sistema operativo. Windows è un.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
PORTE APERTE SUL WEB L'officina del webmaster: strumenti, materiali, iniziative, fonti di informazione, e poi perché costruire siti scolastici ? Laura.
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...
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
System for Card DOCUMENTO PROGRAMMATICO SULLA SICUREZZA Presentazione del Servizio ASP di System for Card.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
WPF per il client Desktop
Fabio Cozzolino Vito Arconzo
Attribution-NonCommercial-ShareAlike Le novità
Programma Cloud Partner Cloud Essentials Pack: Attivazione passo per passo Cloud Accelerate: Attivazione passo per passo Cloud Partner: Modello di Business.
Scoprirete che su Office non si può solo contare ma anche sviluppare.
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
Visual Studio Tools per Office System 2003 Fabio Santini Developer Evangelist Developer And Platform Evangelism.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
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.
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Nuove funzionalitA’ e caratteristiche del linguaggio
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Transcript della presentazione:

Scoprirete che su Office non si può solo contare ma anche sviluppare

Fabio Santini Developer & Platform Evangelism Advanced Visual Studio Tool for Office 2005

Agenda Task Pane Document Data Island Managed Controls Deployment Security

Introduzione ActionsPane Fornisce un modello di programmazione in codice managed per il Document Actions task pane Fondato sulle Windows Forms Windows Forms Designer Contenitore per user controls Un passo oltre lo SmartDoc SDK Linterfaccia ISmartDocument implementata dietro le quinte Il mapping di uno schema XML non è più richiesto

Introduzione Benefici Integrazione della UI con Word e Excel Controlli Windows Forms disponibili Completamente.NET code Utilizzo degli User controls Sviluppo riutilizzando tutte le conoscenze Forte integrazione con Microsoft Visual Studio® 2005 Sviluppo semplificato Uso del Data binding con i dati del documento

User Controls e ActionsPane Introduzione UserControl disponibili in progetti Word e Excel Semplici da creare Simili alle Windows Forms Utilizzo completo dei controlli della toolbox Facile da usare Dim MyUserControl As New UserControl1 Private Sub ThisDocument_Initialize( _ ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Initialize Me.ActionsPane.Controls.Add(MyUserControl) End Sub

Scenario di utilizzo Gestione fatture Gestire fatture collegate a database Tecnologie utilizzate Microsoft Excel – gestione dei calcoli XML Web service gestione della comunicazione SQL Server database ActionsPane di esempio Menu Custom Drop-down list per i dati I dati recuperati in realtime

Aggiungere uno User Controls al ActionsPane

ActionsPane Runtime Manipulation Usage and Benefits Gestione dellinterfaccia grafica Posizione Dimensione Visibilità Preferenze di utilizzo Implementato con poco codice

Docking a destra per default Proprietà Anchor Recupera o imposta a quale lato deve essere ancorato il container I controlli posso ridimensionarsi con lActions pane Valore: AnchorStyles.None AnchorStyles.Top AnchorStyles.Bottom AnchorStyles.Left AnchorStyles.Right ActionsPane Runtime Manipulation Docking and Anchoring

Posizionare più user control Ordine Valori: StackStyle.None StackStyle.FromTop StackStyle.FromBottom StackStyle.FromLeft StackStyle.FromRight Esempio: Actions Pane Run-time Manipulation Posizionamento Actions Pane User Control 2 User Control 1 User Control 2 Actions Pane (Default)StackStyle.None Me.ActionsPane.Controls.Add(MyUserControl) Me.ActionsPane.StackOrder = Microsoft.Office.Tools _.ActionsPane.StackStyle.FromLeft

Actions Pane Run-Time Manipulation

L ActionsPane può essere usato per fornire informazioni basate sul contesto dellutente e sulla posizione corrente allinterno del documento Utilizzare uno Schema XML per fornire la struttura Show/Hide dei controlli in risposta agli eventi ContextEnter/ContextLeave ActionsPane Runtime Manipulation Smart Document ?

Smart Document con VSTO 2.0

Document Data Island Introduzione alle Data Island Memorizza i dati allinterno del documento Perchè fare cache dei dati nel documento? Disponibili quando il client lavora offline Accessibile a processi lato server Memorizzare configurazioni Supporto per il Data caching in Visual Studio Tools for Office I campi marcati con lattributo Cached I tipi possono implementare ICachedType per specializzare la modalità di serializzazione La classe ServerDocument class accede alla cache senza utilizzare Microsoft Word o Microsoft Excel

Document Data Island Esempio di Caching Data [Cached()] CustomerDataSet customerDataSet; void ThisDocument_Initialize(…) { if (customerDataSet == null) { customerDataSet = new CustomerDataSet(); dataAdapter.Fill(customerDataSet); } list1.DataSource = customerDataSet; }

Document Data Island Data richiesti dal Server ASPX page Data Island User data

ASPX page Updated data Document Data Island Data inviati al Server Updated Data Cache

Data Caching

Document Data Cache Utilizzare la classe ServerDocument private void GetData() { string user = Request.ServerVariables("AUTH_USER"); ExpensesDataset dsExpenses = new ExpensesDataset(); ExpensesDataAdapter.Fill(dsExpenses, user); ServerDocument doc = new ServerDocument("expenses.xls"); CachedDataItem cdi = doc.CachedData. HostItems("ExpensesWorksheet"). CachedData("Expenses") cdi.SerializeDataInstance(dsExpenses); doc.Save(); doc.Close(); Response.Write(doc); }

Data Caching

Managed Controls Personalizzare i documenti tramite Controlli La collection Controls contiene i riferimenti ai controlli statici e dinamici Statici: aggiunti a design time – non si possono cancellare a runtime Dinamici: aggiunti a runtime I controlli dinamici aggiungono una maggiore flessibilità ai documenti Creare dinamicamente interfaccie UI Segue il modello Windows Form

Managed Controls Hosting dei controlli managed I controlli Managed sono hostati allinterno di un wrapper ActiveX Un placeholder viene mostrato nel documento se i controlli managed falliscono il check di sicurezza I controlli custom hanno più interfaccie Primaria: Windows Forms control Estesa: ActiveX wrapper (_OLEObject)

Managed Controls Aggiungere un controllo dinamicamente Metodo AddControl per controlli custom Parametri: istanza del controllo, posizione, e un nome univoco Ritorna una istanza di _OLEObject Microsoft.Office.Interop.Excel._OLEObject Microsoft.Office.Interop.Word._OLEObject Nuovi metodi per aggiungere controlli dinamici AddButton, AddLabel, etc. Accettano il nome del controllo e la posizione Ritornano un riferimento al custom control Controls.AddButton Microsoft.Office.Tools.Excel.Controls.Button

Managed Controls Esempio di Custom Controls using Microsoft.Office.Interop; private void AddDynamicControl() { userControl1 customUserControl = new userControl1(); Excel_OLEObject dynamicControl = this.Controls.AddControl( customUserControl, Range1, "dynamic"); // Set coordinates through the Excel._OLEObject, // not through the Windows Forms control. dynamicControl.Top = 100; customUserControl.UniqueProperty = true; }

Using Dynamic Controls

Distribuzione Manifest e ClickOnce Utilizza la tecnologia ClickOnce Uso di un manifest (XML) Rilasciata con la nuova versione di.NET Framework e Visual Studio 2005 Fornisce una descrizione completa dellapplicazione Indica quali DLL devono essere utilizzate Include assembly collegati Descrive la posizione degli assembly Non usato per uninstallazione locale

Distribuzione Associazione dei file Separazione tra il documento, il codice e gli assembly Il codice è parte del progetto Visual Studio Solo lassembly viene distribuito con il documento LAssembly è collegato al documento VSTO 2003: Custom properties VSTO 2005: Application manifest dentro il documento L Application manifest punta al manifest di deployment

Distribuzione Requisiti del Client.NET Framework 2.0 Office Professional Edition 2003 o una versione standalone di Excel 2003/Word 2003 PIAs sono necessarie installare Office full selezionarle tramite il custom setup Runtime VSTO 2005 Impostazioni delle.NET security policies

Distribuzione Esempio di Application Manifest <assemblyIdentity name="Excel4.manifest" version="1.0.22"/> <installFrom codebase=" /> <installFrom codebase="

Distribuzione Deployment Manifest Example <assemblyIdentity name="Excel4.deploy" version="1.0.1"/> <assemblyIdentity name="Excel4.manifest" version="1.0.22"/> <installFrom codebase="

Some.dll 1.1 Distribuzione Trovare gli Assembly Some.xls manifest.xml <deploy url= version=1.0/>... curVersion= Deploy.xml Some.dll 1.0 <deploy url= version=1.0/>... <deploy url= version=1.1/> <assembly Name=Some.dll updateURL= <deploy url= version=1.1/> <assembly Name=Some.dll updateURL=

Distribuzione Aggiornare il Manifest E possibile cambiare ogno parte dellApplication Manifest ServerDocument doc = new ServerDocument("file.doc"); doc.AppManifest.DeployManifestPath =

Local/Network Pro Facile aggiornamento degli assembly Lutente può modificarsi il documento Contro Laggiornamento del documento richiede la ridistribuzione Network/Network Pro Facile aggiornamento degli assembly Facile aggiornamento del documento Contro Gli utenti condividono un unica copia del documento Distribuzione Deployment Models

Sicurezza Visual Studio Tools for Office Secure by default La sicurezza è gestita dalla.NET Code Access Security Evidence Permissions Entrambi il codice e il documento devono avere full trust Dovuto al fatto che VSTO chiama il modello ad oggetti di Office usando InterOp

Sicurezza Scenario positivo

Sicurezza Scenario negativo

Summary Le Data island forniscono isole di dati allinterno del documento Luso di Managed controls permettono lo sviluppo di soluzioni complete I Manifest forniscono un modello di distribuzione flessibile Le policy di sicurezza di.NET assicurano lesecuzione del codice Luso di XML permette una modellazione dei dati allinterno del documento

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions.