Re: [xwiki-devs] Welcoming our GSoC students
Hello everybody! My name is Cristina Scheau (cristinaS from IRC). I will work on "XWiki Integration with OpenOffice", mentored by Sergiu Dumitriu. My actual design page is : <http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice> http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice It will be improved. If someone has suggestions about it, please let me know. The project will be an Open Office extension. In a nutshell, my action plan is: 1. Doing some research about the OpenOffice SDK API 2. Discussing with the community about the software archtecture 3. Developing a GUI for XOO extension 4. Implementing a wizard for connecting to a XWiki server and a xwiki navigational panel 5. Implementing the core classes that will be used in the future development 6. Implementing the functionalities: edit existing XWiki pages and add new XWiki pages from OpenOffice 7. Implementing the functionalities: download and upload attachments 8. Implementing : editing attachments supported by Open Office 9. Refining the GUI and adding new small functionalities 10. Improving the project using the feedback from the users. Thank you very much for accepting me! Have a great day, Cristina On Wed, Apr 22, 2009 at 1:40 AM, Sergiu Dumitriu <[email protected]> wrote:
Hello Google Summer of Code students,
First of all, congratulations on your applications and your activity during the selection period, and welcome in the XWiki development team.
Before guiding the accepted students to their next steps, we'd like to thank again all those who showed interest in XWiki for this Summer of Code. We had an impressive number of good applications this year, with professional approaches and interesting ideas, and it was very difficult to choose only 6. Unfortunately, some very good students, with great potential, were not accepted. So, to those interested in getting involved anyway, without Google's implication, I renew the invitation to put your ideas in practice under the guidance of the community. Even though the money will be missing, you can still take advantage of the other GSoC benefits: learning new things, gaining experience, earning recognition, etc [ http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/]. If you would like to do that, please let us know by replying to this mail.
For the accepted students, here are some getting started hints:
Community bonding period
According to the program timeline [ http://socghop.appspot.com/document/show/program/google/gsoc2009/timeline], the next month (April 20th - May 23rd) is to be used for community bonding.
The first thing to do, sometime this week, is to present yourself and your project on the dev list, so that everyone knows who you are and what to expect from you.
Also, you should continue getting acquainted with the code, the practices and the developers. Please make sure you all read and understand the following - very useful - documents: - http://purl.org/xwiki/community/ - http://purl.org/xwiki/dev/ - http://platform.xwiki.org/xwiki/bin/view/Features/
Mentorship
We prefer open mentorship. While your assigned mentor is the one officially in charge with your guidance, almost all interaction should be done 'in the open' as much as possible, on the IRC channel or on the mailing list. You should choose the communication medium according to the importance of the matters to be discussed: naturally, the less important issues are to be discussed on IRC, while the design decisions, important progress announcements and testing/feedback requests go on the list. This way, the community is informed on the evolution of your project, and other developers can come up anytime with useful ideas and suggestions. Moreover, if your mentor is hit by a bus (the bus factor [ http://en.wikipedia.org/wiki/Bus_factor]<http://en.wikipedia.org/wiki/Bus_factor%5D>), another developer can take his place with little effort.
Communication
Sitting alone in your room, working secretly on your project is definitely a bad approach. However, please keep in mind that too much communication can also be harmful, as it distracts the others from their own work. You need to be able to communicate just right: - provide meaningful information about your progress, - ask the community's opinion on non-trivial design or implementation decisions - avoid waisting a lot of time on a problem, when a more experienced developer (or a student that fought the same problem) could quickly provide you an answer; however, do try to find the answer yourself at first.
Wrong: "Where do I start? What do I do now? And how do I do that? Is this good? It doesn't work, help me!" Right: "Since a couple of hours ago I get a strange exception when building my project, and googling for a solution doesn't seem to help. Looking at the error, I think that there's a wrong setting for the assembly plugin, but nothing I tried works. Can someone please take a look?"
Subscribe to the devs list (if you didn't do this already), and start monitoring the discussions. It is also recommended to subscribe to the users list, but not mandatory. The notifications list is a little too high volume and technical for the moment, but it is a great knowledge source.
We have set up a wiki on the community farm for you to organize your ideas and log your progress: http://gsoc.myxwiki.org/ . Each student must register on this wiki, create and organize a space for the project, with a blog where the evolution will be described. Currently the wiki is pretty empty, but it will grow.
Development process
The project's lifecycle is NOT design -> implementation -> testing -> documentation. [ http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/]
We invite you to adopt a test driven development [ http://en.wikipedia.org/wiki/Test-driven_development][http://www.amazon.com/dp/0321146530][http://www.amazon.com/dp/0201485672/<http://en.wikipedia.org/wiki/Test-driven_development%5D%5Bhttp://www.amazon.com/dp/0321146530%5D%5Bhttp://www.amazon.com/dp/0201485672/>] approach and to experience agile development [ http://www.amazon.com/dp/0596527675/]. After the first coding week, you must have some code that works. It won't do much, of course, but it will be the seed of your project. Every functionality will be validated by tests. The code must be properly tested and commented at the time of the writing (don't think you'll do that afterwards, because in most cases you won't).
We will create the proper projects in the xwiki sandbox, and we encourage you to do __at least__ weekly commits (ideally, if you are well organized, you should be able to commit code that works daily, so try to aim at daily commits). This way, the code can be properly reviewed, and any problems can be detected before they grow into something too difficult to fix. One big code blob committed at the end, no matter how good it may seem, is a failure at several levels.
A simple way of having something functional in the first week is to prepare the maven build, which will give you the first unit test for the first class.
Next steps, in a nutshell
- Get more familiar with the code and development process and try to master Maven, JUnit, Selenium, component driven development, ... - Continue fixing a few small issues, chosen so that they are __related to your project__ -- This will help you get more familiar with the code your project needs to interact with. - Refine and organize the ideas concerning your project (use the wiki), and write several use case scenarios. - Start writing the first piece of code for your project.
At the end of the community bonding period, you should have a clear vision of the project, well documented on the wiki, you should have the build infrastructure ready, and you should be pretty familiar with the existing code you will need to interact with. And, of course, you should be familiar with the community and the way we communicate.
Good luck, and may we all have a great Summer of Code! -- Sergiu Dumitriu http://purl.org/net/sergiu/
Cristina Scheau wrote:
Hello everybody!
My name is Cristina Scheau (cristinaS from IRC). I will work on "XWiki Integration with OpenOffice", mentored by Sergiu Dumitriu.
Initially, the main mentors were supposed to be Asiri and Florin, but Asiri decided that he is a bit too new to XWiki development to be a primary mentor, and Florin will be involved mainly with the other Office project, and being primary mentor for two projects is a bit too demanding. This left me in charge of this project, although I don't have experience with either the OOo or the XOffice codebase. On the technical part, you will have to learn on your own, ask on the OOo forums/mailing lists, talk with Asiri and Florin. I will be more of a product manager and overall development mentor. The secondary mentors will be Florin and Asiri.
My actual design page is : <http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice>
http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice
It will be improved. If someone has suggestions about it, please let me know.
The project will be an Open Office extension. In a nutshell, my action plan is:
1. Doing some research about the OpenOffice SDK API 2. Discussing with the community about the software archtecture 3. Developing a GUI for XOO extension 4. Implementing a wizard for connecting to a XWiki server and a xwiki navigational panel 5. Implementing the core classes that will be used in the future development 6. Implementing the functionalities: edit existing XWiki pages and add new XWiki pages from OpenOffice 7. Implementing the functionalities: download and upload attachments 8. Implementing : editing attachments supported by Open Office 9. Refining the GUI and adding new small functionalities 10. Improving the project using the feedback from the users.
Thank you very much for accepting me!
This project is a bit more demanding than the others, since it involves writing a complete product with a technology we're not familiar with. I hope you are prepared to offer 110% to make it successful, and keeping in touch with the mentors and the community is really important to guarantee that no time is wasted on deadends. -- Sergiu Dumitriu http://purl.org/net/sergiu/
I'll do my best to make XOO successful. I will keep you all in touch with the development steps and even after Gsoc I will continue to be involved. I realize that after three months, there will be a basic product , but it will need more refinements. Best regards, Cristina On Wed, Apr 22, 2009 at 1:48 PM, Sergiu Dumitriu <[email protected]> wrote:
Cristina Scheau wrote:
Hello everybody!
My name is Cristina Scheau (cristinaS from IRC). I will work on "XWiki Integration with OpenOffice", mentored by Sergiu Dumitriu.
Initially, the main mentors were supposed to be Asiri and Florin, but Asiri decided that he is a bit too new to XWiki development to be a primary mentor, and Florin will be involved mainly with the other Office project, and being primary mentor for two projects is a bit too demanding. This left me in charge of this project, although I don't have experience with either the OOo or the XOffice codebase. On the technical part, you will have to learn on your own, ask on the OOo forums/mailing lists, talk with Asiri and Florin. I will be more of a product manager and overall development mentor. The secondary mentors will be Florin and Asiri.
My actual design page is : < http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice>
http://dev.xwiki.org/xwiki/bin/view/Design/XWikiIntegrationWithOpenOffice
It will be improved. If someone has suggestions about it, please let me know.
The project will be an Open Office extension. In a nutshell, my action plan is:
1. Doing some research about the OpenOffice SDK API 2. Discussing with the community about the software archtecture 3. Developing a GUI for XOO extension 4. Implementing a wizard for connecting to a XWiki server and a xwiki navigational panel 5. Implementing the core classes that will be used in the future development 6. Implementing the functionalities: edit existing XWiki pages and add new XWiki pages from OpenOffice 7. Implementing the functionalities: download and upload attachments 8. Implementing : editing attachments supported by Open Office 9. Refining the GUI and adding new small functionalities 10. Improving the project using the feedback from the users.
Thank you very much for accepting me!
This project is a bit more demanding than the others, since it involves writing a complete product with a technology we're not familiar with. I hope you are prepared to offer 110% to make it successful, and keeping in touch with the mentors and the community is really important to guarantee that no time is wasted on deadends.
-- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
participants (2)
-
Cristina Scheau -
Sergiu Dumitriu