FXMisc/RichTextFX

Need new maintainer

JordanMartinez opened this issue ยท 30 comments

Below is what was originally in #583, but that thread got bloated with discussion on another topic. Thus, I'm reposting it here:


I've been talking to Tomas about this for a while. See the original thread here

Hi everyone,

since I don't work with JavaFX (or GUI applications, or that matter)
anymore, it is hard for me to keep up with the maintenance of my JavaFX
projects. I am therefore looking for new maintainers (and possibly new
home) of my most active JavaFX project, RichTextFX (
https://github.com/TomasMikula/RichTextFX/), and its essential dependency,
Flowless (https://github.com/TomasMikula/Flowless/).

I want to thank Jordan Martinez, who has been doing the bulk of
fixing bugs and reviewing pull requests for the past two years.

I am hoping that either some bigger user of RichTextFX, or a UI framework
for which RichTextFX would be an attractive addition to the portfolio,
would step forward and take it up. Jordan and I are happy to help with the
transfer.

Best regards,
Tomas


I've been maintaining this (and other FXMisc projects) since Tomas stopped maintaining it (though I've contributed little in the past few months), but I've also decided to go a different route from here. Rather than continuing to use a JVM language and JavaFX to build my GUI program, I've decided to start using Purescript and Halogen instead.

Due to the influence of Tomas' FP-style of coding and further investigating and agreeing with the FP paradigm, I had hoped to use more FP constructs using Scala and Scalaz. In workings towards a (at least, what I now understand to be) React-like framework for JavaFX (see JavaFXFunctional's Design Goals) and realizing that Scala was not a good language for FP, I thought it would be easier to learn web technologies and use Halogen rather than port that framework to Scala, Scalaz and JavaFX. The idea of Progressive Web Apps replacing Native apps and The Birth and Death of Javascript have further influenced me in that regard.

As such, I will no longer be making any effort towards fixing bugs or responding to any questions regarding this project. Someone else will need to step up.

I will be making a final release 0.9.1 that includes the current state of the master branch, plus the latest UndoFX release.

Also labeling this as a bug so that it increases the visibility in case more issues are raised after this one.

Jugen commented

Thanks Jordan for all the time and effort you put into this after Tomas, it was really appreciated.
Happy coding in Purescript .....

Thank you, Jordan, for all the work you have done here! Good luck in your new adventures!

@Jugen Thanks! I wish you well on your projects!

@TomasMikula Thanks! And thanks for your mentoring throughout these past few years as well as introducing me to FP concepts. I'm notifying Jonathan Giles so that the entire JavaFX community will be updated via his next FXExperience post. Maybe someone else will step up and continue it from here.

Release 0.9.1 should appear on Maven sometime within the next few hours.

My attempt at getting a new maintainer up-to-speed

If anyone else wants to step up and continue this project's maintenance, here's a few things to know:

  • RichTextFX uses 4 dependencies: Flowless, UndoFX, WellBehavedFX, and ReactFX, all of which are licensed under BSD-2. The following lists their status (documentation and stability)
    • UndoFX: more or less feature-complete and well documented (see its javadocs and Project ReadMe)
    • WellBehavedFX: more or less feature-complete and well documented (see its javadocs and project ReadMe)
    • Flowless: not yet feature-complete nor bug free; well documented (see its javadocs and project ReadMe)
    • ReactFX:
      • more or less feature-complete but some deprecated things could be removed (see my work in my forked repo's current master branch) and it might make sense to add a dependency on functionaljava so that other Java projects using FP concepts can use the same Either and Tuple classes throughout the Java ecosystem
      • well documented in some areas (see the tutorial mentioned below and its javadocs) but missing docs in other areas (see the docs I added in this PR)
  • RichTextFX and all of its dependencies are not yet modulated for Java 9+. See #647 for more information/context on that. Although RichTextFX still works now, I'm not sure whether it will continue to do so in Java 11.
  • This page explains RichTextFX at various levels of depth. It also includes a link to a ReactFX tutorial. One should read that first before anything else on the linked page as it's used in most of this project's dependencies as well as this project itself.
  • I usually found it hard to understand/use ReactFX's List Change API. I believe Tomas wanted to change that before his focused changed to non-JavaFX stuff, but I don't know what exactly the new approach would be. (The List Change API is documented in the ReactFX PR I mentioned above.)
  • Most of the bugs or lack of features in RichTextFX are due to bugs or lack of features in Flowless. Flowless is in this state because it's hard to test due to not having an InlineCssTextAreaAppTest-like class that one can use for multiple tests out-of-box.
    • For a quick and dirty solution, one could copy and paste RichTextFX and all of its dependencies (using my version of ReactFX instead of Tomas' one) into one mega repo and build it all completely from source to troubleshoot the issues there. It'd be the easiest way to get past the lack of documentation in ReactFX's current latest release and improve Flowless with immediate feedback.

So amazing project RichTextFX is thank you so much for contributing the last two years. If i have time i will be contributing to this project in the near future.

IARI commented

Would be a shame for this project to die - I really hoping someone can be found.

Jugen commented

I agree - so I'm willing to be a basic maintainer, that is to manage pull requests and publish new releases.

@JordanMartinez Can you add me as a collaborator for this repository :) ?

I am willing to take it to the next step .

Waiting for your reply .

While I am a member of the FXMisc organization, I don't have admin privileges (see this link for context). Either @TomasMikula will have to add you, or you'll need to fork all of this organization's repos and start a new organization.

@TomasMikula as @JordanMartinez said can you add me as a collaborator for this project? :)

@goxr3plus Did you ever get admin or collaborator authority on this project?

IARI commented

Yep, I'd also love to know, what's going on. .. Also I do have some lofty Ideas and would love to check out, if anyone would like to talk about them

IARI commented

Is there a Slack where you guys hang out or something?
@goxr3plus @Jugen @JordanMartinez @TomasMikula @montanajava
I propose that we find a date to all get together and know each other, so we can find out what each of our individual interests in this project are, and our surely limited time capacities ;)
(I mean it'ls clear that Jordan and Tomas want to move away, but still it'd be nice to get to know you guys)
If you agree, I suggest a weekend in early December, i.e. the 1th or 8th, but we can also do earlier: if theres a preference, im flexible.

As Jordan Martinez said @IARI we should start a new organization.

@IARI To give clarity, I've left Java as a whole and am now working in PureScript and its amazing type system. My only remaining goal with this project is to get the next maintainer up-to-speed as soon as possible. I'm currently working on porting this project to PureScript's Halogen framework. I guess my only remaining interest in this project is talking with the next maintainer about more efficient ways to do the same kinds of things or ways to add new features, so that I can include them in my port of this library.

Also, I'm on the FP Slack channel. Let me know if you need the invite link.

IARI commented

Just Joined that Slack - FP is the best anyways ;)

Hey, sorry for not being very responsive.

@Jugen, @goxr3plus I sent you invites to be a collaborator.

@JordanMartinez As far as I can see, you are a member of the RichTextFX team, which has Admin privileges for the RichTextFX project, so I suppose you should be able to add collaborators.

I could meet 2nd weekend in December.

As far as I can see, you are a member of the RichTextFX team, which has Admin privileges for the RichTextFX project, so I suppose you should be able to add collaborators.

@TomasMikula :-/ You are right. Unfortunately, I was looking at the FXMisc organization as a whole and saw that I could not add new people to that organization. I didn't consider looking into each project's settings tab, where I now see that I could have added collaborators.

For those who wanted access to this repo earlier, I apologize. This was a huge misunderstanding on my part.

Just my two cents.
Today, HN linked to Slate.js. After working on this project for the time that I did, I think learning from them would be very helpful in terms of how this project should move forward.

Jugen commented

So to everybody that is interested I'm just getting up to speed on gradle, appveyor, travis, sonatype, etc, etc .... and will try and publish 0.9.2 next week sometime.

Jugen commented

0.9.2 has now been released and is available on Maven

@Jugen I'd say this issue is now closed, right?

@Jugen. Just FYI. I'm adding @zcaudate as a collaborator to the Flowless project. I'm including this note here because RichTextFX depends on Flowless. See FXMisc/Flowless#68

Jugen commented

@JordanMartinez Thanks for the update.