Category Archives: Features

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.