wiki.libvirt.org replacement
Daniel P. Berrangé
berrange at redhat.com
Wed Feb 15 10:55:42 UTC 2023
On Tue, Feb 14, 2023 at 11:03:20PM +0100, Peter Krempa wrote:
> https://gitlab.com/libvirt/libvirt-wiki/-/merge_requests/1
>
> Hi,
>
> in order to ease editing of the libvirt wiki, remove the need for
> registering users and remove the need to run PHP in an openshift instance
> I've decided to contents of the libvirt wiki into a staticaly generated
> page using (almost) the same approach we use to generate the libvirt web
> pages from rST documents in the repo.
Excellent !
> All articles were converted into rST files [1] and images linked from
> currently existing articles were dowloaded.
>
> Advantages:
>
> - same workflow as with editing the libvirt pages
> - gitlab still provides a web editor
> - local editing for users who hate web
> - no need to deal with user registration
> - no need to run PHP in openshift
> - we still keep separate space for docs which don't really belong into the
> main repo
> - even if we decide to kill-off the wiki eventually the valuable content
> will be easier to port to the kbase as it'll be in rST
> - the conversion fixed many orphaned pages
You missed the single most important benefit
* Remove me as a single point of failure for hosting of the wiki
The wiki is attached to a personal openshift account and there's no
way for me to grant other users access to co-admin it :-( Removing
me as a failure point outweighs all the disadvantages !
>
> Disadvantages:
>
> - all links will be broken [2]
IIUC, the problem is that gitlab needs to have a file extension to make
it correctly serve with HTML content type. All our wiki pages lack a file
extension
It might be possible to achieve this by using sub-directories.
eg instead of converting
TroubleshootMacvtapHostFail.rst -> TroubleshootMacvtapHostFail.html
do
TroubleshootMacvtapHostFail.rst -> TroubleshootMacvtapHostFail/index.html
In theory then, if someone accesses
/TroubleshootMacvtapHostFail
they should get a redirect to
/TroubleshootMacvtapHostFail/
which should then serve
/TroubleshootMacvtapHostFail/index.html
> - changes will need to be reviewed/approved
We could turn off required for merge request approval if really
needed, which would allow any libvirt committer to merge without
waiting, 3rd parties wold still need help. I don't think it is
a big deal though, as the frequency of edits is very small.
> - low quality/obsolete content is forward-ported as I didn't review
> anything
Not an issue since we're keeping it separate from main libvirt
docs.
> - the build script is in bash (This obviously can be changed if somebody
> cares more than I do.)
>
> The generator is based on a cleaned up page.xsl and other assets from
> libvirt's repo and the check-html-references script [3] to validate linking.
>
> The new wiki can for now be browsed from artifacts of the pipeline job that
> I've used to test it:
>
> https://pipo.sk.gitlab.io/-/libvirt-wiki/-/jobs/3771076975/artifacts/website/index.html
That's a 404, the right URL seems to be this one (at least this is the
only pipeline I see that exists in your fork)
https://pipo.sk.gitlab.io/-/libvirt-wiki/-/jobs/3771270309/artifacts/website/index.html
> [1] The conversion was done using a collection of ugly scripts and pandoc.
> Unfortunately markdown-eque formats have the issue of not really having
> strict rules and in certain cases the tools used to process them not
> implementing them correctly. This meant that the least painful was actually
> the coversion from HTML!!! and not the internal mediawiki format.
>
> [2] If we really want to preserve links I can modify the script to generate
> a list of redirects for the webserver, but I really doubt that preserving
> links has value. Additionally some content was moved to the knowledge base,
> so I really want to just delete it from the wiki, so breaking links is a
> feature.
AFAIK, you can't do redirects in gitlab pages, except the hacky way by
actually creating a page with the desired name, and using the <meta>
tag to redirect when the browser loads it. If you go that far you might
as well just output the content in that page to start with.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list