Sounds good > On Jan 7, 2025, at 7:41 AM, Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > > Hi > > I think so, the final proposal is: > > - we describe the design document is using markdown > - we create a PR on the main repo containing the markdown, adding > design folder (for ActiveMQ Classic, the PR would be based on > https://github.com/apache/activemq in a design folder) > - the review and comments are discussed directly in the PR where we > "enrich" the design > - when a consensus is reached, the PR is merged and another PR for > implementation can start > > Thoughts ? > > I plan to open a first PR using this process for receiveBody(). > > Regards > JB > > On Tue, Jan 7, 2025 at 1:31 PM Christopher Shannon > <christopher.l.shan...@gmail.com> wrote: >> >> Did we come to a consensus on where to put the design docs? It looks like a >> Git repo was favored but not sure we ever came up with a spot for it or >> decided where things should be. >> >> On Sat, Dec 21, 2024 at 1:33 AM Jean-Baptiste Onofré <j...@nanthrax.net> >> wrote: >> >>> 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 >>> >>> >>> > > --------------------------------------------------------------------- > 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