Tell me about how you are extending the Ribbon

Published 03 April 08 09:02 AM

I'm thinking about putting together a blog post that shows what the community has done with ribbon extensibility. From my conversations with lots of developers people are still trying to wrap their heads around the new user model It seems that having a few examples might stimulate some ideas.

This will also be helpful as we think about the ribbon in Office 14.

If you want me to consider your app as one of the featured apps email my spam account a brief description with a few screen shots.

by clintc
Filed under:

Comments

# Jason Jiang said on April 3, 2008 1:25 PM:

I  thought the RIBBON for access is not easy to develope the the menu fast and fexible.  it needs too many codes and rules  to make the callback module.

The xml ribbon is so regular and system, why not develop a standard module or control to add these groups or bottons? In previous version of access, it's so easy to manupilate the customized toolbars or contextmenu.  and Now I have to spend plenty time to deal with the callbacks and globle var.

# Edwin Blancovitch said on April 3, 2008 4:57 PM:

Ok,  will send you my ribbon code, some examples, and some ideas on my implementation.

You guys will love this.

# Renaud Bompuis said on April 3, 2008 11:17 PM:

My application is a tailor-made ERP used in a manufacturing plant. It manages purchases made to suppliers, tracking of deliveries, stock management including quarantine for items requiring inspection, QC incoming inspections, management of Non-conformity Reports raised during production and we're adding other modules all the time.

Because it's used in a multi-user environment by various people I needed to build a user and role-based security system (since Access 2007 does not support any other system than location-based security, I had to roll my own).

Users belong to various roles that have various security settings and must log-in.

I use the Runtime and when the application is launched the ribbon is hidden until the user has logged in.

Depending on which role users belong to, they will see different items on the ribbon.

I use only one ribbon definition in USysRibbons table and use callbacks on getVisible() to display or hide particular items or groups depending on the user's access rights. So a Purchaser would see groups of actions pertaining to purchasing while the QC department would see other things.

This allows me to have a single application look and feel personalised to each person's job, without the clutter/security risk of them accessing things that are not related to their function.

In the onAction attribute for ribbon items I have a bunch of different callbacks that open a form.

To avoid having to manage too many action callbacks I heavily use the tab attribute to store information about the form to open or the condition to make a particular item visible.

For instance, I would store definitions such as:

onAction="ribbonOpenForm"

getVisible="ribbonGetVisible"

tag="Form:FormQueryPOPayments; Security:POFinancial"

would tell me that the onAction would open FormQueryPOPayments and that the getVisible would check if the user had sufficient rights in the POFinancial role before she could see that button.

For images when I am not re-using Mso image definitions I store PNG images (with transparency) in a /ribbon/ folder that I deploy with my application.

I then use the getImage callback to load the appropriate image for the button. Images are named after the ID of the button.

Hmmm... that's all for now. If anyone is interested I could make a more detailed blog entry with some screenshots.

# Vladimir Cvajniga said on April 4, 2008 4:22 AM:

With ribbon I will have to redesign most of my A97/A2002 forms - ribbon steals some screen space. I have no time to do it. I desperately need an option to switch to Access original "fashion" just with command bars with no additional stuff (eg. tabs).

I'd appreciate if there's an option to put some controls to command bar (text fields, combos).

See http://img196.imagevenue.com/img.php?image=96956_A2002form_122_336lo.jpg.

Thanks a lot in advance.

# Vladimir Cvajniga said on April 4, 2008 4:29 AM:

Edwin Blancovitch: Could you create an invisible ribbon for me so that I can easily display my forms? Eg. http://img196.imagevenue.com/img.php?image=96956_A2002form_122_336lo.jpg.

TIA

# Zen said on April 4, 2008 5:50 AM:

Ribbons are not enough flexibles...

It's impossibile to modify by code vertical dimention of Ribbons and/or create dockable ToolBars.

This "standard"/ultra-classic UI can not be done with Access 2007:

http://www.knowdotnet.com/articles/VerticalToolbar.jpg

# Edwin Blancovitch said on April 4, 2008 9:03 AM:

Vladimir Cvajniga: look at this . . .

I have an idea for you. . .

If your access 2003 apps have the command bars created, then you can launch them in access 2007, without a ribbon.

Then in the customize ribbon, in the office button, select current database and then in menu bar you select your old menu bar from the commands bar . . .

There you have it, a new office 2007 app with old tool bars from access 2003.

If you do not select your main menu in the current database option you will see your menu in a large ribbon, in a tab called add-ins, but after you select your menu as the application menu bar, you will see that as a regular old access menu bar.

Got-it?

After you do this, no more excuses, now you need to start using access , im joking my friend, but i know you will love new access . . .

Anymore help, ask me and i will be glad to help you.

Now tou will start to love access . . .

# Edwin Blancovitch said on April 4, 2008 9:08 AM:

Vladimir Cvajniga, your app looks interesting, too bad i dont know what all the fields means so i can understand it.

Now, i can tell you that if you do what i explain to you, it will be easy to you to implement it.

no code neede, no ribbon needed.

But when you start to use the ribbon, you will be able to place all those commands that you have in the tool bar in the new ribbon, but better.

I saw that you have textbox and comboboxes, those will look great in the new ribbon.

Go ahead, experiment . . .

and you will love the results. . .

# Darren Myher said on April 4, 2008 2:59 PM:

For Version 14, I'd like to see:

1. The ability to graphically create and edit ribbons much like you could graphically drag and drop controls around when editing menus in previous versions.

2. More clarity about how to make and edit your own right-click menus.  It used to be easy to do, now it appears as if the entire structure is gone for editing the right-click menu contents.

# M. David Matney said on April 4, 2008 7:20 PM:

I have to Agree with Darren Myher.  One of the biggest frustrations I have with access 2007 is I cannot figure out for the life of me how to manage the right click menus anymore.  So much to the point of being frustrated I had to remove them (once we had them, and now we don't) - The ribbon seems to have totally messed up the ability to manage right click menus.  So along this lines,  IS THERE A WAY TO MANAGE AND EDIT RIGHT CLICK MENUS AFTERALL in 2007?

# Vladimir Cvajniga said on April 5, 2008 3:14 AM:

Edwin Blancovitch: Is it possible to hide ribbon and show commandbars in runtime, ie. no need of user's interaction?

P.S. I'm not able to hide the Home tab.

# Edwin Blancovitch said on April 7, 2008 5:40 PM:

Hello Vladimir, yes is possible :-)

Once you do the steps i have told you, in the office button, select current database and then in menu bar you select your old menu bar from the commands bar . . .

i told you about in one of my comments, those changes are saved for that particuar accdr, or mdb, then you convert that to the accde, or mde, i recomend you the accdr because it will emulate the runtime better  :-)

Then you dont need any code, all you need to do is deploy your solution.

and your clients will see the old command bar near your title bar.

if you need i can do that for you, but you will need to send me your mdb so i can do the changes for you, and i think you will not want to do that.

Anyway, i cannot understand what it says in the interface, so i will not be able to even understand the db.

But is very easy and you can do it, i know you can.

# Edwin Blancovitch said on April 9, 2008 12:01 PM:

Hey vladimir, did you were abe to use my idea.

I want to know if it was possible for you?

# Vladimir Cvajniga said on April 10, 2008 1:10 AM:

Edwin Blancovitch: Will ask my colleague to test it on his "A2007" machine. Will let you know ASAP.

P.S. TYVM for your time.

# Vladimir Cvajniga said on April 10, 2008 3:24 AM:

Edwin Blancovitch: A colleague of mine has tried several ways to implement your thoughts... until his A2007 totally collapsed!!! He thinks he will have to re-install Office 2007... :-(

New Comments to this post are disabled
Page view tracker