Hi,
I have a small doubt on how listener is implemented in
MediaWiki2XWikiExtension
Groovy Code Snippet --
http://code.xwiki.org/xwiki/bin/view/Extensions/MediaWiki2XWikiExtension
<%
import org.dom4j.io.SAXReader
import org.dom4j.*
import groovy.net.xmlrpc.*
import java.net.ServerSocket
import org.wikimodel.wem.mediawiki.MediaWikiParser
import org.wikimodel.wem.xwiki.*
class PruningPageHandler implements ElementHandler {
def proxy, token;
def counter = 0;
def max = 10000;
PruningPageHandler(proxy, token) {
this.proxy = proxy
this.token = token
}
def messages = []
public void onStart(ElementPath path) { }
public void onEnd(ElementPath path) {
def page = path.current
def title = page.elementText('title')
title = title.replaceAll(' ','_')
def id = page.elementText('id')
println(title+ '('+counter+')')
def revision = page.element('revision')
def revid = revision.elementText('id');
def revtext = revision.elementText('text');
def contributor = revision.element('contributor')
def username = contributor.elementText('username')
def index = revtext.substring(0,
Math.min(30,revtext.length())).toLowerCase().indexOf("redirect")
counter++;
if (counter < max && index < 0) {
revtext = revtext.replaceFirst("^-", "*");
revtext = revtext.replaceAll("__","")
revtext = revtext.replaceAll("[\\|][\\+]","")
def buffer = new StringBuffer()
buffer.append(revtext)
try {
*def reader = new StringReader(revtext);
def parser = new MediaWikiParser();
buffer = new StringBuffer()
def listener = new XWikiSerializer(buffer);
parser.parse(reader, listener);*
} catch (Exception e) {
println(e.getMessage())
}
def map = new HashMap()
map.put('content', buffer.toString())
map.put('modifier', username)
map.put('space','Wikipedia')
map.put('title',title)
try {
proxy.confluence1.storePage(token, map)
} catch (Exception e) {
println(e.getMessage())
}
}
page.detach() // prune the tree
}
}
%>
XWikiSerializer has a constructor with some class implementing IWikiPrinter
. But how come a StringBuffer is used here.
Am trying to simulate the same from a java application,and a fact that use
of StringBuffer fails here. How to create a listener object in that case.
Thanks and Best Regards,
Arun Reddy
Hi XWikiers,
Ludovic (XWiki's founder) and I (XWiki OSS product manager) will be at
JavaOne in San Francisco from Sunday, May 31 to Saturday, June 6 included.
We'd be really happy to meet and hook up with community members and XWiki
users from the far side of the world :-)
We'll be on OW2 booth from Tuesday, June 2 to Thursday, June 4 during the
conference. We'd be really happy to meet with users outside the timeframe of
the conference too... Simply let us know whether you're in the area and
we'll go grab a beer while feverishly discussing XObjects and XClasses ;-)
Also, Jim Grisanzio told me there would be many people from the OpenSolaris
community hanging around, so JavaOne will be the perfect opportunity for
other XWiki Users to discover what the OpenSolaris community has been doing
with XWiki of late (cf.
http://opensolaris.org/os/community/web/restructuring/preview/ for more
information on the topic).
Looking forward hearing from you guys (and gals !!),
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype ID : wikibc
http://guillaumelerouge.com/
Hello guys,
I'm developing my first application in syntax 2 for a customer.
I started on a 1.8.2 XE and just moved on a 1.8 Snapshot (the latest
build - 05/16).
Here is my problem :
I have a little #if in a #foreach that works on my 1.8.2 but not on my
1.8 Snapshot and I totally don't know why.
#set($tradliste = $doc.getObjects("RimayCode.Traduction"))
#foreach($traduc in $tradliste)
#if($!traduc.langue == "Francais")
$!traduc.langue : $!traduc.traduction <br />
#end
#end
On my 1.8.2 the "foreach" returns all the objects with the good values,
and the "if" is a filter to display the items with a "Francais" value in
the "langue" field.
On my 1.8 Snapshot the "foreach" returns all the objects with the good
values, but the "if" doesn't work : not any result.
There is probably a pb, something new to do to create a test like this
but I can't see what...
"langue" is a static list with 4 options (1=Francais|2=Tibetain|3=...)
Any idea ?
Thomas
Hai...
I have some doubts regarding the Document Type Manager. I need some detail
specification regarding the Document Type Manager.This is what I realised
about it.
According to the mockups
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/DocumentTypeManager
figure 1:
Is to define the class name and the space like the class editor wizard. But
I'm not clear about the other fields "Create Invitation Text" and "Grid
Invitation Text"
As in the heading of the mockup its says "DocumentTypeManagerEditType". I'm
not clear about from where the new document type is going to create. Is that
Mockup is missing.Or is it this UI also use in creating the document.If so I
feel that "Create this Document Type."button is missing.
figure2 & 3:
Use to add the properties for the new or existing document type and to
define the properties of properties.
I'm not clear about the next two tabs.
Grid Tab: Lists the documents with the same type.
Template Tab:Not clear about this tab.
This is the action flow I had realised.
1.User define a new document type by giving a name and space .(So document
manager creates the document based on the request paramerters)Or based on
the selection of the document types from the list shown in the left side,
Tab will shows the details regarding to the relevant selection.
2.Then user add the properties for the document type. Like in class editor
wizard.(After clicking the save button document type complete its
generation)
I'm not clear about the action flow of the other tabs. (Grid and Template
tab)
As an abstraction what I was feel that this is same as the class editor
wizard with different looking.Its like hiding the complxity of creating
classes and sheets. All the things will be automated using this wizard.If I
was wrong please correct me.
Currently I'm studying the "class editor wizard code,protoype and
smartclient".Hoping to get on to the design after I get the good
understanding about the document type manager.
Thank you.
--
~ Chathura Prabuddha Ganegoda~
Undergraduate,
Department of Computer Science & Engineering,
University of Moratuwa,
Sri Lanka.
http://gacpganegoda.blogspot.com/
Hi,
I want to change the color of links Login/Register wich is white to black
so i want to know wich css is responsible for this kind of links and what
should i do?
thank you very much
--
View this message in context: http://n2.nabble.com/Change-color-of-login-register-tp2932039p2932039.html
Sent from the XWiki- Dev mailing list archive at Nabble.com.
I have a java macro that requires the page to include an external js (e.g. jQuery) that works best if included in the head section of the document. Is there a way for a macro to trigger inclusion of resources like this to be included in the page header? In confluence this was done by having a #requireResource statement in a velocity template included by the macro.
How can this be done in xwiki?
--
Glenn
Hi developers,
I am currently working on getting the XWiki Watch trunk up to date working on a
1.8.x enterprise.
When I will be done with it, I would like to release a 1.1 M2 (to contain
currently fixed bugs + this update), based on 1.8.3 platform version, WDYT?
Here's my +1.
Happy coding,
Anca Luca
Hi,
I don't think we need different Macro Sources in the rendering module.
All we need is a single source that takes its macros from the
classloader.
What we do need are different modules that create Macro components so
that they are made available to the single Macro Source.
For example the annotations are defining macros and their not a
source. They don't need to be. All they have to do is call
ComponentManager.registerComponent() to register new macros.
The same should be done for macros defined as wiki pages or macros
defined in a remote repository. All we need are handlers that can
extract information and generate calls to
ComponentManager.registerComponent().
Now since we need to be performant we want to cache Macros at init
time in the Macro manager but we also need to support macros added
dynamically later on. For this I think we need to introduce Component
Manager events (this already exists in Plexus BTW) that would allow
listeners to get events when a component is created or disposed of. In
this manner the Macro Manager would subscribe to CM events for the
Macro.class role and be able to add/remove Macros on the fly.
WDYT?
Thanks
-Vincent
Hi Niels,
thanks for your feedback.
On Fri, May 15, 2009 at 12:03 AM, Niels Mayer <nielsmayer(a)gmail.com> wrote:
> On Thu, May 14, 2009 at 2:01 AM, Marius Dumitru Florea <
> mariusdumitru.florea(a)xwiki.com> wrote:
>
> >
> > For the first outcome I think we all agree that the user has to press
> > Shift+Enter. For the second and third outcomes I see two options:
> >
> > A) Enter for 2 and CTRL/META+Enter for 3
> > B) Enter for 3 and CTRL/META+Enter for 2
> > (if you see any other options please step up)
> >
>
> Sounds like wikimacs (wiki+emacs) :-)
>
> What about using a multiple-repeated enters. Kind of like a keyboard
> equivalent of a double, triple click, with some visual way of suggesting
> what level "upwards" in the DOM the return will create the next element
> (e.g
> a "box insertion caret" like for drag-drop operations):
>
> * a single enter in a list adds a paragraph or <br> within the current
> element. It does not create a new list or table entry.
>
> * double-enter, creates a new <li> <tr> etc (depending on if you're in a
> table, list etc) within the current table/list.
>
> * triple-enter, creates a new <li> <tr> <p> or <br> as the next element
> outside of the current list/table etc. (if in a nested table/list, it'll
> correctly add the next element)
We tried doing something similar for paragraphs (hit enter once to create
next line, twice for new paragraph) and the feedback we got from users was
pretty negative. It looks like the user's expectation about the enter key is
that it will create a new item (new paragraph, new list item, new whatever).
Thus the concept of double-enter similar to double-clicking doesn't seem to
work in practice so far. Thus I think we shouldn't reintroduce it.
-- Niels
> http://nielsmayer.com
>
> PS: I got to deal with all these fun issues back in ~1995 when i designed
> WWWeasel (reviewed at an early WWW conf
> here<http://nielsmayer.com/L27933-1529TMP.pdf>
> )
> http://nielsmayer.com/wwweasel/node26.html<
> http://nielsmayer.com/wwweasel/node26.html#SECTION00051000000000000000>
> http://nielsmayer.com/wwweasel/node27.html
> It is very helpful for the user to be able to see what's going on
> "structurally" at the same time as you're editing in WYSIWYG.... If you can
> graphically depict where in the DOM structure the "return" is pointing, at
> what level of scope, then it's a lot less confusing to the user.
The WYSIWYM concept is pretty interesting and powerful. I played around with
tools such as WYMeditor
http://files.wymeditor.org/wymeditor/trunk/src/examples/01-basic.html
and I definitely do like the concept. However, this is not the direction we
have taken so far with our new WYSIWYG editor. Changing it to make it a
WYSIWYM editor on top of what it currently does would require considerable
effort. Our focus right now is on eliminating quirks and bugs in all major
browsers to make the editor ready for production use. Therefore I think
we'll have to wait some time before even considering building a WYSIWYM
editor for XWiki.
However, please note that since you can store XWiki document contents as
XML, you could definitely try to plug WYMeditor on top of XWiki and make it
the default edition option. You'd lack the wiki-specific feature, but for
content insertion you'd benefit from the WYSIWYM interface :-)
Guillaume
> _______________________________________________
> users mailing list
> users(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
>
--
Guillaume Lerouge
Product Manager - XWiki
Skype ID : wikibc
http://guillaumelerouge.com/
I have a servlet I am porting from another environment that only needs a few services from XWiki (mostly user authentication and group membership). Is there a recommended way of getting a handle to an XWiki instance from a servlet that derives from HttpServlet? I was looking for some sort of static method I could invoke to retrieve this but haven't come across one yet.
Suggestions would be appreciated.
Thanks,
Glenn
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like
the following:
----------8<----------
* plants
* animals
** invertebrates
** vertebrates
---------->8----------
By pressing just Enter when the caret is inside a list item we create a
new list item. This is the basic mechanism. It's simple and it should
remain so.
If I want to make the previous list a bit more complex:
----------8<----------
* (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.)))
* (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms
of the kingdom Animalia or Metazoa.
They are divided into:)))
** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.)))
** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with
backbones or spinal columns.)))
---------->8----------
I have to be able to insert new lines inside a list item using the Enter
key but without creating a new list item. Let's consider the following
state:
----------8<----------
* (((= Plants =)))
---------->8----------
We have a level 1 heading inside a list item. The caret is inside the
heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<----------
* (((= Title 1
x =)))
---------->8----------
2. Continue editing in the same list item but after the heading, in a
paragraph:
----------8<----------
* (((= Title 1 =
x)))
---------->8----------
3. Create a new list item:
----------8<----------
* (((= Title 1 =)))
* x
---------->8----------
For the first outcome I think we all agree that the user has to press
Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3
B) Enter for 3 and CTRL/META+Enter for 2
(if you see any other options please step up)
I'm +1 for A) for the following reason: if the user has inserted a
heading in a list item then he will surely want to add more content
after that heading, thus pressing just Enter is the natural way of doing
this. From a technical POV the caret is first inside a heading and then
inside a list item so the heading should have the priority of handling
the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created,
which is using just Enter.
Please cast your votes and sorry for the long mail,
Marius
In 1.8, if too much data is entered in a doc's ?editor=object
fieldXWiki.JavaScriptExtension[] (say
a big chunk of JSON on the order of 97783 bytes) you can no longer save
without getting an underlying error. This appears related to the following:
com.xpn.xwiki.objects.LargeStringProperty -->
com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Data too long for column 'XWL_VALUE' at row 1
How can this be changed to allow for a larger limit on entries? Fortunately,
http://nielsmayer.com/xwiki/bin/view/Exhibit/Presidents3 ( src
<http://nielsmayer.com/xwiki/bin/download/Exhibit/Presidents3/Exhibit.Presid…>)
has entries small enough, but as you grow the amount of Javascript data you
hold in a XWiki.JavaScriptExtension you eventually get a failure like this:
A problem occured while trying to process your request. Please contact the
> webmaster if this happens again.
>
> Detailed information:
>
> Error number 3201 in 3: Exception while saving document Exhibit.pods
> Wrapped Exception: could not update: [com.xpn.xwiki.objects.LargeStringProperty#component[id,name]{id=-2025184002, name=code}]
> com.xpn.xwiki.XWikiException: Error number 3201 in 3: Exception while saving document Exhibit.pods
> Wrapped Exception: could not update: [com.xpn.xwiki.objects.LargeStringProperty#component[id,name]{id=-2025184002, name=code}]
> at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:595)
> at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:135)
> at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:128)
> at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:1282)
> at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:176)
> at com.xpn.xwiki.web.SaveAndContinueAction.action(SaveAndContinueAction.java:64)
> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:215)
> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:115)
> 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.doPost(ActionServlet.java:432)
>
> ...
>
> Wrapped Exception:
>
> com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'XWL_VALUE' at row 1
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2983)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
> at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1585)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1500)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1485)
> at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
> at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
> at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
> at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)
> at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)
> at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
> at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
> at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
> at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
> at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
> at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
> at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
> at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:866)
> at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:837)
> at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:585)
> at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:135)
> at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:128)
> at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:1282)
> at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:176)
> at com.xpn.xwiki.web.SaveAndContinueAction.action(SaveAndContinueAction.java:64)
>
>
Thanks.
Niels
http://nielsmayer.com
I'm having a difficult time adding a java macro and getting it to get invoked.
I first found this page and created my class and created a META-INF/plexus/components.xml per the 'tutorial' here: http://dev.xwiki.org/xwiki/bin/view/Drafts/Tutorial+to+Write+a+Macro+in+the…
I then found this tutorial for components (http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents) and created a META-INF/components.txt file and added an @Component("mymacro") annotation to the macro implementation.
However, I am unable to get my macro code to get called when pages are rendered.
Is there something else I'm missing? I've verified all the relevant files are in my jar.
--
Glenn
Hi,
I wanted to see if we could move our LogEnabled lifecycle phase to a
Logging component. I think it's not going to work since this means
injecting a LoggingFactory/LoggingManager component and you need to
call getLogger(this.getClass()) to get access to the Logger which is
awkward.
What I propose:
1) Use SLF4J (drop the slf4j-log4j jar in our WEB-INF/lib so that
SLF4J uses log4j by default)
2) Drop the JCL/JUL/LOG4j SLF4J legacy jars in our WEB-INF/lib too
and exclude the JCL/JUL/LOG4J jars from our poms so that all third
party logs go to our logging system
3) Non component code should use a SLF4J's LoggerFactory directly
4a) Keep LogEnabled and AbstractLogEnabled for our components
or
4b) Automatically inject a Logger and a ComponentManager when there
are fields with these types in a component class.
I like 4b) for its simplicity but I'm worried by the "magical" aspect
of it.
WDYT?
Thanks
-Vincent
Hi devs,
we are working with XWiki for about three years now (I think we
started using it around version 0.8). In this time we developed
several plugins, which we always planed to make open source to give
something back to the community. However, until now we never found the
time to do it. Now we saw in your GSoC proposals the project for a new
photo album application. We thought this would be a good moment to
contribute our photo plugin (or parts of it).
Short list of features:
- unzip an attached file and attach the contained files to a document
(i.e. the photo album)
- resize images to a maximum width and height maintaining the aspect
ratio (if you like already while unzipping) - only jpg until now. When
we wrote it, the XWiki image plugin stretched the images when width
and height were defined.
- read meta data from images (using http://www.drewnoakes.com/code/exif/
- sadly it seems the library is not updated anymore)
The plugin would be the Java part only and not directly affect the
GSoC project, since it seems to focus mostly on a new front end, but
we think the plugin could add some features to it. (Maybe I could
create a small example page if you are interested)
I hope to hear from you wether you are interested and if so, what
parts you are interested in.
Also don't hesitate to ask if you have questions or need further
information.
Edo
Hi,
I'm trying to build a plugin and am unable to resolve XwikiDefaultPlugin. In looking at the source I was expecting it to be in artifactId xwiki-core but I don't see this in the maven repository.
I put the following in my pom.xml but maven still is unable to find xwiki-core but is quite happy to find and download xwiki-component.
<dependency>
<groupId>org.xwiki.platform</groupId>
<artifactId>xwiki-core-component</artifactId>
<version>${platform.core.version}</version>
</dependency>
<dependency>
<groupId>org.xwiki.platform</groupId>
<artifactId>xwiki-core</artifactId>
<version>${platform.core.version}</version>
</dependency>
Anyone know how to resolve this?
Thanks,
Glenn
The XWiki development team is pleased to announce the release of XWiki
Enterprise 1.9 Milestone 2.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
Second and last milestone of the XWiki Enterprise 1.9 version.
Main changes:
* UI improvements
** Quick Jump to any Page navigation
** Faster Save and Continue using AJAX
** Improved Full Screen editing
** New Live Table UI
** Improved comments UI and functionality
** Multiple attachment upload in one request
** New UI for the Class and Object editors
** Improved toolbar in the wiki editor
** Preliminary support for Autosave
* WYSIWYG 2.0 improvements
* XWiki Syntax 2.0 rendering improvements
* XWiki 1.0 to 2.0 syntax converter improvements
* Switched to UTF-8 as the default encoding
* Mailsender improvements
* PDF export improvements
* JavaScript improvements
* Dutch tranlsations
For more information see the Release notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise19M2
Note that general goals for XWiki Enterprise 1.9 are:
* Finish/stabilize/document new rendering
* Finish/stabilize/document new wysiwyg editor
* Finish/stabilize/document office importer + doc splitter/management
* Finish/stabilize/document webdav
* Finish/stabilize/document REST support
* Usability improvements
Thanks,
The XWiki dev team
The XWiki development team is pleased to announce the release of XWiki
Enterprise 1.8.3 and XWiki Enterprise Manager 1.6.3.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
This release contains 59 bugfixes and enhancements. Most of the
modifications are targeting the general replacement of old 1.0 code and
content by 2.0 syntax and architecture and the stabilization of XWiki.
Summary of changes since XWiki Enterprise 1.8.2:
* Many WYSIWYG bugs fixed and improvements
* Many 2.0 syntax bugs fixed
* Many 1.0 to 2.0 conversion bugs fixed
* Several PDF export bugs fixed and improvements
* Improvements for the Office Importer
* A few bug fixes in many other places
For more information see the Release notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise183
and http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXEM163
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi devs,
Currently we are using BeanUtils to convert and populate macros
parameters and configuration. Problem is that BeanUtil has some
limitations:
- beanutils can't be configured to ignore case which is a pain for
macro parameters
- beanutils does not support enum or even base class so each enum
converter has to be registered one by one
- beanutils does not support public fields has bean properties
- beanutils not not support any annotation based validation
- we already have severall places in different components which use
beauntil to load java bean and they can't share custom converters not
provided by beauntil, a unique component will permit to add a bunch of
converters when initializing it
I propose to create our own component and api to deal with it.
You can find a first proto on http://jira.xwiki.org/jira/browse/XWIKI-3171:
* the entry point is PropertiesManager: it provide a populate
method and cached beans descriptors
* the populate method ignore case
* the populate method validate the bean using JSR 303 (use
hibernate-validator 4beta1 implementation)
* if the bean implements RowProperties, the remaining property
(the one non populated using setters of public fields) are given to it
as custom properties
* the populate method conversion use ConvertUtils so any
registered Converter against ConvertUtils is supported
* the populate method conversion also add support for:
o any Enum conversion, no need to register each enum anymore
o it also add support for Color conversion using "r,g,b" or
"#xxxxxx" format
* the populate method and the bean descriptor support public fields
I would like to commit it in 1.9 or 2.0 branch (I would prefer 1.9
branch at least for the ignore case part and since it change some api
used by macros it's better to commit it as soon as possible).
Here is my +1
--
Thomas Mortagne
Hi all,
I was using the tag cloud snippet , and it works pretty fine for the tags I created in my xwiki.
But about this code, I have two questions:
1. Is it possible to create this cloud on the tags inside a specific space?
2. When click on a tag, I get the following error:
Tags<http://localhost:8080/xwiki/bin/view/Main/Tags>
No document has been tagged yet. Documents can be tagged from the information section (footer) or from the Document information panel available in edit mode. For more information on tagging please refer to the User Guide<http://www.xwiki.org/xwiki/bin/view/UserGuide/>
Does anyone knows how to handle this ?
Thanks in advance,
Regards
Roney Castro
Roney Castro
Business Efficiency Trainee
Gemalto
Tel: +55 11 5105-7670 - +55 11 7535-4135
Fax: +55 11 5105-7600
Av. das Nações Unidas, 12495, 8º Andar
05425-070 - São Paulo - SP - Brasil
roney.castro(a)gemalto.com<mailto:roney.castro@gemalto.com>
www.gemalto.com<http://www.gemalto.com>
[cid:image001.jpg@01C9D225.BEDC47A0]