UI Tweak

mdsupport wrote on Friday, January 03, 2014:

As discussed Ad infinitum, current UI has some limitations due to legacy design. Since we needed to integrate few essential addons, our developers minimized rework effort by enclosing current frameset based main_screen(.php) into an iframe. This lets us control entire UI area from outside and allows for core functionality implementation in main_screen (top) rather than left_nav. Immediate benefit for us was display of notifications (not just number) regardless of active pages. A screen shot is attached. Our plan will progressively migrate current design elements to modern interface elements.

Since this change builds on several other commits, we do not see any value in releasing actual code. But if anyone wants to tailor this approach for standard code base, we can share our experience.

yehster wrote on Friday, January 03, 2014:

by enclosing current frameset based main_screen(.php) into an iframe

It sounds like you only needed to add one new top level iframe, and left the existing frames (title,rbot, rtop, left_nav, etc. ) unchanged. Is that correct? Cool if so as I wasn’t sure if overlays like in your screenshot would work with old school frames at all. For my attempts at UI revision, I changed the other frames to iframes as well, but it doesn’t look like that would be strictly neccessary.

mdsupport wrote on Friday, January 03, 2014:

Correct. Looks like browser allows only overlap of select box drop lists across old framesets. The developers just copied main_screen.php as main_frame.php and replaced the code by several overlapping div tags with 100% of browser area as layers. Each div tag has a z-index and a specific purpose. Next we mapped top.restoresession to iframe’s restoresession. That leaves current code base mostly untouched. Wish variable mapping had worked so RTop can be mapped to RTop within iframe. Looks like they took easy way out and just changed 10 or so scripts. If you get framenames mapping to work in a similar way, the switch could be very transparent.

This opens up possibilities while keeping current application relatively intact.
Next task for developers is to map and progressively migrate left_nav frame to main_screen ‘home’ page where common tasks can be performed without going through set navigation - e.g. front desk can make appointments, note a phone call etc. without leaving current state.

On the layout side, community needs to get away for restrictions of 3 frames which causes mixing of features in a single scripts - e.g. messages and reminders. If you have iframes/widgets limited only be screen area, code will become modular and layouts will become dynamic and task oriented.