On Thu, Mar 24, 2011 at 7:00 PM, Marius Dumitru Florea <
mariusdumitru.florea(a)xwiki.com> wrote:
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <sergiu(a)xwiki.com
<mailto:sergiu@xwiki.com>> wrote:
On 03/22/2011 03:37 AM, 许凌志(Jamesxu) wrote:
Hi Marius Florea,
Thanks for your reply, it is really helpful for me to go
further.
>
> For xwiki syntaxes, you gave me a good suggestion that I should
not
autocomplete all the attributes for a tag, it could be added when
user
triggers by some inputs or by the hotkeys just
like eclipse HTML
editor.
However, in my opinion, for some syntaxes, to suggest user some
required
atrributes would be helpful for them to make less
mistakes, and
it is more
intuitive for them to fullfill the blank
attributes which are
required.
+1, mandatory attributes should be inserted.
Anyway, I haven't gone through and evaluate
all the xwiki
syntaxes, I should
finished this step first, and then think about
the use case for
some of
these syntaxes. Here are my steps for preparation
before coding:
- Go through and evaluate all the xwiki syntaxes, to find out a
list of
syntaxes which are suitable to implement
autocompletion features
The main target is xwiki/2.0 (and xwiki/2.1
which is almost the same
thing). Any other syntax is just a bonus.
Thanks to its (relatively) new rendering engine (
http://rendering.xwiki.org ) XWiki is a polyglot wiki. Before having
this new rendering engine we used Radeox for rendering wiki pages and
the only supported syntax was xwiki/1.0. With the new rendering engine
we introduced xwiki/2.0 syntax as the default syntax for wiki pages and
marked xwiki/1.0 syntax as deprecated. xwiki/2.1 syntax is now under
development, trying to fix some of the limitations of the xwiki/2.0 syntax.
Thanks for the introduction to the xwiki syntax rendering machanism, I know
better now, it will be very helpful in my future work;
Taken this into account, the main target is, as Sergiu said, the
xwiki/2.0 syntax. Of course, it would be great if you can come with a
design that allows us to easily add autocomplete support for other
syntaxes in the future. So basically you should split your code in two:
a part that is syntax independent and a part that is specific to
xwiki/2.0 syntax. And the second part should be as much as possible
plugable.
+1
I install the xwiki/3.0, but I haven't found
the autocompletion features
for the wysiwyg editor.
Note that the wiki syntax version is independent from the XWiki
Enterprise version. The latest XE release is 3.0RC1 and it uses
xwiki/2.0 as the default syntax for its wiki pages. XE 4.0 might use
xwiki/2.1 as the default syntax for its wiki pages.
As Caty told you, neither the WYSIWYG editor nor the wiki editor have
syntax autocomplete implemented.
you refered "xwiki/2.1 which is almsot the
same thing", I didn't catch
the meaning for the "same thing".
Do you mean some of xwiki syntaxes have been implemented for
autocompletion features in WYSIWYG editor of xwiki/2.1?
If so, could you give a link for introducing these features.
I have already found the only doc
"http://platform.xwiki.org/xwiki/bin/view/Main/XWikiSyntax" for
introduction the xwiki syntaxes 2.0, and after reading through, I found
the newest version of xwiki syntaxes is 2.1, so could you give me some
docs about syntaxes 2.1, and could you explain to me, what kind of xwiki
syntaxes versions used in different version of xwiki.
xwiki/2.1 syntax is still under development, that's why it isn't fully
documented.
> > - Design the use cases with some screenshots for them, just like
>
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/UserStatusProposal
- Pick
some to implement the prototype of them to get the
feedbacks from the
mailing list
- Start to coding for all of them
Good plan. The best approach is to have something working ASAP and
then
> incrementally improve/build upon it.
Thank you, these days I have read all the docs
from "xwiki development
zone <http://dev.xwiki.org/xwiki/bin/view/Main/WebHome>", it is really
helpful for me to understand how to contribute to xwiki, I am trying to
download xwiki WYSIWYG editor source codes and building them, try to
have a look its source files.
I think it is the neccessary things I am have to do before coding.
The WYSIWYG editor sources are in
http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/ . The
xwiki-gwt-wysiwyg-war module packages the xwiki-gwt-wysiwyg-server and
the xwiki-gwt-wysiwyg-client modules. The xwiki-gwt-wysiwyg-client
module depends on xwiki-gwt-wysiwyg-plugin-api, xwiki-gwt-user and
xwiki-gwt-dom modules.
I have downloaded all the code under
http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/ , and build with
maven in eclipse.
finally I got a war file "xwiki-web-gwt-wysiwyg-war-3.1-SNAPSHOT.war", I
renamed it to "wysiwyg.war" and put it uder tomcat6.0.18,I also look through
the web.xml file under this war file, I found the entry is
"localhost:8080/wysiwyg/gwtrpc.gwtrpc" according to the web.xml file, but I
got nothing excpet the 404 error.
I think maybe the entry url is wrong, but what is the right url, according
to the web.xml file bellow, I also tried "localhost:8080/xwe/gwtrpc.gwtrpc",
but resulted in the same error;
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>xwe</display-name>
<description>XWiki's WYSIWYG Editor</description>
<!-- This filter is used to convert the HTML generated by the WYSIWYG
editor to source syntax -->
<filter>
<filter-name>ConversionFilter</filter-name>
<filter-class>com.xpn.xwiki.wysiwyg.server.filter.ConversionFilter</filter-class>
</filter>
<!-- This filter is used to initialize the XWiki context before processing
a request. -->
<filter>
<filter-name>XWikiContextInitializationFilter</filter-name>
<filter-class>com.xpn.xwiki.wysiwyg.server.filter.XWikiContextInitializationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ConversionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>XWikiContextInitializationFilter</filter-name>
<servlet-name>gwtrpc</servlet-name>
</filter-mapping>
<!-- This is the entry point for all component-based XWiki GWT services.
-->
<servlet>
<servlet-name>gwtrpc</servlet-name>
<servlet-class>com.xpn.xwiki.wysiwyg.server.XWikiRemoteServiceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gwtrpc</servlet-name>
<url-pattern>*.gwtrpc</url-pattern>
</servlet-mapping>
</web-app>
The wiki editor is a plain HTML text area so it doesn't have any code.
>> Good knowledge of JavaScript, DOM and OOP (for the GWT code) is
the
basic requirement to finish this project.
I think javascript, DOM, OOP would not be a problem for me, I
used it almost
everyday for 3 years, and and experienced with
dojo, jquery, I
also wrote
some tutorial for them, GWT is some kind
javascript lib like
them, though
there are some differences, I think I would be a
quick learner
for it, since
now, I have learned it for a while.
GWT is not quite another JavaScript library. It's actually a Java
toolset which compiles a form of Java code into JavaScript.
Yes, you are right, I am reading the docs of GWT now, it is pretty
different from normal javascript tools, foutunitly, I am practiced in
Java and javascript, though it is weild to get to know GWT at first, and
now, I think it is not so difficult, and I am now downloading the source
code of WYSWYG editors, trying to understand the structure using GWT,
and aslo read some samples from GWT documentation center.
Personally I'm against using GWT here,
and I'd prefer something using
basic Prototype.js
Sergiu, you are against using GWT for the wiki editor only, right?
Anyway, the autocomplete feature should have the same look and feel in
both the WYSIWYG and wiki editor. A basic design would be to have three
modules:
(1) Determine the context based on the current selection/caret
(2) Offer suggestions based on the context
(3) Output the selected suggestion in the target syntax
(1) and (3) depend on the editor/syntax, but (2) should be the same: it
doesn't matter the editor or the syntax when you display a list of
documents to choose from in order to create a link.
The language used to implement (1) and (3) depends on the target editor.
I think we should use GWT for the WYSIWYG editor and Prototype.js for
the wiki editor. The question is what to use for (2). Sergiu clearly
prefers Prototype.js and I'm ok with that.
Hope this helps,
Marius
It is a good idea to use some native javascript tools like Prototype, I
have used Prototype for more than 4 years, and also I am a fans of dojo
and jquery, I think the the WYSIWYG could be implemented as a prototype
or dojo module.
However, I think the first thing we should do is to work on the
autocompletion idea based on GWT, cause till now, the editor is
implemented by GWT, it would be easy to move on.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
http://lists.xwiki.org/mailman/listinfo/devs
--
Best wishes,
许凌志(Jame Xu)
MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Best wishes,
许凌志(Jame Xu)
MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University