CASE STUDY: – an online community for women powered by TYPO3

14 April 2010 Comments Off is considered one of the major online projects of Ringier Romania. Currently among the top ten online portals focused on lifestyle in Romania, the website wants to gather a consistent and active community of women to which to offer relevant and up-to-date content.

Main requirements

Our customer approached us with the following list of main requirements:

1. Create an environment where the targeted segment (women) can find relevant content (news, photos and videos) displayed in an attractive format, highlighting the updates.

2. Create an active community, by stimulating the users activity and feedback (adding comments, casting votes, posting in the forum section, participating to surveys, use the internal messaging of the website, creating own albums, etc.). The users are enticed through a system which rewards active users with points.

4. Give and receive opinions to personal issues, by creating a section where the users can ask the feedback of the community about a certain problem (with a functionality similar to Yahoo! Answers).

5. Create a complex astrology section, where one can find the predictions for the current day or year and also can find the compatibility between signs.

Technical requirements

- Use of TYPO3 version 4.2 as a development framework and also as a backend.
- Due to short implementation time and to budget restrictions, public extensions were to be used wherever possible.
- Custom extensions would need to be built for the functionality where we couldn’t find suitable public extensions.
- AJAX technology would be used in order to create a smooth user experience through the interface.

Technical challenges and solutions

1. Implementation using public extensions with respect to the TYPO3 CGL.

Taking into consideration that certain public extensions do not implement TYPO3′s extending methods (for example cwt_community does not use HOOKS or XCLASS) or, in other cases, the separation between the PHP and HTML code is not done at acceptable standards (for example simplesurvey), we have decided to create new extensions, based on the code and logic of some public ones but modified in order to implement the project’s specifications and in the same time apply to the TYPO3 CGL.

2. Using AJAX technology combined with some public extensions that are not implemented using it.

As an example, we’ve used AJAX for adding, replying and browsing the users commentaries of the articles. Originally, this functionality is implemented in TYPO3 using the comments extension, which doesn’t use AJAX.

Implementing custom extensions that use AJAX technology was an interesting experience (voting extension, poll extension, Yahoo! Answer like extension). We tried to use the xajax library using some public extensions – xajax, taxajax, tdo_xajax – but we’ve encountered the same problem: if more than one plugin using AJAX was displayed on a page, only the first plugin worked as expected. Also, when making a request, a lot of unnecessary code was executed in order to create the proper answer. Finally we’ve decided to make the AJAX request using our own JavaScript implementation combined with TypoScript configuration, to avoid the execution of unnecessary code.

3. As the client requirement was to create complex relation between different data types, finding a solution for an easy, fast and user friendly relationship building was a major issue on which our best solution was to use IRRE (Inline Relational Record Editing)

4. The large amount of records added by the editors raised the question of a fast retrieval of a given record. Creating custom backend modules with advanced search filters was a successful solution.