Pinax [1] is a framework born from an idea of James Tauber, whose goal is to accelerate development of web applications (website), with a specific focus on social networks.
The basic idea of Pinax is to give to the developer a layer with several functionalities that are commonly needed while developing a website (for instance, a registration form, tagging support), easily reusable and not bound to the objects which are represented by our application.
The goal is to make the developer concenterate only on the problem domain that he is facing, without having to reinvent the wheel anytime, thanks to these dedicated modules, each one for a specific feature.
Pinax is built upon Django [2], a framework to develop websites in Python based on the MTV pattern [3], where each website is composed of different Django "web applications".
Pinax relies on this layered architecture, being itself a collection of reusable Django applications, that are easily reusable within the specific custom applications we are building thanks to a set of conventions.
Born as a mere assemble of Django applications, Pinax evolved into a true framework which poses the roots for the development of websites and more specifically social networks (demo [4]) and Intranet applications.
The talk will introduce Pinax, some 3rd-party Django applications that have been integrated, and those Pinax-specific application, with a fast overview on the functionalities being offered.
We will show the structure of a project based on the SVN version of Pinax, the conventions being used, with a specific focus on the parts that Pinax leaves for the developer to configure or substitute, with real-world code excerpts.
[1] http://pinaxproject.com
[2] http://djangoproject.com
[3] http://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names
[4] http://www.cloud27.com