Template:Project infrastructure: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Major template redesign including more use of the {{project infrastructure option}} template and multi-language support (currently only with English translations).)
(Addition of the 'noprotocol' parameter which, if set, will cause the protocol part of the URL to be dropped.)
Line 1: Line 1:
{{#switch: {{{1|name}}}
{{#switch: {{{1|name}}}
| name = {{#ifeq: {{{link|yes}}} | yes
| name = {{#ifeq: {{{link|yes}}} | yes
           | [http://sourceforge.net/projects/flightgear{{#if: {{{urn|}}}|/{{{urn}}}}} {{{text|SourceForge}}}]
           | [{{#if:{{{noprotocol|}}}||http://}}sourceforge.net/projects/flightgear{{#if: {{{urn|}}}|/{{{urn}}}}} {{{text|SourceForge}}}]
           | SourceForge
           | SourceForge
         }}
         }}
Line 8: Line 8:
     {{project infrastructure option
     {{project infrastructure option
       | link = {{{link|yes}}}
       | link = {{{link|yes}}}
       | url = http://build.flightgear.org:8080
       | url = {{#if:{{{noprotocol|}}}||http://}}build.flightgear.org:8080
       | desc = {{LangSwitch
       | desc = {{LangSwitch
               | en = FlightGear Build Server
               | en = FlightGear Build Server
Line 16: Line 16:
     {{project infrastructure option
     {{project infrastructure option
       | link = {{{link|yes}}}
       | link = {{{link|yes}}}
       | url = https://sourceforge.net/projects/flightgear/files/unstable
       | url = {{#if:{{{noprotocol|}}}||https://}}sourceforge.net/projects/flightgear/files/unstable
       | desc = {{LangSwitch
       | desc = {{LangSwitch
                 | en = Nightly builds
                 | en = Nightly builds
Line 25: Line 25:
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link = {{{link}}}
       | link = {{{link}}}
       | url = http://mapserver.flightgear.org
       | url = {{#if:{{{noprotocol|}}}||http://}}mapserver.flightgear.org
       | desc = {{LangSwitch
       | desc = {{LangSwitch
                 | en = FlightGear mapserver
                 | en = FlightGear mapserver
Line 33: Line 33:
     {{project infrastructure option
     {{project infrastructure option
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | url = https://forum.flightgear.org
       | url = {{#if:{{{noprotocol|}}}||https://}}forum.flightgear.org
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | desc = {{LangSwitch
       | desc = {{LangSwitch
Line 42: Line 42:
     {{project infrastructure option
     {{project infrastructure option
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | url = https://sourceforge.net/p/flightgear/mailman
       | url = {{#if:{{{noprotocol|}}}||https://}}sourceforge.net/p/flightgear/mailman
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | desc = {{LangSwitch
       | desc = {{LangSwitch
Line 51: Line 51:
     {{project infrastructure option
     {{project infrastructure option
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | url = http://flightgear.org
       | url = {{#if:{{{noprotocol|}}}||http://}}flightgear.org
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | desc = {{LangSwitch
       | desc = {{LangSwitch
Line 60: Line 60:
     {{project infrastructure option
     {{project infrastructure option
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | link{{#if:{{{link|}}}||NULL}} = {{{link}}}
       | url = http://wiki.flightgear.org
       | url = {{#if:{{{noprotocol|}}}||http://}}wiki.flightgear.org
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | urn{{#if:{{{urn|}}}||NULL}} = {{{urn}}}
       | desc = {{LangSwitch
       | desc = {{LangSwitch
Line 88: Line 88:
== Usage ==
== Usage ==
  {{obr}}'''project infrastructure
  {{obr}}'''project infrastructure
  {{!}} ''mode''
{{!}} mode
  {{!}} ''urn'' =
  {{!}} ''urn''       =
  {{!}} ''link'' =
  {{!}} ''link''       =
  {{!}} ''text'' =
  {{!}} ''text''       =
  {{!}} ''noprotocol'' =
  {{cbr}}
  {{cbr}}


; mode: The type of infrastructure.  This defaults to '''name''', but can be one of:
; mode: The type of infrastructure.  This defaults to {{param||name}}, but can be one of:


:; name:  The name of the hosting infrastructure.
:; name:  The name of the hosting infrastructure.
Line 107: Line 108:
; urn: The optional [https://en.wikipedia.org/wiki/Uniform_Resource_Name uniform resource name], the part of the [https://en.wikipedia.org/wiki/Uniform_Resource_Locator URL] after the domain name.
; urn: The optional [https://en.wikipedia.org/wiki/Uniform_Resource_Name uniform resource name], the part of the [https://en.wikipedia.org/wiki/Uniform_Resource_Locator URL] after the domain name.


; link: If set to '''yes''', then a MediaWiki link will be created, when appropriate.  The value of '''no''' will cause plain text to be returned.  This defaults to '''yes'''.
; link: If set to {{param||yes}}, then a MediaWiki link will be created, when appropriate.  The value of {{param||no}} will cause plain text to be returned.  This defaults to {{param||yes}}.


; text: The optional custom text to use for the link.
; text: The optional custom text to use for the link.
; noprotocol: If set, then the protocol part of the URL will not be added.  This is, for example, '''https://'''.


== Examples ==
== Examples ==
Line 146: Line 149:


{{project infrastructure|forum|link=no}}
{{project infrastructure|forum|link=no}}
site:{{obr}}project infrastructure{{!}}forum{{!}}link=no{{!}}noprotocol=yes{{cbr}}
site:{{project infrastructure|forum|link=no|noprotocol=yes}}


=== Website ===
=== Website ===

Revision as of 07:54, 6 June 2019

SourceForge


The following template description is not displayed when the template is inserted in an article.

Goal

To be a universal template for referencing the current open source infrastructure used by the FlightGear project. Currently all our code and data lives on SourceForge. Collecting everything from gitorious, googlecode and private servers, getting our build server work with the new locations was not a trivial task, took months to complete and was everything but a nice job.[1][2]

However, should the project ever need to be moved again (a discussion that keeps coming up, and is even raised by former core developers [3][4][5]), this template will help isolate required changes. The creation of this template was motivated by the workload caused by the shutdown of gitorious (to become gitlab) and subsequent migration of all repositories to sourceforge[6]. Shortly afterwards, Sourceforge and Slashdot were sold, where most of the FlightGear project's infrastructure had moved at the time [7]. The wiki admins back then realized that the workload due to having to update dozens, if not even hundreds, of articles could be greatly reduced if a common set of templates were to be used for "encapsulating" (hiding) such details. In particular, the creation of the repo link (respectively git/svn link) templates (started by Red Leader and Johan G) will greatly help reduce the amount of work needed to maintain our wiki articles up to date.

Usage

{{project infrastructure
| mode
| urn        =
| link       =
| text       =
| noprotocol =
}}
mode
The type of infrastructure. This defaults to name, but can be one of:
name
The name of the hosting infrastructure.
abbrev
An abbreviation for the hosting infrastructure, mainly for use in other templates (no link, and current returns sf).
nightlies
nightly builds
buildserver
The FlightGear build server
forum
The FlightGear forum.
website
The FlightGear website.
wiki
The FlightGear wiki.
mailing lists
The FlightGear mailing lists.
urn
The optional uniform resource name, the part of the URL after the domain name.
link
If set to yes, then a MediaWiki link will be created, when appropriate. The value of no will cause plain text to be returned. This defaults to yes.
text
The optional custom text to use for the link.
noprotocol
If set, then the protocol part of the URL will not be added. This is, for example, https://.

Examples

Name

{{project infrastructure|name}}

SourceForge

{{project infrastructure|name|link=no}}

SourceForge


{{project infrastructure|nightlies}}

Nightly builds


Abbreviation

{{project infrastructure|abbrev}}

sf

Build Server

{{project infrastructure|buildserver}}

FlightGear Build Server


Forum

{{project infrastructure|forum}}

FlightGear Forum

{{project infrastructure|forum|link=no}}

https://forum.flightgear.org

site:{{project infrastructure|forum|link=no|noprotocol=yes}}

site:forum.flightgear.org

Website

{{project infrastructure|website}}

website

{{project infrastructure|website|link=no}}

http://flightgear.org

Wiki

{{project infrastructure|wiki}}

FlightGear wiki

{{project infrastructure|wiki|link=no}}

http://wiki.flightgear.org

Related templates

{{project infrastructure option}}


References