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

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.

Related

Restricting Views of users on Sharepoint lists

I am developing a sharepoint 2010 project.
I want to restrict users view on lists based on their identity. (e.g. the branch of organization they work in, but in fact the ristrictions can be more complicated).
What solutions do you recommend?
With out of the box features this is not possible. You can go to great lengths to remove the list's view selectors and other navigational elements that let people cruise around a the schema and metadata for a list but it is not a security mechanism.
If a user has read permissions to an item, they'll have read access to all the fields of that item.
There is an outside chance that it you disabled all RPC mechanisms, SOAP, RESTful web services, Client Object Model and the office clients that you might be able to claim this as a security mechanism. If you don't there will always be a way around your "security" scheme.
This feature can't be implemented by SharePoint by now and I think neither for the next version
You can use a third part tool to achieve it, such as BoostSolutions' Column/View Permission or LightningTools' DeliverPoint
BTW, I work for BoostSolutions and I mentioned our own product because it works for your issue. Hope it helps :)
create sharepoint groups based upon your requirement or diffrent type of user base and accordingly give them rights may be item level or on complete list
and while doing these things just go through the following posts
http://blogs.gartner.com/neil_macdonald/2009/02/25/sharepoint-security-best-practices/
http://weblogs.asp.net/erobillard/archive/2008/09/11/sharepoint-security-hard-limits-and-recommended-practices.aspx
Not 100% sure on SharePoint 2010, but definitley for SharePoint 2007, there is not a way to do this, especially if the views are corresponding to security requirements on the columns users are able to see.
One way to work around this is have the list be not accessible by users, and then have code logic allow for access to the data creating the different "views" on the data in something like a Web Part. The downsides to this is search becomes an issue (since the data is hidden) and having multiple "views" of the data (if necessary) is also another item to work through.
I know its a very old question but posting it as it might help someone.
There is an work around to do it as described here
I find it easier, if possible, to create the view and lock it with the filters on the list settings page.
For example, I have a list of employees that includes their employee IDs. I use that list on other pages to gather data in other webparts. So I filter the employee list to [ME]. So the data is available to the page needing it to filter others and they cannot see anything else.
Now, what about the person who needs to manage that page? I create a view, call it HR. That view can see everything. Then I export that webpart with that list view on it through the designer. I then delete the HR view from the employee list.
This leaves no way for anyone to switch views and see everything again. I create a webpart page for the person who manages it, and I upload that webpart and set the view of the webpart to HR. In the end, I have a page that I lock down instead of trying to lock down views or list permissions separately.
Would you be able to have two lists that are joined. One that all users have access to and another that only certain people have access to, and then join them? Then maybe the people that don't have access to the other table it doesn't pull the information? Not sure, but I'll try that out later today.

SharePoint - Using a Content Query Webpart across site collections

This is quite a simple question to ask, hopefully the answer is as straight forward! Can you use a Content Query Webpart on Site Collection A to read data from Site Collection B?
If it's not supports right out of the box, are there some configuration options which you can use to make it happen?
Thanks.
No configuration option will enable you to have a cross site content query webpart.
You can either create a custom web part that will do it or buy one (several options out there, here is one
If you decide to create your own web part, you will easily find code online that will help you. Here is an example.
No, it must be within the same site collection as it uses the SPSiteData query, which works within the site collection

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

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.

Update base template and apply to all sites who reference it - MOSS 2007

More SharePoint questions from me again today! I thank everyone that has helped thus far!
Here is my situation:
I have to create a custom application inside of sharepoint. I am using a document library which hosts web part pages and i am using Web User Controls to do all the manipluating and displaying of data. Once I build the app the way i want, I am going to turn the doc lib into a template that way i can create the same thing on multiple sites (many customers using this app).
The issue that I am running into is that I need to know what happens/how do I update it so that my changes will apply itself to all sites that are referencing the template.
HELP! anyone who knows how to do this OR has a better idea for creating custom apps that multiple sites will be able to take advantage of would be SO helpful!
Thanks
Short answer is that you cannot accomplish this, even with a custom site/list definition.
Once a site or list is created from a site or list definition, it is basically on its own (layouts and master pages modifications, however, do get applied to all sites referencing them).
Once workaround would be to create a site feature that iterates through sites and performs whatever custom action you wish to do.
For requirement like this, you really should create custom list/site definition. NOT just save customized list into template.
Anything you have updated in list/site definition will be reflect to the sites that are referencing the definitions. Unfortunately this is not the case for Template. You will have to delete the old list you have on other sites, then re-create them again with new template.
how to create list definition - http://msdn.microsoft.com/en-us/library/ms466023.aspx
for site definition please go - http://technet.microsoft.com/en-us/library/cc287930.aspx
James

SharePoint 2007: How to Restrict Access at the Field Level?

Is it possible in a SharePoint 2007 list (MOSS, though I don't think that this is Enterprise Edition) to allow users in one SharePoint group to edit values in some fields and users in another group to edit values in the other fields?
From all the searching I've done, this does not appear to be possible, so as a fallback I'll accept answers that suggest the best way to accomplish something like this (e.g. maintain the items in separate lists, linking them by ID).
I do not have access to Central Admin, but I do have Full Control of the site. Also, this site was not configured for custom code, so besides changing list settings (and site settings) I can make changes via SharePoint Developer (but not Visual Studio).
A big THANKS in advance!
Steve
You are correct that it's not possible to set field-level permissions without custom code. Furthermore, you're on the right track thinking separate lists, though you should be aware that SharePoint list lookups are a rather weak correlation. Usable, but not exceedingly robust.
For presenting the combined data you'll want to look at SharePoint Designer's joined subviews.
Have a look at Displaying SharePoint Fields by Permission Level by Laura Rogers. This is an approach that uses SharePoint Designer.
Also see the SPListDisplaySetting CodePlex project. This is a site collection feature that needs to be installed so may not be an option.
You can customize Edit Forms for SharePoint 2007 Lists (EditForm.aspx).
With custom list definition and custom edit form you can write code to check the user and show different fields depended on the users permissions.
'a' workaround to get this functionality is to change the content type associated with a list item using workflows.
Like so:
User creates list item in content type A (limited fields).
Workflow starts, changes to content type B (all fields).
Admin gets notified, opens listitem, fills out additional form fields.
And so on..

Resources