Development Tools and Future of Forge

I started writing another comment for Visualize contribution in commit messages - Discuss Topics - TYPO3 Decisions but the thing is: A number of people have suggested to use Forge (and not commit messages) for adding / visualizing contributors.

Now, first of all, I don’t think it’s possible to achieve the things that were suggested with Forge, but a totally different question is: Can we improve Forge in any way or should we think about replacing it? How important is this for current contributors and for possible new contributors?

Current problems with Forge (for core development)

  • #83398 No template for creating issues
  • #83397 No voting plugin
  • #80921: Everyone can modify fields they have no business of modifying like Assignee, Target version, Priority etc. Usage of this is being misused so you can’t use these fields to properly categorize the issues. Having 2000+ issues open currently, this and the voting plugin just might be useful to do
  • Redmine markup is not what everyone is used to. Who actually knows how to embed images, use links properly and in any way actually make the description more readable?
  • The UI in general takes some getting used to. E.g. changing a description is not something I would call intuitive to do
  • User interface not responsive, not really usable on mobile devices
  • User interface not “pretty” (ok, this is a matter of taste, but it’s not really what I would call modern design)
  • Core contribution not visible on profile page by default, see #84494 If we want to visualize contribution, why is this not considered to be important?

General observations

  • 4 different issue trackers currently being used: Forge for the core and some extensions, github for the docs and some extensions, gitlab for typo3.org and some other stuff and Jira for the TYPO3 GmbH.
  • Bitbucket and github. Why?

Why is this relevant?

  • every hour that goes into maintaining tools does not go into core development and other things.
  • Every single different workflow is extra overhead. For maintaining it (even the stuff that is not self-hosted, you have to manage access rights etc.) and using it. Try contributing to docs and core. You will see what I mean.

I don’t know, maybe there are good reasons for doing everything the way it’s done right now. I once saw a comment from Linus Torvalds where he explains why he does not accept PR for Linux on Github. Totally made sense to me. (The answer is not in this comment but it’s in the thread.)

So maybe we can’t change anything.

Or can we? At least a little? To make things easier for core developers, potential new core developers, people reporting issues, handling issues, people maintaining the tools. Every one of these people are contributors too. To use resources more efficiently. To make the issue tracker more fun to use. To better manage open issues and focus on the relevant ones.

I’m not suggesting anything specific at this point, because I can’t. If this is in any way possible, a new theme for Forge, and solving at least some of the mentioned issues might already be a huge step.

Just a quick note on

Voting is nice, but pretty useless if it is not a fixed part of roadmap planning etc.
People usually expect something to happen if an issue get many votes.

Just one example:
We had voting in an older forge version. A really hard bug was voted (and watched) a lot. It took some years and a lot of effort by two Core devs to sort that things out. The voters/watchers where pinged multiple times to give feedback on the patch. Nobody cared. Not a single review.

So hitting the voting button is nice, but does not really reflect priorities or even sane suggestions.
“oh, somebody asked for converting all PHP to JavaScript. Sounds like a nice idea, should be tried by someone. [hits the +1 button]”.

@speters I was also in favor of having one central way of tracking issues (forge) and code-review (gerrit) instead of adding github and other parts to the mix. But it was decided for various reasons that non-core-extensions should use non-typo3-infrastructure (for example github). At least for core-things we still have our own tools in place.
(But let’s not take this too far off-topic.)

Hi Sybille!

thanks for bringing this up. The problems you mention exist for quite a long time already. Unfortunately, I couldn’t find anyone yet who’d help us fix them. If you know a good Ruby / Rails developer who can take care of the maintenance, please let me know…

Your observation is right, we’re using a lot of different tools for similar purposes. It’s good to know that Forge is just an issue tracker but does not provide source code management such as GitHub, GitLab or BitBucket. We’re using Forge together with Gerrit, which provides Git repositories, but works in a very different way compared to Git pull requests…

We used to provide Forge projects together with a Git repository for any TYPO3 extension, but we’ve stopped this since a while. Only existing projects are still using it, whereas new projects should be published on either Github or GitLab.com.
We (actually not me, but the core team) intends to keep using Gerrit for TYPO3 CMS development. It is nicely integrated into Forge, that’s why it currently makes sense to use them together…

Meanwhile, extension authors are using BitBucket, Github, GitLab.com etc. to publish their projects. This has reduced the workload for the server team (which I’m part of). There are no connections to the TYPO3 infrastructure, so anyone can use the tools they like most.

The TYPO3 Company is using Jira because they preferred it. That’s not a problem since their infrastructure (*.typo3.com) is not maintained by the same people like *.typo3.org.

Last but not least, the typo3.org team decided to use GitLab. This makes sense because of the nice integration with GitLab CI, which the team is actively using. We have no plans though to move any other projects into this system…

That explains the current situation. If you want to make things easier for new core developers (I assume you are thinking of using GitHub pull requests), keep in mind that this is more about replacing Gerrit than Forge.

New theme for Forge would definitely be a great thing. However, so far we’re stuck in the finding phase as nobody offered to implement this for us… See https://forge.typo3.org/projects/team-server-public/wiki/Meeting_2017-04-13#Forge-Update for more.

I handed over contact data of DKDs Redmine DevOp about 3 months ago.
No feedback from your end since then.

Of course I am in favor of making things as simple and centralized as possible;
IMO, simplifying the forge interface (reducing the number of fields…) is a good idea and should be the priority for now.

I agree with Markus about the “voting” topic.

We are using Redmine for our company and have created a couple of plugins etc. Right now, we are implementing this great theme (https://bestredminetheme.com/). If you need support with Redmine, just let us know.

lovely lovely boostrap theme :slight_smile:

I would happily sponsor the 105 € for letting them implement it …

Well, the bestredminetheme looks lovely. While I must admit a new theme is not something we urgently need, but it would make using Forge much nicer.

Now, as Michael Stucki mentioned, the Server team asked for help for Forge, a while ago. That might be a good thing if someone stepped up, but they didn’t. So, we have reached an impasse. I don’t know if the reason is not enough people saw this (not everyone reads meeting notes or the server channel), it’s not considered important enough or other reasons (probably one of them being TYPO3 developers are not automatically ruby on rails developers).

About the voting plugin: The opinion seems to be very divided whether this is in any way helpful or not (already noticed that before).

Sorry I must have missed that. Can’t find any mails about it right now. Can you send it again to me please?

Hi Björn! Thanks for your comment, that sounds great to me! I just sent you a PM on Slack. Would be great to hear from you…

This topic was automatically closed after 14 days. New replies are no longer allowed.