On Fri, Apr 10, 2020 at 6:31 PM David Jencks <david.a.jen...@gmail.com> wrote:
>
> Thanks for the feedback!
>
> Combining two fields in the json into one column doesn’t make sense to me.  
> Wouldn’t it be better to add a ‘deprecated’ state to the supportLevel state 
> machine?  IIUC there’s an idea to replace the words in the support level 
> column with an icon so the wording may not matter too much, e.g. the name of 
> the state could be stable-deprecated.  It would certainly be great if there 
> were fewer columns :-)
>

Hmm how would an icon represent this that would be easily understood?
On top of my mind I cant picture something that says that - only gold,
silver, bronze badges.


> I don’t understand your ideas about bindy.  The current site has three links 
> to exactly the same page.  I think that is excessively confusing.  If there 
> are really three flavors of bindy that ought to be explained differently, 
> then IMO there ought to be three .adoc pages, one for each.  The table 
> generation I’m using works off of pages, not json files, so there’s no way to 
> get three links to the same page.  I might be able to produce 2 extra page 
> aliases to the one page and have links to them, but that’s silly.
>

There are 3 variations of bindy and they share some common as well.
Its a hazzle to splitup the old doc into three, and therefore they
point to the same doc.

> With regard to the 6 json-less miscellaneous pages, I think either they 
> should be linked to from somewhere obvious or removed completely.  They 
> aren’t just folders, there are actual pages linked to, that someone wrote.
> Here are the pages in the current website.  They are linked to from the nav 
> menu but not in any table.  Please look at them and decide if they are 
> current and useful or obsolete and should be removed.
>
> https://camel.apache.org/components/latest/azure.html 
> <https://camel.apache.org/components/latest/azure.html>

Delete

> https://camel.apache.org/components/latest/ignite.html 
> <https://camel.apache.org/components/latest/ignite.html>

Delete

> https://camel.apache.org/components/latest/kubernetes.html 
> <https://camel.apache.org/components/latest/kubernetes.html>

Delete

> https://camel.apache.org/components/latest/openstack.html 
> <https://camel.apache.org/components/latest/openstack.html>

Delete

> https://camel.apache.org/components/latest/spring-main.html 
> <https://camel.apache.org/components/latest/spring-main.html>

Keep

> https://camel.apache.org/components/latest/spring.html 
> <https://camel.apache.org/components/latest/spring.html>
>

Keep



> If these are current, maintained, summary pages that should be kept, then I’d 
> suggest linking to them from each related component that they summarize. They 
> should also be renamed so as to end up in the main components nav as they 
> certainly don’t refer to “other” components.
>
> To merge in Guillaume's comments back into the same thread…
>
> I’ll see if I can find a plausible way to shorten some of the columns.
>
> I know about the wide/narrow button, but wide is going to remove the “on this 
> page” TOC that I hope gets merged in soon, and narrow doesn’t use most of the 
> actual screen space, at least on my display.
>
> The code in UpdateReadmeMojo seems rather peculiar to me, I’m going to see if 
> I can simplify it a bit to put all the header generation in one method.  In 
> general it seems to me that it should not be trying to lint the adoc source 
> and update it; it should perhaps find peculiar usages and perhaps fail, but 
> auto-updating is weird.

Its not weird - A lot of the docs are auto updated and thats what we want.



>
> Thanks!
>
> David Jencks
>
> > On Apr 9, 2020, at 11:40 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> >
> > On Fri, Apr 10, 2020 at 7:58 AM David Jencks <david.a.jen...@gmail.com 
> > <mailto:david.a.jen...@gmail.com>> wrote:
> >>
> >> I have most of the basic work for this done. I’ve pushed a preview of the 
> >> current state of the Antora generated site to 
> >> https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/others/index.html
> >>  
> >> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/others/index.html>
> >>  
> >> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/others/index.html
> >>  
> >> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/others/index.html>>
> >>  (the new page).
> >>
> >> The source is in branches named issue-14874-generate-index-tables in 
> >> https://github.com/djencks/camel-website.git 
> >> <https://github.com/djencks/camel-website.git> and   
> >> https://github.com/djencks/camel.git 
> >> <https://github.com/djencks/camel.git>.
> >>
> >> As a side note, i’ve left the website playbook set up to build from the 
> >> “PR branch” (although there’s no PR yet).  With the new playbook 
> >> organization this is really easy.
> >>
> >> Mostly old and new tables line up well.
> >>
> >
> > Great work David. I like the new table layout. One suggestion would be
> > to remove the deprecated column, and instead add that to the Support
> > Level column, so it would say: Stable (Deprecated) instead. As I think
> > it takes up to much empty space by default mode (not wide) and 99% of
> > the components will not be deprecated.
> >
> > Also this may have too much "noise" between the component name and the
> > description - that the most needed information for end users, to see
> > the list and find out what they do. Then information about "since" is
> > a bit secondary - but a great detail to see how "new the component
> > is".
> >
> >
> >> There are 6 “miscellaneous” components that appeared and don’t seem to 
> >> have json files to extract attributes from.  mostly they look like summary 
> >> pages for collections of related components. AFAICT they aren’t linked to 
> >> in the current site.  What should happen to them?  In the (new) 
> >> miscellaneous table they have nothing outside the first column. I don’t 
> >> know what to do with these, and without advice I’m just going to leave 
> >> them.
> >>
> >
> > They are empty folders to group components, and should be skipped in
> > the table. In other words if there is no json metadata then they
> > should not be included.
> > In the future we would move for example the AWS components into its
> > own "folder" instead of having 20+ in the components folder.
> >
> >> In Dataformats, there’s now one one Bindy row instead of 3.  Since all the 
> >> old rows linked to the same document, same position, I think this is fine.
> >>
> >
> > Ah yeah bindy is a bit special as it has 3 dataformats out of the box,
> > and there should be 3 json files in its JAR. In other words "forget
> > about folders" but work with the json files - they are the source of
> > truth.
> > https://github.com/apache/camel/tree/master/components/camel-bindy/src/generated/resources/org/apache/camel/dataformat/bindy
> >  
> > <https://github.com/apache/camel/tree/master/components/camel-bindy/src/generated/resources/org/apache/camel/dataformat/bindy>
> >
> >> Languages line up exactly AFAICT.
> >>
> >> There are a couple new rows in components according to the count, but I 
> >> haven’t found them yet.
> >>
> >> A couple of other comments:
> >>
> >> - On my laptop, the table does not make good use of the page width.  It’s 
> >> centered, crammed into the middle of the screen, too narrow, and with 
> >> gigantic left margin.
> >>
> >> - I believe the Antora default UI makes sure that the navigation item 
> >> corresponding to the current page is visible when you click on it.  This 
> >> doesn’t seem to be working for me, it goes to the top of the nav list.  
> >> This is pretty confusing for me.
> >>
> >> Comments very welcome.
> >>
> >> David Jencks
> >>
> >>
> >>> On Apr 7, 2020, at 10:20 AM, David Jencks <david.a.jen...@gmail.com 
> >>> <mailto:david.a.jen...@gmail.com>> wrote:
> >>>
> >>> This is a bit of a multi-threaded reply :-)
> >>>
> >>> Guillaume asked about when this would happen.
> >>>
> >>> There are two stages.
> >>>
> >>> 1. The already existing use of UpdateReadmeMojo.java to copy info from 
> >>> json into the component (etc) adoc pages is extended to put suitable 
> >>> attributes into the doc header. (I think this answers one of Zoran’s 
> >>> questions also)
> >>>
> >>> 2. The website Antora build uses the extension to query this info and 
> >>> build the summary and table.  There could be also a “sub-site for latest” 
> >>> playbook in the docs master branch to build all the “latest” components, 
> >>> that could also use this.  In any case, it occurs when Antora builds a 
> >>> site.
> >>>
> >>> The result is a static page, just like now, but with tables generated 
> >>> from what’s in the content catalog, rather than directly from what’s in 
> >>> some json files. (the options tables in the individual component pages 
> >>> are still generated from the json files).  The “generate summary tables 
> >>> on index pages” mojo wouldn’t be needed any more, and the explicitly 
> >>> visible list of components in the current index page would be removed.  I 
> >>> left it in for the preview for easy comparison.
> >>>
> >>> Other questions/answers:
> >>>
> >>> - The link text in the first column is the target page doctitle. Right 
> >>> now, eliminating “component” from that would involve renaming the pages 
> >>> from e.g. “ActiveMQ Component” to “ActiveMQ”. Would that be reasonable?  
> >>> If not,  I hadn’t previously considered it, but I supposed I could 
> >>> introduce some fancier syntax to use another doc attribute as the link 
> >>> text.  That would introduce a slightly redundant attribute to every page, 
> >>> for instance along with the doc title ‘= ActiveMQ Component’ there’d be 
> >>> ‘:link-text: ActiveMQ’.  I suppose the title could use the attribute: ‘= 
> >>> {link-text} Component’.
> >>>
> >>> - I think the catalog labels mentioned are in the individual component 
> >>> json files.  If so, it would be very easy to turn them into .adoc 
> >>> attributes and then put them into a column in the Antora generated table. 
> >>>  However, it’s still static html. Making it more interactive is making it 
> >>> less of a static site, at which I am not an expert :-)    I can think of 
> >>> two approaches: one is to generate a lot of static tables and hide most 
> >>> of them, which would fit with using this extension.  The other is to 
> >>> generate some data, presumably as json included in the page, and have 
> >>> some client side javascript to filter based on fields and render the 
> >>> table into html on the client.  If there’s strong support for this latter 
> >>> idea I might be able to add a processor to the extension to generate the 
> >>> json. I’m not sure I want to learn how to generate the tables at runtime, 
> >>> someone else might need to do that.  I’d suggest doing this later after 
> >>> what I’m proposing now has stabilized.
> >>>
> >>> - It might also be possible to have a sort-by parameter for the extension 
> >>> so the components are sorted by, for example, label and then name.  We’re 
> >>> rapidly getting into complex report generation here :-)  For instance the 
> >>> labels could be turned into a list, and for each item a table with the 
> >>> components with that label value. And the producer/consumer info could be 
> >>> shown somehow….  For me, something like this would be a lot easier than a 
> >>> client-side table renderer.
> >>>
> >>> I hope that answers all the questions so far.
> >>>
> >>> Thanks,
> >>> David Jencks
> >>>
> >>>> On Apr 7, 2020, at 2:41 AM, Andrea Cosentino <anco...@gmail.com 
> >>>> <mailto:anco...@gmail.com> <mailto:anco...@gmail.com 
> >>>> <mailto:anco...@gmail.com>>> wrote:
> >>>>
> >>>> Maybe we can also review the labels a bit and reducing the number
> >>>>
> >>>> Il mar 7 apr 2020, 11:40 Claus Ibsen <claus.ib...@gmail.com 
> >>>> <mailto:claus.ib...@gmail.com> <mailto:claus.ib...@gmail.com 
> >>>> <mailto:claus.ib...@gmail.com>>> ha scritto:
> >>>>
> >>>>> Hi
> >>>>>
> >>>>> I would like to see the webpage be more interactive, in terms of we
> >>>>> have a fixed set of labels to quickly filter the component list.
> >>>>> So you can chose "cloud" or "database" or "file" etc.
> >>>>>
> >>>>> We have those labels today in the camel-catalog.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Tue, Apr 7, 2020 at 11:31 AM Zoran Regvart <zo...@regvart.com 
> >>>>> <mailto:zo...@regvart.com> <mailto:zo...@regvart.com 
> >>>>> <mailto:zo...@regvart.com>>> wrote:
> >>>>>>
> >>>>>> Hi David,
> >>>>>> I like where this is heading, what I like the most is that the
> >>>>>> templating is done in Asciidoc based on data in the component's
> >>>>>> documentation, this feels like the right approach as it allows
> >>>>>> remixing the content as needed. For a silly example, say we wish to
> >>>>>> have a page that lists all the messaging components or all AWS
> >>>>>> components, seems to me that would be fairly easy by creating a
> >>>>>> document indexing over an attribute -- we would need to add the
> >>>>>> category or label attribute for those examples.
> >>>>>>
> >>>>>> What I wonder though, is how do we maintain the attributes in the
> >>>>>> component Asciidoc files? You mention JSON to Asciidoc tool, would it
> >>>>>> be possible to have the Asciidoc file and JSON file side by side?
> >>>>>> There's some talk on Camel catalog, could we leverage that? That way
> >>>>>> we would have attributes in the catalog JSON file and documentation in
> >>>>>> adoc files.
> >>>>>>
> >>>>>> zoran
> >>>>>>
> >>>>>> On Tue, Apr 7, 2020 at 6:21 AM David Jencks <david.a.jen...@gmail.com 
> >>>>>> <mailto:david.a.jen...@gmail.com> <mailto:david.a.jen...@gmail.com 
> >>>>>> <mailto:david.a.jen...@gmail.com>>>
> >>>>> wrote:
> >>>>>>>
> >>>>>>> I’ve written an asciidoctor extension that queries the Antora content
> >>>>> catalog and constructs simple reports.  We might be able to use this to
> >>>>> have Antora generate the index tables in the components component.
> >>>>>>>
> >>>>>>> The basic idea is to have the documentation generator transfer some
> >>>>> information from the json file to document attributes in the .adoc page.
> >>>>> These are then available to use for selection or results in a query.
> >>>>>>>
> >>>>>>> I set up a preview of the current state of the Antora portion of the
> >>>>> website.  For some reason the hugo portion is not building for me.
> >>>>>>>
> >>>>>>>
> >>>>> https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/index.html
> >>>>>  
> >>>>> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/index.html>
> >>>>>  
> >>>>> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/index.html
> >>>>>  
> >>>>> <https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/index.html>>
> >>>>> <
> >>>>> https://camel-preview-1.s3-us-west-2.amazonaws.com/components/latest/index.html
> >>>>>>
> >>>>>>>
> >>>>>>> First on this (and the dataformat and language index pages) there’s
> >>>>> statistics and a table generated by the extension, and then the
> >>>>> pre-existing table for comparison.  There are some glitches, but the 
> >>>>> basic
> >>>>> idea should be evident.
> >>>>>>>
> >>>>>>> Some comments on the formatting:
> >>>>>>>
> >>>>>>> - it’s not possible to combine the xref and the artifact id into the
> >>>>> same column.  I’d have to write a much more sophisticated report 
> >>>>> generator,
> >>>>> and I don’t think that’s appropriate.  On the other hand, I like having
> >>>>> them separate; for one thing, the fact that it’s an artifact id is 
> >>>>> labelled.
> >>>>>>> - It is possible to combine the deprecated and description columns.
> >>>>> The json>>adoc tool would do this.  I’m not sure I like that idea.  I do
> >>>>> wonder if it would be useful to report “deprecated since” to give 
> >>>>> people an
> >>>>> idea how much longer it might be around.  I don’t know if this 
> >>>>> information
> >>>>> is available.
> >>>>>>>
> >>>>>>> Other comments:
> >>>>>>>
> >>>>>>> - the languages generated table is not yet working.  I haven’t found
> >>>>> the doc codegen for it, if any.
> >>>>>>>
> >>>>>>> - there are some blank rows. I think these might be from
> >>>>> “miscellaneous” components:
> >>>>>>>
> >>>>>>> There are two tables on the “components” index page, one for
> >>>>> components and one for “miscellaneous components”.
> >>>>>>>
> >>>>>>> Earlier in automated codegen/processing these are treated
> >>>>> independently.
> >>>>>>>
> >>>>>>> What’s the difference? Is the any relationship between them? Is there
> >>>>> any reason to have them listed on the same page?
> >>>>>>>
> >>>>>>> - I’d suggest to split these into two pages.
> >>>>>>>
> >>>>>>> - The extension is capable of generating the indexes in the nav files,
> >>>>> but that requires Allow asciidoctor extensions when processing nav 
> >>>>> files <
> >>>>> https://gitlab.com/antora/antora/-/issues/592> which I think is unlikely
> >>>>> to get into Antora 2.3.
> >>>>>>>
> >>>>>>> ———————
> >>>>>>>
> >>>>>>> Here’s an example of a component .adoc header:
> >>>>>>>
> >>>>>>> [[activemq-component]]
> >>>>>>> = ActiveMQ Component
> >>>>>>> :page-source:
> >>>>> components/camel-activemq/src/main/docs/activemq-component.adoc
> >>>>>>> :artifactId: camel-activemq
> >>>>>>> :description: The activemq component allows messages to be sent to (or
> >>>>> consumed from) Apache ActiveMQ. This component extends the Camel JMS
> >>>>> component.
> >>>>>>> :since: 1.0
> >>>>>>>
> >>>>>>>
> >>>>>>> Here’s what the component table generation looks like in the
> >>>>> components index.adoc:
> >>>>>>>
> >>>>>>>
> >>>>>>> Number of Components: indexCount:[] in
> >>>>> indexUniqueCount:[unique=artifactid] JAR artifacts
> >>>>> (indexCount:[attributes=deprecated] deprecated)
> >>>>>>>
> >>>>>>> [width="100%",cols="4,3,1,2,5",options="header"]
> >>>>>>> |===
> >>>>>>> | Data Format | Artifact | Since | Deprecated | Description
> >>>>>>> |===
> >>>>>>> indexTable::[cells="$xref,artifactid,since,deprecated,description”]
> >>>>>>>
> >>>>>>> Thoughts?
> >>>>>>> thanks
> >>>>>>> David Jencks
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Zoran Regvart
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Claus Ibsen
> >>>>> -----------------
> >>>>> http://davsclaus.com @davsclaus
> >>>>> Camel in Action 2: https://www.manning.com/ibsen2
> >>>>>
> >>>
> >>
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > http://davsclaus.com <http://davsclaus.com/> @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2 
> > <https://www.manning.com/ibsen2>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to