Difference between revisions of "Uno/Meta/Organization"
m (→Examples: Adapted link to moved page.) |
(Reworked.) |
||
Line 1: | Line 1: | ||
− | ==Types | + | To ease usage of the OOo wiki, some rules should be helpful, to achieve |
− | * [[Uno/Meta/Specification|Spec]] - | + | * that URLs of interest can be guessed, |
− | * [[Uno/Meta/Implementation|Impl]] - Implementation | + | * that an author knows where to locate his/her page and how to categorize it, |
− | * [[Uno/Meta/Test|Test]] - | + | * that ideally no redundant information (e.g. lists of something need to maintained). |
+ | |||
+ | For filling organizational pages, the DPL ([http://meta.wikimedia.org/wiki/DynamicPageList2 Dynamic Page List]) extension comes at hand. Uno organizational pages are populated with the help of DPL. | ||
+ | |||
+ | ==Categorizing Pages== | ||
+ | Every page is | ||
+ | * either an overview page, basically listing articles of a particular type touching a set of particular topics, or | ||
+ | * an articles page, describing something while also providing links to subtopics. | ||
+ | |||
+ | The Uno articles are organized in a way, assuming that every article | ||
+ | * has exactly one type (e.g. an article may be an tutorial, or a specification), | ||
+ | * touches one or more topics (e.g. Java or C++ or Development), and | ||
+ | * belongs to exactly one project respectively module (e.g. Binary Uno or Java Uno). | ||
+ | |||
+ | ===Types=== | ||
+ | * [[Uno/Meta/Specification|Spec]] - Specification. | ||
+ | * [[Uno/Meta/Implementation|Impl]] - Description of an Implementation. | ||
+ | * [[Uno/Meta/Test|Test]] - Description of a Test for an Implemenation. | ||
* [[Uno/Term/Effort|Effort]] - Something which is in the works. | * [[Uno/Term/Effort|Effort]] - Something which is in the works. | ||
* [[Uno/Meta/Article|Article]] - An informative article about a particular topic. | * [[Uno/Meta/Article|Article]] - An informative article about a particular topic. | ||
− | * [[Uno/Meta/Tutorial|Tutorial]] | + | * [[Uno/Meta/Tutorial|Tutorial]] - A Tutorial explaining something. |
− | * [[Uno/Meta/Analysis|Analysis]] | + | * [[Uno/Meta/Analysis|Analysis]] - An Analysis. |
− | + | * [[Uno/Meta/Module|Module]] - Description of a source code module. | |
− | * Module | + | * [[Uno/Meta/Project|Project]] - Entry page of an accepted OOo project. |
− | * | + | * [[Uno/Meta/Proposal|Proposal]] - A page proposing a change. |
− | + | * [[Uno/Meta/Meta|Meta]] - A page describing a type or a topic. | |
− | + | * [[Uno/Meta/Term|Term]] - A particular term. | |
− | * | + | |
− | * | + | |
− | + | ||
− | == | + | ===Topics=== |
− | + | * [[:Category:Cpp|Cpp]] - Pages related to C++. | |
− | * | + | * [[:Category:Java|Java]] - Pages related to Java. |
− | * | + | * [[:Category:Development|Development]] |
− | * | + | * [[:Category:CLI|CLI]] |
+ | * Uno | ||
+ | * Uno:<impl> - e.g. Uno:Java for Java Uno or Uno:Cpp for C++ Uno. | ||
− | == | + | ==Organizing Pages== |
− | + | Pages need to be distributed to where they belong. AFAIK Wikipedia uses a flat structure, basically putting all pages side by side. As OOo is already partitioned by its accepted projects, IMHO pages should be distributed to their projects. | |
− | + | ||
− | + | ||
− | + | ||
− | + | Also, pages have exactly one type. Natural approach again IMHO is, to differentiate pages by their type and to distribute them into appropriate folders. E.g. into "specifications" or "modules". Natural choice for organizing pages is the wiki subpage feature. That means that organization of the OOo wiki in general (at least wrt the accepted projects) should follow the following approach: | |
− | + | * <Project> | |
− | * | + | * <Project>/Modules |
− | * | + | * <Project>/Modules/<module a> |
− | * | + | * <Project>/Modules/<module b> |
+ | * <Project>/Specifications | ||
+ | * <Project>/Specifications/<spec. a> | ||
+ | * ... | ||
− | == | + | ===Composing Tutorials=== |
− | + | Tutorials often provide code snippets to each a particular thing of interest. The Uno tutorials separate these snippets into the dedicated pages which than get included by the tutorial. This allows to show the snippet no only in one tutorial, but to also make it available as example usages e.g. of a particular API. | |
− | + | ||
+ | ===Container Pages=== | ||
+ | Container pages are created with help of DPL. E.g. | ||
+ | <pre> | ||
+ | <DPL>category=Uno:Cpp | ||
+ | category=Module</DPL> | ||
+ | </pre> | ||
==Examples== | ==Examples== | ||
− | * Uno | + | * [[Uno]] - Project page for the UDK accepted project. |
− | + | * [[Uno/Modules]] - Overview page listing all modules belonging to Uno. | |
− | + | * [[Uno/Specifications]] - Overview page listing all specifications belonging to Uno. | |
− | + | ||
− | + | ===Binary Uno=== | |
− | + | * [[Uno/Binary]] - Sub project for the Uno Java language binding. | |
− | + | * [[Uno/Binary/Modules]] - overview page for modules belonging to Java Uno. | |
− | + | * [[Uno/Binary/Modules/ridljar]] - Page describing the ridljar module. | |
− | + | * [[Uno/Binary/Modules/jurt]] - Page describing the jurt module. | |
− | + | * [[Uno/Binary/Specifications]] - overview page listing specifications belonging to Java Uno. | |
− | * | + | * [[Uno/Binary/Implementations]] - overview page listing specifications belonging to Java Uno. |
− | + | ||
− | + | ===Cpp Uno=== | |
− | + | * [[Uno/Cpp]] - Sub project for the Uno Java language binding. | |
− | + | * [[Uno/Cpp/Modules]] - overview page for modules belonging to Java Uno. | |
− | * Specifications | + | * [[Uno/Cpp/Modules/ridljar]] - Page describing the ridljar module. |
− | + | * [[Uno/Cpp/Modules/jurt]] - Page describing the jurt module. | |
− | + | * [[Uno/Cpp/Specifications]] - overview page listing specifications belonging to Java Uno. | |
− | + | * [[Uno/Cpp/Implementations]] - overview page listing specifications belonging to Java Uno. | |
+ | |||
+ | ===Java Uno=== | ||
+ | * [[Uno/Java]] - Sub project for the Uno Java language binding. | ||
+ | * [[Uno/Java/Modules]] - overview page for modules belonging to Java Uno. | ||
+ | * [[Uno/Java/Modules/ridljar]] - Page describing the ridljar module. | ||
+ | * [[Uno/Java/Modules/jurt]] - Page describing the jurt module. | ||
+ | * [[Uno/Java/Specifications]] - overview page listing specifications belonging to Java Uno. | ||
+ | * [[Uno/Java/Implementations]] - overview page listing specifications belonging to Java Uno. | ||
+ | |||
+ | |||
+ | [[Category:Meta]] |
Revision as of 09:26, 19 April 2007
To ease usage of the OOo wiki, some rules should be helpful, to achieve
- that URLs of interest can be guessed,
- that an author knows where to locate his/her page and how to categorize it,
- that ideally no redundant information (e.g. lists of something need to maintained).
For filling organizational pages, the DPL (Dynamic Page List) extension comes at hand. Uno organizational pages are populated with the help of DPL.
Contents
Categorizing Pages
Every page is
- either an overview page, basically listing articles of a particular type touching a set of particular topics, or
- an articles page, describing something while also providing links to subtopics.
The Uno articles are organized in a way, assuming that every article
- has exactly one type (e.g. an article may be an tutorial, or a specification),
- touches one or more topics (e.g. Java or C++ or Development), and
- belongs to exactly one project respectively module (e.g. Binary Uno or Java Uno).
Types
- Spec - Specification.
- Impl - Description of an Implementation.
- Test - Description of a Test for an Implemenation.
- Effort - Something which is in the works.
- Article - An informative article about a particular topic.
- Tutorial - A Tutorial explaining something.
- Analysis - An Analysis.
- Module - Description of a source code module.
- Project - Entry page of an accepted OOo project.
- Proposal - A page proposing a change.
- Meta - A page describing a type or a topic.
- Term - A particular term.
Topics
- Cpp - Pages related to C++.
- Java - Pages related to Java.
- Development
- CLI
- Uno
- Uno:<impl> - e.g. Uno:Java for Java Uno or Uno:Cpp for C++ Uno.
Organizing Pages
Pages need to be distributed to where they belong. AFAIK Wikipedia uses a flat structure, basically putting all pages side by side. As OOo is already partitioned by its accepted projects, IMHO pages should be distributed to their projects.
Also, pages have exactly one type. Natural approach again IMHO is, to differentiate pages by their type and to distribute them into appropriate folders. E.g. into "specifications" or "modules". Natural choice for organizing pages is the wiki subpage feature. That means that organization of the OOo wiki in general (at least wrt the accepted projects) should follow the following approach:
- <Project>
- <Project>/Modules
- <Project>/Modules/<module a>
- <Project>/Modules/<module b>
- <Project>/Specifications
- <Project>/Specifications/<spec. a>
- ...
Composing Tutorials
Tutorials often provide code snippets to each a particular thing of interest. The Uno tutorials separate these snippets into the dedicated pages which than get included by the tutorial. This allows to show the snippet no only in one tutorial, but to also make it available as example usages e.g. of a particular API.
Container Pages
Container pages are created with help of DPL. E.g.
<DPL>category=Uno:Cpp category=Module</DPL>
Examples
- Uno - Project page for the UDK accepted project.
- Uno/Modules - Overview page listing all modules belonging to Uno.
- Uno/Specifications - Overview page listing all specifications belonging to Uno.
Binary Uno
- Uno/Binary - Sub project for the Uno Java language binding.
- Uno/Binary/Modules - overview page for modules belonging to Java Uno.
- Uno/Binary/Modules/ridljar - Page describing the ridljar module.
- Uno/Binary/Modules/jurt - Page describing the jurt module.
- Uno/Binary/Specifications - overview page listing specifications belonging to Java Uno.
- Uno/Binary/Implementations - overview page listing specifications belonging to Java Uno.
Cpp Uno
- Uno/Cpp - Sub project for the Uno Java language binding.
- Uno/Cpp/Modules - overview page for modules belonging to Java Uno.
- Uno/Cpp/Modules/ridljar - Page describing the ridljar module.
- Uno/Cpp/Modules/jurt - Page describing the jurt module.
- Uno/Cpp/Specifications - overview page listing specifications belonging to Java Uno.
- Uno/Cpp/Implementations - overview page listing specifications belonging to Java Uno.
Java Uno
- Uno/Java - Sub project for the Uno Java language binding.
- Uno/Java/Modules - overview page for modules belonging to Java Uno.
- Uno/Java/Modules/ridljar - Page describing the ridljar module.
- Uno/Java/Modules/jurt - Page describing the jurt module.
- Uno/Java/Specifications - overview page listing specifications belonging to Java Uno.
- Uno/Java/Implementations - overview page listing specifications belonging to Java Uno.