Hi Marius,
Leon Wang wrote:
> Hi Dear XWiki Developer,
>
> I met a new problem, when I compile it using Eclipse plugin, it gives me:
"What Eclipse plugin? m2eclipse?"
Yes, m2eclipse
>
> [INFO] [gwt:compile]
> [INFO] using GWT jars from project dependencies : 1.7.0
> [INFO] Unpack native libraries required to run GWT
> [INFO] establishing classpath list (scope = compile)
> [ERROR] Exception in thread "main" java.lang.NoClassDefFoundError:
> com/google/gwt/dev/Compiler
> [ERROR] Caused by: java.lang.ClassNotFoundException:
> com.google.gwt.dev.Compiler
> [ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> [ERROR] at java.security.AccessController.doPrivileged(Native Method)
> [ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> [ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> [ERROR] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> [ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> [ERROR] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> [ERROR] Could not find the main class: com.google.gwt.dev.Compiler.
Program
> will exit.
"Looks like the gwt-maven-plugin doesn't have the gwt-dev jar in its
class path. Can you build from console?"
I checked the gwt-dev jar it is in the local m2 repository. When I try to
build it in the console it give me the checkstyle error even with
"<failsOnError>false</failsOnError>":
[WARNING] Unable to locate Source XRef to link to - DISABLED
[INFO] [checkstyle:check {execution: default}]
[INFO] [install:install]
[INFO] Installing
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/xwiki-gwt-user/target/xwiki-web-gwt-user-2.1.1.jar
to
/home/freeleons/.m2/repository/org/xwiki/platform/xwiki-web-gwt-user/2.1.1/xwiki-web-gwt-user-2.1.1.jar
[INFO] Installing
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/xwiki-gwt-user/target/xwiki-web-gwt-user-2.1.1-tests.jar
to
/home/freeleons/.m2/repository/org/xwiki/platform/xwiki-web-gwt-user/2.1.1/xwiki-web-gwt-user-2.1.1-tests.jar
[INFO]
------------------------------------------------------------------------
[INFO] Building XWiki Platform - Web - WYSIWYG
[INFO] task-segment: [install]
[INFO]
------------------------------------------------------------------------
[INFO] [enforcer:enforce {execution: default}]
[INFO] [remote-resources:process {execution: xwiki-license-resources}]
[INFO] [resources:resources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 133 resources
[INFO] Copying 2 resources
[INFO] [compiler:compile]
[INFO] Compiling 272 source files to
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/classes
[INFO] [gwt:compile {execution: compile-gwt}]
[INFO] using GWT jars from project dependencies : 1.7.0
[INFO] Unpack native libraries required to run GWT
[INFO] establishing classpath list (scope = compile)
[INFO] Compiling module com.xpn.xwiki.wysiwyg.Wysiwyg
[INFO] Compiling 24 permutations
[INFO] Permutation compile succeeded
[INFO] Linking into
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/xwiki-web-wysiwyg-2.1.1/resources/js/xwiki/wysiwyg
[INFO] Link succeeded
[INFO] Compilation succeeded -- 107.886s
[INFO] [resources:testResources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] Copying 2 resources
[INFO] [compiler:testCompile]
[INFO] Compiling 37 source files to
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/test-classes
[INFO] [surefire:test]
[INFO] Tests are skipped.
[INFO] [war:war]
[INFO] Packaging webapp
[INFO] Assembling webapp[xwiki-web-wysiwyg] in
[/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/xwiki-web-wysiwyg-2.1.1]
[INFO] Processing war project
[INFO] Copying webapp
resources[/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/webapp]
[INFO] Building jar:
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/xwiki-web-wysiwyg-2.1.1/WEB-INF/lib/xwiki-web-wysiwyg-2.1.1.jar
[INFO] Webapp assembled in [1489 msecs]
[INFO] Building war:
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/target/xwiki-web-wysiwyg-2.1.1.war
[INFO] [gwt:test {execution: test-gwt}]
[INFO] using GWT jars from project dependencies : 1.7.0
[INFO] Unpack native libraries required to run GWT
[INFO] Preparing checkstyle:check
[INFO] [checkstyle:checkstyle]
[INFO] Starting audit...
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:6:
Class RationalePluginFactory should be declared as final.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:6:
Missing a Javadoc comment.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:6:67:
'{' should be on a new line.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:8:
member def modifier at indentation level 8 not at correct indentation, 4
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:8:1:
Line contains a tab character.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:8:9:
Missing a Javadoc comment.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:10:
ctor def modifier at indentation level 8 not at correct indentation, 4
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:10:1:
Line contains a tab character.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:10:9:
Missing a Javadoc comment.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:11:1:
Line contains a tab character.
/home/freeleons/Desktop/XWiki/console/xwiki-web-2.1.1-download1/xwiki-web/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/plugin/rationale/RationalePluginFactory.java:12:
ctor def rcurly at indentation level 8 not at correct indentation, 4
I used console command line checked out the source code. Copied the all the
icon files and source code to the right folder. Then I use "mvn install"
compile the source code, I get this error:
[INFO]
------------------------------------------------------------------------
[INFO] Building XWiki Platform - Web - WYSIWYG
[INFO] task-segment: [install]
[INFO]
------------------------------------------------------------------------
[INFO] [enforcer:enforce {execution: default}]
[INFO] [remote-resources:process {execution: xwiki-license-resources}]
[INFO] [resources:resources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 139 resources
[INFO] Copying 2 resources
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [gwt:compile {execution: default}]
[INFO] using GWT jars from project dependencies : 2.0.0
[INFO] establishing classpath list (scope = compile)
[INFO] Compiling module com.xpn.xwiki.wysiwyg.Wysiwyg
[INFO] Validating newly compiled units
[INFO] [WARN] Warnings in
'jar:file:/home/freeleons/.m2/repository/com/google/gwt/gwt-incubator/20091216-r1739/gwt-incubator-20091216-r1739.jar!/com/google/gwt/widgetideas/client/impl/GlassPanelImpl.java'
[INFO] [WARN] Line 30: Referencing deprecated class
'com.google.gwt.user.client.impl.DocumentRootImpl'
[INFO] [WARN] Line 38: Referencing deprecated class
'com.google.gwt.user.client.impl.DocumentRootImpl'
[INFO] Scanning for additional dependencies:
file:/home/freeleons/Desktop/XWiki/xwiki-web-2.1.1-console-build/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/editor/Strings.java
[INFO] Computing all possible rebind results for
'com.xpn.xwiki.wysiwyg.client.editor.Strings'
[INFO] Rebinding com.xpn.xwiki.wysiwyg.client.editor.Strings
[INFO] Invoking
com.google.gwt.dev.javac.StandardGeneratorContext@1c28e4e
[INFO] Processing interface
com.xpn.xwiki.wysiwyg.client.editor.Strings
[INFO] Generating method body for fontNameOther()
[INFO] [ERROR] No resource found for key
'fontNameOther'
[INFO] com.google.gwt.i18n.rebind.AbstractResource$MissingResourceException:
No resource found for key 'fontNameOther'
[INFO] at
com.google.gwt.i18n.rebind.AbstractResource$ResourceList.getRequiredStringExt(AbstractResource.java:246)
[INFO] at
com.google.gwt.i18n.rebind.SimpleValueMethodCreator.createMethodFor(SimpleValueMethodCreator.java:95)
[INFO] at
com.google.gwt.i18n.rebind.AbstractLocalizableImplCreator.delegateToCreator(AbstractLocalizableImplCreator.java:313)
[INFO] at
com.google.gwt.i18n.rebind.ConstantsImplCreator.emitMethodBody(ConstantsImplCreator.java:163)
[INFO] at
com.google.gwt.user.rebind.AbstractGeneratorClassCreator.genMethod(AbstractGeneratorClassCreator.java:265)
[INFO] at
com.google.gwt.user.rebind.AbstractGeneratorClassCreator.emitMethods(AbstractGeneratorClassCreator.java:233)
[INFO] at
com.google.gwt.user.rebind.AbstractGeneratorClassCreator.emitClass(AbstractGeneratorClassCreator.java:116)
[INFO] at
com.google.gwt.i18n.rebind.AbstractLocalizableImplCreator.generateConstantOrMessageClass(AbstractLocalizableImplCreator.java:133)
[INFO] at
com.google.gwt.i18n.rebind.LocalizableGenerator.generate(LocalizableGenerator.java:121)
[INFO] at
com.google.gwt.i18n.rebind.LocalizableGenerator.generate(LocalizableGenerator.java:98)
[INFO] at
com.google.gwt.dev.javac.StandardGeneratorContext.runGenerator(StandardGeneratorContext.java:418)
[INFO] at
com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:38)
[INFO] at
com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.tryRebind(StandardRebindOracle.java:108)
[INFO] at
com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:54)
[INFO] at
com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:154)
[INFO] at
com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:143)
[INFO] at
com.google.gwt.dev.Precompile$DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(Precompile.java:317)
[INFO] at
com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRebinds(WebModeCompilerFrontEnd.java:95)
[INFO] at
com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(AbstractCompiler.java:200)
[INFO] at
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
[INFO] at
com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:123)
[INFO] at
com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:234)
[INFO] at
com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$200(AbstractCompiler.java:109)
[INFO] at
com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java:522)
[INFO] at
com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclarations(BasicWebModeCompiler.java:112)
[INFO] at
com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDeclarations(WebModeCompilerFrontEnd.java:47)
[INFO] at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:421)
[INFO] at
com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:32)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:522)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:414)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:201)
[INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:152)
[INFO] at
com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87)
[INFO] at
com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81)
[INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:159)
[INFO] [WARN] Searched the following resources:
[INFO] [WARN]
com/xpn/xwiki/wysiwyg/client/editor/Strings_de.properties
[INFO] List of keys found
[INFO] imageAlignLeftLabel
[INFO] imageSelectImageHelpLabel
[INFO] tableRowsLabel
[INFO] selectorSelectFromAllPages
[INFO] no
[INFO] macroCategoryUsed
[INFO] unlink
[INFO] tablePixel
[INFO] macro
[INFO] fileListFetchError
[INFO] colorPicker
[INFO] importerClipboardTabCaption
[INFO] macroInsert
[INFO] insertRowBefore
[INFO] foreColor
[INFO] imageTooltip
[INFO] ol
[INFO] importerFileTabCaption
Thank you for your help, Marius! Please give me some clue what should I do.
Jue Wang
Hi. I would like the dev community to evaluate this simple fix that will enable uploading of files with underscore chars in the file name when users perform the attach action. Our user community is quite impressed about the refreshing ease of use and the power, flexibility in their collaboration work flow made possible by XE. They would like to escape the tyranny of Microsoft-MOSS as early as possible and the main roadblock to do so is the stripping of space and underscores from file names which were created in a MS-Office centric environment.
I am following the XE-324 JIRA issue filed in the context of this behavior. But considering that it's scope is much broader than the fix I am seeking and the fact that it does not have anyone assigned, I don't expect the issue to be fixed anytime soon. So I tried poking into the XE core java code to see what I fix might entail just to support the underscore char and it seems it would need a single line edit in the clearName function in XWiki.java file.
Here is my line analysis:
1. When the user hits the Attach button, the action URL associated is /xwiki/bin/upload....
2. The struts-config file seems to map the upload action to com.xpn.xwiki.web.UploadAction
3. The action method in core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/web/UploadAction.java file calls getFileName() method which calls clearName() method
4. The clearName method is defined in core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/XWiki.java in which one of the modifications being performed is temp = temp.replaceAll("[_':,;\\\\/]", " ");
5. Just eliminating the underscore from the regular expression character class should prevent the underscore from getting stripped. Is this analysis correct? If acceptable, would it get incorporated in the 2.3-M2 or 2.3 final releases? We are trying to get this fix implemented ourselves to verify it. But it would take us some considerable heavy lifting to get the development environment up and running such that we might not be able to validate it before the 2.3 final release.
Thanks for your support.
Regards,
Milind
Hi devs,
Since we've been stabilizing the 2.3 branch for a week [1] and that
tests are ok (Caleb is looking at the last failing test) I think now
would be a good time to release XE/XEM 2.3 final instead of RC2, I
suggest to do the release tomorrow. Please shout if you need more time
to commit things before 2.3 final.
Here's my +1.
[1] http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=p…
Thanks,
JV.
Hi devs,
We have a customer request for highlighting the filters that are currently
applied on a livetable. The rationale of this, is that sometimes the
filtered table is empty or unexpected by the user, but he does not notice
that a filter is currently applied. We have written a proposed
implementation as well and you may also see what it looks like in the
attached screenshot, for both text field and select box (for webkit).
Currently, I choose yto use the "background highlight color" of the active
color theme, but my feeling is that adding another highlight color would be
better.
I have also hook to events separately from the "main" refresh handler,
because I do not understand the implementation of this handler. Why using an
intermediate makeRefreshHandler, and why it does not properly provide the
currently changed filter to the handler ? Could or should I change that ?
WDYT ?
Denis
--
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
Hi Dear XWiki Developer,
I met a new problem, when I compile it using Eclipse plugin, it gives me:
[INFO] [gwt:compile]
[INFO] using GWT jars from project dependencies : 1.7.0
[INFO] Unpack native libraries required to run GWT
[INFO] establishing classpath list (scope = compile)
[ERROR] Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/gwt/dev/Compiler
[ERROR] Caused by: java.lang.ClassNotFoundException:
com.google.gwt.dev.Compiler
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[ERROR] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
[ERROR] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
[ERROR] Could not find the main class: com.google.gwt.dev.Compiler. Program
will exit.
[INFO]
[INFO]
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
------------------------------------------------------------------------
[INFO] XWiki Platform - Web - Parent POM ..................... SUCCESS
[1.331s]
[INFO] XWiki Platform - Web - GWT API ........................ SUCCESS
[13.635s]
[INFO] XWiki Platform - Web - GWT - DOM API .................. SUCCESS
[9.809s]
[INFO] XWiki Platform - Web - GWT - User ..................... SUCCESS
[8.379s]
[INFO] XWiki Platform - Web - WYSIWYG ........................ FAILED
[12.190s]
[INFO] XWiki Platform - Web - Standard ....................... NOT BUILT
[INFO]
------------------------------------------------------------------------
[ERROR]
The following mojo encountered an error while executing:
Group-Id: org.codehaus.mojo
Artifact-Id: gwt-maven-plugin
Version: 1.1
Mojo: compile
brought in via: POM
I do not know what to do now. Could you please give me some suggestions?
Thank you!
Jue Wang
I'm not sure I agree with this patch (even though it might be right from a semantic POV), at least not before we discuss it and decide voluntarily that we want to change our existing terminology.
We call them headers and not headings at the moment. This is true both in the language we use and in the technical code (HeaderBlock, etc).
So if we want to change that, we'll need to :
- modify the documentation (xwiki.org and javadoc)
- modify the class names in the code (HeadingBlock, HeadingLevel, etc)
Since it's a big change I'm not sure we want it.
Also note that this has nothing to do with HTML so even though HTML might call them headings it doesn't matter for us (our syntax is independant or the renderer syntax).
WDYT?
Thanks
-Vincent
On Apr 22, 2010, at 12:56 AM, sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2010-04-22 00:56:11 +0200 (Thu, 22 Apr 2010)
> New Revision: 28505
>
> Modified:
> enterprise/trunk/wiki/src/main/resources/XWiki/XWikiSyntax.xml
> Log:
> XE-647: Misuse of the "header" term instead of "heading" when referring to the html h1-6
> Fixed.
> Patch from Dan Bozaru applied without changes.
>
> Modified: enterprise/trunk/wiki/src/main/resources/XWiki/XWikiSyntax.xml
> ===================================================================
> --- enterprise/trunk/wiki/src/main/resources/XWiki/XWikiSyntax.xml 2010-04-21 22:55:34 UTC (rev 28504)
> +++ enterprise/trunk/wiki/src/main/resources/XWiki/XWikiSyntax.xml 2010-04-21 22:56:11 UTC (rev 28505)
> @@ -85,7 +85,7 @@
> |Two standalone elements not separated by 2 new lines|{{{| table cell}}}\\{{{* list item}}}|{{{| table cell}}}\\\\{{{* list item}}}
> |Two standalone elements not separated by 2 new lines|{{{paragraph}}}\\{{{----}}}\\{{{paragraph}}}|{{{paragraph}}}\\\\{{{----}}}\\\\{{{paragraph}}}
> |Ignored new line at beginning of document|<new line at beginning of document>\\paragraph|paragraph
> -|Not closed header syntax|{{{=== header}}}|{{{=== header ===}}}
> +|Not closed heading syntax|{{{=== heading}}}|{{{=== heading ===}}}
>
> = Paragraphs =
>
> @@ -102,11 +102,11 @@
> |Two paragraphs|Paragraph one\\\\Paragraph two|Paragraph one\\\\Paragraph two|Paragraph one\\\\Paragraph two|Paragraph one\\\\Paragraph two
> |Parametrized paragraph|<p style="text-align:center;color:blue">Centered and blue paragraph</p>|{{{(% style="text-align:center;color:blue" %)}}}\\Centered and blue paragraph|(% style="text-align:center;color:blue" %)\\Centered and blue paragraph|(% style="text-align:center;color:blue" %)\\Centered and blue paragraph
>
> -= Headers =
> += Headings =
>
> (% style="width:100%" %)
> |=Feature|=XWiki Syntax 1.0|=XWiki Syntax 2.0|=Result
> -|Standard headers|(((
> +|Standard headings|(((
> 1 level 1
> 1.1 level 2
> 1.1.1 level 3
> @@ -125,11 +125,11 @@
> <!-- Note: replace this with wiki syntax when http://jira.xwiki.org/jira/browse/XWIKI-4358 is implemented -->
> <h1 id="Hlevel1"><span>level 1</span></h1><p>&nbsp;</p><h2 id="Hlevel2"><span>level 2</span></h2><h3 id="Hlevel3"><span>level 3</span></h3><h4 id="Hlevel4"><span>level 4</span></h4><h5 id="Hlevel5"><span>level 5</span></h5><h6 id="Hlevel6"><span>level 6</span></h6>
> {{/html}})))
> -|Parametrized headers|<h1><span style="color:blue">header</span></h1>|{{{(% style="color:blue" %)}}}\\= header =|(((
> +|Parametrized headings|<h1><span style="color:blue">heading</span></h1>|{{{(% style="color:blue" %)}}}\\= heading =|(((
> {{html}}
> -<h1 id="Hheader" style="color:blue"><span>header</span></h1>
> +<h1 id="Hheading" style="color:blue"><span>heading</span></h1>
> {{/html}})))
> -|Headers with wiki syntax|1.1.1 Header with *bold*|{{{=== Header with **bold** ===}}}|(((=== Header with **bold** ===)))
> +|Headings with wiki syntax|1.1.1 Heading with *bold*|{{{=== Heading with **bold** ===}}}|(((=== Heading with **bold** ===)))
>
> = Text Formatting =
>
> @@ -829,12 +829,12 @@
> (% style="width:100%" %)
> |=XWiki Syntax 1.0|=XWiki Syntax 2.0|=Generated XHTML
> |((({{{
> -<h1 class="myClass" style="myStyle" id="myId">header</h1>
> +<h1 class="myClass" style="myStyle" id="myId">heading</h1>
> }}})))|((({{{
> (% class="myClass" style="myStyle" id="myId" %)
> -= header =
> += heading =
> }}})))|((({{{
> -<h1 class="myClass" style="myStyle" id="myId">header</h1>
> +<h1 class="myClass" style="myStyle" id="myId">heading</h1>
> }}})))
>
> {{id name="syntaxes"/}}
> @@ -848,4 +848,4 @@
> * [[Creole 1.0>>http://www.wikicreole.org/wiki/Creole1.0]]
> * [[XHTML 1.0>>http://www.w3.org/TR/xhtml1/]]
>
> -{{warning}}The implementation for these syntaxes is not fully finished yet. For example support for links is not working perfectly yet. We also need to define if we want to extend the original syntaxes to support XWiki-specific features like ability to link to another sub-wiki.{{/warning}}</content></xwikidoc>
> \ No newline at end of file
> +{{warning}}The implementation for these syntaxes is not fully finished yet. For example support for links is not working perfectly yet. We also need to define if we want to extend the original syntaxes to support XWiki-specific features like ability to link to another sub-wiki.{{/warning}}</content></xwikidoc>
Hi devs,
I'm working on a generic rendering cache system base on configuration.
You can see a first version on
http://jira.xwiki.org/jira/browse/XWIKI-5110 (The reason why there is
already a complete working POC is because it has been tested for a
client need and now i'm writing this proposal to integrate it in
standard).
The idea is to be able to list pages to cache without touching them
(that would be more cache macro in xwiki/2.0 syntax or
$context.setCacheDuration in xwiki/1.0) and whatever the syntax.
= Proposal =
1. The main configuration is a regexp patter based list of document
full references (wiki:Space.Page). Here is an example of
xwiki.properties configuration:
core.renderingcache.documents=xwiki:Blog\..*
core.renderingcache.documents=[0-9][0-9][0-9][0-9]_[0-9][0-9]_
The other proposed configuration for now are: is this feature enabled
(disabled by default IMO), size of the cache (the size include the
number of document and the number of panels for each document which
are separated cache entries as well and different languages etc... so
it's not the number of cached documents), time to live in the cache
(the same for the whole cache, it's a pain to configure something for
each document in a central configuration and i'm not sure we really
need that). I plan to provide configuration at xwiki.properties and
XWiki.XWikiPreference level so the configuration could be different by
wiki.
2. Caching is done at XWikiDocument#getRenderedDocument methods level.
Currently the POC I did also cache document panels (the result of the
panels in the context of the listed document), problem is that at
XWikiDocument#getRenderedDocument level it's very difficult to know
what is the real current document. All existing way would be hacks
since there is no official way to get the panel document from java.
Note that you have the same result with $context.setCacheDuration:
every rendering done after the call to $context.setCacheDuration is
cached and panels are generally rendered after the document content.
3. When a document is modified the cache values related to this
document are automatically invalidated. So you don't have to wait to
see new content.
4. Each cache value is unique based on the following informations
* current document reference
* current action
* current language
* calling URL query string
* source (that's how panels are supported, it's same informations
except for the source)
I insist on the fact that it does not cache the result of the html
page but each rendered content. For example all skin and template
related content is not cached (menu bar, comments UI, etc...).
= Nice to have but not easy currently =
a. Extends 2. to also support modifications on included documents.
That would be definitely nice and it should be done at some point I
think but currently we don't really have any clean generic way to get
all documents included for sure (includes inside other macros are not
listed by the existing API for example, that would need some
refactoring).
b. Separate document cache and panels cache. As I already witten
that's would need important refactoring to not be a hack.
= Side notes =
I. This proposal comes with a generic document reference based cache
component which take care of the event based cache invalidation
system (3.) and support cache keys based on document reference and
extensions (4.). We could reuse this component in other document
reference based keys caches like image plugin.
WDYT ?
--
Thomas Mortagne
Hi devs,
We need to support some way internationalization of everything in the
rendering that appear in the UI, for now it's mainly related to
macros.
What I propose is to introduce the rule that any displayable String
returned by the API (MacroDescriptor#getName,
ParameterDescriptor#getDescription, etc.) could be a l10n key. Then
the API user call the l10n component to get the final String.
pros:
- no need to touch the current API
- it avoid having complex API to support l10n specifics and makes
pretty much everything depends on l10n component. It's easier for
macro author to write a quick macro with some description without
having to create l10n resource and call the l10n component just for
english for example.
- the displayer can control how to get actual translations the way it wants
- we need something like that for wiki macros anyway: XWiki does not
support translations of objects yet (and for long I guess since the
issue is at database level) and it would be a pain to have to copy the
content of the macro by language since most of the time the script of
the macro would not be related to the language
cons:
- it's more work for the API user to filter the String with the l10n
component to get the actual final String
One detail I'm not sure of is if we introduce some syntax to
explicitly indicate it's a l10n key or if we just always give the
String to the l10n component which will return it as it is if it can't
find any matching key.
Having an explicit way to indicate a String is a key would be better
to track l10n keys bugs but introduce a syntax is always more complex
(what chars to choose, how to escape, etc...).
WDYT ?
Thanks,
--
Thomas Mortagne
Hello XWiki Community,
We're still looking for the new XWiki.org logo. First of all, many
thanks to all those who submitted their ideas (
http://dev.xwiki.org/xwiki/bin/Community/LogoChallenge ). After the
first round of votes (digest here:
http://spreadsheets.google.com/ccc?key=0Ah6DqXzfHT2vdHV5Ty1LX3lKU3U5V3M4YmN…),
we chose 6 "popular" proposals for the second round:
http://dev.xwiki.org/xwiki/bin/Community/LogoChallengeRound2 .
The authors of these proposals were asked to do the following, if not
already done for round 1:
* try to integrate any constructive feedback that came with the
votes (a digest of the feedback from the emails is available for each
proposal on
http://dev.xwiki.org/xwiki/bin/Community/LogoChallengeRound2 )
* polish the design (if they consider it necessary)
* provide the requested variations for .org, enterprise and office
* provide samples for light and dark background
* provide a black&white version
* provide a 16X16 icon containing the logo or a representative part
of the logo
* provide a nice "Powered by XWiki" button that goes with the logo
* provide a mockup/screenshot with the logo used in the current
skin, colibri
For most of the finalist logos, the _final_ versions were already
uploaded here:
http://dev.xwiki.org/xwiki/bin/Community/LogoChallengeRound2 .
For those who were not updated, we will use the initial submissions
for round 2 as well,
and voters will have to use their imagination in case
any of the required use cases is missing.
VOTING:
You can send your vote on the mailing list (devs(a)xwiki.org or
users(a)xwiki.org), in reply to this email. No twitter votes this time.
Each voter can grant a whole +1 to only one of the 6 finalists
(
http://dev.xwiki.org/xwiki/bin/Community/LogoChallengeRound2#HFinalistpropo…
).
IMPORTANT: Before choosing a logo based on your personal preference,
please try to also ask yourself the following questions:
* Is it distinctive? Note that it should not resemble other logos,
including the XWiki SAS/xwiki.com logo.
* Is it easy to remember and recognize?
* Does it blend in smoothly with the Colibri skin? With the new
XWiki.org skin? Note that adjustments to the skin is possible, in order
to better integrate with the logo.
* Is the design scalable? Could it (or parts of it) be
successfully used in a 16X16 icon? Would it look good on a very large
poster?
* Can it be used (as it is, or adapted) on both light and dark
backgrounds?
* What would it look like in black and white (not just grayscale)?
It's ok if some details are lost, but it needs to still look
attractive and keep the main features.
TIMELINE:
08/Apr/10 : Beginning of second round of votes on devs(a)xwiki.org,
users(a)xwiki.org
11/Apr/10 : End of votes
Thanks,
--
Sergiu Dumitriu
http://purl.org/net/sergiu/