Hi devs,
Now that we have a SOLR search, I think we should close all Lucene-related JIRA issues as won't fix, remove the Lucene search by default in XWiki 5.3 and move it to xwiki-contrib.
I don't think we want to maintain 2 implementation especially since the SOLR one is better.
Here's my +1.
Thanks
-Vincent
Hello devs,
XWiki 5.2 M2's release has been postponed until this Wednesday. I'll test
the latest features, validate the bugs fixed for this version and also do a
full manual test in the following days. Is there anything else you want me
to test ?
Thank you,
Manuel
Hi devs,
As discussed with some of you on IRC I'm proposing to postpone the 5.2M2 release till Wednesday (Marius is RM BTW).
This should allow us to commit stuff that's on the roadmap for M2 and then tune them/improve them for the RC1 release.
Thanks
-Vincent
For the Workspace integration in XE, I need to modify the default XARs. It
makes me able to provide template XARs for the creation of subwikis, which
will be different from the XAR of the main wiki (for example: we don't need
the WorkspaceManager UI in every subwikis).
What I propose to do:
1/ Create a subproject *xwiki-enterprise-workspace-ui*, which defines what
a workspace should be.
1bis/ Create a *xwiki-enterprise-workspace-ui-all* too, in *
xwiki-enterprise-distribution*
2/ Create a subproject *xwiki-enterprise-wiki-ui*, which defines what a
subwiki should be.
2bis/ Create a *xwiki-enterprise-wiki-ui-all* too, in *
xwiki-enterprise-distribution*
3/ Add *xwiki-enterprise-wiki-ui* as a dependency of *xwiki-enterprise-ui*.
This will be a temporary solution, because we will have flavours in the
future.
WDYT?
Louis-Marie
Hi devs,
We've recently discussed about renaming the notion of (sub)wiki from "wiki" to "subwiki". We've discussed this in the context of integrating creation of (sub)wikis by default in the platform and in XE. So the latest discussion seemed to agree about:
* Calling the whole system a "Wiki"
* Calling each (sub)wikis a "SubWiki"
Now, I was working on updating the new model branch I have created to align to this and to rename my Server class to a Wiki class and my existing Wiki class to a SubWiki class…
I've realized that aligning our API on this is a huge task since we have tons of APIs using the word "wiki". Just to cite 3:
* WikiReference (reference)
* WikiComponentScope.WIKI (wiki component)
* WikiDeletedEvent (bridge)
It's a bit everywhere and changing that seems too big a task IMO.
Thus we have 2 real choices IMO:
* Agree that the UI has a different wording than the API: SubWiki for the UI and Wiki for the API
* Don't use subwiki in the UI and keep using Wiki in the UI and find another word to represent the whole system (System/Portal/Wiki System/WMS = Wiki Management System/Home/etc).
WDYT?
Thanks
-Vincent
Hi devs,
I'm working on the Active Installs module and I need to add a unique instance id in the database.
I'm proposing to put that code in a new module called xwiki-platform-instance. Right now it would only contain the unique id but int he future it could contain code related specifically to the xwiki instance.
I'd like to do this quickly. Let me know what you think.
Thanks
-Vincent
Hi devs,
Could all of you who added some UIX please make sure they are documented on http://extensions.xwiki.org/xwiki/bin/view/Extension/UIExtension+Module#HAv…
For example I can see that the "org.xwiki.platform.search" UIX is not documented…
It's very important since UI are like public APIs (probably even more important since they impact the visual appearance).
Thanks!
-Vincent
Hi devs,
I think it would be great to have some indication of how many active instances of XWiki are out there in the wild. The idea is not so much to know the figure but to see how this figures evolves and thus to see if we're doing things right. It will also give us information about how quickly or slowly our user base upgrades from version to version.
Here's my proposal:
* When installing XWiki on a clean DB (ie first time install) generate a unique id and store it in the DB (similar to the version we're storing in the DB but using some UUID). Thus when an install is upgraded the same id is preserved.
* When the Extension Manager is used and thus connects to extensions.xwiki.org (default extension repository), this unique ID is sent too.
* In addition the version of XE is sent too
* On extensions.xwiki.org side, we only log the unique ID/XE version **without** logging the IP or any other information thus ensuring that the ID remains completely anonymous
* We display a counter on xwiki.org about the # of active instances of XE with a graph about XE versions used
WDYT?
Thanks
-Vincent
Hi developers. I'm sorry to post such a long post, but the workspace
integration
in XE is a big deal, with a lot of things to discuss. That is why I
describe
the current state, what we want to have in the long term and what we can do
for 5.2.
1 - Current state
------------------
1.1 - What "Workspaces" is
---------------------------
Currently, "Workspaces" is a set of features developped on top of XWiki
Entreprise. It was developped for a research project and released as an
extension. We now have a special release for it, but "Workspaces" is still
not
integrated deeply into the core. From the core perspective, it is still
like an
"add-on".
That is why we have 2 modules: xwiki-platform-wiki-manager and
xwiki-platform-workspace.
1.2 - What a subwiki is
------------------------
A subwiki is just an other wiki, that can use either global or local users
(as
you decide). You can invite people to your subwiki through the "Invitation"
application, which is bundled by default. But the "Invitation" application
is
now hidden, so we need to add a new entry point for it.
1.3 - What a workspace is
---------------------------
A workspace is a "space" where people can collaborate for a project.
The actual implementation says that:
- a workspace is a subwiki
- a workspace does not have local users
- there is an option that make possible for people to "join" the workspace
(if
he is not already in), with the optionnal validation of an admin. These
options are called "membership type".
- a workspace can be created by everyone, by default.
+ there is an UI in the workspace administration to invite user to the
workspace.
1.4 - WorkspaceManager has to be installed
-------------------------------------------
When you download a new XEM and create a fresh instance of "Workspaces",
you
will have a message on the main page that invite you to "Install
WorkspaceManager".
This installation of WorkspaceManager creates a new subwiki called
"workspacetemplate". In this template, 2 XARS are imported:
- workspace-template.xar, which is a nothing but a renamed
xwiki-entreprise-ui-all.xar, most of the time.
- workspace-template-features.xar, that add some UI for the workspace
features
(changing the top menu, etc).
The installation also changes some settings in the template subwiki and
then,
4 pages are removed: XWiki.AdminRegistrationSheet,
XWiki.RegistrationConfig,
XWiki.RegistrationHelp, XWiki.AdminUsersSheet. This is because a workspace
is
not supposed to have local users.
This new workspace is a template, hidden to the users, and it will be used
when
you create a new workspace, unless the user manually decide to use an other
template.
If "WorkspaceManager" is not installed, you won't have the ability to
create
workspaces.
This installation process is dirty in my point of view. Why should the user
install something else after having installed XEM?
1.5 - What "WikiManager" is.
----------------------------
The module xwiki-platform-wiki-manager is the module that provides an API
and a
UI to manage multi-wikis. Is is a dependency for xwiki-platform-workspace.
But this module is quite old. It was first developed as a "plugin" and not
as a
component, even if it can be used through a bridge.
2 - Long term objectives
---------------------------
2.1 - What we have discussed
---------------------------
After some discussion in the mailing list, we have decided the following:
- the ability of create subwikis will be integrated by default on XE.
- we will stop making a distinction between workspaces and subwikis. There
will
be only the notion of "subwiki", with several options to cover all the use
cases.
- we will have a single UI to create a new subwiki, integrated in the top
menu,
like the space and the page creation.
Now, this is what I propose to do after a discussion with Vincent:
2.2 - Create a new 'wiki' module
---------------------------------
Currently we have xwiki-platform-wiki-manager and xwiki-platform-workspace.
But
it no longer make sense to have 2 distinct modules since we will have only
one
concept. But instead of integrating the workspace features into the
wiki-manager
module, we will create a new one.
Why? Because xwiki-platform-wiki-manager is not a compoment and this new
module
will be a clean component with a clean API and a clean script service.
Vincent
already has created a new 'wiki' module for his URL module so it make sense
to
go in this direction.
This new module will not be too long to implement since we can keep a lot
of
code from the 2 existing modules, but it will be written in a manner that
the
"farm" and the "workspace" use-cases are handled.
2.3 - The creation of a subwiki will not be possible until a subwiki
template
is created
-----------------------------------------------------------------------------
The user may not want to use subwikis, so we should not force him to do it.
Moreover, instead of having a "WorkspaceManager Install" process, we can
add a
new entry in the Administration that create the "workspacetemplate" and
actually
enable the "subwikis" features. It will not be seen a post-install
installation.
When creating the "workspacetemplate" (which will be called
"subwikitemplate"),
I will not remove XWiki.AdminRegistrationSheet, XWiki.RegistrationConfig,
XWiki.RegistrationHelp and XWiki.AdminUsersSheet. I will make some code to
"disable" them if the "local users" option is disabled. For example, the
RegisterSheet will redirect to the main wiki Registration.
2.4 - Merge WorkspaceManager UI and WikiManager UI
--------------------------------------------------
There will be only one UI in the future that shows all the subwikis and
offering
features of the 2 current UIs.
2.5 - Improve Invitation application
-------------------------------------
Right now, we both have the "workspaces users" section in the
administration and
the Invitation application. It seems that Invitation application is a
better
application than the "workspace users" section because it can do more
things.
But the UI should be improved.
Moreover, if a user wants to "join" a subwiki, the "join" link should be
located
near the "register" one. It would look more "integrated" than the current
thing.
At the end, it should replace the invitation feature of the current
"workspaces
users" section of the administration.
3. What I have already done
---------------------------
I have made a new wizard, based on the Caty proposal and the current
workspace
creation UI.
Screenshots:
- Step1:
http://tof.canardpc.com/view/582b629c-80c7-4e82-acda-ea99a20741a8.jpg
- Step2:
http://tof.canardpc.com/view/32737e88-9f78-4249-8063-caa42f92665c.jpg
I have also started to change the XARs organization of enterprise, see it
there:
http://markmail.org/message/e4agvo2gevst6gox
4 - What I propose to do for 5.2
---------------------------------
Regarding the objectives, it seems obvious that we won't have the time to
do all
the work for 5.2. So we have to decide what we do.
I propose to make it iteratively, but we have to take into account that the
"Workspace Integration" has been voted for 5.2.
So, we should:
- bundle the "Workspaces" application by default, not bundle the
"Wiki Manager UI". So the user can only create workspaces, which is the
main
use case. If the user want to create a subwiki like in the "farm"
use-case, he
will have to manually install WikiManager UI from the Extension Manager,
which
is not very hard!
- start dropping the "workspace" terminology. The Workspaces application
will be
integrated, but all the texts will mention "subwikis" instead of
"workspaces".
So the user will not be used to the "workspace" term since we want to
drop it
in the near future.
I don't know yet if it is better to create new translation keys or to
reuse
current ones (like workspacemanager.doc.createwiki.wikiname).
- we keep the current main page, we do not put the Workspaces main page by
default.
- we integrate the new subwiki creation wizard that I have made, but in the
end
it does not do more than the current workspace creation UI. We do not
implement the "users isolation" option.
- Add a link to WorkspaceManager.Install in the administration instead of
having
it in the main page.
- I create the menu Home/Wiki/Space/Page based on the option D of the
Caty's
proposal.
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImprovem…
The menu will be:
* Add
* Subwiki (if WorkspaceManager has been installed)
* Space
* Page
* Home
* Administer wiki (if you have the right)
* Subwiki directories
---
* Watch home (if you are in the main wiki)
* Document index (if you are in the main wiki)
* Subwiki (if you are not in the main wiki):
* Watch subwiki
* Administer subwiki
* Document index
* Delete subwiki
* Space:
* No change there
* Page:
* No change there
Then, for the next releases (5.3?), we start to make the work that I have
described in the long term objectives section.
Conclusion
----------
WDYT? ;)
Hello there,
I'd like to try to limit/customize the shown facets in the refinement
panel for the Solr search. This would allow for a custom search page
with different facet fields than the standard search (e.g. the facet
"page" or "date" might not be useful in every case) or the addition of
custom facet fields, for example "tags".
Instead of modifying the global defaults in solrconfig.xml, I'd want to
name the desired facet fields in the concrete solr query. Like
documented for example in
http://wiki.apache.org/solr/SimpleFacetParameters#Examples, if I want
both fields "cat" and "inStock", I need to add both fieldnames to the
query for the parameter "facet.field". On the Solr side, the set(String,
String[]) method
(http://lucene.apache.org/solr/4_2_1/solr-solrj/org/apache/solr/common/param…)
could be used for this. However, the current SolrQueryExecutor
implementation does not support this "multiple arguments" case, so for
example a $query.bindValue('facet.field', ["cat", "inStock"])) doesn't work.
To solve this problem, I suggest that SolrQueryExecutor.execute() checks
each value of the named parameters for a list and optionally calls
set(String, String[]) instead of set(String, String). I'd gladly supply
a patch for this issue. Is there any interest in this?
Sincerely,
Martin Kresse
--
Martin Kresse
Anwendungsentwicklung
EsPresto AG
Breite Str. 30-31
10178 Berlin/Germany
Tel: +49.(0)30.90 226.750
Fax: +49.(0)30.90 226.760
m.kresse(a)espresto.com
HRB 77554 B - Berlin-Charlottenburg
Vorstand: Maya Biersack, Peter Biersack
Vorsitzender des Aufsichtsrats: Dipl.-Wirtsch.-Ing. Winfried Weber
Zertifiziert nach ISO 9001:2008
Hi everyone,
I hope everybody is having a happy BFD - however if you are through with that, maybe someone can look into some issue with the translations.
Sometimes the translations and their deprecation keys seems not to match.
For example the key: 'annotations.config.title'
is deprecated, and as deprecation key on l10n I see: 'platform.extension.updater.reloadHint'
http://l10n.xwiki.org/xwiki/bin/view/Platform/PlatformXWikiCoreResources_90…
Looking at what 'platform.extension.updater.reloadHint' acutally means this is maybe a mismatch:
http://l10n.xwiki.org/xwiki/bin/inline/Platform/PlatformXWikiCoreResources_…
Also in some cases I suspect that a translation has been moved from a deprecated key to a new translation:
http://l10n.xwiki.org/xwiki/bin/view/Platform/PlatformXWikiCoreResources_-1…
It looks like there is a one-less error or the like when calculation the deprecation keys.
Is there any chance to fix that? Or am I simply mistaken?
Best Regards,
Clemens
Hi devs,
I need to have an Event that I can subscribe to that tells me when the DB is ready. This is for the activeinstalls module. I'd like to start some Quartz job when the DB is ready (I'm getting the unique id from the DB).
Thus I'd like to introduce a new DatabaseReadyEvent that's sent in XWiki.initXWiki() at the end of the method:
…
String syntaxes = Param("xwiki.rendering.syntaxes", "xwiki/1.0");
this.configuredSyntaxes = Arrays.asList(StringUtils.split(syntaxes, " ,"));
ObservationManager observationManager = Utils.getComponent((Type) ObservationManager.class);
observationManager.addListener(this);
--> send the event here
…
Note that in the future we'll refactor DB initialization so that it's performed when XWiki starts rather than on the first request and we'll probably introduce a notion of init sequence and thus it'll probably be possible to just subscribe to Application Started Event with the proper sequence id. Or we'll introduce a ApplicationInitializer component role with the ability to say before or after which role it should execute (or use a priority).
However this is complex to achieve right now and I feel a DatabaseReadyEvent would fill the need in the meantime.
WDYT?
Thanks
-Vincent
Hi devs and community at large,
Every year XWiki SAS (http://xwiki.com) gathers all its employees for a Seminar and every year we have an internal hackathon.
For example here are the results of last year:
- 2012: http://www.xwiki.com/lang/en/Company/Hackathon2012
- 2011: http://www.xwiki.com/xwiki/bin/view/Company/Hackathon2011
This year the Hackathon will run for 10 days!
Thus we thought it could be a good idea to invite the XWiki Community to join us for a mega distributed Hackathon!
So here's how I think we could organize it:
* Start date: 17th of July. A mail will be posted on this day to announce the start
* End date: 25th of July. A mail will be posted on this day to announce the end
* Gathering results: from 29 to 6th of August. Everyone who participated should reply to the end of hackathon mail with what they did and post their stuff on http://extensions.xwiki.org or elsewhere
* On around the 6th of August we'll have a blog post written on xwiki.org summarizing all that was done by everyone
Those who have participated will also get XWiki T-Shirts.
Anyone interested in joining the fun?
Thanks
-Vincent
with my XWiki SAS employee hat
Hi devs,
In the Roadmap proposal I've sent for XWiki 5.2 some days ago, there's this time:
"
* Have Workspace by default in XE + improved home page - Caty + Guillaume Delhumeau. FTR Guillaume is not a committer yet but he's going to work full time on XWiki development and especially on UI aspects from now on. Welcome aboard Guillaume, we need you! :)
"
Denis told me he didn't know about the proposal of having Workspaces integrated in the default XAR. Thus I'm sending this email to ensure we all agree about this.
The rationale is:
* It would be nice that when our users download XWiki (standalone version or install the default XAR) they get to see the power of XWiki. One of the very important differentiator of XWiki vs other wikis/solutions is our multi-tenancy feature and most of people downloading and installing XWiki don't see it.
* XEM/Wiki Manager are lacking polishing because the committers mostly polish the default which doesn't include those. The UIs of XEM/Wiki Manager need polishing. Having them in default will ensure that we take them into account and make them first class citizens when we develop.
Caty started working on the home page/UI improvements required to integrate this by default:
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/MultiWiki
Here's my +1
Thanks
-Vincent
Hi devs,
I'd like to propose the following:
* That we start asking for a CLA for contributions (and also for current committers)
* That we keep the process lightweight in order to not make it harder to contribute to the xwiki project. For this I propose to use http://www.clahub.com/
In order to understand why we need a CLA read:
* http://www.oss-watch.ac.uk/resources/cla
* http://en.wikipedia.org/wiki/Contributor_License_Agreement
If we agree we then need to define our CLA. I think a good starting point could be the Node.js one:
http://nodejs.org/cla.html
Now I don't think the CLA will have any legal value if we cannot define "the XWiki project" as a legal entity.
Thus I believe we need to start by joining some foundation or creating one.
I'll list some easy possibilities:
* SF Conservancy: http://sfconservancy.org/members/current/
* SPI: http://www.spi-inc.org/projects/
* Create our own Not for profit association
Harder possibilities (need to change license, rename project, etc):
* Join ASF
* Join Eclipse (and be forced to use bugzilla as the issue tracker ;))
We also need to check if OW2 could offer that service of being a legal entity for XWiki.
Personally I'm tempted more by our own association (it's quite easy to create one if we don't need to accept money and a bit more complex if we want to accept money but still doable). My second choice goes to SFC.
WDYT?
Thanks
-Vincent
I tried the Mindmap Sitemap extension in 5.1/2 without luck.
It is working in 5.x?
It is possible to have a auto-update feature for the Sitemap to make a
UpToDate-Sitemap- page?
Thanks,
Volker from Norway
--
View this message in context: http://xwiki.475771.n2.nabble.com/Mindmap-Sitemap-extension-tp7586672.html
Sent from the XWiki- Dev mailing list archive at Nabble.com.
Hello fellow developers,
At Curriki we are about to take over a new JS library for some assessment specific pages.
The library is a GitHub repository which we would like to fork and include in Curriki's webapp.
Our intent is to do the following but I would like to know if there is a danger of doing so or if it is indeed best practice.
- we fork the GitHub repository
- part of the adaptation includes creating a maven project; it would build a (partial) web-application
- Curriki's web project depends on that webapp(-part) and thus includes the resources
- so as to ensure that recipients of Curriki can also build with it, we make the repository a sub-module (somewhat equivalent to an svn:external) in Git and in maven
Thanks in advance for your comments, hints as to possible advantages or dangers.
Paul
While XWiki has many great advantages as a framework which takes car of
persistence, forms, user management, content management and provides tons
of APIs, when traditional developers want to extend XWiki there are facing
a few difficulties:
- they are lost in the myriad of XWiki APIs, and there is no completion
- they don't get good visibility of the code available in their application
- it is complicated to use editors which have syntax highlighting
- they cannot use their favorite IDE
On the framework side there are also some improvements which could make
XWiki even more killer:
- easier integration of advanced JS framework
- advanced integration of a high level JS framework that has templating
(maybe angular js)
- better validation functions
- easier way to add REST APIs
- more XWiki and better documented javascript apis
Here are some proposals to help fix the tools issues. Three approaches can
be looked at:
1/ Live Sync between an XWiki Instance and and improved maven xar file
structure, allowing to use any local IDE on XWiki code
First it should be possible to use any IDE on the maven xar file structure,
allowing to open the content and textarea fields of all XML files.
For this XWiki XML files should externalize the content and textarea fields
in separate files with extensions based on their content type.
The maven xar format should be able to clean the maven structure to do this
splitting and should also be able to build the XAR from all the files.
Finally a program should allow to do a live sync between a local or remote
wiki instance and the maven project. Any change in either the wiki or the
file system should be replicated to the other party.
So if you run "git pull" then your local or remote wiki would be updated.
If a change is made in the wiki, the change would show up in the file
system and your IDE would refresh it.
The sync program would keep a state of the version in the wiki, in order to
be able to merge changes if changes occur in both places between two sync.
This tool could be easily launched with "mvn xar:sync"
Syntax highlighting for XWiki Syntax+Velocity+Groovy would be developped
for the most popular editors.
When syncing the tool could show syntax checking error messages.
2/ Integration with Eclipse
Based on XEclipse, we would build an Eclipse plugin to be able to connect
to an XWiki instance and load a specified list of spaces. Then each space
would be organized by the type of code in this space. Content and Textarea
fields would be made visible as editable content in Eclipse.
The plugin should detect the type of code in each of the content or
textarea fields (velocity/html, groovy, javascript, css, translations,
xwiki syntax) and use the appropriate editor.
Finally a completion module could be provided by loading from the server a
list of available APIs.
The same plugin could also be able to organize the content from a local
maven project (based on 1/) and provide completion to such a project.
Live syntax checking could be provided.
3/ Integration of a WebIDE in XWiki
Based on Javascript WebIDE and web code editor softwares (Orion, Cloud9,
exoIDE, codemirror, etc..), we would provide a view on the code inside the
XWiki instance.
Code would be organized in the same way as in the Eclipse plugin and
appropriate editors would be used depending on the code type.
Completion could be provided in the velocity and groovy editors and
eventually in Javascript
Two views should be available, one for each AWM application, and one with
all the code in the Wiki.
Live syntax checking could be provided.
Solution 1/ is very powerful because it let's the user decide which is his
development environment, even if the tree structure won't be perfect. Still
he can see all the code in the wiki and work on it, including searching.
Committing is made very easy. There are some risks involved in the sync
process, particularly of you have multiple developers syncing local code
with the same dev server.
User can switch from local sync (local wiki) to remove sync (remove shared
wiki) and can therefore work offline more easily. Editing can be fully done
offline.
Providing syntax highlighting for many editors might prove difficult.
Solution 2/ is providing a nice XWiki environment inside Eclipse, without
the need for a local copy of the code. Committing would happen using the
browser.
Solution 3/ is the long term bet as the future is to have everything in the
web. Content is only in one place which makes things a little easier.
Development environment needs no setup.
However this is more "new" for developers which need to adopt the platform.
Live syntax checking is hard to provide but would be quite useful.
Alternatively mvn xar:format could also provide syntax checking for XWiki
syntax, velocity, groovy, js and css.
WDYT ? Which approaches do you believe would be the most promising.
Ludovic
--
Ludovic Dubost
Founder and CEO
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost
I am wondering about the support for IE 8 in XWiki5.x
There are a few layout bugs in XWiki5 (actually been there in XWiki4 as much as I can remember)
that do not directly hamper functionality but simply look ugly, like:
- scrollbars around the outer frame of the Editor
- tabs for comments, etc at the bottom of the page
are stacked on top of each other instead of displayed left to right
I am thinking of patching things for my instance so they look better in IE8,
and I am wondering if IE 8 is still officially supported, and if yes,
if patches for such layout glitches are of any interest.
Cheers,
Clemens