[pebble-user] Next Pebble/Pebble3
Brought to you by:
oko,
simon_g_brown
From: Joachim R. <ma...@jo...> - 2021-05-21 18:01:47
|
Dear Simon Brown, Dear James Roper, Dear Olaf Kock, Hello everybody, I'm only writing to you because I found your names in the pebble pom.xml ;-) No, all jokes aside. I am a software developer from Germany (meanwhile 53) and working as a freelancer now for more than 10 years (+X years before as an employee/hobbyist ) in a professional Java/JEE context - here: https://www.xing.com/profile/Joachim_Roesener/ At the moment I have some time to take care of my own projects and therefore I have e.g. maintained or modernized my IT infrastructure. Since about 2005 I had been running pebble on my server and wanted to get this great piece of software up and running again. I found out that pebble doesn't have a maintainer anymore (and is no longer developed) - which is a pity, but I can understand it, because the code base is from a completely different time. Times I still know I am in the process of developing pebble into pebble3 - because I liked the project from the beginning and because so much knowledge has already gone into the software that it would be a shame to just "throw pebble away". Status: - I cloned the current master in my own git/private gitlab, you can see my last "official" state here: https://blog.audiotraining.org/ - I am currently doing some work on the code (more on that in a moment). I'll push my changes when I see fit. In this context: I don't want to become the new maintainer - I have neither time nor nerves for that - when I'm done with my changes, I will invite you to the code review About refactoring/consolidation: It feels like some parts of pebble are still on the Java 1.3 level Therefore I have already made the following changes: - Adaptation of the artifacts in pom.xml to current versions - Implementation of Java 1.5 generics - Migration from Spring Security3 to Spring Security4 (bcrypt) - Implementation of ZonedDateTime vs. Date/Calendar - Elimination of potential resource leaks/implemetation try-catch-with-resource - Increase of code quality by static code analysis (SonarLint is merciless ;-)) - Adaptation of tests About my motivation: I want to turn pebble (new working title: "pebble3") into a modern Spring Boot application, which can also run "in the cloud"/in a container. - Persistence: Since "in the cloud" there is no file system available to begin with (or the application should be stateless), I at least thought about implementing an abstract file access layer (Apache VFS2). On the other hand, I don't know yet if it would be so cool to store images in a database (as BLOBS) (to dispense with a file system) . Otherwise I'm thinking about connecting pebble3 to a DBMS via JPA. Maybe you have some suggestions for me here? - MVC paradigm: I will split pebble3 into a backend and a frontend. The backend should still be accessible via XML-RPC (with camel xml-rpc), but the frontend should be able to communicate with the backend via a "modern" REST-API. This would have the smart advantage that new (Java/Typescript) user interfaces could access the backend via AJAX. - Frontend: I still think JSF is cool, but unfortunately it is a bit outdated now (keywords: Responsive Design, UX, mobile devices). As an intermediate step or because I don't know much about frontend technologies, I could imagine Vaadin, for example, with which even a Java backend developer like me could implement appealing UIs (I already have experience in this). My main concern is to eleminate JSP - that is very ugly in 2021 by now . What do you think? So, 'nuff said No Spam I am very curious about your answer Many greetings from Germany, Joachim Rösener. Translated with www.DeepL.com/Translator (free version) |