Faceted Classification and Process Patterns

From Value Network
Jump to: navigation, search

These components have been added to deal with the problem of long and confusing selection lists, as in these github issues:

See also Process Pattern tips

Definition

Wikipedia describes faceted classification:

A faceted classification system allows the assignment of an object to multiple characteristics (attributes), enabling the classification to be ordered in multiple ways, rather than in a single, predetermined, taxonomic order. A facet comprises "clearly defined, mutually exclusive, and collectively exhaustive aspects, properties or characteristics of a class or specific subject".[1] For example, a collection of books might be classified using an author facet, a subject facet, a date facet, etc.

Faceted classification is used in faceted search systems that enable a user to navigate information along multiple paths corresponding to different orderings of the facets. This contrasts with traditional taxonomies in which the hierarchy of categories is fixed and unchanging. http://en.wikipedia.org/wiki/Faceted_classification


Related to SENSORICA's VAS

People have proposed category hierarchies to deal with the selection list problems, but facets will be more flexible. (People have also asked for resource types to be able to belong to more than one category. That's what these facets are.)

The current categories have another problem: they combine apples and oranges, for example, Prototype and Equipment (with those categories, we can't have a prototype of some equipment). Facets don't have this problem because a resource type can have many facets, each of them describing different aspects. In other words, a resource type could be both prototype and equipment.

The next improvement, built on Facets, is Process Patterns. If we used Categories or even Facets alone to filter selection lists, people would first need to select Category or Facet before they could get their filtered selection list. So they would need to understand the Categories or Facets, besides needing more clicks and selections.

Process Patterns pre-selects the facets for a logging situation and does the filtering for you. So, for example, you could have an Optical R&D pattern that would pre-select only the output, input, citable and work resource types that typically go into Optical R&D processes.

But, of course, there is a catch in all these improvements: somebody needs to understand and create Facets and Process Patterns. And as in all configuration elements, they are akin to programming, and you can create bugs and unintended consequences. And so, this tutorial:

As of now, you can only create Facets and Process Patterns in Admin. But there's a page (below) for testing your Process Patterns to make sure you are finding the resource types you want, and also a nice table for assigning facet values to resource types.

More about facets and patterns

We have resource types, that are described/categorized by various facets (category, domain, stage, work, ...). The row in the Resource Type Facets has facet values and it should completely describe the resource type, and make all the necessary distinctions among them. This is where the system get's its power of representation.

Pattern, use and facet value.

A pattern is more related to a page.

Example of uses: cite, use, produced, consume, work

A "use" is a way of mixing facet values, defining facet value constraints. Example, I am only interested in resource-types that have SENSORICA (a facet value of the "source" facet) as a source in the system.

We must associate a uses to a pattern. A pattern can have multiple uses.

Definition of SENSORICA's facets

See how resources are classified as resource types

Category

They are used in dropdowns in processes where we're picking something we're producing or using.

  • logging time in labnotes and design logging

not uses in non-production work logging

Rules

When choosing a citation, the options presented for what can be citable are defined by the pattern "Intellectual design", which is linked by a "use case" (tells where in the system the pattern is used). Example, this is used in the Log Design page. That pattern as slots, and the design page has slots (work, cite and produced). The page is the use case.


  • Deliverable: any material or immaterial artifact that can be delivered and share with others.
  • Source: only use it for components and products.

No resource type can have both, "work" and "deliverable". "work" resource types can only have "work" and "optionally" domain.

Setting up the system

1. Create some Facets

Facets.png

2. Give them some values

Be consistent. Each facet should have values from the same logical domain.

Facet.png

3. Create some Process Patterns

Patterns.png

4. Set their facet values to filter resource types for logging methods

Pattern.png

5. Test your pattern. Select Patterns from the user menu on the far right

Pattern menu.png

6. Make sure your pattern finds the resource types you want

Test Patterns.png

If you have problems, the logic behind the pattern filter goes like this:

  • Different Facets use AND logic. In other words, if your pattern has different facets, a resource type to be selected must have all of those facet values. For example, the pattern shown above specifies the facet Department with the value Optical and the facet Source with the value SENSORICA for output resource types. The resource types that pass the filter have both facet values. The fact that Design - Optics - Robot Finger has an extra facet value (Stage: Design) does not matter.
  • Within the same Facet, values use OR logic. In other words, if your pattern has more than one value in the same facet, a resource type to be selected may have any of those values, but must also have an acceptable value in all of the other facets in the pattern for that process relationship (output, input, etc.). You can see OR logic in the Input Resource Types for the pattern shown above.

You may have problems with unwanted resource types passing the filter. If so, add another facet value that they don't have.

7. Add facets to your resource types

Resource type facets.png

This table is linked to the Test Patterns page (previous). Follow the instructions at the top.