jajuk-team / jajuk

Advanded jukebox for users with large or scattered music collections
49 stars 19 forks source link

Removing cobra library dependency #2012

Open gkerdal opened 7 years ago

gkerdal commented 7 years ago

Here is a new topic for discussing how to remove cobra library dependency.

Context : cobra is a graphical library used in jajuk to show wikipedia web content. The library doesn't seem to be maintained, it has been fixed by jajuk team for the 1.10 Jajuk version to fix a bug.

Bertrand suggested me the link [1] below to replace the Wikipedia view.

I managed to make it work on a prototype version of Jajuk with Oracle JDK 8 installed (Ubuntu). The content of wikipedia is correctly displayed, even images, it may require a bit more ressources than cobra library but it's just my opinion.

Before going further testing, let's discuss this JavaFx solution.

JavaFx seems only integrated in Oracle JVM since Java 7 (u 6). On previous version it is a separate component, but that's not a big drawback since Jajuk now requires Java 7.

I found on the [2] link that JavaFX si not yet integrated in Open jdk 1.8. So using JavaFX may force Jajuk users to install proprietary Oracle Jvm, not sure it's compatible with jajuk's principles. What do you think ?

[1] https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm [2] http://stackoverflow.com/questions/28142746/is-javafx-supported-in-openjdk

bflorat commented 7 years ago

Thanks Gwen for your searches. IMO, it's a NO-GO if we need an Oracle JDK (and anyway, I suppose I wouldn't work on OSX). So you found a new java lib ;-) ?

gkerdal commented 7 years ago

Hi Bertrand, I agree too, that's too restrictive. I'll have a look at CSSBox library. If you ever heard about anything else, let me know, I can have a look.

bflorat commented 7 years ago

Hi Gwen, no, I'm not aware of any other solution. Just make sure that any new lib is well supported, is cross-platform (linux/windows/OSX) : 100% pure java like cobra if possible.

Being already packaged into Debian would be a big plus. Cheers, Bertrand

bflorat commented 7 years ago

I may have a solution : from jre 8, the Swing JTextPane seems to be enough for our needs. I tested it and it looks acceptable to me (and the user can click on the rocket to open the wikipedia page in a regular browser) :

image

What do you think ? want me to push my changes so you can have a look ?

gkerdal commented 7 years ago

Thanks for pushing, I'll have a look tomorrow.

2017-11-19 22:31 GMT+01:00 Bertrand Florat notifications@github.com:

I may have a solution : from jre 8, the Swing JTextPane seems to be enough for our needs. I tested it and it looks acceptable to me (and the user can click on the rocket to open the wikipedia page in a regular browser) :

[image: image] https://user-images.githubusercontent.com/203516/32995751-4f3503de-cd79-11e7-949b-81390544abee.png

What do you think ? want me to push my changes so you can have a look ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jajuk-team/jajuk/issues/2012#issuecomment-345551356, or mute the thread https://github.com/notifications/unsubscribe-auth/AJd6VH9Ln217GWS1c8B4ph7P6l3ZYQN4ks5s4J44gaJpZM4Mh0wi .

bflorat commented 7 years ago

Please check out the feature/html branch. It contains a very naive POC of the solution.

gkerdal commented 6 years ago

Hi Bertrand,

It's a correct solution, I see no issue so I think you can push it to develop branch.

Cheers,

Gwen.

2017-11-20 22:48 GMT+01:00 Bertrand Florat notifications@github.com:

Please check out the feature/html branch. It contains a very naive POC of the solution.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jajuk-team/jajuk/issues/2012#issuecomment-345842943, or mute the thread https://github.com/notifications/unsubscribe-auth/AJd6VABlQ_F0fQ0nrYn7GeF-oHSljy1lks5s4fO9gaJpZM4Mh0wi .

bflorat commented 6 years ago

All right, I'll have a look at it. My current implementation is very basic.

Thanks, Bertrand