Improve EXT:extension_builder

Application by
Alexander Nitsche

What is your idea about?
"this budget application is about improving the experience of the
extension builder extension
(https://github.com/FriendsOfTYPO3/extension_builder) in order to make
it as developer friendly as possible.

The targets are:

  • User interface: Reorganize the module template. Guide the developer on
    what to click next. Use a clean UI without that much text but focus on
    the essential:

    • Flow:
      • extension properties
        -> objects + relations + actions
        -> plugin + modules from controller + actions
        -> add caching per controller + actions combination (no manual
        input without any hints on syntax)
  • Documentation: Good and complete and detailed documentation.

  • User interface: Add detailed descriptions for every field /
    everything. Link to official documentation.

  • Management: Parse an existing extension into the Extension Builder -
    even without any Extension Builder configurations, just by TCA,
    tables.sql etc. Add a parser class per TYPO3 LTS in order to parse
    extensions of older TYPO3 releases as well. This helps the developer to
    port an older extension into a state-of-the-art extension. It helps to
    take over any extension as template for a new one. Working on the
    parsers has probably also a optimizing effect on all involved TYPO3
    techniques (Fluid, Extbase, TCA, TypoScript, …)

  • Management: Parse an existing extension of other CMS to help the
    developer taking over a project and porting its business logic to TYPO3.
    Add a parser class per other CMS major release.

  • Management: Make docking a new parser to this system by any developer
    as easy as possible.

  • Maintenance: This extension should always produce finest uptodate
    code: No documentation hints like “”… create the extension with this
    builder, then delete this file, move that file and rename it to …"".
    This is the entry to the TYPO3 world for probably many developers, works
    a an introduction tutorial of extension development and stays a lifelong
    best friend of every developer of a typical web agency which starts
    every months a new project with a new business logic.

Who can / should implement your idea?
I will take care myself

Approximate Funds needed
€25,000 - €50,000

5 Likes

@jiriki Hi, I’m surprised why you go this way alone without talking to the team behind the extension builder namely Nico, @liayn and me. We also have our own ideas and we should definitely talk with each other, or?

I would like to work hand in hand with you as I have time to invest at the moment anyway. Let’s talk in Slack (simonschaufi), team member of the extension builder.

Please note, this budget idea came from Alexander Nitsche. I was the one who posted this idea here, that our members can discuss the idea. As may see at the date, this discussion started in Nov 2020.

ok. Thank you for clarification

Hi @simonschaufi , i only get your point partly: You would like to be involved, fair enough. The remainder is about you having your own ideas and you have time: So why did you not send in your ideas and telling there that you have time to implement it on your own? Then the association member can vote and the board members judge your ideas. I assume the community and board would have been happy to chose between several ideas for the extension builder.

I think the Board is always happy for choice, but also for cooperation between people with similar ideas.

It’s also possible to submit ideas without having to implement it yourself, so the idea submissions are also an idea bank in that sense.

@jiriki Well, last year I was so full of other projects that I had way too much work and then suddenly it all changed which was not expected.

I’m glad that you want to improve extension builder but our top priority is to make it ready for TYPO3 10 first because any improvement is a waist of time if it doesn’t work in TYPO3 10, right? Unfortunately none of the team members get’s any financial support atm for this which is the reason why the PR for v10 lays there for quite some time now.

Commenting on your ideas:

  1. User interface: What exactly do you want to change there?
  2. Documentation: A good extension builder should first of all be intuitive without any documentation. I would rather include some tooltips if things are not clear
  3. Parse an existing extension: Super difficult! Have you seen what Sebastian is doing with his TYPO3 rector project? I would go into this direction instead of parsing old extensions and “upgrade” them in the extension builder. The extension builder is a kickstarter and not a maintaining tool imho.
  4. Parse an existing extension of other CMS: Seriously?
  5. This extension should always produce finest uptodate code: Yes of course, that is where the team needs your help! This is in my opinion the top priority of the whole project. I have plenty of ideas here already!

Hi! I would appreciate as well if the major focus can be point number 5. Excellence in this would be awesome already.
But it would be most awesome, if those changes could be merged back into the original source by Nico. That for sure needs some communication upfront on the workflow, but would serve the community the most.

Thanks for your efforts.

@jiriki I didn’t see this proposal before and appreciate any new ideas and contributions.
The UI really needs a refactoring or even rebuild from scratch since it’s based on a very old and outdated Javascript framework.
Concerning the parsing - do you have practical experience with the parser or is this just what you would like to achieve?
I would love to have an online meeting to share our experiences and give feedback to your quite ambitious plans.