Thanks Philippe, great. Looks good so far. If i'd have any feedback i'll let you know. Regards Peter
2017-12-20 10:49 GMT+01:00 Philippe Mouawad <philippe.moua...@gmail.com>: > Hello Peter, > Thanks for your ideas and PR which has been merged with slight > modifications. > > Tests and feedback very welcome. > Regards > Philippe > > On Sun, Dec 17, 2017 at 8:48 PM, Peter Doornbosch < > peter.doornbo...@gmail.com> wrote: > >> Hi, >> >> In my JMeter websocket plugin ( >> https://bitbucket.org/pjtr/jmeter-websocket-samplers) I want to hide >> advanced options for first time users. One of my design goals for this >> plugin was to make it very easy to use, so that first-time users are >> not overwhelmed with loads of options they don't know how to use and this >> will only confuse them. Up till now, i think i succeeded (but of course >> that's for others to judge ;-)). >> >> However, i'm now at the point that i need to add functionality that will >> only be used by advanced users. To keep the UI simple and clear for others, >> these advanced options must be explicitly enabled. Currently, this is done >> by setting a JMeter property. It works, but what i would like is that users >> can simply enable this (and other) option(s) by adding a special Config >> element in their test plan and enable/disable the options they want to use. >> This keeps the settings (e.g. whether options are enabled or not) in the >> testplan, which will avoid surprises when a testplan that relies on these >> features is being loaded in a JMeter instance that doesn't have the >> property set. >> >> I've been experimenting with this approach and i'm pretty happy with it. >> However, to make it work correctly, i need some extra hooks in JMeter. >> >> The proposed changes explained below, are committed to my JMeter fork at >> https://github.com/ptrd/jmeter/commits/more-hooks-for- >> testplan-modifications >> . >> >> Change 1 >> See >> https://github.com/ptrd/jmeter/commit/a968db8bb63d16d6ea176ed00c0746 >> 68958b7544 >> A "removed" method is added to TestElement, so a test element can react on >> it being removed from the test plan. >> I need this for the functionality explained above, because when the user >> removes the special Configuration element that enables certain options, >> these options must be disabled. >> >> Change 2 >> See >> https://github.com/ptrd/jmeter/commit/50e326ff824e231961308eed5185ae >> af2d894f60 >> A "TestPlanListener" is added, and its "testPlanCleared" method is called >> when the test plan is clear. >> Similarly to change 1, when a testplan is closed and another one is loaded, >> i need a hook to reset the state of the advanced options. >> Of course, when included in JMeter, the TestPlanListener should probably be >> extended with some other methods to make it a consistent interface; for now >> i just wanted to create a working proof-of-concept. >> >> If you're interested in how these additions are used in the plugin, please >> see this branch: >> https://bitbucket.org/pjtr/jmeter-websocket-samplers/ >> commits/branch/configure-options-in-testplan >> . >> >> Actually, i need one more feature, namely that a config element can be >> declared as "singleton" so it can't be added multiple times, but i haven't >> developed code for that yet - will follow later. >> >> I hope you are willing to add these hooks to JMeter, as, IMHO, these are >> generic hooks that can be useful for others and other use cases as well. >> For example, it has always frustrated me that the SSL keystore cannot be >> configured in a testplan; which such additions as proposed here, i think >> that would become possible too. >> Of course, if you have any thoughts about how the proposed changes can be >> improved, i'm happy to discuss it with you. >> >> Kind regards, >> Peter Doornbosch >> > > > > -- > Cordialement. > Philippe Mouawad.