SharePoint 2007 : Création d'environnement SharePoint automatisée

Après en avoir fini avec toute la plomberie nécessaire au fonctionnement de l'application Quizz dans le dernier post, je vais enfin pouvoir vous parler du développement de l'application en elle-même.

Mais avant, ça je vous voulais faire un petit post pour vous présenter comment je déploie simplement l'application sur mon environnement de développement.

La plupart d'entre vous sont déjà en train de se dire que je vais vous parler de WSPBuilder ou de ce genre d'outil mais il n'en est rien.

Quand je vous parle de déploiement de l'application, je parle effectivement du déploiement de la solution mais plus encore :

  1. Upload de la Solution
  2. Création de la WebApplication
  3. Déploiement de la Solution
  4. Création de la SiteCollection
  5. Activation des Features
  6. Création de la liste Quizz Catégories
  7. Ajout de catégories dans la liste Quizz Catégories
  8. Création d'une liste Quizz Animaux basé sur notre ListDefinition
  9. Ajout de Questions à la liste Quizz Animaux.

L'idée étant d'obtenir un environnement complet en y passant le moins de temps possible.

Pour ceux qui surveillent la blogosphère SharePoint, vous devez savoir qu'il existe quelques outils qui me permettraient de réaliser certaines de ces opérations (mais pas toutes) :

Malheureusement Adrien et moi même souhaitions un outil qui puisse être simplement intégré à un Server de Build et à une intégration continue dans le cadre d'un projet SharePoint. Ce qui impliquait non seulement la création d'un environnement complet mais aussi son nettoyage. Du coup, nous l'avons développé nous-même :)

Au final, sans rentrer dans les détails, l'outil se base sur le modèle objet SharePoint et un fichier XML pour recréer tout l'environnement. L'outil se présente sous la forme d'une partie client et une partie serveur qui communiqueront ensemble via WCF. Le serveur en lui-même est un service Windows qui est installé sur la machine qui host SharePoint.

Concernant le projet Quizz dont je parle depuis quelques posts, le fichier XML de déploiement ressemble à ceci :

   1:  <?xml version="1.0" encoding="utf-8" ?>
   2:  <Farm xmlns="http://***/SharePointDataPopulate">
   3:    <Solutions>
   4:      <Solution Name="Demo.SharePoint.Quizz.wsp"
   5:                Path="C:\Users\Administrator\Documents\Visual Studio 2008\Projects\
   6:                Demo.SharePoint.Quizz\Quizz.Solution\Demo.SharePoint.Quizz.wsp"
   7:                IgnoreIfExists="true" />
   8:    </Solutions>
   9:    <WebApps>
  10:      <WebApp Port="80"
  11:              SQLPassword="Password0"
  12:              SQLUserName="SVC-SPCONF"
  13:              APidType="SpecificUser"
  14:              APidLogin="ORIJIN-HV\SVC-SPCONP"
  15:              APidPwd="Password0">
  16:        <Solutions>
  17:          <Solution Name="Demo.SharePoint.Quizz.wsp"
  18:                    Force="true"/>
  19:        </Solutions>
  20:        <Sites>
  21:          <Site Url="/"
  22:                Title="Intranet"
  23:                Description="Description Intranet"
  24:                LCID="1036"
  25:                WebTemplate="STS#1"
  26:                OwnerEmail="administrator@orijin.local"
  27:                OwnerLogin="ORIJIN-HV\Administrator"
  28:                OwnerName="Philippe Sentenac">
  29:            <Features>
  30:              <!--Quizz Features-->
  31:              <Feature Id="{321BBA1F-47A9-4B0F-BB17-3A34CFD58CCE}"
  32:                       IgnoreIfExists="true"/>
  33:             </Features>
  34:            <Web Description="NotUsed"
  35:                 Title="NotUsed"
  36:                 LCID="1033"
  37:                 UniquePermissions="false"
  38:                 Url="NotUsed"
  39:                 WebTemplate="NotUsed">
  40:              <Lists>
  41:                <List Title="Quizz Catégories"
  42:                      ListTemplate="Generic"
  43:                      Description="">
  44:                  <ListItems>
  45:                    <ListItem Title="Carnivore" />
  46:                    <ListItem Title="Herbivore" />
  47:                    <ListItem Title="Reptile" />
  48:                  </ListItems>
  49:                </List>
  50:   
  51:                <List Title="Quizz Animaux"
  52:                      ListTemplate="10042"
  53:                      Description=""
  54:                      FeatureId="{65E774A0-0B40-4341-B694-429B61A6EE15}"
  55:                      QuickLaunch="true"
  56:                      Url="Lists/QuizzAnimals">
  57:                  <ListItems>
  58:                    <ListItem Title="">
  59:                      <FieldsValues>
  60:                        <FieldValue FieldName="QuizzQuestion"><![CDATA[Dans quel pays, 
  61:                        le chat domestique était vénéré à l'époque des pharaons ?]]></FieldValue>
  62:                        <FieldValue FieldName="QuizzChoices"><![CDATA[Egypte;Tunisie;Espagne]]></FieldValue>
  63:                        <FieldValue FieldName="QuizzAnswers"><![CDATA[0]]></FieldValue>
  64:                        <FieldValue FieldName="QuizzCategory"><![CDATA[1;#Carnivore]]></FieldValue>
  65:                      </FieldsValues>
  66:                    </ListItem>
  67:                    <ListItem Title="">
  68:                      <FieldsValues>
  69:                        <FieldValue FieldName="QuizzQuestion"><![CDATA[quelle est le reptile le plus grand ?]]></FieldValue>
  70:                        <FieldValue FieldName="QuizzChoices"><![CDATA[le cochon d'inde;l'autruche;le crocodile]]></FieldValue>
  71:                        <FieldValue FieldName="QuizzAnswers"><![CDATA[2]]></FieldValue>
  72:                        <FieldValue FieldName="QuizzCategory"><![CDATA[3;#Reptile]]></FieldValue>
  73:                      </FieldsValues>
  74:                    </ListItem>
  75:                  </ListItems>
  76:                </List>
  77:              </Lists>
  78:            </Web>
  79:          </Site>
  80:        </Sites>
  81:      </WebApp>
  82:    </WebApps>
  83:  </Farm>

L'avantage de cet outil est qu'il cumule à la fois la création d'un environnement (qui aurait pu être scripté via PowerShell ou STSADM) et l'ajout de contenu SharePoint (GED, WCM, Contenu personnalisé).

De plus dans le cadre de la série de post liée au Quizz, il me permet de vous décrire simplement le contenu (grâce au fichier XML) sur lequel je vais m'appuyer dans la suite des développements

Ainsi après lancement, voilà ce que l'on obtient :

  • Une WebApp créée sur le port 80 avec une SiteCollection sur "/" nommée Intranet

    image 

  • La feature Quizz déjà activée

    image

  • Une liste catégorie créée et pré-remplie

    image

  • Une liste Quizz Animaux créée en utlisant la définition adéquate et pré-remplie

      image 

Le tout en 2-3 minutes, juste le temps qu'il faut pour se préparer un bon café :).

Voilà, je ne vais pas m'attarder sur cet outil, j'en parlerais plus à l'occasion de la session que je co-presente avec Adrien au Techdays, je voulais simplement vous montrer comment je crée mon environnement SharePoint pour chacun des projets sur lequel je travaille.

Dans le prochain post, on abordera toute les écrans nécessaire au bon fonctionnement de l'application Quizz.

<Philippe/>

Publié mercredi 21 janvier 2009 17:20 par phil
Classé sous , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

# re: SharePoint 2007 : Création d'environnement SharePoint automatisée @ mercredi 8 avril 2009 09:33

Salut,

Dis moi, as-tu mis à disposition ton tools ?

crazyht

About phil

Philippe Sentenac est Consultant SharePoint à Wygwam en région Parisienne. Il intervient essentiellement sur des missions liées à SharePoint (2007 et 2010 ) mais aussi autour du Web 2.0. Plus généralement, il s'intéresse à l'ASP.Net (MVC) , à Silverlight, et à tout ce qui est orienté Web en rapport avec les nouvelles technologies, qu'il pratique depuis 2006. Féru de développement, il est passionné par les problématiques de méthodologies et d'industrialisation du développement.

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01