Re: Get a list of all top level WSS sites in SPS?
- From: "Bil Simser [SPS MVP]" <bsimser@xxxxxxx>
- Date: Wed, 26 Apr 2006 16:29:03 +0000
Dan,
Like I said, you'll have to do extended impersonation as you're going into an area of the object model that regular impersonation can't do. There's a couple of articles here that helps with that:
http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=7
http://pluralsight.com/blogs/ted/archive/2005/08/23/14302.aspx
As for the trimming, yes it's a pain as well when a user is added to a group rather than individually and there are some tricks to get around that but it's all pretty ugly. I had the same problem with my forums and had to do some sneaky/ugly things to get around it (without taking a horrible hit on performance).
I agree SharePoint navigation can be improved (and it will be in the 2007 version) but it'll never satisfy everyone's needs. Your approach sounds good and I'm glad your users like it.
--
Bil Simser
SharePoint MVP, BSc., MCSD
Calgary, Alberta
http://weblogs.asp.net/bsimser
"Dan Marth" <danmarth@xxxxxxxxxxx> wrote in message news:#E7hVrTaGHA.5108@xxxxxxxxxxxxxxxxxxxx:
Bil,
I can get a list of all the top level WSS sites on a portal but even with
impersonation it still prompts the user when the code executes and the
bigger problem is that it isn't permission based. So users see sites they
don't have access to and I could check access but most companies don't add
user by username, rather by NT security groups (domain\domain users) and
SharePoint doesn't look inside the group for the user. It's been a big pain
in the.......
As to what you say about the SharePoint infrastructure, it really doesn't
matter what Areas or Sites they have or what order they put them in, I have
found most companies want better navigation than what SharePoint offers, so
I give them a custom .NET top navigation with a list of all areas under the
home area (top level areas) and right next to that a drop down of a the top
level WSS or Team Sites. That only takes up two sections on the top navbar,
the rest of the space can be used for links to other non-sharepoint web
applications. People seem to love it!!!
Thanks,
Dan
"Bil Simser [SPS MVP]" <bsimser@xxxxxxx> wrote in message
news:eCvhvWTaGHA.608@xxxxxxxxxxxxxxxxxxxxxxx
> Dan,
>
> I don't have time to code this up right now and put together a solution,
> but the virtual server has a collection of all sites. Can you not iterate
> through these and filter out whatever site a user doesn't have access to?
> You'll have to do impersonation (or more) in order to get the master list
> but can then filter by whatever criteria you're looking for. At least
> that's the way stsadm.exe does it.
>
> You'll find it's not something that people have done because it's more of
> an admin view of a SharePoint server, and not a user view. You generally
> don't setup SharePoint infrastructure to mimic an organization hierarchy,
> you set it up in a way that makes sense for maintenance and use things
> like topics and listings to be your navigation. Organizations change their
> structure all the time and you don't want to moving sites and subsites all
> over the place just because the secretary pool is now under the admin
> department, not the HR department.
>
> --
> Bil Simser
> SharePoint MVP, BSc., MCSD
> Calgary, Alberta
> http://weblogs.asp.net/bsimser
>
>
>
> "Dan Marth" <danmarth@xxxxxxxxxxx> wrote in message
> news:#DQsENTaGHA.5004@xxxxxxxxxxxxxxxxxxxx:
>
>> Bil,
>>
>> Interesting, I would like to see that demo. I have been looking all over
>> the internet (google, news groups, forums) for someway to get a list (by
>> permissions) of all the top level WSS sites in SPS using the object model
>> and so far, I have come up with nothing. I need it for a drop down top
>> navbar that many clients request, I sure wish I could fine someway to
>> build
>> this navbar without having to query the SharePoint db. If you ever come
>> across anyway to do this, please let me know.
>>
>> Thanks,
>> Dan
>>
>> "Bil Simser [SPS MVP]" <bsimser@xxxxxxx> wrote in message
>> news:OpGdjlSaGHA.4416@xxxxxxxxxxxxxxxxxxxxxxx
>> > Dan,
>> >
>> > I've given demos to people that scoff at doing simple queries against
>> > the
>> > database. In the demo I have some code that does basic queries (just
>> > simple SELECT statements) and then I launch two web browsers to hit a
>> > SharePoint list. The system (my VMs) lock up and put SharePoint and SQL
>> > Server into a deadlock situation. Grant you, I'm doing it in a very
>> > controlled manner, but it can happen.
>> >
>> > Also from a pure application development perspective, just treat the
>> > SharePoint object model as the database. It's your contract to the
>> > services they provide (and will support). In .NET there are ways
>> > (through
>> > reflection) you can expose private member variables to the outside
>> > world,
>> > however someone somewhere made the decision to make them private for
>> > reasons of say simple encapsulation.
>> >
>> > Just because you can do something another way, doesn't mean you
>> > shouldn't.
>> >
>> > Of course, it's your choice and no, fire and brimstone will not fall
>> > from
>> > the heavens if you take the route you want to take. It's just a matter
>> > of
>> > being a good SharePoint citizen and following the rules, even if you
>> > don't
>> > like them.
>> >
>> > --
>> > Bil Simser
>> > SharePoint MVP, BSc., MCSD
>> > Calgary, Alberta
>> > http://weblogs.asp.net/bsimser
>> >
>> >
>> >
>> > "Dan Marth" <danmarth@xxxxxxxxxxxxx> wrote in message
>> > news:OAiryuRaGHA.5108@xxxxxxxxxxxxxxxxxxxx:
>> >
>> >> I hear this "don't talk directly to the db" stuff all the time and
>> >> just
>> >> had
>> >> to reply. Can you give one reason why someone shouldn't do a simple
>> >> query
>> >> against the database, other than, MS might change the field names or
>> >> MS
>> >> doesn't recommend it? I know up front that the field names might
>> >> change
>> >> and
>> >> am willing to accept that. As far as MS not recommend it, I have done
>> >> a
>> >> lot
>> >> of things over the years they don't recommend, unless there is a solid
>> >> reason for them *not* recommending it.
>> >>
>> >> I have never heard a *solid* reason for not doing a simple query on
>> >> the
>> >> db,
>> >> I also never heard of a SQL database breaking because someone queried
>> >> it.
>> >> I
>> >> am just really tired of hearing this stuff about the db, without any
>> >> good
>> >> reason not to do it. If you have any proof that doing a query on the
>> >> SharePoint db will bring down SharePoint or corrupt the database, I am
>> >> all
>> >> ears, but I have *never* see anything like that from MS. IMHO, the
>> >> only
>> >> reason they don't recommend talking directly to the db is because
>> >> field
>> >> names might change *not* because it will break anything or decrease
>> >> performance.
>> >>
>> >> Dan
>> >>
>> >> "Bil Simser [SPS MVP]" <bsimser@xxxxxxx> wrote in message
>> >> news:%23sEb5TNaGHA.504@xxxxxxxxxxxxxxxxxxxxxxx
>> >> > Sorry, missed the part about permissions. You need to be an admin
>> >> > (or
>> >> > some
>> >> > funky stuff to do this via AppPool identities) in order to talk to
>> >> > the
>> >> > topology stuff.
>> >> >
>> >> > I *strongly* recommend you *not* to talk to the db directly, even if
>> >> > you
>> >> > think it's not doing anything because you're querying it.
>> >> >
>> >> > If you can't solve a problem with the existing web services and
>> >> > object
>> >> > model, then I suggest it's not a problem you should try to solve (or
>> >> > change the parameters of the problem to fit within the boundaries of
>> >> > what
>> >> > you can do with the object model).
>> >> >
>> >> > I know that's a sucky answer, but writing code to talk to the
>> >> > database
>> >> > directly is bad (and yes, it can work and people do it, I just don't
>> >> > like
>> >> > seeing people propagate the behavior).
>> >> >
>> >> > --
>> >> > Bil Simser
>> >> > SharePoint MVP, BSc., MCSD
>> >> > Calgary, Alberta
>> >> > http://weblogs.asp.net/bsimser
>> >> >
>> >> >
>> >> >
>> >> > "Dan Marth" <danmarth@xxxxxxxxxxxxx> wrote in message
>> >> > news:eFLm1GGaGHA.4916@xxxxxxxxxxxxxxxxxxxx:
>> >> >
>> >> >> Not by permissions...............if you know how, please share.
>> >> >>
>> >> >> Dan
>> >> >>
>> >> >> "Bil Simser [SPS MVP]" <bsimser@xxxxxxx> wrote in message
>> >> >> news:Orjqum$ZGHA.3532@xxxxxxxxxxxxxxxxxxxxxxx
>> >> >> > You can get it through the classes in the
>> >> >> > Microsoft.SharePoint.Portal.Topology namespace.
>> >> >> >
>> >> >> > --
>> >> >> > Bil Simser
>> >> >> > SharePoint MVP, BSc., MCSD
>> >> >> > Calgary, Alberta
>> >> >> > http://weblogs.asp.net/bsimser
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > "Dan Marth" <danmarth@xxxxxxxxxxx> wrote in message
>> >> >> > news:eLk1YS5ZGHA.2376@xxxxxxxxxxxxxxxxxxxx:
>> >> >> >
>> >> >> >> Seems like this should be easy but I can't seem to find anyway
>> >> >> >> to
>> >> >> >> do
>> >> >> >> it
>> >> >> >> other than a SQL statement, which I would rather not do since MS
>> >> >> >> doesn't
>> >> >> >> support querying the DB. I also do need only the top level
>> >> >> >> sites a
>> >> >> >> user
>> >> >> >> has
>> >> >> >> permissions too, so I can't just query the sites list that lives
>> >> >> >> on
>> >> >> >> the
>> >> >> >> sites area of SPS. Anyone have any ideas?
>> >> >> >
>> >> >
>> >
>
.
- Follow-Ups:
- Re: Get a list of all top level WSS sites in SPS?
- From: Dan Marth
- Re: Get a list of all top level WSS sites in SPS?
- References:
- Re: Get a list of all top level WSS sites in SPS?
- From: Dan Marth
- Re: Get a list of all top level WSS sites in SPS?
- Prev by Date: load document in new webpart
- Next by Date: Re: Get a list of all top level WSS sites in SPS?
- Previous by thread: Re: Get a list of all top level WSS sites in SPS?
- Next by thread: Re: Get a list of all top level WSS sites in SPS?
- Index(es):
Relevant Pages
|