Hi Community,
The following message expresses my personal opinions as a member of the
community, so it might not be entirely accurate. The goal is to start a
discussion about how can we attract more contributors and committers to
the XWiki open source project, and will address three main subjects:
- the current state of the community and committers
- the possibility of joining or creating a non-profit foundation to
govern XWiki
- the possibility of using Fundry as a way for users to fund XWiki
development
-----
Status of the community
At the start of a new year, it's time to look a bit at the status of
XWiki, the project and the community.
XWiki was created by Ludovic Dubost as an open source project from the
start. Later, he founded a commercial company (XWiki SAS, back then
XPertNet SaRL) as a way to financially support the development of the
product. It kept the project entirely open, unlike the many false open
source companies that only offer a basic open source version, forcing
people to buy the commercial one (the open core model), or that only
release the source code while still doing behind-the-curtains
development, or that almost completely ignore the outside community.
See the XWiki SAS values: http://purl.org/xwiki/sas-values and
manifesto: http://purl.org/xwiki/sas-manifesto
The committers, elected for their merit, and not made automatically as
employees of the company, always tried to maintain a healthy community
and attract new contributors/committers. Thus, the XWiki software is
developed not by the XWiki SAS company, but by the XWiki community.
http://dev.xwiki.org/xwiki/bin/Community/ has a lot of information about
the community, and the development process.
As of January 2011, there are 16 core committers, 12 of which are XWiki
SAS employees, and 3 are or were related to XWiki SAS one way or another.
http://dev.xwiki.org/xwiki/bin/Community/HallOfFame#HCoreCommitters
A big part of the development is aided by non-committer members of the
community, either by providing patches, testing and reporting bugs,
requesting new features, providing feedback, answering on the mailing
lists, etc. As committers, we tried to listen to the community when
developing the project, but as paid employees we have to also listen to
the company requirements. With a limited manpower it's very hard to
evolve as fast as the community would want, or in all the directions
that the community wants. And we welcome any help here.
The project is healthy, we have regular and frequent releases, with
visible progress with each new release (see Vincent's statistics on
http://massol.myxwiki.org/xwiki/bin/Blog/XWikiIn2010 for more details).
Still, I'm a little disappointed with the development speed. Lately, out
of the 16 committers on average about 3-4 are actually available for
platform development during a day.
* How can we help speed up the growth of the community?
* How can we attract more developers outside XWiki SAS?
-----
Joining/forming a free software foundation
One possible reason while so few people are willing to become committers
could be that XWiki SAS might appear to over-control the software, and a
clear non-profit foundation on top of XWiki might make it more obvious
that XWiki is a true open source project, and anybody is welcome to join.
XWiki SAS is a member of the OW2 consortium http://ow2.org/ , and this
membership also extends a bit to the XWiki project. OW2 used to host all
our infrastructure, SVN, mailing lists, downloads... Currently only the
official downloads linked from the main download page are hosted on OW2
servers, as we've gradually moved parts of the development
infrastructure on servers provided by XWiki SAS.
While OW2 is a great home for XWiki SAS, it's mostly a company
consortium, not a software development foundation. The most development
help coming from OW2 consists of research projects involving both OW2
and XWiki SAS, thus the OW2 membership doesn't bring much value when it
comes to code.
One option is to form an XWiki non-profit Foundation, which will govern
all XWiki-related software development. The main disadvantage would be
that there's a risk that it won't make any difference at all, while
adding the burden of more paperwork. This is where your opinion comes
into play, since there's no point in doing all the hard work if the
community doesn't see a clear benefit in it.
The Apache Foundation has the huge disadvantage that it requires a
license change, but it's a very well known home for software
development, with good visibility.
The Software Freedom Conservancy has been getting a lot of press
recently, since several high profile projects joined it. It's got a few
top-notch projects under its hood, so XWiki would be among well known
projects in there.
A smaller, compatible alternative is Codehaus, but I'm not convinced
they would make a difference with respect to our needs.
Other foundations aren't really suited for XWiki, since they either
don't bring value to the community because they don't foster
inter-project collaboration (SourceForge, Google Code), or don't match
the project goals (FSF, GNU, Eclipse, Linux, Mozilla...).
So, some questions in regard to this subject:
* Is there anybody that would like contribute more / become a committer?
* Do users believe that a foundation on top of XWiki will help attract
more developers?
Please note that this is not THE discussion about which foundation to
join, just trying to see if there is a benefit in doing so.
-----
Supporting code development
Becoming a committer requires time, and few people can spend that time
when there's no direct benefit involved. XWiki SAS employees are already
being paid to work with XWiki, so they can contribute to the platform
because the company benefits directly from their work. Employees of
other companies that deal with XWiki do spend time contributing, but
very few actually got to hang around enough to be voted as committers,
although many came close, but stopped short of it.
One way of supporting code development is to contact XWiki SAS and sign
a contract to develop one or more features with a higher priority.
An alternative, which allows to share the cost with other
companies/individuals, is to collaboratively request and support feature
development (crowdfunding), for example through Fundry, a new site
especially designed for this. I've set up an account for XWiki at
https://fundry.com/project/58-xwiki . This is also a good place to
donate to the XWiki project, since there are no visible ways to
financially support the project.
Fundry would allow to gather financial incentives for non-employees to
contribute more code, thus involving the community more in the direction
the software evolves, and attracting more potential contributors.
* Do you (the community) think this is a good idea and it would help?
* Would you be willing to contribute/donate to the project?
-----
Please provide us with your feedback, so we can advance on these topics.
Thanks,
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi,
As an adept of freemind I was very happy to see that a freemind macro
exist for xwiki.
Unfotunately I have a ClassNotFoundException when tha applet is invoked
by the macro, it seems that the FreeMind java library can not be found
by the downloaded applet.
Here is the Stack Trace of the exception :
/Java Plug-in 1.6.0_15
Utilisation de la version JRE 1.6.0_15-b03 Java HotSpot(TM) Client VM
charger : classe freemind.main.FreeMindApplet.class introuvable.
java.lang.ClassNotFoundException: freemind.main.FreeMindApplet.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at
sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection
failed:http://code.xwiki.org/xwiki/bin/view/Macros/freemind/main/FreeMindAp…
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Exception : java.lang.ClassNotFoundException:
freemind.main.FreeMindApplet.class/
The exception occurs on my instance of xwiki and on the xwiki web site
at this example address :
http://code.xwiki.org/xwiki/bin/view/Macros/MindMapMacro
My instance of xwiki is XWiki Enterprise 1.9.3.22597 on Windows XP SP3
and as you see in the stack trace I have the last 1.6.0_15 java plugin.
Can you give me an advice to resolve this problem.
Thanks in advance,
Julien
Hi All,
I have installed "XWiki Enterprise 2.2.1.27354" on my laptop, and found that
after created or modified the document, the "created" and "last modified"
time are wrong!
For example, my local time is "2010/04/28, 22:08", but the "date" of the
document I just created is "2010/04/28, 09:38". My local time zone is
"Beijing, China", UTC/GMT +8 hours.
How could I solve this issue? You comments are welcome!
Island
Hello,
I'm fulfilling a request as seen on :
http://www.myxwiki.org/xwiki/bin/view/Main/
I'd like to use xwiki as a personal/family blog.
My user name at myxwiki.org : Thomas
The server name I'd like to use : fnd
Please let me know if it still possible.
Best regards
Thomas DOUCEDAME
Greetings all ...
We are testing out xwiki at my company and have opted for the option to
install into WebSphere (on Linux) with a MySQL backend. I have created the
backend database and installed the war file into the application server.
However at start-up time I get the following error; (Has anyone seen this
before and know what has to be done)
[10/28/10 7:19:51:596 CDT] 00000029 ApplicationMg A WSVR0204I:
Application: xwiki-enterprise-manager-web-2_5_war Application build level:
Unknown
[10/28/10 7:20:00:191 CDT] 00000029 webapp I
com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web
Module: xwiki.
[10/28/10 7:20:00:283 CDT] 00000029 WASSessionCor I SessionContextRegistry
getSessionContext SESN0176I: Will create a new session context for
application key default_host/xwiki
[10/28/10 7:20:00:381 CDT] 00000029 MBeanDescript I ADMN1216I: One or more
methods in Portlet mbean is excluded from access check.
[10/28/10 7:20:00:405 CDT] 00000029 MBeanDescript I ADMN1216I: One or more
methods in PortletApplication mbean is excluded from access check.
[10/28/10 7:20:01:299 CDT] 00000029 jsp W
com.ibm.ws.jsp.taglib.TldParser endElement JSPG0235E: The JSP container
failed to load the TagExtraInfo class
[org.apache.struts.taglib.EnumerateTei] from /WEB-INF/struts.tld
[10/28/10 7:20:01:301 CDT] 00000029 jsp W
com.ibm.ws.jsp.taglib.TldParser endElement JSPG0235E: The JSP container
failed to load the TagExtraInfo class [org.apache.struts.taglib.IterateTei]
from /WEB-INF/struts.tld
[10/28/10 7:20:03:902 CDT] 00000029 webapp E
com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E:
Exception caught while initializing context: {0}
java.lang.RuntimeException: Failed to find
the Observation Manager component
at
org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:81)
at
com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1667)
at
com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:368)
at
com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:294)
at
com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100)
at
com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166)
at
com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:731)
at
com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:616)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1120)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1313)
at
com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:619)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:938)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:723)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1264)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4566)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4654)
at
com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1269)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2041)
at
com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:437)
at
com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:122)
at
com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:380)
at
com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:651)
at
com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:613)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36)
at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:243)
at
javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1086)
at
javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:967)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773)
at
com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1320)
at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at
com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1213)
at
com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
at
com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:242)
at
com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:353)
at
com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:595)
at
com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1772)
at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to
lookup component [role = [org.xwiki.observation.ObservationManager] hint =
[default]]
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:364)
at
org.xwiki.component.embed.EmbeddableComponentManager.lookup(EmbeddableComponentManager.java:115)
at
org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:78)
... 55 more
Caused by: org.xwiki.component.phase.InitializationException: Failed to
lookup Event Listeners
at
org.xwiki.observation.internal.DefaultObservationManager.initialize(DefaultObservationManager.java:137)
at
org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:423)
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:357)
... 57 more
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to
lookup component [role = [org.xwiki.observation.EventListener] hint =
[ExtensionManagerApplicationStarted]]
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:364)
at
org.xwiki.component.embed.EmbeddableComponentManager.lookupList(EmbeddableComponentManager.java:142)
at
org.xwiki.component.internal.DefaultComponentManager.lookupList(DefaultComponentManager.java:105)
at
org.xwiki.observation.internal.DefaultObservationManager.initialize(DefaultObservationManager.java:133)
... 59 more
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to
lookup component [role =
[org.xwiki.extension.repository.CoreExtensionRepository] hint = [default]]
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:364)
at
org.xwiki.component.embed.EmbeddableComponentManager.lookup(EmbeddableComponentManager.java:125)
at
org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:397)
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:357)
... 62 more
Caused by: java.lang.NullPointerException
at java.util.Collections.addAll(Collections.java:2625)
at
org.reflections.util.ClasspathHelper.getUrlsForCurrentClasspath(ClasspathHelper.java:49)
at
org.reflections.util.ClasspathHelper.getUrlsForPackagePrefix(ClasspathHelper.java:35)
at
org.xwiki.extension.repository.internal.DefaultCoreExtensionRepository.loadExtensions(DefaultCoreExtensionRepository.java:77)
at
org.xwiki.extension.repository.internal.DefaultCoreExtensionRepository.initialize(DefaultCoreExtensionRepository.java:72)
at
org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:423)
at
org.xwiki.component.embed.EmbeddableComponentManager.initialize(EmbeddableComponentManager.java:357)
... 65 more
[10/28/10 7:20:04:752 CDT] 00000029 servlet I
com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I:
[xwiki-enterprise-manager-web-2_5_war] [/xwiki] [action]: Initialization
successful.
[10/28/10 7:20:04:754 CDT] 00000029 webapp W
com.ibm.ws.webcontainer.webapp.WebApp initializeTargetMappings SRVE0274W:
Error while adding servlet mapping for path-->/xwiki/*,
wrapper-->ServletWrapper[action:[action:/bin/*, action:/wiki/*,
action:/testbin/*, action:/xwiki/*]],
application-->xwiki-enterprise-manager-web-2_5_war.
Hello,
I installed XWiki today and when I first tried to view the Wiki, I received
the following error:
Error 500: Component manager has not been initialized before lookup for
[org.xwiki.model.reference.DocumentReferenceResolver] for hint
[currentmixed]
Could anyone give me advice about this error message?
I installed it on Websphere AS 6.1, fix level 23, and Oracle 9g. I modified
the Hibernate config file to use Oracle with "OracleDialect" pointing at my
database. I also added the dummy data source. I added the PNG mime-type
and restarted WAS. I added ojdbc41.jar to the WEB-INF/lib folder of the
WAR. I did change the Web app context to "wiki" instead of "xwiki", but I
didn't think that should make a difference.
Thanks in advance,
Scott McMasters
Dear all,
I have a class with a UserList attribute. I am trying to add users to
this list from an other page with no success. I try using the following
code :
#if($joinTask!="")
#set($taskDoc = $xwiki.getDocument("Project.${joinTask}"))
#set($taskObj = $taskDoc.getObject("XWiki.TaskClass"))
#set($list = $taskObj.get("assignedPeople"))
$list.add($xwiki.getUser())
$taskObj.set("assignedPeople", ${list})
$taskDoc.save()
#end
but $list.add does not exist so I tried differently :
#if($joinTask!="")
#set($taskDoc = $xwiki.getDocument("Project.${joinTask}"))
#set($taskObj = $taskDoc.getObject("XWiki.TaskClass"))
#set($list = $util.getArrayList())
$list.add($xwiki.getUser())
$taskObj.set("assignedPeople", ${list})
$taskDoc.save()
#end
but I have a casting exception.
I had a look on the velocity website, on this list archives,... with no
success
My question is : Can I add users like that or the only way is through
the edit panel and if yes, what is my mistake ?
Best regards,
Jean
--
----
Jean Couteau
Code Lutin - http://www.codelutin.com
44 Bd des Pas Enchantés - 44230 St-Sébastien/Loire
Tél : 02 40 50 29 28 - Fax : 09 59 92 29 28
Hello XwikiUsers,
Greetings for the day.
Need to know the best approach form your experience in Xwiki to
implement comment moderation .I could not find any topic in forum related
to this .
The appoach i've taken is this
Initiating a new boolean property isApproved in XwikiComments Class
Modifying inlinecomments.vm to have an approve link in similar way to
delete
I'm getting stuck in the second point being not sure what would be the URL
to update that property .
Thanks in advance
Regards,
Anjankumar Panda
E-mail Disclaimer: http://www.csscorp.com/common/email-disclaimer.php
Hi,
I am Avinash Parida , undergraduate final year from India . I am
really interested to work with XWiki organization , and propose my
project for GSoC 2011. I have attached an overview of the
Project Proposal for Mobil Skin XWiki and my resume outlining relevant
work experience and education . I feel my skills and knowledge in web
technologies and design are of best utilization for this project.
www.globaldelight.com/XWiki/Gsoc-XwikiProposal.pdf
<http://www.globaldelight.com/XWiki/Gsoc-XwikiProposal.pdf%20>[Gsoc
Project Proposal]
I have also attached detailed mobile views for the project.These are initial
layouts and am willing to make further iterations on remarks.
www.globaldelight.com/XWiki/XWiki-Mobile-layouts.zip [Mobile Skin Layouts ]
Please have a look at the proposal and i am ready for comments and
fine-tuning it.
Hoping for a positive response.
Regards,
Avinash Parida
BTech 2011
DA-IICT
User Interface Intern
Robosoft Technologies