PWR wydawnictwo

Building large, highly complex and unique
content management system with Django

Objectives of the project

Understanding the customer's needs

At the beginning of the cooperation we had an overall guidance about required functionalities or the final shape of the planned websites.

In order to clarify the details we organized series of workshops, both in our's and client's office.  The meetings were attended by the chief editors of each magazines, as well as representatives of the promotion and IT departaments.

During this time, we have prepared and discussed several preliminary mock-ups of key pages, exchanged hundreds of e-mails and conducted a lot of phone calls.

Choice of technology


First we considered using Drupal. However, as our knowledge of the final scope of the project crystalized and the customer made clear that he wants to make further developments, we decided to use Django framework. It is a very powerful tool (based on Python language), which allows to create very complex web applications and portals.

Our recommendation was accepted by the client.


Information Architecture / UX

The task we received from the client was uncommon.

We were not asked to create a single website with clearly defined audience and a set of functionalities tailored to their needs.

Our goal was to design a set of functionalities and combine them into logical integrity; these components had to be sufficiently versatile and flexible so they could be used on many websites.

After three months of intensive work (including workshops and dozens of e-mails sent and talks made) we finished the first phase of the project. We created the architecture of information and the specification of functionalities.

We have created tens of mock-ups, including several resolutions (RWD) for each template. The final documentation counted 187 pages.




of spec

Key functionalities

Pokaż / ukryj opis

An integral part of each website is a discussion forum. This feature has extensive configuration options. Administrator can create new categories, sub-forums and polls, moderate users posts and attachments, managing their profiles (they even can block access for people who have broken the rules).

Pokaż / ukryj opis

Within the project we also integrate subscriptions and ads ordering process with online payment system PayU. We integrated advanced reporting which includes a live feedback about the status of each payments. As a result, the administrator is always up to date about information on payments related to purchased subscriptions and advertisements. Integration with external mailing service - FreshMail. Our customer is an active user of this service, so instead of creating a dedicated mechanism from scratch, it was decided to integrate websites with FreshMail. We used Freshmail API, so e-mail addresses of subscribers are automatically added to the list in Freshmail. Importantly, the administrator has the ability to integrate each website with different Freshmail account, he also can determine which lists are available for users (to subscribe).

Pokaż / ukryj opis

This module presents latest quotations from most important agricultural markets in Poland. To enhance browsing convenience and usability, quotations are divided into categories and regions. Editors update information using user-friendly administration tool, they also can manage the list of categories and regions.

Pokaż / ukryj opis

As part of the project we integrated websites with free adserver Revive (formerly known as OpenX). As a result editors gainded dedicated, very powerful tool for handling advertising campaigns on the of their websites. Our responsibility was to pre-install and configure adserver and built a mechanism to assign advertising zones to specific locations in the pages templates. Assignment operation is very simple and does not require copying or writing any code, editors simply enter ID into appropriate fileds in the CMS. Currently, the websites provided space for 33 permanent zones plus the ability to activate the advertising zones on the homepage.

Pokaż / ukryj opis

News and articles database is the heart of every news website. A key aspect is the possibility of easy categorizing and tagging news and articles; in the first case by subject, in the second edition even using release number. In addition, editors may decide which news are presented on the home page as recommended, activate comments feature and link the information with video material, poll or photo galleries.

Pokaż / ukryj opis

Advanced mechanism for handling orders for subscriptions and ads online. The purchase process is divided into several steps including: registration or login, subscriptions or advertising configuration, and finally payments. When user sends order, information is stored in the database, while user and administrator receive a confirmation e-mail. The administrator can configure the types and prices of subscriptions and defines related entitlements.


The implementation of the new platform has been linked with the launch of a new website for “Top Agrar Polska” magazine. The project was divided into 4 main stages:

Graphic design

  • We prepared 48 layout, including 13 for the RWD variants.
  • We spent over 100 hours of work.
  • This entire phase included time provided for client’s acceptance and lasted 43 days

Frontend development

  • 46 HTML, 32 CSS and 82 JS file were created.
  • Full compatibility with most popular browsers: IE 9+, FF, Chrome, Opera and Safari.
  • All templates and functionalities work properly on most popular smartphones and tablets
  • No errors in W3C validator

Backend development

  • Definitely the biggest challenge of the project.
  • Two dedicated Django developers.
  • 90 days of programming.
  • Integration with PayU, FreshMail and Revive.
  • Implemented Django Suite (CMS) skin based on Bootstrap.
  • Integration with the external (hosted by PWR) subscribers’ database.


  • Our QA team compared all templates with graphic designs and verified their compatibility.
  • We also tested the website on most popular browsers and various devices (PC, Mac, iPhone, iPad, smartphones and tablets with Android and Windows Phone)
  • 250 errors was captured, only 18 were critical. Several suggestions and proposed modifications were reported and discussed.

Further development

While the initial development was still in progress, new ideas and needs began to appear. The close cooperation with our client resulted in the additions of new features and sections to the already published website.

... and the second title in the new formula

A few months after we finished work on we received an/the another task (podobną sytuację opisałem wcześniej przy podobnym an/the). The client wanted us to help him configure a new website for his second magazine – Tygodnik Poradnik Rolniczy.

In order to differentiate individual sites we introduced a number of minor changes, mainly from the visual side.

Due to the fact that most functionalities were shared, the development workload needed to run the second portal proved to be significantly lower.

In fact, it was the real evidence that the whole project meets outlined requirements and provides real benefits to our client.


The portal for Polskie Wydawnictwo Rolnicze wouldn’t have been created without the involvement of many people. It’s impossible to mention every team member of this project, but a key role in the process was played by Mr Sławomir Wilczyński, Project Manager at Merixstudio and Mr Tomasz Niemiec and Mr Bartłomiej Czekała on the PWR side. I would like to thank them for their cooperation..

Project leader at PWR
Wojciech Szramowski