Preview at https://tomee-preview.s3-us-west-2.amazonaws.com/index.html 
<https://tomee-preview.s3-us-west-2.amazonaws.com/index.html>

Current state:

- all content from old source locations on the site (AFAICT, I’ve stopped 
looking). This includes all the .md and .mdtext from tomee-site.
- no asciidoc syntax errors
- no internal broken links
- (easy) content deduplication

There are still some content fixes left to do such as swizzle elimination.  I 
don’t think these are currently any worse on the preview than on the live site.

I think the main remaining questions about the website organization relate to 
duplicate and useless or obsolete content.  To me, history makes clear that 
maintaining the website is difficult for the community and generally neglected. 
 I think the highest priority should be making it smaller and better organized 
so there’s less to maintain and when someone has an interest in working on it 
it’s not an insuperable task to figure out how.

The current preview organization has:

- content from tomee-site-generator and tomee-site under “common”; there’s only 
one version
- content from tomee branches under “tomee” with three versions.  Almost all of 
this content also appears in “common”; see (1)
- content from the tomee master examples under “examples”, with 3 language 
versions.
- the beginnings of embedded JavaDoc, see 
https://tomee-preview.s3-us-west-2.amazonaws.com/tomee/8.0/tomee/index.html 
<https://tomee-preview.s3-us-west-2.amazonaws.com/tomee/8.0/tomee/index.html>

I think the largest remaining questions about the website organization relate 
to duplicate and useless or obsolete content.  To me, history makes clear that 
maintaining the website is difficult for the community and generally neglected. 
 I think the highest priority should be making it smaller and better organized 
so there’s less to maintain and when someone has an interest in working on it 
it’s not an insuperable task to figure out how.

1. Previously, except for perhaps a couple of pages, the 8.0, 7.1, and 7.0 doc 
branches were identical except for different asciidoc syntax errors.  Now that 
I’ve brought in the previous .mdtext content from tomee-site git repo and fixed 
the syntax errors, there are 4 identical copies.  I’ve made this obvious by 
eliminating the full text of all but one and using include:: directives in the 
other 3.  I think much of this content is somewhere between outdated and wrong, 
so having 4 identical copies seems like a less than ideal situation.  I think 
it’s extremely unlikely any of this content is going to change, although some 
might be removed.  I’d suggest keeping only the copy in “common” and leaving 
the versioned branches for release-specific content, with a pointer to the 
common docs.

2. I haven’t examined the situation in detail, but I think that the examples 
are pretty much the same for 7, 7.1, and 8.  I don’t think old examples will 
ever change, but new ones added.  Therefore I suggest having only one 
“examples” component with each example saying “since version xxx”.

3. There are a lot of pages that are basically empty.  Maybe someone had an 
idea that documenting something would be a good idea and added an empty page 
for it.  Since these have been around for many years with no change, I think 
it’s time to remove these.

4. There are a lot of pages explaining svn, tomcat <= 6, OpenEJB 1 and 3, etc. 
Is there any reason to keep these?

5. There are several pages with helpful links to peoples people.apache.org 
accounts.  This is surely not appropriate, and I think all of these are 
seriously out of date.  Is there any reason to keep these?


———————

JavaDoc

I’ve experimented with javadoc a bit.  In my tomee-site antora branch there’s a 
small example of using maven to build a java 11 style javadoc jar from a few 
bits of stuff pulled into the jbake-built javadoc. This makes more sense to me 
than running the javadoc tool every time you want to preview the website. I 
also have an experimental Antora plugin that adds the javadoc to the generated 
website.  There are several ways to do this, but I like the idea of having the 
javadoc content inside the Antora page layout: this is what the preview has.  
I’m having trouble figuring out how to make the antora navigation and javadoc 
search work in this context.  Also, javadoc jars now include some gpl2 licensed 
scripts, so I’m a bit unclear as to whether it’s even in line with Apache 
policy to show generated javadoc on an apache site.  The gpl code doesn’t do 
much, so I think it’s plausible to replace it with MIT or apache licensed code.

I could use some help with:
- constructing a full javadoc jar with maven, having the same source contents 
as the jbake javadoc
- figuring out the css and script problems with the embedded javadoc.  This is 
implausible now, since I haven’t pushed the Antora UI project I’m using, but I 
hope to do this soon.  If anyone is interested in working on this I can push 
them sooner.

Embedding the javadoc in the site relies on code I’ve written as an Antora 
plugin, based on an experimental plugin system I wrote.  The idea of a plugin 
system is accepted for Antora, but my implementation hasn’t been even reviewed 
yet.

————

In-component organization

So far I’ve concentrated on finding and fixing content.  I think the next step 
is to organize the content within the components.  The current site seems to 
use a jbake attribute to programmatically sort pages.  While relational 
databases are great for some things, the AS400 file system has not caught on 
big time.  I’m going to start organizing things by turning these attributes 
into topic directories or modules.  I expect to organize at least some of the 
other “common” docs into topics or modules.  Unless I find a way to easily 
automate synchronizing the 4 versions of most pages, I’m going to follow (1) 
and drop the 3 versioned copies.

———————

Examples

Currently my treatment of examples relies on a bash script to copy and rename 
the README.adocs.  I’m not sure this is fundamentally worse than what the java 
code does, it does involve another system.  I think it may be possible to write 
an Antora plugin to directly gather the example files.  I suspect this plugin 
may be of general interest since, for example, most of the camel website is 
gathered together generated-from-code .adoc files.

I haven’t looked much at the example READMEs, but many of them seem to have 
code copied from the example java files.   I’d suggest replacing this with 
include:: directives.  These can specify line numbers or tags in the included 
files, so we can arrange to leave out the Apache notice :-)  Since presumably 
we want the README to work both in GitHub and in the site, some magic will be 
needed to get the include:: to work in both places.

—————————

Site appearance

I’ve been ignoring site appearance until the basic content and organization 
questions are settled.  Antora separates the appearance, or UI, for the site 
from the content, into a “UI bundle”.  At the moment constructing a custom or 
modified UI bundle is much more difficult and less maintainable than it needs 
to be.  I’m planning to prototype a more flexible system soon.  I have a 
slightly modified default UI bundle for the javadoc content.  If someone wants 
to help with that I can make it available now: otherwise I may wait until using 
it is simpler.

To see what some Antora sites look like, based on customized UI bundles, take a 
look at the links in https://gitlab.com/antora/antora.org/issues/20

There’s marginally more customization involved, but 
https://blog.yuzutech.fr/blog/ is also nice.


David Jencks




Reply via email to