2014-09-01

‎Linux Packages and Repositories

← Older revision

Revision as of 05:50, 1 September 2014

(5 intermediate revisions by one user not shown)

Line 11:

Line 11:

|Formcount=7

|Formcount=7

}}

}}

+

+

[http://www.funtoo.org Funtoo Linux] is a Linux-based operating system that is a variant of Gentoo Linux and run by Daniel Robbins.

+

Funtoo Linux uses Semantic MediaWiki as its official Web site. Our official home page, documentation, tutorials, and package pages are all stored as Semantic MediaWiki pages.

Funtoo Linux uses Semantic MediaWiki as its official Web site. Our official home page, documentation, tutorials, and package pages are all stored as Semantic MediaWiki pages.



Semantic MediaWiki is used in
several ways
.
The external
data extension is used to
import
semantic
data
about Funtoo packages.
Also
,
Semantic Forms
is used to
edit Package pages
. In addition, a
User form exists
which
allows users to place themselves
on a
Funtoo user map
.

+

=== Install Documentation ===

+

+

First and foremost, we store [http://www.funtoo.org/Funtoo_Linux_Installation our official installation documentation on the wiki]. This is the most critical document related to Funtoo Linux. While this document does not store its own semantic data, it does contain a semantic query near the end to display relevant additional topics for exploration by new Funtoo Linux users.

+

+

=== Semantic User Pages ===

+

+

I first started using
Semantic MediaWiki
to create standardized user pages on our wiki. Semantic Forms
is used
to provide a form for users to fill out to provide information about themselves, such as their contact information and geographic location. This information is displayed on the right-hand side of their user page ([http://www.funtoo.org/User:Golodhrim see example here]) using a template. Their geographic location is also used to render a global [http://www.funtoo.org/Usermap  "Usermap"], which allows Funtoo Linux users to see the location of everyone
in
the Funtoo Linux community
.
Gravatar integration is used to render user avatars.

+

+

As Funtoo Linux infrastructure evolved, I developed a custom LDAP authentication engine, which was integrated into our wiki using the [http://www.mediawiki.org/wiki/Extension:LDAP_Authentication MediaWiki LDAP Authentication Extension]. As more user
data
started being stored in LDAP rather than the wiki, the [http://www.mediawiki.org/wiki/Extension:External_Data External Data
extension
] was used to integrate much of this data into the existing user pages, so that information wasn't duplicated between LDAP and the user pages.

+

+

=== Optimization Proposals ===

+

+

Funtoo Linux then began using Semantic MediaWiki to track information related to [http://www.funtoo.org/Category:FLOP Funtoo Linux Optimization Proposals], or "FLOPS". FLOPS are proposals for improving Funtoo Linux. A semantic form
is used to
define a FLOP, and relevant metadata such as the submission date and author are stored semantically. Our FLOP template integrates with our user pages and displays the user's full name if specified, rather than simply the username, but still properly links to the userpage.

+

+

=== Linux Packages and Repositories ===

+

+

Since beginning to use MediaWiki, we have tried several approaches for storing Linux package information in our wiki, and none really worked well for us until a
semantic
solution was implemented. Package pages ([http://www.funtoo.org/Package:AMD_Catalyst_Video_Drivers see example here]) are used to store documentation and other relevant information
about
Linux packages that are part of
Funtoo
Linux. The wiki aspect of the package pages allow anyone to improve our documentation, while the semantic features allow for
packages
to be categorized and queried
.
In addition
,
as with our user pages, the [http://www.mediawiki.org/wiki/Extension:External_Data External Data extension]
is used to
integrate information from our official package repositories so that we have a single authoritative source for package data and do not need to duplicate or manually synchronize information between our package repository and wiki
.

+

+

In addition
to storing Linux package information on the wiki
,
we also store information related to package repositories ([http://www.funtoo.org/Repository:Funtoo_Overlay see example here].) Every package has
a
"home" where it lives,
which
is typically a git repository. By storing package repository information semantically
on
our wiki, we are able to create
a
coherent data model so that users can understand where to find the actual source code for every package we document
.



We have a semantic data model that defines repositories of packages, and then packages that are part of repositories. We also use Semantic MediaWiki and Forms for defining FLOPs (Funtoo Linux Optimization Proposals).

+

=== Links ===



Browse some Semantic functionality
:

+

Below, you can find links mentioned above
:

* [http://www.funtoo.org/Funtoo_Linux_Installation Our install documentation] - a semantic query at the very end to show relevant links

* [http://www.funtoo.org/Funtoo_Linux_Installation Our install documentation] - a semantic query at the very end to show relevant links

Show more