Jump to content

Version 3.2 - featuring program exclusions


Recommended Posts

Hi. Version 3.2 will be dedicated to the 'most wanted' exclusion functionalty discussed in thread 'if A is selected then B should be ... what ?'

Right now I'm only on the way to it with Version 3.2.0 introducting the possibility to disable checkboxes, if their dependencies are not met. Exclusions do not work yet, but as 3.2 is dedicated to that ... just wait for it.

Please test that thing with your configs and post results. There could be some bugs. The new function can be switched on/off in options dialog - so the 'old' behaviour is still in there ...

Have fun.

Link to comment
Share on other sites


hmm

i just downloaded this version to test it out.

i don't know how to mess with exclusions, but i have some dependencies in my programs.

in 3.0.3 (the version i currently use), if i check a box that has a requirement/dependency, it's parent (program it needs) is auto-selected.

in this new version 3.2.2, i cannot select the option until the parent is checked. that is kind of annoying - what was wrong with the old way? this way the user doesn't have to know whats dpenedent, it simply checks the parent for him. and if the parent is unchecked, so it the dependent prog.

the not-being-able-to-check-a-prog-without-parent-prog-selected-first idea is not good...

Link to comment
Share on other sites

How do exclusions work:

imagine 2 apps PA and PB with uid=PA and uid=PB

if PA should exclude PB and PB should exclude PA then

excl[PA]=PB and excl[PB]=PA

if only PA should exclude PB then

excl[PA]=PB

if program PC should exclude PA and PB then

excl[PC]=PA,PB

it wouldn't make sende to create contraproductive dependencies:

PA shouldn't exclude PB if it's dependent on it !!

deps[PA]=PB and excl[PA]=PB

or

deps[PA]=PB and excl[PB]=PA

the code used above is pseudo code - don't use it in your config. the right syntac would be: excl[pn]=['PA'], excl[pn]=['PA','PB']

in the config wizard you could just use PA,PB - the wizard makes the rest for you.

DON'T FORGET TO GIVE EACH APPLICATION USED IN DEPS or EXCL A UNIQUE IDENTIFIER (uid).

Link to comment
Share on other sites

Like I wrote in my first post, I'm upgrading from 3.0.3 to 3.2.2. In testing my configuration I noticed a changed behaviour of the dependencies.

In 3.0.3 when PB was dependend on PA I could klik on PB which in turn would select both PB and PA.

In 3.2.2 when PB is dependend on PA, I can only select PB if PA was selected before.

Needless to say that I prefer to see the 3.0.3 behaviour back in a future version of WPI.

I don't know if it is an undocumented feature (to minor to call it a bug :P ), but a box that is not available for selection is a bit larger than a normal checkbox. Would it be possible to keep it the same size, but only greyed out?

Regards,

r2k02

Link to comment
Share on other sites

Except for the behavioural problem described above the following code works perfect. Both exclusions and dependencies are used to select either MS Office or OpenOffice.org (in different flavours) and to fullfill the dependency of ORK to either Office (full or WEP).

Great job done hasi001 :thumbup

//------Office---------------------------------------------------------------------------------
prog[pn]=['Microsoft Office 2003']
desc[pn]=['Installeert Microsoft Office 2003 Professional met de standaard opties. <i>Aanbevolen</i>']
cmd1[pn]=['msiexec.exe /qb /i %cdrom%\\Software\\Office2003\\PRO11.MSI']
dflt[pn]=['no']
cat[pn]=['<font color="FF9900">Office</font>']
uid[pn]=['O2K3F']
excl[pn]=['O2K3WEP','OOO1','OOO2']
pn++

prog[pn]=['Microsoft Office 2003 (Word, Excel, PowerPoint)']
desc[pn]=['Installeert alleen Word, Excel en PowerPoint van Microsoft Office 2003 Professional. <i>Aanbevolen</i>']
cmd1[pn]=['%cdrom%\\Software\\Office2003\\setup.exe TRANSFORMS=%cdrom%\\Software\\Office2003\\Unattended.MST /qb']
dflt[pn]=['no']
uid[pn]=['O2K3WEP']
excl[pn]=['O2K3F','OOO1','OOO2']
pn++

prog[pn]=['Microsoft Office 2003 Resource Kit']
desc[pn]=['Installeert Microsoft Office 2003 Resource Kit. <i>Voor ontwikkelaars</i>']
cmd1[pn]=['msiexec.exe /qb /i %cdrom%\\Software\\Office2003\\ORK\\ORK.MSI']
dflt[pn]=['no']
uid[pn]=['O2K3RK']
deps[pn]=['O2K3F']
pn++

prog[pn]=['OpenOffice.org 1.1.4 NL']
desc[pn]=['OpenOffice.org is een opensource vervanger voor MS Office.']
cmd1[pn]=['%cdrom%\\Software\\OpenOffice\\setup.exe -alluser -r:%cdrom%\\Software\\OpenOffice\\response.txt']
cmd2[pn]=['%cdrom%\\Software\\OpenOffice\\OpenOffice.cmd']
dflt[pn]=['no']
uid[pn]=['OOO1']
excl[pn]=['O2K3F','O2K3WEP','OOO2']
pn++

prog[pn]=['OpenOffice.org 1.9.65']
desc[pn]=['OpenOffice.org is een opensource vervanger voor MS Office.']
cmd1[pn]=['msiexec.exe /qb /i %cdrom%\\Software\\OpenOffice2\\openofficeorg1965.msi']
dflt[pn]=['no']
uid[pn]=['OOO2']
excl[pn]=['O2K3F','O2K3WEP','OOO1']
pn++

Link to comment
Share on other sites

In 3.0.3 when PB was dependend on PA I could klik on PB which in turn would select both PB and PA.

In 3.2.2 when PB is dependend on PA, I can only select PB if PA was selected before.

Needless to say that I prefer to see the 3.0.3 behaviour back in a future version of WPI.

Would you please read the 4th post? Would help alot not to have to answer the same question a thousand times. Or just read through the descriptions in the options wizard page ?
but a box that is not available for selection is a bit larger than a normal checkbox

then change your windows theme. i've nothing to do with how your checkboxes look like. and if it was a cows head if it's deselected - it wouldn't be my fault.

... the following code works perfect. Both exclusions and dependencies are used to select either MS Office or OpenOffice.org (in different flavours) and to fullfill the dependency of ORK to either Office (full or WEP).

Good to hear that.

Link to comment
Share on other sites

Would you please read the 4th post? Would help alot not to have to answer the same question a thousand times. Or just read through the descriptions in the options wizard page ?
It's only the 2nd time for this question :wacko: , but I get your point. I'll make sure it won't happen again.
then change your windows theme. i've nothing to do with how your checkboxes look like. and if it was a cows head if it's deselected - it wouldn't be my fault.

I should have known this as well as I now remember that there were several posts asking how to get the nice checkboxes that a member had in his screenshot. Sorry again, but for n00bs it is not so obvious that you have nothing to do with those checkboxes. It would however be nice if you could turn these into cows :D

Link to comment
Share on other sites

I know you hate that options wizard, but there's an option there saying 'Disable, when dependencies not met' - set this to false and voila - 'old' behaviour (except for exclusions)

Ok, i changed var disableOnDepsNotMet=false; in useroptions.js, and it's the old method, as you described (I still refuse to use the **** wizard! :P )

Now I'm trying to make my code work with the option var disableOnDepsNotMet=true; (thus allowing for the new coding, correct?):

It seems that exclusions don't have anything to do with what I am manipulating.

For example, LimewirePro requires J2SE. Therefore, Limewire has deps[pn]=['J2RE']. What I cannot understand is why this works any differently in the new version? What is the point of "disableOnDepsNotMet"? What else does "disableOnDepsNotMet" effect (just dependencies, or something to do with exclusions too)?

I see that the checkbox is not selectable until you select the dependency first. but why is that even an option, as opposed to the old method of auto-selecting the dependencies? Is it a simple matter of preference, or does it have to do with new coding?

(let me know if i am not making sense here, i feel like i am not typing clearly)

Link to comment
Share on other sites

(let me know if i am not making sense here, i feel like i am not typing clearly)
.. I know what you're speaking of. I'm suffering the same, when I look into the code of dependencies and exclusions. All of it sounds so easy, but it isn't.

Let me tell you this first: The option to automatically select a programs parent (the way you like it to work) was just a side effect of what I was trying to accomplish. My primary goal was to make the dependent program unselectable if its' parent wasn't selected. I wrote the code and saw 'hey - it's now possible to autoselect parents if I only change that single line of code' .... and now - after finishing the works on exclusions - it isn't a single line anymore. It's recursive functions calling themselves, and hard to keep track of (turn on debug and set it to level 5 - you'll see what I speak of).

What I do not understand in your posting is the following: You know that it would work, when you set disableOnDepsNotMet=false, and now you're trying to accomplish the same behaviour (autoselect), when setting the option to true, right ?

Note that disableOnDepsNotMet means 'DISABLE a programs checkbox, if its' DEPENDENCIES ARE NOT MET' - that means, a checkbox is disabled, if one of its parents is disabled or not selected.

Everything unclear ? Perhaps you found a bug I do not yet know of. Try to rethink, what you want to achieve. Recheck the config. Post if you found an error.

That's why I'm pleading all users to test it. The primary goal of a software test is destruction. Only bugs that are found can be fixed.....and the only good bug is a dead bug.

Link to comment
Share on other sites

ok, my basic question earlier was this:

the function "disableOnDepsNotMet" - this ONLY controls the behavior of deps[pn]=['']? Basically, it says:

disableOnDepsNotMet=false = if child program selected, parent is auto-selected. if parent unselected, child is auto-unselected.

disableOnDepsNotMet=true = if parent selected, child is ALLOWED to be checked, but it's not done automatically. if parent unselected, child is greyed out, and not selectable.

i wanted to know if the function of "disableOnDepsNotMet" does ANYTHING else? will setting it to false (to get the control i like) effect ANY of the other configurable options (ex: exclusions)?

Sounds much clearer to me now, let me know if you understand me now.

Link to comment
Share on other sites

Ok - I understand.

disableOnDepsNotMet ONLY affects something that has to do with the deps property.

some checkboxes could still be disabled - if these programs were excluded by others, that were checked.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...