Hi,
I've started working on designing the new Rendering/Parsing
components and API for XWiki. The implementation will be based on
WikiModel but we need some XWiki wrapping interfaces around it. Note
that this is a prerequisite for the new WYSIWYG editor based on GWT
(see http://www.xwiki.org/xwiki/bin/view/Design/
NewWysiwygEditorBasedOnGwt).
I've updated http://www.xwiki.org/xwiki/bin/view/Design/
WikiModelIntegration with the information below, which I'm pasting
here so that we can have a discussion about it. I'll consolidate the
results on that wiki page.
Componentize the Parsing/Rendering APIs
==================================
We need 4 main components:
* A Scripting component to manage scripting inside XWiki
documents and to evaluate them.
* A Rendering component to manage rendering Wiki syntax into
HTML and other (PDF, RTF, etc)
* A Wiki Parser component to offer a typed interface to XWiki
content so that it can be manipulated
* A HTML Parser component (for the WYSIWYG editor)
Different Syntaxes
===============
Two possible solutions:
1. Have a WikiSyntax Object (A simple class with one property: a
combox box with different syntaxes: XWiki Legacy, Creole, MediaWiki,
Confluence, JSPWiki, etc) that users can attach to pages to tell the
Renderers what syntax is used. If no such object is attached then
it'll default to XWiki's default syntax (XWiki Legacy or Creole for
example).
2. Have some special syntax, independent of the wiki syntaxes to
tell the Rendered that such block of content should be rendered with
that given syntax. Again there would be a default.
XWiki Interfaces
=============
* ScriptingEngineManager: Manages the different Scripting
Engines, calling them in turn.
* ScriptingEngine
o Method: evaluate(String content)
o Implementation: VelocityScriptingEngine
o Implementation: GroovyScriptingEngine
* RenderingEngineManager: Manages the different Rendering
Engines, calling them in turn.
* RenderingEngine
o Method: render(String content)
o Implementation: XWikiLegacyRenderingEngine (current
rendering engine)
o Implementation: WikiModelRenderingEngine
* Parser: content parsing
o HTMLParser: parses HTML syntax
o WikiParser: parses wiki syntax
o Implementation: WikiModelHTMLParser
o Implementation: WikiModelWikiParser
Open Questions:
* Does WikiModel support a generic syntax for macros?
* Is the Rendering also in charge of generating PDF, RTF, XML, etc?
o I think so, need to modify interfaces above to reflect
this.
* The WikiParser needs to recognizes scripts since this is
needed for the WYSIWYG editor.
Use cases
========
* View page
o ViewAction -- template -> ScriptingEngineManager.evaluate
() -- wiki syntax -> RenderingEngineManager.render() ---> HTML, XML,
PDF, RTF, etc
* Edit page in WYSIWYG editor
o Uses the WikiParser to create a "DOM" of the page
content and to render it accordingly. NOTE: This is required since
rendering in the WYSIWYG editor is different from the final
rendering. For example, macros need to be shown in a special way to
make them visible, etc.
o Changes done by the user are entered in HTML. Note: it
would be better to capture them so that they are entered in the
"DOM". Is that possible? If not, then the HTMLParser is used to
convert from HTML to Wiki Syntax but they're likely be some loss in
the conversion. The advantage is the ability to take any HTML content
and generate wiki syntax from it.
This is my very earlier thinking but I wanted to make it visible to
give everyone the change to 1) know what's happening and 2) suggest
ideas.
I'll refine this in the coming days and post again on this thread.
Thanks
-Vincent
Hi,
I'd like to propose releasing XE 1.2M1 tomorrow morning (it was
planned for the 1st of October), following our planned roadmap:
1.2M1: 1st of October
1.2M2: 15th of October
1.2M3: 29th of October
1.2RC1: 12th of November
1.2RC2: 19th of November
1.2 final: 26th of November
It'll have the following changes:
1) Release Notes - XWiki Platform - Version 1.2 M1
** Bug
* [XWIKI-214] - Incorrect HTML generated for lists with many items
* [XWIKI-883] - access right cannot be updated if too many users
or groups selected
* [XWIKI-1023] - Probable mistake in strikethrough regular
expression match
* [XWIKI-1176] - Non-plaintext in a heading makes section edit
edit wrong section
* [XWIKI-1635] - XWikiDocument.isMostRecent is always false
* [XWIKI-1639] - 'null' displayed when using list wiki markup
without text
* [XWIKI-1723] - multiselect separators are not defined for all
list property types
* [XWIKI-1725] - DBList cache always active
* [XWIKI-1726] - Exception deleting large documents
* [XWIKI-1727] - Whitespace between list items breaks the
continuity of the list
* [XWIKI-1738] - XAR name is not taken into account when
exporting from the Administration Export page
* [XWIKI-1746] - Possible NullPointerException in ListClass
** Improvement
* [XWIKI-1459] - keep document history in a separate table
* [XWIKI-1616] - Better Interoperability with Confluence
* [XWIKI-1617] - Refactoring and Cleanup of XML-RPC implementation
* [XWIKI-1618] - Proper exception handling for XML-RPC code
* [XWIKI-1663] - Improved support for attachments via XML-RPC
* [XWIKI-1692] - Improve the javascript mimetype detection in
SkinAction#isJavascriptMimeType
* [XWIKI-1764] - API methods returning a list should return
empty lists instead of null
** New Feature
* [XWIKI-543] - Recycle bin for deleted documents
* [XWIKI-962] - Ability to alter the document history
* [XWIKI-1447] - Minor edit of document
* [XWIKI-1569] - Store migration system
* [XWIKI-1633] - UI for Recycle bin
* [XWIKI-1641] - Add preview possibility for deleted documents
from recycle bin
** Task
* [XWIKI-1687] - Add solution for profiling XWiki when installed
remotely
* [XWIKI-1702] - Document "JDBC batch update error" when
upgrading from a 0.9 wiki
2) Release Notes - XWiki Enterprise - Version 1.2 M1
** Improvement
* [XE-130] - Fix Velocity warnings
** New Feature
* [XE-95] - rewrite Main.Dashboard with minor edit feature
3) Release Notes - XWiki Panels Application - Version 1.2 M1
** Improvement
* [XAPANELS-36] - Fix Velocity warnings
Here's my +1
Thanks
-Vincent
All,
A space selection combo box could be useful.
I've revised the New Page panel code (see below) to provide functionality to
create a new page or space based upon a page template (from a Template space
or where ever). Its not perfect, but maybe it can help. If you or anyone can
do any better then let me know! Paste it into the New Page panel code area
to see it work.
Also I'd like a pop up (or something) to appear when a user clicks on a ?
link so they can select a template to base the new page on - but I don't
know how that could be coded.
Creating a series of page from a template page (by reading the template
pages the top level template page) would also be a good feature or having a
template space from which to create new space e.g. template project
spaces/pages which can be reused for new projects, etc.
Best Regards,
Richard
Revised New Page panel code:
#if($hasedit)
#panelheader($msg.get("Create"))
<form method="post" action="$doc.getURL("view", "xpage=create")"
onsubmit="cancelCancelEdit()">
<br>Create:
<div class="left">
<select name="tocreate" class="panelselect">
<option value="page">New Page\*</option>
<option value="space">New Space</option>
<option value="post">New Blog Post</option>
</select>
</div>
#set($spaces = $xwiki.spaces)
#set($currentspace = "Templates")
#set($currentdoc = "-- N/A --")
#if ($request.sourcedoc && $request.sourcedoc.indexOf(".") > 0)
#set($currentspace =
$request.sourcedoc.substring(0,$request.sourcedoc.indexOf(".")))
#set($index = $request.sourcedoc.indexOf(".") + 1)
#set($currentdoc = $request.sourcedoc.substring($index))
#end
#if ($request.selspace) #set($currentspace = $request.selspace) #end
<br><div class="left">Space:</div><br>
<select
name="selspace"
onchange="location='?selspace=' + this.value;">
<option value="$!{request.selspace}">$!{request.selspace}</option>
#foreach($space in $spaces)
#if ($space == $currentspace)
<option value="${space}" selected>${space}</option>
#else
<option value="${space}">${space}</option>
#end
#end
</select>
<br>Page Template:
<select name="template">
<option value="" selected="selected">-- N/A --</option>
#foreach($subdoc in $xwiki.getSpaceDocsName("$currentspace"))
#if ($currentdoc == ${subdoc})
<option value="${currentspace}.${subdoc}" selected>$subdoc</option>
#else
#if ($request.selspace)
<option value="${request.selspace}.${subdoc}">$subdoc</option>
#else
<option value="${currentspace}.${subdoc}">$subdoc</option>
#end
#end
#end
</select>
<br>Page/Space Name:
<div class="left">
<input type="text" name="title" value="Title" class="panelinput"
style="margin:left;" onfocus="if(this.value=='Title') this.value=''"
onblur="if(this.value=='') this.value='Title'"/>
</div>
<div class="padded centered" style="text-align:center;">
<input type="submit" class="button" style="margin:left;"
value="$msg.get("create")"/>
</div>
<p style="font-size:0.75em;padding-left:8px;">*New pages are created in
current space</p>
</form>
#panelfooter()
#end
-----Original Message-----
From: notifications-bounces(a)xwiki.org
[mailto:notifications-bounces@xwiki.org]On Behalf Of Vincent Massol
(JIRA)
Sent: 01 October 2007 11:33
To: notifications(a)xwiki.org
Subject: [xwiki-notifications] [Issue] Updated: (XAPANELS-22) Add space
selection combo box to the "Create" Panel
[
http://jira.xwiki.org/jira/browse/XAPANELS-22?page=com.atlassian.jira.plugin
.system.issuetabpanels:all-tabpanel ]
Vincent Massol updated XAPANELS-22:
-----------------------------------
Fix Version/s: 1.2 M2
(was: 1.2 M1)
> Add space selection combo box to the "Create" Panel
> ---------------------------------------------------
>
> Key: XAPANELS-22
> URL: http://jira.xwiki.org/jira/browse/XAPANELS-22
> Project: XWiki Panels Application
> Issue Type: Improvement
> Affects Versions: 1.0 RC4
> Reporter: Vincent Massol
> Fix For: 1.2 M2
>
>
> Right now it's very difficult for new user to find out how to create a
page in a given space.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.xwiki.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
notifications mailing list
notifications(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Hi All,
I've been out-of-touch for a long time and I did an "svn up" followed by
"mvn install -Pxe" which resulted in,
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
GroupId: com.xpn.xwiki.platform.applications
ArtifactId: xwiki-applications
Version: 6-SNAPSHOT
Reason: Unable to download the artifact from any repository
com.xpn.xwiki.platform.applications:xwiki-applications:pom:6-SNAPSHOT
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Mon Oct 01 11:14:24 LKT 2007
[INFO] Final Memory: 2M/5M
[INFO]
------------------------------------------------------------------------
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Mon Oct 01 11:14:24 LKT 2007
[INFO] Final Memory: 2M/5M
[INFO]
------------------------------------------------------------------------
Please help...
- Asiri