SharePoint Site Templates

%3CLINGO-SUB%20id%3D%22lingo-sub-2093214%22%20slang%3D%22en-US%22%3ESharePoint%20Site%20Templates%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2093214%22%20slang%3D%22en-US%22%3E%3CDIV%20class%3D%22n%20p%22%3E%3CDIV%20class%3D%22ab%20ac%20ae%20af%20ag%20ev%20ai%20aj%22%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3EIf%20you%20want%20to%20create%20a%20new%20SharePoint%20site%20using%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EClient%20Object%20Model%3C%2FSTRONG%3E%2C%20you%20can%20use%20the%20class%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWebCreationInformation%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eto%20specify%20the%20site%E2%80%99s%20properties%20and%20then%20create%20it%20by%20adding%20the%20site%20to%20the%20Webs.%3C%2FP%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3EHowever%2C%20it%20is%20required%20to%20pass%20a%20unique%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ETemplateType%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eas%20a%20parameter.%20This%20parameter%20is%20a%20string%20and%20must%20match%20with%20one%20of%20the%20names%20of%20the%20available%20templates.%3C%2FP%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3ETo%20get%20the%20list%20of%20all%20available%20templates%2C%20you%20can%20run%20the%20command%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EGet-SpoWebTemplate%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ein%20PowerShell.%20The%20table%20below%20gives%20an%20overview%20of%20all%20available%20templates.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%221558876504503.png%22%20style%3D%22width%3A%20432px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F249088i1A4F6FC7AECA1932%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%221558876504503.png%22%20alt%3D%221558876504503.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3EAs%20the%20libraries%20contained%20in%20the%20package%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EMicrosoft.SharePointOnline.CSOM%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edon%E2%80%99t%20provide%20any%20enumerator%20for%20the%20available%20templates.%20I%20have%20created%20the%20following%20snippet.%3C%2FP%3E%3CPRE%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20je%20jf%20s%20jg%22%3Eusing%20System.Runtime.Serialization%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20jh%20ji%20jj%20jk%20jl%20jf%20s%20jg%22%3Enamespace%20SharePoint.Models%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20%20%20%20public%20enum%20WebTemplate%3CBR%20%2F%3E%20%20%20%20%7B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22GLOBAL%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20GlobalTemplate%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22STS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20TeamSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22STS%231%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20BlankSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22STS%232%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20DocumentWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22MPS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20BasicMeetingWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22MPS%231%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20BlankMeetingWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22MPS%232%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20DecisionMeetingWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22MPS%233%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SocialMeetingWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22MPS%234%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20MultipageMeetingWorkspace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22CENTRALADMIN%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20CentralAdminSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22WIKI%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20WikiSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BLOG%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20Blog%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SGS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20GroupWorkSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22TENANTADMIN%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20TenantAdminSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20AccessServicesSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%231%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20AssetsWebDatabase%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%233%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20CharitableContributionsWebDatabase%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%234%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ContactsWebDatabase%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%236%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20IssuesWebDatabase%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ACCSRV%235%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ProjectsWebDatabase%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BDR%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20DocumentCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22EXPRESS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ExpressTeamSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22OFFILE%231%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20RecordsCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22EHS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ExpressHostedSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22OSRV%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SharedServicesAdministrationSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22PowerPointBroadcast%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PowerPointBroadcastSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22PPSMASite%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20BusinessIntelligenceCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SharePointPortalServerSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSPERS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SharePointPortalServerPersonalSpace%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSMSITE%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PersonalizationSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSTOC%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ContentsAreaTemplate%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSTOPIC%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20TopicAreatemplate%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSNEWS%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20NewsSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22CMSPUBLISHING%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PublishingSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BLANKINTERNET%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PublishingSiteBlank%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BLANKINTERNET%231%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PressReleasesSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BLANKINTERNET%232%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PublishingSiteWithWorkflow%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSNHOME%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20NewsHomeSite%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSSITES%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SiteDirectory%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSCOMMU%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20CommunityAreaTemplate%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSREPORTCENTER%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20ReportCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSPORTAL%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20CollaborationPortal%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SRCHCEN%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20EnterpriseSearchCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22PROFILES%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20Profiles%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22BLANKINTERNETCONTAINER%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20PublishingPortal%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SPSMSITEHOST%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20MySiteHost%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22ENTERWIKI%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20EnterpriseWiki%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SRCHCENTERLITE%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20BasicSearchCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22SRCHCENTERFAST%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20FastSearchCenter%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22TenantAdminSpo%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20SharePointOnlineTenantAdmin%2C%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%5BEnumMember(Value%20%3D%20%22visprus%230%22)%5D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20VisioProcessRepository%2C%3CBR%20%2F%3E%20%20%20%20%7D%3CBR%20%2F%3E%7D%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3ETo%20access%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EEnumMember%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eattribute%2C%20we%20have%20to%20use%20the%20following%20Enum%20extension%20method.%3C%2FP%3E%3CPRE%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20je%20jf%20s%20jg%22%3Eusing%20System%3B%3CBR%20%2F%3Eusing%20System.Linq%3B%3CBR%20%2F%3Eusing%20System.Runtime.Serialization%3B%3CBR%20%2F%3Eusing%20System.Reflection%3B%3CBR%20%2F%3Eusing%20System.ComponentModel%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20jh%20ji%20jj%20jk%20jl%20jf%20s%20jg%22%3Enamespace%20SharePoint.Extensions%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20%20%20%20public%20static%20class%20EnumExtensions%3CBR%20%2F%3E%20%20%20%20%7B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20public%20static%20string%20GetMemberAttributeValue(this%20Enum%20source)%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%7B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20Type%20enumType%20%3D%20source.GetType()%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20if%20(!enumType.IsEnum)%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%7B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20throw%20new%20ArgumentException(%22source%20must%20be%20an%20enumerated%20type%22)%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%7D%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20jh%20ji%20jj%20jk%20jl%20jf%20s%20jg%22%3E%20%20%20%20%20%20%20%20%20%20%20%20var%20memInfo%20%3D%20enumType.GetMember(source.ToString())%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20var%20attr%20%3D%20memInfo.FirstOrDefault()%3F.GetCustomAttributes(false).OfType%3CENUMMEMBERATTRIBUTE%3E().FirstOrDefault()%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20if%20(attr%20!%3D%20null)%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%7B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20attr.Value%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%7D%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20return%20null%3B%3CBR%20%2F%3E%20%20%20%20%20%20%20%20%7D%3CBR%20%2F%3E%20%20%20%20%7D%3CBR%20%2F%3E%7D%3C%2FENUMMEMBERATTRIBUTE%3E%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22ht%20hu%20fu%20hv%20b%20hw%20hx%20hy%20hz%20ia%20ib%20ic%20id%20ie%20if%20ig%20ih%20ii%20ij%20ik%20il%20im%20in%20io%20ip%20iq%20eq%20cr%22%3ENow%2C%20to%20create%20a%20new%20website%20on%20SharePoint%20would%20be%20enough%20using%20the%20following%20code%3A%3C%2FP%3E%3CPRE%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20je%20jf%20s%20jg%22%3EWebCreationInformation%20webCreationInfo%20%3D%20new%20WebCreationInformation%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20%20Title%20%3D%20%22Title%22%2C%3CBR%20%2F%3E%20%20Url%20%3D%20%22url%22%2C%3CBR%20%2F%3E%20%20WebTemplate%20%3D%20WebTemplate.ExpressTeamSite.GetMemberAttributeValue()%2C%3CBR%20%2F%3E%20%20Description%20%3D%20%22Description%22%2C%3CBR%20%2F%3E%20%20UseSamePermissionsAsParentSite%20%3D%20true%3CBR%20%2F%3E%7D%3B%3C%2FSPAN%3E%3CSPAN%20class%3D%22cr%20jb%20jc%20fu%20jd%20b%20co%20jh%20ji%20jj%20jk%20jl%20jf%20s%20jg%22%3Ectx.Site.RootWeb.Webs.Add(webCreationInfo)%3B%3CBR%20%2F%3Ectx.ExecuteQuery()%3B%3C%2FSPAN%3E%3C%2FPRE%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2093214%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EDeveloper%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%20Online%20Office%20365%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Occasional Contributor

If you want to create a new SharePoint site using the Client Object Model, you can use the class WebCreationInformation to specify the site’s properties and then create it by adding the site to the Webs.

However, it is required to pass a unique TemplateType as a parameter. This parameter is a string and must match with one of the names of the available templates.

To get the list of all available templates, you can run the command Get-SpoWebTemplate in PowerShell. The table below gives an overview of all available templates.

 

1558876504503.png

 

As the libraries contained in the package Microsoft.SharePointOnline.CSOM don’t provide any enumerator for the available templates. I have created the following snippet.

using System.Runtime.Serialization;
namespace SharePoint.Models
{
public enum WebTemplate
{
[EnumMember(Value = "GLOBAL#0")]
GlobalTemplate,
[EnumMember(Value = "STS#0")]
TeamSite,
[EnumMember(Value = "STS#1")]
BlankSite,
[EnumMember(Value = "STS#2")]
DocumentWorkspace,
[EnumMember(Value = "MPS#0")]
BasicMeetingWorkspace,
[EnumMember(Value = "MPS#1")]
BlankMeetingWorkspace,
[EnumMember(Value = "MPS#2")]
DecisionMeetingWorkspace,
[EnumMember(Value = "MPS#3")]
SocialMeetingWorkspace,
[EnumMember(Value = "MPS#4")]
MultipageMeetingWorkspace,
[EnumMember(Value = "CENTRALADMIN#0")]
CentralAdminSite,
[EnumMember(Value = "WIKI#0")]
WikiSite,
[EnumMember(Value = "BLOG#0")]
Blog,
[EnumMember(Value = "SGS#0")]
GroupWorkSite,
[EnumMember(Value = "TENANTADMIN#0")]
TenantAdminSite,
[EnumMember(Value = "ACCSRV#0")]
AccessServicesSite,
[EnumMember(Value = "ACCSRV#1")]
AssetsWebDatabase,
[EnumMember(Value = "ACCSRV#3")]
CharitableContributionsWebDatabase,
[EnumMember(Value = "ACCSRV#4")]
ContactsWebDatabase,
[EnumMember(Value = "ACCSRV#6")]
IssuesWebDatabase,
[EnumMember(Value = "ACCSRV#5")]
ProjectsWebDatabase,
[EnumMember(Value = "BDR#0")]
DocumentCenter,
[EnumMember(Value = "EXPRESS#0")]
ExpressTeamSite,
[EnumMember(Value = "OFFILE#1")]
RecordsCenter,
[EnumMember(Value = "EHS#0")]
ExpressHostedSite,
[EnumMember(Value = "OSRV#0")]
SharedServicesAdministrationSite,
[EnumMember(Value = "PowerPointBroadcast#0")]
PowerPointBroadcastSite,
[EnumMember(Value = "PPSMASite#0")]
BusinessIntelligenceCenter,
[EnumMember(Value = "SPS#0")]
SharePointPortalServerSite,
[EnumMember(Value = "SPSPERS#0")]
SharePointPortalServerPersonalSpace,
[EnumMember(Value = "SPSMSITE#0")]
PersonalizationSite,
[EnumMember(Value = "SPSTOC#0")]
ContentsAreaTemplate,
[EnumMember(Value = "SPSTOPIC#0")]
TopicAreatemplate,
[EnumMember(Value = "SPSNEWS#0")]
NewsSite,
[EnumMember(Value = "CMSPUBLISHING#0")]
PublishingSite,
[EnumMember(Value = "BLANKINTERNET#0")]
PublishingSiteBlank,
[EnumMember(Value = "BLANKINTERNET#1")]
PressReleasesSite,
[EnumMember(Value = "BLANKINTERNET#2")]
PublishingSiteWithWorkflow,
[EnumMember(Value = "SPSNHOME#0")]
NewsHomeSite,
[EnumMember(Value = "SPSSITES#0")]
SiteDirectory,
[EnumMember(Value = "SPSCOMMU#0")]
CommunityAreaTemplate,
[EnumMember(Value = "SPSREPORTCENTER#0")]
ReportCenter,
[EnumMember(Value = "SPSPORTAL#0")]
CollaborationPortal,
[EnumMember(Value = "SRCHCEN#0")]
EnterpriseSearchCenter,
[EnumMember(Value = "PROFILES#0")]
Profiles,
[EnumMember(Value = "BLANKINTERNETCONTAINER#0")]
PublishingPortal,
[EnumMember(Value = "SPSMSITEHOST#0")]
MySiteHost,
[EnumMember(Value = "ENTERWIKI#0")]
EnterpriseWiki,
[EnumMember(Value = "SRCHCENTERLITE#0")]
BasicSearchCenter,
[EnumMember(Value = "SRCHCENTERFAST#0")]
FastSearchCenter,
[EnumMember(Value = "TenantAdminSpo#0")]
SharePointOnlineTenantAdmin,
[EnumMember(Value = "visprus#0")]
VisioProcessRepository,
}
}

To access the EnumMember attribute, we have to use the following Enum extension method.

using System;
using System.Linq;
using System.Runtime.Serialization;
using System.Reflection;
using System.ComponentModel;
namespace SharePoint.Extensions
{
public static class EnumExtensions
{
public static string GetMemberAttributeValue(this Enum source)
{
Type enumType = source.GetType();
if (!enumType.IsEnum)
{
throw new ArgumentException("source must be an enumerated type");
}
var memInfo = enumType.GetMember(source.ToString());
var attr = memInfo.FirstOrDefault()?.GetCustomAttributes(false).OfType<EnumMemberAttribute>().FirstOrDefault();
if (attr != null)
{
return attr.Value;
}
return null;
}
}
}

Now, to create a new website on SharePoint would be enough using the following code:

WebCreationInformation webCreationInfo = new WebCreationInformation
{
Title = "Title",
Url = "url",
WebTemplate = WebTemplate.ExpressTeamSite.GetMemberAttributeValue(),
Description = "Description",
UseSamePermissionsAsParentSite = true
};
ctx.Site.RootWeb.Webs.Add(webCreationInfo);
ctx.ExecuteQuery();
0 Replies