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 |