Gentoo Archives: gentoo-project

From: Daniel Campbell <zlg@g.o>
To: gentoo-project@l.g.o
Subject: Re: [gentoo-project] [RFC] Reducing use of SMW in favor of something sane
Date: Sat, 22 Jul 2017 20:49:24
Message-Id: 83874b79-5945-5b3b-7606-e5d8aa3d87a9@gentoo.org
In Reply to: [gentoo-project] [RFC] Reducing use of SMW in favor of something sane by "Michał Górny"
1 On 07/22/2017 04:02 AM, Michał Górny wrote:
2 > Hi,
3 >
4 > TL;DR: MediaWiki sucks, SMW even more; let's start moving important
5 > stuff out of it and into something sane. What replacements do you
6 > suggest?
7 >
8 >
9 > There was a long period during which we've attempted to move a lot of
10 > Gentoo out of fancy XML files and into Wiki. This happened for project
11 > docs, this happened for entire project structure and more more stuff.
12 > On the other hand devmanual is still using fancy XML files in its own
13 > git repository, and the main g.o site is using Jekyll.
14 >
15 > Now that the main SMW proponent is MIA, I think it's time we look back
16 > and think whether what has happened over time was good. I think it
17 > wasn't, and I have a number of arguments to support that:
18
19 Who is this proponent? Do we know why they are MIA?
20
21 >
22 > [snip]> However, it isn't
23 > very fit for project documentation or policies where we really expect
24 > every change to be made or at least approved by developers. As a result,
25 > we restrict editing project pages to developers only.
26
27 To be sure I'm understanding correctly, you're talking about pages that
28 really only devs need to be messing with (like most of the Project:
29 namespace) and not the entire wiki, right?
30
31 I agree the workflow can be a pain. I followed your example and began
32 using a Drafts sub-namespace in my User:Zlg space. It makes things a lot
33 easier to iteratively improve on, but no easy way to get a review aside
34 from pinging in #gentoo-wiki. Rather than getting someone's attention
35 and waiting, I think we need some way to "queue" new edits that can then
36 be approved by whatever group we decide to maintain the "new"
37 documentation site.
38
39 >
40 > [snip]
41 >
42 >
43 > 4: It lacks proper offline editing capabilities
44 > ===============================================
45 >
46 > I might be wrong here but I'm not aware of any fully working, SMW-
47 > friendly tools to work on articles offline. There's some git magic to
48 > pull from MediaWiki but my short testing has shown it doesn't work very
49 > well and can't handle the lot of our namespaces.
50 >
51 > If you want on docs, you usually need to have your browser open
52 > and a reasonably stable connection. Any offline work usually requires
53 > extra effort, and a lot of handiwork.
54 >
55
56 It'd be great to be able to shove this into a git repo and work on it
57 anywhere. We could adopt similar standards as our other git-related
58 projects to ease people -- devs or users -- into the new system.
59
60 Reliable notifications on edits would be great to have. Currently, I
61 keep pages in my watchlist and check them each time I need to consult
62 the wiki. Sometimes that's days or weeks between visits. It'd be easier
63 to get engaged and stay that way if there was more collaboration,
64 reviewing, or an accessible, codified documentation standard.
65
66 As far as I know, we have a few templates being used to help us find
67 pages that need attention (I particularly like our ongoing-discussion
68 template), but part of what makes a wiki work, imo, is people paying
69 attention to articles and soliciting involvement from the community.
70 Anything we can do to make more of that happen will be a boon for us, I
71 think.
72
73 >
74 > [snip]
75 >
76 >
77 > What to move, and what to?
78 > ==========================
79 >
80 > SMW is not something we can replace overnight. However, I think we
81 > should slowly start moving important stuff out of it.
82 >
83 > The project metadata is the first thing I'd like to have out of wiki
84 > ASAP. Keeping it there is inconsistent, inconvenient and seems like
85 > putting a lot of effort just to prove that SMW could be used for
86 > anything.
87 >
88 > We already keep developers in LDAP, and dump them onto main site. I see
89 > no reason why we couldn't keep projects in LDAP or in a flat file
90 > (api.gentoo.org), and include them on the main site rather than wiki. We
91 > can still link to wiki entities for documentation, or maybe even figure
92 > out how to include project members & so on from external source
93 > on the wiki.
94 >
95 > The next thing I'd like to move are project docs. We'd really use some
96 > proper doc hosting for that, with a review platform and so on. Patrick
97 > has suggested using flat files in a git repository -- and I think it
98 > really makes much more sense than some fancy wiki software. If we need
99 > more power, we could just use Jekyll as for the main site.
100 >
101 > Fun fact is, even GitHub got that right. I think it might be even
102 > possible to have GitHub pull requests with some degree of preview for
103 > that. And if everything's in git, we can easily edit and preview it
104 > locally.
105 >
106 > I think it would be also reasonable to seek SMW replacement for regular
107 > user docs. Even if we can't figure out something nice and git-backed,
108 > any replacement would be much better. In fact, even Infra runs its own
109 > wiki on DokuWiki which is much faster.
110 >
111 >
112 > Your comments? Ideas?
113 >
114 >
115
116 I like DokuWiki, though to be most useful to us it'll need a few
117 add-ons. It's fairly straightforward to setup and to use, and supports a
118 wide variety of formatting styles, from DW's own wiki-like syntax to
119 Markdown, RST, maybe others by now. Markdown in particular is my
120 favorite since it's ubiquitous, but I'd be willing to learn RST as well.
121
122 I'd rather not see reliance on GitHub; but if it's there solely as a
123 convenience to facilitate better user involvement, then it's hard to
124 criticize. Devs are already mostly familiar with Git, so flat files in a
125 repo with a README or other file illustrating the expected hierarchy
126 would suffice imo.
127
128 Jekyll is another option, especially if we're already using it. I'm more
129 a fan of Pelican (Python-powered instead of Ruby), but either can do the
130 job with a little template magic and a plugin or two. The source can be
131 stored in git, and iirc Jekyll will also expect a particular hierarchy
132 if you configure it that way. In many ways I think they're just about equal.
133
134 So I guess count me as +1 for git collaboration and ease of watching
135 above all else. I like writing documentation in a text editor instead of
136 a webpage, and if I had a more reliable way to keep an eye on
137 documentation, it'd motivate me to contribute more to it. DW, Pelican,
138 and Jekyll are all fine for our use; we might want to look deeper and
139 consider the work necessary for documentation translation.
140
141 I toyed around with Fluxbox's wiki and turned it into a Pelican
142 installation a few years ago, as a sort of test run. With a plugin, it
143 can hook right into GNU gettext and uses familiar .po files for layout,
144 while translated pages have a language extension, e.g. "council.txt"
145 could be the English page, while the German translation would be
146 "council.txt.de", and so on. We could also force the requirement of a
147 language extension on English pages if we wanted to, so every page would
148 have a language extension. Pelican also natively supports a "Status:
149 draft" line for pages that need to be linked to directly to facilitate
150 collaboration, but shouldn't be public-facing.
151
152 If anyone's interested in Pelican, I can share the result of that
153 experiment and assist in migration to it.
154
155 Thanks for pulling this discussion together. I look forward to seeing
156 where it goes.
157 --
158 Daniel Campbell - Gentoo Developer
159 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
160 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6

Attachments

File name MIME type
signature.asc application/pgp-signature