ROSSConf in Berlin

Hey Y’all :smile:

In two weeks we’re having a great event in Berlin called ROSSConf. ROM is part of this edition which means I’ll give a talk introducing people to ROM and then we’ll have a hackathon with the goal to work on specific issues. There’s a lot to be done but I’d like to prepare a list of issues that would be a good fit for this kind of an event. I suspect most people won’t be familiar with ROM at all so low-hanging fruits are needed.

That’s why I’d like to ask you to tell me what you think should be improved, fixed, added, changed etc. to get ROM to a 1.0.0 RC state. Personally I’d prefer to focus on core rom gem but it probably makes sense to look at all rom gems.

In addition to typical issues (bugs, features, refactorings etc.) I’d like to try to list a bunch of poorly covered pieces of code in terms of mutation coverage and we could try fixing those during the hackathon. This way people could see how mutation testing works and be able to kill some mutants :smile:

The goal is to prepare ROM 1.0.0 RC before end of the month. My gut feeling is telling me most effort will go into documentation though :smile:

Here are a couple of things I’d put on the ROSSConf issue list:

  • rom:

    • port validator interface to a command plugin (issue #299)
    • fix forwarding to relation in commands (issue #307)
    • clean up gateway configuration handling (issue will be reported)
    • kill known mutations in rom core (issue will be reported)
  • rom-repository

    • add support for commands (this needs discussion wrt api)
    • add support for configuring which model should be instantiated for specific relations (also needs discussion)
    • extract plugins into specific adapters and enable them by default so we don’t have require-order issue (issues #2 and #3)
    • add simplified setup interface for repository classes (already being discussed in issue #1)

And a gigantic one: improve the documentation. We have a google doc where this is being discussed. Would be cool to come up with a list of specific tasks extracted from this doc.

Cheers <3