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

许凌志(Jamesxu) lingzhixu326 at gmail.com
Tue Mar 22 02:37:33 UTC 2011


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.

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
- 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 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.

On Tue, Mar 22, 2011 at 9:51 AM, Marius Dumitru Florea <
mariusdumitru.florea at xwiki.com> wrote:

> Hi James,
>
> On 03/20/2011 08:06 PM, 许凌志(Jamesxu) wrote:
> > Dear Marius Florea and Anca Luca:
> >
> > I am James Xu and I want to contribute to xwiki community through GSoc
> > project. I am interested in working on the idea "Auto Completion in
> Content
> > Editors".
>
> Great!
>
> >
> > I choose this idea for two reasons:
> > First, I knew Xwiki since 2009, and that is the first time to use xwiki
> as
> > wiki system in our lab, and I think it's time to give something back to
> > xwiki.
> > Second, the idea "Auto Completion in Content Editors" attracts me a lot.
> I
> > have done some projects related to autocompletion before.
> > the first project is to implement an autocompletion feature for search
> input
> > form for a Web search system of our lab;
> > the second is to research how to aggregate widgets for a mashup system,
> and
> > wired all them up through an autocompletion algorithm.
> >
> > Though they are different from this idea, they give me some general ideas
> > for autocompletion, and I want to extend autocompletion function to the
> > content editors based on the kowledge gained from the previous projects
> and
> > research.
> >
> > Here are my understanding of the requirements of this idea, and I hope
> you
> > can give me more tips and feedbacks:
> >
> > For xwiki editor:
>
> > - Implements autocompletion function for content editor, for example,
>  when
> > user want add link to their wiki page, they first type"[[", and then the
> > autocompletion function will run to give him the suggestion of some
> > documents begin with the charactor he types in, the list will narrowed
> when
> > he types more. another example can be autosuggest to the attachment link.
>
> Indeed.
>
> >
> > - Auto completion for some syntax like eclipse HTML editor. for
> example,if
> > user type"{{" which is the syntax for xwiki macros, then it should
> suggest
> > him a list of macros name like "box, code..." when user select one, if
> say
> > "box", it will insert to xwiki the following:
>
> > "{{box cssClass="" title="" width=""}}   {{/box}}" , user should not
> > remember what the attributes for the macros, and would not to close the
> tag
> > after a long input.
>
> It doesn't make sense to automatically print all macro attributes. You
> can generate just {{box}}{{/box}} and implement autocomplete for macro
> attributes instead, which could be triggered by Ctrl+Space when you have
> the caret like this:
>
> {{box |}}{{/box}}
>
> > what should I do is to find out which syntax can be improved by such kind
> of
> > autocompletion, and what is the interaction between the editor and the
> user.
>
> I think autocomplete for links, images and macros (including macro
> parameters) requires already a lot of work so the project should focus
> on these syntax elements only.
>
> >
> > For xwiki WYSIWYG editor:
> > - Supply the same function as what we have done in xwiki editor, and then
> > translate automatically into what should it look like for end users. For
> > example,when user finnish the box macro, it should be transalted to
> > visualized box module for user,
>
> Indeed.
>
> > as well as when user type //word//, it will shows up  '*word*'.
>
> This is less important but indeed nice to have.
>
> >
> > I have almost 4 years web development experiences, php for 3 years, and
> java
> > for 2 years. I have some knowledge in using SSH(Strust2+spring+hibernate)
> as
> > java web framework. I am also practiced in javascript/css/html,and have
> more
> > than 3 year development experiences. I use dojo for almost 4 years since
> > version 0.9, and jquery for 2 years, I am starting to use GWT this year,
> but
> > I think I would be a quick learner based on the knowledge I gained from
> the
> > other two js toolkits.
>
> Good knowledge of JavaScript, DOM and OOP (for the GWT code) is the
> basic requirement to finish this project.
>
> Let me know if you have further questions. I'm on IRC (mflorea) BTW if
> you need quick answers.
>
> Hope this helps,
> Marius
>
> >
> > Look forward to your feedbacks.
> >
> _______________________________________________
> devs mailing list
> 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



More information about the devs mailing list