From: Craig B. <cra...@ma...> - 2021-07-02 21:28:00
|
> On Jul 2, 2021, at 3:28 PM, Joe Wicentowski <jo...@gm...> wrote: > > 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: [reversing the order because of course the one I tried first didn't work :-( ] > 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. This method failed like so: eXide: repo:remove("http://exist-db.org/apps/existdb-packageservice"), repo:install-and-deploy("http://exist-db.org/apps/existdb-packageservice", "https://exist-db.org/exist/apps/public-repo/find") exist.log: 2021-07-02 15:45:55,474 [qtp1010347343-205] INFO (Deploy.java [load]:298) - Retrieving package from https://exist-db.org/exist/apps/public-repo/find?name=http%3A%2F%2Fexist-db.org%2Fapps%2Fexistdb-packageservice&processor=5.3.0 2021-07-02 15:45:56,665 [qtp1010347343-205] ERROR (Deploy.java [installAndDeploy]:215) - Missing descriptor from package: file:///var/folders/gb/9qzz8hdm8xjf6c00r6_l9z000000gp/T/exist-db-temp-file-manager-10035086934229571473/exist-db-temp-9926608803405112051.tmp org.expath.pkg.repo.PackageException: Missing descriptor from package: file:///var/folders/gb/9qzz8hdm8xjf6c00r6_l9z000000gp/T/exist-db-temp-file-manager-10035086934229571473/exist-db-temp-9926608803405112051.tmp > 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). Hmm. I built 1.3.12 without incident. I uploaded it with eXide's File > Manage > Upload and left the "Auto deploy uploaded .xar packages" box checked. It uploaded successfully but did not deploy (I still had 1.3.9). However, I was able to manually install the uploaded file like so: repo:remove("http://exist-db.org/apps/existdb-packageservice"), repo:install-and-deploy-from-db("/db/packageservice-1.3.12.xar") So I now have 1.3.12 installed and Launcher and Package Manager are now working. Thanks! > 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 Thanks for all the help and explanations. My app is still crashing in XQueryURLRewrite, but I've probably caused enough trouble for one day :-). > > 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 ________________________________________ Craig A. Berry "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser |