Hi, To illustrate that, as I've started to work on receiveBody() implementation, before opening the PR, I will draft a design proposal for receiveBody() and use the process we discussed here. We will be able to "adapt" the process if needed.
I will keep you posted. Regards JB On Fri, Dec 20, 2024 at 8:54 PM Justin Bertram <jbert...@apache.org> wrote: > > > ...when I say “users”— Developers extending the product are also “users” > here, not just app teams sen/recv messages. > > I was thinking of the same class of users. > > > As most features (in ActiveMQ Classic) have extension points, having > these design docs included in the hosted documentation is a way to benefit > that class of users. > > Instead of out-of-band implementation design docs I would suggest robust > API/SPI docs in the code (e.g. JavaDoc) to give this class of > developers/users all the information they need to extend the broker. This > is an industry standard and what most Java developers would expect. > > Ultimately my concern here is to mitigate the proliferation of technical > debt. This website is already chock full of well intentioned docs that were > relevant at the time but slowly fell out of date and now represent a > maintenance burden. > > > I think it would be confusing and counter productive to host design > documents for both brokers in the same repo. This would be really confusing. > > It seems pretty straight-forward to me as long as the directories are > clearly labeled. After all, the website contains info about both brokers > (and every other component), and it's just one repo. Folks don't seem to > have trouble with that, but maybe I'm wrong. > > > Justin > > > On Wed, Dec 18, 2024 at 10:39 AM Matt Pavlovich <mattr...@gmail.com> wrote: > > > Let me clarify when I say “users”— Developers extending the product are > > also “users” here, not just app teams sen/recv messages. > > > > As most features (in ActiveMQ Classic) have extension points, having these > > design docs included in the hosted documentation is a way to benefit that > > class of users. > > > > I think it would be confusing and counter productive to host design > > documents for both brokers in the same repo. This would be really > > confusing. Having Artemis design docs in the Artemis docs source area and > > the Classic design docs in the classic doc repo area would seem to make > > sense to avoid confusion. > > > > Matt Pavlovich > > > > > On Dec 12, 2024, at 12:38 PM, Justin Bertram <jbert...@apache.org> > > wrote: > > > > > > I'm not sold on the "user-accessible documentation" aspect of this. > > > Documenting design in enough detail to actually help developers implement > > > the design is, in my experience, not great for user docs. Furthermore, it > > > introduces a maintenance burden because if future code updates alter the > > > design then corresponding documentation updates will be necessary in > > order > > > to keep them relevant. > > > > > > The more detailed the design document is the more helpful it will be to > > the > > > developer implementing that design, but the more of a burden it will be > > if > > > incorporated into user docs. This is not dissimilar to comments in code > > > which slowly fall out of date as the code evolves. Eventually the comment > > > is confusing and hurts more than helps. > > > > > > At this point I would consider these design docs as categorically > > different > > > from code and user documentation so I wouldn't welcome them in the > > > respective Git repo of the component. I think a separate repo makes more > > > sense. > > > > > > > > > Justin > > > > > > On Thu, Dec 12, 2024 at 12:04 PM Matt Pavlovich <mattr...@gmail.com> > > wrote: > > > > > >> I like the idea of git — one thought— could we simply use the > > sub-project > > >> code repo associated for the project? This would allow for keeping the > > >> design/dev docs near the code and automatically create user-accessible > > >> documentation in a two-for-one. > > >> > > >> Example: docs/design/ <— place markdown, asciidoc or whatever here > > >> > > >> Thanks, > > >> Matt > > >> > > >>> On Dec 11, 2024, at 11:14 AM, Justin Bertram <jbert...@apache.org> > > >> wrote: > > >>> > > >>> I'm with Matt here. It would be good to have a more robust process for > > >>> developing design documents, but I'm not in favor of Google Docs for > > >> this. > > >>> > > >>> I actually think we already have a great tool for this - Git. We can > > >> create > > >>> a new Git repo (e.g. named activemq-design-docs). When we create a Jira > > >>> that needs a corresponding design doc we can create a new directory in > > >> that > > >>> Git repo with a name corresponding to the Jira. In that directory we > > can > > >>> add documentation, images, and whatever other assets we need. Both > > >> MarkDown > > >>> and AsciiDoc are sufficiently feature rich to capture complex ideas. > > When > > >>> the pull request for the document is created folks can comment inline, > > >>> request changes, etc. The author can request reviews from specific > > folks > > >>> (if necessary). It can be held in "draft" state until complete if > > >>> necessary. The link to the PR can be automatically added to the Jira > > >> (i.e. > > >>> via ASF Infra integration) and comments on the PR will be reflected on > > >> the > > >>> Jira and on the relevant mailing list. The resulting document will be > > >>> clearly and publicly available and will be able to evolve over time > > even > > >>> after the first commit is merged. Just keep adding commits and > > >> discussions > > >>> until everything is sorted - just like the source code and > > documentation > > >> we > > >>> already work with. Folks are already familiar with this process and > > these > > >>> tools. I think this would also eliminate any strict need for a > > [DISCUSS] > > >>> thread. We already have long discussions on PRs that don't have a > > >>> corresponding [DISCUSS] thread so doing this for design docs would just > > >> be > > >>> business as usual. > > >>> > > >>> Thoughts? > > >>> > > >>> > > >>> Justin > > >>> > > >>> On Tue, Dec 10, 2024 at 1:29 PM Matt Pavlovich <mattr...@gmail.com> > > >> wrote: > > >>> > > >>>> +1 for the design discussion / document approach vs JIRA. > > >>>> > > >>>> -1 on using Google Docs — I’m not in favor of adding yet-another-tool. > > >> How > > >>>> about something like GH discussions? or some other capability already > > >>>> available to Apache projects. Adding Google introduces a whole new > > >>>> authentication/authorization/identity system. > > >>>> > > >>>> We could then slightly alter the [DISCUSS] process to be — announce on > > >> dev@ > > >>>> via [DISCUSS] subject that a new discussion is taking place on GH > > >>>> discussions (or whatever other tool) and provide the link. > > >>>> > > >>>> Thanks! > > >>>> Matt Pavlovich > > >>>> > > >>>>> On Dec 10, 2024, at 10:59 AM, Jean-Baptiste Onofré <j...@nanthrax.net> > > >>>> wrote: > > >>>>> > > >>>>> Hi folks, > > >>>>> > > >>>>> We recently discussed several proposals (SemVer in ActiveMQ, new > > >>>>> Jakarta Message 3 support in Classic, upgrade Artemis minimum Java > > >>>>> version, ...). > > >>>>> > > >>>>> I would like to propose a "process" to: > > >>>>> - discuss "long" designs > > >>>>> - track proposals > > >>>>> - facilitate collaborative contributions > > >>>>> > > >>>>> The process proposal is the following: > > >>>>> - the contributors work on a design proposal. This document should: > > >>>>> a. provide a rationale and what problems are solved > > >>>>> b. provide abstract design with context > > >>>>> c. clearly describe design options with implementations details > > >>>>> (optionally pseudo code) > > >>>>> The document is a Google Document, where anyone can comment. > > >>>>> - the Google Document link is attached to the corresponding Jira. The > > >>>>> Jira should have the "proposal" tag. > > >>>>> - the Google Document link is sent to the dev mailing list (with a > > >>>>> quick description of the proposal) > > >>>>> - If needed, the Google Document "leader" can schedule a meeting > > >>>>> (Google Meet) to discuss details and clarify design options. This > > >>>>> meeting should be recorded (or at least notes should be taken). The > > >>>>> design document should be updated after the meeting, and the meeting > > >>>>> notes should be shared either to update the design document or on the > > >>>>> dev mailing list. > > >>>>> > > >>>>> It's a process used in several Apache projects (Apache Iceberg, > > Apache > > >>>>> Polaris, Apache Arrow, ...) and it works pretty fine. > > >>>>> > > >>>>> Thanks to that: > > >>>>> 1. we can track all proposals Jira we have (basically populated our > > >>>> roadmap) > > >>>>> 2. before implementing, we can collaborate on design using the Google > > >>>> Document > > >>>>> 3. we should have a better collaboration, especially on complex > > >>>>> design/implementation > > >>>>> > > >>>>> For instance, I would like to illustrate the process with Jakarta > > >>>>> Messaging 3.1 Shared Subscription. We know this feature is not > > trivial > > >>>>> and requires a clean design before rushing on the > > code/implementation. > > >>>>> So, we can start with a design Google Document, attached to > > >>>>> https://issues.apache.org/jira/browse/AMQ-8323 and send the design > > >>>>> document on the dev mailing list. > > >>>>> Then, we start contributing to the document, adding comments with > > >>>>> questions or suggestions. > > >>>>> The purpose is to reach a consensus on the design before actually > > >>>>> starting the implementation. > > >>>>> > > >>>>> Thoughts ? > > >>>>> > > >>>>> Regards > > >>>>> JB > > >>>>> > > >>>>> --------------------------------------------------------------------- > > >>>>> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org > > >>>>> For additional commands, e-mail: dev-h...@activemq.apache.org > > >>>>> For further information, visit: https://activemq.apache.org/contact > > >>>>> > > >>>>> > > >>>> > > >>>> > > >>>> --------------------------------------------------------------------- > > >>>> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org > > >>>> For additional commands, e-mail: dev-h...@activemq.apache.org > > >>>> For further information, visit: https://activemq.apache.org/contact > > >>>> > > >>>> > > >>>> > > >> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org > > >> For additional commands, e-mail: dev-h...@activemq.apache.org > > >> For further information, visit: https://activemq.apache.org/contact > > >> > > >> > > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org > > For additional commands, e-mail: dev-h...@activemq.apache.org > > For further information, visit: https://activemq.apache.org/contact > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org For additional commands, e-mail: dev-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact