I want to inform the users about the success/failure of their actions. For example: when they click commit, i want to display a message like "Changes saved".

I know there is an API api_application.showpopupmessage, however, it is annoying that the user has to confirm the popup everytime.

A message line at the bottom of the screen would be better and more user friendly.

The question is: HOW DO I DO THAT ?

I know one way: put the message in a session variable, select that variable in a datasource and then base a panel on that datasource. That's a lot of work.

Is there an easy way, for example with a static panel containing a textfield (or something) that i can manipulate directly with an API.

Second question is: how to get rid of that message? Is there a trigger that fires when the user does "something" for example update a textfield or so. I guess not because it is stateless... If not, a timer would probably be the best solution.

You can place a panel at the bottom of your application for this purpose. You can put a textLabel into this panel that you can use to show messages. You can use the api_component.setLabel API so set the label of the textLabel component. You can keep the message in the label until there is another message. You can clear the message the next time the user does something in the application which causes a request to the server using the Pre Apply Delta event in the application dialog. (And yes, we need a better name for this event. :-) )

You can also use a Formspider Timer and erase the message in the messagePanel after a certain period of time. Timers can be started, stopped. So a timer doesn't have to keep running all the time, either.

Pre Apply Delta event fires every time the user interacts with the application in a way that it requires the application go back to the server. It is the first event that fires even before applying the changes the user has done in the application. So for example if the user sets the field Amount to 100 from 50 and presses a button, getting the fields value in the Pre Apply Delta event would return 50 because the value has not been applied to the server side copy of the application yet.

The downside is that this event will fire every time the user interacts with the application as described above, regardless of there being an error message to erase or not.