Sharepoint - How to agregate Announcements from sub-sites onto main site - sharepoint

I am new to Sharepoint (WSS 3.0) and have the task of creating a company intranet. This site will have a number of sub-sites - each owned by a different department. Each of the sub-sites will have an 'Announcements' webpart on their top-level page.
What I want to do is to take the most recent announcement from each of those sub-sites and display them on the main top-level site - the idea being that anyone in the company can see at the top level what is coming up in each of the departments.
My question is, what is the best way to do this? and does any one have any links that can point me in the right direction.
Many thanks.

In case you have MOSS, you should use Content Query Web Part here is the way to do it.
You can achieve the same by using Data View Web Part.
The third option is to create a custom code to do that, but since you mentioned that you are new to SharePoint I would advise against since that might be a bit complicated and it cannot be compared to the strength of built-in web parts.
The thing you should consider here is security. If a UserA from DeptA does not have permission to read Announcements from SiteB then the thing you are building does not make much sense because information from SiteB will not be visible to this user.

Along with the Toni answer you can try the SPDataSource & SPGridView if custom code is okay.

Related

Sharepoint terminology and names

I just want to know what is the basic structure of Sharepoint Sites?
1) What is Top level site?
2)What is Site collection?
3)What is the site Definition?
4)What is the Site Template?
5)Difference between Site Definition and Site Template.
6)What is Content Database?
7)What is the Search and indexing in the SharePoint?
8)What are Main features of sharepoint ?
Please answer one by one. I search on net lot of but, not found about proper answers of these questions.Please guide me.
I would also like to add my own post - SharePoint Terminology – Farms, Web Front Ends, Web Application and Sites - also covedrs terms like Farm, NLB, WFE, Authorization / Authentication.
(source: pentalogic.net)
(source: pentalogic.net)
Here goes:
A top level site is the rootweb of any site collection. It is generally what we think of when we create a site collection.
A site collection is, well, a container for sites. It always contains at least one site which can, in turn, contain zero or more sites which can, in turn, contain....
http://www.devx.com/dotnet/Article/27673
http://blah.winsmarts.com/2007-7-All_you_ever_wanted_to_know_about_SharePoint_2007_Site_Templates.aspx
After reviewing 3 and 4, you'll know.
A content database holds all (or, at least, nearly all) the content for one or more site collections.
http://www.windowsitpro.com/article/data-access/making-sense-of-sharepoint-search.aspx
This could be tricky, since "feature" has special meaning in SharePoint, but if you're looking for business-decision-maker-level feature discussions, check out Microsoft's site: http://sharepoint.microsoft.com/en-us/Pages/default.aspx, or this good article from Joel O.: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=267

Which parts of Sharepoint do I need to understand to build a publicly facing website?

I am building a publicly facing website that does the following.
Users log in.
And then view a list of their customers.
They click on a customer to view their past purchases, order them, change them etc.
This is not a shopping site by the way.
It is a simple look up tool.
Note that none of the data accessed by the website is in anything other than a SQL database - no office documents. Also, the login does not use users Windows credentials on a VPN or something like that.
Typically I would build this using a standard ASP.NET MVC website.
However the client says they want to use Sharepoint.
As I understand it, Sharepoint is used for workflow and websites that are collaboration tools such as the components you can see here http://www.sharepointhosting.com/sharepoint-features.html
Here are my questions:
Would I be right in saying that WSS is completely inappropriate for this task as it comes with an overhead that provides no benefits?
If I had to use it, would I need WSS or MOSS?
If I had to use it, would I be right in saying the site would consist of :
List item
a) Web Parts
b) And a custom site layout. How do I create one of these?
Addendum:The book Professional SharePoint 2007 Web Content Management Development looks like a good start
1.) I agree that SharePoint would be quite inappropriate for this task. A few reasons:
It costs thousands of dollars to license SharePoint for use on the open Internet
SharePoint will use a lot of resources (SQL Server, IIS, Active Directory...) that are unnecessarily demanding for your task
SP will give you very little flexibility to develop a solution in your way -- it sounds like you would need to create a database-connected Web Part in ASP.NET anyway (so that could be entirely independent of SP)
SharePoint has it's place--it can be remarkably helpful as a company's internal document management, intranet, and workflow/approval system--but it is not well suited for custom code nor Internet use.
2.) I believe MOSS would be required for the Internet license (as in the link above).
3.) SP development is not like typical relation database systems (for example, it uses flat, unnormalized tables). If your SQL matched the SharePoint way of thinking, you might be able to connect to your database as an external List using SharePoint Designer. More likely you would need to use Visual Studio to create a custom Web Part in ASP.NET.
Hopefully this'll be a few reasonable arguments you can use to help the customer see how SharePoint is inappropriate for the task... In fact, I expect just the first point (the cost of licensing) will turn them.
You can technically use WSS for this task but MOSS has more features aimed at building public facing websites. The publishing infrastructure comes to mind. It has has the CQWP which enables you to build custom interfaces which perform well in SharePoint. With SharePoint there are potentially challenges around scalability. If you know the platform well then doing something like what you have suggested would be a pretty quick task. If you don't know SharePoint and the underlying system well you could face challenges.
You do not want to approach building the final application with SharePoint Designer. It has behavior which can cause major problems with scalability. You want to create a SharePoint Solution comprising a number of features which can be easily deployed to SharePoint. Going this route does not alleviate performance problems but you are going to be closer to the right solution. You can package up the custom user interface elements as CQWPs or write Web Parts. I personally prefer to write Web Parts.
You do the overall site design in a Master Page. Pages within a site are then inheriting from this. If you have MOSS then you can create what are called publishing pages which contain your Web Parts. These are not available in WSS which is why people recommend against it for public websites.
To decide whether SharePoint (any version) is worth it, you need to find out if they are going to use any of the core features. If everything is going to be custom and you are not going to make use of any workflow or document management features in your deployment then I would stay away. To see whether you want to go further with SharePoint from a development perspective, take a look at the WSS developer labs. I recently ran an intro course at my employer using the materials from that site. They are dated, and need more info on best practices but they provide a quick way for you to dip a toe in the water and decide whether you want to go any further.
1) For the core functionality as you describe it SharePoint isn't going to add anything, BUT if you build it on SharePoints premisses it allows your client to add a lot of functionality outside the core for "free" like:
They can add Content Editor WebParts to pages where they can add descriptions, and messages
They can add lists where the customers can enter requests/comments/... and automatically have new entries mailed to anyone in the organisation subscribing to changes
The functionality you develop can be reused on their intranet
Any future small "web apps" can be included in the same site
...
So all in all unless you have a better framework to use then use SharePoint
2) WSS is all you need for now
3) Your main deliverable for now would be:
a feature with some Site Pages and a few Web Parts
a feature with a custom masterpage and corresponding css
True. Well not inappropriate but it doesn't add anything either.. but maybe in the future?
WSS is enough
You'd need web parts to expose your data, yes. The custom site layout is not necessary. If you want your own look and feel a SharePoint Theme may suffice. Even if you want some real custom layout tweaks you probably don't need a site template but you can get away with using just SharePoint Designer to edit the pages or master page.

how to make a web part visible to particular users in sharepoint?

I have created a webpart annual results.This should be available only to managers and not for developers in the home page.How to achieve it?
If you're using MOSS then you can use audience targeting, but be aware that this should only be used as a way to help people notice what's important to them not as a mean of authorizing what they can see.
If you're using WSS then you'll have to write code in the webpart to achive the same functionallity
Per Jakobsen is right, however that is still "security by obscurity". If the data is being pulled from a SharePoint list then consider security that list or the list items within that list, your users who don't have rights will still see the web part but they won't see any data.

Create a List (url links) and deploy it as a feature

I'm very new to SharePoint, so apologies if this sounds a little basic.
I want to create a List in SharePoint that is just purely URL links, but then make it available to every site collection that we will create.
Once this list is created, I need it to display in a webpart (like that standard 'links' webpart). I guess I will need to create a Feature, so that it can be activated at Site Collection level.
Any ideas how this can be achieved please?
Thank you all kindly in advance, Ash ;-)
I did something similar - but I created it as a Web Part with it's own security trimming. I covered some of the basics here:
http://www.codersbarn.com/?tag=/webpart
What you would need is a view on your list of links (that view will display the content of your list). Have a look here for more details on List View Web Parts. Once you figure out how to create it and what you want in your view, coding it shouldn't be too hard (You can either use SharePoint Designer on your site to create the view you want and then reverse engineer it into code using SPSource or you can create it from the schema.xml of you list).
You should note however, that with WSS you will not be able to view the content of a list on another site collection (i.e. you can only views of your list on the site collection where the list was created). Cross-site list views are a lot more complex to implement (you can buy components that do it though). I'm not sure how MOSS deals with cross-site list views but if you use MOSS, you should make sure that you can do it before you start developing your view.
EDIT : I would definitely go with what IrishChieftain suggested if your list isn't too complicated and has a structure that won't change much. Dealing with cross-site list views is a pain.

SharePoint - Web part to view remote list

Which web part and how to configure it to view a list from a different site collection?
Please note that I do not want to view a page but a list. For example view Announcements from a different team site under a seperate site collection.
Thank you in advance for your help.
The Data Form web part available through SharePoint designer can do this.
The Content Query Web Part (CQWP) which is part of the publishing infrastructure (requires MOSS) does not go across site collections.
Re http://www.spelements.com/spanylistview/
The problem with this one is you have to be able to INSTALL it on the server.
If you do not have those permissions, it cannot be used.
Don't bother asking if they can be obtained. They can't.

Resources