2. Cos’è e a cosa serve Il WSS solution framework fornisce una metodologia e degli strumenti per estendere WSS raggruppando tutto quanto è necessario in un unico file chiamato solution file. Un solution file è un file CAB con estensione .WSP. Il file è deployable e riusabile, può contenere un set di elementi attivabili e disattivabili individualmente (Feature) ed è l’unico modo per eseguire automaticamente il deployment di funzionalità su una SharePoint server farm. In una multiple server farm, il solution framework gestisce automaticamente l’istallazione su tutti i server. Una volta creato dallo sviluppatore può essere consegnato ad un server administratore distribuito ed istallato su diversi server.
3. A cosa serve Con una Solution si può: Istallare Features Istallare assemblies nella GAC Istallare assemblies nella directory BIN di una web application Aggiungere assembly descriptions alla sezione safecontrols del web.config. Settare delle Code Access Security configurations. Istallare file nelle directory di SharePoint (C:rogramFilesommonFilesicrosoftSharedeb server extensions2 detto anche 12 hive. Istallare una site definition.
4. A cosa serve Una Featureincapsula una funzionalità per estendere il coreproductdi SharePoint. E’ un insieme di file XML che descrivono elementi di WSS attivabili in scope specifici. Un feature manifest file checontiene le info generichesulcontenutodella feature e deglielement manifest file checontengono le informazioni circa glispecificielementiche la compongono. Con una Feature si può: Aggiungere una site column Aggiungere un contenttype Aggiungere una list template e creare una list instance Aggiungere custom actions ai menu di SharePoint Istallare web parts, master pages, layout pages, immagini e altri contenuti Ecc
5. Cosa contiene, com’è fatta Figure 15. Anatomy of a SharePoint solution Una Solution package contiene: Assemblies .NET contenenti la logica degli elementi inclusi nella soluzione. File da deployare come immagini, file per il multilingua, css, jse altro. File xml per il delivery di template e la definizione di siti, liste, document library, fields, contenttypes, e altro. File di configurazione per il settaggio dei front-end Web server in cui si fa il deploy. Manifest file per guidare il processo di deploy, elencando tutti gli asset contenuti nella solution (riferimenti a file), le loro target locations e configurazioni varie.
6. Come crearlo Organizzaregerarchicamenteivari files in cartelle dedicate. Creareil manifest file nel root folder. Creareun ddf file nel root folder. Il file DDF dichiaraquali file inserirenel cabinet. Vieneusatodamakecab.exe per creareil file CAB. Molti productivity tool possono generare i file manifest, ddf e wsp automaticamente.
7. Ciclo di vita delle Solution WSP Aggiunta a Solution Store Deployment Attivazione/disattivazione Features Aggiornamento Utilizzo Ritiro Cancellazione
8. Aggiuntadiuna Solution Significaaggiungere la solution al Solution Store (nelconfiguration database di WSS), ma senzaeffettuareil deploy dellecomponenti sui server. E’ possibilevisualizzareil Solution Store tramiteilsito Central Administration di SharePoint. Bisognacopiareil file .wspsul server cheospitaunaCentral Administration edeseguireilcomando: stsadm -o addsolution -filename MySolution.wsp stsadm.exe si trova in C:rogram FilesommonFilesicrosoftSharedeb server extensions2inbr />
9. Deploy di una Solution Il processodi deployment comprende le operazionidi: copiadi file nelle directory diWSS istallazionedi Feature aggiuntadi DLL alla GAC Si può fare dalla CentralAdministration oppure tramite il comando stsadm.exe: stsadm -o deploysolution-nameMySolution.wsp prevede diversi parametri per configurare il tipo di deploy che si intende fare (es single server farm o multiple server farm, copia di dll nella GAC o nella Bin, uso della schedulazione, ecc) Crea un timer job che effettua il deploy in tutti i front-end Web server della farm, e in tutte le web application in SharePoint. Puòessereancheschedulato, utile per ambientidiproduzione.
10. Aggiornamento di una Solution L’aggiornamentopermettediaggiornare le variecomponentidiuna solution senzadoverdeattivare le sue Feature. Puòesserefatta solo tramitestsadm, usandoilcomando: stsadm -o upgradesolution -name <Solution Name> -filename <New Solution File> -immediate prevedealtriparametri
11. Ritiro di una Solution Il ritiro (Retraction) è l’operazioneopposta a quelladi deploy. Serve a rimuoveretutte le componentiistallatedalla solution duranteil deploy dalle web application. Si faeccezione per le componentichesono in uso come site columns, site content types o liste. Non rimuove la solution dal Solution Store. Si può fare dalsitodella Central Administration o tramite: stsadm -o retractsolution-nameMySolution.wsp come per il deploy prevede diversi altri parametri
12. Cancellazione di una Solution La cancellazioneelimina la solution dal Solution Store. Si può fare da Central Administration o tramiteilcomando: stsadm -o deletesolution -name MySolution.wsp Non puòesserefatta se è ancoradeployatasuqualche web application.
13. Istallazionediuna Feature Le Featurepossonoessereistallateanchemanualmente (al difuoridiuna solution), ma la replica sututtii server non saràautomatica. Bisognacreareuna directory colnomedellaFeature in C:rogram Filesommon Filesicrosoft Sharedeb server extensions2EMPLATEEATURES e copiarviil file feature.xml e glialtri file necessari (es element manifests ). In seguitoeseguireilcomando: stsadm -o installfeature -name <Feature folder name> Per la disistallazioneeseguireilcomando: stsadm -o uninstallfeature -name <Feature folder name>
14. Attivazione di una Feature Da all’amministratore la capacità di attivare e disattivare, su richiesta, specifici set di funzionalità. Si può attivare tramite l’interfaccia di SharePoint oppure sempre tramite stsadm: stsadm -o activatefeature-name <Feature folder name> -url http://MyServer/MyWebSite dove http://MyServer/MyWebSite è l’URL del web site in cui attivare la Feature. Il comando per disattivare è: stsadm -o deactivatefeature-name <Feature folder name> -url http://MyServer/MyWebSite
15. Attivazione di una Feature Ogni feature ha uno scope di destinazione, questo vuol dire che se ad esempio lo scope fosse un sito web, l’amministratore potrebbe aggiungere una funzionalità ad un sito e lasciarla disattivata su un altro. Uno Scope definiscequindiilcontesto in cui una feature puòessereattivata/disattivataedentro cui le sue componentisonodeployabili e visibili. Non tutte le componentidiuna feature comunquepossonoessereistallate in tuttiicontesti. Es. Un content type puòavere come scope solo una site collection non puòesserelimitato ad un sito web oppure un List Template puòaverevisibilità solo all’internodi un web site. Gli scope possibilisonoquattro: Farm – Attivabile o disattivabileda Central Administration, Operations section, e Manage Farm FeaturesnelgruppoGlobal Configuration. Web Application – Attivabile o disattivabileda Central Administration, Application Management section, e Manage Web Application FeaturesnelgruppoSharePoint Web Application Management. Site Collection – Attivabile o disattivabiledai settings del root web site, in Site Collection FeaturesnelgruppoSite Collection Administration. Web Site – Attivabile o disattivabiledai settings di un web site, in Site FeaturesnelgruppoSite Administration.
16. Featurereceiver L’attivazionediuna feature effettuail provisioning nello scope diattivazionedituttiglielementidefiniti in manieradichiarativatramitei file elements.xml. Per questaoperazionesifausoditutti I file e risorsecontenutinella Feature chesonostaticopiati e dispostinelleposizionidicompetenzadurantel’istallazione. All’attodell’attivazione (cosi come anchedurantel’istallazione, la disistallazione e la disattivazione) WSS fascattare un eventochepuòesseregestitodaunaclassechiamatafeature receiver chesitrovanella GAC. La classefeature receiver vieneinserita in una DLL quandosicrea la feature e vienecopiatanella GAC durantel’istallazione. Nel file feature.xml sipuòindicaretramitegliattributiReceiverAssembly e ReceiverClass. Negli handler dellaclassesipuòinteragire con l’object model di SharePoint edeffettuarequalsiasioperazione, necessaria al funzionamentodella Feature. In particolarmodo (ma non solo) tutte le operazioniche non possonoesseresvoltetramite la logicadichiarativadei file element.xml (come l’aggiuntadi un campo di lookup ad unalista, la cancellazionedielementi, l’aggiuntadielementi al web.config, ecc).