Including Servlets/JSPs in templates - a simple patch
Hello, So far it works good. It still needs more testing with different character encodings. Greetings, Lilianne E. Blaze Changes in /template/macros.vm: Add: #macro( includeServlet $url) <!-- including $url --> $xwiki.includeServlet($url) <!-- included $url --> #end Index: com/xpn/xwiki/api/XWiki.java =================================================================== --- com/xpn/xwiki/api/XWiki.java (revision 580) +++ com/xpn/xwiki/api/XWiki.java (working copy) @@ -253,6 +253,17 @@ public String parseTemplate(String template) { return xwiki.parseTemplate(template, context); } + + // LBlaze's + /** + * Includes dynamic content, such as Servlets or JSPs, inside Velocity + * templates. + * + * @author LBlaze + */ + public String includeServlet(String url) { + return xwiki.includeServlet(url, context); + } public String getSkinFile(String filename) { return xwiki.getSkinFile(filename, context); Index: com/xpn/xwiki/XWiki.java =================================================================== --- com/xpn/xwiki/XWiki.java (revision 580) +++ com/xpn/xwiki/XWiki.java (working copy) @@ -83,6 +83,7 @@ import com.xpn.xwiki.api.Api; import com.xpn.xwiki.cache.api.XWikiCacheService; import com.xpn.xwiki.cache.impl.OSCacheService; +import com.xpn.xwiki.velocity.includeservlet.VelocityIncludeServlet; import org.hibernate.HibernateException; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; @@ -102,6 +103,8 @@ import org.exoplatform.container.PortalContainer; import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.*; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -830,6 +833,27 @@ return null; } + // LBlaze's + public String includeServlet(String url, XWikiContext xwikiContext) { + + HttpServletRequest servletRequest = xwikiContext.getRequest(); + HttpServletResponse servletResponse = xwikiContext.getResponse(); + + try + { + return VelocityIncludeServlet.includeServletAndReturnAsString( + url, + servletRequest, + servletResponse); + } + catch(Exception e) + { + log.warn("Exception including url: "+url, e); + return "Exception including \""+url+"\", see logs for details."; + } + + } + public String getSkinFile(String filename, XWikiContext context) { XWikiURLFactory urlf = context.getURLFactory(); ------------------------------------ /* * BufferOutputStream.java * * Created on June 2, 2005, 2:45 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */ package com.xpn.xwiki.velocity.includeservlet; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.servlet.ServletOutputStream; /** * * @author LBlaze */ public class BufferOutputStream extends ServletOutputStream { protected ByteArrayOutputStream buffer; /** Creates a new instance of BufferOutputStream */ public BufferOutputStream() { buffer = new ByteArrayOutputStream(); } public void write(int b) throws IOException { buffer.write(b); } public void write(byte b[]) throws IOException { buffer.write(b); } public void write(byte[] b, int off, int len) throws IOException { buffer.write(b, off, len); } public void flush() throws IOException { buffer.flush(); } public void close() throws IOException { buffer.close(); } public byte[] getContentsAsByteArray() throws IOException { flush(); return buffer.toByteArray(); } } ----------------------------- /* * BufferedResponse.java * * Created on June 2, 2005, 2:15 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */ package com.xpn.xwiki.velocity.includeservlet; import java.io.IOException; import java.io.PrintWriter; import java.io.OutputStreamWriter; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; /** * * @author LBlaze */ public class BufferedResponse extends HttpServletResponseWrapper { protected HttpServletResponse internalResponse; protected BufferOutputStream outputStream; protected PrintWriter writer; /** Creates a new instance of BufferedResponse */ public BufferedResponse(HttpServletResponse internalResponse) { super(internalResponse); this.internalResponse = internalResponse; } public ServletOutputStream getOutputStream() throws IOException { if( outputStream == null ) { outputStream = new BufferOutputStream(); } return outputStream; } public PrintWriter getWriter() throws IOException { if( writer == null ) { writer = new PrintWriter(new OutputStreamWriter(getOutputStream(), getCharacterEncoding())); } return writer; } public byte[] getBufferAsByteArray() throws IOException { if( writer != null ) { writer.flush(); } outputStream.flush(); return outputStream.getContentsAsByteArray(); } } ------------------------------------ /* * VelocityIncludeServlet.java * * Created on June 2, 2005, 1:41 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */ package com.xpn.xwiki.velocity.includeservlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * * @author LBlaze */ public class VelocityIncludeServlet { private static final Log log = LogFactory.getLog(VelocityIncludeServlet.class); /** Creates a new instance of VelocityIncludeServlet */ private VelocityIncludeServlet() { } static public String includeServletAndReturnAsString(String url, HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws IOException, ServletException { if( log.isDebugEnabled() ) { log.debug("Including url \""+url+"\"..."); } RequestDispatcher requestDispatcher = servletRequest.getRequestDispatcher(url); if( requestDispatcher == null ) { IllegalArgumentException iae = new IllegalArgumentException( "Failed to get RequestDispatcher for url: "+url); log.error(iae.getMessage(),iae); throw iae; } BufferedResponse bufferedResponse = new BufferedResponse(servletResponse); requestDispatcher.include(servletRequest, bufferedResponse); byte[] buffer = bufferedResponse.getBufferAsByteArray(); if( log.isDebugEnabled() ) { log.debug("Buffer returned with "+buffer.length+" bytes."); } String bufferString = new String(buffer, servletResponse.getCharacterEncoding()); return bufferString; } }
Hello, What about this and my other post? I know it takes time to review and test things, but I expected some feedback or comments, and so far there is none? Greetings, Lilianne E. Blaze Lilianne E. Blaze wrote:
Hello,
So far it works good. It still needs more testing with different character encodings.
Greetings, Lilianne E. Blaze
Changes in /template/macros.vm: Add: #macro( includeServlet $url) <!-- including $url --> $xwiki.includeServlet($url) <!-- included $url --> #end
Index: com/xpn/xwiki/api/XWiki.java =================================================================== --- com/xpn/xwiki/api/XWiki.java (revision 580) +++ com/xpn/xwiki/api/XWiki.java (working copy) @@ -253,6 +253,17 @@ public String parseTemplate(String template) { return xwiki.parseTemplate(template, context); } + + // LBlaze's + /** + * Includes dynamic content, such as Servlets or JSPs, inside Velocity + * templates. + * + * @author LBlaze + */ + public String includeServlet(String url) { + return xwiki.includeServlet(url, context); + }
public String getSkinFile(String filename) { return xwiki.getSkinFile(filename, context);
Index: com/xpn/xwiki/XWiki.java =================================================================== --- com/xpn/xwiki/XWiki.java (revision 580) +++ com/xpn/xwiki/XWiki.java (working copy) @@ -83,6 +83,7 @@ import com.xpn.xwiki.api.Api; import com.xpn.xwiki.cache.api.XWikiCacheService; import com.xpn.xwiki.cache.impl.OSCacheService; +import com.xpn.xwiki.velocity.includeservlet.VelocityIncludeServlet; import org.hibernate.HibernateException; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; @@ -102,6 +103,8 @@ import org.exoplatform.container.PortalContainer;
import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.*; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -830,6 +833,27 @@ return null; }
+ // LBlaze's + public String includeServlet(String url, XWikiContext xwikiContext) { + + HttpServletRequest servletRequest = xwikiContext.getRequest(); + HttpServletResponse servletResponse = xwikiContext.getResponse(); + + try + { + return VelocityIncludeServlet.includeServletAndReturnAsString( + url, + servletRequest, + servletResponse); + } + catch(Exception e) + { + log.warn("Exception including url: "+url, e); + return "Exception including \""+url+"\", see logs for details."; + } + + } + public String getSkinFile(String filename, XWikiContext context) { XWikiURLFactory urlf = context.getURLFactory();
------------------------------------ /* * BufferOutputStream.java * * Created on June 2, 2005, 2:45 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.ByteArrayOutputStream; import java.io.IOException;
import javax.servlet.ServletOutputStream;
/** * * @author LBlaze */ public class BufferOutputStream extends ServletOutputStream {
protected ByteArrayOutputStream buffer;
/** Creates a new instance of BufferOutputStream */ public BufferOutputStream() { buffer = new ByteArrayOutputStream(); } public void write(int b) throws IOException { buffer.write(b); } public void write(byte b[]) throws IOException { buffer.write(b); } public void write(byte[] b, int off, int len) throws IOException { buffer.write(b, off, len); } public void flush() throws IOException { buffer.flush(); } public void close() throws IOException { buffer.close(); }
public byte[] getContentsAsByteArray() throws IOException { flush(); return buffer.toByteArray(); } } ----------------------------- /* * BufferedResponse.java * * Created on June 2, 2005, 2:15 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.IOException; import java.io.PrintWriter; import java.io.OutputStreamWriter;
import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper;
/** * * @author LBlaze */ public class BufferedResponse extends HttpServletResponseWrapper {
protected HttpServletResponse internalResponse; protected BufferOutputStream outputStream; protected PrintWriter writer;
/** Creates a new instance of BufferedResponse */ public BufferedResponse(HttpServletResponse internalResponse) { super(internalResponse); this.internalResponse = internalResponse; }
public ServletOutputStream getOutputStream() throws IOException { if( outputStream == null ) { outputStream = new BufferOutputStream(); } return outputStream; }
public PrintWriter getWriter() throws IOException { if( writer == null ) { writer = new PrintWriter(new OutputStreamWriter(getOutputStream(), getCharacterEncoding())); } return writer; } public byte[] getBufferAsByteArray() throws IOException { if( writer != null ) { writer.flush(); } outputStream.flush(); return outputStream.getContentsAsByteArray(); }
} ------------------------------------ /* * VelocityIncludeServlet.java * * Created on June 2, 2005, 1:41 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.IOException;
import javax.servlet.ServletException; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;
/** * * @author LBlaze */ public class VelocityIncludeServlet {
private static final Log log = LogFactory.getLog(VelocityIncludeServlet.class);
/** Creates a new instance of VelocityIncludeServlet */ private VelocityIncludeServlet() { } static public String includeServletAndReturnAsString(String url, HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws IOException, ServletException { if( log.isDebugEnabled() ) { log.debug("Including url \""+url+"\"..."); } RequestDispatcher requestDispatcher = servletRequest.getRequestDispatcher(url); if( requestDispatcher == null ) { IllegalArgumentException iae = new IllegalArgumentException( "Failed to get RequestDispatcher for url: "+url); log.error(iae.getMessage(),iae); throw iae; } BufferedResponse bufferedResponse = new BufferedResponse(servletResponse); requestDispatcher.include(servletRequest, bufferedResponse); byte[] buffer = bufferedResponse.getBufferAsByteArray(); if( log.isDebugEnabled() ) { log.debug("Buffer returned with "+buffer.length+" bytes."); } String bufferString = new String(buffer, servletResponse.getCharacterEncoding()); return bufferString; }
}
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Hi Lilianne, Sorry for the late response and thanks for this patch ! We love improvements to XWiki ! First I think we should go through Jira to submit patches. I've create a task at: http://jira.xwiki.org/jira/browse/XWIKI-36 You should subscribe and join in on this task. If you can add the patches as attachment in this task it would be great. Concerning the code, the main remark I have would be to put it in the com.xpn.xwiki.web.includeservlet package, since it is not specific to Velocity but adds a feature to the XWiki API. Finally, it would be great if you could add a TestCase which demonstrates the features and verifies that it works fine. You will probably need to add the test to ViewEditTest which means it involves a TomCat local install to make it run. Ludovic Lilianne E. Blaze a écrit :
Hello,
So far it works good. It still needs more testing with different character encodings.
Greetings, Lilianne E. Blaze
Changes in /template/macros.vm: Add: #macro( includeServlet $url) <!-- including $url --> $xwiki.includeServlet($url) <!-- included $url --> #end
Index: com/xpn/xwiki/api/XWiki.java =================================================================== --- com/xpn/xwiki/api/XWiki.java (revision 580) +++ com/xpn/xwiki/api/XWiki.java (working copy) @@ -253,6 +253,17 @@ public String parseTemplate(String template) { return xwiki.parseTemplate(template, context); } + + // LBlaze's + /** + * Includes dynamic content, such as Servlets or JSPs, inside Velocity + * templates. + * + * @author LBlaze + */ + public String includeServlet(String url) { + return xwiki.includeServlet(url, context); + }
public String getSkinFile(String filename) { return xwiki.getSkinFile(filename, context);
Index: com/xpn/xwiki/XWiki.java =================================================================== --- com/xpn/xwiki/XWiki.java (revision 580) +++ com/xpn/xwiki/XWiki.java (working copy) @@ -83,6 +83,7 @@ import com.xpn.xwiki.api.Api; import com.xpn.xwiki.cache.api.XWikiCacheService; import com.xpn.xwiki.cache.impl.OSCacheService; +import com.xpn.xwiki.velocity.includeservlet.VelocityIncludeServlet; import org.hibernate.HibernateException; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; @@ -102,6 +103,8 @@ import org.exoplatform.container.PortalContainer;
import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.*; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -830,6 +833,27 @@ return null; }
+ // LBlaze's + public String includeServlet(String url, XWikiContext xwikiContext) { + + HttpServletRequest servletRequest = xwikiContext.getRequest(); + HttpServletResponse servletResponse = xwikiContext.getResponse(); + + try + { + return VelocityIncludeServlet.includeServletAndReturnAsString( + url, + servletRequest, + servletResponse); + } + catch(Exception e) + { + log.warn("Exception including url: "+url, e); + return "Exception including \""+url+"\", see logs for details."; + } + + } + public String getSkinFile(String filename, XWikiContext context) { XWikiURLFactory urlf = context.getURLFactory();
------------------------------------ /* * BufferOutputStream.java * * Created on June 2, 2005, 2:45 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.ByteArrayOutputStream; import java.io.IOException;
import javax.servlet.ServletOutputStream;
/** * * @author LBlaze */ public class BufferOutputStream extends ServletOutputStream {
protected ByteArrayOutputStream buffer;
/** Creates a new instance of BufferOutputStream */ public BufferOutputStream() { buffer = new ByteArrayOutputStream(); } public void write(int b) throws IOException { buffer.write(b); } public void write(byte b[]) throws IOException { buffer.write(b); } public void write(byte[] b, int off, int len) throws IOException { buffer.write(b, off, len); } public void flush() throws IOException { buffer.flush(); } public void close() throws IOException { buffer.close(); }
public byte[] getContentsAsByteArray() throws IOException { flush(); return buffer.toByteArray(); } } ----------------------------- /* * BufferedResponse.java * * Created on June 2, 2005, 2:15 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.IOException; import java.io.PrintWriter; import java.io.OutputStreamWriter;
import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper;
/** * * @author LBlaze */ public class BufferedResponse extends HttpServletResponseWrapper {
protected HttpServletResponse internalResponse; protected BufferOutputStream outputStream; protected PrintWriter writer;
/** Creates a new instance of BufferedResponse */ public BufferedResponse(HttpServletResponse internalResponse) { super(internalResponse); this.internalResponse = internalResponse; }
public ServletOutputStream getOutputStream() throws IOException { if( outputStream == null ) { outputStream = new BufferOutputStream(); } return outputStream; }
public PrintWriter getWriter() throws IOException { if( writer == null ) { writer = new PrintWriter(new OutputStreamWriter(getOutputStream(), getCharacterEncoding())); } return writer; } public byte[] getBufferAsByteArray() throws IOException { if( writer != null ) { writer.flush(); } outputStream.flush(); return outputStream.getContentsAsByteArray(); }
} ------------------------------------ /* * VelocityIncludeServlet.java * * Created on June 2, 2005, 1:41 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */
package com.xpn.xwiki.velocity.includeservlet;
import java.io.IOException;
import javax.servlet.ServletException; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;
/** * * @author LBlaze */ public class VelocityIncludeServlet {
private static final Log log = LogFactory.getLog(VelocityIncludeServlet.class);
/** Creates a new instance of VelocityIncludeServlet */ private VelocityIncludeServlet() { } static public String includeServletAndReturnAsString(String url, HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws IOException, ServletException { if( log.isDebugEnabled() ) { log.debug("Including url \""+url+"\"..."); } RequestDispatcher requestDispatcher = servletRequest.getRequestDispatcher(url); if( requestDispatcher == null ) { IllegalArgumentException iae = new IllegalArgumentException( "Failed to get RequestDispatcher for url: "+url); log.error(iae.getMessage(),iae); throw iae; } BufferedResponse bufferedResponse = new BufferedResponse(servletResponse); requestDispatcher.include(servletRequest, bufferedResponse); byte[] buffer = bufferedResponse.getBufferAsByteArray(); if( log.isDebugEnabled() ) { log.debug("Buffer returned with "+buffer.length+" bytes."); } String bufferString = new String(buffer, servletResponse.getCharacterEncoding()); return bufferString; }
}
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
-- Ludovic Dubost XPertNet: http://www.xpertnet.fr/ Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost AIM: nvludo Yahoo: ludovic
Hello, Ludovic Dubost wrote:
Hi Lilianne,
Sorry for the late response and thanks for this patch ! We love improvements to XWiki ! First I think we should go through Jira to submit patches. I've create a task at:
http://jira.xwiki.org/jira/browse/XWIKI-36
You should subscribe and join in on this task. If you can add the patches as attachment in this task it would be great.
Ok, I'll try to do it later today or tomorrow.
Concerning the code, the main remark I have would be to put it in the com.xpn.xwiki.web.includeservlet package, since it is not specific to Velocity but adds a feature to the XWiki API.
Are you sure? The code is not dependent on Velocity, but it is a solution to Velocity-specific problem? Without Velocity a standard RequestDispatcher would completely suffice.
Finally, it would be great if you could add a TestCase which demonstrates the features and verifies that it works fine. You will probably need to add the test to ViewEditTest which means it involves a TomCat local install to make it run.
Is it necessary? Honestly, I'm not a big fan of high or medium -level TestCases, and I'm just not sure how to write it to fit it in existing XWiki test code. You haven't said anything about the second patch ("A small patch for XWiki.getAuthService and XWiki.getRightService (easier debugging mostly)")?
Ludovic
Greetings, Lilianne E. Blaze
Hi, Lilianne E. Blaze a écrit :
Concerning the code, the main remark I have would be to put it in the com.xpn.xwiki.web.includeservlet package, since it is not specific to Velocity but adds a feature to the XWiki API.
Are you sure? The code is not dependent on Velocity, but it is a solution to Velocity-specific problem? Without Velocity a standard RequestDispatcher would completely suffice.
Yes it would.. but for Groovy or plugins it is also necessary.. It's just the way XWiki handles the content that makes it necessary, so it's not specific to velocity.. It is specific to XWiki though..
Finally, it would be great if you could add a TestCase which demonstrates the features and verifies that it works fine. You will probably need to add the test to ViewEditTest which means it involves a TomCat local install to make it run.
Is it necessary? Honestly, I'm not a big fan of high or medium -level TestCases, and I'm just not sure how to write it to fit it in existing XWiki test code.
Well since this calls the RequestDispatcher unless you fake a XWikiRequest object (which is possible) you will need a high level test case.. If you are having difficulties we'll have Jeremi look at it..
You haven't said anything about the second patch ("A small patch for XWiki.getAuthService and XWiki.getRightService (easier debugging mostly)")?
I've answered this one separately.. Sorry for missing it. Ludovic -- Ludovic Dubost XPertNet: http://www.xpertnet.fr/ Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost AIM: nvludo Yahoo: ludovic
Hello, http://jira.xwiki.org/jira/browse/XWIKI-36 says "Updated: Wednesday 11:00 PM" - were there any problems with the code? Greetings, Lilianne E. Blaze
No problems.. I've reassigned the tasks to Jeremi. See the History http://jira.xwiki.org/jira/browse/XWIKI-36?page=history Change by Ludovic Dubost <http://jira.xwiki.org/jira/secure/ViewProfile.jspa?name=ludovic> [08/Jun/05 11:00 PM] * Assignee * Ludovic Dubost [ ludovic ] jeremi Joslin [ jeremi ] Ludovic Lilianne E. Blaze a écrit :
Hello,
http://jira.xwiki.org/jira/browse/XWIKI-36 says "Updated: Wednesday 11:00 PM" - were there any problems with the code?
Greetings, Lilianne E. Blaze
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
-- Ludovic Dubost XPertNet: http://www.xpertnet.fr/ Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost AIM: nvludo Yahoo: ludovic
Hello, To be honest, I just thought it would take a little less time, especially since it doesn't change any existing code (except adding a couple new methods)? Greetings, Lilianne E. Blaze Ludovic Dubost wrote:
No problems.. I've reassigned the tasks to Jeremi. See the History
http://jira.xwiki.org/jira/browse/XWIKI-36?page=history
Change by Ludovic Dubost <http://jira.xwiki.org/jira/secure/ViewProfile.jspa?name=ludovic> [08/Jun/05 11:00 PM] * Assignee * Ludovic Dubost [ ludovic ] jeremi Joslin [ jeremi ]
Ludovic
Lilianne E. Blaze a écrit :
Hello,
http://jira.xwiki.org/jira/browse/XWIKI-36 says "Updated: Wednesday 11:00 PM" - were there any problems with the code?
Greetings, Lilianne E. Blaze
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
On 6/12/05, Lilianne E. Blaze <[email protected]> wrote:
Hello, To be honest, I just thought it would take a little less time, especially since it doesn't change any existing code (except adding a couple new methods)?
Greetings, Lilianne E. Blaze
Excuse me, it's my fault. I will do it tomorrow morning. I've got a lot of work last week. Jérémi -- http://www.sport42.net - http://stage.xwiki.com Tel : 06.84.50.33.49 skype: jeremi23
Ok, I just wanted to know if the delay was related to the code itself. Greetings, Lilianne E. Blaze jeremi joslin wrote:
On 6/12/05, Lilianne E. Blaze <[email protected]> wrote:
Hello, To be honest, I just thought it would take a little less time, especially since it doesn't change any existing code (except adding a couple new methods)?
Greetings, Lilianne E. Blaze
Excuse me, it's my fault. I will do it tomorrow morning. I've got a lot of work last week.
Jérémi
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Lilianne, Open-sources processed can take sometime. We want to give anybody the opportunity to react on what has been submitted, so we never hurry ourselves unless we have a good reason to do so, even for very simple code. Also there is no guarantee of delay when integrating code. We have many other things to do, including relationship with clients. Last week we had some trainings on XWiki to deliver. We are also always busy on many things that have the potentiality of speeding up the development of XWiki like european projects or the Google Summer of Code program. We need to communicate a little about the commiting processes so that we can then add more commiters to the project. Once we have done this and you are sufficiently confortable with the process we can get you on the list of commiters. Ludovic Lilianne E. Blaze a écrit :
Hello, To be honest, I just thought it would take a little less time, especially since it doesn't change any existing code (except adding a couple new methods)?
Greetings, Lilianne E. Blaze
Ludovic Dubost wrote:
No problems.. I've reassigned the tasks to Jeremi. See the History
http://jira.xwiki.org/jira/browse/XWIKI-36?page=history
Change by Ludovic Dubost <http://jira.xwiki.org/jira/secure/ViewProfile.jspa?name=ludovic> [08/Jun/05 11:00 PM] * Assignee * Ludovic Dubost [ ludovic ] jeremi Joslin [ jeremi ]
Ludovic
Lilianne E. Blaze a écrit :
Hello,
http://jira.xwiki.org/jira/browse/XWIKI-36 says "Updated: Wednesday 11:00 PM" - were there any problems with the code?
Greetings, Lilianne E. Blaze
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
------------------------------------------------------------------------
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
-- Ludovic Dubost XPertNet: http://www.xpertnet.fr/ Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost AIM: nvludo Yahoo: ludovic
participants (3)
-
jeremi joslin -
Lilianne E. Blaze -
Ludovic Dubost