Re: [xwiki-devs] Glossary Application [GSoC][Update]
Hi Sarthak,
On 28 Jun 2017, at 20:35, Sarthak Gupta <[email protected]> wrote:
Hello Vincent,
On Wed, Jun 28, 2017 at 1:30 PM, Vincent Massol <[email protected]> wrote: Hi Sarthak,
On 27 Jun 2017, at 14:58, Sarthak Gupta <[email protected]> wrote:
Hi all, This mail is regarding the status of the project Glossary Application. I have developed the basic UI for the application which enables a user to add a glossary application and also search the already existing glossary item in the glossary space. The UI is still not very user-friendly as I had decided to finish off the leftover designing part after adding more features and just before the release of the first version.
The next part of the project was "adding transformations". I have written the code for basic transformation but still facing some errors in it. Hope the errors may be rectified after some code review.
The task that will be left before releasing the first basic version will be "the ability to add glossary items from the wiki pages by selecting the words on Wiki pages". More details on http://design.xwiki.org/xwiki/bin/view/Proposal/GlossaryApplication <http://design.xwiki.org/xwiki/bin/view/Proposal/GlossaryApplication>.
Also, tests are to be written for each fo the above.
Rest of the features which are to be added (See Design Page) will be implemented after the release of the first version. :)
Thanks for the update.
Some general comments first: I found that the work is going too slow and I’m a bit disappointed by the progress. At this stage you’re actually less advanced than the FAQ application and the Glossary app is really just a copy of that (the part located in wiki pages). You should have finished both the UI and the Transformation at this point. TBH the work done shouldn’t amount for more than 2-3 days of work for someone new to XWiki.
Yes, I totally agree and deeply regret that the work done is too less than expected. The main reason for this was that I was basically facing problem with the language. I was hearing some things for the first time in my life, I used to google them a lot but because of having a very less experience in programming(1 year roughly), I was finding difficulty to relate things with each other thus not able to find the right resources to understand the concepts properly, so used to get stuck on them for days. I still face these things but certainly I am better now and will try to catch up. :)
Some more specific comments on the code of what I’ve reviewed: * The POMs have plenty of errors and you haven’t used the information that can be found http://contrib.xwiki.org nor the FAQ application’s POM as I have explained a few times (missing licenses, missing metadata, etc), incorrect README. * You committed IDE files in the SCM (see the rules from http://dev.xwiki.org).
* Would be better to use nested pages and put the Code space under the Glossary space. Could you please explain the one point above. Not getting it.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac... and especially: "Technical pages must be put in a subspace named Code” Would be great if you could review those best practices btw. XWiki supports nested pages, see http://platform.xwiki.org/xwiki/bin/view/Features/ContentOrganization/ for more details.
* You’re using the wrong package for your java class (it should be in org.xwiki.contrib and not org.xwiki.rendering): https://github.com/xwiki-contrib/application-glossary/blob/master/applicatio... * Would be great if you could add some unit tests for the transformation (again check the wikioword transformation which has tests). Without it, it’s hard to test and I can’t help you without that (would take too long to debug in XWiki).
I will correct all the above errors ASAP. * Note that you haven’t implemented yet a cache in the transformation and tight now your transformation would simply slow down the whole XWiki :)
Could you provide some pointers on this?Some example or guide that I can refer to?
This means implementing an Event Listener that listens to glossary xobjects addition/deletion/updates and updates a cache of glossary keys and document references. A cache can be a simple structure such as a Map. You can google “xwiki event listener” for more info on that. There are also several examples in xwiki-platform. Check classes implementing the EventLiostener interface. Thanks! -Vincent
Maybe you need to catch up technically on several technologies and that’s why the progress is a bit slow. I hope you’re learning a lot which would be good!
That's right! I am learning a lot.. :)
Thanks Sarthak Gupta
Thanks -Vincent
Thanks Sarthak Gupta
participants (1)
-
Vincent Massol