Hi,
We need to decide something: do we want to close old rendering/wysiwyg
issues as won't fix explaining that they are fixed in the new
rendering/new wysiwyg?
My take is the following:
* I don't think any xwiki committers will want to spend time fixing
old rendering/old wysiwyg issues since all our energy is spent on the
new versions
* We're going to have a XWiki Syntax 1.0 --> 2.0 converter soon
(before 16th of January)
* The new wysiwyg editor should also be usable before the 16th of
January
* If a contributor wants to fix some old rendering/old wysiwyg issue
he can create a new issues or reopen a closed one.
As a consequence I think we can close them as won't fix and explain
that the user should move to the new Syntax.
WDYT?
Thanks
-Vincent
Dear all,
I worked a bit on the design of the RESTful API and as a result I've
integrated what was written on the
http://dev.xwiki.org/xwiki/bin/view/Design/RestfulAPI page.
There is still a big and important part missing (maybe the most
important one), i.e., the one about the data formats for representations
(in particular the XML schemas to be used in requests and responses). I
am working on it.
Anyway you can already comment on what is present on the page.
Thank you.
-Fabio
Devs,
I'm working on integrating office importer functionality into our new
wysiwyg editor and I thought of sharing few ideas and different approaches
available to us so that you can comment on them and help me select the most
appropriate path.
First of all, a crude version of the integration is available at
http://91.121.237.216/xwiki/bin/view/Main/. You can login with asiri/asiri
and try editing the Main.WebHome page. You will notice the import button
placed right next to first 4 text formatting buttons.
Now the full version of the importer dialog will include two tabs. First
visible tag will allow a user to paste office content right into a local
rich-text-area and import them in place of the current selection in the
wysiwyg editor. The second tab allows the user to upload an office document
which will also be imported in place of the current selection. My idea is to
include the first tab's functionality into 1.8M1 release.
The general approach towards implementation is to introduce a new wysiwyg
plugin called "importer". The crude version mentioned above make use of the
default WysiwygService::cleanHTML() gwt rpc call for cleaning the pasted
html content. But for the actual implementation we have to introduce a new
importer specific gwt rpc call because the default cleanHTML() is not going
to be enough when cleaning html content comming from various office suits.
So here I propose we introduce WysiwygService::cleanOfficeHTML() gwt rpc
call.
The next question is about the implementation of the cleanOfficeHTML()
method. Here the complication arises from the fact that the incomming html
can be from various sources; it can be MSWord, MSExcel, OpenOffice Writer
and any editor capable of exporting html content into user's clipboard (so
that user can paste them). I see several approaches to solve this issue:
1. Perform an exhaustive cleaning leaving out only basic html elements that
we can handle. Here we'll have to consider various formatting elements used
by different office suits and convert them as necessary. For an example,
http://office.microsoft.com/en-us/help/HA010549981033.aspx contains
information about various MSOffice 2000 specific markup.
2. By analysing the incomming html content, first we determine the office
suite which generated the content (with a default case for unknowns). And
there after perform a specific cleaning procedure for that office suite.
Note that there is no generic way of determining the office suite and there
can be many such suites.
3. We pass the incomming html through jodconverter (openoffice server) and
get the resulting html. Since this html is from openoffice, there is no need
to worry about different office suites and we can perform our cleaning
afterwards. The downsides of this approach are:
* Passing though openoffice server can be time consuming.
* Jodconverter seems to have some limitations with html formats as
mentioned at
http://www.artofsolving.com/opensource/jodconverter/guide/supportedformats
Of the three approaches mentioned above, I'm preferring the first approach
since it's the most simple one. Also, the other two approaches doesn't seem
to provide any advantages w.r.t first approach.
And the final question is about embedded elements inside pasted html content
(like images). This is not a problem if the whole document is uploaded for
importing; the document is a container for images and they can be retrieved
on the server. But with pasted html content, images are simply links to
local files. Now I don't know if it's possible to trigger an automated
upload of these files but for the moment I'm proposing we should strip-off
such content.
Thanks.
- Asiri
tmortagne (SVN) wrote:
> Author: tmortagne
> Date: 2008-12-19 15:33:02 +0100 (Fri, 19 Dec 2008)
> New Revision: 14879
>
> Added:
> platform/core/trunk/xwiki-rendering/src/test/resources/list/list10.test
> Modified:
> platform/core/trunk/xwiki-rendering/src/test/java/org/xwiki/rendering/RenderingTests.java
> Log:
> XWIKI-3006: All spaces at the begining of a list item content are consummed by the parser.
> * add unit test
> + suite.addTestsFromResource("list/list10", false);
Why is there a need to manually add test cases? Why don't we just use
all the test cases available?
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi devs,
We already decided that in a general way, spaces entered by user are
meaningful: when you enter
"Some<space><space><space>content"
you will get in XHTML
"<p>Some content</p>"
This not fully the case with list for example where:
"**<space><space><space>list<space><space><space>content"
will give
"<li>list content</li>"
I propose, for consistency, to make first spaces of list content
meaningful like in any other content:
"**<space><space><space>list<space><space><space>content"
will give
"<li> list content</li>"
Here is my +1
On Wed, Dec 17, 2008 at 3:50 PM, Vincent Massol <vincent(a)massol.net> wrote:
>
> On Dec 17, 2008, at 3:39 PM, Thomas Mortagne wrote:
>
>> On Wed, Dec 17, 2008 at 3:38 PM, Thomas Mortagne
>> <thomas.mortagne(a)xwiki.com> wrote:
>>> On Wed, Dec 17, 2008 at 3:12 PM, Vincent Massol
>>> <vincent(a)massol.net> wrote:
>>>>
>>>> On Dec 17, 2008, at 3:07 PM, Thomas Mortagne wrote:
>>>>
>>>>> On Wed, Dec 17, 2008 at 3:02 PM, Vincent Massol
>>>>> <vincent(a)massol.net>
>>>>> wrote:
>>>>>>
>>>>>> On Dec 17, 2008, at 2:38 PM, Thomas Mortagne wrote:
>>>>>>
>>>>>>> On Wed, Dec 17, 2008 at 1:15 PM, Vincent Massol <vincent(a)massol.net
>>>>>>> >
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> On Dec 17, 2008, at 12:57 PM, Lucien PEREIRA wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Working on annotation feature, I need to retrieve
>>>>>>>>> xwiki document source code from a selection on XHTML.
>>>>>>>>>
>>>>>>>>> This requires to have a correspondence between content
>>>>>>>>> typed by user and content that appears in html.
>>>>>>>>>
>>>>>>>>> I noticed in xwiki 2.0 synthax that white spaces typed
>>>>>>>>> in a list item context are ignored :
>>>>>>>>>
>>>>>>>>> *<
>>>>>>>>> space
>>>>>>>>>>
>>>>>>>>> <
>>>>>>>>> space
>>>>>>>>>> <
>>>>>>>>>> space
>>>>>>>>>>> <
>>>>>>>>>>> space><space>foo<space><space><space>bar<space><space><space>
>>>>>>>>>
>>>>>>>>> renders in XHTML
>>>>>>>>>
>>>>>>>>> <li>foo<space> bar </li>
>>>>>>>>>
>>>>>>>>> so I could not determine the real offset of selection in xwiki
>>>>>>>>> document source.
>>>>>>>>
>>>>>>>> There's another problem: leading spaces before list items and
>>>>>>>> headers.
>>>>>>>> We need to allow them (for several reasons, one of them is for
>>>>>>>> supporting indenting velocity code when we have velocity mixed
>>>>>>>> with
>>>>>>>> wiki syntax). So in term of rendering they should be considered
>>>>>>>> as a
>>>>>>>> ListItemBlock and the spaces should not be rendered.
>>>>>>>>
>>>>>>>> One problem is when we go through the wysiwyg these spaces
>>>>>>>> will be
>>>>>>>> removed. Removing them for content not in macros is not such a
>>>>>>>> big
>>>>>>>> deal IMO (except for Lucien's use case but there are other
>>>>>>>> ways of
>>>>>>>> doing it for him). Removing them would be a problem when inside
>>>>>>>> macros. Fortunately we don't touch at macro content for the
>>>>>>>> moment.
>>>>>>>>
>>>>>>>>> This can be solved by not ignoring spaces so render become :
>>>>>>>>>
>>>>>>>>> <
>>>>>>>>> li
>>>>>>>>>>
>>>>>>>>>  
>>>>>>>>> ; 
>>>>>>>>> ; 
>>>>>>>>> ; foo<space> bar </
>>>>>>>>> li>
>>>>>>>>>
>>>>>>>>> This policy of rendering already exists in underline or italic
>>>>>>>>> context so it's strange to have a different behaviour in list
>>>>>>>>> item context.
>>>>>>>>>
>>>>>>>>> Moreover I think we should not suppose what content is
>>>>>>>>> relevant for user or not, so source shouldn't be altered.
>>>>>>>>
>>>>>>>> We have to alter source in the case of badly formed content,
>>>>>>>> as in
>>>>>>>> "**bold". We also later for unisignificant escapes (as with
>>>>>>>> "~hello"'
>>>>>>>> is transformed into "hello") + some other use cases probably.
>>>>>>>>
>>>>>>>> Right now I don't have any idea of what to do differently. Only
>>>>>>>> idea I
>>>>>>>> could think of would be to have a parameter for list items and
>>>>>>>> headers, passing to them the number of leading spaces, tabs, etc
>>>>>>>> but I
>>>>>>>> don't like this too much.
>>>>>>>>
>>>>>>>> I think the idea of leaving the content intact is not correct
>>>>>>>> and
>>>>>>>> we
>>>>>>>> shouldn't expect that behavior for a wiki syntax. A wiki syntax
>>>>>>>> needs
>>>>>>>> to be as simple as possible for users to use. Allowing leading
>>>>>>>> spaces
>>>>>>>> go in that direction. OTOH I agree with Lucien that we've
>>>>>>>> decided
>>>>>>>> to
>>>>>>>> make spaces in paragraph significant so it's not fully
>>>>>>>> consistent.
>>>>>>>>
>>>>>>>> What do others think?
>>>>>>>
>>>>>>> I agree that it's not alway possible to respect the original
>>>>>>> source
>>>>>>> especially with useless escapes (~toto which become toto).
>>>>>>>
>>>>>>> Now in the case of list item content I think we should support it
>>>>>>> because it's exactly the same context that space in a paragraph
>>>>>>> and
>>>>>>> such so it have to behave the same way for consistency.
>>>>>>>
>>>>>>> So +1 to support spaces at beginning of list item.
>>>>>>
>>>>>> Could you explain what you mean by "support spaces at begining of
>>>>>> list
>>>>>> item"?
>>>>>
>>>>> Yes it's not very clear: +1 for not removing first spaces of list
>>>>> item
>>>>> content. In other words +1 for changing the current behavior.
>>>>
>>>> This is still not clear.
>>>>
>>>> If we don't remove leading spaces is it still a list item?
>>>>
>>>> And if it's still a list item how do we implement this since lists
>>>> are
>>>> block elements?
>>>>
>>>> And what about spaces after the first space after the list item
>>>> delimiters?
>>>>
>>>
>>> +1 for :
>>>
>>> <#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | ( "1" | "*" )+ "." (":" |
>>> ";")* | (":" | ";")+ ) (<SPACE>)* >
>>
>> I mean
>> <#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | ( "1" | "*" )+ "." (":" |
>> ";")* | (":" | ";")+ ) (<SPACE>) >
>
> ok, I'd agree with this one. It makes sense to me too.
>
> Note for others: it still means that entering:
>
> (space)(space)*(space)item
>
> is transformed into:
>
> *(space)item
>
> for example when going from wysiwyg editor to wiki syntax.
>
> Thanks
> -Vincent
>
>>> in place of
>>>
>>> <#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | ( "1" | "*" )+ "." (":" |
>>> ";")* | (":" | ";")+ ) (<SPACE>)+ >
>>>
>>>> Thanks
>>>> -Vincent
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
Thomas Mortagne
Time for the new roadmap definition. Here's a proposal. Note that I've
discussed the points below with all people I've put as leads.
Of course if anyone from the community/committers want to implement
additional stuff you're most welcome :)
* Finish new rendering: Continue Macro rewrite: rss, graph and more. -
Lead: Dan Miron
* Finish new rendering: Add embedded doc support + converter from 1.0
syntax to 2.0 + various leftovers - Lead: Thomas Mortagne
* Office Importer (all types: word, excel, powerpoint, etc). Available
from the WYSIWYG editor too. - Lead: Asiri
* Working JCR/Query Manager - Lead: Artem
* Finish WYSIWYG editor (UI + bug fixes + missing features). - Lead:
Marius/Anca
* MS Office Plugin - Lead: Florin.
* Start design work on new Application Manager (ability to package in
a XAR: pages, external libraries, skin extensions, resources, macros,
components, etc + ability to list/install/remove/upgrade applications
+ ability to install from a remote repo) - Lead: Thomas Mortagne/Jean-
Vincent
* Work on usability/navigation/UI improvements (like redesign special
pages: WebHome, AllDocs, Tags, etc, improve navigation with a treeview
panel, autosuggest in search box, etc). We need to define 3-4 items we
want in priority. Lead: Jean-Vincent with Laurent/Guillaume
* Invitation: backporting the invitation work done in XWS to XE. Lead:
Jerome
* French XE (was supposed to be done for 1.7) - Lead: Jean-Vincent
with Thomas Eveilleau's help
* MediaWiki import - Lead: Vincent with Asiri
* Drag and drop spaces/pages in the AllDocs treeview to reorganize
pages and spaces - Lead: Marius/Anca
* Revamp the xwiki.org web site to focus on XE only (for ex main page
should only list XE with aggregated feature list) so that we show that
we have only one product but various add-ons. Lead: Vincent (note: I
need to make a proposal for this)
* Skin extensions/Interface extension finalization + Template/Skin
cleanup. Lead: Sergiu + Jerome
* Internal refactoring to redesign interfaces and transform them into
components (Model, Actions, URLs, Velocity Bridge, etc). Lead: Vincent
Let me know what you think and if ok I'll put it up on http://enterprise.xwiki.org/xwiki/bin/view/Main/Roadmap
If we can do all this XE 1.8 will be a great release, possibly our
greatest :)
Thanks
-Vincent
Hi devs,
While working on a UI feature that makes use of skin extensions (both
script and style), I was faced with a difficult choice: where to put
these extensions?
The difficulty comes from several factors:
- This is a small feature that doesn't deserve its own application
- Yet, it does not fit in any of the existing applications
- I don't want to put the js and css in Albatross, as it was done until now
- Resource-based extensions are not as flexible as document-based ones,
and I'd still need a .jar module to stick them to.
Since this is just the first in a long series of such small extensions,
leading to a simpler and more modular skin mechanism, I think we should
take a decision.
A while back, when designing Interface eXtensions, I also proposed
Interface Components, which is exactly what I would like to do (as the
packaging, since the code is already structured like a component). See
http://dev.xwiki.org/xwiki/bin/view/Design/InterfaceExtensions#HAfterwards
So, the choices are:
1. Stick to the past and put the code in Albatross, registering it in
platform-web/javascript.vm and stylesheet.vm.
2. Put the files as resource skin extensions inside xwiki-core.
3. Force the documents into an existing application, for example
administration or enterprise-wiki.
4. Create a new application for holding Interface Components.
5. Create a new application for each IC.
Currently, my preference is +1 for 5, with a +0 for 4 and -1 for the
rest. Here's some of my motivations:
1. is dead wrong. This is what we've been doing until now, and we
managed to overwhelm the skin with resources, putting a hard requirement
on Albatross, registering no less than 14 global javascript files, most
of the times unneeded, but hard to remove since nobody knows where and
how they are used. If a bug is found, we need to redeploy the whole skin
and wait for the next XE release, although it only affects one small
part of the wiki. This also ties the platform to the skin. And it is
completely not modular.
2. is dead wrong too. What does the core have to do with CSS??!
3. is slightly better. Since the SX are documents, they should be in an
application. enterprise-wiki used to be the catch-all place to put
documents, but we all decided that it must be split into modular
applications. Plus, this is not XE specific, but it can be used in any
product. administration is not suited either, since this has nothing to
do with the wiki administration. The other existing apps are even less
suited.
4. is a good alternative. The problem with only one application is that
it is not modular enough. We must release the whole bunch when only one
component was changed, which leads to numerous releases, or delayed
releases until enough bugs have been found and fixed, which prevents
users from benefiting of already solved bugs. The advantage is that we
don't have to create numerous tiny projects in Jira.
5. is the best alternative when thinking of the future. With a good
Interface Components manager, and a good Application Manager, installing
and upgrading applications will be very easy. This solves the problems
of 4, since each app can be released as soon as its bugs are solved, and
auto-updated on all clients in no time. The problem is that we would
need a lot of tiny Jira projects, each with its own release cycle. This
is not a code problem, but a infrastructure one. In the future we should
drop Jira (which IMO is much too company-oriented than
umbrella-oriented), and replace it with our own infrastructure:
interface.xwiki.org, as a repository of interface components, where each
component has its own space, including our future agile project
management tool.
WDYT? Anything against option 5? If no, we'll need to decide some more
details, as to where to put ICs in the svn repo, where to list them in
the wiki, how to name them, etc.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi,
I'm trying to create wiki users and groups programmatically. The
problem arises in integration of XWiki with a portal solution. The
users log in with the portal, the portal sets a cookie and the xwiki
plugin for authentication picks it up. It checks if the user exists,
if not creates it.
So far so good. I can create a user with code mimicking the user
creation code in XWiki.class. But I still have a problem grasping
permissions. I'd like to add the user to a special group of portal
users, which should be checked and created on the fly if need be. That
group should have all the permissions needed.
However I don't see a way of doing it. The xwiki.org documentation on
the data model did not seem to cover this ground well. Can you give me
some pointers?
Thanks,
J.L.Simon
Hi,
I need to create several documents, each one with two tags. After some
research I discovered that a document and their respective tags are
registered in the following tables:
- XWIKIOBJECTS;
- XWIKILISTITEMS;
- XWIKIPROPERTIES;
- XWIKILIST;
- XWIKIDOC;
- XWIKIRCS;
After creating a record in each of these tables the tags are successfully
created but the documents appear on the xwiki with errors and when I click
them I need to create the doument again, duplicating the record in the
database. Am I missing any table do create the document?