[SharePoint 2010] Création d’une bibliothèque de type document

 

J’ai mis pas mal de temps à trouver la bonne solution pour créer une bibliothèque de type document, donc je vais vous l’expliquer ici.

Dans un de mes posts précédent, je vous avais mis une fonction permettant de créer une bibliothèque si elle n’existe pas :

        if (!parentFolder.Exists)
        {
            SPFolder currentFolder = parentSite.RootFolder;

            foreach (string folder in parentFolderUrl.Split('/'))
            {
                currentFolder = currentFolder.SubFolders.Add(folder);
            }
        }

Cependant, vous l’avez peut être remarqué, elle n’apparait pas sur le menu de gauche dans “Documents”, ni dans la liste des librairies de documents, c’est normal, nous ne lui avons pas affecté de contentType (type de contenu).

On pense tout de suite à faire ce genre de choses :

  • SPFolder.Properties[“ContentTypeId”].
  • ou encore SPFolder.Items.Properties[“ContentTypeId”].

Mais ça ne fonctionne pas comme il faut.

J’ai essayé pas mal de propriétés avant de trouver la solution.

Il faut savoir qu’un SPFolder reste une liste à laquelle on affecte un type document, et pour les SPList, nous avons une propriété qui s’apelle : SPListTemplateType.DocumentLibrary.

Vous n’avez pas encore trouvé comment faire ?

Alors voici le code :

private void AddDocumentLibrary(SPWeb web, string libName)
{
    Guid customListGuid = web.Lists.Add(libName, libName, SPListTemplateType.DocumentLibrary);
    web.Update();
    SPList custList = web.Lists[customListGuid];
    custList.OnQuickLaunch = true;
    custList.Update();
    custList.EnableVersioning = true;
    custList.EnableMinorVersions = true;
    custList.Update();
}

Il suffisait de définir une liste avec ce template et de lui affecter quelques propriétés,  “OnQuickLaunch” : pour voir la liste sur le menu de gauche, “EnableVersioning” pour comme son nom l’indique, autoriser ou non le versioning des documents ou encore “EnableMinorVersions” pour les versions mineures. Ne pas oublier les “Update() sinon ça ne risque pas de marcher.

Vous pouvez retrouver la liste complète des propriétés possible ici.

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :