You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(31) |
Nov
(25) |
Dec
(33) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(48) |
Feb
(62) |
Mar
(22) |
Apr
(29) |
May
(9) |
Jun
(45) |
Jul
(28) |
Aug
(41) |
Sep
(60) |
Oct
(96) |
Nov
(99) |
Dec
(70) |
| 2003 |
Jan
(98) |
Feb
(159) |
Mar
(164) |
Apr
(150) |
May
(143) |
Jun
(97) |
Jul
(184) |
Aug
(143) |
Sep
(207) |
Oct
(126) |
Nov
(159) |
Dec
(165) |
| 2004 |
Jan
(131) |
Feb
(229) |
Mar
(220) |
Apr
(212) |
May
(320) |
Jun
(223) |
Jul
(191) |
Aug
(390) |
Sep
(261) |
Oct
(229) |
Nov
(215) |
Dec
(184) |
| 2005 |
Jan
(221) |
Feb
(312) |
Mar
(336) |
Apr
(273) |
May
(359) |
Jun
(277) |
Jul
(303) |
Aug
(321) |
Sep
(256) |
Oct
(415) |
Nov
(428) |
Dec
(508) |
| 2006 |
Jan
(585) |
Feb
(419) |
Mar
(496) |
Apr
(296) |
May
(403) |
Jun
(404) |
Jul
(553) |
Aug
(296) |
Sep
(252) |
Oct
(416) |
Nov
(414) |
Dec
(245) |
| 2007 |
Jan
(354) |
Feb
(422) |
Mar
(389) |
Apr
(298) |
May
(397) |
Jun
(318) |
Jul
(315) |
Aug
(339) |
Sep
(253) |
Oct
(317) |
Nov
(350) |
Dec
(264) |
| 2008 |
Jan
(353) |
Feb
(313) |
Mar
(433) |
Apr
(383) |
May
(343) |
Jun
(355) |
Jul
(321) |
Aug
(338) |
Sep
(242) |
Oct
(206) |
Nov
(199) |
Dec
(279) |
| 2009 |
Jan
(327) |
Feb
(221) |
Mar
(280) |
Apr
(278) |
May
(237) |
Jun
(345) |
Jul
(322) |
Aug
(324) |
Sep
(676) |
Oct
(586) |
Nov
(735) |
Dec
(329) |
| 2010 |
Jan
(619) |
Feb
(424) |
Mar
(529) |
Apr
(241) |
May
(312) |
Jun
(554) |
Jul
(698) |
Aug
(576) |
Sep
(408) |
Oct
(268) |
Nov
(391) |
Dec
(426) |
| 2011 |
Jan
(629) |
Feb
(512) |
Mar
(465) |
Apr
(467) |
May
(475) |
Jun
(403) |
Jul
(426) |
Aug
(542) |
Sep
(418) |
Oct
(620) |
Nov
(614) |
Dec
(358) |
| 2012 |
Jan
(357) |
Feb
(466) |
Mar
(344) |
Apr
(215) |
May
(408) |
Jun
(375) |
Jul
(241) |
Aug
(260) |
Sep
(401) |
Oct
(461) |
Nov
(498) |
Dec
(294) |
| 2013 |
Jan
(453) |
Feb
(447) |
Mar
(434) |
Apr
(326) |
May
(295) |
Jun
(471) |
Jul
(463) |
Aug
(278) |
Sep
(525) |
Oct
(343) |
Nov
(389) |
Dec
(405) |
| 2014 |
Jan
(564) |
Feb
(324) |
Mar
(319) |
Apr
(319) |
May
(384) |
Jun
(259) |
Jul
(210) |
Aug
(219) |
Sep
(315) |
Oct
(478) |
Nov
(207) |
Dec
(316) |
| 2015 |
Jan
(222) |
Feb
(234) |
Mar
(201) |
Apr
(145) |
May
(367) |
Jun
(318) |
Jul
(195) |
Aug
(210) |
Sep
(234) |
Oct
(248) |
Nov
(217) |
Dec
(189) |
| 2016 |
Jan
(219) |
Feb
(177) |
Mar
(110) |
Apr
(91) |
May
(159) |
Jun
(124) |
Jul
(192) |
Aug
(119) |
Sep
(125) |
Oct
(64) |
Nov
(80) |
Dec
(68) |
| 2017 |
Jan
(156) |
Feb
(312) |
Mar
(386) |
Apr
(217) |
May
(89) |
Jun
(115) |
Jul
(79) |
Aug
(122) |
Sep
(100) |
Oct
(99) |
Nov
(129) |
Dec
(77) |
| 2018 |
Jan
(106) |
Feb
(78) |
Mar
(160) |
Apr
(73) |
May
(110) |
Jun
(160) |
Jul
(93) |
Aug
(92) |
Sep
(75) |
Oct
(147) |
Nov
(114) |
Dec
(97) |
| 2019 |
Jan
(141) |
Feb
(78) |
Mar
(158) |
Apr
(60) |
May
(123) |
Jun
(54) |
Jul
(44) |
Aug
(147) |
Sep
(117) |
Oct
(54) |
Nov
(74) |
Dec
(96) |
| 2020 |
Jan
(113) |
Feb
(125) |
Mar
(142) |
Apr
(57) |
May
(71) |
Jun
(99) |
Jul
(58) |
Aug
(81) |
Sep
(49) |
Oct
(50) |
Nov
(63) |
Dec
(37) |
| 2021 |
Jan
(37) |
Feb
(45) |
Mar
(39) |
Apr
(18) |
May
(14) |
Jun
(9) |
Jul
(44) |
Aug
(23) |
Sep
(13) |
Oct
(31) |
Nov
(13) |
Dec
(33) |
| 2022 |
Jan
(17) |
Feb
(8) |
Mar
(32) |
Apr
(7) |
May
(17) |
Jun
(7) |
Jul
(36) |
Aug
(29) |
Sep
(9) |
Oct
(20) |
Nov
(10) |
Dec
(1) |
| 2023 |
Jan
(30) |
Feb
(37) |
Mar
(23) |
Apr
(1) |
May
(14) |
Jun
(5) |
Jul
(3) |
Aug
(6) |
Sep
(5) |
Oct
(48) |
Nov
(4) |
Dec
(29) |
| 2024 |
Jan
(1) |
Feb
|
Mar
(21) |
Apr
(6) |
May
(16) |
Jun
(41) |
Jul
(11) |
Aug
(17) |
Sep
(16) |
Oct
(11) |
Nov
(3) |
Dec
(9) |
| 2025 |
Jan
(7) |
Feb
(7) |
Mar
(6) |
Apr
(6) |
May
(30) |
Jun
(8) |
Jul
(10) |
Aug
(4) |
Sep
(10) |
Oct
(32) |
Nov
(3) |
Dec
|
|
From: Alfredo C. <alf...@gm...> - 2021-07-24 17:03:38
|
Hi all, I'm working on eXist 4.7 The problem is: I have tre variables with XML code: let $var1 := <fileDesc> <sourceDesc> <msDesc> <physDesc> <objectDesc form=""/> </physDesc> </msDesc> </sourceDesc> </fileDesc> let var2 := <fileDesc> <sourceDesc> <msDesc> <msIdentifier> <idno/> </msIdentifier> </msDesc> </sourceDesc> </fileDesc> let var3 := <fileDesc> <titleStmt> <title/> </titleStmt> </fileDesc> How can I merge there 3 snapshots and obtain something like: <fileDesc> <titleStmt> <title/> </titleStmt> <sourceDesc> <msDesc> <physDesc> <objectDesc form=""/> </physDesc> <msIdentifier> <idno/> </msIdentifier> </msDesc> </sourceDesc> </fileDesc> Thanks, Alfredo |
|
From: Alessandro <ca...@tu...> - 2021-07-08 13:36:56
|
My fault, sorry. Alain has explained to me that it is all about an XSLTforms issue relative to Firefox... Cheers Alex -- Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: https://tutanota.com 8 lug 2021, 14:49 da exi...@li...: > Hi all! > I use the following chunck of code in order to insert links within a repeat (inside a table): > > <td style="width: 400px;"> > <xf:trigger submission="replace-form-with" appearance="minimal" class="url"> > <xf:label> > <xf:output class="url" ref="link-text"/> > </xf:label> > > <xf:hint> > <!-- <xf:output class="url" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/tr[index('files-repeat')]/link/link_file_name,'.',instance('files')/tr[index('files-repeat')]/link/link_estensione)" /> --> > > <xf:output class="url" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/files/file[index('files-repeat')]/link-file-name,'.',instance('files')/files/file[index('files-repeat')]/link-est)" /> > </xf:hint> > > <xf:action ev:event="DOMActivate"> > <xf:setvalue class="url" ref="instance('URL-container')" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/files/file[index('files-repeat')]/link-file-name,'.',instance('files')/files/file[index('files-repeat')]/link-est)" /> > > <xf:load ref="instance('URL-container')" /> > </xf:action> > </xf:trigger> > </td> > > By clicking on the trigger using exist-db 5.2 there's no problem, instead with 5.3 just installed I get this error message: "Schema for namespace undefined not defined for type string"... > Thanks > Alex > > -- > Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: > https://tutanota.com > |
|
From: Erik S. <er...@xa...> - 2021-07-08 13:17:58
|
On 4 and 5 November 2021, the third Declarative Amsterdam conference will take place at CWI, Science Park, Amsterdam. The conference focuses on the technologies and methods used for declarative programming and declarative data. Declarative programming (https://en.wikipedia.org/wiki/Declarative_programming) is a style of programming that expresses the logic of computation without describing its control flow. It allows you to focus on the 'what' of a program, rather than the 'how'. Declarative programs can be constructed in a fraction of the time, using much less code than a traditional computer program. Declarative methods for programming and data modelling can help avoid making the mistakes that have lead to failing software projects for several decades. Declarative Amsterdam will have presentations on past experiences, current trends and future perspectives in fields such as functional programming, declarative data modelling, databases, XML and related technologies, JSON, CSS, semantic web, data science, data visualization, grammars, parsing, and domain-specific languages. We anticipate by November that we will be able to hold the conference face-to-face, but either way, we are planning to broadcast live as well. The first day will feature tutorials, combining presentations and hands-on sessions to give an introduction to specific topics. The second day is a symposium, and will consist of shorter presentations. Speakers can discuss new ideas, frameworks, applications of declarative methods, and best practices. Call for Presentations We invite practitioners, software architects and engineers, academic researchers and others to submit a proposal for a tutorial or a presentation. Tutorials can be between 1.5 and 2.5 hours, and preferably include hands-on sessions for participants. Presentations on the second day can be between 20 and 45 minutes. We plan to create the possibility of online presentation via video. Proposals should at least include a title, duration and summary (90 - 200 words), but may also be a full paper. Speakers have the option of submitting a full paper or slides, to be published on the Declarative Amsterdam website. Please submit proposals here: https://declarative.amsterdam/submit?model=da-call-for-presentations Timeline Submission deadline: 31 July Acceptance: Beginning of September Conference: 4/5 November. For papers and topics from previous years, see the website: http://declarative.amsterdam/ |
|
From: Alessandro <ca...@tu...> - 2021-07-08 12:49:59
|
Hi all!
I use the following chunck of code in order to insert links within a repeat (inside a table):
<td style="width: 400px;">
<xf:trigger submission="replace-form-with" appearance="minimal" class="url">
<xf:label>
<xf:output class="url" ref="link-text"/>
</xf:label>
<xf:hint>
<!-- <xf:output class="url" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/tr[index('files-repeat')]/link/link_file_name,'.',instance('files')/tr[index('files-repeat')]/link/link_estensione)" /> -->
<xf:output class="url" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/files/file[index('files-repeat')]/link-file-name,'.',instance('files')/files/file[index('files-repeat')]/link-est)" />
</xf:hint>
<xf:action ev:event="DOMActivate">
<xf:setvalue class="url" ref="instance('URL-container')" value="concat('{$host}','exist/apps/DATI/', '{$trow_storage}','/',instance('files')/files/file[index('files-repeat')]/link-file-name,'.',instance('files')/files/file[index('files-repeat')]/link-est)" />
<xf:load ref="instance('URL-container')" />
</xf:action>
</xf:trigger>
</td>
By clicking on the trigger using exist-db 5.2 there's no problem, instead with 5.3 just installed I get this error message: "Schema for namespace undefined not defined for type string"...
Thanks
Alex
--
Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità:
https://tutanota.com
|
|
From: Wolfgang M. <wol...@ex...> - 2021-07-07 13:30:20
|
Hi Alessandro, eXide 3.0.0 replaces the component for the file grid (the previous one was terribly outdated, not maintained and a security risk). Unfortunately, we had reports that some browsers fail to properly reload the corresponding javascript bundle and require an explicit clearing of the cache in order to work again. So I would try a shift-reload and if this still fails, clear the cache. Wolfgang > Am 07.07.2021 um 14:17 schrieb Alessandro via Exist-open <exi...@li...>: > > Hi all! > As you can see from the attached pic, after installing exist-db 5.3.0 the included eXide version (3.0.0) seems to give some problems both with DB Manager and Open dialogs (dialog: I'm quite sure this is not the right English term, is it?). > > Not only it is a question of having all the columns displayed vertically, instead of horizontally within one column, causing a consequent overwriting of all the contents on each other, but in the DB Manager dialog it is also impossible to reach the subdirectories by clicking on the blue links, because as soon as one doulble-clicks on them, they are transformed into writable cells (something that by contrast does not happen within the Open dialog)... Quite unusable... > Thanks > Alex > > -- > Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: > https://tutanota.com > <db_manager.png>_______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open |
|
From: Alessandro <ca...@tu...> - 2021-07-07 12:36:40
|
Genau! Vielen Dank Wolfgang, a shift-reload fixed the problem... Alex -- Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: https://tutanota.com 7 lug 2021, 14:30 da wol...@ex...: > Hi Alessandro, > > eXide 3.0.0 replaces the component for the file grid (the previous one was terribly outdated, not maintained and a security risk). Unfortunately, we had reports that some browsers fail to properly reload the corresponding javascript bundle and require an explicit clearing of the cache in order to work again. So I would try a shift-reload and if this still fails, clear the cache. > > Wolfgang > > > >> Am 07.07.2021 um 14:17 schrieb Alessandro via Exist-open <exi...@li...>: >> >> Hi all! >> As you can see from the attached pic, after installing exist-db 5.3.0 the included eXide version (3.0.0) seems to give some problems both with DB Manager and Open dialogs (dialog: I'm quite sure this is not the right English term, is it?). >> >> Not only it is a question of having all the columns displayed vertically, instead of horizontally within one column, causing a consequent overwriting of all the contents on each other, but in the DB Manager dialog it is also impossible to reach the subdirectories by clicking on the blue links, because as soon as one doulble-clicks on them, they are transformed into writable cells (something that by contrast does not happen within the Open dialog)... Quite unusable... >> Thanks >> Alex >> >> -- >> Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: >> https://tutanota.com >> <db_manager.png>_______________________________________________ >> Exist-open mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-open >> |
|
From: Alessandro <ca...@tu...> - 2021-07-07 12:17:48
|
Hi all! As you can see from the attached pic, after installing exist-db 5.3.0 the included eXide version (3.0.0) seems to give some problems both with DB Manager and Open dialogs (dialog: I'm quite sure this is not the right English term, is it?). Not only it is a question of having all the columns displayed vertically, instead of horizontally within one column, causing a consequent overwriting of all the contents on each other, but in the DB Manager dialog it is also impossible to reach the subdirectories by clicking on the blue links, because as soon as one doulble-clicks on them, they are transformed into writable cells (something that by contrast does not happen within the Open dialog)... Quite unusable... Thanks Alex -- Inviato in modo sicuro con Tutanota. Ottieni la tua casella di posta elettronica crittografata e senza pubblicità: https://tutanota.com |
|
From: Alfredo C. <alf...@gm...> - 2021-07-07 11:42:01
|
Hi All,
thanks for your suggestions.
I moved from Finian approach to manage a somewhat more complex scenario.
With this function:
declare function local:elems($tkns as xs:string*, $pos as xs:integer) {
if ($tkns[$pos]) then
(
if(starts-with($tkns[$pos + 1], '@'))
then (
let $attr:=replace($tkns[$pos + 1],"@",'')
return
element {$tkns[$pos]} {attribute {$attr} {''},
local:elems($tkns, $pos + 2)}
)
else(
element {$tkns[$pos]} {local:elems($tkns, $pos + 1)}
)
)
else ()
};
I can manage this path for elements:
teiHeader/fileDesc/sourceDesc/msDesc/msIdentifier/idno
And this path for attributes:
teiHeader/fileDesc/sourceDesc/msDesc/physDesc/objectDesc/@form
They become:
<teiHeader>
<fileDesc>
<sourceDesc>
<msDesc>
<msIdentifier>
<idno/>
</msIdentifier>
</msDesc>
</sourceDesc>
</fileDesc>
</teiHeader>
and:
<teiHeader>
<fileDesc>
<sourceDesc>
<msDesc>
<physDesc>
<objectDesc form=""/>
</physDesc>
</msDesc>
</sourceDesc>
</fileDesc>
</teiHeader>
I have all the paths in a sequence so i can parse them:
for $path in $tei-paths
let $token:=tokenize($path, '/')
let $result:=local:elems($token, 1)
return
$result
*The problem is that I have to merge all the pieces before storing them in
a file*, the two xml fragments must become something like:
<teiHeader>
<fileDesc>
<sourceDesc>
<msDesc>
<msIdentifier>
<idno/>
</msIdentifier>
<physDesc>
<objectDesc form=""/>
</physDesc>
</msDesc>
</sourceDesc>
</fileDesc>
</teiHeader>
Thanks,
Alfredo
Il giorno mar 6 lug 2021 alle ore 17:29 Joe Wicentowski <jo...@gm...>
ha scritto:
> Hi Alfredo,
>
> It's always fun to see different approaches to the same problem. To add
> one more approach to the mix, this uses XQuery 3.0's fold-right() function
> (which has been available in eXist since v2.2+) and arrow operator
> (available since v3.1.0+):
>
> "teiHeader/fileDesc/titleStmt/title"
> => tokenize("/")
> => fold-right((), function($segment, $results) { element { $segment } {
> $results } })
>
> If you're not familiar with the arrow operator (
> https://www.w3.org/TR/xquery-3/#id-arrow-operator), you can use it to
> pipe the results of an expression into a follow-on function as its first
> parameter.
>
> On the final line, we use the fold-right function (
> https://www.w3.org/TR/xpath-functions-31/#func-fold-right) to take the
> path segments, from right-to-left, and cumulatively build up the element
> structure from innermost to outermost:
>
> title --> <title/>
> titleStmt --> <titleStmt><title/></titleStmt>
> fileDesc --> <fileDesc><titleStmt><title/></titleStmt></fileDesc>
> teiHeader -->
> <teiHeader><fileDesc><titleStmt><title/></titleStmt></fileDesc></teiHeader>
>
> The result:
>
> <teiHeader>
> <fileDesc>
> <titleStmt>
> <title/>
> </titleStmt>
> </fileDesc>
> </teiHeader>
>
> Another use of fold-right and discussion of this function is in my article
> on parsing Roman numerals:
> https://joewiz.org/2021/05/30/converting-roman-numerals-with-xquery-xslt/.
>
> Joe
>
> On Tue, Jul 6, 2021 at 5:26 AM Alfredo Cosco <alf...@gm...>
> wrote:
>
>> Hi all,
>> I'm working on eXist 4.7.
>> I have a string like this:
>> teiHeader/fileDesc/titleStmt/title
>>
>> Is there a way to transform it and store in a node like:
>> <teiHeader>
>> <fileDesc>
>> <titleStmt>
>> <title/>
>> <titleStmt>
>> </fileDesc>
>> </teiHeader>
>>
>> Thanks,
>> Alfredo
>> _______________________________________________
>> Exist-open mailing list
>> Exi...@li...
>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>
>
|
|
From: Joe W. <jo...@gm...> - 2021-07-06 15:29:49
|
Hi Alfredo,
It's always fun to see different approaches to the same problem. To add one
more approach to the mix, this uses XQuery 3.0's fold-right() function
(which has been available in eXist since v2.2+) and arrow operator
(available since v3.1.0+):
"teiHeader/fileDesc/titleStmt/title"
=> tokenize("/")
=> fold-right((), function($segment, $results) { element { $segment } {
$results } })
If you're not familiar with the arrow operator (
https://www.w3.org/TR/xquery-3/#id-arrow-operator), you can use it to pipe
the results of an expression into a follow-on function as its first
parameter.
On the final line, we use the fold-right function (
https://www.w3.org/TR/xpath-functions-31/#func-fold-right) to take the path
segments, from right-to-left, and cumulatively build up the element
structure from innermost to outermost:
title --> <title/>
titleStmt --> <titleStmt><title/></titleStmt>
fileDesc --> <fileDesc><titleStmt><title/></titleStmt></fileDesc>
teiHeader -->
<teiHeader><fileDesc><titleStmt><title/></titleStmt></fileDesc></teiHeader>
The result:
<teiHeader>
<fileDesc>
<titleStmt>
<title/>
</titleStmt>
</fileDesc>
</teiHeader>
Another use of fold-right and discussion of this function is in my article
on parsing Roman numerals:
https://joewiz.org/2021/05/30/converting-roman-numerals-with-xquery-xslt/.
Joe
On Tue, Jul 6, 2021 at 5:26 AM Alfredo Cosco <alf...@gm...>
wrote:
> Hi all,
> I'm working on eXist 4.7.
> I have a string like this:
> teiHeader/fileDesc/titleStmt/title
>
> Is there a way to transform it and store in a node like:
> <teiHeader>
> <fileDesc>
> <titleStmt>
> <title/>
> <titleStmt>
> </fileDesc>
> </teiHeader>
>
> Thanks,
> Alfredo
> _______________________________________________
> Exist-open mailing list
> Exi...@li...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>
|
|
From: Michael W. <wes...@ja...> - 2021-07-06 10:26:04
|
The return statement can be shortened to just:
return local:append-child($tokens)
Let it all be done in the function.
2021年7月6日(火) 19:19 Michael Westbay <wes...@ja...>:
> Hi Alfredo,
>
> This is a simple one, recursively adding the tokenized strings as the
> element names:
>
> xquery version "3.0";
>
> declare function local:append-child($tokens as xs:string*) as element()? {
> if (count($tokens) ge 1)
> then element {$tokens[1]} {
> local:append-child(subsequence($tokens, 2))
> }
> else ()
> };
>
> let $string := 'teiHeader/fileDesc/titleStmt/title'
> let $tokens := tokenize($string, '/')
> return element {$tokens[1]} {
> local:append-child(subsequence($tokens, 2))
> }
>
>
> Drop that into a new eXide XQuery and this is the result:
>
> [image: image.png]
>
>
> It helps to understand Functional Programming to really grasp XQuery. The
> pseudo-code version of the above is:
>
> - Declare a recursive function named local:append-child that takes an
> array of strings (0 or more) as the parameter
> - If there are any tokens, create an element names with the first
> string token
> - Append child elements starting with the second token
> - Otherwise, return the empty set
>
> The main part of the program is:
>
> - Assign "teiHeader/fileDesc/titleStmt/title" to $string
> - Break $string into tokens by dividing the string at each "/"
> - Create an element with the name of the first token
> - Append child elements starting with the second token
>
> Hope this helps give you an idea of how to approach this.
>
> Take care.
>
> 2021年7月6日(火) 18:26 Alfredo Cosco <alf...@gm...>:
>
>> Hi all,
>> I'm working on eXist 4.7.
>> I have a string like this:
>> teiHeader/fileDesc/titleStmt/title
>>
>> Is there a way to transform it and store in a node like:
>> <teiHeader>
>> <fileDesc>
>> <titleStmt>
>> <title/>
>> <titleStmt>
>> </fileDesc>
>> </teiHeader>
>>
>> Thanks,
>> Alfredo
>> _______________________________________________
>> Exist-open mailing list
>> Exi...@li...
>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>
>
>
> --
> Michael Westbay
> Writer/System Administrator
> http://www.japanesebaseball.com/
>
--
Michael Westbay
Writer/System Administrator
http://www.japanesebaseball.com/
|
|
From: Chris W. <kit...@gm...> - 2021-07-06 10:23:29
|
This works provided the steps are valid element names:
declare function local:path-to-tree($path) {
local:steps-to-tree(tokenize($path,"/"))
};
declare function local:steps-to-tree($steps) {
if (count($steps) = 0)
then ()
else
element {$steps[1]} {
local:steps-to-tree(subsequence($steps,2))
}
};
let $path := request:get-parameter("path",())
return local:path-to-tree($path)
On Tue, Jul 6, 2021 at 10:26 AM Alfredo Cosco <alf...@gm...>
wrote:
> Hi all,
> I'm working on eXist 4.7.
> I have a string like this:
> teiHeader/fileDesc/titleStmt/title
>
> Is there a way to transform it and store in a node like:
> <teiHeader>
> <fileDesc>
> <titleStmt>
> <title/>
> <titleStmt>
> </fileDesc>
> </teiHeader>
>
> Thanks,
> Alfredo
> _______________________________________________
> Exist-open mailing list
> Exi...@li...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>
|
|
From: Michael W. <wes...@ja...> - 2021-07-06 10:20:04
|
Hi Alfredo,
This is a simple one, recursively adding the tokenized strings as the
element names:
xquery version "3.0";
declare function local:append-child($tokens as xs:string*) as element()? {
if (count($tokens) ge 1)
then element {$tokens[1]} {
local:append-child(subsequence($tokens, 2))
}
else ()
};
let $string := 'teiHeader/fileDesc/titleStmt/title'
let $tokens := tokenize($string, '/')
return element {$tokens[1]} {
local:append-child(subsequence($tokens, 2))
}
Drop that into a new eXide XQuery and this is the result:
[image: image.png]
It helps to understand Functional Programming to really grasp XQuery. The
pseudo-code version of the above is:
- Declare a recursive function named local:append-child that takes an
array of strings (0 or more) as the parameter
- If there are any tokens, create an element names with the first
string token
- Append child elements starting with the second token
- Otherwise, return the empty set
The main part of the program is:
- Assign "teiHeader/fileDesc/titleStmt/title" to $string
- Break $string into tokens by dividing the string at each "/"
- Create an element with the name of the first token
- Append child elements starting with the second token
Hope this helps give you an idea of how to approach this.
Take care.
2021年7月6日(火) 18:26 Alfredo Cosco <alf...@gm...>:
> Hi all,
> I'm working on eXist 4.7.
> I have a string like this:
> teiHeader/fileDesc/titleStmt/title
>
> Is there a way to transform it and store in a node like:
> <teiHeader>
> <fileDesc>
> <titleStmt>
> <title/>
> <titleStmt>
> </fileDesc>
> </teiHeader>
>
> Thanks,
> Alfredo
> _______________________________________________
> Exist-open mailing list
> Exi...@li...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>
--
Michael Westbay
Writer/System Administrator
http://www.japanesebaseball.com/
|
|
From: Finian O'B. <fin...@gm...> - 2021-07-06 10:14:49
|
Hi Alfredo, This works on eXist 3.6.0 and eXist 5.2.0: declare namespace p = "http://example.org";declare option exist:serialize "indent=yes"; declare function p:elems($tkns as xs:string*, $pos as xs:integer) {if ($tkns[$pos]) thenelement {$tkns[$pos]} {p:elems($tkns, $pos + 1)}else ()}; let $str := 'teiHeader/fileDesc/titleStmt/title' let $tkns := tokenize($str, '/') return p:elems($tkns, 1) Finian On Tue, 2021-07-06 at 11:25 +0200, Alfredo Cosco wrote: > Hi all,I'm working on eXist 4.7. > I have a string like this: > teiHeader/fileDesc/titleStmt/title > > Is there a way to transform it and store in a node like: > <teiHeader> > <fileDesc> > <titleStmt> > <title/> > <titleStmt> > </fileDesc> > </teiHeader> > > > Thanks, > Alfredo > > _______________________________________________Exist-open mailing > lis...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open |
|
From: Alfredo C. <alf...@gm...> - 2021-07-06 09:26:12
|
Hi all,
I'm working on eXist 4.7.
I have a string like this:
teiHeader/fileDesc/titleStmt/title
Is there a way to transform it and store in a node like:
<teiHeader>
<fileDesc>
<titleStmt>
<title/>
<titleStmt>
</fileDesc>
</teiHeader>
Thanks,
Alfredo
|
|
From: Eduard D. <ed...@fr...> - 2021-07-03 07:15:17
|
On Fri, 2021-07-02 at 15:10 -0500, Craig Berry via Exist-open 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. This is the old fulltext index turned off, validation fails on this line in 5.3 > > - 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: 500MESSAGE: 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: > XQueryURLRewriteCAUSED 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.s > ervlet.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.s > ervlet.ServletException: An unknown error occurred: 'java.lang.Object > org.exist.source.Source.getKey()'CAUSED BY: java.lang.NoSuchMethodE > rror: '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.0Date: 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] package > > s:scan-repo(function(*)) > > [147:5:/db/apps/packageservice/modules/packages.xqm] package > > s:installed-apps(xs:string) > > [118:19:/db/apps/packageservice/modules/packages.xqm] package > > s:get-local(xs:string) > > [38:5:/db/apps/packageservice/modules/packages.xqm] package > > s:get-local-applications() > > [16:6:/db/apps/packageservice/modules/packages.xqm]</message></exce > > ption> > > 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] pack > > > ages:scan-repo(function(*)) > > > [147:5:/db/apps/packageservice/modules/packages.xqm] packa > > > ges:installed-apps(xs:string) > > > [118:19:/db/apps/packageservice/modules/packages.xqm] pack > > > ages:get-local(xs:string) > > > [38:5:/db/apps/packageservice/modules/packages.xqm] packag > > > es:get-local-applications() > > > [16:6:/db/apps/packageservice/modules/packages.xqm]</message></ex > > > ception> > > > 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 > > > lis...@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 > > lis...@li... > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > -- Eduard Drenth, Software Architekt > > ed...@fr... > > > > Doelestrjitte 88911 DX Ljouwert+31 58 234 30 47+31 62 094 34 28 > > (privé) > > skype: eduarddrenthhttps://github.com/eduarddrenth > > frisian.eugpg: > > 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 > lis...@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 |
|
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 |
|
From: Craig B. <cra...@ma...> - 2021-07-02 20:38:12
|
> On Jul 2, 2021, at 3:13 PM, Joe Wicentowski <jo...@GM...> wrote: > > Hi Craig, > > The problem with the snippet I provided was that it returned a string instead. I'm actually not sure how it worked for Christian. > > Instead, please try this one - copied from the PR where Juri and I have been working on a fix https://github.com/eXist-db/existdb-packageservice/pull/22: > > try { > repo:get-resource($app, $name) > => util:binary-to-string() > => parse-xml() > } catch * { > document { > <meta xmlns="http://exist-db.org/xquery/repo"> > <description>Invalid repo descriptor for app {$app}</description> > </meta> > } > } > > When the Dashboard Launcher tries to load an app's metadata and it fails this try-catch expression, the result in the Dashboard UI will be that the app does not appear in the listing of apps. Since this is a silent failure, I plan to add a log entry to exist.log indicating which app failed the check. > > I tried that. If I do that I get this exception: <exception> <path>/db/apps/packageservice/modules/local-apps.xql</path> <message> err:XPTY0004 document-node()( eXist-db HTML Templating Library http://exist-db.org/xquery/html-templating templates.xqm http://exist-db.org/xquery/html-templating/lib lib.xqm ) is not a sub-type of element() [at line 264, column 43, source: /db/apps/packageservice/modules/packages.xqm] In function: packages:get-package-meta(xs:string, xs:string) [257:24:/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> If I also remove the "as element(repo:meta)" return type from the function, I'm back to the "Resource icon.png does not exist" error. > > On Thu, Jul 1, 2021 at 7:29 PM Craig Berry <cra...@ma...> wrote: > > > > 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 > ________________________________________ Craig A. Berry "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser |
|
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 > |
|
From: Joe W. <jo...@gm...> - 2021-07-02 20:14:10
|
Hi Craig, The problem with the snippet I provided was that it returned a string instead. I'm actually not sure how it worked for Christian. Instead, please try this one - copied from the PR where Juri and I have been working on a fix https://github.com/eXist-db/existdb-packageservice/pull/22: try { repo:get-resource($app, $name) => util:binary-to-string() => parse-xml() } catch * { document { <meta xmlns="http://exist-db.org/xquery/repo"> <description>Invalid repo descriptor for app {$app}</description> </meta> } } When the Dashboard Launcher tries to load an app's metadata and it fails this try-catch expression, the result in the Dashboard UI will be that the app does not appear in the listing of apps. Since this is a silent failure, I plan to add a log entry to exist.log indicating which app failed the check. Joe On Thu, Jul 1, 2021 at 7:29 PM Craig Berry <cra...@ma...> wrote: > > > > 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 > > |
|
From: Craig B. <cra...@ma...> - 2021-07-02 20:10:49
|
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 |
|
From: Craig B. <cra...@ma...> - 2021-07-02 18:55:28
|
I should have said, I do the dashboard, eXide and such directly in Jetty on port 8443 (with firewall rules restricting access to that port). The only thing on port 443 is a single app proxied by Apache to localhost:8080. > On Jul 2, 2021, at 8:37 AM, Eduard Drenth <ed...@FR...> wrote: > > Thanks, tried to adapt your setup to /somecontext, for example: > > ProxyPass "/TEST/modellenhisgis" "http://host:port/exist" > ProxyPassReverse "/TEST/modellenhisgis" "http://host:port/exist" > > RewriteEngine on > RewriteRule ^/exist/(.*)$ /TEST/modellenhisgis/$1 [PT] > > AddOutputFilterByType SUBSTITUTE text/html > > Substitute "s|/exist/|/TEST/modellenhisgis/|n" > > But the /exist context is unwanted for me and logging in only works on /exist. > > So it looks one cannot (easily) run several exist-db instances behind different context paths with all functionality (exide, dashboar, package manager, monex, login,..) available. > > Looks like exist-db does some things using absolute paths instead of relative to context path. > > I may have to reconsider my setup > > Bye, Eduard > > -----Original Message----- > From: Craig Berry <cra...@ma...> > To: exi...@li... <exi...@li...> > Cc: dth...@ut... <dth...@ut...>, Eduard Drenth <ed...@FR...> > Subject: Re: [Exist-open] [Ext] apache reverse proxy > Date: Fri, 02 Jul 2021 06:24:35 -0500 > > I have a setup that looks like this: > > ProxyPass / > http://localhost:8080/exist/apps/appname/ > timeout=1200 > ProxyPassReverse / > http://localhost:8080/exist/apps/appname/ > timeout=1200 > > RewriteEngine on > RewriteRule ^/exist/apps/appname/(.*)$ /$1 [PT] > RewriteRule ^/(.*)$ /$1 [PT] > > AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html > > Substitute "s|/exist/apps/appname/|/|n" > > and that lets me run the "appname" app as if it were /. > >> On Jul 2, 2021, at 12:24 AM, Eduard Drenth < >> ed...@FR... >> > wrote: >> >> Thanks, the quotes don't solve the problem, your situation succeeds because you context path is /exist >> >> -----Original Message----- >> From: "Thomason, Donald B" < >> dth...@ut... >> > >> To: Eduard Drenth < >> ed...@fr... >> >, >> exi...@li... >> < >> exi...@li... >> > >> Subject: Re: [Ext] [Exist-open] apache reverse proxy >> Date: Thu, 01 Jul 2021 16:00:22 +0000 >> >> I have been able to do it without the quotes, e.g.: >> ProxyPass /exist >> http://ip:8080/exist >> >> ProxyPassReverse /exist >> http://ip:8080/exist >> >> >> >> <image001.png> >> >> Donald B. Thomason, Ph.D. >> Dean and Professor >> The University of Tennessee Health Science Center >> College of Graduate Health Sciences >> Suite 807, 920 Madison Ave >> Memphis, TN 38163 >> dth...@ut... >> >> t: +1 901.448.7224 >> https://grad.uthsc.edu >> >> >> >> From: Eduard Drenth < >> ed...@fr... >> > >> Date: Thursday, July 1, 2021 at 10:35 AM >> To: " >> exi...@li... >> " < >> exi...@li... >> > >> Subject: [Ext] [Exist-open] apache reverse proxy >> >> Dear all, >> >> I would like to run exist-db behind a certain path in apache, like so: >> >> ProxyPass "/TEST/modellenhisgis" " >> http://ip:port/exist >> " >> ProxyPassReverse "/TEST/modellenhisgis" " >> http://ip:port/exist >> " >> >> This fails because several request are made to /exist instead of to /TEST/modellenhisgis. >> >> The docs >> http://www.exist-db.org/exist/apps/doc/production_web_proxying.xml#sect-apache >> do not help because I do not have a virhost. >> >> Can I run exist behind a path? >> >> Regards, Eduard >> >> >> -- >> 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 >> >> >> >> -- >> 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 >> >> >> >> _______________________________________________ >> 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 > > -- > 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 |
|
From: Eduard D. <ed...@fr...> - 2021-07-02 13:38:07
|
Thanks, tried to adapt your setup to /somecontext, for example:
ProxyPass "/TEST/modellenhisgis" "http://host:port/exist"
ProxyPassReverse "/TEST/modellenhisgis" "http://host:port/exist"
RewriteEngine on
RewriteRule ^/exist/(.*)$ /TEST/modellenhisgis/$1 [PT]
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|/exist/|/TEST/modellenhisgis/|n"
But the /exist context is unwanted for me and logging in only works on
/exist.
So it looks one cannot (easily) run several exist-db instances behind
different context paths with all functionality (exide, dashboar,
package manager, monex, login,..) available.
Looks like exist-db does some things using absolute paths instead of
relative to context path.
I may have to reconsider my setup
Bye, Eduard
-----Original Message-----
From: Craig Berry <cra...@ma...>
To: exi...@li... <exi...@li...>
Cc: dth...@ut... <dth...@ut...>, Eduard Drenth <
ed...@FR...>
Subject: Re: [Exist-open] [Ext] apache reverse proxy
Date: Fri, 02 Jul 2021 06:24:35 -0500
I have a setup that looks like this:
ProxyPass / http://localhost:8080/exist/apps/appname/
timeout=1200 ProxyPassReverse / http://localhost:8080/exist/ap
ps/appname/ timeout=1200
RewriteEngine on RewriteRule ^/exist/apps/
appname/(.*)$ /$1 [PT] RewriteRule ^/(.*)$ /$1
[PT]
AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html
Substitute "s|/exist/apps/appname/|/|n"
and that lets me run the "appname" app as if it were /.
> On Jul 2, 2021, at 12:24 AM, Eduard Drenth <ed...@FR...
> > wrote:
> Thanks, the quotes don't solve the problem, your situation succeeds
> because you context path is /exist
> -----Original Message-----From: "Thomason, Donald B" <
> dth...@ut...>To: Eduard Drenth <ed...@fr...>,
> exi...@li... <exi...@li...>Su
> bject: Re: [Ext] [Exist-open] apache reverse proxyDate: Thu, 01 Jul
> 2021 16:00:22 +0000
> I have been able to do it without the quotes, e.g.:ProxyPass /exist
> http://ip:8080/exist
> ProxyPassReverse /exist http://ip:8080/exist
> <image001.png>
> Donald B. Thomason, Ph.D.Dean and ProfessorThe University of
> Tennessee Health Science CenterCollege of Graduate Health
> SciencesSuite 807, 920 Madison AveMemphis, TN
> 381...@ut...
> t: +1 901.448.7224https://grad.uthsc.edu
> From: Eduard Drenth <ed...@fr...>Date: Thursday, July
> 1, 2021 at 10:35 AMTo: "exi...@li..." <exist-
> op...@li...>Subject: [Ext] [Exist-open] apache reverse
> proxy Dear all, I would like to run exist-db behind a certain path in
> apache, like so: ProxyPass "/TEST/modellenhisgis" "
> http://ip:port/exist" ProxyPassReverse "/TEST/modellenhisgis"
> "http://ip:port/exist" This fails because several request are made to
> /exist instead of to /TEST/modellenhisgis. The docs
> http://www.exist-db.org/exist/apps/doc/production_web_proxying.xml#sect-apache
> do not help because I do not have a virhost. Can I run exist behind a
> path? Regards, Eduard -- Eduard Drenth, Software Architekt
> ed...@fr...
> Doelestrjitte 88911 DX Ljouwert+31 58 234 30 47+31 62 094 34 28
> (privé) skype: eduarddrenthhttps://github.com/eduarddrenth
> frisian.eugpg: https://pgp.surfnet.nl/pks/lookup?search=eduarddrenth
>
> Op freed bin ik thús/wurkje ik minder -- Eduard Drenth, Software
> Architekt
> ed...@fr...
>
> Doelestrjitte 88911 DX Ljouwert+31 58 234 30 47+31 62 094 34 28
> (privé)
> skype: eduarddrenthhttps://github.com/eduarddrenth
> frisian.eugpg: https://pgp.surfnet.nl/pks/lookup?search=eduarddrenth
>
>
> Op freed bin ik thús/wurkje ik minder
>
>
> _______________________________________________Exist-open mailing
> lis...@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
--
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
|
|
From: Craig B. <cra...@ma...> - 2021-07-02 11:24:51
|
I have a setup that looks like this:
ProxyPass / http://localhost:8080/exist/apps/appname/ timeout=1200
ProxyPassReverse / http://localhost:8080/exist/apps/appname/ timeout=1200
RewriteEngine on
RewriteRule ^/exist/apps/appname/(.*)$ /$1 [PT]
RewriteRule ^/(.*)$ /$1 [PT]
AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html
Substitute "s|/exist/apps/appname/|/|n"
and that lets me run the "appname" app as if it were /.
> On Jul 2, 2021, at 12:24 AM, Eduard Drenth <ed...@FR...> wrote:
>
> Thanks, the quotes don't solve the problem, your situation succeeds because you context path is /exist
>
> -----Original Message-----
> From: "Thomason, Donald B" <dth...@ut...>
> To: Eduard Drenth <ed...@fr...>, exi...@li... <exi...@li...>
> Subject: Re: [Ext] [Exist-open] apache reverse proxy
> Date: Thu, 01 Jul 2021 16:00:22 +0000
>
> I have been able to do it without the quotes, e.g.:
> ProxyPass /exist http://ip:8080/exist
> ProxyPassReverse /exist http://ip:8080/exist
>
>
> <image001.png>
>
> Donald B. Thomason, Ph.D.
> Dean and Professor
> The University of Tennessee Health Science Center
> College of Graduate Health Sciences
> Suite 807, 920 Madison Ave
> Memphis, TN 38163
> dth...@ut...
> t: +1 901.448.7224
> https://grad.uthsc.edu
>
>
> From: Eduard Drenth <ed...@fr...>
> Date: Thursday, July 1, 2021 at 10:35 AM
> To: "exi...@li..." <exi...@li...>
> Subject: [Ext] [Exist-open] apache reverse proxy
>
> Dear all,
>
> I would like to run exist-db behind a certain path in apache, like so:
>
> ProxyPass "/TEST/modellenhisgis" "http://ip:port/exist"
> ProxyPassReverse "/TEST/modellenhisgis" "http://ip:port/exist"
>
> This fails because several request are made to /exist instead of to /TEST/modellenhisgis.
>
> The docs http://www.exist-db.org/exist/apps/doc/production_web_proxying.xml#sect-apache do not help because I do not have a virhost.
>
> Can I run exist behind a path?
>
> Regards, Eduard
>
>
> --
> 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
>
>
>
> --
> 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
>
>
>
> _______________________________________________
> 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
|
|
From: Eduard D. <ed...@fr...> - 2021-07-02 05:45:00
|
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 - remove <fulltext default="none" attributes="false"/> from collection.xconf - change templating to http://exist-db.org/xquery/html-templating - 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 - fix some more strict variable types Perhaps this helps, Eduard -----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& gt;stable</status> <license>LGPL- 2.1</license> <copyright>true</copyright> & lt;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] package s:scan-repo(function(*)) [147:5:/db/apps/packageservice/modules/packages.xqm] package s:installed-apps(xs:string) [118:19:/db/apps/packageservice/modules/packages.xqm] package s: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></exceptio n> 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:g > et-local-applications() > [16:6:/db/apps/packageservice/modules/packages.xqm]</message></except > ion> > 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 > lis...@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 lis...@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 |
|
From: Eduard D. <ed...@fr...> - 2021-07-02 05:24:41
|
Thanks, the quotes don't solve the problem, your situation succeeds
because you context path is /exist
-----Original Message-----From: "Thomason, Donald B" <
dth...@ut...>To: Eduard Drenth <ed...@fr...>,
exi...@li... <exi...@li...>Subj
ect: Re: [Ext] [Exist-open] apache reverse proxyDate: Thu, 01 Jul 2021
16:00:22 +0000
<!--
/* Font Definitions */
@font-face
{font-family:Helvetica;
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Courier;
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Consolas",serif;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
p.p1, li.p1, div.p1
{mso-style-name:p1;
margin:0in;
background:#D7D3B7;
font-size:9.0pt;
font-family:Courier;
color:#3B2322;}
span.s1
{mso-style-name:s1;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
-->
I have been able to do it without the quotes, e.g.:
ProxyPass /exist http://ip:8080/exist
ProxyPassReverse /exist http://ip:8080/exist
Donald B. Thomason, Ph.D.
Dean and Professor
The University of Tennessee Health Science Center
College of Graduate Health Sciences
Suite 807, 920 Madison Ave
Memphis, TN 38163
dth...@ut...
t: +1 901.448.7224
https://grad.uthsc.edu
From: Eduard Drenth <ed...@fr...>
Date: Thursday, July 1, 2021 at 10:35 AM
To: "exi...@li..." <
exi...@li...>
Subject: [Ext] [Exist-open] apache reverse proxy
Dear all,
I would like to run exist-db behind a certain path in apache, like so:
ProxyPass "/TEST/modellenhisgis" "http://ip:port/exist"
ProxyPassReverse "/TEST/modellenhisgis" "http://ip:port/exist"
This fails because several request are made to /exist instead of to
/TEST/modellenhisgis.
The docs
http://www.exist-db.org/exist/apps/doc/production_web_proxying.xml#sect-apache
do not help because I do not have a virhost.
Can I run exist behind a path?
Regards, Eduard
--
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
--
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
|