On 29 Jul 2025, at 12:56, Michael Gerdau <[email protected]> wrote:
>
> I've read the thread and here's my summary. Please add/correct:
> - LSR is deemed indispensible for the time being
> - the current setup will supposedly be available until Dec 2025
Unless the hardware breaks, which could be even this time.
> - the current tech stack is reportedly convoluted and at least in parts
> outdated
Definitely. It was very innovative 20 years ago. I'd do it differently today.
> - space requirements are tiny (current MySQL DB is 10MB)
Yes, tiny.
> - there are a couple of ideas how to improve the current tech stack
Well, anything recent will probably do better. The starting point should be the
MySQL database. All the rest can be rebuilt around it.
> - project plan sketch is to secure availability of the current setup (w/r to
> the tech stack used) beyond Dec 2025 and then move in from there
This is possible but it's a lot of stuff to set up.
> The tech stack includes PHP, Tomcat (and thus the requirement to run Java),
> MySQL.
Also Apache Httpd, and the whole editing interface uses an old research project
of mine that out of commission (and uses PHP libraries that do no longer exist
in the current PHP ecosystem). MG4J is currently in maintenance mode, which is
always a problem with Java--maybe Lucene would be a better solution now (also
because it now incorporates several ideas from MG4J).
> What else is required?
Root access.
> Is there something like an installable tarball (or a bunch thereof)? If not,
> could that be created?
No, definitely no to both questions.
> Which versions of the various technologies are currently in use and what are
> possibly known caveats?
It's all recent, but some of the technologies are no longer developed or
maintained.
> FWIW I have used all of these technologies and would be willing to help.
> Depending in the details I might be able to provide a server.
I mean, the LSR is three things:
- A MySQL database
- A web interface to edit the database
- A search interface
I think that after 20 years there are easy out-of-the-box solutions for all of
these components. One of the fidgety things is that the web interface needs to
be able to run Lilypond to show previews, and this requires various
restrictions, such as a sandbox, as Lilypond contains a Turing-complete
language. Maybe today it would be just a docker instance. The search could be
with Lucene, and editing with Ruby on rails or something like that.
In fact, the database is so small that probably substring search with MySQL
would work perfectly--no need to build an inverted index. But it was fun at
that time, and I was working day and night on indexing.
Ciao,
seba