Google Summer of Code 2010 Midterm Report

Categories: Community Created by Ingo Renner
Time is flying and so we are half way through Google Summer of Code 2010 already. Time to have a look at the current progress of the projects.
Enhancing the Usability of the List Module Nuwan from Sri Lanka had some difficulties getting started with his project, as he never did a TYPO3 extension or website before. Nevertheless he managed to implement his first set of features, dynamic columns and drag and drop for records. Thomas and Tobias helped him out by reviewing his code and guiding him on Ext Js, hooks, and the coding guidelines. The most difficult issue seems to be communication which Thomas and Tobi are working on to improve. All in all everything looks good so far considering that Nuwan is completely new to TYPO3. Tobi let us know that Nuwan's changes may very well enter the TYPO3 core if continues to improve his code quality and more features get finished. The team is also in contact with Jens to discuss more ideas, requirements, and features. They conclude that the initial goal of the "next generation list module" shifted a little to improving the existing list module. This is fine as a real next generation list module probably would require a complete rewrite from scratch by someone with deep knowledge of the existing features and APIs.  A generic i18n and l10n strategy for FLOW3 and TYPO3v5 Karol from Poland reports everything is on track with his project. Until now he created a localization service for environmental locale information. A Locale class will be used in FLOW3 wherever locale-specific functionality is needed. Another neat feature is detection of locales from the HTTP Accept-Language header. FLOW3 is going to use <link http: cldr.unicode.org>CLDR - the Common Locale Data Repository. Karol implemented a parser for the XML files provided by the project. Then another parser was needed to read XLIFF files, an XML format for translation strings. Next on his list are classes for messages / labels, translations and formatting Fluid viewhelpers. Karsten reports that in contrast to last year the students working on FLOW3 got commit privileges for trunk instead of creating a separate branch and merging later on. It turned out that merging took a lot of time. This approach also works out because Karol works very thorough using a test-driven approach. By the end of GSoC 2010 they expect to have a very solid code base for l10n and i18n in FLOW3. Karol also set up a blog where you can <link http: flow3.gusak.eu gsoc>follow his progress with weekly updates. Enhancing the Media Content Element Aishwarya from India has been working on improving the URL field to accept URLs other than the embed code URLs ie, custom URLs. Unitl now, if you wanted to insert a YouTube video on a page, you needed to know the correct embed URL of the video. Consider this YouTube video: <link http: www.youtube.com>www.youtube.com/watch, to embed it on a page you needed to find out its embed URL <link http: www.youtube.com v>www.youtube.com/v/12Z6pWhM6TA, now you can just use the original YouTube URL. A couple of video sites are supported at the moment: YouTube, Dailymotion, sevenload, vimeo, Clipfish, MTV, and Google. The second feature Aishwarya implemented is thumbnail support for videos. The Media content element will now be able to show a thumbnail image of a video. Modular Community System Pascal from Germany had the task to rewrite the existing bits and pieces of the community extension with extbase and fluid. Currently he has implemented the basic framework for the community system including user profiles, relations and friendships, ACLs, and caching. User profiles will represent a user and allow for self service of the user's data. Friendships can be requested and the other user needs to confirm that request to make it "active", requests can also be denied or ignored of course. The most effort by far was spent with ACLs, but eventually users can now create groups like "friends" or "family" and set different access rights for their profile information. Groups currently support public and private access with administrators and regular members. A very important feature of communities is the dynamic nature of quickly changing content. Therefor the extension is implemented as a USER_INT that takes care of intelligent caching itself by extensively using TYPO3's caching framework. Next up is a rewrite of EXT:comments, also based on extbase and fluid. The goal here is not a complete rewrite but a general basis to work with as it's going to be used for the community's wall feature in user profiles and groups. Pascal also attended T3DD10 so we could introduce him to people like Christian Kuhn who is working on the caching framework and Jochen Rau and Sebastian Kurfürst who work on extbase and fluid - all key technologies for Pascal's project. Private resource handling for FLOW3/TYPO3 5.0 Andreas, also from Germany, has implemented content security support in FLOW3. This feature is really powerful and unique in its approach. It allows for centrall access control on any type of PHP object without the need to actually implement security related code in the packages dealing with content. To make this happen, Andreas had to add support for runtime constraints to FLOW3's AOP framework - only few frameworks actually have such a feature. There has also been a podcast recently where Adreas explains all that to his mentor, Robert. You better see it yourself by watching this demo video: <link http: flow3.typo3.org download release-notes>flow3.typo3.org/download/release-notes/100-alpha-10/. The next step is to use these content security features to implement the secure downloads functionality. Robert told us that Andreas had to finish his diploma thesis and had to pause work on his project during June because of this. Nevertheless he's on track to finish his project in time again after having handed in his thesis. Congrats for finishing your thesis Andreas! Summary All in all everything seems to be on track or just slightly behind schedule. All the students passed the midterm evaluation, congrats to all of you! Thanks also to the mentors who helped us together with their students to put this update on GSoC progress together. We are looking forward to the final results.  Also we have set up test installations for all the projects so that you will be able to check out the progress yourself. We will let you know when these installations are ready to be checked out by you.