[xwiki-devs] GSoc 2011: idea "Auto Completion in Content Editors" (updated)
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". 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. - 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. 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. 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, as well as when user type //word//, it will shows up '*word*'. 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. Look forward to your feedbacks. -- Best wishes, 许凌志(James Xu) MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University Department of Computer Science and Technology, Xi’an Jiaotong University
Hi James Xu, There are already some mockups done for the User Status feature about auto-completion (user, pages use cases) http://incubator.myxwiki.org/xwiki/bin/view/Improvements/UserStatusProposal but as you said the triggers can be expanded to other syntax elements like macros, etc. Thanks, Caty On Sun, Mar 20, 2011 at 20:06, 许凌志(Jamesxu) <[email protected]> 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".
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.
- 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. 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.
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, as well as when user type //word//, it will shows up '*word*'.
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.
Look forward to your feedbacks.
-- Best wishes,
许凌志(James Xu)
MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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.
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 < [email protected]> 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 [email protected] 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
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.
- 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.
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. Personally I'm against using GWT here, and I'd prefer something using basic Prototype.js -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected]> 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.
I install the xwiki/3.0, but I haven't found the autocompletion features for the wysiwyg editor. 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.
- 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.
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
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 [email protected] 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
2011/3/24 许凌志(Jamesxu) <[email protected]>
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected]>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.
I install the xwiki/3.0, but I haven't found the autocompletion features for the wysiwyg editor.
Right now we don't have an autocompletion feature for the wysiwyg editor. We do have an AJAX auto-suggest widget http://platform.xwiki.org/xwiki/bin/view/DevGuide/AutoSuggestWidget used in several places and specialized (only for groups, only for documents, etc) see http://platform.xwiki.org/xwiki/bin/view/DevGuide/SpecialCSSClasses#HB2.Beha... A more complete integration of the suggest feature is done in the Search box http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterprise...
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.
The document that explain the syntaxes is the one you have. XWiki supports 3 native syntaxes: 1.0, 2.0 and 2.1. 2.0 replaced and extended 1.0. All the documents had to be translated in the new, more powerful 2.0 syntax. This translation is done using some migration tools and rules, but this is not important. The default syntax right now is considered to be 2.0 and 1.0 is considered to be deprecated. 2.1 is an extension of 2.0. The syntax is the same (no translation is required) but adds some new experimental features (#HXWikiSyntax2.1LinkSpecification, #HXWikiSyntax2.1ImageSpecification). That's why Sergiu said "they are almost the same thing". Regarding "any other syntax is just a bonus" there are other external wiki vendors syntaxes http://platform.xwiki.org/xwiki/bin/view/Main/XWikiSyntax#HOthersyntaxes but they are not mandatory. Thanks, Caty
- 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.
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
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 [email protected] 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
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected] <mailto:[email protected]>> 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. 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.
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. 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 [email protected] <mailto:[email protected]> 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
On 03/24/2011 12:00 PM, Marius Dumitru Florea wrote:
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu<[email protected] <mailto:[email protected]>> 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.
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.
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.
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?
Right. I'm not proposing to change the WYSIWYG editor technology, just that the plain wiki editor should be lightweight and not depend on GWT, which, from my experience, is a bit slow.
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.
+1.
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/
On Thu, Mar 24, 2011 at 7:00 PM, Marius Dumitru Florea < [email protected]> wrote:
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected] <mailto:[email protected]>> 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 [email protected] <mailto:[email protected]> 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 [email protected] 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
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_..., 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. 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? 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) <[email protected]>
On Thu, Mar 24, 2011 at 7:00 PM, Marius Dumitru Florea < [email protected]> wrote:
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote:
On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected] <mailto:[email protected]>> 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 [email protected] <mailto:[email protected]> 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 [email protected] 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
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_..., 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... 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) <[email protected] <mailto:[email protected]>>
On Thu, Mar 24, 2011 at 7:00 PM, Marius Dumitru Florea <[email protected] <mailto:[email protected]>> wrote:
On 03/24/2011 08:51 AM, 许凌志(Jamesxu) wrote: > > > On Thu, Mar 24, 2011 at 10:54 AM, Sergiu Dumitriu <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> 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 > [email protected] <mailto:[email protected]> <mailto:[email protected] <mailto:[email protected]>> > 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 [email protected] <mailto:[email protected]> 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
participants (4)
-
Ecaterina Moraru (Valica) -
Marius Dumitru Florea -
Sergiu Dumitriu -
许凌志(Jamesxu)