Project

General

Profile

MediawikiMigration » History » Version 8

Denis 'GNUtoo' Carikli, 05/01/2020 10:50 PM

1 1 Denis 'GNUtoo' Carikli
h1. MediawikiMigration
2
3 3 Denis 'GNUtoo' Carikli
h2. Rationale
4
5 4 Denis 'GNUtoo' Carikli
The documentation on the Redmine wiki has lot of duplication of information. 
6
7
The solution that has been choosen for that is the following:
8
* Migrate part of the information in Wikidata.
9
* Use template and/or generate information from Wikidata.
10
11
Other solutions were also possible such as migrating to documentation system like pandoc, but doing that would increase a lot the required skills of potential contributors. 
12
13
Using complicated documentation systems has several issues:
14
* Practically speaking, it makes it impossible for many people that don't know how to program, to participate in Replicant, fix issues etc. This would be very problematic for diversity and inclusiveness of people as it would unnecessarily discriminate against people without such skills. We could also potentially loose important contributions.
15
* While it would make the job of contributors way easier than without any templating or ways to programmatically generate documentation, it also increase the dependency on people who knows how to use that documentation system.
16
17 6 Denis 'GNUtoo' Carikli
Instead it would be better to use a documentation system that enable people without programming skills to easily contribute, while at the same time enabling people with programming skills to take advantage of it as well. Templates in various wikis system like Redmine or Mediawiki enables that.
18 4 Denis 'GNUtoo' Carikli
19 6 Denis 'GNUtoo' Carikli
In additions to wiki systems with templates, enabling to interface the documentation system with Wikidata also has many advantages:
20 5 Denis 'GNUtoo' Carikli
* It enables to reuse the information across different projects with similar goals (libreplanet wiki, Parabola wiki), different goals (for instance we could share the work of documenting hardware with the wikipedia and wikidata community), or through custom made tools.
21
* It can isolate the tasks requiring some programming to the strict minimum: Using programming in documentation systems can makes it easy to generate huge quantity of information, and Wikidata makes it possible to contribute to the information itself without knowing how to program. The programming is then potentially only required to fetch and show / format the information that comes from Wikidata.
22 1 Denis 'GNUtoo' Carikli
23 8 Denis 'GNUtoo' Carikli
h3. Redmine wiki
24
25
Issues:
26
* The table syntax of Redmine textile format is too complicated for several key contributors like dllud.
27
* It's probably hard to interface with Wikidata
28
* Javascript is required for the preview to work. GNUtoo has huge issues with that as it leads him to many bad editions that are fixed in subsequent editions that are fixed in subsequent editions...
29
* The syntax is less well known and the documentation is available on Redmine website but harder to find.
30
31
h3. Mediawiki 
32
33
Advantages:
34
* Can be interfaced with Wikidata in various ways that are used in production on Wikipedia.
35 3 Denis 'GNUtoo' Carikli
* The syntax is easy enough to use by people that don't know how to program, many people are used to it, and at the same time it's well documented.
36 8 Denis 'GNUtoo' Carikli
* The table format is much easier to use, and it's usable by dllud.
37
* The main functionality, including the preview work completely without JavaScript, which leads to an increase of edits quality  by people that don't run JavaScript from remote websites.
38
* Other projects like Libreplanet, and Parabola uses mediawiki, so we can probably reuse things across different wikis.
39 3 Denis 'GNUtoo' Carikli
* Can be used offline thanks to projects like Kiwix
40 8 Denis 'GNUtoo' Carikli
* Can be more easily backuped by external projects like the archive team
41 1 Denis 'GNUtoo' Carikli
42 8 Denis 'GNUtoo' Carikli
Issues:
43 1 Denis 'GNUtoo' Carikli
* We need to migrate, if possible in a way that preserves history
44
* We loose the integration with redmine #<bug number> will have to
45 8 Denis 'GNUtoo' Carikli
46
47 1 Denis 'GNUtoo' Carikli
48
h2. Decision
49 7 Denis 'GNUtoo' Carikli
50
At several conferences, including the Replicant conference in Paris in Summer 2019, and the FOSDEM, people were in favor of migrating to Mediawiki and didn't have objections to it.
51
52
h2. Migration
53
54
Redmine's wiki uses Textile markup, while MediaWiki uses the Markdown markup language. It looks some redmine has recently been working to make it easier to transition from textile to markdown: https://www.redmine.org/issues/32424 https://www.redmine.org/plugins/redmine_reformat
55
56
TODO:
57
* Find links to projects that can help migrate the wiki content and compare them:
58
** Look if it's possible to keep the history to make sure that smaller contributors don't get forgetten
59
** Contact the Archive team to backup the redmins wiki
60 1 Denis 'GNUtoo' Carikli
** Make sure it gets archived completely on archive.org/web
61
** Make sure it gets archived in files that can be restored (but without non public information like password hashes, etc)