Hi devs,
Looking at jira we have 232 open bugs on core right now. This is quite
worse than the figure we had when we release 1.4 final.
In addition the diagram on jira.xwiki.org shows that more bugs are
created than fixed lately.
Since stability is one priority number 1 from now on (it's in the 1.5
roadmap as item 1) we need to do something about it.
I think the main issue right now is that most of us are not working on
bug fixing:
* I am working on the new rendering module, required for the new
WYSIWYG editor.
* Jean-Vincent is working on the Administration overhaul w/ Evelina
* ThomasM is working on the new cache implementation
* Sergiu is working also on IX/Patch service
* Artem is working on the JCR implementation
We've discussed this with Thomas, Jean-Vincent and Sergiu this morning
and the solution we've found is to initiate a "Bug Fixing Day".
It would work as follows:
* Every Wednesday all XWiki devs should work on fixing bugs only.
* If they're not free on Wednesday they should do it on another day in
the same week
* The bugs should be taken in this order:
a) bugs with patches available
b) bugs planned for the current release. For example for 1.5M2 it's: http://tinyurl.com/5s2fjv
c) bugs with the most votes: http://tinyurl.com/28yqvv
d) bugs with higher severities
Note that the URL i've given are for XWiki Core but the same applies
for all JIRA projects and products.
Right now we're planning to do this for Core, XE and XEM. I hope that
this can be extended to other products such as Watch/Workspaces.
We shall start this next Wednesday.
Everyone is invited to help out and not just committers:
* contributors can send patches
* users can vote for their most important issues
* bug reporters should be ready to verify that the fix does solve
their problem
Hope this is fine for everyone :)
I've already collected +1 from Sergiu, Thomas, Jean-Vincent and myself.
Thanks
-Vincent
Hi,
I have built a standalone plugin to convert MS Doc, MS excel to html. This
plugin can run as a jar through command line or as a web application through
url.
Next, how to convert the html to xwiki syntax document? use xslt? Do the new
rendering code have any influence?
Now I can't handle the clipboard format. I think clipboard is at the second
priority.
My another question: how to add my code to xwiki code sandbox? Do I need to
build ,test and distrubut my plugin by maven way? If yes, please tell how.
Thanks very much.
--
Sincerely,
Wang Ning
Hello,
Thank you for the excellent workspaces application. I have tried it now
and in the beginning all went OK but then came problem when listing All
My Spaces. I got the error seen below.
MySpaces page works fine with admin account but not with member account.
version=1.1-milestone-1
groupId=com.xpn.xwiki.products
artifactId=xwiki-workspaces-web
environment: apache2, mysql5.0, tomcat5.5., debian linux (etch)
How to fix this?
Best Regards,
Jarmo Tanskanen
Error number 4001 in 4: Error while parsing velocity page XWS.MySpaces
Wrapped Exception: Failed to evaluate content with id My Spaces
<http://www.prepost-test.com:8180/xwiki/bin/view/XWS/MySpaces>
com.xpn.xwiki.XWikiException: Error number 4001 in 4: Error while
parsing velocity page XWS.MySpaces
Wrapped Exception: Failed to evaluate content with id My Spaces
<http://www.prepost-test.com:8180/xwiki/bin/view/XWS/MySpaces>
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:231)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.render(XWikiVelocityRenderer.java:93)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:252)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:176)
at com.xpn.xwiki.XWiki.include(XWiki.java:3511)
at com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1372)
at com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1338)
at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.render(XWikiVelocityRenderer.java:93)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:252)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:176)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:145)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderDocument(DefaultXWikiRenderingEngine.java:134)
at
com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:423)
at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:371)
at sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1555)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1476)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:608)
at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:88)
at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1503)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:109)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:215)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Wrapped Exception:
org.apache.velocity.exception.MethodInvocationException: Invocation of
method 'contains' in class java.util.ArrayList threw exception
java.lang.NullPointerException @ XWS.MySpaces49,100?
<http://www.prepost-test.com:8180/xwiki/bin/edit/XWS/49%2C100?parent=XWS.MyS…>
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:286)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:396)
at
org.apache.velocity.runtime.parser.node.ASTNotNode.evaluate(ASTNotNode.java:64)
at
org.apache.velocity.runtime.parser.node.ASTAndNode.evaluate(ASTAndNode.java:111)
at
org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:64)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:86)
at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
at
org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:448)
at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.render(XWikiVelocityRenderer.java:93)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:252)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:176)
at com.xpn.xwiki.XWiki.include(XWiki.java:3511) at
com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1372) at
com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1338) at
sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.render(XWikiVelocityRenderer.java:93)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:252)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:176)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderText(DefaultXWikiRenderingEngine.java:145)
at
com.xpn.xwiki.render.DefaultXWikiRenderingEngine.renderDocument(DefaultXWikiRenderingEngine.java:134)
at
com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:423)
at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:371) at
sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1555) at
com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1476) at
com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:608) at
sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:88)
at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:145)
at
org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:117)
at
com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:226)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1503) at
com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:109) at
com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:215) at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595) Caused by:
java.lang.NullPointerException at
com.xpn.xwiki.doc.XWikiDocument.equals(XWikiDocument.java:2073) at
com.xpn.xwiki.api.Document.equals(Document.java:1439) at
java.util.ArrayList.indexOf(ArrayList.java:220) at
java.util.ArrayList.contains(ArrayList.java:201) at
sun.reflect.GeneratedMethodAccessor286.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
… 99 more
Here are proposed dates for the release of XWiki Watch:
RC1 on 20 june
RC2 / final on 27 june
until when we plan to fix some remaining bugs, mainly focused on interface
/ skin issues and usage coherence.
We'd also like to improve the scalability of watch (speed at high number
of fetched articles), as long as this can be done without major
architecture impact.
You can find the complete list at
http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&pid=10200&…
.
Here's my +1,
What do you think?
Hello X-Wikians,
I am currently browsing the Xwiki Code and thus found the current
handling of the logging to catch my eye.
I filed a jira idea (XWIKI-2437) to use slf4j as logging abstraction. it
wasn't until this mornig though that I found the new logging
Architecture in the component sub part, and also Vincent pointed me 20
minutes later to it.
Still even with the logging pushed through the
org.xwiki.component.logging.Logger interface I have a suggestion.
A very good thing at the slf4j and particularly one of the
implementations is that building of the logging strings can be deferred
to the logger. I will explain that with an example:
Current Logger interface you will have to do this (or something similar)
LOG.debug("my debug message is " + var1 + " " + var2 + ": " + var3 );
This will force the Java VM to build the string and then call the
function to realize later that the string will not be logged. Now one
could introduce an if statement with log.isDebugEnabled() before any
such statement, but that is kind of tedious and clutters the code.
In slf4j you would write something like this:
LOG.debug("my debug message is {} {}: {}", var1, var2, var3);
Thus the function will be called but the string operation can take place
iff the string will really be logged. (see http://www.slf4j.org/manual.html)
So my proposal is to give the logging interface a little bit of slf4j
flavor and introduce log statements with varargs or Object arrays like:
public void debug(String msg, Object... args);
/* plus all the other loglevels */
If one wants to use log4j then a simple wrapper could be written to
format those args before log it depending on the loglevel.
Thinking a bit further, slf4j does already that what it is intended with
the new component logger since the implementations are deploytime
pluggable (currently logback, simple logger, log4j and jcl can be used
as backend) and slf4j is just a facade to the logging system, thus
fulfilling the component based approach. Since reuse is better than
reinvent...
cheers
Jonas
Hi (Sergiu),
I finally read your SX design doc yesterday night and I have some
questions:
* It's called Skin Extensions (SX) but it seems to be missing vm
extensions, right? AFAIU this is in IX. I would have expected Skin
extensions to include vm. Maybe just a problem of terminology.
* How do you manage CSS/JS that depend on the skin used. For ex you
took the example of usersandgroups.css in your doc but that CSS is
different for Albatross and for Toucan. How do we handle this?
* Now that it's implemented, would be nice to move the doc to the
developer's guide and add some examples. Also do you know where in the
code this is used right now?
* Has there been some measurements to see how performance is affected?
Thanks a lot, sounds very cool.
-Vincent
Hello Vincent, Pressing EDIT button on XWiki Enterprise wiki page
shows the TAG list attached to a page aloowing them to be changed.
I do not see it here in workspaces. How do I get that in XWiki
workspaces so that I may set/reset TAG values.
Best Regards,
Viv
Hi,
Just committed the new rendering mechanism in xwiki core. Please note
that this is a work in progress and it's missing a LOT of things.
However we can now all work together on finishing it.
Here's how it works:
* Each document has a syntax id, which defaults to XWiki 1.0
* In edit mode (Toucan skin), you can change the syntax for a page
using the Document Information panel on the right
What's supposedly working in the new syntax:
* basic wiki syntax, lists, paragraph. Not everything is done yet and
there are some bugs in the WikiModel XWiki parser
* velocity macro, xhtml macro and include macro
Try it out and have fun, just don't expect too much yet... ;)
-Vincent
Hi all,
Besides working on the new Administration, I also did some clean up for the
existing apps (blog, photos, calendar), making them platform applications.
The question is: should I place the pages in app. specific spaces (ex. Blog,
Calendar, Photos) and also update all the links to the new apps in all xwiki
docs (I have already a 80% finished version of this kind) or should I leave
the files in the XWiki space? (as Jv mentioned, we might need to keep the
compatibility for older clients because most of the pages which need updates
are classes, so this could break possible hand-made queries)
Thanks,
Evelina