Giter Site home page Giter Site logo

silverstripe-featureflags's Issues

Shift context-matching and saving to FieldProvider

Right now FieldProvider must enumerate the IDs of each context record it saves. This is fine in most cases, but if you wanted to for instance select Member context by group then you would need to list all members of that group, which is brittle and inefficient.

One approach would be:

  • Shift code for looking up by ContextKey / ContextID from FeatureFlagChecker to FieldProvider
  • Consider adding a ContextType varchar(255) field alongside ContextKey and ContextID to give FieldProvider more flexibility. E.g. ContextKey = Member, ContextType = ByGroup, ContextID = 5.
  • Re-think how FeatureFlagSwitcher works.
  • Add a trait that implements the current default behaviour.

Alternatively, the context data could be saved as a JSON payload but the ability to look up only the relevant context record via the ORM is good for efficiency, so a JSON payload would be suboptimal.

Better UI control than CheckboxSetField for selecting items

Right members / projects / etc are selected with a CheckboxSetField. This doesn't scale well and is a pain point of actually using the UI.

A better UI control, e.g. a list with an autocomplete-based picker, would be better. It's possible that GridField can be used to build this, but would need testing.

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.