Passer au contenu Passer au pied-de-page

Omnia - backend : categorization - Christophe

For the categorization, we have three main packages.

At the bottom : imio.omnia.core

  • Secure communication with Omnia / Smartweb agnostic

Then : imio.smartweb.common

  • Functionality shared by our different SmartWeb applications (common fields, vocabularies,.. like the audience and topics)
  • It knows about the AI categorization process

Finally : imio.smartweb.core

  • It knows what a SmartWeb Page is
  • how to get its text
  • how to handle specific fields like the page category

Dear "omnia.core" : Let's categorizing this wonderful content!

On the browser side, the button calls the view and then distributes the values into the fields.

  • The keys are standard Plone widget IDs (form-widgets-IAm-iam).
  • setFieldById handles each widget type and fires the events Plone expects
  • The AI is unaware of the form
  • smartweb.common : maps the AI's response to field addresses

Key consideration : AI never erase human choices

Ok but... Why imio.smartweb.core ?

  • page is a Dexterity container. 
  • "the page text" is not an attribute read; it is an aggregation.

The AI does not invent categories

To resume and basically, we say:

“Here is the content of the page, and here are the possible values. Please choose the most relevant ones.”

==> The result is then used to pre-fill the form.

==> The editor can review the suggestions and change them if necessary.

==> And now : Rémi !