I’ve been using Designer since my BusinessObjects career began in 2003 with version 5. Designer hasn’t changed much in that time, although derived tables and index awareness were added in version 6.5, restriction sets were improved in XI R1, and smart measures added to XI 3.x. At the recent 2009 SAP BusinessObjects User Conference, SAP indicated that the next major release of BusinessObjects Enterprise (code named Aurora and headed our way Q4-2010) will integrate Data Federator. We’ve been promised that future versions of Designer will assume all of the capabilities of Crystal Reports Business Views so that semantic layer can be retired in favor of the universe, and Data Federator could certainly make that possible. And as with all other BusinessObjects products, it’s a given that adding new SAP-centric features is at the top of the priority list. But how about some desperately needed usability improvements? I humbly offer the following list of recommended enhancements.
Disclaimer: Some of my friends were able to sign an NDA and check out Designer XI 4 at the recent SAP BusinessObjects user conference. However, I was not one of them. So I have no idea if any of the ideas below will actually appear in the next release. But with another year before the product is shipped, there’s still time to code some of these up… 😉
- A read-only field on the object properties tab that displays the class hierarchy for the object (ex. class namesub-class namesub-class nameobject name). This field should make it easy to cut and paste from Designer to other applications.
- Ditto for the class properties
- The ability to use the standard Windows shortcut CTRL-A to “select all” of the contents of any field in the object properties
- A spacer object that can be inserted into large classes to indicate related items. Many developers resort to kludgy objects with hyphens to accomplish this feature. Sometimes subclasses just aren’t an option (or requirement). In Web Intelligence, the spacer object should have a small icon to collapse/expand the objects from the spacer to the next spacer (or end of class).
- An enhancement to the integrity checker that warns when a measure object does not have a database aggregate function in the SELECT clause. Should be a warning, not an error, because some folks (sigh) actually like measures w/o database aggregates.
- An object comment editor, with a filter button to show only classes and/or objects that do not have comments.
- A faster way to grab an object’s SQL than navigating to the object Properties tab, clicking on the Edit button for the List of Values (LOV) and viewing its SQL.
- Move the Refresh Structure menu option from View to Tools. I know it’s been there for years, but “View” implies that the menu choices don’t affect the universe but only it’s display in the application. Refresh Structure most certainly alters the universe and should be classified as Tool. Add a toolbar button while you’re at it.
- Put some space on the toolbar between the helpful List Mode button and the evil Arrange Tables button. It’s too easy to hit the latter and I generally prefer to not use it at all. And per my friend Andrew Koller, why can’t we undo the effects of the Arrange Tables button, anyway?
- Allow user to right click in schema window and zoom in to exactly that spot (or table, if selected)
- Allow user to right click in schema window and center the display at that spot (or table, if selected)
- Allow paste from clipboard to text blocks in the schema view
- Allow designers to create “groups” of tables, similar to groups of objects in Microsoft Visio.
- In addition to placing comments on the schema itself, allow comment blocks to be tagged to tables, joins, or table groups so that comment blocks always remain associated with the appropriate object(s), regardless of how they are arranged
- Allow designer to assign a unique color (not just Windows grey) to individual tables or groups of tables (Should these colors also be applied, maybe as an option, to object names?)
- Allow for multiple fonts, block colors, and block outlines for text blocks in the schema view. These enhancements will facilitate better documentation
- Variable zoom, please? Maybe a nice slider instead of the current drop-down with limited settings?
- When I right click on a table and choose View Associated Objects, please pop up a box to tell me the table is unused. Currently, the universe pane stays stuck on its previous object, which misleads me into thinking that it belongs to the table.
- View Associated Tables should cause the universe window to scroll, not jump. Currently too easy to lose ones place when seeing where various objects in a class come from. The current version simply “jumps” to the correct (mostly) location and it’s easy to get lost in a larger universe.
- If I right click on an object and choose View Associated Table and that table is on the screen, do not center on the table if the table is already on the screen but just highlight the new table. Very confusing as it alters the user’s frame of reference. Or, the screen should re-center by gently scrolling to the new position, so the designer can maintain his or her sense of direction in the universe.
- Right click on class name and choose View Associated Table(s), similar to what’s available for objects. This option would help a developer clearly identify all tables utilized by the class. Like my other suggestions, screen should “gently” center/resize to help designer maintain their frame of reference. Universe window should scroll out slowly to show all tables.
- Similar to the properties tab in Web Intelligence, add toolbar buttons to the top of the universe pane that close all classes simultaneously and open all classes simultaneously. Also, could we filter by qualification (dimention, detail, measure), data type (char, integer, date, long)?
- Add toolbar button to filter hidden objects, as many times these are candidates for deletion.
- The ability to find joins without defined cardinality (suggested by James Halligan)
- A wizard to construct @prompts (suggested by James Halligan)
- Better date handling (suggested by Josh Fletcher)
- How about adding a tabbed interface so that unconnected portions of schema could be stored on separate tabs for easier maintenance. Or, if that’s facilitating too much poor design, how about a right click option that allows me to right click on either a bunch of objects or tables and choose to build a new universe from them? Copy objects wizard would have options to control how many tables are brought over.
- Back to the tabbed interface… How about a separate tab for “original” tables that are aliased but not used, per best practice. And a wizard on the tools button that identifies tables that have been aliased elsewhere, replaces those tables with an alias, and recodes any dependent objects?
- And a recycle bin tab… With a wizard that identifies unreferenced tables (not part of a valid join path) and moves them there.
- Just like a road atlas, and instead of rulers in applications like Microsoft Word, allow designers to turn on a grid of letters and numbers. Right clicking on an object’s properties should tell me that the table is on the “map” at B6, etc. This “map” would also be helpful for those of us who have to print large universes and tape multiple sheets of paper together.
- Regular expression support for Find and Replace
- When Find locates an object in a large classes, the item identified by the Find/Replace function is at the bottom of the screen and partially obscured by scrollbars. Could we see the whole object, please?
And while we’re at it, a few related improvements in the other tools…
- Improved abilities in the Web Intelligence and other query panels to get the class hierarchy, object SQL (not just query SQL) and data lineage. Although it’s a bit tech-centric for a user-centric tool, some customers put this technical information where the non-technical help text is supposed to go. Having separate containers, and client tools that access them, makes everyone happy.
- Allow version control history for each object, without totally cluttering the interface (might be challenging). This data should also be available through Metadata Manager
- Add reporting capability to Metadata Manager that searches all universes on a given universe connection and identifies multiple universes that point to the same underlying SQL but have different names (consistency checker). Should have option to determine if aliases are included or not.
So what would you like to see in the next version of Designer? Feel free to post a comment.