Category Archives: Sviluppo

SharePoint, sviluppo

Visualizzare oggetti Visio nelle pagine di SharePoint

Quando si installa Visio 2003, viene anche reso disponibile un controllo ActiveX per visualizzare attraverso Internet Explorer i diagrammi realizzati con Visio.


Chi non ha installato Visio 2003, ma prova ad accedere alla pagina contenente il disegno Visio… ovviamente rischia di non visualizzare nulla di buono.


Dal sito Microsoft è però possibile scaricare il controllo, e riuscire quindi a visualizzare gli oggetti Visio 2003 anche su computer privi di questo programma.


Per inserire un elemento Visio 2003 in una pagina di SharePoint, puoi innanzitutto uploadare il file .vsd in una Raccolta Documenti, quindi puoi inserire nella pagina desiderata una WebPart di tipo Editor Contenuto.
Nelle proprietà della WebPart, utilizzando l’editor HTML incorporato, incolla il seguente codice:


<OBJECT classid=”CLSID:279D6C9A-652E-4833-BEFC-312CA8887857″
codebase=”http://download.microsoft.com/download/4/5/2/452f8090-413f-408f-83c0-edd66db786ee/vviewer.exe”
id=”viewer1″ width=”100%” height=”100″>
<param name=”BackColor” value=”16777120″>
<param name=”AlertsEnabled” value=”1″>
<param name=”ContextMenuEnabled” value=”1″>
<param name=”GridVisible” value=”0″>
<param name=”HighQualityRender” value=”1″>
<param name=”PageColor” value=”16777215″>
<param name=”PageVisible” value=”1″>
<param name=”PropertyDialogEnabled” value=”1″>
<param name=”ScrollbarsVisible” value=”1″>
<param name=”ToolbarVisible” value=”1″>
<param name=”SRC” value=”http://www.mioserver.com/Shared%20Documents/MioDisegnoVisio.vsd”>
<param name=”CurrentPageIndex” value=”0″>
<param name=”Zoom” value=”-1″>
</object>


Puoi anche provare a giocare con le WebPart connesse, leggendo come su questo articolo MSDN.

WSS SP2 alla prova con Windows Server 2003 R2 Beta

Per chi si volesse cimentare nel test del Service Pack 2 di WSS, suggerisco di dare un’occhiata alla pagina
http://www.microsoft.com/windowsserver2003/R2/trial/default.mspx


Qui è infatti possibile richiedere (gratuitamente) l’invio del CD-ROM della versione Beta di Windows Server 2003 R2, che include anche WSS SP2.
Oltre allla richiesta della spedizione del CD è anche possibile scaricare l’immagine ISO, per chi non ha problemi a fare un download da 93 MB.


Il nuovo SP introduce un sacco di interessanti novità, così come ho scritto qualche tempo fa. Proprio perché le novità sono parecchie, interessanti e non di poco impatto… suggerisco vivamente di dare un’attenta occhiata alle istruzioni e alla Reviewers Guide.


Credo che in questo weekend mi ci dedicherò un po’… considerato che nei giorni passati sono stato bloccato da alcuni progetti, e forse ora avrò un po’ di tempo per lo studio.

Da WordML a PDF

Segnalo un prodotto, a chi avesse la necessità di trasformare documenti WordML in PDF.


Si tratta di Altsoft Xml2PDF, un prodotto scaricabile anche in valutazione che espone un’interfaccia .NET API e permette la creazione dei documenti server-side.


Questa la breve descrizione raccolta dal sito del produttore:
Altsoft Xml2PDF is a .NET based formatting engine for converting XSL-FO, SVG and XHTML files to PDF. It takes XSL-FO, SVG, XHTML or XML+XSLT files as an input and supports compression, font embedding/subsetting, security, interactivity and many other features in PDF generation.


I prezzi variano dai 49 ai 1.599 USD, a seconda della versione.

Lavorare con le Site Definitions di SharePoint

Anche oggi, da un cliente, in occasione di un progetto che prevede la personalizzazione di WSS (Windows SharePoint Services), mi sono imbattuto con le Site Definitions


In parole povere, si tratta di un sacco di file e cartelle che danno vita e trasferiscono specifiche impostazioni agli Elenchi e Raccolte di WSS.


Il tutto è solitamente collocato in:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033
se si tratta della versione inglese di WSS/SPS o
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1040
se si tratta di quella italiana.


Per ogni modello di Elenco o Raccolta c’è una specifica cartella sul file system del server, dentro alla quale sono collocate le pagine .aspx che rappresentano la gestione dei contenuti degli Elenchi e Raccolte create sulla base del relativo template. Oltre a questi file sono poi presenti alcuni file .xml di configurazione, per definire i campi presenti nei diversi form e le impostazioni generali delle liste.
Modificando ad esempio i file contenuti  nella cartella LISTS\EVENTS si andranno a modificare i comportamenti di tutte le liste Eventi (o Calendario) create in tutti i siti su WSS.


Per rimanere nell’esempio, una caratteristica poco gradita del modello Events è il fatto che all’aggiunta di un nuovo appuntamento è richiesto obbligatoriamente di specificare data/ora di inizio dell’appuntamento ma non la fine dello stesso… chi quindi utilizza questo oggetto per gestire la prenotazione di sale riunioni aziendali o altro all’interno della intranet, si trova con molti utenti che prenotano le sale indicando l’inizio della prenotazione… ma non la fine!


Una possibile soluzione è quella di lavorare sulla Site Definition di Events, indicando come required anche la compilazione del campo fine.


Le linee guida per lo sviluppo e il buon senso suggeriscono di evitare la modifica diretta di questi file, e di crearsi invece delle proprie Site Definitions personalizzate. Non è infatti sempre corretto intervenire con delle modifiche che si estenderanno su tutti i siti aziendali… ed inoltre, cosa accadrà di fronte all’installazione di un nuovo Service Pack? Che magari… guarda caso… decide proprio di aggiornare le Site Definitions standard?
Creandosene di proprie si potranno legare specifici comportamenti a particolari template personalizzati, da sfruttare soltanto nei siti dove effettivamente occorrono; ed infine non si correranno rischi di fronte ad un incontrollato Windows Update! 🙂


Per chi desidera approfondire, segnalo un post letto su di un blog che riassume (purtroppo solo parzialmente) la logica delle Site Definitions. Oltre a questo utile prospetto, segnalo da non perdere due articoli pubblicati su MSDN Online. Il primo è sui modelli, sui diversi tipi di file delle Site Definitions; il secondo approfondisce alcuni aspetti trattati nel primo articolo orientando alla corretta personalizzazione dei siti WSS ed SPS.

Scrivere WebParts riusabili

Mi è capitato di vedere un buon articolo su MSDN Online che suggerisce una serie di linee guida per sviluppare WebParts effettivamente riusabili.


Seguendo i suggerimenti si dovrebbero evitare (o limitare) le sorprese in occasione dell’installazione di qualche Service Pack o pensando alla futura versione di SharePoint (e relativa migrazione dei siti).


Magari può essere utile a qualcuno, pertanto lo segnalo. 🙂

Archiviazione ottica con SharePoint

Ormai si parla da tempo di ridurre la carta, introducendo in azienda soluzioni di archiviazione ottica in grado di digitalizzare anche i documenti cartacei, al fine della loro archiviazione digitale. In parte, soprattutto per la Pubblica Amministrazione, le direttive che spingono in questa direzione sono chiare ed esplicite.


SharePoint, con le sue Document Library, può senza dubbio candidarsi come possibile soluzione a basso costo (parlo anche dei semplici WSS) per costruire una soluzione di questo genere. E soluzione basso costo non significa certo soluzione limitata


Le ragioni per cui dico questo sono diverse:



  • SharePoint offre un supporto per l’archiviazione dei file in grado di offrire -a costo zero- funzionalità di versioning, approvazione, check-in/check-out e integrazione Office.
  • Il solido storage, basato su SQL Server, offre garanzie di scalabilità e affidabilità (quelle di SQL Server).
  • L’ambiente SharePoint, grazie alle Web Parts, offre uno spazio web-based, facilmente personalizzabile e rapidamente implementabile, dove esporre i contenuti informativi.
  • Le Raccolte documenti offrono una struttura dati (campi) velocemente espandibile, con la possibilità di arricchire il tutto con metadati finalizzati alla ricerca o alla categorizzazione dei documenti.
  • Le visualizzazioni delle Raccolte documenti offrono spazio alla rapida personalizzazione dei layout, fornendo risposte a chi necessita di filtrare, riordinare o raggruppare i contenuti delle Raccolte documenti.
  • I contenuti archiviati (documenti) sono ricercabili, sia nella versione SharePoint Portal Server (SPS) che in Windows SharePoint Services (WSS); nel primo caso grazie agli specifici e potenti servizi di indicizzazione e ricerca, nel secondo caso grazie alle funzionalità full-text serach di SQL Server.
  • I contenuti sono raggiungibili via browser ma anche via HTTP Webdav, offrendo spazi di integrazione anche con applicazioni non recentissime o comunque nate per l’integrazione con SharePoint (come Office 2003 o FrontPage 2003 e le sue FP2003 RPC).

Chi oggi si occupa di archiviazione ottica tende ad archiviare i documenti digitalizzati in formato Adobe PDF o TIFF.
In entrambi i casi SharePoint può indicizzare e rendere ricercabili i contenuti di questi file.


L’architeturra di ricerca di SharePoint infatti si basa sul sistema degli IFilters, così come ci ha abituati in generale il mondo dei servizi MS Search.


Per abilitare SharePoint all’indicizzazione dei file Adobe PDF è sufficiente installare l’IFilter per i PDF. Recentemente è stato rilasciata la versione 6 dell’IFilter di Adobe, versione compatibile con le attuali versioni di SharePoint (mentre in precedenza la versione 5 richiedeva una serie di operazioni manuali post-setup).


Mentre per abilitare l’indicizzazione dei documenti TIFF (disabilitata di default) è necessario modificare opportunamente una chiave di registro. SharePoint sfrutterà così un potente OCR in grado di eseguire il riconoscimento dei caratteri, rendendo ricercabili full-text anche le immagini TIFF (il sistema è anche in grado di riconoscere l’orientamento dell’immagine, ed eventualmente di ruotare il TIFF al fine di una sua corretta lettura).
Per abilitare l’indicizzazione/ricerca dei file .TIFF:



  • Aprire il Registro attraverso Regedit
  • Ricercare la chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MSPaper
  • Inserire una nuova voce di tipo DWORD Value
  • Chiamare la nuova voce PerformOCR
  • Per abilitare il riconoscimento dei caratteri attribuire il valore 1 alla chiave (il valore 0 disabilita le funzionalità OCR).
  • Accedere ai Servizi della macchina e riavviare il servizio Microsoft Search.

In aternativa a tutte queste operazioni, se disponi del CD di SharePoint Portal Server 2003, puoi semplicemente fare un doppio clic sul file Tiff_ocr_on.reg contenuto nella cartella \Support\Tools (se ti fidi…).


Per maggiori dettagli leggi l’articolo della KB.

CAML Query Builder

Ho scovato un comodo tool per generare query in linguaggio CAML (Collaborative Application Markup Language).


Attraverso CAML normalmente si creano query XML per interrogare ed elaborare dati presenti all’interno di siti WSS (Windows SharePoint Services).


Per saperne di più, visita il blog di Patrick.

Corso SharePoint 2003 Development: ancora alcuni posti liberi

Ciao a tutti,
riprendo mano al mio blog (anche perchè finalmente mi sono ricordato la password) 🙂 per ricordare a tutti che insieme a Paolo stiamo organzzando un corso intensivo (3 gg.) sullo sviluppo basato su SharePoint 2003.
In questi giorni stiamo mettendo a punto le ultime cose (slides, labs, ecc.) e vi garantisco (anche se forse non dovrei dirlo io) che sta venendo fuori un bel lavoro!
Sarà un corso con doppio teacher, indirizzato agli sviluppatori e senza troppa “fuffa” marketing, ma bello denso di contenuti e di esperienza maturata sul campo.

Ci sono ancora alcuni posti disponibili, quindi affrettatevi!

Ri-posto il link dell’iniziativa, per chi se la fosse persa:
http://www.devleap.com/SchedaCorso.aspx?IdCorso=SHAREPOINT


Ciao
Igor