Archive for the ‘SharePoint’ Category

Dodawanie webpartów na strony formularzy DispForm, EditForm lub NewForm

Monday, September 6th, 2010

Aby włączyć możliwość dodawania elementów webpart na stronach formularzy DispForm.aspx, EditForm.aspx lub NewForm.aspx należy w adresie URL dodać kwerendę: &PageView=Shared&ToolPaneView=2

SPContext.Current.Web.CurrentUser.LoginName – problem ze zmianą loginu

Thursday, August 12th, 2010

Po zmianie loginu wystąpił problem -  funkcja SPContext.Current.Web.CurrentUser.LoginName zwracała ciągle stary login. Próby aktualizacji danych z AD, restart IIS, nic z tych rzeczy nie pomogło.

Rozwiązanie:

# stsadm -o migrateuser -oldlogin  domena\starylogin -newlogin domena\nowylogin -ignoresidhistory

# iisreset

Działa!

PS.
Cały artykuł dotyczący migracji loginów tutaj.

Wyszukanie grup SharePoint dla użytkownika AD

Wednesday, May 12th, 2010

Jeśli tworzymy WebPart na naszą witrynę SharePoint i chcemy sprawdzić do jakich grup SharePoint należy zalogowany użytkownik to intuicyjnie szukamy tej informacji w cechach przypisanych do użytkownika a dokładnie:

SPUser uzytkownik.Groups

Jest to dobry tok myślenia tylko w przypadku, gdy użytkownicy przypisywani są do grupy SharePoint w postaci pojedynczych użytkowników Active Directory a nie Grup AD.

W tym drugim przypadku musimy użyć SPUserToken i SPGroup.ContainsCurrentUser.

Przykład:

SPSite site = new SPSite(“http://sharepoint:100/”);
SPWeb web = site.OpenWeb();

Label label = new Label();

this.Controls.Add(label);
SPUserToken userToken = site.UserToken;
using (SPSite contextSiteColl = new SPSite(“http://sharepoint:100/”, userToken))
{
using (SPWeb contextSite = contextSiteColl.OpenWeb())
{
label.Text += ” Site:” + contextSite.Name;
foreach (SPGroup grupa in contextSite.Groups)
{
if (grupa.ContainsCurrentUser)
{
label.Text += ” Należy do grupy:” + grupa.Name;
}
}

}
}

VSeWSS Service Error: No SharePoint Site exists at the specified URL.

Wednesday, May 12th, 2010

dodatkowo: VSeWSS Service Logging Error: Access to the path ‘Microsoft\VSeWSS 1.3′ is denied.

Przy zmianie środowiska dev na windows 2008 r2 z windows 2003, przy próbie publikacji webparta bezpośrednio z Visual Studio 2008 wyskoczył mi powyższy komunikat.

Dodam, że przy tworzeniu webparta z wizarda, wybrałem full trust (GAC deployment).  Żadne próby typu “Uruchom jako Administrator” nie zadziałały, fakt, że recznie przez gacutils mogłem dodawać, ale przy testowaniu nowego webparta jest to dosyć żmudne.

Sprawdziłem w IIS na jakim użytkowniku działa sobie pula aplikacji VseWss  (W menadżerze IIS -> Application pools).

Próbowałem dodać tego użytkownika do lokalnych administratorów, nie pomogło. Doczytałem chwilę poźniej, że musi on być dodany do grup: WSS_ADMIN_WPG, WSS_RESTRICTED_WPG.  Po dodaniu zadziałało!