Design – Implicit or explicit database save actions

designweb-applications

I'm writing a web app that requires the usage of drag and drop as well as other jQuery/HTML5 features.

There are two options for saving a user's changes to a database

  • Implicit: database save on the end of an event, such as drop, hover, ect.
  • Explicit: save changes to local array and submit on submit button click event

Currently, the only difference between the two is that implicit saves hooked to user events results in many more POST/GET data requests as compared to the explicit save.

Other than that, is there a major distinction between the two, and what are the reasons for choosing either option?

Best Answer

Implicit save will behave as many people would expect drag and drop to behave. Also users won't lose changes.

Explicit save will likely result in much more support effort as users are likely to forget to save their changes. They may also lose work if they delete the source and then forget to save.

In either case consider the requirement for undo and how to implement it. This may require storing either prior state or a change log.

Related Topic