You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(22) |
Nov
(85) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(47) |
Feb
(127) |
Mar
(268) |
Apr
(78) |
May
(47) |
Jun
(38) |
Jul
(131) |
Aug
(221) |
Sep
(187) |
Oct
(54) |
Nov
(111) |
Dec
(84) |
2011 |
Jan
(152) |
Feb
(106) |
Mar
(94) |
Apr
(90) |
May
(53) |
Jun
(20) |
Jul
(24) |
Aug
(37) |
Sep
(32) |
Oct
(70) |
Nov
(22) |
Dec
(15) |
2012 |
Jan
(33) |
Feb
(110) |
Mar
(24) |
Apr
(1) |
May
(11) |
Jun
(8) |
Jul
(12) |
Aug
(37) |
Sep
(39) |
Oct
(81) |
Nov
(38) |
Dec
(50) |
2013 |
Jan
(23) |
Feb
(53) |
Mar
(23) |
Apr
(5) |
May
(19) |
Jun
(16) |
Jul
(16) |
Aug
(9) |
Sep
(21) |
Oct
(1) |
Nov
(2) |
Dec
(8) |
2014 |
Jan
(16) |
Feb
(6) |
Mar
(27) |
Apr
(1) |
May
(10) |
Jun
(1) |
Jul
(4) |
Aug
(10) |
Sep
(19) |
Oct
(22) |
Nov
(4) |
Dec
(6) |
2015 |
Jan
(3) |
Feb
(6) |
Mar
(9) |
Apr
|
May
(11) |
Jun
(23) |
Jul
(14) |
Aug
(10) |
Sep
(10) |
Oct
(9) |
Nov
(18) |
Dec
(4) |
2016 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
(2) |
May
(15) |
Jun
(2) |
Jul
(8) |
Aug
(2) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(2) |
Feb
(12) |
Mar
(22) |
Apr
(6) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(5) |
Oct
(2) |
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(7) |
Oct
(19) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Wolfgang M. <wol...@ex...> - 2010-09-09 07:50:26
|
>> Dmitryi, would it be possible to keep the old method and map it to the >> new one transparently? > > It was done few weeks ago. Ok, using rev 12665, my Oxygen 11.0 works again. You just need to make sure you update the link to exist.jar in the preferences. Thanks for the quick fix. Wolfgang |
From: Dmitriy S. <sha...@gm...> - 2010-09-09 07:44:06
|
On Thu, 2010-09-09 at 09:09 +0200, Wolfgang Meier wrote: > I agree. Not all users can easily update Oxygen to the newest version. > Some of my users just get a pre-installed Oxygen. > > Dmitryi, would it be possible to keep the old method and map it to the > new one transparently? It was done few weeks ago. -- Cheers, Dmitriy Shabanov |
From: Dmitriy S. <sha...@gm...> - 2010-09-09 07:41:01
|
On Thu, 2010-09-09 at 10:03 +0300, George Cristian Bina wrote: > This issue was handled on our side in the oXygen 12 beta, using Java > reflection to test if the getUser method is available or not. Version > 11.2 of course tries to use the getUser method and will not work with > the new code. > > However, it would have been better is the > UserManagementService.getUser > was deprecated instead of being removed. I did put them as deprecated: http://exist.svn.sourceforge.net/exist/?rev=12624&view=rev Also, fix lockResource(Resource, User) issue by http://exist.svn.sourceforge.net/exist/?rev=12665&view=rev -- Cheers, Dmitriy Shabanov |
From: Wolfgang M. <wol...@ex...> - 2010-09-09 07:09:36
|
> However, it would have been better is the UserManagementService.getUser > was deprecated instead of being removed. I agree. Not all users can easily update Oxygen to the newest version. Some of my users just get a pre-installed Oxygen. Dmitryi, would it be possible to keep the old method and map it to the new one transparently? Wolfgang |
From: George C. B. <ge...@ox...> - 2010-09-09 07:03:08
|
This issue was handled on our side in the oXygen 12 beta, using Java reflection to test if the getUser method is available or not. Version 11.2 of course tries to use the getUser method and will not work with the new code. However, it would have been better is the UserManagementService.getUser was deprecated instead of being removed. Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 9/8/10 8:11 PM, Adam Retter wrote: > 2010/9/8 Jens Østergaard Petersen<oe...@gm...>: >> Hi Joe, >> >> I have been seeing this error for several weeks now (and so has my colleague). Checked out a totally fresh trunk today, and it was still the same. >> >> Are you suggesting that one should use the files from an early 1.5 (or 1.4) eXist in the Data Source definitions? Are there no problems with this? If there is a work-around, this should be posted to the open list. >> >> As Dmitriy says, there is no problems when using the oXygen 12 beta. > > I dont see the issue with current trunk on Mac OSX with oXygen 11.2 beta. > >> >> Tested on Mac OS X only with 12654. >> >> Jens >> >> >> On Sep 8, 2010, at 3:09 PM, Joe Wicentowski wrote: >> >>> Hi all, >>> >>> My experience with trunk recently is that oXygen's Database Explorer >>> can browse the database, but generates an error whenever I try to open >>> a document: >>> >>> [ Resource Opener ] - java.lang.NoSuchMethodError: >>> org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; >>> java.lang.NoSuchMethodError: >>> org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; >>> at ro.sync.db.nxd.exist.A.B(Unknown Source) >>> at ro.sync.exml.editor.T.V$25.A(Unknown Source) >>> at ro.sync.db.nxd.B.A(Unknown Source) >>> at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) >>> at ro.sync.ui.application.P.run(Unknown Source) >>> >>> I do not get this error when opening documents via File> Open URL. >>> >>> I recall Dmitriy saying: >>> >>>> TODO: >>> ... >>>> 3. make sure that old clients will work with new API, as example oXygen with old libs >>> >>> Is anyone else seeing this error? If so, I guess the workaround for >>> now is to avoid using trunk libraries for oXygen Data Source >>> definitions. >>> >>> Joe >>> >>> ------------------------------------------------------------------------------ >>> This SF.net Dev2Dev email is sponsored by: >>> >>> Show off your parallel programming skills. >>> Enter the Intel(R) Threading Challenge 2010. >>> http://p.sf.net/sfu/intel-thread-sfd >>> _______________________________________________ >>> Exist-development mailing list >>> Exi...@li... >>> https://lists.sourceforge.net/lists/listinfo/exist-development >> >> >> ------------------------------------------------------------------------------ >> This SF.net Dev2Dev email is sponsored by: >> >> Show off your parallel programming skills. >> Enter the Intel(R) Threading Challenge 2010. >> http://p.sf.net/sfu/intel-thread-sfd >> _______________________________________________ >> Exist-development mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-development >> > > > |
From: Adam R. <ad...@ex...> - 2010-09-08 17:12:04
|
2010/9/8 Jens Østergaard Petersen <oe...@gm...>: > Hi Joe, > > I have been seeing this error for several weeks now (and so has my colleague). Checked out a totally fresh trunk today, and it was still the same. > > Are you suggesting that one should use the files from an early 1.5 (or 1.4) eXist in the Data Source definitions? Are there no problems with this? If there is a work-around, this should be posted to the open list. > > As Dmitriy says, there is no problems when using the oXygen 12 beta. I dont see the issue with current trunk on Mac OSX with oXygen 11.2 beta. > > Tested on Mac OS X only with 12654. > > Jens > > > On Sep 8, 2010, at 3:09 PM, Joe Wicentowski wrote: > >> Hi all, >> >> My experience with trunk recently is that oXygen's Database Explorer >> can browse the database, but generates an error whenever I try to open >> a document: >> >> [ Resource Opener ] - java.lang.NoSuchMethodError: >> org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; >> java.lang.NoSuchMethodError: >> org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; >> at ro.sync.db.nxd.exist.A.B(Unknown Source) >> at ro.sync.exml.editor.T.V$25.A(Unknown Source) >> at ro.sync.db.nxd.B.A(Unknown Source) >> at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) >> at ro.sync.ui.application.P.run(Unknown Source) >> >> I do not get this error when opening documents via File > Open URL. >> >> I recall Dmitriy saying: >> >>> TODO: >> ... >>> 3. make sure that old clients will work with new API, as example oXygen with old libs >> >> Is anyone else seeing this error? If so, I guess the workaround for >> now is to avoid using trunk libraries for oXygen Data Source >> definitions. >> >> Joe >> >> ------------------------------------------------------------------------------ >> This SF.net Dev2Dev email is sponsored by: >> >> Show off your parallel programming skills. >> Enter the Intel(R) Threading Challenge 2010. >> http://p.sf.net/sfu/intel-thread-sfd >> _______________________________________________ >> Exist-development mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-development > > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Chris T. <chr...@gm...> - 2010-09-08 16:47:19
|
I see the same error: > [ Resource Opener ] - java.lang.NoSuchMethodError: org.exist.xmldb.UserManagementService.lockResource(Lorg/xmldb/api/base/Resource;Lorg/exist/security/User;)V > java.lang.NoSuchMethodError: org.exist.xmldb.UserManagementService.lockResource(Lorg/xmldb/api/base/Resource;Lorg/exist/security/User;)V > at ro.sync.db.nxd.exist.b.gd(Unknown Source) > at ro.sync.exml.editor.u.w$25.c(Unknown Source) > at ro.sync.db.nxd.c.be(Unknown Source) > at ro.sync.db.nxd.c$_f$1.rhg(Unknown Source) > at ro.sync.ui.application.r.run(Unknown Source) with: <oXygen/> XML Editor 11.2, build 2010080212 and the correct set of libs in oXygen from a build of trunk rev 12655. Regards, Chris On Sep 8, 2010, at 10:28 PM, Dmitriy Shabanov wrote: > On Wed, 2010-09-08 at 18:24 +0200, Jens Østergaard Petersen wrote: >> Hi Joe, >> >> I have been seeing this error for several weeks now (and so has my >> colleague). Checked out a totally fresh trunk today, and it was still >> the same. > > Did you replace libs with new one at oXygen side? > > -- > Cheers, > > Dmitriy Shabanov > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd_______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development |
From: Dmitriy S. <sha...@gm...> - 2010-09-08 16:42:59
|
On Wed, 2010-09-08 at 18:24 +0200, Jens Østergaard Petersen wrote: > Hi Joe, > > I have been seeing this error for several weeks now (and so has my > colleague). Checked out a totally fresh trunk today, and it was still > the same. Did you replace libs with new one at oXygen side? -- Cheers, Dmitriy Shabanov |
From: Jens Ø. P. <oe...@gm...> - 2010-09-08 16:25:18
|
Hi Joe, I have been seeing this error for several weeks now (and so has my colleague). Checked out a totally fresh trunk today, and it was still the same. Are you suggesting that one should use the files from an early 1.5 (or 1.4) eXist in the Data Source definitions? Are there no problems with this? If there is a work-around, this should be posted to the open list. As Dmitriy says, there is no problems when using the oXygen 12 beta. Tested on Mac OS X only with 12654. Jens On Sep 8, 2010, at 3:09 PM, Joe Wicentowski wrote: > Hi all, > > My experience with trunk recently is that oXygen's Database Explorer > can browse the database, but generates an error whenever I try to open > a document: > > [ Resource Opener ] - java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > at ro.sync.db.nxd.exist.A.B(Unknown Source) > at ro.sync.exml.editor.T.V$25.A(Unknown Source) > at ro.sync.db.nxd.B.A(Unknown Source) > at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) > at ro.sync.ui.application.P.run(Unknown Source) > > I do not get this error when opening documents via File > Open URL. > > I recall Dmitriy saying: > >> TODO: > ... >> 3. make sure that old clients will work with new API, as example oXygen with old libs > > Is anyone else seeing this error? If so, I guess the workaround for > now is to avoid using trunk libraries for oXygen Data Source > definitions. > > Joe > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development |
From: Dmitriy S. <sha...@gm...> - 2010-09-08 14:43:01
|
Hi Joe, What revision do you use? I did try beta oXygen 12.0 & make it work with trunk rev 12624 ( http://exist.svn.sourceforge.net/exist/?rev=12624&view=rev ) -- Cheers, Dmitriy Shabanov On Wed, 2010-09-08 at 09:09 -0400, Joe Wicentowski wrote: > Hi all, > > My experience with trunk recently is that oXygen's Database Explorer > can browse the database, but generates an error whenever I try to open > a document: > > [ Resource Opener ] - java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > at ro.sync.db.nxd.exist.A.B(Unknown Source) > at ro.sync.exml.editor.T.V$25.A(Unknown Source) > at ro.sync.db.nxd.B.A(Unknown Source) > at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) > at ro.sync.ui.application.P.run(Unknown Source) > > I do not get this error when opening documents via File > Open URL. > > I recall Dmitriy saying: > > > TODO: > ... > > 3. make sure that old clients will work with new API, as example oXygen with old libs > > Is anyone else seeing this error? If so, I guess the workaround for > now is to avoid using trunk libraries for oXygen Data Source > definitions. > > Joe |
From: Adam R. <ad...@ex...> - 2010-09-08 13:44:26
|
Hey Joe, How recent is your trunk experience? It seems to work okay here for me... On 8 September 2010 14:09, Joe Wicentowski <jo...@gm...> wrote: > Hi all, > > My experience with trunk recently is that oXygen's Database Explorer > can browse the database, but generates an error whenever I try to open > a document: > > [ Resource Opener ] - java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > java.lang.NoSuchMethodError: > org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; > at ro.sync.db.nxd.exist.A.B(Unknown Source) > at ro.sync.exml.editor.T.V$25.A(Unknown Source) > at ro.sync.db.nxd.B.A(Unknown Source) > at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) > at ro.sync.ui.application.P.run(Unknown Source) > > I do not get this error when opening documents via File > Open URL. > > I recall Dmitriy saying: > >> TODO: > ... >> 3. make sure that old clients will work with new API, as example oXygen with old libs > > Is anyone else seeing this error? If so, I guess the workaround for > now is to avoid using trunk libraries for oXygen Data Source > definitions. > > Joe > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Joe W. <jo...@gm...> - 2010-09-08 13:09:34
|
Hi all, My experience with trunk recently is that oXygen's Database Explorer can browse the database, but generates an error whenever I try to open a document: [ Resource Opener ] - java.lang.NoSuchMethodError: org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; java.lang.NoSuchMethodError: org.exist.xmldb.UserManagementService.getUser(Ljava/lang/String;)Lorg/exist/security/User; at ro.sync.db.nxd.exist.A.B(Unknown Source) at ro.sync.exml.editor.T.V$25.A(Unknown Source) at ro.sync.db.nxd.B.A(Unknown Source) at ro.sync.db.nxd.B$_E$1.Ե(Unknown Source) at ro.sync.ui.application.P.run(Unknown Source) I do not get this error when opening documents via File > Open URL. I recall Dmitriy saying: > TODO: ... > 3. make sure that old clients will work with new API, as example oXygen with old libs Is anyone else seeing this error? If so, I guess the workaround for now is to avoid using trunk libraries for oXygen Data Source definitions. Joe |
From: Lars W. <win...@gm...> - 2010-09-08 12:02:59
|
Hi list, I'm from the betterFORM project and work with Joern on the bf integration into eXist. My problem is that the xforms documentation within eXist does not come up. The problem seems to be that the path to the db2xhtml.xsl Stylesheet is wrong (/Users/betterFORM/eXist/webapp/xforms/stylesheets/db2xhtml.xsl instead of /Users/betterFORM/eXist/webapp/stylesheets/db2xhtml.xsl). Has anyone a hint for me where I can fix this? For testing I tried to write the correct absolute path into ../webapp/xforms/controller.xql but this didn't work out :-( Any suggestions? Thanx Lars -- Twitter: http://twitter.com/windauer Skype: windauer Jabber: win...@gm... |
From: Jason S. <js...@in...> - 2010-09-07 16:00:20
|
I was thinking about remote/local too. That is certainly something that could be done with just a little planning. Where is the best documentation on the Fluent API? I guess I should take a look. I didn't use it originally because when I started this, Fluent was in its infancy... :-) -----Original Message----- From: Eugene Marcotte [mailto:eu...@em...] Sent: Tuesday, September 07, 2010 4:17 AM To: Jason Smith Subject: Re: [Exist-development] Moving towards a new API Hi, JSR 225 was the "XQuery API for Java (XQJ)" project. http://www.jcp.org/en/jsr/detail?id=225 I looked at it a couple months ago and thought it was mostly too much like JDBC to be a useful XMLDB-API replacement. I really do like the XMLDB-API's approach, especially because it works both remote and local. If it was a tad more up-to-date -- e.g. more like the fluent API it'd be even better! Eugene (an exist-devel lurker) On 9/3/2010 10:38 PM, Jason Smith wrote: > We talked on Thursday about a new API that would be more powerful than existing APIs and provide a wrapper for the internal API. > > After thinking about this some more, I'd like to consider the XMLDB-API model. There is a lot that is right about the XMLDB wrapper. It has pretty good collection and resource facilities, and it can be used to access large data sets in a "sequence"-like manner. > > I think where XMLDB falls down is around standardization. The XMLDB standard was designed in the days when an XML database could do XPath 1.0. It can't fully support the XQuery standard without significant changes. It can't be extended to do some of the things that eXist does specifically. XMLDB as a standard seems kind of dead at this point anyway. > > Just one example - this email is getting too long... I can't use XMLDB to return a Sequence of xs:dateTime, which I then pass as a parameter to another XQuery. XMLDB only deals with string output, and the set of input types is very limited. > > > > So right now, I am thinking about an API that would aspire to replace the XMLDB API in Exist. I think it should also hide (wrap) the current locking and transaction mechanisms (since these are bound to change in the next year or two). > > It would not be based on any standard, but would be designed to provide maximally simple and powerful access to as much of the internal API as possible, and to be easy to extend as new features become available. > > If we do it right, we could also make this a cross-platform API (supporting languages other than Java), kind of like the REST API today, but targeted to language APIs. > > Does this sound like a good path to start down? Different ideas? > > BTW, I know there is a JSR that covers an XML database API somewhere out there, or one was in work... I looked at it a long time ago, and it did not seem all that applicable. Is there any interest in that API, and if so, can someone point me to a link? I seem to be having trouble finding it again. > > Thanks! > > -Jason S. > > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development |
From: Dannes W. <da...@ex...> - 2010-09-06 19:52:54
|
AFAICR the xmlrpc interface uses Basic Authentication (deep down) to do the authentication On 6 Sep 2010, at 21:39 , Loren Cahlander wrote: > I have not gotten any feedback on this. Can someone take a look at this and give me a suggestion as to how to get the name of the authenticated XML-RPC user from the filter so that I can exclude guest access? Kind regards Dannes -- eXist-db Native XML Database - http://exist-db.org Join us on linked-in: http://www.linkedin.com/groups?gid=35624 |
From: Loren C. <lor...@gm...> - 2010-09-06 19:39:47
|
Hello, I have not gotten any feedback on this. Can someone take a look at this and give me a suggestion as to how to get the name of the authenticated XML-RPC user from the filter so that I can exclude guest access? Thank you, Loren On Sep 3, 2010, at 11:51 AM, Loren Cahlander wrote: Hello, I created the following filter class to not allow a guest user access to the database through WebDAV or XML-RPC. I have the WebDAV filter part working. It also forces access to WebDAV through SSL. I know that doing this through a proxy like Apache is better, but that is currently not an option. It will be in the future, however that does not help with now. This filter needs to locate the username for an XML-RPC request. Here is the code as it stands. Can someone help me find the user? Thank you, Loren ============================== package org.exist.http.filter; import org.apache.log4j.Logger; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.Enumeration; /** * Created by IntelliJ IDEA. * User: lcahlander * Date: Aug 24, 2010 * Time: 2:06:13 PM * To change this template use File | Settings | File Templates. */ public class GuestFilter implements Filter { private final static Logger LOG = Logger.getLogger(GuestFilter.class); private String sslPort = null; private FilterConfig filterConfig = null; public void init(FilterConfig filterConfig) throws ServletException { LOG.info("Starting GuestFilter"); setFilterConfig(filterConfig); } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest; HttpServletResponse httpServletResponse; if (servletRequest instanceof HttpServletRequest) { httpServletRequest = (HttpServletRequest)servletRequest; httpServletResponse = (HttpServletResponse)servletResponse; LOG.info("HTTP Servlet Request confirmed"); } else { LOG.info("Servlet Request confirmed"); filterChain.doFilter(servletRequest, servletResponse); return; } String username = httpServletRequest.getRemoteUser(); String requestURI = httpServletRequest.getRequestURI().trim(); String sessionID = httpServletRequest.getRequestedSessionId(); HttpSession session = httpServletRequest.getSession(false); if (session != null) { LOG.info("session: " + session.toString()); Enumeration enumeration = session.getAttributeNames(); while (enumeration.hasMoreElements()) { String key = (String) enumeration.nextElement(); Object value = session.getAttribute(key); LOG.info("session attribute [" + key + "][" + value.toString() + "]"); if (key.equalsIgnoreCase("_eXist_xmldb_user")) { username = ((org.exist.security.internal.SubjectImpl)value).getUsername(); LOG.info("username [" + username + "]"); } } } else { LOG.info("No valid session"); } LOG.info("username [" + username + "]"); LOG.info("requestURI [" + requestURI + "]"); if (requestURI.indexOf("/webdav/") >= 0) { if (username != null && username.equalsIgnoreCase("guest")) { LOG.info("Permission denied to : " + requestURI); httpServletResponse.sendError(HttpServletResponse.SC_FORBIDDEN); } else if (!httpServletRequest.isSecure()) { String serverName = httpServletRequest.getServerName(); String path = httpServletRequest.getRequestURI(); String newpath = "https://" + serverName + ":" + sslPort + path; LOG.info("Redirecting to SSL: " + newpath); httpServletResponse.sendRedirect(newpath); } else if (httpServletRequest.isSecure()) { LOG.info("Request is appropriate"); filterChain.doFilter(servletRequest, servletResponse); } return; } else if (requestURI.indexOf("/xmlrpc") >= 0) { if (username != null && username.equalsIgnoreCase("guest")) { LOG.info("Permission denied to : " + requestURI); httpServletResponse.sendError(HttpServletResponse.SC_FORBIDDEN); } else { LOG.info("Request is appropriate"); filterChain.doFilter(servletRequest, servletResponse); } return; } filterChain.doFilter(servletRequest, servletResponse); } public void destroy() { LOG.info("Ending GuestFilter"); } public FilterConfig getFilterConfig() { return filterConfig; } public void setFilterConfig(FilterConfig filterConfig) { this.filterConfig = filterConfig; Enumeration initParams = filterConfig.getInitParameterNames(); if (initParams != null) { sslPort = "443"; while (initParams.hasMoreElements()) { String name = (String) initParams.nextElement(); String value = filterConfig.getInitParameter(name); LOG.info("Parameter [" + name + "][" + value + "]"); if (name.equalsIgnoreCase("sslport")) { sslPort = value; } } } } } ============================== Here is the log data ============================== 03 Sep 2010 08:53:56,559 [eXistThread-21] INFO (GuestFilter.java [doFilter]:39) - HTTP Servlet Request confirmed 03 Sep 2010 08:53:56,559 [eXistThread-21] INFO (GuestFilter.java [doFilter]:53) - session: org.eclipse.jetty.server.session.HashSessionManager$Session:1jmqsoqvlhxyy10aoi9gh5pbb0@1787753557 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:69) - username [null] 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:70) - requestURI [/xmlrpc] 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:92) - Request is appropriate ============================== |
From: Adam R. <ad...@ex...> - 2010-09-06 13:46:50
|
Okay I have managed to get around to finally fixing the issues I was experiencing. The problem was not with the server name itself. I use nginx as my reverse proxy and I can configure nginx to correctly pass the server name directly to eXist in the proxied request by setting - proxy_set_header Host $host; There was then an issue with the server-name checks you can setup in controller-config.xml when searching for controller.xql files. I have now fixed these as revision 12650. Cheers Adam. -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb 2010/6/15 José María Fernández González <jm...@us...>: > Hi Adam, > I think HTTP header X-Forwarded-For is not the one you need. It is > attached and updated by proxies (it can contain more than one address), and > it contains the host names or IP addresses from the sender or senders of the > request (the original machine plus the previous crossed proxies in the query > journey). <offtopic>But, if the proxy attaches the IP address instead of the > DNS name, and multiple DNS names resolve to the same IP address, you are > busted.</offtopic> > > As Dannes has written, you should read more on > http://httpd.apache.org/docs/2.2/mod/mod_proxy.html . There you can find the > header you probably need, which is X-Forwarded-Host . But as I don't know > its behavior, I cannot give you more details. > > Good luck! > José María > > On 06/15/10 08:13, Dannes Wessels wrote: >> >> Hi, >> >> On Tue, Jun 15, 2010 at 12:14 AM, Adam Retter<ad...@ex...> wrote: >> >>> There may be other aspects of the URL that we may want to make >>> configurable if you are running behind a reverse proxy? >> >> This has been on my list quite some time... good to see that others >> have the same issue as well. I guess the issue is much broader, in the >> 'request' function-namespace there are a few functions affected by the >> same subject... and the webstart functionality as well. >> >> Probably it should be an database wide configuration item. >> >> Please read the 'specs' carefully... there are a few implementations >> that do approximately the same. E.g. >> http://en.wikipedia.org/wiki/X-Forwarded-For >> >> You cannot use the header right away, it must be parsed first (take >> first item of list? or last?) >> >> read more on http://httpd.apache.org/docs/2.2/mod/mod_proxy.html >> (revere proxy headers), there are a few more headers you could >> check...... be aware of that! >> >> cheers >> >> Dannes >> >> >> > > -- > "La violencia es el último recurso del incompetente" > - Salvor Hardin en "La Fundación" de Isaac Asimov > "Premature optimization is the root of all evil." - Donald Knuth > > José María Fernández González > e-mail: jos...@gm... > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Dmitriy S. <sha...@gm...> - 2010-09-04 16:48:26
|
On Fri, 2010-09-03 at 11:51 -0500, Loren Cahlander wrote: > > This filter needs to locate the username for an XML-RPC request. Here > is the code as it stands. Can someone help me find the user? Do you need guest account? You can lock it by removing password attribute (current time solution) -- Cheers, Dmitriy Shabanov |
From: Evgeny G. <gaz...@gm...> - 2010-09-04 11:31:10
|
I'm not sure that this is right solution. But so expression.reset() phase for recursive functions calls not depending from number of calls. Index: src/org/exist/xquery/FunctionCall.java =================================================================== --- src/org/exist/xquery/FunctionCall.java (revision 12630) +++ src/org/exist/xquery/FunctionCall.java (working copy) @@ -124,6 +124,7 @@ super.analyze(newContextInfo); if (context.tailRecursiveCall(functionDef.getSignature())) { isRecursive = true; + functionDef.inRecursion = true; } context.functionStart(functionDef.getSignature()); try { Index: src/org/exist/xquery/UserDefinedFunction.java =================================================================== --- src/org/exist/xquery/UserDefinedFunction.java (revision 12630) +++ src/org/exist/xquery/UserDefinedFunction.java (working copy) @@ -44,7 +44,7 @@ private DocumentSet[] contextDocs = null; - private boolean inRecursion = false; + protected boolean inRecursion = false; private boolean bodyAnalyzed = false; @@ -192,10 +192,10 @@ // Question: understand this test. Why not reset even is not in recursion ? // Answer: would lead to an infinite loop if the function is recursive. if(!inRecursion) { - inRecursion = true; - bodyAnalyzed = false; + //inRecursion = true; + //bodyAnalyzed = false; body.resetState(postOptimization); - inRecursion = false; + //inRecursion = false; } if (!postOptimization) { currentArguments = null; =================================================================== -- Evgeny |
From: Evgeny G. <gaz...@gm...> - 2010-09-04 09:50:37
|
The XQuery like: declare function local:eval($x){ for $i in $x return ( local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()) ) }; have a performance regression during optimization too. See lines 1691 in XQueryContext.java -- Evgeny |
From: Jason S. <js...@in...> - 2010-09-04 02:40:17
|
We talked on Thursday about a new API that would be more powerful than existing APIs and provide a wrapper for the internal API. After thinking about this some more, I'd like to consider the XMLDB-API model. There is a lot that is right about the XMLDB wrapper. It has pretty good collection and resource facilities, and it can be used to access large data sets in a "sequence"-like manner. I think where XMLDB falls down is around standardization. The XMLDB standard was designed in the days when an XML database could do XPath 1.0. It can't fully support the XQuery standard without significant changes. It can't be extended to do some of the things that eXist does specifically. XMLDB as a standard seems kind of dead at this point anyway. Just one example - this email is getting too long... I can't use XMLDB to return a Sequence of xs:dateTime, which I then pass as a parameter to another XQuery. XMLDB only deals with string output, and the set of input types is very limited. So right now, I am thinking about an API that would aspire to replace the XMLDB API in Exist. I think it should also hide (wrap) the current locking and transaction mechanisms (since these are bound to change in the next year or two). It would not be based on any standard, but would be designed to provide maximally simple and powerful access to as much of the internal API as possible, and to be easy to extend as new features become available. If we do it right, we could also make this a cross-platform API (supporting languages other than Java), kind of like the REST API today, but targeted to language APIs. Does this sound like a good path to start down? Different ideas? BTW, I know there is a JSR that covers an XML database API somewhere out there, or one was in work... I looked at it a long time ago, and it did not seem all that applicable. Is there any interest in that API, and if so, can someone point me to a link? I seem to be having trouble finding it again. Thanks! -Jason S. |
From: Loren C. <lor...@gm...> - 2010-09-03 16:51:19
|
Hello, I created the following filter class to not allow a guest user access to the database through WebDAV or XML-RPC. I have the WebDAV filter part working. It also forces access to WebDAV through SSL. I know that doing this through a proxy like Apache is better, but that is currently not an option. It will be in the future, however that does not help with now. This filter needs to locate the username for an XML-RPC request. Here is the code as it stands. Can someone help me find the user? Thank you, Loren ============================== package org.exist.http.filter; import org.apache.log4j.Logger; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.Enumeration; /** * Created by IntelliJ IDEA. * User: lcahlander * Date: Aug 24, 2010 * Time: 2:06:13 PM * To change this template use File | Settings | File Templates. */ public class GuestFilter implements Filter { private final static Logger LOG = Logger.getLogger(GuestFilter.class); private String sslPort = null; private FilterConfig filterConfig = null; public void init(FilterConfig filterConfig) throws ServletException { LOG.info("Starting GuestFilter"); setFilterConfig(filterConfig); } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest; HttpServletResponse httpServletResponse; if (servletRequest instanceof HttpServletRequest) { httpServletRequest = (HttpServletRequest)servletRequest; httpServletResponse = (HttpServletResponse)servletResponse; LOG.info("HTTP Servlet Request confirmed"); } else { LOG.info("Servlet Request confirmed"); filterChain.doFilter(servletRequest, servletResponse); return; } String username = httpServletRequest.getRemoteUser(); String requestURI = httpServletRequest.getRequestURI().trim(); String sessionID = httpServletRequest.getRequestedSessionId(); HttpSession session = httpServletRequest.getSession(false); if (session != null) { LOG.info("session: " + session.toString()); Enumeration enumeration = session.getAttributeNames(); while (enumeration.hasMoreElements()) { String key = (String) enumeration.nextElement(); Object value = session.getAttribute(key); LOG.info("session attribute [" + key + "][" + value.toString() + "]"); if (key.equalsIgnoreCase("_eXist_xmldb_user")) { username = ((org.exist.security.internal.SubjectImpl)value).getUsername(); LOG.info("username [" + username + "]"); } } } else { LOG.info("No valid session"); } LOG.info("username [" + username + "]"); LOG.info("requestURI [" + requestURI + "]"); if (requestURI.indexOf("/webdav/") >= 0) { if (username != null && username.equalsIgnoreCase("guest")) { LOG.info("Permission denied to : " + requestURI); httpServletResponse.sendError(HttpServletResponse.SC_FORBIDDEN); } else if (!httpServletRequest.isSecure()) { String serverName = httpServletRequest.getServerName(); String path = httpServletRequest.getRequestURI(); String newpath = "https://" + serverName + ":" + sslPort + path; LOG.info("Redirecting to SSL: " + newpath); httpServletResponse.sendRedirect(newpath); } else if (httpServletRequest.isSecure()) { LOG.info("Request is appropriate"); filterChain.doFilter(servletRequest, servletResponse); } return; } else if (requestURI.indexOf("/xmlrpc") >= 0) { if (username != null && username.equalsIgnoreCase("guest")) { LOG.info("Permission denied to : " + requestURI); httpServletResponse.sendError(HttpServletResponse.SC_FORBIDDEN); } else { LOG.info("Request is appropriate"); filterChain.doFilter(servletRequest, servletResponse); } return; } filterChain.doFilter(servletRequest, servletResponse); } public void destroy() { LOG.info("Ending GuestFilter"); } public FilterConfig getFilterConfig() { return filterConfig; } public void setFilterConfig(FilterConfig filterConfig) { this.filterConfig = filterConfig; Enumeration initParams = filterConfig.getInitParameterNames(); if (initParams != null) { sslPort = "443"; while (initParams.hasMoreElements()) { String name = (String) initParams.nextElement(); String value = filterConfig.getInitParameter(name); LOG.info("Parameter [" + name + "][" + value + "]"); if (name.equalsIgnoreCase("sslport")) { sslPort = value; } } } } } ============================== Here is the log data ============================== 03 Sep 2010 08:53:56,559 [eXistThread-21] INFO (GuestFilter.java [doFilter]:39) - HTTP Servlet Request confirmed 03 Sep 2010 08:53:56,559 [eXistThread-21] INFO (GuestFilter.java [doFilter]:53) - session: org.eclipse.jetty.server.session.HashSessionManager$Session:1jmqsoqvlhxyy10aoi9gh5pbb0@1787753557 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:69) - username [null] 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:70) - requestURI [/xmlrpc] 03 Sep 2010 08:53:56,560 [eXistThread-21] INFO (GuestFilter.java [doFilter]:92) - Request is appropriate ============================== |
From: Evgeny G. <gaz...@gm...> - 2010-09-03 09:12:03
|
This problem is not with typeswitch, but with recursion. Another sample: declare function local:eval($x){ for $i in $x return ( local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()), local:eval($i/node()) ) }; Result is same. The performance regression at code: expression.reset(). See lines 217 and 248 in org.exist.xquery.XQuery.execute(CompiledXQuery expression, Sequence contextSequence, Properties outputProperties, boolean resetContext) |
From: Dmitriy S. <sha...@gm...> - 2010-09-03 05:42:43
|
On Thu, 2010-09-02 at 21:03 -0400, Andrzej Jan Taramina wrote: > > > How do you do db migration? restore from backup? or just run on > existing > > data? > > I just fire up using an existing database...I was under the impression > the migration would be automatic. > > Having to restore from a backup is not realistic for remote production > sites! You can open&save users.xml, that will trigger the convertor. Same time, I don't think that trunk ready for production site, some more tests require first. -- Cheers, Dmitriy Shabanov |
From: Andrzej J. T. <an...@ch...> - 2010-09-03 01:03:32
|
> How do you do db migration? restore from backup? or just run on existing > data? I just fire up using an existing database...I was under the impression the migration would be automatic. Having to restore from a backup is not realistic for remote production sites! > What rev do you use? I used the latest SVN Trunk a day ago. -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |