Let’s try again…

What I’m proposing here does not move any sources to different repos or change 
how e.g. the spring-boot tables of components etc are generated.  I think it’s 
completely appropriate for the code generation etc for camel-spring-boot and 
camel-karat to be in separate repositories, and how tables are generated is an 
independent issue.

I think that normally in an Antora component you want to present a cohesive set 
of information.  I think that means that the vast majority of the links in the 
component will be to other pages in the same component.  Otherwise, when you 
click a link, suddenly you’ll be in a completely different component 
environment, which I regard as extremely surprising.

Right now, almost everything in camel-spring-boot and camel-karaf is a link to 
a different component, the “components” component.  In particular, I find this 
disorienting.  I click a link and think, “what happened, where did 
camel-spring-boot go?? I’m looking at the main activemq page!! How do I get 
back to spring-boot info??”

I’m proposing that we consider presenting the camel-spring-boot and camel-karaf 
info as part of the “components” component, having sections for each in the 
components nav, under the existing stuff. I also think it’s a good idea to have 
items in the nav for components, dataformats, etc, so the presentation is 
parallel to the main components nav. These could either be simply links to the 
relevant tables, or expand to lists like the existing nav does (this would add 
another layer of nesting to the nav).

Hopefully this explanation will make my text mockup of the proposed nav more 
comprehensible. 


Some subsidiary points:

IIUC spring-boot and karaf are “extras” that come with most but not all 
components/dataformats etc.  I haven’t thought about how this might be done, 
but I think it would be nice to have something like badges at the top of each 
component page, “spring-boot yes”, “karaf yes”.  Possibly this would be 
appropriate for other subprojects: I’m pretty sure it would be for 
camel-quarkus.

I’m not all that familiar with the other sub-projects, but I think they don’t 
have a 1-1 relationship with main camel components.  For instance my 
understanding is that camel-quarkus bundles one or more components into a 
quarkus “thing”, and the camel-quarkus page explains this bundling.  If there 
are any other subprojects that do have a necessary 1-1 relation to main camel  
components, they could have their documentation folded into the main components 
docs in the same way.

David Jencks

> On Oct 5, 2021, at 12:20 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> 
> Hi David
> 
> Can you explain in more detail what you mean by moving "information"
> to "components".
> 
> If you refer to that there is a .adoc file that is generating a big
> table such as
> https://raw.githubusercontent.com/apache/camel-spring-boot/main/docs/modules/ROOT/pages/list.adoc
> 
> Then that is generated via a maven plugin, that scans the source code
> and builds up that table.
> 
> The list is then used on the website to list all the supported Spring
> Boot starters.
> https://camel.apache.org/camel-spring-boot/latest/list.html
> 
> That list used the xref links like we do in other places for Camel
> components, languages, data formats, etc.
> What is it that goes against the meaning of an Antora component?
> 
> IMHO the system we have with the maven plugin that generates that
> single file works well.
> And the docs are in the src/main/docs folder for each of those spring
> boot starters.
> So we can maintain it where it belongs.
> 
> 
> 
> On Tue, Oct 5, 2021 at 8:26 AM David Jencks <david.a.jen...@gmail.com> wrote:
>> 
>> IIUC the camel-karaf and camel-spring-boot subprojects are always released 
>> in sync with main camel.
>> 
>> On the websites, for these subprojects, there is a little bit of general 
>> information, and some tables listing the parts of the “components” that are 
>> supported in the subproject (components, dataformats, etc). The table rows 
>> link to the docs in the “components” component, which is against the meaning 
>> of an Antora component.
>> 
>> I wonder if it would make sense to include this subproject information in 
>> the “components” component.  I’m thinking the nav might look like
>> 
>> Components
>> Dataformats
>> Languages
>> Other
>> EIPS
>> 
>> Camel-Spring-Boot
>> - components
>> - dataformats
>> - languages
>> - other
>> 
>> Camel-Karaf
>> - components
>> - dataformats
>> - languages
>> - other
>> 
>> I think this would be pretty easy to do, and it would definitely leave 
>> everything in the repo it is currently in.  Does this idea seem interesting 
>> enough that  I should prepare a PR/prototype?
>> 
>> David Jencks
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to