Developing for Dynamics GP

by David Musgrave (Perth, WA, Australia) and the Microsoft Dynamics GP Developer Support Team (Fargo, ND, USA)

Dynamics GP Developer Insights: Web Client Window Ribbon - Part 1

Dynamics GP Developer Insights: Web Client Window Ribbon - Part 1

Rate This
  • Comments 10

Rushi Patel - Click for blog homepageHey, I am Rushi Patel. I am a software developer working on the Microsoft Dynamics GP team in Fargo the last 3 years. I like to spend my time with my family, watching movies and cricket.

At Microsoft, I have worked on Office Accounting and Dynamics GP Workflow prior to my current project – the GP web client. I mostly worked on the UI features of web client before I started working on the Window Ribbon feature. Window Ribbons, as the name implies, appears to be a purely UI concept. That’s true, however there are many dependencies to make Window Ribbons render on web client such as sanScript code and Dexterity support/enhancements that will be explained in depth in this series of articles. 

Note: Click on the images for larger versions.


Introduction

Are most of you aware that the Dynamics GP desktop client already has a Ribbon rendered on its list pages?

The web client will have a similar Ribbon with the same features rendered on its window. All non-modal windows by default will have a Window Ribbon displayed when they are rendered in Dynamics GP web client.

Default Ribbon Rule

There are hundreds of windows that require a Window Ribbon on the Dynamics GP web client. Instead of creating a Window Ribbon definition for each of those windows separately (which is not only time consuming but also a maintenance challenge), we designed a set of  default Window Ribbon rules that will be applied to each window that requires a Window Ribbon on the Dynamics GP web client. Here are some of those rules:

Rule 1: Ribbon Groups

A Window Ribbon must have predefined groups in the following order and Window Ribbon groups will be displayed only if items exist for that group.

  • Actions
  • Form level menus
  • Additional
  • GoTo
  • File
  • Help

Rule 2: Action Group

All Push Buttons and Button Drop Lists (BDL) in control area (except for a few that belong to an exception list) must be part of Actions Window Ribbon Group.

Some Push Buttons (e.g. field “Ok Button”) if exist in footer of the window should go in to Actions Window Ribbon Group.

Rule 3: Form level menus

Form-level menus are used to add menu items that are specific to a single form. They are created using the form definition window.

Each form level menu will have respective Window Ribbon group when rendered on web client window.

Rule 4: Additional menu

There is a built-in command list (cmdListFormTriggers) that gets rendered as a “Additional” menu on Dexterity window when a form is registered with a trigger (e.g. Trigger_RegisterForm()).

The Additional menu, if it exists on a Dexterity window, must be displayed as the Additional Window Ribbon group on web client window.

Rule 5: GoTo Group

If a “GoTo” button drop list exists in the control area, make it a GoTo Window Ribbon group on the web client window.

Rule 6: Built-in Commands

Several built-in commands are already defined in Dexterity, and can be used in your application. These commands provide access to system-level features, such as the print, print setup, help, copy/paste etc.

The Print (cmdPrint) and Print Setup (cmdPrintSetup) commands from File built-in command will be part of File Window Ribbon group on web client window.

The Help Window Ribbon group on web client window will display the Help menu commands (cmdHelpContents, cmdHelpOnHelp etc).

Additionally, the Window Note will be part of the Help Ribbon group if that button exists in the footer of the window.

To be continued next week.... in this post.

Rushi Patel

For other posts in this series go to: http://blogs.msdn.com/b/developingfordynamicsgp/archive/tags/developer+insights/

  • Posting by Mark Polino at DynamicAccounting.net

    msdynamicsgp.blogspot.com.au/.../dynamics-gp-developer-insights-web.html

  • Posting by Janakiram at Dynamics Blogger

    dynamicsblogger.com/dynamics-gp-developer-insights-web-client-window-ribbon-part-1

  • Posting from Vaidy Mohan at Dynamics GP - Learn & Discuss

    vaidymohan.com/.../dynamics-gp-developer-insight-web-client-window-ribbon

  • Posting from Errol Schoenfish at Inside Dynamics GP

    blogs.msdn.com/.../dynamics-gp-2013-developer-insights-web-client-ribbon-part-1-and-2.aspx

  • How to give the path to appear in web client for a specific form of 3rd party dictionary.

  • Hi Gururaj.K

    Just add your 3rd pary window to the menu navigation exactly like you do for the normal Dexterity client.

    The steps to add commands onto the menu are in the Integration Guide manual and the sample applications.

    David

  • There are some issues if I have alternate window and I am using our own field and data type for the button. For example I have "Unmark Selected" button and it is my own field and data type but on web client it's not showing up in the ribbon. If I change the data type for this field to existing GP global data type it does show up. What do I need to do fix this?

  • Hi Jasbir

    Do you have a custom form procedure InitializeWindowRibbon?

    This is discussed in the second post:

    blogs.msdn.com/.../dynamics-gp-developer-insights-web-client-window-ribbon-part-2.aspx

    David

  • Hi David,

    I created the custom procedure and i am able to add my button to the ribbon in web client. Thanks for pointing me to the right direction. I was thinking that any button on the control area will automatically move to ribbon in webclient. Is this not correct? Do we need to write code for each form where we have our own buttons (Alternate windows)? Also is there any way to do this one global procedure rather writing InitializeWindowRibbon on each wndow?

    Thanks

  • Jasbir, in the Integration Guide - Web Client section, it talks about the process of adding your buttons to the ribbon.  If you have multiple forms created the way you describe, then you should create a global procedure that you can call to add those items for all of your forms. That way, you won't have to make those code changes on each form.

    Again...load the latest GP 12 Dexterity release and take a look at the integration guide.

    Thanks!

    Aaron

Page 1 of 1 (10 items)
Comments Information

PLEASE READ BEFORE POSTING

Please only post comments relating to the topic of this page.

If you wish to ask a technical question, please use the links in the links section (scroll down, on right hand side) to ask on the Newsgroups or Forums. If you ask on the Newsgroups or Forums, others in the community can respond and the answers are available for everyone in the future.

Leave a Comment
  • Please add 3 and 7 and type the answer here:
  • Post