Skip to content

Write a guide on how to use mediawiki for 101companies pages #14

@rlaemmel

Description

@rlaemmel

Below the old / outdated / incomplete / naive ... guide is shown.

Something better is needed, right?

'''The classification approach taken by the wiki is described here.'''

== Motivation ==

=== Categories vs. non-categories ===

The default approach strictly distinguishes categories and non-categories.

This strict distinction is bothersome.

References need to knowingly express whether to refer to categories or non-categories.

When a page must be changed into a category page (or vv) then links get broken.

Also, the syntax of referencing is clumsy for category pages---especially, when "Category:" should be suppressed for rendering.

The existing MOVE function of the user interface does not support categories.

=== Technologies vs. concepts ===

Most of the wiki is dedicated to describing concepts of a programming ontology.

To this end, we use wiki categories for classification.

The leafs of the classification hierarchy could be one out of two things:

  • Concrete technologies that contribute to classes of technologies.
  • Concrete concepts that are no further classified.

We use namespace to know easily for each given link whether it is this or that.

This also helps with generating appropriately categorized indexes (w/o inheritance chasing).

== Design ==

=== List of namespaces ===

  • Contributors are qualified by "Contributor:".
  • Concrete technologies are qualified by "Technology:".
  • 101companies implementations are qualified by "Implementation:".
  • Concepts of the ontology are in the default namespace or qualified by "Category:" if they are categories.

=== Links and resolution ===

  • The standard link scheme of [[...]] and [[...|...]] works as always.
  • We also have new forms [[[...]]] and [[[...|...]]] with the following semantics:
    ** Resolve to Category if there is a category of that name.
    ** Resolve to default namespace otherwise.

For example:

  • New syntax
    ** Reference: [[[O/R mapping technology]]]
    ** Rendering: [[[O/R mapping technology]]]
  • Old syntax
    ** Reference: [[:Category:O/R mapping technology|O/R mapping technology]]
    ** Rendering: [[:Category:O/R mapping technology|O/R mapping technology]]

=== Rendering ===

  • [[Technology:Java]] should always be rendered as if it was specified as [[Technology:Java|Java]].
  • Likewise for other qualifiers: Implementation, Contributor, Category.

=== User interface ===

The MOVE feature is needed for categories, too.

The MOVE features is also needed in the generalized sense as follows:

  • Enable transition from category to non-category.
  • Enable transition from non-category to category.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions