As part of my startup efforts, I’m looking to bring in a social platform for my site. However, because my site runs on Google Apps Engine, my options are very limited if not zero (-since i’ve not yet found an open-source platform that can run on top of GAE). So, I’ve started to explore the what if I were to build my own platform? The task would be huge, but it would give me the freedom to use it for all future websites that I build, and integrate it however I want. One of my developers Darrel told me about Django Pluggables, a blog that lists a library of Django applications that can be used to “plug-in” for numerous common features. So below, are my list of plug-ins I think will be relevant to my needs:
Grabbing and Displaying RSS fed content
Retrieving content from an RSS or Atom feed and displaying it in a page is a fairly common need; many sites, for example, syndicate content from affiliates or partners, and simply parse a feed to obtain data which is then displayed in a sidebar as “latest headlines” or similar.
Retrieving generic content using criterias – get latest, get random, get specific
Turn plain-text entered by user into HTML
It’s extremely common to use some form of text-to-HTML conversion utility, such as Markdown or Textile, to allow plain text entered by staff members or users to be transformed into HTML for output
Comments moderation
Django’s bundled comments application is extremely useful on its own, but the amount of comment spam circulating on the Web today essentially makes it necessary to have some sort of automatic moderation system in place for any application which makes use of comments.
Contact form
Providing some sort of contact or feedback form for soliciting information from site visitors is a common need in web development, and writing a contact form and associated handler view, while relatively straightforward to do with Django, can be a tedious and repetitive task. This application aims to remove or reduce that tedium and repetition by providing generic contact-form functionality.
Exception logging
Logs Django exceptions to your database handler
Favorites picker
Allows users to pick favorites
Photo management application
Features
- Uses built-in Django administration interface;
- Tagging with django-tagging (optional);
- RSS/Atom web feeds (for photos, albums, tags and comments);
- Sitemaps support;
- Creates thumbnails on-demand;
- Django “sites” framework support;
- Django “comments” package support;
- Support for internationalization (available in English, Brazilian Portuguese and Italian);
- Pretty permalinks.
Friendship, contact, and invitation management
Features
- relationships between users (possibly with different types of relationship)
- sending and acceptance/rejection of invitations
- management of contacts who are not yet users (and notification when they become users)
- generation of FOAF files
- import of vCard and other means of importing contacts
….. i think i’m going to look harder for a Community Platform that can be integrated on top of GAE. Seeing the list of pluggins there are, I’m realizing there are way too many use-cases to account for (mail queuing?? cron jobs?).