Sharepoint Branding - sharepoint

I'm just tasked by my boss to create a Sharepoint solution for the scenerio below.
(I'm a total newbie to Sharepoint. So please forgive me if i use the terminology wrong)
The portal should open in a custom look than the default Sharepoint design and it should have links to the products. Every product page should have different look and feel but have same types of content. For example every product should have Published Materials list but with different set of content.
So, an example of the desired map is like this:
/Home
-Latest News
-Core Team List
-Products
-Product 1
-Product 2
-Product 3
I found Sharepoint a whole new and strange world. I thought i'm good at learning, until i met Sharepoint. Everything seems very detailed and i'm living difficulties in finding useful information quickly. Because i have no Sharepoint background and i don't event know what i'm lookin' for.
Could you please help me by telling me how can i accomplish this or even just telling me the name of "thing" that i'm trying to accomplish.
Thank you in advance.
PS. Oh, by the way, I learned the word Branding in my search for the holy grail. I don't even know that the word fits or not...
I did try the method you post on other page (Restaurant review site in SharePoint) but unfortunately i couldn't succeed. I stucked at choosing what type of content type in the "Create Content Type" page at first and then tried some parent types but i couldn't get it show up in Sharepoint Designer 2007's New Sharepoint Content "Publishing Page" dialog.
So i tried something else.
At my homepage created a new Document Library of type "Web Part Page" called "Products". It created me a some sort of list whose all items are web pages. At this point i felt that i'm near to accomplish something at last.
Here are some questions i've collected: :)
I add two Announcements web part to different "Products" pages. When I add a new announcement to the list from one product page, it shows up in the other one too! How can I make their content only visible in page that the content created on?
*[Theming is a recurring theme in my posts]* Is it possible to change the view of each Product page at this setup so they have different design and color?
Thanks.

Check out the links I posted in the answer to this question for some links to SharePoint 101 tutorials online:
Restaurant review site in SharePoint
Given you're looking for 'branding' that will mean a custom Master Page. A Master Page is what will determine the overall layout of your SharePoint Web Application's pages. After creating a standard SharePoint application, connect with SharePoint Designer and play with that Master Page for a while until you get the hang of it.
In modifying or creating custom Master Pages, it is important to take note of all the controls (special ASP.NET server-side tags) in particular Content Place Holders; if you create your own Master Page and these are missing you're in a world of uninformative-error-message hurt.
You're going to want to create Lists ( http://office.microsoft.com/en-us/sharepointtechnology/HA011199881033.aspx ) to represent 'News' and 'Products'... for Products you may even want to create a Content Type.
Once you create 'News' and 'Products' lists, to see those lists of Products you'll want to make views and use List View Web Parts ( http://office.microsoft.com/en-us/help/HA100240521033.aspx ) to include those views in Pages... but at the subject of Web Parts this is probably getting a bit overwhelming so I'll stop here. Comment me if you'd like more.
Addendum
"Is is possible to show only categories of a document library in home page and documents of the selected category in another page?"
-> Yes, and there are several ways. I'd suggest you look into either defining a View for that list which filters based on the category field, then add List View Web Parts to your home page, or writing custom XSLT for the Content Query Web Part, and then add it to your home page. Writing the XSLT for he Content Query web part is a little more difficult, but using the List View has it's short comings in being not-as-configurable, much like this guy is finding out: No-code solution for calendar view of SharePoint news items
"But how can i change a list item to show its details as a whole new page with its own web parts and theme?"
-> Here's the kicker; in SharePoint, each Site you create has a special list for Pages, and each Page actually belongs to a Content Type.
So you can take any content type and turn it into a page; all you have to do is create a Page Layout for it, and add that Content Type to the list.
(So, an example. This is purely speculative; I'm not saying do this specifically, and you probably can't do it exactly as I describe it as I'm oversimplifying a little)
You create a Content Type 'Product', but you also decide 'Category' should be a Content Type too. So you create a content type for 'Catagory', and you give it a lookup column, which refers to items in the 'Product' List. You specify that the lookup can contain multiple items.
Now you want a Page where people can see a category, and all the Products which belong to it. You create a 'Page Layout' (an aspx file) for the 'Catagory' Content Type. In the Page Layout aspx file you can include web controls which render the Catagory's fields, such as 'title' and 'description' and you can probably even add one to render the 'Products' lookup field. (maybe you'll have to code it yourself)
I hope I haven't lost you.
Now that you've created a Page Layout for 'Catagory' you can add 'Catagory' to the Pages list/library and then create pages which represent Catagories, and when people edit those pages, they will also edit the Catagory.
More Addendum
If "Announcements" is a list, the web part you added was a list view web part, and so it just shows the contents of the list (which is independent of the product pages)
You'll want o specify filters of your view. I dunno if you can specify unique filters on the web part... but you can try :)
You might want to consider looking into The Content Query Web Part.
I don't fully understand your second question, but I get the feeling the answer is yes... what do you mean by "view"? You gotta be careful with the lingo; do you mean the Page Layout? or the List View Web Part? or the List View? or the Master Page? ...

you HAVE to check out Heather Solomon. She is the shiznat when it comes to sharepoint branding.

A good start would be using Sharepoint Designer.

Use SharePoint Designer to do your CSS work, particularly in discovering the CSS rules in play. DO NOT publish the finished work from SD; if you do, future Windows Updates may wipe out your files. Instead, deploy your customizations as a Feature. In MOSS 2007, you can add a single custom CSS file using Central Admin - this will then be applied AFTER core.CSS at runtime, To the best of my knowledge, this is the only practical way of doing this.
You need to indicate whether you are using WSS or MOSS. With WSS, you can use themes.

Related

Adding a WebPart to a SharePoint 2013 Master Page

Have looked on here plenty but this is the first time I've asked a question, so please bear with me.
Within my SharePoint site collection, I have a list of links to other systems within the business - this list is hidden to all users apart from Admins. There is a department column, indicating the department each link belongs to. There are two filter columns in this list - one is "active", the other is "show in System Links".
On each departmental page, there is a Content by Query Web Part (CQWP) showing the list, filtering to show:
- Specific departmental links
- Only where active
Separately to this, there is another CQWP on the homepage of the site collection showing all those links that have "show in System Links" ticked.
What this allows me to do is if for some reason a system is offline for maintenance, I can change the "active" value in the list and all links will vanish (preventing users going to the external system). It also allows me to add prominence to a link on the homepage if it's of particular focus that day / week / month (i.e. link to HR system to book leave if there's a leave deadline coming up).
What I want to do is move the homepage System Links CQWP to under the Quick Links on the left hand side, so they appear on every page. I did this with no problems in 2010, by literally dragging and dropping in the visual view for the master page, but seem to be struggling in 2013.
I've tried following the advice here:
http://ramisharepointblog.blogspot.co.uk/2013/01/how-to-add-custom-webpart-within.html
When I add these to the .html master file, I get an error message saying that I need to change the file extension of my HTML file to something else.
I get this message whether I copy and paste the code, or whether I use the button "insert web part". (Obviously doing this in SPD 2013)
When I do this, it seems to lose the reference to the .master file (or explode!)
As an alternative, I tried adding the code into the .master file, but of course I can't do this, as it won't let me move / edit / copy a .master file.
Any help in this would be MUCH appreciated, as I seem to be banging my head against a wall here.
On SharePoint 2013 you can not add the Web Parts to the master page the same way of 2010.
Please use the Design Manager -> Snippet Gallery.
In short:
You must wrap the Register tag with: <!--SPM: register tag -->
Like this:
<!--SPM:<%#Register Tagprefix="Publishing" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
You should wrap the opening tag of your Web Part with: <!--MS: tag -->
And the closing tag with: <!--ME: tag -->
The Web Part would look like this:
<!--MS:<asp:SiteMapDataSource ShowStartingNode="True" SiteMapProvider="SPNavigationProvider" ID="topSiteMap" runat="server" StartingNodeUrl="sid:1002">-->
…
<!--ME:</asp:SiteMapDataSource>-->
(Snippet Gallery will automatically create the tags in the right way and you can copy it to your master page.)
Possibly related to my question, have a look at the detailed answer given here: How to embed SharePoint 2013 webparts directly in aspx layout page as default webparts for that layout
I know this is an old question, but users get encouraged to search, and this is what came up, so I thought I'd help out fellow other users find an answer :P

How to use PageLayout in a SharePoint Site?

I am kind of new to SharePoint. I am learning it on the go and learned about the concept of pagelayout and publishing features on the site. But I am not really 100% sure what is the difference between a WebPartPage, SitePage and PublishingPage. I kind of know what all these pages be used for, but what I not get is: why do they need to separate all these pages?
I think we can just get a publishing page and have all the feature there including webpart and everything else (with our choice of PageLayout). However I dont see a way to use a pagelayout on a particular SitePage.
Is there any particular reasons for using either one of them? Even though it seems like one of them can serve as all of them?
You should use page layout when ever you know the page structure. For example you are running an online news paper. You want to show the news to the users into three columns. First column is for menu, second column is for news content and third column is for advertisements. Now in your daily usage this layout is common. So you can use this page layout for entering the news. After creating the page layout you can make it as a default to your pages. Page layout is nothing but the structure of a page simply!!
A webpart page does not have a field for content directly on the page like a SitePage has. A Publishing Page is like a SitePage, but requires extra fields for dealing with the publishing extra features.
Using a single layout for all three risks being confused as to why one page does not work the same as another when it has the same layout (the difference would be the underlying features are different.).
I will make a comparison with cars. There are three type of cars, each is better suitable for a certain purpose: tractors for farming, buses for public transport, light cars for private transport. You could use a tractor for all the purposes above but it's not ideal.
"One of them can serve as all of them". This is not true in their current implementation. I'll give you one example: prefer Web part pages against Publishing pages to better control content added by contributors in an intranet. There are many other examples.

How can I effectively group a whole bunch of Sharepoint lists?

I'm still learning Sharepoint and all of its various concepts, so apologies in advance for my ignorance. Here's what's going on - my company is moving a whole bunch of forms from another application into Sharepoint as InfoPath forms. Each InfoPath form is a Sharepoint list. So, we've got something like 300 different lists representing these forms.
My task is to put these lists on a page in some kind of reasonable format, meaning we need to present them in more reasonably-sized groups. Essentially, what I think I need is a list of lists. I've seen a few discussions here on this topic, all of which end with "Sharepoint doesn't provide a list of lists you need to do it yourself". I attempted to use a Content Query web part, but that only could get me the items inside each list, which in this case isn't what I want - I want the Sharepoint list itself.
From what I've read, it sounds like some custom code can build what I want. Is there any other way for me to group these lists?
Edit for more information: Part of the problem we have is that we aren't sure how to group the lists. I believe what Tom says below, that it's pretty easy to get a list of all the lists. But somehow, we still have a need to get the lists into the appropriate buckets.
For example, let's say there are 10 lists, and we want to group them by department. The first three belong to HR, lists 4-7 belong to IT, and lists 8-10 are Executives. Even with a custom code solution, we still need to make that connection, and I'm not sure how to do that (easily). If that's going to be a manual process anyway, it seems like a master list like #strongopinions suggests will be easier than a custom code solution?
I got this working using SharePoint Designer and a DataFormWebPart.
Steps:
Open the SharePoint site by clicking File -> Open Site and entering your site's URL (Ex: http://servername/sitecollection/subsite)
Open the page you will be adding the webpart to (Ex: default.aspx)
Click in one of your web part zones
Add the DataFormWebPart by clicking Insert -> SharePoint Controls -> DataView
In the Data Source Library pane on the right, under XML Web Services, click Connect to a Web Service.
Enter in a service description location to the Lists.asmx web service (Ex: http://servername/sitecollection/subsite/_vti_bin/Lists.asmx)
Click Connect
Choose GetListCollection for the operation
Click on your newly created Lists datasource and click Show Data from the dropdown
CTRL+Click to select DefaultViewURL and Title
Click Insert Selected Fields as.. -> Multiple Item View
Save your page and you're done!
P.S. You can also use something like this to generate a nice link:
<a>
<xsl:attribute name="href">
<xsl:value-of select="#DefaultViewUrl"/>
</xsl:attribute>
<xsl:value-of select="#Title"/>
</a>
Edit
Shoot. Didn't see the SharePoint2010 tag... these are instructions for SharePoint 2007. I'll leave this answer up here in case it is helpful.
I think the most flexible solution would be to create a custom webpart. With Visual Studio 2010, creating and deploying webparts is easier than ever before and the code to list all lists isn't very difficult either.
Not that I don't like SharePoint Designer, but I don't like to call the SharePoint webservices from inside SharePoint. It doesn't sound really performant.
Let me know if you need some help with the code.
You could create a list of links in SharePoint to act as a "master list." This list would contain URLs to each of the other lists. Then display your "master list." This would have to be created by hand though. Other than that you would probably have to use custom code to generate the list.

Sharepoint 2007 - Finding out where a view is used

I'm a MOSS 2007 newbie and am trying to find out where a view is used.
I have a larger list and i want to have two different views into that list. I've inherited the site collection, and currently there are three views, with two of them named almost identically. Now i'd like to find out if i can safely remove one of those views.
So the question is: Is there a way to find out all references to a view?
I'll provide additional information gladly!
"First part of my problem is that i'd like to find out which view this web part is using."
"Second part is that i have a set of views made from a list, and i should find out if some web part is using some of those views"
A Web Part does not use a view directly. The current view of the web part is based upon a view, but if you change or delete the view, the web part still displays your list/library as before. Thus, if you delete your views, all web parts will still continue to function.
What you should probably do is compare your views (which fields are displayed, filtering, sorting, grouping, etc.) with each other and also with the view inside your web part. That way, you'll know which view was used before.
What could happen is that you break links to your view page. This is, if on some other page there is a direct link to your view.
What are you trying to do exactly? To get all the views of a specific list, use SPList.Views and load them in the SPViewCollection.

Share Sharepoint lists across sub sites

I've got a situation where I want to have a master list at the top level of a Sharepoint site, and then allow the sub-sites to see the master list. I've tried working with Content Types, and either I'm slow and just can't get the concept, or it doesn't seem to apply.
Anyone have any luck?
It depends on what you mean by "see" the master list.
If you're writing code to access it, you can do that by getting an SPWeb object for the top level site and using its Lists property.
If you just want to display it on a web part page, you can do that with a Content Query Web Part.
If you want to use it in other lists somehow, that's a more involved question. You can definitely set up lookup columns to point to lists in other sites, but we've only done that via custom site and list definitions.
Also, if you want to reuse some text or HTML from your master list and you're using MOSS, the Reusable Content list in the site collection's top site is useful.
I heard some web parts can build relation between lists that are located on different sites. But it is new to seek sharping list relationbetween master-sites and sub-sites.
I am not sure if this relation can be seen as cross-site, if positive then take a look at Sharepoint Cross-site Lookup. Otherwise for me your requirements is an "involved question" .
You can also use data view webparts to serve up list data from other sites.
If you want to be able to have a lookup column, looking in another list at a higher level site. you can at the higher level site create a site column (under site settings) that is a lookup field to the socalled masterlist. Then on the list in a subsite, you can add a site column, then choose the site column you created earlier.

Resources