valnet / valuenetwork

Resource Planning and Value Accounting for Value Networks
http://mikorizal.org
GNU Affero General Public License v3.0
99 stars 25 forks source link

Adding more flexibility to the pattern setup process #460

Open TiberiusB opened 8 years ago

TiberiusB commented 8 years ago

When setting Patterns, one needs to set Pattern facets. There is a Boolean logic that governs how Patterns facets are mixed to filter. First problem: This Boolean logic is not visible to the user. Second problem: This Boolean logic is not controllable by the user, it is hard-codded. This makes setting Patterns a very tedious work for the user.

Proposed solution: allow the user to set the Boolean logic.

NOTE: facets are probably a good way to filter, but it cannot be scaled. We need to improve the way we manage lists (the filters that apply to lists) to make the system scalable. At this point, the system becomes unmanageable if the number of Types of resources and of Resources increases. In SENSORICA's case this is almost the case.

bhaugen commented 8 years ago

Please propose a better solution than patterns and facets for filtering resource type selection lists.

bhaugen commented 8 years ago

@TiberiusB - if you could specify the boolean logic between patterns and facets,

sqykly commented 6 years ago

@TiberiusB It looks as if there is only one logical relationship between resource types and pattern facet values - a resource type matches the pattern if it has one or more facets whose values match the pattern's value for the same facet. Explaining this logic so it is transparent to the user would be rather simple, but allowing arbitrary logic to be constructed is more of an undertaking. It seems like this is a scaling issue and we are scaling, so if you think it's important, I'll set it up.

Tell me if this is sort of what you're looking for. You construct a list of nodes joined by OR or AND logic (or ONE-OF, ALL-OF, N-OF, if you prefer, no difference). Any node can be one criterion of:

must have facet = value1 or value2 ... must not have facet value = value1 or value2 ...

or it can be a nested list of nodes so that you can have logic like:

all of ( one of ( facet1 = value1 ; facet2 = value2 ) ; one of ( facet3 = value3; facet4 = value4 ) )

Apart from the change pattern interface, where might the UI for this feature appear?