Coder Social home page Coder Social logo

Comments (2)

andyward avatar andyward commented on July 24, 2024

A pattern on PropertySet is a relatively common usage (not least to allow wildcard matches). There's a pset testcase example here: https://github.com/buildingSMART/IDS/blob/development/Documentation/testcases/property/pass-all_matching_property_sets_must_satisfy_requirements_1_3.ids

I don't see any problem combining multiple complex restrictions together for specific use cases. Just a very simple use case: Doors and Windows should have an acoustic rating within a range :

PropertySet: pattern Pset_(Door|Window)Common
BaseName: AcousticRating
Value: bounds between 0 and 0.2

But clearly UXs need to adjust so that the simple case is clear/easy to both author and read, while still allowing more complex restrictions to be built. At the end of the day it's a query builder, but no doubt some queries may be considered too advanced to display in a simple interface. (perhaps similar to how some SQL queries may be too complex to edit graphically)

I can see certain complex restrictions may be inappropriate for certain facet properties. e.g. I can't see many people using Bounds or Length on a propertySet or entityName, unless there's something really esoteric going on. My general view would be that IDS verification should be comprehensive and support these edge cases, but editors may want to be more pragmatic - albeit I feel they should not be discarding / corrupting IDS content they don't support

I'm not sure that we should be deliberately limiting the functionality of IDS simply because of UX difficulties building more complex specs.

BTW: Also worth noting an additional complexity detailed in #285 which you may want to consider in the UX - there can be multiple restrictions defined.

from ids.

pierremonico avatar pierremonico commented on July 24, 2024

Thanks for the reply @andyward, that helps. Your point is valid and the example makes sense. I still think others (like range in a PropertySet) are very uncommon, but yeah, we should stay flexible.

We will do our best to somehow catch that then.

from ids.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.