Document integration – part 4: The ribbon has been tamed

A short update, the development of the Document Integration solution is alive and kicking.

Tonight has been a really productive evening. I established a break through in the dynamic ribbon provisioning part of the document integration solution I’m building

As of now I’m capable of injecting commandbar buttons dynamically on the ribbon, with an action attached to it. This article is written on top of the knowledge I gained in article “Hardcore CRM: Dynamic Provisioning – The man with the hammer” . Now I need to clean up the code a bit and extend it with some embedded resources, like:

  • Document icon.
    I want to use an icon on the document button
  • Embedded Javascript library containing the functions I need to show the form.
    I want to go for an embedded window showing in the current window
  • Custom HTML page
    On this page the attached documents are shown
  • Custom upload control
    Webresource that can be used to upload documents

Below, I’ll outline the idea I’m having to build the document integration solution.


The idea I have is the following:

The document integration main solution is going to contain the following elements:

  • Custom actions
    All custom actions required for the document integration
  • Configuration page
    A configuration page in which you can specify the entities that will be using document integration.
  • Provisioning code
    All logic required to build a solution and to provision and extend it
  • Embedded resources
    All resources required for the solution that is going to be created

The solution that is going to be created, will contain:

  • web resources
    icons, scripts, html pages
  • upload control
    A webresource that can be embedded on any entity for quick document upload.
  • HTML page
    A page containing a list with all documents attached to the entity
  • Commandbars
    commandbar modifications for all affected entities

Both the upload control and the HTML page, are going to use the custom actions that are specified in the main solution. The custom actions are going to be triggered using javascript calls.

If anyone has some additional ideas, please let me know. I’m looking forward to hear them.