Przypominajka o 4-tym spotkaniu grupy

Już jutro o 18:30 w siedzibie Microsoft w Warszawie odbędzie się spotkanie grupy. Więcej na temat spotkania (w tym agenda) tutaj: http://ms-groups.pl/dxpug/4_spotkanie. Rejestrujcie się w miarę możliwości, po uprzednim dodaniu do listy członków grupy.

Planujemy 2 bardzo fajne prelekcje, dlatego serdecznie zapraszam!

Microsoft Dynamics CRM 4.0 Update Rollup 10

I znów zgodnie z planem i kalendarzem, Microsoft opublikował dziś w nocy Update Rollup 10 dla Dynamics CRM.
Rollup 10 jest jak kumulatywny, zawiera również poprawki błędów, które były spowodowane… instalacją poprzednich Rollup’ów :) . Mi osobiście nie zdarzyło się napotkać na błąd spowodowany Rollup’em, ale podobno UR7 ze względu na mnóstwo zmian, gdzieniegdzie miał tendencję do powodowania błędów.

Poza poprawkami, które ukazały się do tej pory, Update Rollup 10 naprawia m.in. następujące problemy:

  • wkurzający błąd, kiedy spotkanie, którego użytkownik był organizatorem (a już nie jest) zostało zmienione, nie znikało z kalendarza outlook’a
  • do tej pory niezbyt popularny błąd Email Router’a, który objawiał się nastepującym komunikatem: „Only one usage of each socket address (protocol/network address/port) is normally permitted.”
  • problem z załącznikami podczas odpowiadania na wiadomość bezpośrednio z CRM
  • błąd z połączeniem Outlook’a do serwera tuż poinstalacji UR7
  • detekcja duplikatów nie działała podczas konwersji potencjalnych klientów do kont
  • zmiana statusu (nie stanu) szansy sprzedaży w trybie offline często była nadpisywana poprzednim statusem podczas synchronizacji do online
  • błąd z zamykaniem szansy sprzedaży z za długim opisem: „The length of the ‘subject’ attribute of the ‘opportunityclose’ entity exceeded the maximum allowed length of ’100′.”

Update Rollup 10 naprawia jeszcze kilka innych błędów, m.in. na poziomie skryptów client-side (metoda IsDirty). Generalnie wygląda na to, że to jedna z większych aktualizacji po Rollup’ie 7. Update Rollup 10 jest do ściągnięcia stąd: http://www.microsoft.com/downloads/details.aspx?displaylang=pl&FamilyID=5da4d352-1d3f-4426-9c17-b256c30afdb9, a więcej informacji w KB979347 tutaj: http://support.microsoft.com/kb/979347.

Internet Facing Deployment (IFD) – co to jest i jak skonfigurować CRM pod IFD?

Tak dużo osób ma problem z poprawną konfiguracją IFD, że postanowiłem ją wreszcie opisać. Dodatkowo postaram się wytłumaczyć w tym poście co jest czym w konfiguracji CRM’a przez internet. Mam nadzieję, że się przyda.

Co to jest IFD?
IFD (Internet Facing Deployment) to nowy (pojawił się w wersji 4.0) model instalacji i konfiguracji Dynamics CRM 4.0. W tym modelu nie jest używana domyślna autentykacja domenowa (Windows Integrated), ale autentykacja oparta o formularze (Forms authentication). Scenariusz IFD stosuje się wtedy, kiedy do CRM użytkownicy chcą dostawać się przez internet, bez połączeń VPN.

Czym różni się wdrożenie z IFD od tego bez IFD?
Przede wszystkim Dynamics CRM 4.0 skonfigurowany jako Internet Facing Deployment (IFD) dostępny będzie dla użytkowników, którzy są poza domeną, w której jest zainstalowany CRM. CRM skonfigurowany jako IFD cechuje się następującymi zmianami:

  • plik web.config zawiera informację o rodzaju autentykacji typu ServiceProviderLicenseAgreement oraz informację o szyfrowaniu klucza (dla CrmTicket authentication)
  • rejestr na serwerze jest zmieniony i aktualizowany jest klucz IfdInternalNetworkAddress mówiący o tym, dla których użytkowników ma być używany który rodzaj autentykacji (tak naprawdę dla jakich adresów)
  • tabela DeploymentProperties ma uzupełnione 3 nowe wartości zawierające dane o zewnętrznym adresie CRM

Jak poprawnie skonfigurować IFD?
Jeszcze niecałe 2 lata temu konfiguracja IFD opierała się o dostarczanie instalatorowi albo CRM’owi odpowiednich plików XML. Teraz całą konfigurację IFD można wykonać za pomocą narzędzia z graficznym interfejsem. Narzędzie, o którym mowa to CRM 4 IFD Tool dostępne tutaj: http://download.microsoft.com/download/4/e/f/4ef5f568-7320-4861-a947-47baf0966537/crm40ifdtool.zip.

  1. Po uruchomieniu CRM 4 IFD Tool na serwerze wybieramy typ autentykacji na IFD + On Premise:

  2. Pod spodem wpisujemy adresy i maski podsiecie, z których użytkownicy mają logować się „wewnętrznie”, tzn poprzez „normalne” logowanie domenowe:
  3. W okienkach dotyczących IFD wpisujemy zewnętrzny adres CRM’a. Wpisujemy tu tylko domenę i ewentualnie port, bez nazwy organizacji! CRM odpowiednio doda nazwę organizacji w ramach domeny, którą wpiszemy. Oczywiście nie muszę chyba dodawać, że zalecany jest HTTPS

  4. Uzupełniamy wewnętrzny adres CRM’a (adres zostanie automatycznie wczytany z ustawień CRM’a):

  5. Aplikujemy zmiany w IFD Tool („File” / „Apply changes”) i od tej pory mamy CRM’a, do którego użytkownicy dostający się z wewnątrz sieci będą się autentykować domenowo, a pozostali użytkownicy poprzez Forms’y.

Pamiętajcie o DNS’ach, otwarciu odpowiednich portów, a w przypadku SSL’a także o certyfikatach, żeby nie wkurzać użytkowników monitami o niepoprawnych certyfikatach…

Po WDI 2010, teraz IV spotkanie DxPUG

Już ponad tydzień minął od WDI 2010 i mojej prelekcji o platformie Dynamics CRM. Dziękuję wszystkim za miłe emaile, w których wyraziliście całkiem spore zainteresowanie Dynamics xRM. Mam nadzieję, że sesja się podobała, a platforma wydała się ciekawa. Dzięki!

IV spotkanie grupy
Teraz nadszedł czas na kolejne wydarzenie – czwarte spotkanie grupy Dynamics xRM Polish User Group. Spotkanie odbędzie się we wtorek, 13.04.2010 o 18:30, standardowo w budynku Microsoft w Warszawie. Na razie nie publikuję ageny, ponieważ czekam na potwierdzenie sesji. Tym razem, jak dobrze pójdzie, będzie mówił ktoś inny niż ja :) . Na spotkanie możecie się rejestrować tutaj: http://ms-groups.pl/dxpug/4_spotkanie.

Zmiany na stronie grupy
Trochę zmieniło sięna stronie grupy (http://ms-groups.pl/dxpug). Przede wszystkim dodałem listę członków grupy oraz instrukcje jak zarejestrować się jako członek grupy. Po rejestracji automatycznie nabędziecie uprawnienia do edycji strony, w tym forum i ankiet (wreszcie!). Zapraszam do korzystania ze stronki i do rejestracji na spotkanie!!!

CRM 5 CTP3 – wrażenia

Jak już pewnie wiecie Microsoft oficjalnie ogłosił dziś dostępność CTP3 CRM’a w wersji 5!!! CTP to oczywiście na razie Community Technical Preview, ale to posunięcie pokazuje, że CRM 5 jest już blisko :) . Oficjalne i mniej oficjalne informacje mówią już nie o końcu 2010, ale o połowie 2010 jako dacie premiery nowej wersji Dynamics CRM.
Tak się złożyło, że już jakiś czas temu trochę bawiłem się wersją 5. Oczywiście taka informacja mogła i tak pojawić się dopiero po oficjalnym ogłoszeniu. To, co totalnie pozytywnie szokuje poza zmianami opisanymi w tym poście – CRM 5 – Wiemy już coraz więcej to m.in.:

  • totalna integracja z Outlook, tzn. nie wyświetlanie stron CRM’a przez silnik IE w Outlook, tylko integracja interfejsu i danych z Outlook
  • free layout na formatkach! Juppi!!!!
  • brak stronicowania na listach rekordów – możliwość filtrowania kolumn
  • mega extra mechanizm dostosowań i pakietów (solutions) pozwalający np. na blokowanie możliwości zmian na dostosowaniach
  • totalnie przebudowany interfejs (office-like), ale i sama nawigacja po formatkach – wypas!!!

Niestety nie wiem które fimy w Polsce (poza Microsoft) biorą udział w programie CTP3. Na świecie jest ponad 400 firm, ale Polska wygląda słabiutko, bo na tę chwilę nie mam informacji o żadnej firmie, która ofijalnie testuje CTP3… :( Polski sub albo zaspał, albo o czymś nie wie. A próbuję od ponad pół roku dowiadywać się regularnie co z wczesną adopcją CRM 5. I… nic. A firmy w Danii, ba, na Ukrainie, testują CRM 5 od… ponad 4 miesięcy…

No cóż, pozostaje nam czekać. W razie czego zapraszam tu – wyprzedzimy polski MS pewnie nie raz z informacjami :P .

WDI 2010 – prelekcja o Microsoft Dynamics CRM

W tym roku mam przyjemność wystąpić na konferencji Warszawskie Dni Informatyki 2010 (WDI 2010) – http://www.wdi2010.pl/ z prelekcją na temat Microsoft Dynamics CRM. Wykład odbędzie się podczas drugiego dnia konferencji, tj. 17.03.2010 około godz. 13:00.
Podczas wykładu postaram się pokazać Dynamics CRM jako platformę do bardzo szybkiego tworzenia aplikacji biznesowych. Skupię się na tym, co lubię, czyli budowaniu rozwiązań opartych o platformę. Z uwagi na fakt, że odbiorcami prelekcji nie muszą być profesjonaliśći zajmujący się Microsoft Dynamics CRM na co dzień prezentacja ukaże tworzenie rozwiązania od początku i na każdym poziomie z wykorzystaniem wszystkich możliwości rozszerzania, jakie daje Dynamics CRM.
Zapraszam na WDI 2010!

Błąd „Object reference not set to an instance of an object”

Błąd „Object reference not set to an instance of an object” może pojawiać się w wielu kontekstach w przypadku pisanych przez nas plug-in’ów. Wtedy jednak możemy sami poprawić napisany przez siebie kod. Niestety… błąd ten pojawia się również w plug-in’ie napisanym przez Microsoft, który jest częścią normalnego „execution flow” w szczególnych przypadkach.
Jeśli podczas zapisywania rekordu macie błąd „Object reference not set to an instance of an object„, a w pliku śledzenia (trace) znajdziecie następujące fragmenty:

AssemblyName: Microsoft.Crm.ObjectModel.MultiCurrencyPlugin, Microsoft.Crm.ObjectModel
i
Microsoft.Crm.Sdk.InvalidPluginExecutionException: Object reference not set to an instance of an object.

…to padliście ofiarą nienaprawionego do tej pory przez Microsoft błędu. Błąd ten pojawia się, kiedy utworzycie jakiekolwiek pole typu money na dowolnym obiekcie. CRM automatycznie dodaje wtedy atrybut systemowy exchangerate i od tej pory dołącza do obiektu plugin przeliczający wartość z pola walutowego do waluty bazowej.
Problem zaczyna się, kiedy usunięte zostanie pole walutowe i w obiekcie nie ma już pól typu money. CRM zapomina bowiem… odrejestrować plug-in’a i nie usuwa atrybutu exchangerate, a nadal próbuje liczyć wartość w walucie bazowej, oczekując wartości z chociaż jednego pola walutowego. I… NullPointerException gotowy :) .

Rozwiązanie:
W obiekcie, na którym pojawia się ten błąd, dodajcie jakiekolwiek pole typu money. Pole nie musi być widoczne na formatce, ważne, żeby było atrybutem tego obiektu.

Update Rollup 9 dla Microsoft Dynamics CRM 4.0

Dzisiaj wyjątkowo wcześniej przed grupą produktową – wreszcie mam czas dzielić się z Wami wiedzą, zanim inni to zrobią :) . Otóż, dziś ukaże się Update Rollup 9 dla Dynamics CRM 4.0. Rollup nie tak rewolucyjny jak Rollup 7, ale nadal warty uwagi.
Update Rollup 9 oczywiście zawiera wszystkie poprawki z wcześniejszych rollup’ów i różnych fix’ów dostępnych w KB. Poza tymi poprawkami, UR 9 zawiera szereg nowych zmian, m.in.:

  • naprawiony błąd, kiedy eksportowało się arkusz dynamiczny w Excel ze środowiska wystawionego przez internet, a w arkuszu brakowało GUID’a rekordów
  • poprawiony błąd w Email Routerze, który powodował czasem, że nie śledziły się wszystkie emaila, jeśli czas na maszynie z ruterem był inny niż na Exchange Server’ze
  • nie będzie już sypania błędami w Trace’ie typu „User not found”, kiedy pula aplikacji CRM’a działała na koncie domenowym
  • usunięty błąd w instalatorze, który powodował, że podczas opcji „Napraw” usuwała się rola „Platform Server” :)

Update Rollup 9 nie wymaga instalacji żadnych innych rollup’ów na serwerze, ale wymaga co najmniej Update Rollup 7 na klientach!.
Update Rollup 9 jest do ściągnięcia tutaj: http://www.microsoft.com/downloads/details.aspx?displaylang=pl&FamilyID=5869f2b3-d1a0-4f71-8be3-fde6e8053a2e, a więcej informacji można znaleźć tu: http://support.microsoft.com/default.aspx?kbid=977650.

Przypisywanie rekordów do kolejki – naprawdę przypisywanie?

Jak pewnie większość z Was wie, rekordy posiadane przez użytkownika w Dynamics CRM 4.0 mogą być przypisywane (assign) innym użytkownikom oraz udostępnione (share) użytkownikom lub zespołom. W Dynamics CRM 4.0 nie można przypisywać do zespołu ani żadnego innego rekordu niż użytkownik (w „5″ będzie można). Ale czy na pewno?
Mniejsza część z Was może już zauważyła, że każde działanie (acitivity) i sprawę (case) można „przypisać” do kolejki:

Po takim „przypisaniu” dane działanie trafia do odpowiedniej kolejki i może być stamtąd zabrane przez odpowidniego użytkownika. Ok, to skoro jest „przypisane” do kolejki to zmienia się właściciel, tak? Nie. Właściciel działania lub sprawy przypisanej do kolejki pozostaje taki, jak był!

O co więc chodzi?! Ano chodzi o to, że działania są w pewien sposób „współdzielone” z kolejką, a nie do niej przypisywane! Są i pozostają współdzielone do momentu, kiedy użytkownik nie zaakceptuje danego działania i nie przypisze ich naprawdę do siebie. Wtedy przestają być współdzielone z kolejką, a stary właściciel zmienia się na nowego. Łatwo to zauważyć, „przypisując” konkretne działanie do kolejki, nie będąc jego właścicielem… Działanie pozostanie przypisane do starego właściciela, ale stanie się też widoczne w kolejce publicznej dla innych użytkowników.

Wniosek? Zamiast mówić o przypisywaniu spraw i działań do kolejek, należałoby raczej mówić o „udostępnianiu” ich kolejkom. Nazwanie udostępniania działań i spraw do kolejki „przypisywaniem” jest po prostu błędne, naganne, bzdurne, mylące, niepotrzebne, bezsensowne i powodujące bałagan w głowach użytkowników :) .

Update Rollup 9 dla Microsoft Dynamics CRM 4.0 – zapowiedź

… wyjdzie już jutro :) , czyli u nas w piątek w nocy. Na żywo opiszę co się będzie działo i podmienię post ;P