Strony ASP.NET rozszerzające CRM i ViewState

To, że Microsoft Dynamics CRM 4.0 jest platformą „super-rozszerzalną” wie każdy :) . Do popularnych sposobów rozszerzania należą nasze własne strony ASP.NET wyświetlane np. w pływających ramkach (iframes). Dobre praktyki nakazują umieszczanie naszych stron w folderze ISV w katalogu, do którego zainstalowane zostały pliki ze stronami używane przez Dynamics CRM (katalog CRMWeb lub dowolny wybrany przez nas podczas instalacji). Dzięki umieszczeniu stron w folderze ISV mamy dostęp do kilku ciekawych informacji przekazywanych naszym stronom przez CRM. Niestety, jest też jedna rzecz, o której warto pamiętać: fakt, że nasze strony są w podfolderze używanym przez CRM powoduje m.in., że domyślnie na nasze strony narzucane są ustawienia z web.config CRM’a. Pośród wielu ustawień jest m.in. taka linijka:

<pages buffer=”true” enableSessionState=”false” enableViewState=”false” validateRequest=”false”/>

 

Łatwo zauważyć, że przez tą linijkę nasze strony domyślnie mają wyłączony ViewState (!). Nie jest to sytuacja, której się spodziewamy… Szczególnie może zdziwić Was sytuacja, kiedy tworzycie strony i zaawansowany kod na innym środowisku. Wszystko działa, a po umieszczeniu na serwerze CRM nagle kontrolki gubią „pamięć”, co chwila dostajecie „null reference” itd. Warto wtedy sprawdzić, czy pozwalacie Waszej stronie na zarządzanie stanem (ViewState). Jeśli nie, koniecznie ustawcie to explicite. W tym celu, w kodzie strony .aspx, do pierwszej linijki, należy dodać dyrektywę EnableViewState=”true”, jak w poniższym przykładzie:

<%@ Page Language=”C#” (…) EnableViewState=”true” %>

Jeśli chcecie szyfrować zawartość ViewState, możecie dodać też EnableViewStateMac=”true”.

Miłego kodowania i mniej nerwów, jak po postback’u macie puste listy! :)

II spotkanie grupy Dynamics xRM Polish User Group

19 maja 2009, we wtorek, o godz. 18:00 w Microsoft przy Al. Jerozolimskich 195A w Warszawie odbędzie się drugie spotkanie grupy Dynamics xRM Polish User Group (DxPUG). W czasie spotkania będzie „bardzo technicznie”, bo planujemy dwie sesje o rozszerzaniu platformy Dynamics CRM 4.0. Tomek Filipowicz opowie o plug-in’ach, ich roli, cechach i sposobie pisania. Ja za to powiem trochę o UWAGA, UWAGA CRM 5.0! Na razie tylko informacje, które można przekazać, ale będziemy na pewno pierwsi :) .

Zapraszam wszystkich do rejestracji na II spotkanie grupy tutaj: Rejestracja na II spotkanie DxPUG.

Update Rollup 4 dla Microsoft Dynamics CRM 4.0

Tym razem piszę znów, zanim informacja pojawi się na blogu grupy produktowej ;) . Rano 8 maja 2009 (polskiego czasu), tzn. przedwczoraj, ukazał się kolejny zbiór poprawek i ulepszeń do Microsoft Dynamics CRM 4.0. Tym razem mamy do czynienia z Update Rollup 4.

Oczywiście Update Rollup 4 jest kumulatywny, a tzn że zawiera wszystkie poprawki, które do tej pory pojawiły się w poprzednich 3 Rollup’ach. Dodatkowo zawiera oczywiście szereg nowych fix’ów: od błędu, przez który czasem podczas korespondencji seryjnej brakuje danych w polu „Użytkownik” przez poprawkę dla błędu „Invalid argument”, który czasem pojawiał się po imporcie przepływów pracy; aż po poprawki w SDK i zmiany nazw wyświetlanych niektórych pól w konkretnych językach.

UWAGA:

Bądźcie ostrożni z aplikacją Update Rollup 4 na serwerach, gdzie jest tylko Rollup 1. Jeśli tak zrobicie, a środowisko developerskie nadal będzie miało Rollup 1, nie da się zaimpotować dostosowań. A to dlatego, że nie można eksportować i importować dostosowań między środowiskami „Rollup 1 <-> Rollup 4″.

Update Rollup 4 można ściągnąć tutaj: http://www.microsoft.com/downloads/details.aspx?FamilyID=0ddf8e83-5d9c-4fe7-9ae6-f2713a024071&displaylang=en, a więcej informacji o wszystkich poprawkach jest w tym KB 968176: http://support.microsoft.com/kb/968176.

SP2 dla Office 2007 i Dynamics CRM 4.0

Jak pewnie wiecie, 28 kwietnia ukazał się Service Pack 2 (SP2) dla Office 2007. Między innymi ulepszeniami i poprawkami, najwięcej poprawek (albo raczej „największe zmiany”) mamy dla Outlook’a. No, a skoro Outlook miał się zmienić, to dla nas – użytkowników Dynamics CRM najważniejsze jest czy zauważymy zmiany, pracując w CRM z wykorzystaniem Outlook’a. Trochę trwało to moje testowanie i wnioski (tylko i wyłącznie moje, ktoś może się nie zgadzać) są następujące:

  • dzięki temu, że Outlook 2007 z SP2 rzeczywiście nie ładuje niektórych dodatków przed uruchomieniem, program uruchamia się znacznie szybciej. A to znaczy, że dodatek dla CRM też ładuje się szybciej :)
  • wreszcie Outlook nie czeka i nie „wiesza” poczty podczas ładowania dodatku Dynamics CRM for Outlook. Wreszcie! Różnica po testach na 3 komputerach jest widoczne i wydaje się być znacząca. Po zainstalowaniu SP2 zniknął problem, przez który praktycznie niemożliwa była praca z pocztą podczas ładowania dodatku dla CRM. Pamiętacie „Outlook nie odpowiada”, kiedy ładował się klient CRM, a kliknęliście na wiadomość z listy? Nie zobaczyłem tego po zainstalowaniu SP2 ani razu!
  • Microsoft obiecał, że SP2 ograniczy liczbę upadków Outlook’a 2007 i liczbę sytuacji, w których pliki danych są „naprawiane”. Również wtedy, kiedy upadek spowodowany jest jakimś dodatkiem. I co? Okazuje się, że to znów prawda. Mimo, że klient Dynamics CRM dla Outlook kilka razy „padł” podczas okresu testowania, Outlook ani razu nie płakał jak kiedyś, że coś stało się z plikami danych. Rewelacja…

Co jeszcze daje SP2 dla Office 2007 dla użytkowników Dynamics CRM 4.0? No, może warto wspomnieć, że teraz oferty robione dla klientów za pomocą Korespondencji Seryjnej w Word’zie albo arkusze Excel z wyeksportowanymi danymi będziemy mogli zapisywać w formacie OpenDocument – odpowiednio *.odt i *.ods :-D .

Ogólnie – warto zainstalować SP2 dla Office 2007. Jeśli jeszcze go nie macie, link jest tu: http://www.microsoft.com/downloads/details.aspx?displaylang=pl&FamilyID=b444bf18-79ea-46c6-8a81-9db49b4ab6e5