New pages aren't being published to the right library (SharePoint 2010) - sharepoint

I created a new pages library, "News Pages", on one of my subsites.
Beforehand, I created some custom site columns, added those to a site content type, and then created a new page layout using those site columns. This page layout is used by default when a new page is created.
But when I create a new page, fill out the fields and publish, it's appearing in the subsite's default "Pages" library, NOT my "News Pages" library.
How would I go about changing my setup so that any new pages are published to "News Pages" library instead?

The SharePoint Publishing Infrastructure is built to handle only one Pages library per web site. This means that you will run into problems trying to add an extra library (believe me, I've tried ;))
The only way to have multiple pages libraries is to create a sub site and use it's pages library.

Related

Changes to page template is not updated to old pages created from template

I have created page template in site pages library of SharePoint online and created some pages from it but when I change the template layout changes are not reflected in the old pages which are created from it. Please let me know if there is any way to resolve this issue.
I'm trying implement the functionality similar to page layouts in classic SharePoint sites. If there is no way to resolve this issue using page templates will it be a good idea to enable publishing features in modern SharePoint site and create page layouts in it.

Setting up default web parts on a Wiki Page from a Web Template in SharePoint 2010?

My team is trying to build out a Web Template which includes an instantiated Wiki Page with some default Web Parts added to it; but we're unable to get this behavior to happen.
In brief, we're looking to add some default.aspx (or Home.aspx, the name is unimportant, just the functionality) to the SitePages directory, GhostableInLibrary; so it's visible to all SiteCollections made from this Web Template.
It is of note that we're basing our Web Collection off the Team Site, and that the Wiki will be the default Home Page for the new site.
Site templates can be used to customize newly created sites except for the top site of a site collection. Since site templates are all managed in site collection's Solution gallary, so a site template CAN'T be used to define its own container.
You need a Site Definition to customize the first site of your site collection.
For how to use site template, you can goto, http://weblogs.asp.net/soever/archive/2009/10/19/sharepoint-2010-site-exporting-as-wsp-solution-part-1.aspx
For how to create a site definition, you can goto, http://msdn.microsoft.com/en-us/library/gg276356.aspx
If you want to strap onto an existing template without creating a new copy, or you don't have the original site template to access. You use a process called feature stapling.
When you create a sharepoint solution it would contain two features, one for your actual functionality and one that simple staples it to an existing template.
Here is an article discussing it some more. http://mssharepointtips.com/tip.asp?id=1065

Sharepoint second page library

Sharepoint 07 has nice page library. You can create templates and then just by pressing Site-> 'Create a page' get a choice with page templates.
However if one tries to create second library, for example, document library, in the same site (node), then it is not possible to choose element type as "page". Only "wiki-pages" and "pages with web-parts"!
So, is it possible to get 2 or more page libraries in the same node?
It seems very inconvenient to create the hole new site or new node only just for page library.
The SharePoint Publishing Infrastructure can only handle a single Pages library per Web site, it's a physical limitation of the software.
You could create sub webs to separate out your content more, or create new Content Types inheriting from the "Page" content type, and add in extra columns to store metadata to further categorize your pages. You'd then add this new content type to the Pages library, and you can slot your new content into this content type to categorize it.
Luckily, I have discovered another solution. Using Metalogix Content Matrix I was able to copy and paste the 'Page' Library renaming it and Viola...it works! I'm able to edit pages without getting the "The SPListItem provided is not compatible with a Publishing Page" Error. Whohoo! I hope this helps you.

Adding a WebPartZone using a feature

In a number of different WSS and SharePoint sites we typically add a LeftNavZone to the default.aspx page using MS Office SharePoint Designer. I'd like to write a feature to do this programatically so it can be activated only on certain sites.
Is this possible?
I would like to add it within
<asp:Content ContentPlaceHolderId="PlaceHolderLeftActions" runat="server">
You cannot add an WebPartZone to the Pages using a feature. You will have to manually do it, but whereas you can add an webpart to the page using this AllUserWebPart
The way you would normally do this is by creating a site definition using Visual Studio, in which you include all items that should be deployed to the site, like for instance the default page. This allows you control the creation of a new site.
Option 2 is creating a feature that does 2 things.
Deploy a new aspx called homepage.aspx to the site, this page contains the desired controls etc.
a feauture receiver that is executed when the feature is activated, which sets the site's homepage programmatically to be the newly deployed page.

SharePoint 2007 Publishing site with deep menu structure

I am a beginner in SharePoint and I need to create publishing site that will have multilevel menu. Requirement is that levels will not be fixed and that client should be able to add pages and customize menu.
If I am not mistaken pages can be created only in the first level under the site. I don't see something like folders concept. For the navigation purposes I can add heading and it will be shown as another level. If I need more levels I need to create sub sites.
Site
Page1
Page2
Heading
Page3
Is this correct?
Site
Page1
Page2
Sublevel_1
Page1_1
Sublevel_2
Page2_1
Sublevel_3
Page3_1
...
Can I do something like this without creating SharePoint sub sites ?
If I don't need I will skip writing some custom menu control or write custom SiteMapProvider. I will than need to write UI for managing navigation also.
EDIT:
I have managed to create Folder in Pages list and create (actually move) pages to that folder and even create sub folder but they are not showing on the menu not even in the navigation settings page. I can't approve folder, it is in pending status what ever I try.
I looks like this is not possible by the Andrew Connell: Subfolders are not Supported in the Pages Library in MOSS Publishing Sites
Out of the box, you can modify the navigation for a Publishing site manually.
I assume that you are after a more automated way to do this. Unfortunately, the way to modify the navigation for a PublishingWeb is through the object model and the PublishingWeb.CurrentNavigationNodes object, which would require a timer job or some other method to update as pages are edited/added/deleted.
This is non-trivial and you will still need to create a solution/feature package.
The other way is to create a custom navigation provider.
The issue with both of these options (aside from the actual coding and release) is caching the navigation structure. We have used the standard web cache for the object holding the navigation structure, but using the standard user browsing (i.e. the menu code itself) to kick of a refresh of the navigation is fraught with threading issues.
You can create multiple document libraries in a site and then put the pages in the various libraries. That way you wouldn't need to create sub-sites

Resources