[TYPO3-community] Some ideas...

Michael Knoll mimi at kaktusteam.de
Tue Aug 28 23:44:18 CEST 2007


Hi folks,

nice to have this list here. As I am thinking about writing / extending 
a community extension for some months now, I wanted to share my ideas 
with you - and also the problems I had to experience.

Let's start with my ideas. Nowadays, there are some internet 
communities, which I think could be seen as a "de-facto-standard", like 
facebook or studivz.net (without any further comments on how good this 
communities are implemented). Looking at these communities might show 
you all the functions which a generic community plugin should deliver. 
I'm trying to give a more or less complete list of functions I'm 
thinking about:

User / User Profiles
--------------------

* Users must register to your community
* Users must set up a profile
* Users must define what to show to everybody and which details should 
kept private / only visible to friends


Buddies
-------

* Users should create buddy lists with friends
* Buddies should be able to exchange messages
* Any information from buddies, that change over the time should be 
displayed to the users (like new galleries of buddies...)

Messaging
---------

* Users should be able to send messages to each other
* There should be public and private messages (guestbooks)

Groups
------

* Users should be able to joing groups
* Groups should also have a profile and group-internal stuff, like users
* Possibility to send invitations for groups
* Set visibility option for groups (everybody, members only...)

Social-Networking
-----------------

* Users and groups should be able to build up networks which can be browsed

Additional functionality
------------------------

* Blogging
* Galleries (linking people, groups... on photos)
* Who's online...
* Chat functionality

API to connect external plugins easily
--------------------------------------

* Access control for privacy
* Using buddy lists to link content
* Linking for user-profiles


Most of these features are implemented in the cwt_community plugin by 
Sebastian Faulhaber. I started to experiment with this extension, but 
after a while, some problems appeared, which made me change my mind and 
gave me the impression, that it would be better to reimplement the 
extension:

- The extension is missing a groups-feature as mentioned above
- The extension uses a fe_forms extension for generating frontend forms 
which didn't seem to me as a proper solution for the job (for example 
certain elements like radio-groups are missing)
- The extension is not using lib/div as a basic MVC framework and 
therefore not following the new way of extension writing
- Porting the extension to Typo3 5.0 might be difficult because of the 
previous point
- An API for connecting other extensions like chc_forum or gallery 
plugins is missing, so it might be very difficult to connect to other 
extensions, which is necessary to extend the functionality of the 
extension and to build up a bigger community website.

What I did during the past couple of months now, was to evaluate 
existing extensions and frameworks for building up new extensions. With 
lib/div, there seems to be a good framework, which makes it easy to 
build up bigger extensions and which might be easy to adapt for Typo3 5.0

What is still missing is a Frontend-Forms-Library which enables you to 
easily create Frontend Forms which are needed for most of the 
extensions. So at the moment I'm stuck with learning how to use the 
lib/div extension and getting some of the upper ideas implemented with it.

To make it more easier to coordinate the development of a community 
plugin, I would suggest to open up a new wiki page on the typo3 wiki. As 
I'm not sure, whether everybody is allowed to open up a page I thereby 
ask the question whether anybody knows the "wiki-rules" and could 
organize to open up such a page.

Ok - so far, that was my brainstorming. I hope, we get this job done as 
soon as possible and create a great extension!

greez

Mimi


More information about the TYPO3-project-community mailing list