Search code examples
sharepointsharepoint-clientobject

Change the "Make "New Folder" command available?" option with Sharepoint Client Object Model


I got a lot of sites with document libraries where the "Make "New Folder" command available" option is set to "no". I would like to walk through these document libraries and change this to "yes". How can I achieve this? After doing some search, I found that a lot of things can be done with the files in a document library, but did not find any example that shows how to change settings (advanced settings) of the library itself.

Thank you, vm


Solution

  • Since you are looking for solution that utilizes CSOM API, the below example demonstrates how enable folders for document libraries:

    using (var ctx = new ClientContext(webUri))
    { 
        var result = ctx.LoadQuery(ctx.Web.Lists.Where(l => l.BaseType == BaseType.DocumentLibrary && !l.Hidden));
        ctx.ExecuteQuery();
        foreach (var list in result)
        {
            list.EnableFolderCreation = true;
            list.Update();
        }
        ctx.ExecuteQuery(); 
    }
    

    VB.Net version

    Using context As Microsoft.SharePoint.Client.ClientContext = New Microsoft.SharePoint.Client.ClientContext(webUri)
            Dim qry = From l In context.Web.Lists
                Where (CInt(l.BaseType) = 1) AndAlso Not l.Hidden
                Select l
            Dim result As IEnumerable(Of Microsoft.SharePoint.Client.List) = context.LoadQuery(qry)
            context.ExecuteQuery()
            Dim list As Microsoft.SharePoint.Client.List
            For Each list In result
                list.EnableFolderCreation = True
                list.Update()
            Next
            context.ExecuteQuery()
    
        End Using