| Summary: | Project level validator settings get overwritten by global | ||
|---|---|---|---|
| Product: | [WebTools] WTP Common Tools | Reporter: | Grant Taylor <gdtaylor> |
| Component: | wst.validation | Assignee: | Rosendo Martinez <rosendo> |
| Status: | NEW --- | QA Contact: | Chuck Bridgham <cbridgha> |
| Severity: | normal | ||
| Priority: | P3 | CC: | karasiuk, thatnitind |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Grant Taylor
Was the preference to allow projects to override the workspace preferences enabled? Here's an even more baffling outcome: 1.Open with a new workspace 2.turn off all validators globally 3.create EJB project 4.set project-level validators to only "EJB Validator" (do it two times so it actually gets set) 5.go back to global preference, enable all validators, press OK 6.open the validation properties page on the EJB project Problem #1: Note that many validators are now enabled, as witnessed in the other steps. The behaviour seemed to suggest some sort of union logic was being done (which I wouldn't agree with), but now I see that some of the validators are enabled and some are not. For example, the WS-I Message Validator that was enabled globally is not checked, unlike many of the others. 7.Cancel the project properties dialog 8.Disable all validators globally 9.Open project properties again. Note that original settings are seen (only EJB validator is enabled) 10.Go back to the global properties, enable all validators 11.Open project-level settings and check the ones that are not currently checked 12.Go back to the global properties, disable all validators 13.Open project-level settings and see that the manually changed ones are checked, but not the others Was the preference to allow projects to override the workspace preferences
enabled?
>yes, the global preference was set to allow projects to override.
Rosendo, can you take a peek? I agree that this is confusing and has some problems. A large part of the confusion, comes from our attempt to "seamlessly" support new validators. We wanted to support this use case: 1) I turn off the ABC validator for project XYZ. 2) At some point in the future, I upgrade to a newer version of the product, and this introduces a new DEF validator. Or instead, I install a new component and it introduces a new DEF validator. 3) Which validators should now run on project XYZ? The ABC validator should not run because it was manually turned off, but the new DEF validator should start with the default settings that the validator developer set for it. That is if the developer thought that it should be on by default it should run, and if they thought it should be off by default then it shouldn't run. To support this, we had the idea of storing just the delta change at the project level. Then as new validators appeared, they would run as the vendor intended. (In addition to the on/off settings, there are lots of other settings as well (like various filters)) But I think the interaction between these project level deltas and the workspace settings need to be sorted out. If the user went to the trouble of setting project level settings, these should normally take precedence over workspace settings, and the fact that they are not is a problem. |