Release 7 Release Notes

JonFerraiolo edited this page Sep 12, 2012 · 14 revisions

Maqetta 7 Release Notes

The Maqetta 7 release includes the following updates:

User Interface Makeover

The Maqetta user interface has had a major makeover with Release 7, with countless UI tweaks. Some highlights:

  • Graphics redesign - With Release, 7, nearly all of the major user interface components have new visual styling. There is new visual styling on the topmost banner (and its icons and menus), the file tabs, the toolbar, and the various palettes on the left and right side of the application.
  • Redesigned, collapsable palettes on left and right side of user interface - Release 7 provides redesigned palettes on the left and right side of the application. The palettes can be collapsed easily to maximize the size of the editing canvas.
  • Streamlined user interface for creating HTML files - Previously, to create a new HTML file, we presented a dialog where you had to pick a composition type (e.g., desktop hi-fi page vs desktop lo-fi sketch). With Release 7, the Create menu now includes an easier-to-understand list of common user operations (Mobile Application, Desktop Application, Sketch, etc.), and users can start editing new documents faster.
  • Redesigned and streamlined toolbar - The toolbar has been redesigned so that common operations can be discovered and used more quickly. Whereas in previous releases, some commands were only available on the page editor's context menu, with Release 7 all page editor commands also are available from the toolbar.
  • New welcome page - Release 7 includes a newly designed welcome page, with buttons at the top for common "New" actions (e.g., New Mobile Application), and buttons at the bottom for getting started information (e.g., tutorials and videos).
  • New login and registration screens - Login and registration screens have similar visual styling to the main Maqetta application.

Performance improvements

Release 7 includes performance improvements in several areas. In particular:

  • Page editor speedups - Release 7 includes several performance improvements, particularly around opening HTML files and increased snappiness when users add new widgets to the page. Under the hood, among the key changes were changing synchronous web requests to asynchronous and using optimized versions of widget JavaScript files.
  • Outline palette speedups - The underlying code for the Outline palette has been rewritten, resulting in considerably fewer full redraws of that palette as the document changes.
  • Zazl option to improve performance with preview-in-browser - Release 7 integrates the Zazl open source technology into Maqetta's preview-in-browser feature. When enabled, whenever a user clicks on the preview-in-browser button, Maqetta will run the Zazl Optimizer on the server to optimize (concatenate and minify) Javascript on the user's HTML page on demand. This will minimize network requests and download sizes when viewing that page directly in the web browser, improving performance, particularly on network connections with high latency. Zazl does take some elapsed time to perform this task, but results are cached and shared, so subsequent page loads should be even faster for a given set of widgets. With Release 7, Zazl is an experimental feature which must be enabled in the Preferences Dialog on the Settings menu at the top-right of the top toolbar. It does not yet work with all Maqetta features such as JSONP data or custom widgets. The goal is to enable Zazl by default in an upcoming release.

Eclipse Orion integration

Mostly under the hood, Release 7 includes major changes to more completely integrate Maqetta with the Eclipse Orion open source project. Most users won't notice these changes, but nevertheless they represent some of the most significant Release 7 code changes. Some notes on these changes:

  • "Open Orion Navigator" - Release 7 adds a new command to the Open menu, "Open Orion Navigator", which opens a new browser window that launches the Eclipse Orion cloud-based source development tools, where you can perform source editing in the cloud on the various files within your Maqetta workspace.
  • Back-end changes to use Orion for user and workspace management - With Release 7, we have replaced most of the old logic for user management and workspace management with Orion code that provided similar services. These back-end changes improve the robustness and completeness of the Maqetta server, provides additional functionality, and improves long-term maintenance and code sharing between the Maqetta and Eclipse Orion projects.
  • Long-term strategic benefits - The Eclipse Orion team has implemented (or is pursuring for future releases) several features that will benefit Maqetta users. By using Eclipse Orion code for Maqetta's user management and workspace management, Maqetta users will get many features "for free" as future versions of Maqetta upgrade to future releases of Orion.

HTML table enhancements

With Release 7, we have added multiple user interface improvements around using HTML tables. HTML tables can be highly useful not only to display information in a tabular format, but also is one option for achieving tabular layout of user interface components, such as name/address forms which have labels on the left and text fields on the right. HTML table enhancements include:

  • Table dialog at table creation time (and subsequent editing) - With Release 7, when a user adds an HTML table to the page, he is presented with a dialog that allows the user to chooose the following options:
    • Number of rows
    • Number of columns
    • Border thickness (0 means no border)
    • 'border-collapse' property value (default is 'collapse')
    • 'table-layout' property value (default is 'fixed')
    • Checkbox for whether first row should be a header row (i.e., use TH elements instead of TD elements)
  • Column operations - Users can select a table column either by selecting a table cell and then issuing the "Select column" command (found on the "Table commands" icon on the toolbar and on the context menu). When a column is selected, the user can:
    • Set the 'width' property or background properties in the Properties palette. Under the hood, in the HTML source code that corresponds to the table, these CSS properties will be attached to the element corresponding to the given column.
    • Users can change column widths by interactively pulling on the blue circular nobs that appear on the left and right side of the selection chrome when a table column is selected.

Tree widget enhancements

With Release 7, we have greatly enhanced the dialog that appears when creating or editing a Tree widget. This dialog allows users to:

  • Specify custom icons on individual tree nodes. For container tree nodes, users can specify both a closed and open icon.
  • Actions to take for each of these events:
    • click
    • double-click
    • open
    • close
  • Ability to reorder tree nodes via simple drag/drop.
  • Use toolbar buttons to insert new tree nodes, remove tree nodes, move tree nodes up and down in the list, and control indentation levels on particular tree nodes.

Upgrade to Dojo 1.8, more mobile widgets - Release 7 supports the latest release of Dojo (version 1.8) and includes support for a number of new Dojo Mobile widgets. New mobile widgets include:

  • Slider
  • SearchBox
  • ContentPane
  • Container
  • Pane
  • ScrollablePane
  • Accordion
  • GridLayout
  • IconMenu
  • IconMenuItem
  • ProgressIndicator
  • DataCarousel
  • DataCarousel
  • ValuePicker
  • ValuePickerSlot
  • ValuePickerDatePicker
  • ValuePickerTimePicker
  • DatePicker
  • TimePicker

Save As Widget

With Release 7, we have added a "Save As Widget" command on the dropdown menu next to the Save button on the toolbar. This command will create a re-usable widget out of the currently selected widget, and add a new widget into a "User Widgets" section of the widgets palette. This feature allows a Maqetta user to create custom re-usable components that he needs to use in multiple places within his user interfaces.

Enhancements and improvements to applications states feature

Release 7 includes many fixes and improvements to the applications states feature:

  • Application states can be used with mobile UIs - In previous releases, application states were designed to only work with desktop user interfaces. In fact, the Maqetta user interface tried to hide the application states feature when device silhouettes were visible. Now with Release 7, it is possible to use applications states with mobile UIs.
  • Ability to change the name of an application state - The Scenes palette includes a 3rd "modify state" icon that allows you to change the name of an application state.
  • Ability to choose an initial state - In previous releases, when running your application (e.g., preview in browser), the page always began in the "Normal" state. With Release 7, the "modify state" icon (see previous bullet) brings up a dialog that includes a checkbox that allows the Maqetta user to say that a particular state should be the initial state at runtime for his application.

Shortcut keys for common operations

We have implemented some short-cut keys for common operations. Here is a partial list (refer to the documentation for an updated and complete list):

  • Ctrl-z: undo (Cmd-z on Mac)
  • Ctrl-Shift-z: redo (Cmd-Shift-z on Mac)
  • Ctrl-x: cut (Cmd-x on Mac)
  • Ctrl-c: copy (Cmd-c on Mac)
  • Ctrl-v: paste (Cmd-v on Mac)
  • DEL or BS: delete
  • Ctrl-s: save (Cmd-s on Mac)
  • Ctrl-Shift-s: saveAs (Cmd-Shift-s on Mac)
  • Ctrl-o: open file (Cmd-o on Mac)
  • Ctrl-0: preview in browser (Cmd-0 on Mac)
  • Ctrl-1: design view (Cmd-1 on Mac)
  • Ctrl-2: source view (Cmd-3 on Mac)
  • Ctrl-3: split vertically view (Cmd-3 on Mac)
  • Ctrl-4: split horizontally view (Cmd-4 on Mac)
  • F1: open new window showing Maqetta documentation

Revamped online documentation

The documentation set has been reorganized and streamlined. In particular, Release 7 includes a set of "cheat sheets" (interactive quick reference guides) focused on various aspects of the Maqetta user interface.

Other -

  • Ability to control which mobile views appear at page startup - For Dojo mobile view widgets, the 'selected' property under the "Widget" section can be checked or unchecked to control which view widget is visible initially when the your mobile application first comes up.
  • No longer using port 55556 - We integrated NGINX into the Maqetta server, which allowed us to run the Maqetta application on port 80 at http://app.maqetta.org/maqetta (vs http://maqetta.org:55556/maqetta).
  • Removal of experimental (untested) widgets - Previous releases included experimental, partial support for various widgets under the widget categories "Untested Dojo & HTML", jQuery and YUI. With Release 7, the product only includes supported widgets and no longer shows any of the experimental or proof-of-concept widgets. We have plans to include full support for many of the experimental widgets in future releases.
  • Allows dojox.mvc in HTML source code - dojox.mvc is a package of technology in Dojo 1.8 that allows bi-directional data binding between a client-side JSON store and widgets on the page. While Release 7 does not offer visual authoring support for dojox.mvc (Dojo 1.8 data binding), our testing indicates that users can enter dojox.mvc markup into their Maqetta pages while using the Maqetta page editor to build their user interface.
  • Various widget selection bugs fixed - In previous releases, when the currently selected widget was at the edge of the page, the widget selection box around the widget would be pulled into the user page, with the result that the widget selection box was not accurate. With Release 7, selection logic has been rewritten and this problem no longer exists. Also, there were several fixes around selection boxes being in the wrong place when the page or container widgets were scrolled.
  • GridX upgrade - Support for GridX was introduced in Release 6 with an early version of the GridX code base. For Release 7, we have upgraded to GridX 1.0.
  • Many bug fixes - Release 7 includes 750+ bug fixes. Some of those fixes can be seen by going to this URL which lists bugs closed against Release 7.

Migration of User Workspaces

  • Migration Process - This release changes how files are constructed and stored in users' workspaces. Migration is a two step process:
    • Run the m6-m7-migrate.sh script within a copy of the 'users' directory. This will update users' files to better work with this release.
    • Set the migrateWorkspaceLoc property to point to the migrated users directory. Set this in the maqetta.conf configuration file, in the top level of the release folder. Note: The migration script only works on Unix-based systems.
  • HTML tables and empty cells - If you were working with HTML tables in earlier releases of Maqetta, you will likely notice that when you open those pages using Maqetta 7 that empty cells will have a height of 0 in the page editor. It is recommended that you use the source editor to add &nbsp; to all of your empty table cells (e.g, the <td> elements) to workaround this issue. Any new HTML tables created by Maqetta will automatically have their empty cells filled with the &nbsp; character, so this will be a one time change.

THE FOLLOWING ARE ADDITIONS TO THE ORIGINAL RELEASE NOTES

The sections below are release notes that were not in the original release notes that are bundled inside of the Maqetta Release 7 application.

app.js now automatically included in all user HTML files

In response to feedback from Maqetta users, with Release 7, when you create a new HTML file (mobile application, desktop application or sketch), we automatically add a SCRIPT tag pointing to "app.js" in the HEAD of the new document. We are doing this as a convenience to developers so that they can quickly add runtime JavaScript to their application. Just go to the Files palette, double-click on app.js, and start editing.

Common scenarios for putting logic into app.js:

  • Pull data down from a server.
  • Initialize your application, such as modify the initial state of a particular widget.

The standard app.js is just a shell that demonstrates how to include your JavaScript inside of a dojo/ready wrapper so that your JavaScript will execute after both Dojo and Maqetta states are ready to handle JavaScript requests and actions.

Known Issues

The Maqetta team maintains a list of open issues as part of its GitHub open source project.

Special notes regarding known issues with Release 7:

  • Release 7 is perhaps the most significant release since the initial contribution to open source in April 2011. In particular, the back-end server has been updated in major ways. Although we haven't seen problems yet during testing, these changes might result in various new problems in the areas of user management (e.g., logging in and out). If you encounter problems in this area, please post a message on the Maqetta user form with details about the problems you have encountered.
  • We have noticed issues with the download-as-ZIP feature in conjunction with choosing particular files (versus just downloading your entire workspace) and when relocating files by changing paths in the download dialog.
  • We have seen intermittent issues in the review/commenting feature where the software gets confused about which user created which annotation.