usaybia / srophe-eXist-app

eXist code for Syriaca.org: The Syriac Reference Portal
GNU General Public License v3.0
1 stars 0 forks source link

Fix map function error before upgrading to eXist 5.3 #105

Open nathangibson opened 2 years ago

nathangibson commented 2 years ago

@wsalesky I tried upgrading to eXist 5.3 but got the following error: /db/apps/usaybia/modules/view.xqlerr:XPST0003 error found while loading module templates: Error while loading module : The ':=' notation is no longer accepted in map expressions: use ':' instead. [at line 93, column 40]

Can you take a look when you have a chance? Thanks.

In case it helps: docker image v0.7.1-dev uses exist 5.2 and v0.8.0-dev uses exist 5.3. (I don't think there are other major differences.)

wsalesky commented 2 years ago

what version were you running before? 4.x.x?

nathangibson commented 2 years ago

Nope, 5.2.

wsalesky commented 2 years ago

Interesting. I will take a look. I'm going to test syriaca.org in 5.3 as well. do all the fixing at once, hopefully.

nathangibson commented 2 years ago

The eXist 5.3 changelog includes this about map expressions: https://github.com/exist-db/exist/pull/1520

wsalesky commented 2 years ago

Yes, it is interesting, because I thought we had to change those before moving to 5.x.x . I must have missed something.

wsalesky commented 2 years ago

@nathangibson is this in docker? when I run that docker build it exists right after startup, or is this in a local install of eXist?

nathangibson commented 2 years ago

Yes, it is interesting, because I thought we had to change those before moving to 5.x.x . I must have missed something.

It might be that I need to double-check and make sure it's building from the right source.

nathangibson commented 2 years ago

@nathangibson is this in docker? when I run that docker build it exists right after startup, or is this in a local install of eXist?

It is in docker. Both on my local machine and on the server, when I run https://github.com/orgs/usaybia/packages/container/usaybia-srophe-exist-app/8265604?tag=v0.8.0-dev I get that error when I try to load the home page (/exist/apps/usaybia) but when I run https://github.com/orgs/usaybia/packages/container/usaybia-srophe-exist-app/1198826?tag=v0.7.1-dev I don't.

I guess the next step would be for me to try exactly the same build with only changing the eXist version between 5.2 and 5.3 and see if that is really what the problem is.

wsalesky commented 2 years ago

@nathangibson so I just ran a docker version of eXist-db 3.5 and a version I downloaded onto my mac. The mac version ran fine. The docker version does not seem to include the this library module: https://exist-db.org/exist/apps/public-repo/packages/shared.html?eXist-db-min-version=3.0.4

Once I added that to my auto-deploy directory it ran fine. The error you are getting is related to that repository, namely the templating module.

nathangibson commented 2 years ago

@wsalesky Weird. This may have to do with the version of the shared resources app. On the development branch the shared resources is included, but in an old version (0.4.2) https://github.com/usaybia/srophe-eXist-app/blob/5e15491334806a287544e982c6a3380a42bd3b3d/Dockerfile#L8. With that I get the above mentioned error.

That is what the v0.8.0-dev docker package should be building from and indeed when I use that image I do see the module in the package manager. Are you building your own docker image or using the one from https://github.com/usaybia/srophe-eXist-app/pkgs/container/usaybia-srophe-exist-app/8265604?tag=v0.8.0-dev ?

However, when I update that to the most recent (0.9.1) I get a different error:

/db/apps/usaybia/modules/view.xqlerr:XQST0034 error found while loading module app: Error while loading module app.xql: error found while loading module rel: Error while loading module lib/get-related.xqm: error found while loading module tei2html: Error while loading module ../content-negotiation/tei2html.xqm: Function {http://srophe.org/srophe/tei2html}idno-title-display#1 is already defined.

Not sure why I'm getting the error and you're not ...

wsalesky commented 2 years ago

@nathangibson I am getting that error as well. There is a duplicate function in the code, not sure where it crept in as it is not in the syriaca.org version.

nathangibson commented 2 years ago

@wsalesky Does this need to be debugged or is there something I need to do differently?

It is somewhat urgent because I currently cannot run eXist 5.3 or 6.x with Usaybia.

nathangibson commented 2 years ago

Actually I've found some duplicate functions and keep getting errors about others ... tei2html:idno-title-display, app:wiki-links, app:wiki-links ... Something seems to have gone wonky with the app refactor way back when.

wsalesky commented 2 years ago

@nathangibson I would really like to move the codebase to srophe application. This would solve all of those problems and bring the code base up to date all in one go.

nathangibson commented 2 years ago

@wsalesky I am happy with that, please do. I just need to know how long that will take so that I can decide if I need to make security remediations in the meantime. If you're not sure what I mean, you can let me know via email (i.e., privately).

wsalesky commented 2 years ago

I can get a new version running by the end of the week.

nathangibson commented 2 years ago

Awesome! Forked https://github.com/usaybia/srophe for you.