From: Joe W. <jo...@gm...> - 2021-07-02 20:28:37
|
Hi Craig, I saw your reply to Eduard's note after I hit send on my reply. Since you already found the PR I referenced and this still left you with the "icon.png does not exist" error, here's what you need to do: Either: 1. Clone packageservice, check out PR #22, build it locally, and install the xar via eXide > Manage DB > Upload (keeping the checkbox selected for installing uploaded cars). Or: 2. Install the current release via the methods in https://github.com/eXist-db/existdb-packageservice/pull/10#issuecomment-526854027, then manually apply the patch in PR #22. The key PR from the current release that fixes your icon.png error is: https://github.com/eXist-db/existdb-packageservice/pull/20. Addressing Eduard's points, there is no problem with running shared-resources in eXist 5.3.0 or having apps that depend on it. The only factor related to shared-resources and eXist 5.3.0 is that it is not included in the eXist distribution anymore. So if you need it, you can install it by any of the usual methods - public repo xar download, package manager, expath package dependency declarations, etc. If you only used shared-resources for its HTML templating library module, then you should have a fairly smooth time of upgrading to Wolfgang's new templating library, which fixes numerous bugs in the old version, is largely a drop-in replacement for the old module (note the new module namespace and package name), and is included in the eXist 5.3.0 distribution. See https://github.com/eXist-db/templating. As a standalone library package, it now sheds the baggage of the old shared-resources package, with its old versions of jquery and various resources. The other XQuery library modules in shared-resources have not been migrated to standalone libraries, so if you use apputil.xqm, dbutil.xqm, or siteutils.xqm, you'll still need shared-resources. eXist 5.3.0 will not choke on collection configurations that mention the legacy fulltext index. However, the legacy fulltext index was removed from eXist in v3.0.0, and the change in 5.3.0 is that the schema has been updated to report mentions of the legacy fulltext index as a validation error. No need to reindex. Best to remove it at some point though. You are correct that eXist 5.3.0 raises an error if you have two functions of the same name and arity. Joe On Fri, Jul 2, 2021 at 4:11 PM Craig Berry via Exist-open < exi...@li...> wrote: > Thanks for the tips. > > > On Jul 2, 2021, at 12:44 AM, Eduard Drenth <ed...@FR...> > wrote: > > > > When upgrading from 5.2 to 5.3 I had to do several things: > > > > - remove <dependency package="http://exist-db.org/apps/shared"/> from > expath-pkg.xml > > I don't appear to have had any of those. > > > - remove <fulltext default="none" attributes="false"/> from > collection.xconf > > Why, and where is that documented? I have some large collections that > will take a very long time to reindex, so I'd prefer to avoid it unless > it's absolutely necessary. > > > - change templating to http://exist-db.org/xquery/html-templating > > Ah, good. I had a lot of cases of: > > import module namespace templates="http://exist-db.org/xquery/templates" > ; > > that needed to be changed to: > > import module namespace templates=" > http://exist-db.org/xquery/html-templating"; > > That did get me past some problems. I could not find anything about it in > the release notes. > > > - change my conf.xml to be based on > https://github.com/eXist-db/exist/blob/eXist-5.3.0/exist-distribution/src/main/config/conf.xml > > What I have is identical to the one in the distribution except for the > memory settings I'd bumped up. > > > - fix some more strict variable types > > I also noticed that function overloads no longer work if two functions > with the same name have the same number of parameters, even if the data > types of the parameters are different. Luckily I wasn't actually using one > of the overloads I had so I was able to get rid of it. > > > Perhaps this helps, Eduard > > Some, yes. It still looks like there's a long slog ahead of me. Launcher > and Package Manager are still completely wedged even though I've applied > the fix here: > > <https://github.com/eXist-db/existdb-packageservice/pull/22> > > They still complain about "err:FODC0002 Resource icon.png does not exist." > > My own app crashes like so: > > URI: /exist/apps/shc/works/ > STATUS: 500 > MESSAGE: javax.servlet.ServletException: > javax.servlet.ServletException: An error occurred while processing request > to /exist/apps/shc/works/: An unknown error occurred: 'java.lang.Object > org.exist.source.Source.getKey()' > SERVLET: XQueryURLRewrite > CAUSED BY: javax.servlet.ServletException: > javax.servlet.ServletException: An error occurred while processing request > to /exist/apps/shc/works/: An unknown error occurred: 'java.lang.Object > org.exist.source.Source.getKey()' > CAUSED BY: javax.servlet.ServletException: An error occurred while > processing request to /exist/apps/shc/works/: An unknown error occurred: > 'java.lang.Object org.exist.source.Source.getKey()' > CAUSED BY: javax.servlet.ServletException: An unknown error occurred: > 'java.lang.Object org.exist.source.Source.getKey()' > CAUSED BY: java.lang.NoSuchMethodError: 'java.lang.Object > org.exist.source.Source.getKey()' > > The eXist log shows that this happens in a method called doPost line 571, > but I'm not sure that narrows it down much: > > 2021-07-02 14:44:42,405 [qtp1010347343-124] ERROR (EXistServlet.java > [doPost]:571) - java.lang.NoSuchMethodError: 'java.lang.Object > org.exist.source.Source.getKey()' > > I see that XQueryURLRewrite handles controller.xql (and now prefers > controller.xq). Are there any mandatory changes to my controller.xql? > > > > -----Original Message----- > > From: Craig Berry via Exist-open <exi...@li...> > > Reply-To: Craig Berry <cra...@ma...> > > To: Joe Wicentowski <jo...@gm...> > > Cc: exi...@li... ml < > exi...@li...> > > Subject: Re: [Exist-open] [ANN] Release of eXist 5.3.0 > > Date: Thu, 01 Jul 2021 18:29:47 -0500 > > > > > >> On Jul 1, 2021, at 4:58 PM, Joe Wicentowski < > >> jo...@gm... > >> > wrote: > >> > >> Hi Craig, > >> > >> Thanks for reporting your experience. We're tracking the Apple > installation experience issues at > >> https://github.com/eXist-db/exist/issues/3961 > >> . > > > > Thanks, I was reading that when your message came in. > > > >> > >> Several people have reported experiencing an issue where Dashboard > doesn't open after upgrading eXist unless you clear your cookies. (For me, > clearing the JSESSIONID cookie worked; I do this in Chrome by navigating to > Dashboard, opening View > Developer > Developer Tools > Application > > Cookies > > >> http://localhost:8080 > >> , selecting the JSESSIONID cookie, and hitting the delete key or using > right-click > Delete.) > >> > >> I don't think that's your issue, but I mentioned it just in case you do > see it (it has returned for some people who access multiple versions of > Dashboard in the same browser). > >> > >> In Slack, Christian Wittern reported an issue similar to yours. It > turned out to be caused by a custom package missing a repo.xml resource, a > condition that triggered a bug in the packageservice app. What allowed > Christian to overcome the problem was by modifying the > packages:get-package-meta() function in > /db/apps/packageservice/modules/packages.xqm module, lines 269-274, to read: > >> > >> try { > >> let $meta := repo:get-resource($app, $name) > >> return util:binary-to-string($meta) > >> } catch * { > >> util:log("warn", ("Could not get metadata for: ", $app, > $name)) > >> } > >> > >> Christian reported that this fixed the issue, and in Juri said he plans > to submit a PR with this fix. > > > > I tried that and the exception changed to: > > > > <exception> > > <path>/db/apps/packageservice/modules/local-apps.xql</path> > > <message>exerr:ERROR cannot convert xs:string('<?xml > version="1.0" encoding="UTF-8"?> > > <meta xmlns=" > > http://exist-db.org/xquery/repo"> > > ; > > <description>This package contains the HTML templating > library for eXist, which was previously part of the now deprecated > 'shared-resources'</description> > > <author>eXist-db Project</author> > > <website> > > https://github.com/eXist-db/templating</website> > > ; > > <status>stable</status> > > <license>LGPL-2.1</license> > > <copyright>true</copyright> > > <type>library</type> > > <deployed>2021-06-29T13:30:35.133-05:00</deployed> > > </meta>') to a node set [at line 149, column 27, source: > /db/apps/packageservice/modules/packages.xqm] > > In function: > > (item()*, item()*, item()*) > [148:18:/db/apps/packageservice/modules/packages.xqm] > > packages:scan-repo(function(*)) > [147:5:/db/apps/packageservice/modules/packages.xqm] > > packages:installed-apps(xs:string) > [118:19:/db/apps/packageservice/modules/packages.xqm] > > packages:get-local(xs:string) > [38:5:/db/apps/packageservice/modules/packages.xqm] > > packages:get-local-applications() > [16:6:/db/apps/packageservice/modules/packages.xqm]</message> > > </exception> > > > > As far as I can see, that doesn't tell me what, exactly, is using HTML > templating / shared-resources. Is there any guide related to migrating to > the new way of doing templating or is all of that supposed to be > API-compatible? > > > >> > > > >> Until a new version of packageservice is available, hopefully this > workaround will get you back up and running. You might also examine your > packages to look for a missing repo.xml file or possibly even other package > metadata files (e.g., expath-pkg.xml). > > > > I don't see any missing repo.xml or expath-pkg.xml files. > > > >> > >> Joe > >> > >> On Thu, Jul 1, 2021 at 5:19 PM Craig Berry via Exist-open < > >> exi...@li... > >> > wrote: > >> > >> > >>> On Jun 26, 2021, at 1:04 PM, Juri Leino < > >>> ju...@ex... > >>> > wrote: > >>> > >>> We are very happy to announce that eXist-db 5.3.0 has been released. > >>> > >>> It's been quite a while since the last release. A lot has been > happening behind the scenes, and we are happy to share the outcome with > you. 5.3.0 is a minor release, and should be 100% API compatible with > 5.0.0 as such. > >>> > >> > >> Thanks for all the hard work. I have run into some issues getting this > working and I'm reporting here rather than GitHub as it's unclear to me > whether the problems are in eXist, one of the new or revised packages, or > pilot error of some sort. > >> > >> I installed the DMG image on macOS 11.4, keeping an existing data > directory that's been running fine with 5.2.0. I did have to ignore a > warning about not being able to verify the identity of the publisher, which > I assume has something to do with not paying Apple to countersign the code > signing cert or something. That was readily ignorable, if initially > alarming. I bumped up some memory settings during the first start-up but > otherwise accepted the defaults. > >> > >> When I open the Dashboard from the menu bar and logged in, I didn't get > any application icons. I clicked on Package Manager in the left side menu > and got a "loading of available packages failed" message. At this point > the browser console shows a 404 error at this URL: > >> > >> > http://localhost:8080/exist/apps/dashboard/bower_components/web-animations-js/web-animations-next-lite.min.js.map > >> > >> > >> and a 400 error at this URL: > >> > >> http://localhost:8080/exist/apps/packageservice/packages/apps > >> > >> > >> the details of which look like this: > >> > >> <?xml version="1.0" ?> > >> <exception> > >> <path>/db/apps/packageservice/modules/local-apps.xql</path> > >> <message>err:FODC0002 Resource icon.png does not exist. [at line > 148, column 18, source: /db/apps/packageservice/modules/packages.xqm] > >> In function: > >> (item()*, item()*, item()*) > [148:18:/db/apps/packageservice/modules/packages.xqm] > >> packages:scan-repo(function(*)) > [147:5:/db/apps/packageservice/modules/packages.xqm] > >> packages:installed-apps(xs:string) > [118:19:/db/apps/packageservice/modules/packages.xqm] > >> packages:get-local(xs:string) > [38:5:/db/apps/packageservice/modules/packages.xqm] > >> packages:get-local-applications() > [16:6:/db/apps/packageservice/modules/packages.xqm]</message> > >> </exception> > >> > >> There is an icon.png at /db/apps/packageservice/icon.png, so I'm not > sure what it's confused about. In /db/apps/packageservice/expath-pkg.xml, > it says the version I have is 1.3.9 -- is that the right one? > >> > >> eXide seems to be working fine. I tried running the following in > eXide, which had no effect: > >> > >> import module namespace repair=" > >> http://exist-db.org/xquery/repo/repair > >> " > >> at "resource:org/exist/xquery/modules/expathrepo/repair.xql"; > >> > >> repair:clean-all(), > >> repair:repair() > >> > >> Any other ideas? > >> > >> > >> > >> ________________________________________ > >> Craig A. Berry > >> > >> "... getting out of a sonnet is much more > >> difficult than getting in." > >> Brad Leithauser > >> > >> > >> > >> _______________________________________________ > >> Exist-open mailing list > >> Exi...@li... > >> > >> https://lists.sourceforge.net/lists/listinfo/exist-open > >> > > > > ________________________________________ > > Craig A. Berry > > > > "... getting out of a sonnet is much more > > difficult than getting in." > > Brad Leithauser > > > > > > > > _______________________________________________ > > Exist-open mailing list > > Exi...@li... > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > -- > > Eduard Drenth, Software Architekt > > > > ed...@fr... > > > > Doelestrjitte 8 > > 8911 DX Ljouwert > > +31 58 234 30 47 > > +31 62 094 34 28 (privé) > > > > skype: eduarddrenth > > https://github.com/eduarddrenth > > frisian.eu > > gpg: https://pgp.surfnet.nl/pks/lookup?search=eduarddrenth > > > > > > Op freed bin ik thús/wurkje ik minder > > > > > > > > ________________________________________ > Craig A. Berry > > "... getting out of a sonnet is much more > difficult than getting in." > Brad Leithauser > > > > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > |