[xwiki-devs] GSoc 2011: idea "Auto Completion in Content Editors" (updated)

Marius Dumitru Florea mariusdumitru.florea at xwiki.com
Wed Mar 30 08:28:12 UTC 2011


Hi James,

On 03/29/2011 10:42 AM, 许凌志(Jamesxu) wrote:
> Dear Marius
>
> I think you are right that I misunderstood the WYSIWYG source editor and
> WYSIWYG rich text editor, in my previous designation, I have spent so
> much effort on how to auto-suggest or auto-complete for some specific
> xwiki syntaxes,  though those features might be convienent for users, it
> is uneccessary, because they do care about inserting image ,link, or
> some macros faster, instead of autocompleting the syntaxes of them in
> source editor.
>
> As you said, the effective way to speed up is to insert or edit them
> without leaving keyboard, we can design some shortcuts for
> auto-suggestion based on context. And the auto-suggestion should focus
> on image, link and some common used macros first.
>
> For current WYSIWYG rich text editor, when users need to insert
> image,link or macros, they have to leave their keyboard and click  on
> the link, image or macro icons on the toolbar  of rich text editor to
> insert them, it must slow down the speed.
> For solving this problem, we can design some shortcuts to activate the
> auto-suggestion for links, images or macros according to user input and
> context. I think the autocompletion features for confluence rich text
> editor can be a good example for me
> (http://confluence.atlassian.com/display/DOC/Confluence+3.2+Beta+Release+Notes)
>
>
> And I think I should also focus on auto-suggestion for links, images
> first. , I have to discuss with you which macros should be considered
> further, or you can give me some advice for macros auto-suggestion
> features for WYSIWYG rich text editor.
> Here are my new designations:
>
> *Links:*
> There are 4 kinds of links: wiki page, attachment files, url and email
> link.
> (1). wiki page:
>        Auto-suggestion functions are triggered when user types "*p:*",
> then it shows up a suggestion box bellow cursor to list  the current
> wiki pages the user visited as default(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570694194/in/photostream/>),
> when user keep typing, they will get recommendations(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570694220/in/photostream/>).
>
> (2). Attachment files:
>        Auto-suggestion for attachment is triggered by typing "*a:*",  it
> also shows up a suggestion box with a list of attached files of current
> pages(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570143783/>), user can click
> on the link "upload new file" on the top of the list to lauch a quick
> attacment upload form(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570143805/in/photostream/>),
> after uploading the attachment, user can edit it as shown in this
> screenshot
> <http://www.flickr.com/photos/44893839@N00/5570732742/in/photostream/>.
>
> Another much easier way is to supply with users a quick link to the
> "attacment uploader" widget, and user do the following process in this
> widget.
>
> (3). URL and Email.

>        Usually user will add(might paste) url or email direct into rich
> editor, the rich editor should make it a real url or email link to the
> target.

http://jira.xwiki.org/jira/browse/XWIKI-4179 Jerome will appreciate this 
for sure.

> There are two ways to do that:
>
> First, as gmail rich editor, there is a url icon on the toolbar(See
> screenshot <http://www.flickr.com/photos/44893839@N00/5570022483/>),
> after selecting the url text (see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570022507/in/photostream/>)and
> click the icon, the url text can be automatically changed to a real url
> or email link(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570029069/>).
> Second, as microsoft word, when you type  a url or email link, it will
> be automatically changed to a real link.
>
> When user clicks on the url or email link, there will be a minimal url
> infromation box with edit link for it will show up(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570022537/in/photostream/>),
> and user can click on it to edit the url.

Note that we already have a dialog for inserting links to web pages and 
since offering suggestions for external URLs doesn't make much sense I 
think you should focus on internal links.

>
> *Images:*
> The images insertion are triggered by typing "*i:*", and in the
> suggestion box, it lists all the images in this page(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570183615/>), user select

Images could be displayed in a better way. I think they take too much 
space right now. Also take into account how the user will navigate them 
with the keyboard.

> one and enter the editor page for editing details for the selected
> image(is it neccessary?)(see screenshot
> <http://www.flickr.com/photos/44893839@N00/5570772796/in/photostream/>).

No, I don't think so. The user can edit the image parameters later, 
using the existing Edit Image dialog.

> User can also upload new images by clicking on the link "upload new
> images" at the top of list, there will be an uploader form in the box
> for user to upload image, and the uploaded image will be automatically
> inserted into the rich editor;

The existing Upload Image dialog should be used instead IMO.

> Another much easier way is to supply with users a quick link "open the
> image dialog" in the box which links to the image uploader widget(existed);
>
> For xwiki editor, it will be a bit different, because user type xwiki
> syntaxes in xwiki editor, so the auto-suggestion should not only for
> links, images, but also some attributes of these syntaxes, especially
> for the attributes of  various macros, the design details will be sent
> to you later.

Thanks,
Marius

>
>
>
>
>
>
> 2011/3/28 Marius Dumitru Florea <mariusdumitru.florea at xwiki.com
> <mailto:mariusdumitru.florea at xwiki.com>>
>
>     Hi James,
>
>     On 03/26/2011 02:58 PM, 许凌志(Jamesxu) wrote:
>      > Dear serg and marius,
>      >
>      > These days I am focus on two things:
>
>      > 1. Design the auto-suggestion scenarios, and now it have been
>     down as a
>      > draf, because the docs are very long, and with lots of pictures, so I
>      > upload it to the google doc, I invited you to view this doc in the
>      > following
>      >
>     link:https://docs.google.com/document/pub?id=1dRp-d0Lj9b4Tf9YWEQgaPuDBk3N3Bw0GvP_LrrviCeU,
>      > and I have also sent you the invitation for editing this document.
>      > I also upload pictures envolved in the doc to flicr, the url link is
>      > under each picure, so that you can see the big picture more clearly.
>
>     I see you already put a loot of effort into writing this draft. Be
>     careful with that. You shouldn't spend time on details before you know
>     you're going into the right direction. First, make sure you understand
>     correctly what we expect from the project, by asking questions on this
>     mailing list. Then you should start with small examples, for only one
>     syntax element (link/image/macro).
>
>     Regarding your draft, I think it's too syntax oriented. You have to
>     understand that the content is king. The scope of this project is _not_
>     to help users learn the XWiki 2.0 syntax but to speed up content
>     creation/editing using the WYSIWYG/wiki editor.
>
>     Basic users don't care that image syntax starts with [[image: or that
>     bold syntax is enclosed in **. They just want to insert an image
>     quickly.
>
>     Text formatting is not a problem for the WYSIWYG editor users because
>     they already know that Ctrl+B makes text bold. They don't have to type
>     ** or remember a shortcut key that will open a suggestion for **.
>
>     So for the WYSIWYG editor (the rich text area, not the source text
>     area!) you have to focus only on link, image and macro syntax (macro is
>     very important!). In the end the user should be able to insert a link,
>     an image or a macro quickly, without leaving the text area, using only
>     the keyboard.
>
>     The wiki editor should behave almost as the WYSIWYG editor. One of the
>     differences could be that the wiki editor offers autocomplete
>     suggestions for the link, image and macro parameters (which doesn't make
>     sense in the WYSIWYG editor because you don't see the XWiki 2.0 syntax
>     of a link/image/macro but their output).
>
>      >
>      > 2.I am build the develop environment for wysiwyg editors follow
>     marius'
>      > introduction. and finnally get the compiled war file, but I came
>     across
>      > a problem: where is the entry for it, I tried
>      > "localhost:8080/wysiwyg/gwtrpc.gwtrpc" and also
>      > "localhost:8080/xwe/gwtrpc.gwtrpc", according to the web.xml file
>     under
>      > the war file, but both I got 404 error page, could you give me
>     the right
>      > entry for it?
>
>     The WYSIWYG editor can be used outside of XWiki but its main features:
>     link, image and macro insertion/editing are XWiki specific and thus are
>     available only when you use the editor inside XWiki.
>
>     The best approach is to download the latest XWiki Enterprise snapshot
>     from
>     http://maven.xwiki.org/snapshots/org/xwiki/enterprise/xwiki-enterprise-jetty-hsqldb/
>     and update the WYSIWYG editor:
>
>     * overwrite the jars from WEB-INF/lib with the ones from the WYSIWYG
>     editor's war (only if you made changes to the server side)
>     * replace the /resources/js/xwiki/wysiwyg/xwe directory with the one
>     from the WYSIWYG editor's war (don't overwrite! remove the existing
>     directory and copy the new one)
>
>     Don't forget to build xwiki-gwt-wysiwyg-war module using -Pdev profile
>     so that it doesn't generate all the GWT permutations.
>
>     Hope this helps,
>     Marius
>
>      >
>      > This is the web.xml file:
>      > <?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>
>      >
>      >
>      > 2011/3/26 许凌志(Jamesxu) <lingzhixu326 at gmail.com
>     <mailto:lingzhixu326 at gmail.com>
>      > <mailto:lingzhixu326 at gmail.com <mailto:lingzhixu326 at gmail.com>>>
>      >
>      >
>      >
>      >     On Thu, Mar 24, 2011 at 7:00 PM, Marius Dumitru Florea
>      > <mariusdumitru.florea at xwiki.com
>     <mailto:mariusdumitru.florea at xwiki.com>
>      > <mailto:mariusdumitru.florea at xwiki.com
>     <mailto:mariusdumitru.florea at xwiki.com>>> wrote:
>      >
>      >
>      >
>      >         On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
>      > >
>      > >
>      > > On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu
>      > <sergiu at xwiki.com <mailto:sergiu at xwiki.com>
>     <mailto:sergiu at xwiki.com <mailto:sergiu at xwiki.com>>
>      > > <mailto:sergiu at xwiki.com <mailto:sergiu at xwiki.com>
>     <mailto:sergiu at xwiki.com <mailto:sergiu at 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 at xwiki.org <mailto:devs at xwiki.org> <mailto:devs at xwiki.org
>     <mailto:devs at xwiki.org>> <mailto:devs at xwiki.org <mailto:devs at xwiki.org>
>      > <mailto:devs at xwiki.org <mailto:devs at 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 at xwiki.org <mailto:devs at xwiki.org> <mailto:devs at xwiki.org
>     <mailto:devs at 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
>      >
>      >
>      >
>      >
>      > --
>      > Best wishes,
>      >
>      > 许凌志(Jame Xu)
>      >
>      > MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
>      >
>      > Department of Computer Science and Technology, Xi’an Jiaotong
>     University
>
>
>
>
> --
> Best wishes,
>
> 许凌志(Jame Xu)
>
> MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
>
> Department of Computer Science and Technology, Xi’an Jiaotong University



More information about the devs mailing list