Chunk Your Large Option Classes

If an option class has more than 25 options, then Configurator uses the Item Selection Table with Header template to display items from the option class, by default. You can use it to help avoid a performance problem that might happen when Configurator attempts to display an option class that has too many options.

This template allows your users to:

  • Display your items in a scrolling table. The table loads items while you scroll it instead of loading all items into the table the first time you open it.
  • Use the Query By Example control to filter the items that Configurator displays in the table.
  • Use a wild card in Query By Example to filter the items.

If this template doesn't meet your needs, then you can set up Configurator so it uses a different template.

You can also use a feature, such as an option feature, to separate a large option class into chunks, avoid the performance problem, and improve your user experience.

Assume you have an option class named Seat that contains thousands of options for different types of seats. You notice that you can chunk the options into categories:

  • Seat Width
  • Seat Height
  • Seat Thickness
  • Back Width
  • Back Height
  • Back Thickness
  • Cording
  • Color
  • Fabric Type
  • Foam Type
  • Reclining Style
  • Automatic
  • Heat Styles
  • Monogram

Here's how you can implement that.

  1. Create an option feature named Seat Width. For details, see Option Features.
  2. Add options to Seat Width, such as 14 inch, 16 inch, 17 inch, and so on.
  3. Create the next option feature, such as Seat Height, then add its options.
  4. Continue creating features for all of the categories. Use different types of features, as necessary. For example, the Monogram feature includes text, so use a text feature for it.
  5. Select the summary on the Overview tab. This will modify the model's user interface so it displays all of the option classes and options, and a bread crumb trail so the user can see all the options they've selected.
  6. Create a statement or extension rule that uses your user's response at run time as an input to each option feature, and then processes the input to select the desired seat. Here's an example statement rule.
    'Chair'.'Cushion Width' > 30 AND 'Chair'.'Cushion Width' <= 50 
    REQUIRES 
    'Chair'.'Seat Cushion OC'.'MEDIUM_SEAT_CUSHION';
    

    In pseudocode:

    If the chair's width is between 30 inches and 50 inches, then select MEDIUM_SEAT_CUSHION.