środa, 13 października 2010

Podpięcie do widoku listy na innej witrynie

Jeśli zrozumiałeś tytuł tego posta to wiesz w czym jest problem, ja znalazłem rozwiązanie dość ciekawe na niezastąpionej stronie pathtosharepoint.

Z innej beczki, polecam konferencje TimeForSharepoint na którą się wybieram do Krakowa, znakomici prelegenci zapewnią że nie będzie to stracony czas:)

poniedziałek, 20 września 2010

Status list na Sharepoint 2010 Standard

Niestety w wersji Standard nie ma świetnej funkcjonalności jaką jest Status List z wersji Enterprise. Więcej n.t. różnic polecam linka:
Wracając do status listy - można sobie ją zastąpić poprzez: Calculated-columns
Kroki aby to zadziałało:
1. Edytować stronę z listą (lista posiada przynajmniej jedną kolumne obliczeniową)
2. Dodać web parta - Edytor zawartości
3. We właściwościach Edytora - łącze do TextToHTML...txt
4. We właściwościach kolumny wyliczeniowej umieścić instrukcje warunkowe:
=JEŻELI([Stan realizacji]="Bardzo opóźniony";"< IMG src='/SiteAssets/SitePages/PMO/red.png' title='Bardzo opóźniony' />";)
Efekty które można uzyskać dzięku odblokowaniu możliwości umieszczania html'a w wartościach kolumn są oszałamiające - w.n.t.t. polecam http://blog.pathtosharepoint.com

czwartek, 1 kwietnia 2010

Impersonalizacja

Na sharepoint 2010 działa sobie mój customy sharepointowy web part. Ten web part pobiera jak i zapisuje niektóre atrybuty current usera do AD jak i do baz SQLowych. O ile z bazami zawsze sobie można poradzić bez impersonalizacji o tyle w przypadku Active Directory zaczęły się schody. Przykładowo normalnie schema AD pozwala na zapis niektórych atrybutów ownerowi DirectoryEntry np. mobile (sporo na temat praw dostępu do atrybutów AD). Dlatego impersonalizacja w takich przypadkach jest wskazana. Dodam jeszcze że u mnie aplikacja webowa(sharepoint-80) pracowała na application pool która używała normalnego dedykowanego użytkownika domenowego. Aby jednak to zadziałało trzeba przejść kilka kroków:
1. impersonate na true w web.config
2. włączony zaufany serwer i delegowanie przez Kerberos w AD "Users & Computers" dla serwera IIS na którym jest postawiona aplikacja ASP (reset serwera IIS wymagany)
3. Ustawienie "Negotiate" na protokole autentyfikacji aplikacji webowej w IIS
(polecam reset IIS)
4. setspn -S http://serwer/aplikacja DOMAIN_NAME\User_name na którym pracuje app pool (nie działa od razu)
Ostatni punkt jest kluczowy i ja go rozumiem w ten sposób ze użytkownik na którym pracuje app pool naszej aplikacji ASP może przyjąć ticket z Kerberosa.

Czasami też możemy chcieć wyłączyć impersonalizacje w trakcie działania programu i wrócić do użytkownika app pool - możemy to zrobić za pomocą:

using System.Web.Hosting;
...
using (HostingEnvironment.Impersonate())
{
..
}
Ogólnie polecam samemu eksperymentować bo gra jest warta świeczki jeśli nie musimy niepotrzebnie zwiększać uprawnień.
Strony które mnie pomogły:
Spencer Harbar
Directory Programming

wtorek, 9 lutego 2010

Barbarzyństwo w Redmond

Na temat Microsoftu powstało już dużo mitów i legend. Część z nich jest pewnie prawdziwa ale czy odnosi się do tej samej firmy która aktualnie działa na rynku? Do takich mitów np. należy sposób "niszczenia Netscape", facetów od marketingu w czarnych garniturach którzy są wstanie wszystko i wszystkich załatwić :), etc. To co się aktualnie dzieje w Redmond pewnie dowiemy się za kilka lat.
O tym jak było przeczytałem ostatnio w "Barbarzycy pod wodzą Billa" pisanej m.in. przez programistę Microsoftu Marlina Eller'a za jego czasów(od powstania Windows 1.0 do Windows 95/98).
Ze strony Ellera wygląda to tak że Microsoft miał bardzo dużo szczęścia w biznesie, podejście do konkurencji i tzw. "marsze śmierci". Inną książką w tym temacie jest: Bill Gates i jego imperium Microsoft ale nie dałem rady skończyć tej momentami przynudnawej książki. Jak ktoś preferuje wersje filmową to co jakiś czas na Discovery Science lecą powtórki: "Prawdziwa historia Internetu".