Content Management

From openinverter.org wiki
Revision as of 08:54, 10 May 2025 by Powercontrol (talk | contribs)
Jump to navigation Jump to search

DRAFT - DRAFT - DRAFT

the objective of this page is to explain how the content of the wiki page could be structured using Semantic for Mediawiki (SMW) to build a scalable and object-based wiki (for search and relation-building aspects) and still keeping the freedom for authors to create their content. There needs to be a trade-off to be found between freedom and structure.

Why Semantic for Mediawiki?

SMW allows to have a form-based creation of objects. the form asks the users some key information then create the corresponding page and render the entered information in a consistent way, assign the category accordingly etc.

Because the page created is based on a template, changing the template modifies the instantiation of the created pages.

SMW also allows to create dynamic queries inside pages. The content will be modified based on other pages content. this is a powerful manner to make references to other pages without doing manual maintenance of the page. A practical and basic example would be that if the query below was inserted a page creation (a template being called by a form):

{{#ask:
  [[FoundIn.Page::{{PAGENAME}}]]
  | format=list
  | link=all
 }}

The page content will update itself to list all other pages that refer to this new page. There are much more granular type of queries to be done (including on categories) which then become really handy.

General Principles and Naming Convention

SMW uses multiple notions. They are key to be used properly for good use.

Object Usage Naming Convention Example
Page the core component of the wiki and what readers are consuming. By default, there is no hierarchical structure of pages - and categories are the better way for structuring a wiki each Word is start with a capital letter. Spaces and brackets are allowed. mutiple words are recommended to be separated by a space (mediawiki uses underscore instead of %20 for URL)

Title Case

Nissan Leaf (2010-2017)
Category the categories are part of the generic Mediawiki structure. its reflects a categorization or labeling of pages. Categories can be nested which are useful to reflect a structure of "component of" and for "is a subtype of". Multiple categories can be assigned to page, hence it can provide multiple view at once. A dedicated section of this page will cover their aspects.

There are cases where it is not obvious whether a property or a category makes more sense. one does not prevent the other, by the way.

as the wiki already as categories created and they use naming similar to Page, the categories will further be named the same way.

Title Case

Battery

Connector

Property SMW specific - it defines a relation between 2 objects, or assign an attribute to an object. the target (called Special:Types) can be a list, another page. When defining a property, it would make sense to refer to a specific category of object (for instance, FoundIn would be referring to a Vehicle or a Component), but the type of object we can refer to are Pages, Numbers, Date,... nothing to do with category. UpperCamelCase.DestinationObjectType or UpperCamelCase.DestinationAttributeType FoundIn.Page

HasWeight.Qty

Template SMW specific - defines which properties values shall be defined at the creation of an object. Not all pages must be created using templates, but objects which have relations between themselves are best created using templates. the template name shall refer to a corresponding category name, and the template shall enforce that category at page creation.

T/UpperCamelCase.OutputFormat

T/Connector.Infobox

T/Battery.PlainText

Form SMW specific - A Form is an helper for the author to create a templated object. The form allows to create a consistent visual structure to pages F/UpperCamelCase - the Form refers to a corresponding Template, but the output format will not be referred to in the form name.

A form can also call multiple templates - in such case its name will refer to the first one

F/Connector

F/Battery

Categories

At the time of writing, the following category structure exist: (in the absence of CategoryTree extension, doing my best to represent it):

Level 1 Level 2 Level 3 Level 4
Basics
Inverter Motor Battery Charger DC/DC HVJB (High Voltage Junction Box) Contactor PCB CAN LIN ISA Shunt Accelerator Pedals and Position Sensors Gearbox Gear Selectors Power Steering HVAC Heater Air Heater Coolant Water Pumps AC Compressor Adapter Arduino ESP32 ESP8266 ZombieVerter VCU
OEM Manufacturers BMW Bosch Chevrolet Ford Honda Hyundai Isabellenhütte Land Rover Lexus Mercedes-Benz MG Mitsubishi Nissan Opel Peugeot Renault Tesla Toyota VAG (Volkswagen Audi Group) VW Vauxhall Volvo
Charging Systems ChaDeMo Chademo with Zombieverter CCS Charge Ports Rapid Charging Fast Charging
Conversions Mechanical Parts OpenInverter Projects OEM Repurposing Obsolete
Accessories
Education
Errors
Fix Links
Imported Vocabulary
Pages with Broken File Links
Pages with Ignored Display Titles
Request for Review
Troubleshoot
Webasto


I am proposing to shuffle the categories in such structure - italic names are to be created

Top level first level second level third level
Manufacturer