Bug 470430 - Oomph preference recorder causing unexpected results
Summary: Oomph preference recorder causing unexpected results
Status: NEW
Alias: None
Product: EPP
Classification: Technology
Component: jee-package (show other bugs)
Version: 4.5.0   Edit
Hardware: PC Windows 7
: P3 major with 1 vote (vote)
Target Milestone: 4.5.0RC4   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 470654
Blocks: 470561
  Show dependency tree
 
Reported: 2015-06-17 17:08 EDT by Chuck Bridgham CLA
Modified: 2015-08-18 05:40 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chuck Bridgham CLA 2015-06-17 17:08:31 EDT
The Java EE EPP for Mars has received some bad feedback during testing, especially around configuration of WTP runtime's

More details here:    http://www.eclipse.org/forums/index.php/t/1067556/

In summary - The recorder can be turned off an on, but the preferences are always loaded from the "saved" global cache, and could throw away recently saved local preferences.

This is a bad usability issue that customer will surely hit, and I feel the fix is so small and safe that it justifies a late respin of the EPP packages.

Suggested fix:

one line change to plugin_customization.ini file:

org.eclipse.oomph.setup.ui/enable.preference.recorder=false
Comment 1 Markus Knauer CLA 2015-06-17 17:38:38 EDT
I've created Gerrit change https://git.eclipse.org/r/50398

Please test the results of the Gerrit verification build and vote in Gerrit.
Comment 2 Chuck Bridgham CLA 2015-06-17 23:21:36 EDT
Hey Markus - Can you create another patch?  At first I didn't realize the fix was against the reporter EPP, not JEE.
Comment 3 Markus Knauer CLA 2015-06-18 02:10:50 EDT
Thanks for noticing it!

I've reverted the first change with commit 1640f55e928e5e5b9769b8d6e766031ea44b9b42 and created a new change in Gerrit: https://git.eclipse.org/r/50403
Comment 4 Max Rydahl Andersen CLA 2015-06-18 04:52:27 EDT
+1 for doing this so oomph won't by default be cause of subtle bugs/preferences resets.
Comment 5 Chuck Bridgham CLA 2015-06-18 06:55:07 EDT
Test build looks great - Thanks Markus!
Comment 6 Martin Oberhuber CLA 2015-06-19 03:25:36 EDT
Do I get this right: 

This problem shows up with JEE but not with the other packages, since the Granularity of the "Server Runtimes" Preference is such that a single Preference Slot saved by Oomph overrides everything ?

And in case each Server Runtime were backed by a separate Preference Key that Oomph may or may not "overwrite" from the user's shared Preferences, things would be good ?
Comment 7 Eike Stepper CLA 2015-06-19 03:45:22 EDT
(In reply to Martin Oberhuber from comment #6)
> This problem shows up with JEE but not with the other packages, since the
> Granularity of the "Server Runtimes" Preference is such that a single
> Preference Slot saved by Oomph overrides everything ?

Yes, this happens for any type of preference that's represented a large XML blob of many things.
 
> And in case each Server Runtime were backed by a separate Preference Key
> that Oomph may or may not "overwrite" from the user's shared Preferences,
> things would be good ?

Yes, if there were individual preferences per server with keys containing a server's URL all would be good.
Comment 8 Max Rydahl Andersen CLA 2015-06-19 06:37:45 EDT
afaik there are quite a lot of places where preferences are used to contain "bulk" of data; basically anything that is a list of things.

Not sure how to handle that better but seems like we need to make oomph smarter or allow it to be extended by plugins to handle these situations ?
Comment 9 Eike Stepper CLA 2015-06-19 06:51:20 EDT
(In reply to Max Rydahl Andersen from comment #8)
> afaik there are quite a lot of places where preferences are used to contain
> "bulk" of data; basically anything that is a list of things.

Yes.

> Not sure how to handle that better but seems like we need to make oomph
> smarter or allow it to be extended by plugins to handle these situations ?

Yes, we plan to revisit the recording control after Mars.
Comment 10 Gunnar Wagenknecht CLA 2015-06-19 06:56:10 EDT
(In reply to Martin Oberhuber from comment #6)
> This problem shows up with JEE but not with the other packages, 

It was also discovered in the Testers package. See bug 470561.
Comment 11 Eike Stepper CLA 2015-08-18 03:31:19 EDT
We've now fixed the problem that compound XML preferences can be overwritten by Oomph and the fix will be in our Mars.1 RC1 build, see bug 475139.

We also plan to have an interesting new feature in Oomph for Mars.1 that will enable users to synchronize their perferences between their Eclipse Bugzilla account and multiple local machines. Of course this new feature depends on our Preference Recorder to capture their local preference changes. So the following question becomes even more important now:

Are you ready to remove the disablement property from your plugin_customization.ini files?
Comment 12 Max Rydahl Andersen CLA 2015-08-18 05:40:07 EDT
what if the content is not xml but json or some comma separated list ?