Piotrek 的个人资料XRM.NET照片日志列表 工具 帮助

日志


12月20日

CRM "5" - Programowanie po stronie serwera

 
Na Channel 9 pojawiło się kolejne video, zawierające informacje na temat nadchodzącej, najnowszej wersji systemu Dynamics CRM (kodowa nazwa: "CRM 5" :)).
Tym razem Andy Bybee (Principal Program Manager Lead), Allen Hafezipour (Senior Program Manager) oraz Nirav Shah (Senior Dev Lead) z Microsoftu zdradzają kolejne informacje na temat programowania na platformie Dynamics CRM po stronie serwera.
 
Omawiany materiał znajduje się pod adresem:
 
12月12日

Błędy logowania do Dynamics CRM 4.0 (ciag dalszy)...


"The key specified to compute a hash value is expired, only active keys are valid"
 
Powyższy błąd powitał mnie dzisiaj przy próbie zalogowania do systemu Dynamics CRM w naszym wewnętrznym środowisku developerskim. Po krótkiej inwestygacji udało mi się odnaleźć przyczynę - "leżącą" usługę Microsoft CRM Asynchronous Processing Service.
 
Po uruchomieniu usługi oraz restarcie Internet Information Services wszystko wróciło do normy :).
12月2日

Dynamics CRM - wykorzystywanie FilteredViews poza raportami

 
FilteredViews (czyli „widoki filtrowane” :)) są w systemie Dynamics CRM wykorzystywane do pozyskiwania danych do raportów. Pozwalają one na zachowanie modelu uprawnień systemu CRM na poziomie bezpośrednich zapytań do bazy danych. Prawidłowe działanie raportów dla systemu Dynamics CRM 4.0 (zwłaszcza w przypadku gdy serwery CRM oraz SQL zainstalowane są na osobnych, fizycznych maszynach) zapewnia CRM Connector for Reporting Services.
 
Czasami pojawia się jednak potrzeba wykorzystania FilteredViews poza rozwiązaniami opartymi o Reporting Services. Przykładami takich zastosowań mogą być rozszerzenia systemu takie juz Pluginy, Workflows lub strony webowe umieszczone w IFrame’ach. W niektórych przypadkach (polegających przykładowo na pobraniu dużej ilości danych w oparciu o skomplikowane warunki) bezpośrednie odwołania do bazy danych, z pominięciem CRM-owych web service’ów, mogą w znaczący sposób przyśpieszyć działanie aplikacji. W scenariuszach tego typu zazwyczaj napotykamy jednak na problemy związane z autentykacją i impersonacją użytkowników systemu CRM na poziomie bazy danych. Istnieją dwa możliwe rozwiązania powyższego problemu:
 
1. Ustawienie delegacji między serwerami na poziomie Active Directory oraz wykorzystanie mechanizmu autentykacji opertego o Kerberosa. Metoda ta powinna rozwiązać problem, jest ona jednak często trudna do przeforsowania (zwłaszcza w środowiskach produkcyjnych klientów). W przypadku wystąpienia błedów związanych z dostępem do bazy danych – znalezienie ich (błedów) przyczyny – może być także niebanalnym zadaniem.
 
2. Drugą metodą jest uzyskanie dostępu do bazy danych na poziomie użytkownika, w kontekście którego uruchomiona jest pula aplikacji systemu CRM na serwerze IIS, a następnie zmiana kontekstu wywołania kodu, bezpośrednio na serwerze bazodanowym. Poniżej przedstawiam  przykładową procedurę składowaną wykorzystującą wspomniany mechanizm:
 

CREATE PROCEDURE TestStoredProcedure
(
   @userid uniqueidentifier
)
AS
 
DECLARE @original uniqueidentifier

SET @original = context_info()
SET context_info @userid
 
SELECT lastname FROM filteredcontact
 
IF @original is null
   SET context_info 0x
ELSE
   SET context_info @original
END
 
Należy pamiętać o tym, aby przed zakończeniem procedury przywrócić oryginalny kontekst jej wykonania.
12月1日

Rollup 1 dla Dynamics CRM 4.0

 
W zeszłym tygodniu, bez większego rozgłosu, ukazał się pierwszy zbiór poprawek (Rollup) do aplikacji Dynamics CRM 4.0. W ogromnej większości zawiera on uaktualnienia, które były do tej poru udostępniane jako pojedyncze poprawki, dostępne w ramach Microsoft Knowledge Base oraz usług supportowych.
 
Rollup 1 dostępny jest dla kilkunastu wersji językowych systemu.
Możemy znaleźć go pod następującym adresem:
 
Szczegółowy opis wprowadzanych zmian: