Changes

Jump to navigation Jump to search
restructure
Line 1: Line 1:  
[[Category:Knowledge panels]]
 
[[Category:Knowledge panels]]
Knowledge panels are json data that describe content to be displayed to the user.
+
Knowledge panels are an extensible way to convey data, knowledge and recommendations to users when they view a product page or a facet page (e.g. a category page). They are used on the Open Food Facts website ([[Product Opener]]) and mobile app ([[Project Smoothie|Flutter application]]), and could be used in the future in 3rd party apps.
   −
They are currently used on the [[Project Smoothie|new smoothie flutter application]] and on the [[Product Opener]] web platform.
+
Knowledge panels:
    +
* are generated server side by [[Product Opener]] and sent to clients through the API
 +
* turn structured raw data (e.g. nutrition data) into structured ready-to-display data (e.g. a nutrition table), knowledge (e.g. why it's important to reduce salt) and recommendations (e.g. how to reduce salt)
 +
* contain a limited set of display elements (e.g. titles, icons, images, tables etc.)
 +
* are hierarchical (panels can contain subpanels that can be shown opened or that users can drilldown on)
 +
 +
== Reference ==
 
Introduction: https://openfoodfacts.github.io/openfoodfacts-server/introduction/knowledge-panels/
 
Introduction: https://openfoodfacts.github.io/openfoodfacts-server/introduction/knowledge-panels/
    
Reference documentation: https://openfoodfacts.github.io/openfoodfacts-server/reference/api/#get-/api/v2/product/-barcode--fields-knowledge_panels
 
Reference documentation: https://openfoodfacts.github.io/openfoodfacts-server/reference/api/#get-/api/v2/product/-barcode--fields-knowledge_panels
   −
== Testing it ==
+
== Existing and proposed new knowledge panels ==
 +
Most of the product page on the OFF website and mobile app is generated through knowledge panels (with the exception of product images and [[Product Attributes]]).
 +
 
 +
== Technical issues and questions ==
 +
 
 +
=== Testing it ===
 
Knowledge panels are already deployed for every body !
 
Knowledge panels are already deployed for every body !
   Line 17: Line 28:  
'''FIXME:''' eventually move this part of this to https://openfoodfacts.github.io/openfoodfacts-server/introduction/api/
 
'''FIXME:''' eventually move this part of this to https://openfoodfacts.github.io/openfoodfacts-server/introduction/api/
   −
== The flexibility of a static page ? ==
+
=== The flexibility of a static page ? ===
 
* Use the same system as for static pages, with much more Q&A ?
 
* Use the same system as for static pages, with much more Q&A ?
 
* Add a mode to get the raw file without the Product Opener UI
 
* Add a mode to get the raw file without the Product Opener UI
Line 24: Line 35:  
* Would allow to display them on the web as well
 
* Would allow to display them on the web as well
   −
== What should we do with the native Wikidata integration on Android ? ==
+
=== What should we do with the native Wikidata integration on Android ? ===
 
* Move the logic on the server, with caching, and let iOS and other apps benefit as well ?
 
* Move the logic on the server, with caching, and let iOS and other apps benefit as well ?
 
* Blend the Wikidata info with our own
 
* Blend the Wikidata info with our own
 
* System to add Wikidata IDs to categories, labels… (working as a special language, using the existing translation system ?)
 
* System to add Wikidata IDs to categories, labels… (working as a special language, using the existing translation system ?)
   −
== When should network calls be made ? ==
+
=== When should network calls be made ? ===
 
* The apps would attempt to call all labels at setup, and then refresh on some heuristic
 
* The apps would attempt to call all labels at setup, and then refresh on some heuristic
 
* On demand call when clicking on an attribute or a label
 
* On demand call when clicking on an attribute or a label
   −
== Support for HTML embedding on Android ==
+
=== Support for HTML embedding on Android ===
 
* https://stackoverflow.com/questions/2116162/how-to-display-html-in-textview
 
* https://stackoverflow.com/questions/2116162/how-to-display-html-in-textview
 
* https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/2205
 
* https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/2205
Line 41: Line 52:  
* Support for webviews
 
* Support for webviews
   −
== Support for HTML embedding on iOS ==
+
=== Support for HTML embedding on iOS ===
 
* https://github.com/openfoodfacts/openfoodfacts-ios/pull/192/files
 
* https://github.com/openfoodfacts/openfoodfacts-ios/pull/192/files
 
* Authorized HTML tags
 
* Authorized HTML tags
Line 47: Line 58:  
* Support for webviews
 
* Support for webviews
   −
== Support for HTML embedding on Flutter ==
+
=== Support for HTML embedding on Flutter ===
 
* https://pub.dev/packages/flutter_html
 
* https://pub.dev/packages/flutter_html
 
* https://pub.dev/packages/flutter_widget_from_html
 
* https://pub.dev/packages/flutter_widget_from_html

Navigation menu