Multiplying pages in the SharePoint database — but not on the file system

Most people don’t realize that a SharePoint site can have multiple pages.  Somehow in the mind of the user the idea that a SharePoint site is a collection of pages is limited to being able to recognize the pages in a list as a part of the site.  However, there may be times when multiple pages make sense — for instance, different dashboards for the same site.  One might summarize a project overall, another might expose schedule performance, another handles detailed financial performance, etc.

Once you get past the barrier that you can have multiple pages — how do you get them?  You add additional pages to a site (if you want them to be ghosted) by adding <File> nodes in the <Module> nodes of the ONET.XML file.  That might look something like this:

<File Url=”page01.aspx” NavBarHome=”True” Type=”Ghostable” />

Help Your SharePoint User

Not too bad but why create extra files on the file system — this would require that you copy default.aspx to page01.aspx.  If you add one more attribute and end up with …

<File Url=”page01.aspx” NavBarHome=”True” Type=”Ghostable” Path=“default.aspx“ />

you end up with a page reference in the database which links back to the default.aspx page.  You can therefore provision new pages for your sites which will be ghosted — without making copies of your default.aspx.  Pretty cool eh?