Product Team meeting notes 3rd December 2020

Hello @here! It’s time for a new product team meeting :computer:If you haven’t done an asynchronous meeting before, please respond in threads :slightly_smiling_face:Also note you can start a reply with :bust_in_silhouette: to be anon, or :no_entry_sign: to go off the record and not be included in the notes, which will be exported and posted on the Community Forums.The meeting will be open for 24 hours, after which the notes will be exported. People may comment thereafter but these won’t be included in the notes.Let’s get going! :arrow_down:

0️⃣ Introductions - Who you are, where you’re located and how you’re involved with Mautic

Ruth Cheesley (she/her) Hi all, helping the team out today by running the meeting - hope you’re all keeping well! Based in the UK which is currently dark, wet and rainy! :rain_cloud: :umbrella:
Dennis Ameling (he/him) Hi from The Netherlands! :wave: Dennis here, Assistant Team Lead in the Product team
mohit.aghera Hi from India, Mohit here.
Abu Musa Hi from Jordan, Mohammad here, I assist with some releases and write some code
alanhartless Howdy! Alan from Houston, TX. Mautic is my 3rd child. :smile:

1️⃣ Review of last meeting’s notes

Ruth Cheesley (she/her) The notes were exported here: https://forum.mautic.org/t/product-team-meeting-notes-tuesday-3rd-november/16898/2 and a couple of topics were spun off in other threads which are linked in the thread above.

2️⃣ MautiCon recap/feedback

Dennis Ameling (he/him) Absolutely loved the event! Lots of people showed up and there was good energy going around. One for the books :slightly_smiling_face: :mautibot:
Ruth Cheesley (she/her) Absolutely - I am still working my way through the videos!
Ruth Cheesley (she/her) So much awesomeness!
Abu Musa The event was super successful, the tools used caused some issues, but I think these issues will not show in the future.
alanhartless Agreed on all points. It was very successful and thanks to everyone who made it happen! I liked the presentation software used although it would have been nice to support a virtual background without a green screen (like Zoom). Thankfully my cats behaved themselves and weren’t doing their usual of cat parkour across the furniture :smile:I look forward to next year’s event and hopefully it will be a hybrid of live/virtual.

2️⃣ . 1️⃣ Strategic Initiatives

Ruth Cheesley (she/her) We’re in the early stages of getting these initiatives up and running, putting together a clear project plan and scope, and building teams who will be working on them.You can find the announcements in the keynote from MautiCon here:

Here are the Slack channels:

  • #i-builders
  • #i-composer-support
  • #i-install-upgrade
  • #i-mautic-marketplace
  • #i-mautic-next-generation
  • #i-resource-management.

The landing page on confluence is here: https://mautic.atlassian.net/wiki/spaces/MI/pages/324272162/Strategic+Initiatives. If you’d like to get involved with any of these initiatives please do join the relevant channels!

Dennis Ameling (he/him) Thanks for setting up those channels! Hope they'll allow us to work on the initiatives in a structured way :slightly_smiling_face:
Abu Musa @Ruth Cheesley (she/her) I am happy to lead a research group to do analysis of the market. I think we need to get the product team with easy to understand analysis what our competition are doing. maybe we can build a business model around the research, so we can figure out the road map.One thing I tried in the past, is I worked with several MBA students, do this kind of analysis, they would be happy to do the research at the same time it will help them get in touch with the market.thoughts?
Dennis Ameling (he/him) Sounds fantastic @Abu Musa. Maybe could even be an internship for those students
Abu Musa I reaching out some of my connections, to collect interest. hopefully we can get a working group running within the next few weeks

2️⃣ . 2️⃣ Forming Tiger Teams

Ruth Cheesley (she/her) Another announce from MautiCon is the official kicking off for the Tiger Teams:

To recap, these are small, highly specialised teams of 3-6 people who become the ‘experts’ in a small part of Mautic - for example privacy and tracking, CRM integrations, campaigns etc - and will become a key stakeholder for any changes that relate to this area.

Some of the teams I suggested creating include:

  • Email Tiger Team
  • Privacy & Tracking Tiger Team
  • Campaigns Tiger Team
  • CRM Integrations Tiger Team
  • User Experience Tiger Team

Would you like to be a part of one of these teams? Or start one in an area we haven’t mentioned? Drop a reply or feel free to ping myself or @Norman Pracht!As a reminder, it’s really important that these teams are cross-functional and include users of Mautic as well as developers, UX specialists, designers, and so forth.

Ekke @Ruth Cheesley (she/her) while I'm pondering what Tiger Team to join, I find it hard to decide withouta) knowing what other options may be coming up andb) who else is interested in a certain team (e.g. because maybe you want to spread the more active characters across multiple teams, ...)Maybe we should have another confluence page with a more comprehensive list of Tiger Teams?And the option add your name to it, including the option of being "potentially interested" (intentionally allowing to flag more team than you will actually join - a bit like in a barcamp pitch)
Ruth Cheesley (she/her) Indeed - will create a page for that, thanks for the suggestion. Also looking into hooking up our Atlassian stack with Auth0 so that existing un/pw would allow access which would make it easier
Ruth Cheesley (she/her) I wonder though if adding your name to a confluence page is the right way to go - maybe a simple GForm name/email/team
Ruth Cheesley (she/her) and a bit about why?
Ekke Ideally, we'd have an easy (no sign-up) form like that, plus display the names but not emails in confluenceThe "why" - really? Don't believe we'll honestly filter people out at that point, so let's rather lower the barrier
Ruth Cheesley (she/her) I think given the specialised nature of tiger teams we need to know why someone is asking to join one and what they bring to the team
mohit.aghera I would be happy to join the teams.A few doubts that I have:Each team will be responsible for overall development and maintenance of particular components in Mautic core or it will be something like leadership team for particular area
Ruth Cheesley (she/her) The latter - so effectively becoming subject matter experts in that particular area
Ruth Cheesley (she/her) So the tiger team would be consulted on changes to that area or feature and ultimately ‘sign off’
Ruth Cheesley (she/her) A bit like how they have ‘gates’ in Drupal if you are familiar with that
## :three: Releasing 2.16.4

Ruth Cheesley (she/her)
  • We have two PR’s that we need to merge into the last release for the 2.x series, 2.16.4.
  • We need to do this before 15th December, as that’s when we stop security support for the 2.x branch: GitHub - mautic/mautic: Mautic: Open Source Marketing Automation Software..
  • Also travis-ci.org will be shut down on December 31st, so we can’t run automated tests on the 2.16 branch anymore by then (we have switched over to Github Actions for the 3.x series).

I would propose that we make this release in the next week and with it, ensure that we communicate the end of security support for the 2.x branch. (edited)

Norman Pracht Yes
Norman Pracht i can probably do it
Ruth Cheesley (she/her) It has to be done the ‘old way’ so it will take a bit more time I expect. Also looping in @Radu @Oluwatobi as we will need to have some comms around this (edited)
Norman Pracht yes i can do it the old way no problem :wink:
Norman Pracht let’s say monday ?
Ruth Cheesley (she/her) Sure, sound OK @Radu @Oluwatobi? We will need some comms to go out about the release, informing people that it will be the last release for 2.x and after 15th December there will no longer be any security updates.
Dennis Ameling (he/him) I'm in meetings the whole day @Norman Pracht so probably @john can act as a backup in case things don't work out?
Oluwatobi Owolabi We will need to have a blog post for this?
Ruth Cheesley (she/her) I think it might be good to do an official ‘goodbye Mautic 2, you’ve served us well’ as some folk may not be aware of the support coming to an end
Radu Yes, agree
Radu I'll try something today (in the evening)
Ruth Cheesley (she/her) I already did it, we had to get the release out
Ruth Cheesley (she/her) https://www.mautic.org/blog/community/goodbye-mautic-2-its-been-good-know-you
Radu k. thx!

4️⃣ Maintaining the Mautic Docker image

Ruth Cheesley (she/her) We are seeing regular questions and concerns about the official Mautic docker image - specifically around the fact that there is no clearly documented migration path 2->3 and that we are not being proactive in updating new releases over to the repository.At the moment this is managed by @luizeof and I would like us to build a team around this so that it’s not just reliant on one person, and so that we can get on top of the open issues and PR’s and make sure that we’re proactively supporting a best-in-class Docker image for the community.Would anybody like to step up and get involved with this? (edited)
Dennis Ameling (he/him) Don't have the bandwidth to step up for this currently, but I can certainly contribute by e.g. making sure that a new Docker image is published automatically as part of the automated release process! :rocket:
Abu Musa @Dennis Ameling (he/him) the automation master :rocket:@Mohammad Lahlouh I think this is something you might be interested in
Mohammad Lahlouh Thanks @Abu Musa.Yes I built Mautic docker and I can help in this
Rodrigo Demetrio I talked to Luiz and he will hop in

:five: Mautic Triage Team

Ruth Cheesley (she/her) We had some interest from @Adrian and @kuzmany so let’s get this off the ground! If anyone else would like to join please reply below!The basic idea is that we commit to an hour a week as a starting point where we work through the open issues and PR’s, welcome new contributors, triage issues/PR’s and generally keep things moving through the process.I’d like to propose kicking this off some time next week, so let’s start by setting up a Doodle poll to find out what days/times might work for those interested? Can someone take that on?
Alan Hartless (he/him) Acquia will be devoting an engineer to help with Community for the first week of every two week sprint. So at least for every other week, an Acquian engineer can participate in this.
Dennis Ameling (he/him) That's fantastic Alan! :tada:
kuzmany I am able to do a basic support, reviews, small updates to PR, finish the PRs If need it, make basic improve of codes and tests.
Adrian I can contribute towards this. I can see myself bringing value on the triage and keeping thing moving part.
Ruth Cheesley (she/her) That would be super.Here’s a Doodle poll - if folk can give an indication of time slots that you will generally be available most weeks that would be super. Appreciate that with the festive season coming up soon things will be a little disrupted for a few weeks but I’d love to get this off the ground and put together some processes so that we can effectively onboard new team members! (edited)
Ruth Cheesley (she/her) @Adrian @kuzmany please can you drop your availability on the doodle poll so we can select a day/time for our regular sessions?
Adrian Hi @Ruth Cheesley (she/her), I will have to prioritize my opensource time. And I think my skills are of better use with the builder initiative. And it looks like you have people here who can help you with the triage.
Ruth Cheesley (she/her) Okie dokies - thanks for letting me know!

:six: Setting up Stalebot

Ruth Cheesley (she/her) Some time ago we had a ‘purge’ of old PR’s and issues, but it remains an ongoing (and time consuming) challenge to manage issues/PR’s which go stale.There is an automated bot which I’ve seen used in other projects which could help us with this.https://github.com/apps/stale it can automatically flag stale issues with a label and to close them if there is no interaction within a specified time period. We could start with this at, say, 30 days, and then reduce it down to 14 days over time.We would need to ensure that the communication is clear, friendly and points people to where they can get help if they’re stuck.Any thoughts on this? Would anyone like to help with setting it up / writing the wording to go on the messages?
Dennis Ameling (he/him) What about 90 days for issues/PRs to go stale, then another 14 days before they get closed down? We have quite some old PRs/issues so I assume they will all be closed at once as they're older than 90 days? Curious to hear what others think of this (edited)
Dennis Ameling (he/him) I like this. But maybe we can exclude the “grandfathered” PRs with an exempt label (which seems they support exemptLabels) to prevent them from being auto-closed until we can help get them caught up.
Dennis Ameling (he/him) Luckily @Norman Pracht has plenty of time available to do some triaging :joy: :wink:
Norman Pracht my passion
Ruth Cheesley (she/her) @alanhartless @Norman Pracht for info, the stalebot only applies to issues and not PR’s
Ruth Cheesley (she/her) so I think we should be safe
Ruth Cheesley (she/her) App is installed, PR is here to enable as discussed: https://github.com/mautic/mautic/pull/9489

:seven: Symfony 4 update work

Ruth Cheesley (she/her) @alanhartless has made a great start on a ‘quick and dirty’ PR which gets Mautic up and running but has a fair amount of work (and testing!) to do.He’s also documented all the work that needs to be done here: https://docs.google.com/document/d/1VNQ5cuXJdzsgxi-HTfZ_ihSVrNBSWZwgClG6pabY7nc/edit?usp=sharingI’d like to suggest that we could chunk up the things that are left in the ‘to do’ part and share the workload among the community and Acquia - this will require developers with a good understanding of Mautic, and ability to write automated tests!Want to help? Please comment in the thread!
Dennis Ameling (he/him) Happy to spend some time on this in January, but we'll need around 3-4 devs working on this I assume
Ruth Cheesley (she/her) Yeah, I think we need to figure out the chunks of what needs to be done as a starting point and break those out into tasks that folk can pick up
Ruth Cheesley (she/her) Deadline is the M4 release in May but I’d love it if we could get this wrapped up in good time so that we can spend more time focusing on other things
alanhartless

is the absolute must do remaining that I found. I estimate they’re not a major coding task to do.But if there are other features the community wants to get in, we’ll need to get those defined sooner than later.

:eight: Automation of release notes creation

Ruth Cheesley (she/her) We just did our first two automated releases with GitHub Actions (https://github.com/mautic/mautic/pull/9355). A massive time saver, but we want to automate even more, like the release notes generation.We previously relied on [@alanhartless](https://mautic.slack.com/team/U03BTCNQZ) https://github.com/alanhartless/my-github, but it hasn’t been updated for a long time and likely won’t be updated anymore.We’re looking for a new release notes generation tool that we can add to the GH Actions release pipeline as well. Any suggestions? (edited)
Dennis Ameling (he/him) I know that many release note generators rely on **commit messages** rather than **milestones** (we currently use milestones for the release notes), so that's something to keep in mind while searching for release note generators.
Dennis Ameling (he/him) I found this one, which looks at pull requests and allows us to categorize based on labels (e.g. Bug/Feature/etc.), like we're already doing currently with Alan's tool. So it should be pretty easy to implement. https://github.com/marketplace/actions/release-drafter#exampleIt doesn't look at milestones but rather creates/updates a draft release as soon as a PR is merged, which I think is a good thing, because it will then only include PRs that were actually merged.What do you think of this one @Ruth Cheesley (she/her)? (edited)
Ruth Cheesley (she/her) That would save time with having to shift everything out of the milestone for sure, and would also mean we don’t accidentally catch closed PRs.
Ruth Cheesley (she/her) Looks easy enough to implement as well?
Dennis Ameling (he/him) want me to set up a quick example repo to see how this works? Shouldn't take more than 10 mins
Ruth Cheesley (she/her) yeah if you have the time - might be nice to see it ‘in action’
Dennis Ameling (he/him) will do now - have a packed calendar tomorrow and in the weekend :sweat_smile:
Dennis Ameling (he/him) It works! Very easy to set up :blush: https://github.com/dennisameling/example-release-notes/releases/tag/1.0.1We can even customize the layout completely. See https://github.com/dennisameling/example-release-notes/blob/9f001521c65cac75704627205809376290f3e5e0/.github/release-drafter.yml.This should be good for Mautic, right @Ruth Cheesley (she/her) @Norman Pracht?
Ruth Cheesley (she/her) Yay for emojis!
Ruth Cheesley (she/her) Looks great, very promising
Dennis Ameling (he/him) Okay let's wait for others to chime in on this thread, otherwise would be very happy to add this to CI. Another manual step eliminated :rocket:
Ruth Cheesley (she/her) Also if we can add pushing it up to the Mautic instance that would be amazing
Ruth Cheesley (she/her) (it being the release package)
Dennis Ameling (he/him) Just send me some API credentials of the Mautic instance in a DM and I'll have a look :slightly_smiling_face:
Norman Pracht Seems promising :-)
Dennis Ameling (he/him) PR for the automated push of the release asset: https://github.com/mautic/mautic/pull/9472 :rocket:
alanhartless Are we able to configure multiple of these actions so that it knows what’s going toward the next major version version minor and we’d have two draft releases respectively?
Ruth Cheesley (she/her) I think it is triggered by the release process so we'd only generate at release time
Ruth Cheesley (she/her) When you tag the release
alanhartless As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you're ready:
Ruth Cheesley (she/her) @Dennis Ameling (he/him) updated the release leader documentation to reflect the new process
alanhartless It might be configurable. I didn’t read that deep.
Dennis Ameling (he/him) This should be possible thanks to a recent PR @alanhartless https://github.com/release-drafter/release-drafter/pull/657 - it looks at the target branch now
Ruth Cheesley (she/her) Ah nice

:nine: FYI: Vale Linter implementation for documentation

Ruth Cheesley (she/her) As part of her Season of Docs project, @Swati Thacker has been working on a proposal to implement the Vale linter for our documentation tools. This works much like the code style checks that run on PR’s in the main repo, checking for spelling, grammar and so forth against a specified styleguide. It provides invaluable guidance for those submitting to the docs and will help us to raise our game when it comes to writing good quality documentation.Here is the issue in case anyone is interested in reading more: https://github.com/mautic/mautic-documentation/issues/145We plan to start with the docs, using the Google styleguide as our baseline, and expand from there to other resources and creating our own styles as required. (edited)
Dennis Ameling (he/him) Nice initiative! :rocket:

Participants:

Ruth Cheesley (she/her), Dennis Ameling (he/him), mohit.aghera, Abu Musa, alanhartless, Ekke, Radu, Norman Pracht, Mohammad Lahlouh, Rodrigo Demetrio, kuzmany, Adrian