Mysites like page that lists all doc libraries across all SharePoint sites? - sharepoint

We'd like to create a web page that will list all Document libraries across all sharePoint Sites for the user currently accessing the page. We'd also like to offer a all site search for the user. That is all sites they have access to.
We currently do not have Mysites enabled, nor do we want to.
Possilbe to code this?

All site search is easy. If you are using the non-free version of SharePoint 2007 or 2010, then that capability is baked into the product. Users can use the search scopes to search across all content in the SharePoint farm. It will automatically trim search results that users don't have access to.
As for you list of all document libraries, this would probably be too much effort to generate in real time for any non-trivial SharePoint environment. You are most likely going to have to gather this information ahead of time and then display the appropriate summary of the data in a WebPart of some other similar interface. Code to crawl every web application and every site and every sub-site and then every Document Library isn't hard. Actually it is very straightforward. What will be a little tricky is that you will need to collect ACL entries for each of these lists so that you can compare them to the current end user. The real trick is that the ACLs might contain SharePoint Group names and Active Directory group names instead of individual end user names. That will make your reporting task more difficult.

Related

Can I restrict different portions of a Sharepoint page to different users?

I have a couple different Sharepoint pages (Sharepoint Word docs) all with roughly the same purpose and information, but for management reasons, some of it needs to be restricted from a certain set of users. We keep having to update each page in several different places any time a single change or update is made.
It'd be easier to be able to mark certain tables on a single page with specific permissions. Is that something Sharepoint can even do, though?
Providing you have an enterprise license for on-premise the best way to achieve this is by using targeted audience feature on the webparts.
You could check SecurityTrimmedControl, you could hide the content based on user permission.
https://rijsat.wordpress.com/2016/10/27/security-trimmed-control-in-sharepoint-2013/

MOSS 2007 scopes in a custom-built advanced search page

I'm attempting (futilely) to create a custom advanced search page for my department's SharePoint site. I've been using this article as a guide,
http://tqclarkson.com/2007/10/26/creating-a-custom-advanced-search-box-in-moss-2007/
I've had some success copying the code of the advanced search web part and modifying it to my needs. However, I'm having some struggles with scopes.
Some background...
We are currently running MOSS 2007
Our company houses all its intranet sites under one GIGANTIC site collection
I am a site owner, but not the site collection administrator (that is controlled by IT corporate). Therefore I don't have access to central administration which houses most of the search settings.
IT has not set up any custom scopes (and just trust me when I say asking them to do so would be completely impractical).
I need to scope the advanced search web part's queries to just our site or its libraries. In a perfect world, I would just create custom scopes for this purpose, but as I mentioned that's not an option here.
I've tried using the URL property to restrict the results. Problem is the search has to be executed on EVERY RECORD in the database (which I'm sure is unfathomably huge). I did a test query which took over 5 minutes to result! Definitely not a practical solution.
So that's where I'm stuck. I need to scope the queries but can't figure out how else to do it. Any advice is welcome. Thanks as always!

Using Workflow to Copy Calendar Items Between Sites in Site Collection

I am having problems figuring out a calendar workflow and am beginning to think what I need cannot be done w/out using .NET. I want to copy calendar items up and down between sites.
The site collection structure is Office-->Division-->Branch. There are 5 divisions under the office and multiple branches under each division. Each is a separate site with its own own calendar.
I want to populate a calendar on one site and have the item pushed up or down the site chain to another site calendar. So I need to be able to promote calendar events up AND down between calendars on different sites within the same site collection. Also, I don’t need the whole item copied. I need all fields except one because each site has its own set of check box values for one of the fields.
All my research has indicated this can’t be done without programming and I do not have Visual Studio. I have heard BCS may be a solution but am not sure that we have it. We are using SharePoint 2010 Enterprise Server but many things are not available to me such as Data Sources. One recommendation I got was to have one site (office) and put everything below it as site pages. So divisions and branches would just be pages, not separate sites. However, this seems like it would get out of hand quickly. Any help would be greatly appreciated.
So it looks like my site structure is not optimal as SharePoint lists and libraries do not easily flow between sites. I will need to change the structure so all the divisions and branches are site pages, not sites. This way everything will live in the same site and it will be much easier to move data around via workflow.
In this case, I won't need to move any data between calendars because now I can use one calendar for the office, divisions and branches and create different views to show the required data.

Sharepoint - Showing calendar events in multiple calendars in diff't sub-sites

I am trying to show events from a calendar in the main site to a calendar in a sub-site of the main site (or vice-versa)...I can't alter any server files or use custom-built web parts...is there anyway to do this w/ OOTB moss 2007?
Altering Server files is a big no-no anyway, so that's good :-D. YOu could try using SharePoint designer to create a so-called aggregation webpart, pulling data from all sites in the site collection (which of course get security trimmed by sharepoint, so people see only what they are allowed to see).
YOu can create use a DataFormWebPart in SharePoint designer to build an aggregation webpart. This is still ootb, but allows you to configure the datasource: i.e. have the datasource query the entire site collection for calendar items, then display them in a list. Disdplay them in a "new" calendar will be a lot of work though.
There is no way to "copy" or deisgnate specific calendar items to be visible in specific other calendars, this will take custom code.
Not strictly OOTB MOSS 2007, but I recenlty wrote an article about syncing any list using a simple workflow. As a Calendar is just a list it works for that as well and it maintains the Calendar look and feel.
Check it out here, it works great and deals with attachments as well. As it is part of a workflow you can add your own logic easily, e.g. Only sync calendar events that have field 'x' set to 'y'.
I wanted to point out that RSSBus Web Part can handle a task like this with minimal code. This, although not ootb is quite simple and does not require use of SharePoint Designer.
<rsb:import lib="RSSBus.SpsOps"/>
<rsb:set attr="url" value="http://mysharepointsite/subSite/"/>
<rsb:set attr="list" value="Calendar"/>
<rsb:set attr="user" value="someuser"/>
<rsb:set attr="password" value="theirpassword"/>
<rsb:call op="spsListItems">
[[sp:name]]</br>
</rsb:call>
The code above can be placed within the RSSBus Web Part on the main site and through the use of "SpsOps" have access to all lists/items on all sites/subsites.
-S

To Create an Employee directory

We are researching the various options that exist in our environment to create an Employee Directory. We have a SharePoint portal, AD and recently moved from Lotus Notes to Exchange. Our current employee search is a custom Notes DB that has since been retired.
Since moving to SharePoint an year ago, we've used a custom list using SharePoint Profiles that are updated from AD. But the simple list interface isn't very user friendly and is very slow. Sone of the requirements include type-ahead, pictures, and details of skills/certifications and other demographic information etc. We are considering building an ASP.NET or SilverLight application that can consume the information in the SharePoint list. With the introduction of Outlook and the Global Address List, we are now wondering if it might be easier to build something within Outlook.
Has anybody traveled a similar path and what would you advice us to do?
Microsoft has a huge set of offerings for Collaboration and Social Computing in Sharepoint.
See this document, pages 8 and 9 for information about features related to an employee directory, including details of skills/certifications and other demographic information.
A la carte availability of individual features (such as People Profiles and People Search) and pricing may be an issue, but you may want to look into buying something rather than building it (if you can get the pieces you want for a price you can afford).
Sharepoint can connect with Outlook to keep the lists synchronized if you want to use outlook. And there are definitely a lot of different ways to change the way the lists are presented in the Sharepoint portal to make them more user-friendly. Having those details on the portal will certainly be a boon when combined with the powerful search and indexing features in SharePoint so you can identify employees based on their profile details easily.
We use the people search for this pretty effectively. We populate data in AD, then connect profile properties to AD attributes. That's only if you have MOSS, though. If you're working with WSS, you'll have to build something more custom.
One gotcha, though, is that the People Search out of the box doesn't easily do partial searches (i.e. searching for "john" doesn't match "johnson"). That's a big downer in my mind. You can use Ramon Scott's approach of a Content Editor Webpart with a form and some Javascript to work around it, and you can also get there via the advanced search box (albeit indirectly), but it sure would be nice if it were easy to make the default search box do partial name searches.
I recently just discoverd a somewhat easy visual basic script that draws information from the active directory where you can specify which OU to draw from where it displays all user information in a simple .HTM page. it includes a search bar, recognizes patterns (address) (company telephone number) etc... If you would like i can post it for you. you only need to fill in a few sections (display name for directory, OU, OU display, and tags) and you can always change the way things look too.
This should be taken care of by using the My Site feature that's available within SharePoint. You will then be able to search SharePoint users by skills, certifications, projects, and educational qualification.
Please refer to the SharePoint Planning and Deployment material on TechNet for more info.
SH.

Resources