ObjectTrackingEnabled Dobrą praktyką jest ustawianie context.ObjectTrackingEnabled = false, gdy tylko odczytujemy jakieś dane.2. RunWithElevatedPrivilegesSPSecurity.RunWithElevatedPriviliges niestety nie działa z kodem LINQ To SharePoint. Istnieje jednak obejście, które znalazłem tutaj: public static void RunWithElevatedPriviliges(SPSecurity.CodeToRunElevated secureCode) { HttpContext backupCtxt = HttpContext.Current; try { // if there is a SPContext make it is as null so...
Bazy danych i XML 5185 dni, 7 godzin, 23 minuty temu 24 źrodło rozwiń
Zamieszczam przykład zastosowania LINQ To SharePoint do pobierania, zapisywania, aktualizowania i usuwania danych z dwóch list powiązanych ze sobą lookup fieldem (relacja jeden do wielu).
Bazy danych i XML 5197 dni, 4 godziny, 3 minuty temu 47 źrodło rozwiń
Prosty aczkolwiek nieoczywisty problem z działaniem SharePoint Designera 2007. Tak jak napisałem w tytule SharePoint Designer 2007 w środowisku Windows Server 2008 R2 X64 nie działa. W każdym razie w moim wypadku przy każdej próbie uruchomienia aplikacji następował natychmiastowy crash aplikacji. Nie dawała tutaj rady żadna próba uruchomienia w trybie safe mode, nie pomogła również instalacja Service Packa 2 dla SP. Niestety w sieci znajduje się całkie...
21 września zespół Microsoft SharePoint Team wykrył że luka w ASP.NET dotyczy także SharePoint w wersjach 2.0, 3.0 i w najnowszej wersji wydanej w tym roku - 4.0. Obecnie nie ma rozwiązania dla poważnej luki w bezpieczeństwie, jednakże pojawiło się obejście problemu, polegające na odpowiedniej modyfikacji web.config i dodaniu pliku obsługi błędów.
Od dłuższego czasu mam już do czynienia z kontrolkami RadControls firmy Telerik. Ostatnio wykorzystałem je w tworzeniu dużego portalu pod SharePointem. Na początku miałem problemy z konfiguracją pliku web.config dlatego też w tym poście spisuje moje doświadczenia i zalecaną konfigurację.
Wersjonowanie elementów (dokumentów) w SharePoint jest jednym z głównych opcji tej platformy nawet w bezpłatnej wersji - SharePoint Services 3.0. Prosta w obsłudze funkcja z poziomu UI może jednak dostarczyć paru problemów jeśli chcemy dostać się do niej z poziomu API. Po drugie warto mieć świadomość w jaki sposób przyrasta baza zawartości SharePoint przy włączonym wersjonowaniu. Poniższy post zawiera moje doświadczenia i metody radzenia sobie z tymi problemami.
Jakub Gutkowski: Kilka razy zdarzyło mi się opublikować przydatne metody/hacki w SharePointcie na jego API. Było już o rejestrowaniu Event Receivers (niestety kod zawierał błędy), czy też pobieraniu RedirectUrl. Dziś udostępnię wszystkie metody z jakich korzystam, nie ma ich dużo jednak są to te metody z których najczęściej korzystałem.
Z tym typem mapowania miałem najwięcej bolączki - jest on naprawdę najgorszym z jakim przyszło mi pracować i głównie zastosowałem go tylko raz by sprawdzić czy się opłaca. Post ten więc raczej jest ku przestrodze a nie opisem sposobu mapowania obiektów.
Architektura 5360 dni, 3 godziny, 32 minuty temu 35 źrodło rozwiń
LINQ jest potężnym rozszerzeniem .NET, umożliwiającym nam wykonywanie zapytań na kolekcjach obiektów co za tym idzie wybranie elmentu o ID 10 z kolekcji procownicy, staje się banalnie proste. Jednakże by LINQ zadziałało to musi istnieć jakiś provider, który przetłumaczy dane zapytanie na określony język - LINQ2SQL, LINQ2nHibernate itp. itd. Takich rozszerzeń jest masa i Charlie stara się trzymać ich listę up-to-date. Czy są to wszystkie aktualnie dostępne providery? Na pewno nie, jednakże lista jest pok...
Bazy danych i XML 5366 dni, 20 godzin, 21 minut temu 40 źrodło rozwiń
Poruszony temat jest szeroko opisywany na różnych innych blogach i moim zdaniem brakowało miejsca, w którym to wszystko by było zagregowane. Tematem głównym jest klasa SPGridView, dostępna w API od SharePointa. Jest to rozwinięcie standardowej .NET-wej klasy GridView więc poruszone kwestie przydadzą się również przy pisaniu zwykłej aplikacji ASP.NET. W tym poście pokarze jak z poziomu kodu C# podpiąć źródło, którym jest obiekt klasy ObjectDataSource, stworzyć własny szablon kolumny, włączyć stronicowanie...
W poprzednim poście przedstawiłem różne alternatywne narzędzia jeśli chodzi o tworzenie przepływów pracy z poziomu przeglądarki internetowej. Narzędzia te mimo tego, że oferują możliwości znacznie większe niż SharePoint Designer czasami nie spełniają naszych oczekiwać. W dalszej części skupię się na Nintex WorkFlow 2007 i pokażę w jaki sposób można samemu tworzyć akcje, które wykorzystywane są później w przepływach pracy.
Jako programista naturalne było dla mnie tworzenie przepływów pracy (ang. Workflow) z poziomu VisualStudio. SharePoint Designer w tym temacie udostępniał bardzo skromne funkcje. Miał jednak duży plus gdyż nie wymagał znajomości języka programowania przy tworzeniu prostych przepływów pracy. Daje to możliwość tworzenie przepływów pracy osobom, które nie są programistami. Jednak przepływy pracy tworzone z poziomu VisualStudio też mają jedną zasadniczą wadę. Naturalne jest, że każdy przepływ się zmienia - zm...
Klikając opcję w menu WebParta - "Modyfikuj udostępniony składnik WebPart" użytkownik w SharePoint ma możliwość jego skonfigurowania. W bardzo prosty sposób można też dodać dodatkowe opcje konfiguracyjne (tworzy się pole w klasie z odpowiednimi parametrami). Ten sposób ma jednak duże ograniczenie polegające na używaniu jedynie podstawowych typów danych: string, int, enum. Co zrobić jeśli chcemy udostępnić użytkownikowi listę wyboru tworzącą się dynamicznie, np.: na podstawie jakiejś listy w SharePoint ?
W moich ostatnich projektach SharePoint, było więcej kodu JS niż C# (no dobra, przesadzam, ale kodu JS było naprawdę sporo). Coraz częściej się zdarza, że operacje związane z UI są w moim przynajmniej przypadku wykonywane po stronie klienta. Nie tylko lepiej i imo szybciej to działa, ale także odciążam tym samym IIS od niepotrzebnych i zbędnych operacji. Jedyny problemem jaki ostatnio jednak miałem to rzadkie występowanie błędów w JS - pytanie właśnie czy błędów czy może coś innego na to wpłynęło. Nie z...
Wpis może nie będzie zbyt długi i odkrywczy, ale ja odkryłem ten sposób niedawno i mega uprościł mi pracę dlatego postanowiłem się nim podzieilć ;) Jak wiadomo widoki list sharepointowych są "statyczne" i w pliku schema.xml pisząc zapytanie
Autor: W poprzedniej części opisałem sposób dostępu do obiektu SPListItem za pomocą braku mapowania - dostęp odbywał się bezpośrednio przez obiekt SPListItem. W drugiej części opiszę to, co zastosowaliśmy w jednym z niesławnych projektów w 2007 roku. W wspomnianym projekcie, jak tylko zorientowaliśmy się, że SharePoint nie posiada silnie typowanych pól, stwierdziliśmy, że trzeba coś z tym zrobić. Jako że czas gonił a na temat SPS w tych czasach prawie w ogóle postów nie było wymyśliliśmy najszybszy...
Dzięki Visual Studio 2010 Tools for SharePoint w tym SharePoint Connections Server Explorer, programiści mogą mieć jedno miejsce dostępu do meta-danych dot. określonej witryny. Dzięki przemyślanemu sposobowi wytworzenia narzędzi dla SharePoint oraz MEF, tworzenie rozszerzeń dla już istniejących rozwiązań jest kwestią godzin. Stwierdziłem, że warto to wykorzystać i wczoraj usiadłem a dziś opublikowałem pierwsze swoje rozszerzenie dla SharePoint 2010 na stronach Visual Studio Gallery - dostępne także z Vis...
Może nie bezpośrednio związane z .NET, ale może się komuś przydać: Jeżeli ktoś instalował kiedyś Windows Sharepoint Services 3.0 SP 2 (WSS), to pewnie zauważył że wymagany jest Windows 2003 SP1, a próba instalacji kończy się niepowodzeniem już na samym początku (po weryfikacji systemu). Ci którzy chcą się jednak uprzeć i zainstalować WSS na nie-serwerowym Windows, polecam przeczytanie artykułów (pokazują jak to zrobić na Windows Vista i Seven).
Autor: Do tej pory nie miałem do czynie z WSS (Windows SharePoint Services) ale los chciał, że przyjdzie mi poznać również tą technologię Microsoftu. Przygodę w świecie Sharepoint'a postanowiłem zacząć od znalezienia i zebrania serwisów, blogów i książek dotyczących tego zagadnienia. Jak się szybko okazało pierwszym problemem okazała się terminologia. Doświadczony developer WSS skwitowałby to pewnie ironicznym uśmies...
Jakub Gutkowski: Pora rozpocząć pierwszy cykl na blogu, a że odkąd pisze rozwiązania w oparciu o SharePoint zawsze natrafiam na ten sam problem przy rozpoczęciu projektu - mapować czy nie mapować. Za każdym razem decyzja jest inna, do tego stopnia inna, że postanowiłem opisać w kilku postach sposoby, które wykorzystuje/wykorzystywałem i podzielić się swoimi spostrzeżeniami. Kilka słów wstępu: SharePoint jest dość specyficznym rozwiązaniem, gdzie do jednej „kolumny” można się dobrać na cztery różne...