Inspired by the comments on my previous post I will try to continue the journal of one of the largest, if not THE largest, RTC customer conversions.
Today we spent another day on site with the customers develpers with the goal to get one role completely working in the RTC. And we succeeded. (Almost).
Creating Role Centers from Menu Forms
As I wrote earlier, this customer upgraded from 3.70 to 2009 classic but they remained their Form Menu's, never went Menu Suite.
This lead to the idea today to see if we could convert a 3.70 menu form to a 2009 RTC Rolecenter page. And guess what, YOU CAN!
If you convert a menu form in the transformation tool you'll get a Card page with the menu options as action. You can change the page type to Role Center and have a starting point.
There are limitations. We are used to starting up Card forms from the old menu's so they have to be changed to list pages. Also the Reports from the Report List need to be manualy converted to ReportItems in the RoleCenter. But it is a starting point that makes is less easy to forget something.
This role is using close to 50 pages in the main process, maybe little more and we concentrated on the ones used most. Spent some time on promoting actions, creating new action categories and argued about the limmitation of the available bitmaps.
As some pages we noticed that when you use a lot of OnAfterValidate or OnFormat triggers in Forms on long field name, you'll get double functions. The Transformation Tool generates functions for all these functions combining the Field name with the name of the Trigger, but beaks it down after a number of characters. In our case we had a number of pages with double function names. Be aware of that.
Debugging (or the lack of)
Debugigng in the RTC is difficult. Difficult if you have a database on your laptop with full control. When the Database is on a customer SQL server and the Service Tier on another customer server it becomes close to impossible.
Here I always start using the old Message debugging. But what if you want to see the values of a record variable.
This is where an old trick is useful. A trick that also works in the classic client.
This will show a message box with all the field values of the Record. Amazing! And very usefull.
Using Functions in Print Reports
The RTC supports using classic reports. Great. But it does not support sending values to it first using a function and then running the report. You can only directly run the report.
In our scenario we had a report that ran on temporary data. Damn. So this seemed like a good time to introduce the Suggest Report Layout function to my customer, and I said, be aware, this does not work as charming as the Transformation Tool.
But the report was perfect! Is was not a high tech rocket science report, but not simple either. Good job Microsoft!
And after the RDLC layout was generated the report ran fine.
And we have a Wizard
When we started pushing one of the actions we got a strange page. It was showing a next and a finish action in the action pane. Weird... So it seemed that we were having ourselves a wizard.
But it was easier than I thought to get it to work. The only things I changed where the PageType, to NavigatePage. I changed the InFooterBar propery of the actions to Yes, and removed the Promoted property. And it works. Amazing.
If you want to see how easy Wizards are to create in the RTC, look ate page 5077 in Cronus.
Last issue of the day was coloring. This customer, as a lot of customers, use coloring a lot for their end users. We implemented two solitions. In one page they only used the color RED as an indicator that something is wrong. Here we implemented Emhpasys. Easy and straigt forward.
At an other point they used up to 20 colors to show they type of service. Here we implemented Cristians BLOB solution. http://blogs.msdn.com/b/cabeln/archive/2010/03/17/showing-bitmap-flags-in-the-repeater-without-add-ins.aspx
When we finished this process and everything was working, the customer said, wait, we have more of these processes. I said sure, lets fix them. But most of these processes are complete page copies of the orriginal page with other actions but the same code. So we have to implement the same solutions, promote actions, code rewite in all the places. DAMN, that's booring work.
TIP: Try to see if you can replace this with Profile Personalisation. If I have time I wll try to write a blog about this topic, but bottom line is that using Profile Personaliation you can personalise pages for a group of users. So you can use the same page object but hide or show options, such as reports for some departments in your company and show it for others.
Let's be honest, this is the main reason why so many customers have so many redundant forms.
Next week I won't be going on site since I will be in the US of A attending Directions.
Nice post! I read a tip about Profile Personalization (hiding/showing page parts for users of different profiles) and now could not stop thinking about it! How exactly this is achieved?