<div dir="ltr"><div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 11, 2015 at 4:06 PM, Jeff Fearn <span dir="ltr">&lt;<a href="mailto:jfearn@redhat.com" target="_blank">jfearn@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<span class=""><br>
On 02/12/2015 12:53 AM, Pete Travis wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I&#39;ve given a lot of thought to our publishing situation.  The current solution, using an unmaintained version of Publican on an unsupported Fedora release, is untenable. The site we have been maintaining in web.git is<br>
&gt; incompatible with current versions of publican, besides being massive and prone to breakage.  We have been working towards a replacement, slowly.<br>
&gt;<br>
&gt; The proposed successor to web.git is an RPM based system where Publican creates SRPMs of the guides, Fedora&#39;s koji buildsystem builds packages from the RPMs, and a VM instance installs the package to build the site.<br>
&gt; Creating the SRPM would be analagous to the `publican build --embedtoc ...` from the old process, and when the VM installs the package, it does the `publican install-book` step of the process.  We currently have the<br>
&gt; koji infrastructure in place, a mostly viable way for newly built packages to automatically be installed on the VM, and a functional but mostly vanilla site frontend.  Along the way, I&#39;ve identified a few caveats to<br>
&gt; this method, to which I&#39;ll add some general observations:<br>
&gt;<br>
&gt; - Each language of each release of each guide is a unique package.  To publish anything new, we must coordinate with releng to have the package defined in koji.  Releng is already overburdened. - Each language must<br>
&gt; have a separately maintained revision history. - The buildroot shared by koji and the VM required updated versions of publican and publican&#39;s dependencies, and now must be maintained there (which is currently not<br>
&gt; happening afaik). - None of the breakage problems we&#39;ve dealt with in web.git will go away.  Unusual language codes, bad draft procedures, wonky *_Info.xml issues, and whatever black magic that ends with my manually<br>
&gt; running sqlite invocations against the site db - that&#39;s all still there. - The site frontend needs to be completely redesigned from the ground up, and we have not demonstrated the motivation to see that through. There<br>
&gt; are intricacies here that we didn&#39;t discover from a straightforward following of the publican user&#39;s guide, and many subjectively frustrating surprises. - A publican website can only publish publican-friendly content.<br>
&gt; To the best of my knowledge, that means docbook only.  Our contributor base is declining, and prospective contributors have consistently demonstrated a lack of interest in writing docbook.<br>
<br>
</span>Not quite, you can ship pre-built content easily enough [1], but it doesn&#39;t integrate the web UI in to it for obvious reasons.<br>
<br>
1: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1081303" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1081303</a><br>
<span class=""><br>
&gt; - A publican website does not provide an effective presentation of many smaller articles.  I&#39;ve been disagreed with on this point, and will concede that it&#39;s definitely possible to have 200 things under that F21<br>
&gt; category, but I maintain that presentation in that way would be inimical to reader browsing.<br>
<br>
&gt; With all this in mind, I&#39;ve decided to be honest with myself, and you, in saying that I&#39;m not motivated to make the publican website frontend work.  Something must be done to deal with our site&#39;s incompatibility with<br>
&gt; current Publican, but from a usage perspective, I feel like there&#39;s a very high upfront investment - and a moderate continuing investment in maintaining the el6-docs koji repo - with no substantial gain in the product<br>
&gt; delivered.  For normal usage, we&#39;ve simply replaced `publican build;publican install-book` with `publican package;koji build`.  Rudi had initially volunteered to do *all* of the setup to make this work, but he&#39;s a<br>
&gt; busy guy and it really isn&#39;t fair to expect him to deal with that level of implementation for us.<br>
&gt;<br>
&gt; We&#39;ve tossed around ideas in #fedora-docs, and in discussing it, I&#39;ve developed a wishlist for an improved publishing platform:<br>
&gt;<br>
&gt; - We use release-based branches to maintain content for a given Fedora release.  Anything committed to these branches is intended for publication, so that should happen automatically. - It should be simpler to make<br>
&gt; drafts available.  If we can automate publishing on release branches, we can do the same with master. - We don&#39;t do as good of a job as we should with pushing and pulling strings from translation.  Pushes and pulls<br>
&gt; could be automated. - There should be an effective way to publish and organize sundry articles. - The publishing platform should be able to process arbitrary markup formats.  I think docbook is great, and publican<br>
&gt; does a good job with it, but there will be room for more contributions if that isn&#39;t mandatory. - The frontend of the site should be adaptable.  docs.fp.o would ideally use the same design elements as other official<br>
&gt; Fedora sites for a more unified appearance. - Some validation on commits would be nice.<br>
&gt;<br>
&gt; The working theory at this point is to use a continuous integration system like Jenkins to automate builds.  I&#39;ve had a Jenkins instance running locally this week, with new builds triggered via fedmsg signals<br>
&gt; generated by our commits.  This part works smoothly, with the exception of a fedwatch bug that I&#39;ve crudely worked around, but triggers using python-fedmsg really wouldn&#39;t be too difficult.  The infra folks are also<br>
&gt; working on a Jenkins setup, so there&#39;s potential to share experience and buildslaves.  Turning that into a browseable frontend is more immediately viable than you might think;<br>
&gt; <a href="http://sourceforge.net/projects/jenkinscat/" target="_blank">http://sourceforge.net/projects/jenkinscat/</a> is designed just for that and can be customized for our needs.  Jenkins plugins to cycle strings from Zanata, or some other method, could come down the road.  There&#39;s room<br>
&gt; for other enhancements, too.<br>
&gt;<br>
&gt; The CI idea is something I&#39;m excited about, and motivated to work on. I&#39;d love to spend that time working with others, if you&#39;re interested.<br>
<br>
</span>Don&#39;t forget that Publican offers you an exit strategy from XML!<br>
<br>
It can can convert your DocBook in to Markdown** and then you *never* have to use XML *ever* again! \o/<br>
<br>
** or in fact any of the formats at [2] if you install them!<br>
<br>
2: <a href="http://search.cpan.org/search?m=dist&amp;q=wikiconverter&amp;s=1&amp;n=50" target="_blank">http://search.cpan.org/search?m=dist&amp;q=wikiconverter&amp;s=1&amp;n=50</a><br>
<br>
Which means you can also consider switching to a real CMS like medai wiki, moin moin, etc.<br>
<br>
You could use publican (or pandoc???) to convert XML to medai wiki format (by installing HTML::WikiConverter::MediaWiki [via cpanspec]) then import that in to <a href="https://fedoraproject.org/wiki/" target="_blank">https://fedoraproject.org/wiki/</a><br>
<br>
Unified web space FTW.<br>
<br>
Cheers, Jeff.<br>
<br>
- --<br>
Jeff Fearn<br>
Senior Software Engineer<br>
Hosted &amp; Shared Services<br>
Red Hat Pty Ltd<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
<br>
iQEcBAEBAgAGBQJU2+BoAAoJELs3R4zxGZvK9EMIAJniylZ0V+KV88wUNaSCsGfE<br>
D6ZKCNvkMilcWa+VevGwhfMLW6a6hNj6t3wktzw0JXncmpflZMS1BOL+tQasSf3R<br>
mlEPLhYCI/HpPWa3CAknmw7vaI/hUzDziPVrubovBFzzLQtXc7F4uRbgmAmjXPig<br>
l9nbYt4PIfG4m1/a/tK3B14JXgyBcustTslKUgxdVZ0JSumkQm619CO9QABuVXwB<br>
wP2MzBM5JxA4FLHTJa+m112frw43XYPIsyJZlA/UwqZ0QLv/GP/JMF4RDRcWFIpH<br>
FrTw48Zyn3je/eO3ZWaiYuqdqBsdW/pXFMw4o3jfPJ0sKvYD7XR2OjwUZh993LA=<br>
=WNBJ<br>
-----END PGP SIGNATURE-----<br>
</blockquote></div><br><br></div><div class="gmail_extra">It&#39;s not about getting rid of publican, or docbook.  I&#39;m very satisfied with the way publican renders markup, and would not like to see that go away.  The books we have would still be written in docbook and built by 
publican, but jenkins would do the building instead of koji, because it 
can happen automatically that way, and the users would use something else to browse to the books.  The publican website front end, however, doesn&#39;t do  that most of extra stuff on my wishlist. <br></div><br></div>--Pete,<br></div>using a different client because clearly F22/rawhide thunderbird is broken here<br></div>