Monthly Archives: January 2012

Improvements in the “restore environment” feature

MapleXp 1.9 brings some improvements in the area called here the “restore environment” feature. The general idea is that when a user launches an application he wants it to look the same as it looked when used last time.

MapleXp can deliver this experience by saving the following:

  • main window size and location
  • recently used database
  • characteristics of child windows, including their internal state (i.e. task window remembers which nodes were expanded and which task was selected)

You should also understand that the first two can be stored as application setting whereas information about child windows depends on an open database and as such must be kept in the respective database.

How it worked so far …

In MapleXp pre-1.9 you could control the “restore environment” feature by the means of the following settings:

The first two checks were independent, but to enable “other windows” you had to have “main window” and “last database” selected. The code to handle this was quite simple:

  • restore main window, if requested
  • open recently used database, if requested
  • if the two previous was successful, restore child windows

What was wrong with that? The weakest point was that this algorithm ran only once at launch. It did not work for the following basic scenario:

  • open a database
  • open some windows
  • close the database (<- here windows are closed automatically)
  • reopen the database (<- nothing restored .. we are not at startup)

How it works now …

In MapleXp 1.9 control of the “restore environment” feature was split into two areas. See the following screenshots:

  

Controls located on the General tab have the same meaning as in previous versions. You can request to restore the main window and the recently used database independently.

Please note that the “restore database specific windows” option was moved to the Database tab to emphasize that it is no longer a startup option. Now the child windows can be restored any time a database if opened (including the launch if so requested). So:

  • open a database
  • open some windows
  • close the database (<- here windows are closed automatically)
  • reopen the database (<- child windows are restored to their previous state)

Hopefully you will like this improvement.

 

Task rate & Work Item rate

A few words of explanation of how task rates & work item rates work in MapleXp 1.9

First of all, what is a rate? This is a figure telling how much you should be paid for an hour of your work. Thus all this functionality is aimed at users who need to invoice their customers and expect MapleXp to help them to do so.

So far …

Task rate was introduced about a year ago in MapleXp 1.7. How did it work? You were allowed to enter the rate for particular tasks. Having this figure allowed MapleXp to present a “value” for each registered work items. What was that value calculated? It was a product of the work item duration and the rate of the respective task.

This values were presented in two places in MapleXp:

  • value column in work items registry
  • summary in task tree

Now …

Now, the rate can be found in two places. (1) It is still a property of a task.  (2) Additionally each work item has its own rate. How are they related?

  • during database conversion the task rate is copied to all related work items
  • when a new work item is created it inherits the rate from its task – since then it is independent

An interesting point is when you change the rate for an existing task. What should happen to the rates that have already been copied to work items? MapleXp gives you 3 choices:

  • do not modify work items – the new rate will be applied only to future work items
  • copy the new rate to all existing work items
  • copy the new rate only to those work items that have not yet been invoiced – this is the place where the new flag “invoiced” plays its role

The “value” of a work item is now calculated as a product of the duration and the rate of a work item.

Would you have any questions or suggestions related to this feature I will be happy to hear from you.

MapleXp 1.9 – prerelease

MapleXp 1.9 is almost ready for official release. It needs some more testing and updates to the manual.
I decided, however, to make it available because all features has already been implemented.

Most improvements in this version are devoted to help people who need to invoice their customers based on time spent on particular projects and are available in the Classic edition of MapleXp.

You can get this prerelease version by means of the following link:
http://download.maplexp.com/app/maplexp-1.9-prerelease.zip

This is a “take-away” version of the application (please see “MapleXp Stick” section of http://www.maplexp.com/Downloads to learn how to install it)

Change log for 1.9
(I will add a separate posts about highlighted features at a later time)

new kind of data stored for individual work items in database

  • rate per hour
  • flag “invoiced”

work item registry window

  • ability to choose which columns should be displayed
  • new available columns: rate & invoiced
  • ability to filter records by invoiced flag (3-state)
  • filtering by flag hidden enhanced to 3-state

task tree windows

  • ability to filter work items by invoiced (3-state)
  • filtering by flag hidden enhanced to 3-state
  • task visibility control always shown
  • added a readonly box to show path of the current task

modify task window

  • ability to control how changed task rate should impact rate for existing work items

copy work items to clipboard

  • includes rate & invoiced flag
  • two commands in menu: copy with/without header
  • main window flashes to confirm operation

export wizard

  • ability to choose new columns: rate & invoiced
  • ability to filter by flag invoiced

database wizard

  • conversion classic-to-express must be extra confirmed due to data loss during such a conversion
  • graphical changes

restore environment feature

  • windows are restored any time a database is opened
  • position of child windows is ensured to be completely within main window

settings/configuration

  • changes in layout of controls forced by changes in how “restore environment” works (see above)
  • ability to set format for currencies (affected: work item registry: values & rate, status bar for work items & tasks, task create/mnodify)

other

  • toolbar icon for settings