Introduzione alla creazione di applicazioni SharePoint

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

In questo articolo

Introduzione

Strumenti e le tecnologie utilizzate

Metodologia di sviluppo e architettura dell'applicazione

L'implementazione di modelli di progettazione comuni

Creazione di modelli

Riepilogo

Risorse

Introduzione

Windows SharePoint Services 3.0 è una tecnologia di Windows Server che offre un portfolio integrato dei servizi di comunicazione e collaborazione. È anche una piattaforma per lo sviluppo di applicazioni aziendali basate su Web. Sfruttare questa funzionalità, Microsoft ha sviluppato 40 modelli di applicazione per Windows SharePoint Services 3.0 per offrire soluzioni della casella per soddisfare le esigenze dei processi aziendali specifici, ad esempio coordinare Help Desk o verifica campagne di marketing, come illustrato nell'esempio nella figura 1.

Home page dell'applicazione Analisi delle campagne di marketing integrate
Figura 1: Home page dell'applicazione Analisi delle campagne di marketing integrate (in lingua inglese)

Microsoft ha sviluppato questi modelli di applicazioni scaricabili gratuitamente, che possono essere utilizzati subito dopo la distribuzione. I clienti e partner possono utilizzare questi modelli di applicazioni anche come punto di partenza per ottenere ulteriori soluzioni personalizzate o come esempi guida per la creazione di sofisticate applicazioni Windows SharePoint Services 3.0 personalizzate utilizzando Microsoft Office SharePoint Designer 2007.

Lo scopo di questo articolo viene descritto come Microsoft sviluppato i modelli di applicazione, che identifica procedure consigliate per la procedura per l'uso con funzionalità di base in Windows SharePoint Services 3.0 e Office SharePoint Designer 2007 con l'obiettivo di maggiori possibilità per i clienti e partner per creare le proprie applicazioni. L'articolo non è un sostituto per Windows SharePoint Services 3.0 SDKné è principalmente una risorsa per sviluppatori. Gli sviluppatori devono utilizzare SDK per comprendere in genere come estendere Windows SharePoint Services 3.0.

Questo articolo è stato concepito come risorsa per una nuova generazione di progettisti di siti. Poiché Windows SharePoint Services e Office SharePoint Designer 2007 consentono di utilizzare numerose funzionalità dell'applicazione tramite l'interfaccia utente, non è necessario disporre di capacità di sviluppo avanzate per creare applicazioni complete. In questo articolo verranno infatti descritte alcune implementazioni di codice personalizzate per modelli di struttura veramente interessanti. Tuttavia, poiché la metodologia complessiva deve essere accessibile a utenti non sviluppatori, viene presentata tenendo presente questa premessa. Agli sviluppatori si consiglia di leggere velocemente le prime sezioni relative a strumenti e metodologia e dedicare maggiore attenzione alla descrizione dei modelli di struttura e agli esempi specifici relativi all'implementazione di questi modelli.

In termini di struttura articolo, la prima sezione Strumenti e le tecnologie utilizzate, viene fornita una panoramica delle funzionalità all'interno di Windows SharePoint Services 3.0 e Office SharePoint Designer 2007 utilizzati nella creazione di applicazioni. Nella sezione successiva, metodologia di sviluppo e architettura di applicazione, viene in genere, la metodologia Microsoft usato per tutti i modelli di applicazione. La metodologia è un approccio comune lead a un esame reale dello scopo della soluzione, come sarà usato e l'autore e le parti della tecnologia iniziare più senza dover scrivere codice personalizzato. Termina con un processo per l'identificazione di aree in cui sarà necessario codice personalizzato o altre attività personalizzato.

La sezione successiva dell'articolo, modelli di progettazione comuni di implementazioneè incentrata su come usare i vantaggi offerti da Windows SharePoint Services e Office SharePoint Designer 2007 per requisiti di struttura comuni di applicazione, ad esempio come creare azioni personalizzate in un elenco di indirizzi. Si tratta di base dell'articolo e vengono descritti i metodi per i modelli di progettazione che si ripetono in tutti i modelli di applicazione (e, in effetti, tutte le applicazioni che potrebbero sorgere con). In questa sezione sono forniti esempi per ognuna delle cinque modelli di progettazione, tra cui indicazioni per l'utilizzo con Windows SharePoint Services dell'interfaccia utente o con Office SharePoint Designer 2007 e il codice personalizzato.

L'ultima sezione dell'articolo, creazione di modelli, viene descritto come provare a creare un file di modello tramite Office SharePoint Designer 2007. Coprire anche altri problemi, ad esempio localizzazione.

Al termine dell'articolo si avrà una buona conoscenza della progettazione e creazione dell'architettura di un'applicazione, si saprà come iniziare a creare un sito direttamente in Windows SharePoint Services 3.0, inclusa la creazione di elenchi collegati, colonne personalizzate, raccolte, flussi di lavoro e così via, come aprire il sito in Office SharePoint Designer 2007 per apportare ulteriori personalizzazioni, creare moduli personalizzati, aggiungere codice personalizzato per modificare determinati comportamenti, creare flussi di lavoro personalizzati e così via, creare il modello di applicazione e distribuirlo affinché venga utilizzato.

Torna all'inizio

Strumenti e tecnologie utilizzati

Sono numerosi gli strumenti e le tecnologie che, insieme, contribuiscono a rendere più semplice che mai la creazione di applicazioni. Dal punto di vista delle tecnologie sono disponibili nuove funzionalità, come il supporto per i flussi di lavoro, grazie alle quali un progettista di siti non ha l'esigenza di scrivere codice per introdurre flussi di lavoro in un'applicazione, mentre dal punto di vista degli strumenti è possibile usufruire di Office SharePoint Designer 2007, Microsoft Visual Studio 2005 e altri strumenti che consentono di utilizzare sempre meno codice, e spesso nessuno, per eseguire operazioni in precedenza molto difficili da realizzare.

In generale Microsoft ha perseguito una strategia comune in tutti questi strumenti e tecnologie che ha consentito di trasferire una parte sempre più consistente della progettazione nell'infrastruttura stessa, in modo che il creatore di un sito possa svolgere la propria attività più come progettista che come sviluppatore. In altre parole, Microsoft ha già realizzato la parte più impegnativa del lavoro, in modo che le funzionalità concretizzate possano essere riutilizzate in modo semplice ed estremamente intuitivo per creare applicazioni attraverso l'interfaccia utente.

Per prepararsi a una migliore comprensione delle modalità di interazione tra i diversi strumenti e tecnologie durante il processo di creazione di un'applicazione, nelle seguenti sezioni vengono descritti Windows SharePoint Services 3.0, Office SharePoint Designer 2007 e altre tecnologie, particolarmente in termini di nuove e rilevanti funzionalità e caratteristiche. Per una discussione più esauriente, consultare le risorse disponibili alla fine di questo articolo.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 contiene alcune nuove funzionalità. Le seguenti funzionalità nuove sono particolarmente importante per la creazione di applicazioni personalizzate, si vedrà molti menzionati nuovamente nelle sezioni successive:

  • Raccolte ed elenchi    In Windows SharePoint Services 3.0 vengono introdotti numerosi nuovi tipi di raccolte ed elenchi che possono essere utilizzati come base per le applicazioni. Nei nuovi tipi di raccolte sono inclusi la raccolta diapositive, studiata appositamente per archiviare e gestire diapositive riutilizzabili di Microsoft Office PowerPoint 2007, una raccolta connessioni dati e altre.

  • Tipi di contenuto     I tipi di contenuto sono un concetto base utilizzato ovunque in Windows SharePoint Services 3.0 e sono progettati per consentire agli utenti di organizzare il contenuto dei siti di SharePoint in modo più significativo. Un tipo di contenuto è una raccolta riutilizzabile di impostazioni che possono essere applicate a determinate categorie di contenuto. I tipi di contenuto consentono di gestire e riutilizzare centralmente i metadati e i comportamenti di un documento o un tipo di elemento. Ad esempio, è possibile associare flussi di lavoro ed eventi a un tipo di contenuto, anziché aggiungere flussi di lavoro ed eventi a più documenti o raccolte.

  • Colonne del sito    Le colonne del sito offrono un modello centrale e riutilizzabile per la definizione delle colonne. Quando si crea una colonna del sito, ogni elenco in cui si utilizza questa colonna avrà la stessa definizione, evitando quindi la necessità di doverla riprodurre in ogni elenco. Grazie alle colonne del sito, gli utenti finali possono scegliere da un insieme predefinito di colonne che potrebbero risultare utili nel loro elenco. Possono quindi essere utilizzate non solo per definire centralmente le colonne per i modelli di sito noti, ma offrono agli utenti un percorso per l'utilizzo di colonne speciali a cui è possibile attribuire significati personalizzati.

  • Flusso di lavoro     In Windows SharePoint Services 3.0 un flusso di lavoro consente di associare un processo aziendale agli elementi contenuti in elenchi e raccolte. Questo processo consente di controllare quasi tutti gli aspetti di un elemento, incluso il relativo ciclo di vita. Ad esempio, è possibile creare un semplice flusso di lavoro che distribuisca un documento a una serie di utenti per l'approvazione. In genere il progettista o lo sviluppatore del sito crea flussi di lavoro specifici. I progettisti possono utilizzare Office SharePoint Designer 2007 per creare flussi di lavoro nell'ambiente basato su procedure guidate di Progettazione flussi di lavoro, mentre gli sviluppatori possono utilizzare Visual Studio 2005 per creare flussi di lavoro più potenti e complessi.

  • Framework di caratteristiche    In Windows SharePoint Services 3.0 è disponibile una nuova struttura, detta caratteristica, in cui sono inclusi elementi di Windows SharePoint Services che consentono agli utenti di realizzare più facilmente un obiettivo o un'attività particolare. Una caratteristica contiene uno o più elementi. Un elemento è un concetto atomico di Windows SharePoint Services. Le caratteristiche di Windows SharePoint Services 3.0 consentono di disporre di un intero framework che gli sviluppatori possono utilizzare per fornire funzionalità personalizzate per le soluzioni Windows SharePoint Services. Le caratteristiche consentono inoltre agli amministratori di aggiungere o rimuovere facilmente elementi di funzionalità in pacchetti.

  • Miglioramento degli eventi    Gli eventi rientrano in due categorie principali:

    • Eventi degli elenchi    Eventi di base che includono modifiche, aggiunte e rimozioni di elementi e colonne dell'elenco (modifiche dello schema)

    • Semplici eventi del sito    Eliminazione di siti e raccolte siti

      Gli eventi sono sincroni, o "precedenti", e sono contrassegnati dal formato del nome “XYZing”, oppure asincroni, o "successivi", e sono contrassegnati dal formato del nome “ABCed”.

  • Accesso per i dispositivi mobili   Windows SharePoint Services 3.0 offre nuove funzionalità che consentono di elenchi per il rendering appropriato nei dispositivi mobili. Quando un utente accede a un sito Windows SharePoint Services 3.0 usando un dispositivo mobile, verrà reindirizzato loro Web browser a una versione mobile specifiche del sito che esegue il rendering del contenuto del sito e gli elenchi in un formato più adatto per il dispositivo. 

Office SharePoint Designer 2007: lo strumento per eccellenza per la creazione di applicazioni SharePoint

Office SharePoint Designer 2007 è stato progettato appositamente per facilitare la creazione e personalizzazione di siti Web e flussi di lavoro creati con Prodotti e tecnologie SharePoint, ovvero Windows SharePoint Services 3.0 e Microsoft Office SharePoint Server 2007. Include gli strumenti di cui professionisti IT e creatori di soluzioni necessitano per sviluppare applicazioni e soluzioni di flussi di lavoro basate su SharePoint, che migliorano l'agilità organizzativa e l'automazione dei processi aziendali. Con Office SharePoint Designer 2007 non è necessario utilizzare i linguaggi o le tecniche di codifica procedurali tradizionali per effettuare le seguenti operazioni:

  • Creare visualizzazioni dati e moduli senza codice per una varietà di origini dati, ad esempio file XML, database SQL quale Microsoft SQL Server 2005 e servizi Web.

  • Creare flussi di lavoro dinamici e sofisticati senza codice.

  • Creare struttura e layout di pagina.

  • Creare pagine master.

  • Modificare e applicare fogli di stile CSS.

  • Creare pagine basate su web part e connettere le web part per creare applicazioni aziendali sofisticate.

Visual Studio 2005

Visual Studio 2005 può essere utilizzato per aggiungere codice personalizzato alle applicazioni o per creare flussi di lavoro personalizzati. È possibile utilizzare Visual Studio 2005 Designer for Windows Workflow Foundation per creare modelli di flussi di lavoro e attività di flussi di lavoro personalizzate. Nel flusso di lavoro è possibile includere codice e inoltre progettare moduli che verranno utilizzati dal flusso di lavoro per comunicare con gli utenti in fase di associazione ed esecuzione.

Visual Studio 2005 Extensions per Windows SharePoint Services 3.0 è disponibile gratuitamente in download e include un set di strumenti per lo sviluppo di applicazioni SharePoint tramite Visual Studio 2005. Il pacchetto include modelli di progetti di Visual Studio per web part, definizioni di sito, definizioni di elenco e un programma di utilità autonomo, SharePoint Solution Generator, che consente di generare un progetto di definizione del sito da un sito di SharePoint esistente. Il programma consente agli sviluppatori di utilizzare il browser e Office SharePoint Designer 2007 per personalizzare il contenuto dei siti prima di creare codice tramite Visual Studio 2005.

Le estensioni di Visual Studio 2005 per Windows SharePoint Services 3.0 sono state ritirate ma è ancora possibile ottenere Visual Studio 2008 le estensioni per Windows SharePoint Services 3.0, v 1.3.

Microsoft Office Access 2007

Microsoft Office Access 2007 consente di creare applicazioni di verifica, che offre un'esperienza utente per l'immissione e la gestione dei report sui dati per scenari di destinazione. Per ulteriori informazioni su come progettare, creare e condividere i modelli di Access, fare riferimento alla Rubrica Di Rational Guida per Microsoft Office Access 2007 modelli.

Approcci e tecniche generali

Nel contesto della metodologia di sviluppo descritta nella sezione successiva, i passaggi complessivi di base per la creazione di un'applicazione sono i seguenti:

  1. Stabilire se è necessario creare una definizione di sito o un modello di sito.

  2. Creare il sito di base in Windows SharePoint Services 3.0 o Office SharePoint Server 2007.

  3. Utilizzare Office SharePoint Designer 2007 per aprire il sito, apportare modifiche e così via.

  4. Utilizzare Visual Studio 2005, se necessario, per creare codice personalizzato aggiuntivo, flussi di lavoro personalizzati e così via.

Torna all'inizio

Architettura dell'applicazione e metodologia di sviluppo

Come per qualsiasi progetto di sviluppo, la progettazione e la creazione di un'applicazione di Windows SharePoint Services avranno maggiori possibilità di successo se si segue una metodologia collaudata. In questa sezione verrà descritta la metodologia utilizzata da Microsoft per la progettazione di tutti i modelli di applicazione disponibili in download. Per gli sviluppatori esperti questa metodologia risulterà familiare, ma prevede l'utilizzo di alcuni aspetti specifici dell'ambiente di SharePoint e riflette l'esperienza di Microsoft, quindi risulterà utile in questo contesto. Questa sezione risulterà utile specialmente per i non sviluppatori che utilizzano Windows SharePoint Services 3.0 e Office SharePoint Designer 2007.

In breve, la metodologia inizia con la definizione, in linea generale, delle funzionalità che l'applicazione dovrà fornire, con l'identificazione degli utenti che la utilizzeranno e così via, per passare quindi all'analisi più dettagliata del flusso dei dati nell'applicazione, dei percorsi in cui dovranno essere archiviati e delle relazioni tra i vari blocchi di dati. Con una buona conoscenza del modello di dati e degli scenari di utilizzo, la metodologia consente di iniziare subito a creare una versione preliminare dell'applicazione in Windows SharePoint Services 3.0, aggiungendovi elenchi, raccolte, flussi di lavoro e così via in maniera iterativa, finché non assumerà l'aspetto e, in generale, il comportamento desiderati. Infine, la metodologia prevede l'identificazione e la composizione delle piccole modifiche e delle personalizzazioni necessarie per rendere l'applicazione effettivamente adatta a soddisfare le esigenze specifiche dei processi aziendali.

Definire i requisiti funzionali dell'applicazione

Sebbene non sia necessario disporre di un documento di specifiche tecniche dettagliato prima di creare una soluzione di Windows SharePoint Services, occorre avere una chiara idea di come dovrà funzionare l'applicazione. Il punto precedente può sembrare ovvio, ma molti sviluppatori hanno sperimentato il disagio del divario tra ciò che le parti interessate pensano di desiderare in un'applicazione e ciò di cui effettivamente hanno bisogno per la corretta esecuzione del processo aziendale. Naturalmente le parti interessate ne prendono coscienza dopo avere visto l'applicazione quasi completata.

Questa premessa serve semplicemente a sottolineare che iniziare dal principio significa raccogliere i requisiti funzionali e considerare ciò che l'applicazione dovrà eseguire. Ad esempio, se è necessaria una soluzione di controllo avanzamento progetto, si consiglia di identificare come minimo quanto segue:

  • Quali sono i partecipanti/ruoli del processo aziendale    In questo caso il proprietario del progetto crea un progetto e gestisce le informazioni su attività, problemi e così via e i proprietari delle attività ricevono l'assegnazione di problemi e attività e devono interagire per completare il loro lavoro. I manager hanno invece l'esigenza di visualizzare informazioni riepilogative sullo stato generale del progetto.

  • Quali sono le esigenze in termini di interfaccia utente per i diversi partecipanti    In questo caso il proprietario del progetto, i proprietari delle attività e i manager richiedono visualizzazioni diverse specifiche delle loro attività. I proprietari delle attività dovrebbero essere in grado di visualizzare, ad esempio, tutti i problemi che sono stati loro assegnati, mentre i proprietari del progetto dovrebbero poter visualizzare tutti i problemi scaduti.

  • Qual è l'aspetto del processo aziendale    In questo caso il proprietario del progetto crea un progetto, le attività cardine, le attività e le voci di preventivo, quindi tiene traccia dell'avanzamento nel tempo. Il proprietario del progetto accede frequentemente a tutti i blocchi di informazioni, mentre i proprietari delle attività devono accedere ai dati quando ricevono l'assegnazione di un'attività.

  • Dove si trova i dati?    Si utilizzeranno solo dati Windows SharePoint Services, o è necessario l'accesso ai dati esterni (da un database tramite un servizio Web, tramite il catalogo dati Business e così via), e sarà necessario archiviare i dati all'esterno di Windows SharePoint Services ?

  • Quali sono le relazioni tra i dati    In questo caso è necessario disporre di un elemento progetto, un elemento attività cardine ed elementi attività e problemi organizzati in una gerarchia logica. Anche gli utenti sono punti dati, come lo sono preventivi, numero di giorni e simili.

Un modo eccellente per trovare le risposte alla maggior parte di questi interrogativi consiste nel disegnare letteralmente i vari elementi su una lavagna, ripetere alcune volte i passaggi del processo aziendale con alcune variazioni, creando ad esempio alcuni progetti, assegnando attività a due o tre persone tra i progetti e così via. Dal punto di vista concettuale, l'applicazione di controllo avanzamento progetto è una progettazione abbastanza semplice e a questo punto i requisiti sono sufficientemente chiari.

Convalidare il modello di dati

Anche se il modello di dati è già stato discusso, è talmente importante da richiedere un'analisi più approfondita. Non comprendere appieno il modello di dati potrebbe richiedere in seguito modifiche significative a livello di sistema, quindi è fondamentale che sia perfettamente chiaro.

È importante comprendere che vi sono più blocchi di informazioni correlate, oltre a diversi blocchi di metadati che descrivono e definiscono il punto del processo aziendale in cui risiedono determinati blocchi di informazioni. Nel caso di controllo del processo, non basta essere consapevoli che esistono un progetto, attività cardine, attività e problemi, ma occorre sapere che un progetto è l'elemento di livello superiore e può avere più attività cardine, oltre a più attività e problemi.

Determinare i componenti e le relazioni

A questo punto si dispone di una buona descrizione funziona dell'applicazione. Il passaggio successivo consiste nel pianificare l'architettura e decidere come utilizzare i vari tecnologie e funzionalità di Windows SharePoint Services 3.0 e Office SharePoint Designer 2007. Tutte le applicazioni comporterà una combinazione delle caratteristiche e funzionalità descritte nella sezione precedente, Strumenti e le tecnologie utilizzate, tra cui:

  • Elenchi e ricerche

  • Visualizzazioni di elenchi personalizzate (raggruppamento, ordinamento, filtro e così via tramite l'interfaccia utente di Windows SharePoint Services)

  • Flusso di lavoro

  • Pagine personalizzate e visualizzazioni dati personalizzate in Office SharePoint Designer 2007

Gli elenchi e le ricerche implementano in effetti il modello di dati, quindi nel contesto dell'applicazione di controllo avanzamento progetto si utilizzerà un elenco per i progetti, un altro elenco (con un campo di ricerca nell'elenco del progetto) per le attività cardine, un altro elenco con un campo di ricerca nell'elenco del progetto per i problemi e così via. Per le visualizzazioni di pagine personalizzate si consiglia di impostare semplicemente la visualizzazione predefinita per il raggruppamento in base allo stato e l'ordinamento per integrità.

In generale, anche in questo caso è utile utilizzare una lavagna per creare un semplice modello dell'applicazione e identificare le tecnologie utilizzate per ogni blocco.

Iniziare a creare i componenti dell'applicazione

Anche in questo caso non è necessario disporre di un documento di specifiche tecniche molto preciso a questo punto. È più importante iniziare semplicemente a creare l'applicazione, presupposto di avere sufficientemente chiari il flusso dei dati di base e i requisiti dell'interfaccia utente.

Questo significa creare letteralmente un nuovo sito utilizzando uno dei modelli pronti all'uso disponibili in Windows SharePoint Services 3.0 oppure avere prima creato un modello di sito personalizzato e realizzare una nuova istanza di sito in base a quel modello. Per molte applicazioni si utilizzerà probabilmente come base solo il modello Sito del team o Sito vuoto.

Nell'applicazione di controllo avanzamento progetto creare innanzitutto quattro elenchi: Elenco progetti, Attività del progetto, Problemi del progetto e Attività cardine del progetto. Creare quindi colonne personalizzate per ognuno di questi elenchi. Windows SharePoint Services 3.0 consente di creare diversi tipi di colonne, tra cui Opzione, Numero, Utente o gruppo e Ricerca (informazioni già disponibili nel sito). Nell'elenco Elenco progetti nel modello di applicazione di controllo avanzamento progetto vengono utilizzate molte di queste colonne, come illustrato nella figura 2.

Colonne personalizzate in un elenco
Figura 2: Colonne personalizzate in un elenco

La colonna Integrità si basa sul tipo di colonna Opzione, la colonna preventivo è una colonna di tipo Numero che utilizza il formato valuta e così via.

Nell'elenco Attività cardine del progetto viene utilizzata una colonna Ricerca per consentire l'associazione di un'attività cardine in una relazione figlio-padre a un progetto. La creazione di una colonna di ricerca comporta semplicemente la scelta dell'elenco in cui si desidera cercare, quindi la scelta della colonna da quell'elenco (in Windows SharePoint Services l'elenco a discesa viene compilato automaticamente), come illustrato nella figura 3.

definizione di una colonna ricerca per il recupero di informazioni da un altro elenco
Figura 3: Definizione di una colonna Ricerca per il recupero di informazioni da un altro elenco

A questo punto è possibile utilizzare la logica dell'applicazione, creando un semplice flusso di lavoro per informare i membri quando vengono creati nuovi progetti. È inoltre possibile iniziare a creare visualizzazioni personalizzate all'interno degli elenchi utilizzando l'interfaccia utente di Windows SharePoint Services per ordinare e filtrare in base alle proprie preferenze.

Determinare le personalizzazioni necessarie nell'applicazione

Dal punto di vista funzionale la maggior parte dell'applicazione di controllo avanzamento progetto è stata implementata utilizzando l'interfaccia utente di Windows SharePoint Services. A questo punto è già possibile vedere quali aspetti funzionano ma non del tutto correttamente, quali aspetti non possono essere risolti tramite l'interfaccia utente di Windows SharePoint Services e così via. Di seguito sono riportate alcune delle aree per cui è opportuno utilizzare Office SharePoint Designer 2007:

  • Logica dell'applicazione in un flusso di lavoro    Nei flussi di lavoro disponibili in Windows SharePoint Services 3.0 e Office SharePoint Server 2007 è necessario specificare un utente o un gruppo a cui assegnare un'attività. Per l'applicazione di controllo avanzamento progetto è necessario disporre di un modo per determinare in modo dinamico un destinatario per un'azione del flusso di lavoro in base alla proprietà Proprietario in un problema o un'attività. Per creare un flusso di lavoro dinamico privo di codice per questa soluzione, è possibile utilizzare Office SharePoint Designer 2007.

  • Dashboard e visualizzazioni per i manager    È necessario disporre di un modo per riprodurre una visualizzazione combinata di tutti i progetti, i preventivi e così via. Per visualizzare informazioni unite e combinate per un dashboard, è possibile creare facilmente visualizzazioni dati senza codice.

  • Relazioni padre-figlio    Quando si creano attività sono disponibili alcuni problemi di facile utilizzo. Potrebbe essere utile, ad esempio, fare in modo che un'attività venga associata automaticamente a un particolare progetto, a seconda della pagina attiva. È possibile utilizzare Office SharePoint Designer 2007 per aggiungere logica che consenta di collegare automaticamente un elemento a un altro.

Microsoft ha utilizzato lo stesso approccio iterativo per la creazione dei quaranta modelli di applicazioni e sono stati sviluppati un insieme di approcci coerenti, con procedure consigliate coerenti, alberi decisionali e così via, per ottimizzare ciò che avrebbe dovuto essere eseguito in modo nativo in Windows SharePoint Services 3.0 e ciò che avrebbe richiesto l'utilizzo di Office SharePoint Designer 2007 e altri strumenti. Nella sezione successiva di questo articolo verranno descritti questi approcci, identificando i cinque “modelli di struttura” e le relative modalità di implementazione, unitamente a esempi tratti da molti dei modelli di applicazioni. Per questo motivo la parte restante di questo documento è più dettagliata e tecnicamente più approfondita rispetto alla discussione riguardante la metodologia.

Torna all'inizio

Implementazione di modelli di struttura comuni

In questa sezione verranno descritti i cinque modelli di struttura di base nel contesto in cui sono stati utilizzati da Microsoft. Verrà fatto riferimento a diversi esempi nei vari modelli, inclusi esempi di codice e informazioni aggiuntive dettagliate, ove necessario. Gli sviluppatori troveranno molto utile questa sezione e le successive sezioni relative alla creazione effettiva di un modello di applicazione, tuttavia le informazioni sono redatte in modo accessibile anche per i non sviluppatori.

I modelli di struttura sono i seguenti:

  • Moduli personalizzati    Creazione di un aspetto personalizzato per fornire indicazioni sull'azione da eseguire in determinati punti del processo aziendale. Include solo l'esposizione delle proprietà corrette che possono essere modificate o che sono pertinenti in una determinata fase.

  • Flusso delle azioni    Creazione di azioni ben definite che indirizzano al punto corretto per il partecipante corretto. A questo scopo è necessario un buon controllo di spostamento che rilevi l'azione eseguita e il partecipante che esegue l'azione.

  • Relazioni padre-figlio    Creazione di una relazione tra due o più elenchi di SharePoint per ricerca e riferimento.

  • Flussi di lavoro    Utilizzo di Office SharePoint Designer 2007 per creare un processo aziendale basato su Windows Workflow Foundation.

  • Dashboard    Utilizzo di web part per creare una visualizzazione unificata, e in una sola posizione, delle informazioni distribuite nel sito.

Utilizzo di moduli personalizzati

I moduli personalizzati svolgono un ruolo vitale nella personalizzazione dell'interfaccia utente per l'input dei dati in Windows SharePoint Services. Così come si utilizzano le visualizzazioni di elenchi personalizzate per presentare i dati degli elenchi in vari modi, si utilizzano i moduli personalizzati per presentare diversi metodi di acquisizione dell'input dell'utente. La necessità di creare moduli personalizzati può nascere da vari motivi che dipendono dalle esigenze aziendali.

Personalizzazione basata su azioni

I processi aziendali richiedono agli utenti di eseguire azioni specifiche che influiscono sui dati aziendali in diversi punti del processo. Una buona soluzione di gestione dei processi aziendali facilita il lavoro degli utenti presentando le informazioni corrette in ogni fase del processo.

Per impostazione predefinita, in ogni elenco di Windows SharePoint Services è incluso un modulo di modifica. In questo modulo potrebbe tuttavia non essere presente l'insieme di campi ideale per una fase particolare di un processo aziendale e i campi potrebbero non essere disposti in modo da rendere chiara l'azione richiesta. Per assicurare che gli utenti siano in grado di modificare facilmente le informazioni corrette durante l'esecuzione di un'azione, è possibile creare un modulo personalizzato per ogni azione.

Nella soluzione Registrazione dei bug vengono utilizzati moduli di modifica personalizzati in modo che in ogni fase del processo di registrazione dei bug risulti immediatamente chiaro quali informazioni sia necessario immettere per un bug. A ogni azione nel processo di registrazione dei bug è associato un modulo. Ad esempio, quando un utente sceglie di risolvere un bug, viene indirizzato alla pagina di risoluzione (Resolve.aspx), dove è possibile immettere la risoluzione del bug e il nome della persona che l'ha risolto. Per inviare le modifiche, l'utente sceglie il pulsante Risolvi. Questa operazione crea un flusso di azioni di semplice utilizzo che consente di eliminare errori o informazioni mancanti.

La creazione di un modulo di modifica personalizzato è relativamente semplice utilizzando Office SharePoint Designer 2007:

  1. Creare una copia del file predefinito EditForm.aspx e rinominarlo.

    Importante : È importante creare una copia del file predefinito EditForm.aspx e rinominarlo come primo passaggio di questo processo. Se si esegue il passaggio 2 sulla pagina EditForm.aspx originale, l'elenco verrà interrotto in modo irreversibile.

  2. Eliminare la web part Modulo elenco nel nuovo modulo di modifica.

  3. Inserire una visualizzazione dati contenente i dati che si desidera esporre. Scegliere Controlli SharePoint dal menu Inserisci, quindi fare clic su Modulo elenco personalizzato.

  4. Utilizzando il metodo Inserisci, in Office SharePoint Designer 2007 viene creato automaticamente un pulsante Salva per il modulo. Il codice riportato di seguito mostra un esempio di codice HTML personalizzato per il pulsante Salva.

<input type="button" value="Save" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirectsource')}"/>

Spostamento

Dopo avere creato le pagine corrispondenti ai ruoli, sarà necessario fornire agli utenti un modo per accedere rapidamente al relativo dashboard. Nella soluzione Organizzazione eventi questo risultato è stato ottenuto utilizzando un modello XSL per creare un collegamento al dashboard corretto per l'utente corrente in base al relativo ruolo.

Questa tecnica presenta una limitazione in quanto, se si aggiungono più ruoli alla soluzione, per creare dashboard personalizzati per quei ruoli è necessario creare pagine con estensione aspx aggiuntive.

È importante sottolineare che questa tecnica non aggiunge un ulteriore controllo di accesso alle informazioni presenti nel sito. Qualsiasi utente è comunque teoricamente in grado di visualizzare qualsiasi informazione inclusa nella soluzione.

Assegnazione di ruoli agli utenti

Sono disponibili diversi modi per creare ruoli e assegnarli agli utenti. La migliore soluzione a questo scopo varia significativamente in base ai requisiti di una particolare applicazione o organizzazione. In Windows SharePoint Services non è disponibile un metodo pronto all'uso per le assegnazioni dei ruoli. In alcuni casi può essere sufficiente definire i ruoli dopo la distribuzione del sito o consentire agli utenti di assegnare a se stessi i ruoli secondo le esigenze.

Nella soluzione Organizzazione eventi gli utenti possono iscriversi al ruolo che preferiscono. Questa operazione viene effettuata tramite la web part personalizzata nella pagina iniziale dell'area di lavoro Organizzazione eventi.

Altri esempi di questo modello di struttura

Per un altro esempio di amministrazione server di utilizzo dei moduli personalizzati, vedere il modello di raccolta condivisa applicazione per Windows SharePoint Services 3.0.

Per un esempio di amministrazione sito, vedere il modello di applicazione di gestione del processo di produzione per Windows SharePoint Services 3.0.

Controllo del flusso di azioni

Un'applicazione Web reale modellata in base a un processo aziendale rientra raramente in un'unica pagina Web o in una web part. Al contrario, utilizza diversi di questi componenti, ognuno dei quali riguarda un passaggio distinto nel processo aziendale. Di conseguenza lo spostamento in modo semplice e rapido tra i componenti di un'applicazione assume un aspetto importante della progettazione di un'applicazione. In un modello di struttura è quindi fondamentale controllare il flusso di azioni, associando le azioni del processo aziendale allo spostamento, in modo che l'esecuzione di una particolare azione consenta all'utente di passare alla successiva pagina o azione appropriata.

Un metodo per controllare il flusso di azioni consiste nell'utilizzare la funzionalità Azione personalizzata in Windows SharePoint Services 3.0, che consente di aggiungere azioni personalizzate al pulsante relativo al contesto incorporato per gli elementi di una raccolta. Questa funzionalità presenta una limitazione, nel senso che le azioni devono essere hardcoded e non possono essere associate a parametri mediante il nome dell'elemento o un altro valore dinamico.

Un altro metodo che consente di incorporare azioni dinamiche nel processo aziendale consiste nel creare elenchi di SharePoint personalizzati e utilizzare “campi calcolati”. Nel modello di applicazione Registrazione dei bug viene utilizzato un elenco Bug personalizzato per verificare le informazioni e lo stato dei bug. Utilizzando campi calcolati, Microsoft ha incorporato collegamenti personalizzati nella visualizzazione dell'elenco, in modo che l'utente possa eseguire un'azione in relazione ai bug, ad esempio “Attiva” o “Risolvi”, e ognuna di queste azioni sia associata a uno spostamento per consentire all'utente di visualizzare il modulo personalizzato corretto (vedere il modello di struttura precedente) ed eseguire le operazioni necessarie per attivare o risolvere il bug.

I campi calcolati sono una funzionalità di Windows SharePoint Services 3.0 che consente di applicare un modello di rendering personalizzato come una colonna in un elenco di SharePoint. In questo modo un'azione del processo aziendale (attivazione di un bug) viene presentata come un pulsante in una colonna che consente all'utente di spostarsi nel modulo personalizzato corretto per eseguire l'azione.

Il campo calcolato supporta la logica condizionale per scegliere se visualizzare un'azione. Ad esempio, se il bug è già attivato, si non vengono visualizzate sul pulsante Attiva. Un campo calcolato viene aggiunto a un elenco SharePoint mediante l'aggiunta di un elemento di campo per il file di schema XML che definisce l'elenco. <Field ID="{EA1D0509-767B-4576-ABEF-FC66647037B9}" Name="ActivateBug" Group="_Hidden" Type="Computed" Sortable="FALSE" Filterable="FALSE" DisplayName="$Resources:tsa,Activate_DispName;" ClassInfo="Icon" AuthoringInfo="$Resources:core,Linked_Item;"> <FieldRefs> <FieldRef ID="{94f89715-e097-4e8b-ba79-ea02aa8b7adb}" Name="FileRef"/> <FieldRef ID="{3f277a5c-c7ae-4bbe-9d44-0456fb548f94}" Name="Status"/> <FieldRef Name="ID" /> </FieldRefs> <DisplayPattern> <IfEqual> <Expr1>$Resources:core,Status_Active;</Expr1> <Expr2> <Field Name="Status"/> </Expr2> <Then> </Then> <Else> <HTML><![CDATA[<a href="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/Activate.aspx?ID=]]></HTML> <Column HTMLEncode="TRUE" Name="ID"> </Column> <HTML><![CDATA[" onclick="GoToLink(this);return false;" target="_self">]]></HTML> <HTML><![CDATA[<img border="0" alt="]]></HTML> <HTML>$Resources:tsa,Activate_DispName;</HTML> <HTML><![CDATA[" src="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/IMNBUSY.GIF">]]></HTML> <HTML><![CDATA[</a>]]></HTML> </Else> </IfEqual> </DisplayPattern> </Field>

In questo codice è riportato il codice XML per il campo calcolato Attiva. Nel campo è presente un collegamento relativo allo stato di colore arancio su cui è possibile fare clic se il bug non è stato attivato. L'utente può fare clic sul collegamento per passare al modulo di attivazione per questo bug.

L'elemento FieldRefs include un riferimento di campo al campo relativo allo stato nell'elenco dei bug. Questo riferimento consente di eseguire il rendering personalizzato di questo campo calcolato in base allo stato del bug.

Il campo DisplayPattern di una colonna calcolata contiene i calcoli e il modello di rendering per la colonna. In questo esempio viene utilizzata un'istruzione if-then-else per determinare se lo stato del bug è attivo. Se il bug è attivo, il campo Attivo è vuoto. Se il bug non è attivo, viene visualizzato il codice HTML nell'elemento Else. Questo codice HTML corrisponde all'immagine e al collegamento su cui l'utente può fare clic per attivare il bug.

Altri esempi di questo modello di struttura

Per un altro esempio di amministrazione server di controllo del flusso di azione, vedere il modello di raccolta condivisa applicazione per Windows SharePoint Services 3.0.

Per un esempio di amministrazione sito, vedere il modello di sito delle attività del dipendente applicazione di Microsoft Windows SharePoint Services 3.0.

Utilizzo di relazioni padre-figlio

Le soluzioni aziendali richiedono spesso la visualizzazione e l'utilizzo dei dati nel contesto di una relazione con altri dati. Ad esempio, come per l'applicazione di controllo avanzamento progetto, Progetti, Attività, Problemi e Attività cardine vengono archiviati nel relativo elenco di SharePoint e ognuno di questi elementi è associato a un elemento nell'elenco Progetto. Il mantenimento della relazione tra un elenco e le informazioni "figlio" contenute in altri elenchi può costituire una sfida.

Creazione di un collegamento predefinito tra una nuova voce di elenco e una esistente

Una sfida comune si presenta quando un utente desidera creare una voce di elenco correlata a un elemento in un elenco padre. Nella soluzione di controllo avanzamento progetti multipli questo problema si verifica quando un utente tenta di creare un'attività correlata a un progetto esistente. Non è disponibile un meccanismo pronto all'uso in Windows SharePoint Services 3.0 che consenta di creare automaticamente una relazione tra una voce di elenco in fase di creazione e una esistente.

Dalla pagina dettagli del progetto (DispForm. aspx) nel progetto più verifica modello applicazione, un utente può creare nuove attività sotto al progetto. La nuova pagina di creazione dell'attività (NewForm. aspx) contiene un menu di scelta rapida in cui l'utente può selezionare il progetto principale per questa attività. Per impostare come predefinito in questo elenco a discesa per il progetto principale vengono visualizzato nella pagina da che l'utente si sposta, l'ID del progetto principale è passare al NewForm. aspx nella stringa di query. Successivamente, utilizzando JavaScript, abbiamo analizzare tali valori ID progetto e selezionare il progetto rilevante nella casella a discesa. <a href="../ProjectTasks/NewForm.aspx?ProjectID={$ProjectID}" onclick="javascript:this.href = unescapeProperly(escape(this.href)); GoToLink(this); return false;" target="_self">Create a new Task...</a>

Questo codice mostra il collegamento da DispForm.aspx. Si noti che nella stringa di query è incluso ProjectID.

Quando NewForm.aspx viene caricato, JavaScript analizza l'ID del progetto dalla stringa di query e modifica il menu a discesa del progetto in modo che venga selezionato il progetto corretto.

Il codice JavaScript è contenuto in una Web Editor contenuto Part in NewForm. aspx. La Web Part è necessario alcun chrome, in modo che non è visualizzato nella pagina a meno che la pagina è in modalità di modifica. Il codice JavaScript viene inserito all'interno dell'area editor contenuto. <script type="text/javascript"> _spBodyOnLoadFunctionNames.push("fillDefaultValues"); function fillDefaultValues() { var qs = location.search.substring(1, location.search.length); var args = qs.split("&"); var vals = new Object(); for (var i=0; i < args.length; i++) { var nameVal = args[i].split("="); var temp = unescape(nameVal[1]).split('+'); nameVal[1] = temp.join(' '); vals[nameVal[0]] = nameVal[1]; } setLookupFromFieldName("Project", vals["ProjectID"]); setLookupFromFieldName("Milestone", vals["MilestoneID"]); } function setLookupFromFieldName(fieldName, value) { if (value == undefined) return; var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName); if (theSelect == null) { var theInput = getTagFromIdentifierAndTitle("input","",fieldName); ShowDropdown(theInput.id); var opt=document.getElementById(theInput.opt); setSelectedOption(opt, value); OptLoseFocus(opt); } else { setSelectedOption(theSelect, value); } } function setSelectedOption(select, value) { var opts = select.options; var l = opts.length; if (select == null) return; for (var i=0; i < l; i++) { if (opts[i].value == value) { select.selectedIndex = i; return true; } } return false; } function getTagFromIdentifierAndTitle(tagName, identifier, title) { var len = identifier.length; var tags = document.getElementsByTagName(tagName); for (var i=0; i < tags.length; i++) { var tempString = tags[i].id; if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) { return tags[i]; } } return null; } </script>

Il comandospBodyOnLoadFunctionNames.push_aggiunge la funzione fillDefaultValues all'elenco di script da eseguire in fase di caricamento.

La funzione fillDefaultValues acquisisce l'ID del progetto o dell'attività cardine dalla stringa di query e lo passa a setSelectedOptions. setSelectedOptions imposta quindi il valore del menu a discesa sull'ID del progetto padre.

Altri esempi di questo modello di struttura

Per un altro esempio di amministrazione server sull'utilizzo delle visualizzazioni padre-figlio, vedere modello inventario di applicazione per Windows SharePoint Services 3.0.

Per un esempio di amministrazione sito, vedere apertura nuovo punto vendita modello applicazione per Windows SharePoint Services 3.0.

Utilizzo del flusso di lavoro

In Windows SharePoint Services 3.0 viene utilizzato Windows Workflow Foundation per consentire l'aggiunta della logica del flusso di lavoro a un'applicazione. In Office SharePoint Designer 2007 è disponibile un potente strumento di progettazione basato su regole per la personalizzazione e l'aggiunta di logica condizionale ai flussi di lavoro pronti all'uso. È possibile creare flussi di lavoro personalizzati e più complessi mediante codice utilizzando Visual Studio 2005 con Visual Studio 2005 Extensions for Windows Workflow Foundation. In ogni caso sono necessarie alcune considerazioni, riportate di seguito, sui tempi e metodi di utilizzo di un flusso di lavoro.

Considerazioni sull'utilizzo di un flusso di lavoro

Un flusso di lavoro è una soluzione appropriata per le operazioni asincrone. Nella soluzione Raccolta condivisa il flusso di lavoro viene utilizzato quando un utente propone un nuovo bene per la raccolta. Uno dei motivi per cui il flusso di lavoro è una scelta appropriata in questo caso è il fatto che il processo tra il proponente e il revisore non è sincrono.

I flussi di lavoro sono inoltre appropriati per gli eventi pianificati. Nella soluzione Raccolta condivisa il flusso di lavoro viene utilizzato per gestire l'estrazione e i promemoria di scadenza per i beni. Dopo l'estrazione di un elemento, il flusso di lavoro invia automaticamente un promemoria di scadenza quando l'elemento scade.

Flusso di lavoro può essere utilizzato come mezzo per semplificare un in caso contrario complicate attività di programmazione nel server. Gestione schede dipendente modello applicazione per Windows SharePoint Services 3.0 è illustrato un esempio. Questa applicazione tiene traccia della durata di lavoro di un dipendente di una particolare attività calcolando la differenza tra un punto di entrata in ed entrata la data e ora. In genere, tenere traccia dei timestamp richiede la registrazione in queste due attività nel server (probabilmente a un database): una sviluppo degni di nota. Se, tuttavia, l'applicazione si basa su un unico passaggio del flusso di lavoro semplice. Quando si effettua una sovrapposizione, il flusso di lavoro creata una voce nell'elenco ora Log e imposta il valore di ora di inizio per il timestamp corrente. Analogamente, quando si effettua una sovrapposizione sugli, il flusso di lavoro aggiorna la riga associata nello stesso elenco e imposta il valore di data/ora fine. La durata dell'attività dell'utente è semplicemente la differenza tra la data/ora fine e i valori di ora di inizio, che viene riflesso nella colonna calcolata ore.

I flussi di lavoro vengono eseguiti in modo asincrono. Se si crea una soluzione in cui i risultati di un'azione devono essere completati immediatamente prima di passare alla pagina successiva, l'utilizzo di un flusso di lavoro potrebbe non essere la soluzione più appropriata. Ad esempio, nella soluzione di registrazione dei bug non viene utilizzato il flusso di lavoro per gestire l'attivazione e la risoluzione dei bug. Uno dei motivi di questa scelta di progettazione è il fatto che le modifiche dello stato dei bug devono essere riflesse nell'interfaccia utente immediatamente dopo che un utente ha eseguito un'azione per un bug.

Utilizzo di Office SharePoint Designer 2007 per creare un flusso di lavoro personalizzato

La creazione di un flusso di lavoro utilizzando Office SharePoint Designer 2007 non richiede codice. Con un sito aperto è sufficiente scegliere Nuovo dal menu File, quindi Flusso di lavoro e utilizzare Progettazione flussi di lavoro. Progettazione flussi di lavoro consente di creare regole e azioni sofisticate ed è integrato con gli elenchi e le raccolte di SharePoint, in modo che sia possibile utilizzare campi e valori direttamente dagli elementi di elenchi e raccolte per creare la logica del flusso di lavoro.

Si supponga ad esempio di creare un'azione del flusso di lavoro per inviare un messaggio di posta elettronica al proprietario di un'attività ogni volta che viene creata una nuova attività o un problema. Nel modello Controllo avanzamento progetto Proprietario è una colonna personalizzata nell'elenco di SharePoint, in modo che il flusso di lavoro possa utilizzare il valore di questa colonna e determinare in modo dinamico l'indirizzo di posta elettronica effettivo in fase di esecuzione.

Per ulteriori informazioni sui flussi di lavoro in Office SharePoint Designer 2007, vedere Introduzione a Microsoft Office SharePoint Designer 2007.

Altri esempi di questo modello di struttura

Per un altro esempio di amministrazione di server dell'utilizzo di flussi di lavoro, vedere le richieste di lavoro colloquio modello e gestione dell'applicazione per Windows SharePoint Services 3.0.

Per un esempio di amministrazione sito, vedere clinici avvio di versione di valutazione di modello e gestione dell'applicazione per Windows SharePoint Services 3.0.

Utilizzo di dashboard

Tra i molti vantaggi dell'infrastruttura di web part di Windows SharePoint Services 3.0 vi è la possibilità di visualizzare informazioni distribuite in un sito di SharePoint o esternamente in un'unica pagina di riepilogo o dashboard. Un'esigenza aziendale comune negli ambienti condivisi sono i dashboard basati su ruoli, che possono fornire una visualizzazione delle informazioni pertinenti per ruolo o persona. Questi dashboard possono usufruire di potenti funzionalità incorporate, ad esempio il filtro delle web part e l'assegnazione a gruppi di destinatari per visualizzare le informazioni in base a chi visualizza la pagina.

È inoltre possibile andare oltre queste funzionalità e creare pagine distinte per ruoli distinti, in modo da personalizzare veramente non solo le informazioni presentate, ma anche il layout e altri aspetti della pagina. Queste pagine basate su ruoli personalizzate vengono utilizzate ampiamente nei modelli di applicazioni e, naturalmente, possono includere anche funzionalità di filtro e assegnazione a gruppi di destinatari.

Nell'applicazione Raccolta condivisa, ad esempio, vengono utilizzati dashboard basati sui ruoli per presentare informazioni appropriate per l'utente in base al ruolo. Per la pagina principale del sito sono disponibili due pagine: una destinata all'utente della raccolta (la pagina predefinita) e una per il responsabile della raccolta.

In modo analogo nell'applicazione Helpdesk sono presenti tre visualizzazioni dashboard nella pagina principale: Rappresentante servizio - Home, Gestione informazioni di base - Home e Gestione rappresentanti servizio - Home. L'utente seleziona il collegamento ipertestuale più adatto per il proprio ruolo. La visualizzazione web part presentata nel dashboard filtra il contenuto da visualizzare all'utente. Questa operazione viene eseguita mediante l'applicazione di un filtro alla visualizzazione. Nei passaggi seguenti viene illustrato come viene applicato questo filtro a una visualizzazione elenco esistente.

  1. Passare alla pagina della visualizzazione elenco nel browser.

  2. Individuare il controllo a discesa sulla barra degli strumenti dell'elenco e selezionare la visualizzazione che si desidera modificare, se non è già selezionata.

  3. Passare di nuovo allo stesso controllo a discesa e selezionare Modifica visualizzazione.

  4. Nella pagina Modifica visualizzazione scorrere l'elenco fino alla sezione Filtro. Impostare il valore del filtro come segue:

    Mostra gli elementi quando la colonna Creato da è uguale a [Utente] o quando la colonna Cliente è uguale a [Utente].

  5. Scegliere OK.

Nella pagina Gestione rappresentanti servizio - Home dell'applicazione Helpdesk, illustrata nella figura 4, sono disponibili due web part Dashboard che riepilogano le richieste di servizio per stato e priorità sotto forma di grafico a barre.

pagina dashboard
Figure 4: Pagina dashboard

Queste web part Visualizzazione dati riflettono i dati contenuti in un elenco denominato Richieste di assistenza, che fa parte anche del sito della soluzione Helpdesk. Per comprendere meglio come sono state create queste web part, aprire il sito in Office SharePoint Designer 2007 e caricare la pagina HelpDeskManager.aspx che contiene le web part. Visualizzare la pagina in Doppia visualizzazione. Come è possibile notare il codice di queste web part è un misto di linguaggi markup XLST, HTML e CSS.

Per verificare come sono state create le barre del grafico a barre nella web part, verrà esaminata come esempio la web part Priorità generale richieste di assistenza. In Office SharePoint Designer 2007 scegliere Controlli SharePoint dal menu Inserisci, quindi fare clic su Visualizzazione dati per aprire il riquadro attività Raccolta origini dati. In questo riquadro attività è possibile sfogliare diverse origini dati attualmente accessibili per il sito, inclusi gli elenchi già nel sito. In questo caso, espandere la sezione Elenchi SharePoint e fare clic sul nome dell'elenco, Richieste di assistenza, per indicare che questa sarà l'origine dei dati. Nel menu di scelta rapida visualizzato scegliere Mostra dati. Verrà aperto un nuovo riquadro nel riquadro attività denominato Dettagli origine dati con tutti i campi e i dati di esempio archiviati nell'elenco Richiesta di assistenza. Da questo riquadro selezionare i nomi dei campi che si desidera visualizzare nella web part, in questo caso il campo Priorità, quindi scegliere Inserisci campi selezionati come Visualizzazione elemento singolo (vedere la figura 5).

In questo caso l'obiettivo consiste nel visualizzare un conteggio riepilogativo di tutte le attività raggruppate per priorità. Ciò significa che è necessario elencare le opzioni disponibili nel campo Priorità una sola volta, quindi visualizzare un conteggio per ogni valore di priorità nell'elenco corrispondente. Scegliere quindi di visualizzare i valori di priorità come una Visualizzazione elemento singolo come punto iniziale della personalizzazione. Se invece si seleziona Visualizzazione più elementi, verranno mostrate tutte le righe nell'elenco.

creazione di una pagina dashboard in sharepoint designer
Figura 5: Creazione di una pagina dashboard in Office SharePoint Designer 2007

Nella pagina, in corrispondenza del cursore, viene inserita una web part, nella quale viene tuttavia visualizzata una sola riga di dati e non un grafico a barre con il riepilogo delle richieste di assistenza elencate per priorità. Poiché il rendering della web part viene eseguito utilizzando codice HTML e XSL, è possibile personalizzare il codice in base alle proprie esigenze. Nella seguente sezione sono evidenziate alcune aree chiave di questa personalizzazione per convertire la web part in un grafico a barre.

È possibile sapere a un'origine dati il nostro elenco è tre i valori possibili priorità: (1) alta, (2) normale e bassa (3). Di conseguenza, è dichiarare una variabile XSLT per ogni valore nel modo seguente: <xsl:variable name="High" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(1) High'])" /> <xsl:variable name="Normal" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(2) Normal'])" /> <xsl:variable name="Low" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(3) Low'])" /> <xsl:variable name="AllTasks" select="count(/dsQueryResponse/Rows/Row)" />

Si noti che il parametro XSL @Priority fa riferimento al nome di campo dell'origine dati. Poiché il codice per creare un grafico ogni valore tre priorità è simile, esaminato il grafici solo il primo valore priorità. Per ottenere il valore percentuale, si definisce una nuova variabile, percetHigh, per calcolare il valore percentuale delle richieste di priorità alta: <xsl:variable name="percentHigh" select="$High div $AllTasks" />

Il codice creato barra effettiva è un modello XSL, come illustrato di seguito: <xsl:template name="ChartRow"> <xsl:param name="RowName"></xsl:param> <xsl:param name="Value"></xsl:param> <xsl:param name="PercentValue"></xsl:param> <tr> <td class="ms-formbody" width="125px" style="vertical-align:middle"> <xsl:value-of select="$RowName"/>: <xsl:value-of select="$Value" /> <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes"> &amp;nbsp; </xsl:text>( <xsl:call-template name="percentformat"> <xsl:with-param name="percent" select="$PercentValue"/> </xsl:call-template>) </td> <td> <table width="100%" > <tr> <td width="{round($PercentValue*100)+1}%" height="15px" class="ms-selected"><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> <td width="100%" > <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> </tr> </table> </td> </tr> </xsl:template>

Si noti che la barra è una tabella con due celle. La larghezza della prima cella, che rappresenta la larghezza della barra nel grafico, dipende dalla variabile PercentValue rappresentate nel codice come: td width="{round($PercentValue*100)+1}%"

La cella ha anche una classe di stile CSS selezionato ms, applicata. Questa classe di stile è definita nel file di foglio di stile CSS come segue: .ms-selected { background-position:left top; color:#000000; background-image:url("/_layouts/images/filedialogselected.gif"); background-color:#FFE499; border-top:1px solid #FFE499; border-bottom:1px solid #FFE499; background-repeat:repeat-x; }

L'immagine di sfondo, filedialogselected.gif, consente di applicare il colore giallo alla cella, ovvero alla barra.

Altri esempi di questo modello di struttura

Per un altro esempio di amministrazione server di utilizzo dei dashboard, vedere il modello di applicazione di servizio clienti per Windows SharePoint Services 3.0.

Per un esempio di amministrazione sito, vedere rapporti sulle prestazioni aziendali modello applicazione per Windows SharePoint Services 3.0.

Torna all'inizio

Creazione di modelli

I modelli di applicazioni in Windows SharePoint Services sono di due tipi: definizioni di sito e modelli di sito. I quaranta modelli di applicazioni sono un misto di questi tue tipi. Entrambi i tipi di modelli possono essere scelti dall'utente nella pagina Nuovo sito di SharePoint e il loro funzionamento è molto simile per l'utente finale. Il metodo per la creazione di questi modelli e per renderli disponibili nel modulo di creazione del sito è invece molto diverso.

Definizioni di sito

Nel senso più elementare del termine, definizione di sito è una raccolta di file XML, assembly e pagine aspx, che definisce il modo in cui sarà strutturato il sito basato su di essa e la funzione svolta dall'applicazione di base del sito. Poiché i file XML e aspx di base sono accessibili tramite il file system, possono essere facilmente clonati e modificati per ricreare nuove definizioni di sito, rendendole quindi altamente personalizzabili.

Dopo il provisioning (creazione) di una definizione di sito per un sito, le modifiche apportare ai file di definizione del sito nel file system possono continuare ad essere propagate al sito con provisioning. La modifica dei file di definizione del sito dopo il provisioning dei siti non è tuttavia supportata da Microsoft. Se alcune delle pagine nel sito con provisioning vengono modificate utilizzando un editor esterno, ad esempio Office SharePoint Designer 2007, la pagina perderà la connessione alla definizione di sito nel file system e verrà invece salvata nel sistema database di Windows SharePoint Services e sarà identificata come pagina “personalizzata ” o “senza ghosting”.

Se è necessario personalizzare definizione di un sito, l'approccio potrebbe essere iniziare con una copia rinominata della definizione del sito, anziché la modifica di uno esistente. Per implementare le modifiche apportate a una definizione di sito esistente dopo siti sono già stati provisioning modulo, è necessario creare e distribuire un pacchetto della soluzione aggiornamento definizione del sito. Per informazioni dettagliate su come eseguire questa operazione, vedere gli articoli corrispondenti di Windows SharePoint Services 3.0 SDK.

Modelli di sito

Un modello di sito è un sito di SharePoint inserito in un pacchetto che può essere utilizzato per creare nuovi siti con una struttura e contenuto analoghi. Ciò significa che per creare un modello di sito, è necessario disporre di un sito di SharePoint esistente come punto iniziale. Eventuali personalizzazioni, ad esempio layout di pagina, fogli di stile, immagini, pagine master, documenti, elenchi e contenuto di elenchi, possono essere acquisite nel modello.

Il processo di acquisizione di un sito esistente in un modello può essere eseguito direttamente dalle attività amministrative del sito, in Impostazioni sito, o da Office SharePoint Designer 2007. Una volta creato, il modello di sito viene archiviato nella Raccolta modelli sito Web della raccolta siti corrente. Il file con estensione stp può essere scaricato dalla Raccolta modelli sito Web e spostato in un'altra raccolta siti o in un ambiente server diverso. Nell'ultima parte di questa sezione verranno descritti i dettagli della creazione e dell'utilizzo di un modello di sito.

Utilizzo di definizioni di sito o di modelli di sito

Come spiegato, i modelli di sito derivano in effetti dalle definizioni di sito. Quando si sceglie di creare una nuova definizione di sito piuttosto che un modello di sito, considerare quanto segue:

  • Complessità dell'applicazione    Se le esigenze sono principalmente di natura estetica, ad esempio modifiche del layout e delle immagini di un sito esistente, utilizzare i modelli di sito. Per contro, se si desidera aggiungere nuove definizioni di web part o utilizzare codice personalizzato o campi calcolati, creare una definizione di sito personalizzata.

  • Livello di accesso nel server    Stabilire se si dispone dell'accesso all'intero server Web o solo a una raccolta siti specifica. Per creare e distribuire una definizione di sito è necessario avere accesso al file system del server. In caso contrario, si sarà limitati alla creazione di un modello di sito a livello della raccolta siti per cui si dispone dell'accesso. Questo requisito di accesso non è applicabile agli amministratori del sito. Dopo la distribuzione, chiunque disponga dei diritti per creare un nuovo sito potrà accedere a entrambi i tipi di modelli di applicazione.

  • Frequenza di aggiornamenti o modifiche in futuro    La modifica di un modello di sito non incide sui siti già creati da questo modello, ma saranno interessati solo i nuovi siti creati dopo le modifiche. La distribuzione di una soluzione di aggiornamento della definizione del sito ha effetto su tutti i siti già creati da quella definizione

Informazioni aggiuntive per la creazione di modelli di sito e definizioni di sito

La creazione di modelli di sito e definizioni di sito comporta vari livelli di complessità. Le tecniche di base sono descritte nelle sezioni successive.

Creazione di un modello di sito

Come illustrato in precedenza, un modello di sito è in effetti un sito di SharePoint inserito in un pacchetto per il successivo riutilizzo. Questo pacchetto è presente nella Raccolta modelli sito Web a livello di raccolta siti. I modelli di sito nella raccolta sono disponibili per la creazione di nuovi siti a tutti i livelli di sito figlio della raccolta siti. La seguente procedura consente di creare un nuovo modello di sito da un sito esistente:

  1. Aprire il sito esistente in Office SharePoint Designer 2007 e verificare che layout e contenuto corrispondano alle proprie esigenze.

  2. Scegliere Esporta dal menu File, quindi fare clic su Modello sito di SharePoint. Verrà visualizzata la pagina Web Impostazioni sito.

  3. Immettere un nome di file, un titolo e una descrizione per il modello.

  4. Se lo si desidera, selezionare l'opzione Inclusione contenuto per includere nel modello i dati presenti negli elenchi e le raccolte documenti. Selezionare questa opzione anche se si desidera includere flussi di lavoro, essendo in effetti i flussi di lavoro contenuto archiviato in una raccolta documenti.

  5. Scegliere OK. Verrà creato un file modello dal sito con estensione stp e verrà inserito nella Raccolta modelli sito Web del sito padre.

Dalla Raccolta modelli sito Web è possibile fare clic sul nome del modello per scaricare il file con estensione stp sul disco locale. Il file potrà quindi essere caricato in un'altra Raccolta modelli sito Web.

Creazione di una definizione di sito

A differenza dei modelli di sito, le definizioni di sito vengono archiviate nel file system. Ogni definizione di sito viene inserita nella cartella corrispondente sul server nel percorso:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ SiteTemplates

Nella cartella di modelli di sito sono presenti diversi elementi del sito, ad esempio i file con estensione aspx e html e le risorse associate, quali immagini e file JavaScript. ONET.XML è il file di definizione di sito di base che specifica i diversi moduli e configurazioni per la definizione di sito. ONET.XML è archiviato in una sottodirectory denominata “XML”.

Le definizioni di sito sono registrate in Windows SharePoint Services e rese disponibili tramite file XML WEBTEMP, che sono tutti archiviati nel percorso

% CommonProgramFiles % \ \Microsoft Shared\Web server extensions\12\TEMPLATE\ < LCID > \XML

dove <LCID> è l'ID delle impostazioni locali, ad esempio 1040. Il nome effettivo del file XML è preceduto da "WEBTEMP", ad esempio WEBTEMPBT.XML.

In pratica, la creazione di una nuova definizione del sito è costituito da due passaggi principali: (1) la configurazione della cartella di definizione del sito e (2) la creazione di file di registrazione viene eseguita la definizione del sito con Windows SharePoint Services WEBTEMP XML. Il primo passaggio è completato la duplicazione di una cartella di definizione del sito esistente e modificando il contenuto per soddisfare le esigenze aziendali. ONET. File XML contiene elementi che specificano come le varie parti di pagine del sito vengono effettuato il provisioning, ad esempio la barra di spostamento, modelli di documenti e modelli di elenco. L'elemento configurazioni specifica degli elenchi e moduli che vengono creati per impostazione predefinita quando si crea un'istanza di definizione del sito. È stato inviato dal ONET porzione riportata di seguito. XML di definizione del sito verifica Bug e Mostra una parte dell'elemento configurazioni : <Configurations> <Configuration ID="0" Name="Default"> <SiteFeatures> <!-- BasicWebParts Feature --> <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> <!-- Three-state Workflow Feature --> <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" /> <!-- TSA Fields and Content Types --> <Feature ID="75A0FEA7-CD50-401e-AF0E-782F3662A299" /> </SiteFeatures> <WebFeatures> <!-- TeamCollab Feature --> <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> <!-- MobilityRedirect --> <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" /> <!-- Bug Tracking Categories List --> <Feature ID="75A0FEA7-42E8-4527-8313-F63C4C49A7E6" /> <!-- Bug Tracking Bugs List --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8E" /> <!-- Bug Tracking Bugs List Instance --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8F" /> ... ... <!-- Post Provisioning Event Handler --> <Feature ID="75A0FEA7-B0EF-434e-90D6-CE997D970564"> <Properties> <Property Key="ZonedWebPartsUrlList" Value="$Resources:core,lists_Folder;/Bugs/Resolve.aspx,$Resources:core,lists_Folder;/Bugs/Activate.aspx,$Resources:core,lists_Folder;/Bugs/Close.aspx"/> </Properties> </Feature> </WebFeatures> </Configuration> </Configurations>

In questa definizione di sito vengono utilizzate numerose funzionalità, quali elenchi di bug, elenchi di categorie di bug, reindirizzamento a funzionalità per dispositivi portatili così via. Queste funzionalità sono elencate negli elementi SiteFeatures e WebFeatures con i GUID delle funzionalità. I GUID si trovano nell'elemento Feature all'interno del file Feature.XML corrispondente presente in questa cartella:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\FEATURES

Fare riferimento a Windows SharePoint Services 3.0 SDK per ulteriori informazioni sulla personalizzazione ONET. XML.

Il secondo passaggio della creazione di una definizione di sito personalizzata consiste nel creare il file WEBTEMP*.XML in questa cartella:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ < LCID > \XML

L'elemento di modelli di questo file specifica le configurazioni che possono essere utilizzate per creare i siti creati dalla definizione del sito. Porzione riportata di seguito illustra il formato di file WEBTEMPbt.XML, ovvero il file di configurazione usato dalla definizione del sito Bug verifica: <?xml version="1.0" encoding="utf-8" ?> <Templates xmlns:ows="Microsoft SharePoint"> <Template Name="BT" ID="75801"> <Configuration ID="0" Title="Bug Database" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png" Description="A site for teams to track bugs in their shared software projects." DisplayCategory="Application Templates" > </Configuration> </Template> </Templates>

L'attributo Name del nodo Template sopra indicato deve corrispondere a “*” nel nome del file WEBTEMP*.XML. Si noti inoltre che l'attributo DisplayCategory dell'elemento Configuration indica in quale scheda nella sezione Selezione modello della pagina Web Crea sito verrà visualizzata la configurazione. È possibile creare schede personalizzate inserendo valori personalizzati in questo attributo.

Una volta i file di definizione del sito sono stati creati e inseriti nelle cartelle appropriate nel file system, riavviare il servizio IIS. La nuova definizione del sito saranno disponibile per la selezione nella sezione Selezione modello della pagina Nuovo sito di SharePoint in Windows SharePoint Services. File di definizione del sito possono anche essere incluso in un pacchetto come file soluzione per una facile migrazione a un altro ambiente di SharePoint o ridistribuzione nello stesso ambiente. Un file di soluzione è un file con un. Estensione WSP (per pacchetto della soluzione Web). Contiene caratteristiche, Web part, assembly, risorse e così via utilizzato dalla definizione del sito per la classe. È possibile utilizzare lo strumento makecab.exe creare un. File WSP. Fare riferimento a Windows SharePoint Services 3.0 SDK su come creare un file di soluzione.

Localizzazione di una definizione di sito

La localizzazione di una definizione di sito è facilitata dalla disponibilità di file di risorse e dal rilevamento delle impostazioni cultura. Mentre la localizzazione di una tipica applicazione ASP.NET 2.0 viene effettuata durante la fase di compilazione, la localizzazione di un sito di SharePoint avviene durante il provisioning del sito. Tra i modelli di applicazioni, i 20 modelli di definizione del sito sono stati localizzati in 10 lingue. Le stesse definizioni di sito sono state creare in un formato indipendente dalla lingua, mentre i valori letterali stringa vengono archiviati in file di risorse con estensione resx. Per localizzare una definizione di sito personalizzata o aggiungere il supporto per una nuova lingua a una definizione di sito esistente, creare un nuovo file di risorse, inserendolo nella directory Resources nel seguente percorso:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\Resources

Questo file è essenzialmente un file XML modificabile in qualsiasi editor di testo. Nella procedura riportata di seguito viene illustrato come creare un nuovo file di localizzazione da utilizzare in una definizione di sito:

  1. Passare alla directory Resources sopra indicata e individuare il file con estensione resx esistente che si desidera localizzare in una nuova lingua.

  2. Clonare il file e assegnare lo stesso nome, eccetto il nome della lingua/delle impostazioni cultura, ad esempio tsa-en-us.resx in tsa-es-es.resx.

  3. Aprire il file clonato in un editor di testo.

  4. Impostare il codice lcid nella seconda riga del file per specificare la lingua. Ad esempio, nel codice seguente viene impostata la lingua spagnola:

<!-- _lcid="3082" _version="12.0.5006.3000" _dal="1" ––>

  1. Scorrere il testo finché non vengono visualizzati gli elementi data seguiti dagli elementi value in coppia. In questo punto viene accoppiato il nome risorsa con il valore stringa localizzato. Modificare i valori stringa nell'elemento value per per le impostazioni locali. Nel seguente esempio di codice viene visualizzata una stringa di risorsa per un'azione create new customer in spagnolo:

    <data name="Action_NewCustomer">
    <value>Crear un Nuevo cliente</value>
    </data>
  2. Salvare il file nella cartella di risorse con un nome simile myCustomResource.es-es. resx (il nome effettivo cambiano in base al nome di lingua per cui è destinato il file di risorse). Il file è ora possibile fare riferimento tramite i file di definizione del sito all'interno dell'applicazione.

Per fare in modo che la definizione di sito localizzata venga visualizzata come modello disponibile nella pagina Nuovo sito di SharePoint per la lingua desiderata, aggiungere un file WEBTEMP anche alla directory <LCID> appropriata. Per informazioni sull'aggiunta di un nuovo file WEBTEMP, fare riferimento alla sezione precedente "Creazione di una definizione di sito".

I riferimenti alle risorse localizzate un funzionamento diverso nei file con estensione aspx da quello di file XML. Ad esempio, i riferimenti di file con estensione aspx vengono valutati in fase di esecuzione, mentre riferimenti ai file XML vengono valutati quando si crea un'istanza il sito Web. Per accedere agli elementi XML nel file di risorse in un file di definizione del sito, viene utilizzata la sintassi seguente: $Resources: myCustomResource, DataName. Ad esempio, per utilizzare una stringa di risorsa da un file aspx, i commenti possono simile alla seguente: <div> <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" /> </div>

Torna all'inizio

Riepilogo

Windows SharePoint Services 3.0 e Office SharePoint Designer 2007 offrono congiuntamente i potenti strumenti necessari per creare e personalizzare applicazioni interattive che supportano i flussi di lavoro. Sia che si desideri personalizzare uno dei 40 modelli di applicazioni scaricabili o crearne uno, in questo articolo vengono descritte la tecnologia collaudata e le procedure consigliate che anche i non sviluppatori possono utilizzare con successo.

Se già non è stato fatto, nel passaggio successivo si potranno scaricare i modelli di applicazioni e iniziare a utilizzarli aprendoli in Office SharePoint Designer 2007. Utilizzare quindi le risorse nella seguente sezione "Risorse" per creare un'applicazione personalizzata.

Torna all'inizio

Risorse

Per ulteriori informazioni su Windows SharePoint Services 3.0 e Office SharePoint Designer 2007, fare riferimento alle seguenti risorse:

Per ulteriori risorse rivolte agli sviluppatori, visitare le seguenti pagine Web:

Torna all'inizio

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×