Kolejny dodatek do CRM – "CRM Notifications Accelerator"

W ramach rozszerzania Dynamics CRM o kolejne bardzo przydatne funkcjonalności (np. zaawansowaną analitykę opartą o OLAP, rozszerzone prognozowanie sprzedaży lub wyszukiwanie danych w wielu systemach na raz), product team znów zaskoczył :) . Pojawiła się informacja o następnym dodatku (oczywiście darmowym) – tzw. Notifications Accelerator„.
W skrócie chodzi o to, że użytkownicy Dynamics CRM będą mogli „zapisywać” się do konkretnych zdarzeń w systemie i dostawać powiadomienia w postaci RSS o wystąpieniu tych zdarzeń. Każdy użytkownik będzie mógł indywidualnie włączać notyfikację np. o tym, że pojawił się nowy potencjalny klient lub, że do kolejki trafiła kolejna sprawa.

To już siódmy z zapowiadanych dodatków (akceleratorów). Jak wszystkie poprzednie, znaczącą rozszerzy system. Będzie również dostępny za darmo i dostarczany razem z kodem źródłowym! To lepsze niż open source :) . Bo mamy przynajmniej pewność, że otwarty kod został stworzony przez doświadczony zespół, który uwzględnił uwagi równie doświadczonych Klientów i Partnerów. A nie musi uwzględniać uwag dzieciaków bawiących się z PHP, jak to bywa z open source :) .

Egzamin MB2-633 – Microsoft Dynamics CRM 4.0 Installation and Deployment

Żeby tradycji stało się zadość, powinienem opisać tu wrażenia z trzeciego egzaminu poświęconego Dynamics CRM 4.0 :) . Zdałem ten egzamin już dość dawno temu, ale ciągle nie miałem czasu, żeby zebrać spisane uwagi i napisać na ten temat posta…

Egzamin „MB2-633 – Microsoft Dynamics CRM 4.0 Installation and Deployment” jest niestety trochę podobny do „MB2-632 – Microsoft Dynamics CRM 4.0 Applications”. Jest na pewno bardziej dopracowany, ale nadal widać, że przygotowywany był przez ludzi kopiujących pytania z podobnego egzaminu dla Dynamics CRM 3.0…
Zdarzają się pytania, w których wymagane są dwie odpowiedzi „Choose the two that apply” podczas gdy można wybrać tylko jedną (radiobuttony). Ja np. miałem też dwa razy to samo pytanie. Najgorszą rzeczą są jednak pytania „żywcem” skopiowane z egzaminu „Installation” dla Dynamics CRM 3.0 – np. pytanie o uprawnienia potrzebne do synchronizacji danych offline w kliencie Outlook’owym. Wśród odpowiedzi nie ma w ogóle możliwości wyboru „Go offline”, które byłoby jedyną dobrą odpowiedzią na to pytanie. Jest natomiast wymienione uprawnienie, które można było wybierać w CRM 3.0…
Fajnie jest też przeczytać na egzaminie o „Laptop Client for Outlook”, który od wersji 4.0 wcale nie nazywa się już w ten sposób :) .

Nie wiem co się dzieje z egzaminami Dynamics, ale po raz kolejny upewniłem się, że przygotowują je na pewno osoby, które prawdopodobnie nie widziały nawet systemu. A na pewno nie widziały wersji 4.0 Dynamics CRM…

Tworzenie Mapowania danych i ładowanie przykładowych danych – niedociągnięcia

Tworzenie mapowań danych to bardzo przydatna funkcja w Dynamics CRM 4.0. Raz utworzone mapy mogą być używane do importu danych wielokrotnie. Dodatkowo, mapy pozwalają mapować nie tylko atrybuty podstawowych typów, ale również listy wartości.
Ten post jednak nie będzie zachwalał mechanizmu mapowań (który i tak ma dużo mniejsze możliwości od Menadżera migracji danychData Migration Manager’a), ale miał być poświęcony jednej bardzo uciążliwej rzeczy potrzebnej do utworzenia mapy…

Załóżmy, że mamy plik CSV rozdzielony średnikami (ważne do zapamiętania na później :) ). Bez żadnego problemu możemy go oczywiście zaimportować, używając standardowego mechanizmu importu. Problem (ciekawostka) pojawia się, kiedy chcemy sobie utworzyć nowe mapowanie danych dla konkretnego pliku.
Idąc standardowymi krokami, wybieramy z menu „Narzędzia” -> „Importuj dane”. W kreatorze importu wybieramy plik z danymi źródłowymi. Ten plik może być w jednym z czterech formatów:


W kolejnym kroku możemy wybrać typ rekordu docelowego i istniejące mapowanie. Jeśli nie mamy odpowiedniego mapowania, możemy zdecydować się na utworzenie nowego:


Ciekawie robi się, kiedy w okienku nowego mapowania przejdziemy do atrybutów i klikniemy guzik „Załaduj przykładowe dane”:


Kiedy załadujemy nasz plik źródłowy, który jest rozdzielany średnikami, zdziwimy się, że wszystkie kolumny są zmapowane do jednej:

Dlaczego tak się dzieje? Ano dlatego, że funkcja ładująca przykładowe dane zawsze oczekuje danych rozdzielonych przecinkami! Moim zdaniem jest to niedociągnięcie, bo i w tym miejscu mogliśmy mieć wybór rodzaju „znaku rozdzielającego” podobnie jak przy imporcie, który wcześniej rozpoczęliśmy.

Druga dziwna rzecz z ładowaniem przykładowych danych podczas tworzenia mapowania to fakt, że musimy ręcznie ograniczyć wielkość pliku, który chcemy użyć jako przykład. CRM zamiast załadować tylko nagłówki kolumn i np. pierwszy wiersz, próbuje zawsze ładować cały plik, co często kończy się błędem.

Pamiętajcie więc, że ładowanie przykładowych danych potrzebuje małego pliku rozdzielonego przecinkami niezależnie od tego, że import możemy zrobić swobodnie z pliku, w którym dane rozdzielone są np. tabulatorem…

HTTP 401: Brak autoryzacji podczas przeglądania raportów

Jeśli podczas próby generowania dowolnego raportu w Dynamics CRM zdarzy Wam się natrafić na błąd „Nie wykonano żądania ze stanem HTTP 401: Brak autoryzacji” nie wpadajcie w panikę! :) W CRM 3.0 seria kroków do naprawienia problemu była całkiem długa i wymagała sporo wiedzy (np. ustawienie delegacji na serwerach, ustawienie SPN itd). W CRM 4.0 natomiast, mamy Dynamics CRM Data Connector for Microsoft SQL Server Reporting Services! :) . Narzędzie to niweluje potrzebę podwójnej autentykacji (tzw. Kerberos double-hop) między serwerami.

Narzędzie znajduje się na płycie z Dynamics CRM 4.0. i musi być zainstalowane tuż po instalacji serwera CRM. Jego instalacja wprowadza kilka zmian w sposobie łączenia się z Reporting Services, dzięki czemu nie musimy już ręcznie ustawiać serwera CRM jako „zaufany dla delegacji”. Aby upewnić się, że CRM Data Connector for SSRS został poprawnie zainstalowany, należy na serwerze z Reporting Services otworzyć Report Managera (http://serwer/reports) i otworzyć folder z raportami systemu CRM – zazwyczaj „v4.0″. W tym folderze trzeba znaleźć źródło danych raportów CRM – zazwyczaj „MSCRM_DataSource”. Jeśli raporty są skonfigurowane prawidłowo po instalacji konektora, źródło danych będzie wyglądać jak poniżej:

Jeśli po instalacji konektora, dalej pojawia się błąd „Nie wykonano żądania ze stanem HTTP 401: Brak autoryzacji” („The request failed with HTTP status 401: Unauthorized”), nie zapomnijcie zrestartować serwera IIS, na którym zainstalowany jest CRM – to pomaga!!! :)

Nowe SDK 4.0.6 już dostępne

29 sierpnia pojawiła się nowa wersja SDK dla Dynamics CRM. Najnowsza wersja oznaczona jest numerkiem 4.0.6 i zawiera wiele zmian. Poprawione są m.in. błędy związane z użyciem DynamicEntity i referencji, o których pisałem tu: http://www.crmblog.pl/2008/08/bdy-w-sdk-405.html, a o których informowałem osoby z zespołu redagującego SDK dużo wcześniej :) .

Dodatkowe zmiany to pojawienie się ciekawej sekcji o pisaniu własnych rozszerzeń E-mail Router’a, lepszy opis funkcji globalnych dostępnych w JScript i opis jak dodawać Web References w Visual Studio 2008 ;) .

SDK jest dostępne tutaj: http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en