CRM 2011 – Dynamics CRM 2011 Developer Training Videos

I found this brilliant set of videos regarding CRM 2011 Developer Training.

http://channel9.msdn.com/Series/DynamicsCRM2011/

Before I found a good youtube series from the Sonoma Partners, 10 videos containing the front end customizations and this highlights the changes you can make without doing any developing or code based solutions

but this new resource focuses on the new features in CRM 2011 in the development area.  It runs through things like solutions, the ribbon, plugins, linq, odata, WCF webservices, visualization, JQuery and silverlight.  It is a very extensive collection and only last week they added 6 more videos so it’s worth keeping an eye on this page.

Here is the list of current CRM 2011 Developer Training videos

Introduction to CRM 2011 Training Kit

Introduction to CRM 2011 Training Kit

Solutions – Data Modeling

Solutions – Data Modeling

Solutions – Introduction

Solutions – Introduction

Solutions – Managed & UnManaged

Solutions – Managed & UnManaged

Solutions – Publishing

Solutions – Publishing

UX Extensibility – Intro

UX Extensibility – Intro

UX Extensibility – Ribbon

UX Extensibility – Ribbon

UX Extensibility – WebResources

UX Extensibility – WebResources

Processes – Introduction

Processes – Introduction

Plugins – Registration & Diagnostics

Plugins – Registration & Diagnostics

Plugins – Introduction

Plugins – Introduction

oData endpoint

oData endpoint

LINQ Provider

LINQ Provider

Web Services – Entity Class & Querying

Web Services – Entity Class & Querying

Web Services – WCF Endpoint Intro

Web Services – WCF Endpoint

Visualizations – Dashboards

Visualizations – Dashboards

Visualizations – Charts

Visualizations – Charts

UX Extensibility – Filtered Lookups

UX Extensibility – Filtered Lookups

UX Extensibility – Client Scripting

UX Extensibility – Client Scripting

Processes – Workflow

Processes – Workflow

Processes – Dialogs

Processes – Dialogs

Processes – Performance & Versioning

Processes – Performance & Versioning

Role based UI

Role based UI

Field Level Security

Field Level Security

jQuery & oData

jQuery & oData

Silverlight & CRM – Part 1

Silverlight & CRM – Part 1

Silverlight & CRM – Part 2

Silverlight & CRM – Part 2

SharePoint & CRM

SharePoint & CRM

Azure AppFabric & CRM

Azure AppFabric & CRM

Windows Azure & CRM

Windows Azure & CRM

Upgrading from CRM 4.0 to CRM 2011

Upgrading from CRM 4.0 to CRM 2011

 

Advertisement

CRM 2011 – Hide Create Related tab from a custom entity

I like Nashant Rana’s weblog because he often puts in very small but very useful posts, which get straight to the point, like this one.
Hiding Create Related tab from a custom entity in crm 2011

The example just shows how to hide a custom entities create related tab


Suppose the name of the custom entity is new_case.

We can make use of following XML definiton to do that

<CustomActions>

<HideCustomAction Location=”Mscrm.Form.new_case.Related”
HideActionId=”Sample.Form.new_case.Related.HideAction”  />
<HideCustomAction Location=”Mscrm.HomepageGrid.new_case.Related”
HideActionId=”Sample.HomepageGrid.new_case.Related.HideAction”  />

<CustomActions>

CRM 2011 – The /sdk/list.aspx metadata browser has gone!

Someone asked me if certain fields were in a custom entity.  So to be clever I thought I would show him the quick and easy way to view the metadata.  The nice clever way of viewing the metadata through internet browser

e.g.

http://servername:5555/OrganisationName/sdk/list.aspx

or a slightly more real example

http://testserver:5555/HoskOrg/sdk/list.aspx

 

Anyway I did this only to get a server 404 error

404 – File or directory not found.

The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

What the?!?!

I then found this forum discussion, which confirmed Microsoft had removed it in CRM 2011, WHY

The old metadata browser that was included in CRM 3 & CRM 4 has been removed for CRM 2011.

In CRM 4 it only worked for the default organization.

We are working on a sample solution that will provide the same experience but it has been blocked for a while. We do intend to make this available before CRM 2011 is released.

At this point it will most likely be a solution that you can install and view from the settings area.

In the meantime, you will see that most of the sampe information for system entities has been included in the SDK documentation.

this is what the other fella suggest

 

Use the metadata browser solution provided in the SDK download package. This lets you view the metadata for an organization, including all customizations. The path for metadata browser solution is \sdk\samplecode\cs\metadata. Hope this helps.

 

It’s a bit disappointing because not only did I use that but it also made me look a plonker

 

CRM 2011 – Why .NET 4 and ASP.NET is good to know

I am currently studying for the Microsoft certification 70-515 – TS: Web Applications Development with Microsoft .NET Framwork 4. It’s interesting because although I am certified in all of the CRM 4 certifications (applications, customizations, installation and extending) there are still areas I would like to improve to extend CRM.

In terms of extending CRM 2011 it has been quite a big jump from from CRM 4 because the code is based on .NET 4 and not .NET 2.

The webservices have changed from web services to WCF.

You can also use LINQ.

JQuery

To really take advantage of these improvements I need to upgrade my .NET knowledge and I thought studying for these certification would be a good way to do this.

It’s also interesting because I although I have been using .NET for the past few years, I haven’t used much of the .NET 4 features and have only used the parts of .NET and ASP.NET that I have needed to do the task at hand.  This has meant I have some gaps in my knowledge like LINQ and JQuery that I would like to get to grips with.

My .NET buddies are always bigging up JQuery so I really should learn about this.

CRM 2011 also allows you to use Silverlight, which will mean you can add some pretty good functionality to your forms.

 

I find it quite interesting reading about .NET 4 because I am a certified Java developer I often understand how web pages work by thinking about how Java does it and JSP pages etc and then use this to understand how .NET and ASP pages work.  It reminds me of how people learn new languages and say they think in one language.

The more I use .NET and ASP.NET the more I should start to think in .NET!!!!

I have to say it’s going to be a lot more work than studying for my CRM exams and this is probably because this exam covers a much larger criteria.  For starters the self help study book is 999 pages long!!!  Although there is a lot of stuff to study, it certainly won’t hurt to know these things because I can see they will often come in useful and the areas I know I can skim.

Here is the criteria

Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.
Developing Web Forms Pages (19%)
  • Configure Web Forms pages.

    This objective may include but is not limited to: page directives such as ViewState, request validation, event validation, MasterPageFile; ClientIDMode; using web.config; setting the html doctype

    This objective does not include: referencing a master page; adding a title to a Web form

  • Implement master pages and themes.

    This objective may include but is not limited to: creating and applying themes; adding multiple content placeholders; nested master pages; control skins; passing messages between master pages; switching between themes at runtime; loading themes at run time; applying a validation schema

    This objective does not include: creating a master page; basic content pages

  • Implement globalization.
    This objective may include but is not limited to: resource files, browser files, CurrentCulture, currentUICulture, ASP:Localize
  • Handle page life cycle events.
    This objective may include but is not limited to: IsPostback, IsValid, dynamically creating controls, control availability within the page life cycle, accessing control values on postback, overriding page events
  • Implement caching.
    This objective may include but is not limited to: data caching; page output caching; control output caching; cache dependencies; setting cache lifetimes; substitution control
    This objective does not include: distributed caching (Velocity)
  • Manage state.
    This objective may include but is not limited to: server-side technologies, for example, session and application; client-side technologies, for example, cookies and ViewState; configuring session state (in proc, state server, Microsoft SQL Server; cookieless); session state compression; persisting data by using ViewState; compressing ViewState; moving ViewState
Developing and Using Web Forms Controls (18%)
  • Validate user input.

    This objective may include but is not limited to: client side, server side, and via AJAX; custom validation controls; regex validation; validation groups; datatype check; jQuery validation

    This objective does not include: RangeValidator and RequiredValidator

  • Create page layout.

    This objective may include but is not limited to: AssociatedControlID; Web parts; navigation controls; FileUpload controls

    This objective does not include:  label; placeholder, panel controls; CSS, HTML, referencing CSS files, inlining

  • Implement user controls.
    This objective may include but is not limited to: registering a control; adding a user control; referencing a user control; dynamically loading a user control; custom event; custom properties; setting toolbox visibility
  • Implement server controls.

    This objective may include but is not limited to: composite controls, INamingContainer, adding a server control to the toolbox, global assembly cache, creating a custom control event, globally registering from web.config; TypeConverters

    This objective does not include: postback data handler, custom databound controls, templated control

  • Manipulate user interface controls from code-behind.

    This objective may include but is not limited to: HTML encoding to avoid cross-site scripting, navigating through and manipulating the control hierarchy; FindControl; controlRenderingCompatibilityVersion; URL encoding; RenderOuterTable

    This objective does not include: Visibility, Text, Enabled properties

Implementing Client-Side Scripting and AJAX (16%)
  • Add dynamic features to a page by using JavaScript.
    This objective may include but is not limited to: referencing c
    lient ID; Script Manager; Script combining; Page.clientscript.registerclientscriptblock; Page.clientscript.registerclientscriptinclude; sys.require (scriptloader)
    This objective does not include: interacting with the server; referencing JavaScript files; inlining JavaScript
  • Alter a page dynamically by manipulating the DOM.

    This objective may include but is not limited to: using jQuery, adding, modifying, or removing page elements, adding effects, jQuery selectors

    This objective does not include: AJAX

  • Handle JavaScript events.
    This objective may include but is not limited to: DOM events, custom events, handling events by using jQuery
  • Implement ASP.NET AJAX.

    This objective may include but is not limited to: client-side templating, creating a script service, extenders (ASP.NET AJAX Control Toolkit), interacting with the server, Microsoft AJAX Client Library, custom extenders; multiple update panels; triggers; UpdatePanel.UpdateMode; Timer

    This objective does not include: basic update panel and progress

  • Implement AJAX by using jQuery.

    This objective may include but is not limited to: $.get, $.post, $.getJSON, $.ajax, xml, html, JavaScript Object Notation (JSON), handling return types

    This objective does not include: creating a service

Configuring and Extending a Web Application (15%)
  • Configure authentication and authorization.

    This objective may include but is not limited to: using membership, using login controls, roles, location element, protecting an area of a site or a page

    This objective does not include:  Windows Live; Microsoft Passport; Windows and Forms authentication

  • Configure providers.

    This objective may include but is not limited to: role, membership, personalization, aspnet_regsql.exe

    This objective does not include: creating custom providers

  • Create and configure HttpHandlers and HttpModules.
    This objective may include but is not limited to: generic handlers, asynchronous handlers, setting MIME types and other content headers, wiring modules to application events
  • Configure initialization and error handling.
    This objective may include but is not limited to: handling Application_Start, Session_Start, and Application_BeginRequest in global.asax, capturing unhandled exceptions, custom error section of web.config, redirecting to an error page; try and catch; creating custom exceptions
  • Reference and configure ASMX and WCF services.

    This objective may include but is not limited to: adding service reference, adding Web reference, changing endpoints, wsdl.exe, svcutil.exe; updating service URL; shared WCF contracts assembly

    This objective does not include: creating WCF and ASMX services

  • Configure projects and solutions, and reference assemblies.
    This objective may include but is not limited to: local assemblies, shared assemblies (global assembly cache), Web application projects, solutions, settings file, configuring a Web application by using web.config or multiple .config files; assemblyinfo
  • Debug a Web application.
    This objective may include but is not limited to: remote, local, JavaScript debugging, attaching to process, logging and tracing, using local IIS, aspnet_regiis.exe
  • Deploy a Web application.

    This objective may include but is not limited to: pre-compilation, publishing methods (e.g.,
    MSDeploy, xcopy, and FTP), deploying an MVC application

    This objective does not include: application pools, IIS configuration

Displaying and Manipulating Data (19%)
  • Implement data-bound controls.

    This objective may include but is not limited to: advanced customization of DataList, Repeater, ListView, FormsView, DetailsView, TreeView, DataPager, Chart, GridView

    This objective does not include: working in Design mode

  • Implement DataSource controls.

    This objective may include but is not limited to: ObjectDataSource, LinqDataSource, XmlDataSource, SqlDataSource, QueryExtender, EntityDataSource

    This objective does not include: AccessDataSource, SiteMapDataSource

  • Query and manipulate data by using LINQ.

    This objective may include but is not limited to: transforming data by using LINQ to create XML or JSON, LINQ to SQL, LINQ to Entities, LINQ to objects, managing DataContext lifetime

    This objective does not include: basic LINQ to SQL

  • Create and consume a data service.
    This objective may include but is not limited to: WCF, Web service; server to server calls; JSON serialization, XML serialization

    This objective does not include: client side, ADO.NET Data Services

  • Create and configure a Dynamic Data project.
    This objective may include but is not limited to: dynamic data controls, custom field templates; connecting to DataContext and ObjectContext
Developing a Web Application by Using ASP.NET MVC 2 (13%)
  • Create custom routes.
    This objective may include but is not limited to: route constraints, route defaults, ignore routes, custom route parameters
  • Create controllers and actions.
    This objective may include but is not limited to: Visual Studio support for right-click context menus; action filters (including Authorize, AcceptVerbs, and custom) and model binders; ActionResult sub-classes
  • Structure an ASP.NET MVC application.
    This objective may include but is not limited to: single project areas (for example, route registration, Visual Studio tooling, and inter-area links); organizing controllers into areas; shared views; content files and folders
  • Create and customize views.

    This objective may include but is not limited to: built-in and custom HTML helpers (for example, HTML.RenderAction and HTML.RenderPartial), strongly typed views, static page checking, templated input helpers, ViewMasterPage, ViewUserControl

    This objective does not include: Microsoft.Web.Mvc Futures assembly