Skip to content

Site Collections and Sub-Sites — User Guide

Audience: Site administrators who need to create, configure, and manage site collections and sub-sites in Cesivi.


Overview

Cesivi's site hierarchy mirrors SharePoint On-Prem's classic container model:

WebApplication (e.g. "Default")
└── SiteCollection (e.g. "RootSite")
    └── RootWeb  (root site, at /)
        ├── Sub-web A  (at /subwebA)
        │   └── Sub-web A1  (at /subwebA/a1, depth 2)
        │       └── Sub-web A1a  (at /subwebA/a1/a1a, depth 3)
        └── Sub-web B  (at /subwebB)

All storage keys use the full path prefix webApp||siteCollection||RootWeb||<seg1>||<seg2>||…, ensuring sub-webs at any depth are properly isolated from each other and from the root web.


Site Collections

Listing Site Collections (Admin UI)

Navigate to: Cesivi Administration → Application Management → Manage Site Collections (/_admin/sitecollections.aspx)

The table shows all site collections in the current web application with their Title, URL, Owner, storage used, and status.

Creating a Site Collection

  1. Go to /_admin/sitecollections.aspx and click Create Site Collection.
  2. Fill in:
  3. Title — display name shown throughout the site
  4. URL — the URL segment after the web application base URL
  5. Owner — login name of the primary site collection administrator
  6. Template — site template (e.g. Team Site, Blank, Blog, Wiki)
  7. Click Create. The server creates the RootWeb + standard lists + default content types.
  8. The new site collection appears in the listing immediately.

Site Collection Settings

Click the title in the site collections list to open the Settings panel. Fields: - Title — rename the site collection - Owner — change the primary administrator

Deleting a Site Collection

From the site collections list, use the Delete action to open the confirmation page. Deletion cascades: all sub-webs, lists, items, files, and settings within the site collection are removed permanently.

Note: There is no recycle bin at the site collection level for bulk deletions. Verify before confirming.


Root Web Settings

Navigate to the root web of any site and open: Site Settings (/_layouts/15/settings.aspx)

The Settings hub groups all admin links into sections:

Section Key links
Users and Permissions People and groups, Site permissions, Site collection administrators
Web Designer Galleries Site columns, Site content types, Web parts, List templates, Themes
Site Administration Regional settings, Language settings, Sites and workspaces, Recycle Bin
Look and Feel Title / description / logo, Quick launch, Top link bar, Change the look
Site Actions Manage site features, Save site as template, Delete this site
Site Collection Administration Recycle bin, Site collection features, Site hierarchy, Storage metrics
  1. From Site Settings, click Title, description, and logo (under Look and Feel).
  2. Update the Title (required), Description, and Logo URL fields.
  3. Click OK. A success banner confirms the save.

The new title appears immediately in the navigation sidebar and page header.

Regional Settings

Under Site Administration → Regional settings (/_layouts/15/regionalsetng.aspx):

  • Locale — select from 10 supported languages (English, German, French, Spanish, Japanese, Chinese, Portuguese, Russian, Italian, Dutch). LCID is stored in the web's Language property.
  • Time Zone — Cesivi stores all dates in UTC; the time zone display is informational only.
  • Calendar — fixed to Gregorian in this release.

Click OK to save. A success banner confirms.

Under Web Designer Galleries → Themes (/_layouts/15/themeweb.aspx):

  • The Composed Looks grid shows all available color/font themes.
  • Click a tile to preview it (live preview applies immediately to the page).
  • Click Apply Look to persist the selection to this web.
  • The Theme Catalog Files table lists the .spcolor and .spfont files available in the theme catalog.

Language Settings

Under Site Administration → Language settings (/_layouts/15/muisetng.aspx):

Shows the current default language and LCID. Alternate languages are noted as informational only in this release — the default language controls all interface text. Use Regional Settings to change the default language.

Site Collection Administrators

Under Users and Permissions → Site collection administrators (/_layouts/15/mngsiteadmin.aspx):

Lists all current site collection administrators. Use Add Administrator to grant full-control access to additional users. Use Remove to revoke access from a listed user.


Creating Sub-Sites

Navigate to Site Settings → Site Administration → Sites and workspacesCreate.

Or navigate directly to: /_layouts/15/newweb.aspx (from any context to create a sub-site under the current web).

Sub-Site Creation Form

Fill in:

Field Description
Title Display name for the new sub-site
Description Optional description (shown in search results and site listings)
URL Name URL segment — letters, numbers, hyphens, underscores only
Template Built-in template (Team Site, Blank, Blog, Wiki, Document Center) or a saved template
Use same permissions as parent site Checked = inherit parent's role assignments; unchecked = unique permissions

Click Create to create the sub-site. After creation you are redirected to the new sub-site's home page.

Available Built-In Templates

ID Name Description
STS#0 Team Site Collaborative team site with document library, tasks, announcements
STS#1 Blank Site Empty site with no pre-seeded lists
STS#2 Document Workspace Document-centric site for collaboration on a single document
BLOG#0 Blog Personal or team blog with posts and comments
WIKI#0 Wiki Site Community wiki for brainstorming and knowledge sharing
DOCLIB#0 Document Center Enterprise document management center

Sub-Site at Depth 2 and Deeper

After creating a depth-1 sub-site (e.g. /teamA), navigate to that sub-site and open Site Settings → Sites and workspaces → Create to create a depth-2 sub-site (e.g. /teamA/projectX).

Cesivi supports sub-sites at any depth. The storage key at depth 3 would be webApp||site||RootWeb||teamA||projectX||subItem.

Permissions at Creation Time

Inherit permissions (default): The new sub-site reuses the parent site's role assignments. HasUniqueRoleAssignments = false. The parent's permission matrix applies automatically.

Unique permissions: Uncheck "Use same permissions as parent site" before creating. The sub-site gets HasUniqueRoleAssignments = true and starts with an independent permission set. Use Site permissions (/_layouts/15/user.aspx) in the new sub-site to configure role assignments.


Viewing the Site Hierarchy

Navigate to Site Settings → Site Collection Administration → Site hierarchy (/_layouts/15/vsubwebs.aspx).

The page lists all direct children of the current web with their Title, URL, and Description. Click a sub-site's title to navigate to it.

Scope: the page shows only direct children of the current context, not all descendants. Navigate into a sub-web and open vsubwebs.aspx again to see that sub-web's children.


Deleting a Sub-Site

Navigate to the sub-site to be deleted, then:

  1. Site Settings → Site Actions → Delete this site (/_layouts/15/deleteweb.aspx)
  2. Confirm the URL of the site shown on the page.
  3. Click Delete.

Deletion is permanent and cascades: all lists, libraries, files, list items, and nested sub-webs within the deleted site are removed.

Cannot delete the root web. The root web of a site collection cannot be deleted this way; delete the entire site collection from the Admin UI instead.


Each page under a sub-site renders a breadcrumb in the page header:

Home  >  teamA  >  projectX  >  Site Settings

All breadcrumb links are clickable and navigate to the correct context. Depth-3 breadcrumbs are verified at depth 3 (e.g. /{seg1}/{seg2}/{seg3}/_layouts/15/viewlsts.aspx).


Cross-Client API Compat (for Developers)

All four Cesivi client APIs support sub-web lifecycle operations:

Client Create List Delete
REST POST /_api/web/webs/add GET /_api/web/Webs DELETE /_api/web
CSOM Web.Webs.Add(WebCreationInformation) Web.Webs collection load Web.DeleteObject()
PnP PowerShell New-PnPWeb Get-PnPWeb Remove-PnPWeb
SOAP Webs.CreateWeb Webs.GetWebCollection Webs.DeleteWeb

REST Examples

# Create sub-web
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  "http://localhost:5001/_api/web/webs/add" \
  -d '{"parameters":{"Url":"teamA","Title":"Team A","WebTemplate":"STS#0","InheritPermissions":true}}'

# List sub-webs of current web
curl -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  "http://localhost:5001/_api/web/Webs?$select=Title,ServerRelativeUrl"

# Delete sub-web (set SPWebPath header to target)
curl -X DELETE \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "SPWebPath: RootWeb/teamA" \
  "http://localhost:5001/_api/web"

CSOM Example

using var ctx = new ClientContext("http://localhost:5001");
ctx.Credentials = new NetworkCredential("admin", "password");

var creationInfo = new WebCreationInformation
{
    Title = "Team A",
    Url = "teamA",
    WebTemplate = "STS#0",
    UseSamePermissionsAsParentSite = true
};
var subWeb = ctx.Web.Webs.Add(creationInfo);
ctx.Load(subWeb, w => w.Title, w => w.ServerRelativeUrl);
ctx.ExecuteQuery();
Console.WriteLine($"Created: {subWeb.Title} at {subWeb.ServerRelativeUrl}");

Differences vs SharePoint On-Prem

Behavior Real SharePoint Cesivi
Time zones Per-web configurable All UTC internally; regional settings locale-only
Alternate languages (MUI) Full interface translation Default language controls all text; MUI info page is read-only
Site collection quota Storage quota enforced Unlimited (no quota enforcement)
Sub-site depth Limited by URL length No practical limit
Composed looks Full theme engine Color/font theme selection; background images not supported

For managing columns (site columns and list columns) within any site or sub-site, see USER-GUIDE-COLUMNS.md. For managing list views (sort, filter, group-by, view types) within any site or sub-site, see USER-GUIDE-VIEWS.md.



WCAG 2.1 AA Conformance — Site Collections + Sub-Sites (PLAN-1638)

Cesivi v1.4 includes a full WCAG 2.1 AA pass for all 11 pages in the Site Collections + Sub-Sites surface.

Automated Test Coverage

All 11 routes are registered in AllSurfacesAxeRunner under bucket "v1.4 Group A1 — Site Collections + Sub-Sites" and scanned with KnownAxeAcceptances = [] (no color-contrast or region waivers):

Route Name axe-core Result
/_admin/sitecollections.aspx SC List ✅ 0 critical, 0 serious
/_admin/sitecollectioncreate.aspx SC Create ✅ 0 critical, 0 serious
/_admin/sitecollectionsettings.aspx SC Settings ✅ 0 critical, 0 serious
/_admin/sitecollectiondelete.aspx SC Delete ✅ 0 critical, 0 serious
/_admin/webapplications.aspx WebApp List ✅ 0 critical, 0 serious
/_admin/webapplicationsettings.aspx WebApp Settings ✅ 0 critical, 0 serious
/_admin/webapplicationcreate.aspx WebApp Create ✅ 0 critical, 0 serious
/_layouts/15/newweb.aspx Create Sub-Web ✅ 0 critical, 0 serious
/_layouts/15/vsubwebs.aspx Site Hierarchy ✅ 0 critical, 0 serious
/_layouts/15/deleteweb.aspx Delete Sub-Web ✅ 0 critical, 0 serious
/<sub>/_layouts/15/settings.aspx Settings Hub (sub-web) ✅ 0 critical, 0 serious

What Was Fixed (Phase A)

  • Landmarks: <header>, <main id="main-content">, <footer> added to _AdminLayout.cshtml; labelled <nav aria-label="Administration navigation">.
  • Skip-navigation: <a href="#main-content" class="skip-link">Skip to main content</a> added as first child of <body> in admin layout.
  • Tables: scope="col" added to all <th> elements in SC list, WebApp list, and Vsubwebs tables.
  • Live regions: All error toasts role="alert" aria-live="assertive"; all success toasts role="status" aria-live="polite".
  • Action buttons: All icon-only action buttons (Settings/Delete in SC list, gear icon in Vsubwebs) have aria-label with the item title.
  • Form inputs: All read-only display fields changed from <label> to <span class="admin-label"> (eliminates invalid label associations).
  • JavaScript alerts: confirm() dialogs in WebApp Create replaced with inline role="alert" error regions.

Keyboard Navigation

7 keyboard navigation contract tests (SiteCollectionsAndSubWebsKeyboardTests.cs): - Skip-nav link present and targets correct anchor in both admin and layouts routes. - All required form controls (inputs, selects, checkboxes) are focusable. - Template picker in Newweb is keyboard-operable (click/tab to select). - :focus-visible CSS rule active on all pages.

Screen-Reader Semantics

6 SR semantics contract tests (SiteCollectionsAndSubWebsScreenReaderTests.cs): - All form inputs have label/aria-label associations. - Error regions are role="alert"; success regions are role="status". - Admin table column headers have scope="col". - Admin sidebar nav has aria-label.

Manual Narrator Report

See _project/areas/a11y/site-collections-narrator-report-1638.md.

Residual Moderate/Minor Violations

None requiring waiver at Phase A completion. All residual items are moderate or minor (informational); no AA-level failures.


Last updated: PLAN-1638 — WCAG 2.1 AA conformance section added; PLAN-1630 — cross-link to columns guide added