django-public-project - Documentation¶
Django Public Project (DPP) is an open source software (Website | GitHub) for creating/maintaining an information website around a public project (building of a new opera house or an airport, long-term preparations for a big sports event,...) bringing transparency to the roles of stakeholders, important events as well as the overall project progress.
DPP was initially funded by the pirate party in the german parliaments of Berlin and North Rhine-Westphalia for their projects BERwatch (german) and BLBwatch (german).
Manual¶
Getting Started¶
Introduction¶
Django Public Project (DPP) can be best described as a special kind of Content Management System (CMS), tailored to the peculiarities of big projects, which often tend to becoming fairely complex and intrasparent when they evolve. Below is a screenshot of the front-end view of the example project:

Use Cases¶
With DPP it is possible to build up an in-depth information website around a big project which can be used...
- ... by administration to inform the public about the progress of an ongoing project and so increase acceptance for it.
- ... by civic groups to monitor the progress of a project.
- ... by parliament for an enquiry around a project where certain problems occured.
Features¶
DPP comes with an administration interface, where various high-level information around a project can be inserted and maintained. Which important stakeholders are involved in the project? What are important events? How is the project structured? All this information is then presented as a front-end website visible for end-users.
Notable features of the software are:
- Extensive admin interface
- Beautifully layouted front-end website
- Tags and external links for all project objects
- Full-text search
- Document manangement with integrated PDF viewer
- Advanced commenting system for end-users
- Languages available: EN/DE

Technology¶
DPP is build with Python/Django
and comes as a Django app
providing all the data models necessary together
with the templates for the front end layout. This app can be integrated in a Django
project representing
the concrete project to be targeted.
Warning
This software currently is in beta
status. It can be used in a productive environment,
but please follow closely the Release Notes if you want to make an update of the software
and have an eye on changes in Django model declarations, software dependencies or config settings.
Installation¶
Requirements¶
For installing DPP you need the following Python/Django
libraries, probably best installed in
an own virtualenv
environment:
- Python 2.7+ (Python 3.x not yet supported)
- Django 1.10 (1.11+ not yet supported)
- PDFMiner (Version 20110515 to avoid dependency errors!)
- Pillow 2.5.2+ (Replacing PIL, for Django ImageField type)
- Tastypie 0.13.3+ (for API access)
For PDF conversion to jpg files for having an IE compatible PDF viewer, you need to have the
ImageMagick
library with the convert
command installed in your shell environment:
Note
There are some fabric tasks which can help you set up an environment for DPP located in an own GitHub repository which can be found here: https://github.com/holgerd77/django-public-project-fabric-tasks/
Installation with Pip¶
DPP
is on the Python Package Index
and you can install the software with all dependencies
with:
pip install django-public-project
Manual Installation¶
If you want to have the latest version of DPP
, you can install the sources manually
with PIP
(or directly clone the GitHub repository):
pip install -e git+https://github.com/holgerd77/django-public-project.git@master#egg=django-public-project
Then install the requirements above. There is a requirements.txt
file in the main directory
of the repository you can use:
pip install -r requirements.txt
Project Creation¶
Create your Django
project:
django-admin.py startproject myprojectwatch
Add the Django apps installed to your settings.py
file (of course you also need the admin app which
is essential for DPP):
INSTALLED_APPS = [
...
'public_project', # Since DPP changes some admin templates, app has to be placed before admin
'django.contrib.admin',
'tastypie',
]
Sync your database respectively use migrations for DPP:
python manage.py syncdb (due to database dependencies, don't create a superuser yet)
python manage.py migrate
python manage.py createsuperuser
Configuration¶
DPP is not really an app which you would install beside many other Django apps and integrate it in a more complex website. It is more a content management system already coming with an url structure and a given layout capsuled in a single app. So DPP takes control of more things than the normal Django app.
URL structure¶
The urlpatterns for your project are completely coming from DPP, with an exception of the admin url,
which should be adoptable for security reasons. So your minimal urls.py should look similar to this,
importing the main url patterns from public_project.urls
:
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
from public_project.urls import urlpatterns
urlpatterns += [
url(r'^admin/', include(admin.site.urls)),
]
# Necessary for being able to use image upload in DEBUG mode
if settings.DEBUG:
urlpatterns += [
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT})
]
Now you should be able to enter both the admin view and an emtpy front-end dashboard site when you start a dev server. The site itself is not yet ready for prime time at this moment.

Basic settings¶
Since I’m not sure, if there are still some static references to static or media files somewhere in the code,
you should use the following STATIC_URL
and MEDIA_URL
settings:
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
For being able to get email notifications about comments and document relations, you need to configure the Django email settings properly:
EMAIL_FROM = 'admin@yourmailaccount.com'
EMAIL_HOST = 'smtp.yoursmtpserver.com'
EMAIL_HOST_USER = 'YOURUSERNAME'
EMAIL_HOST_PASSWORD = 'YOURSECUREPASSWORD'
DPP uses the request template context processor in its views and adds its own context processors,
add them to the TEMPLATES
setting in your settings.py
file:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'public_project.context_processors.uploaded_images_list',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Language Selection¶
At the moment DPP supports the following languages:
- English (en) (experimental and not yet used in production, probably you have to correct some stuff)
- German (de)
The language is chosen depending on the LANGUAGE_CODE
param in the settings.py
module, e.g.:
LANGUAGE_CODE = 'de-de'
Document upload/viewer¶
The document viewer in DPP is based on the Mozilla pdf.js library (included in DPP) when using modern browsers like Google Chrome, Firefox or Safari.
For being able to view on site pdf documents with the Microsoft Internet Explorer there exists a basic
alternative pdf viewer. For this viewer, single pages are converted to png files and are stored on disk
and you need to have the ImageMagick
library installed and make sure that the convert
command
from this library can be used from within your project path.
Since this approach can take a lot of disk space for large documents and root access to the server is
needed, you have to activate IE compatible pdf viewer usage with the following setting in your
settings.py
file:
DPP_IE_COMPATIBLE_PDF_VIEWER = True
If this setting is set to false (default) a warning message will be shown on the document page for IE users, prompting them to use an alternative browser.
If this setting is set to true, documents are saved as the original pdf file and a corresponding document_x folder containing the pngs in your media folder. Please test-upload a pdf document and see if these files are generated. Then test the url with the pdf viewer for this document in both the MSIE and another browser.
Note
The conversion process of a pdf document takes place in the background and may take a while for large documents.
Custom JS/CSS Code¶
If you want to include custom Javascript code or CSS styles into your project - e.g. to add analytics to the site or customize the layout, you can use the following settings:
DPP_CUSTOM_JS = 'alert("This should show up on every page!")' #Example JS Code
DPP_CUSTOM_CSS = 'body { margin: 20px; }' #Example CSS Style
Site Domain¶
For urls in comment emails to work properly, you have to edit the Site
object, which Django
should have created in the Sites
section in the Django admin.
Provide your fully qualified domain name there (e.g. ‘yourproject.yourdomain.com’), without trailing ‘http://‘.
JSON API¶
Since v.0.4
DPP comes with a public API, which let developers access the public data of the
system, leaving out internal comments and user comments. The API supports no authentication mechanism
yet and will be accessible by everyone without limitation. To activate the API, add the following to
your settings.py
file:
DPP_PUBLIC_API = True
For the API to work you have got to have Tastypie 0.9.15+ installed:
pip install django-tastypie
And add tastypie
to your INSTALLED_APPS
.
When the API is working there will be an extra link in the footer leading to to API overview page:
http://yourproject.org/api/
Note
The API is still in an experimental/early stage, many features are missing and usage params will probably change in the future.
Where to go from here?¶
The main set-up process for your project website is now finished and the site is ready to be filled with some data.
Congratulations! :-)
Start by adding/changing some configuration parameters and introductory texts in the SiteConfig
and SiteCategory
menu.
In the next chapter you will learn how to use the admin interface and how to build up an information website around your project.
Tutorial¶
The Example Project¶
There is an example project “Tower of Babel” coming with the DPP sources as a ready-configured Django project
containing some test data.
This tutorial is referencing the example project in the different sections. If you want you can take it as a basis when starting to learn, add some additional data, edit entries and play around a bit to get a feeling for the software. It is also possible though to directly start entering your own project data or build up an own first example.
For using the example project find the example_project
folder in your DPP installation directory and copy
the folder to your own location.
Go to your folder copy and run the following scripts to init the project:
./init_example_project.sh
./create_example_data.sh
Note
If you are running Windows and you don’t have configured a way to run shell scripts from the command line you have to look at both script files and run the commands manually (if you rewrite these scripts as Windows batch files you are very welcome to make a pull request on GitHub!).
You can then start the server with ./runserver.sh
and should be able to reach the admin interface
and front-end website via the URLs provided.

Website Configuration and Categories¶
Before you start giving some structure to your project by providing topics and entering information about the different stakeholders and important events, you probably want to start with some general set-up of your site.

Website Configuration¶
In the Website Configuration
menu in your project admin
you can enter a title
for your project,
a short intro text
for the main page and some other generic texts like contact information for the
“Contact” page or a short footer text.

Enter/edit some text and have a look how your text is formatted on the front-end website.
Website Categories¶
All the main categories on front-end website - Home
, Topics
, Goals
,... - have their own item
in the Website Category
menu in the admin
. Don’t add or delete items here, just edit the existing ones.
You can enter an introductory text for each category and add some documents or web sources (more on that later).
Side Quest: Adding Images¶
All longer description fields in the admin
come with a simple WYSIWYG editor providing some basic formatting
options like text formatting or text alignment. It is also possible to adding an image to your
description.
For using an image in a description field you have to first upload it by going to the Images menu
from
the admin overview page
and then add a new image. Upload the image, give it a meaningful title
and
provide attribution information if you took the image from an external source (this will be displayed
publicly on the website).
You can then inserting the image by going back to your item to edit, click on the image icon and choose
your image by title from the image list
:

Topics (Project Parts)¶
Now that you have your basic website configuration in place you can focus on the project itself. Start by entering some topics around your project (for legacy reasons also sometimes referred to as “Project Parts”).
Topics will be used to structure other project items such as documents or events, so you should think about how you want to structure your project. You can add/change topics later, but it will cause some extra work.
Some ideas for structuring a project would be:
- By physical entities, e.g. for a construction project (airport): “Terminals”, “Runways”, “Facilities”, “Public Transport”
- By some management categories: “Planning”, “Costs”, “Organization”, “Controlling”,...
- Geographical entities if things are happening in different locations: “Berlin”, “Hamburg”, Stuttgart”
Often this is very much depending on the project you want to describe and the specifics you are most interested in. It is also possible to mix some of the topic dimensions from the examples above.
Adding a Topic¶
For adding a topic go to the Topic (Project Part)
section in the admin
and add a new entry.

Start by providing a meaningful name
and a description
of your topic.
If you have a fairly complex project you want to present on your website it may be useful to hierarchically
structure your project. If you choose one or more other topics you entered before as a Main Topic
,
your new topic will be listed as a Sub Topic
under these main topics.
Side Quest: Ordering Items¶
Many item types come with an order
attribute you can use to determine the order the items are displayed
on the website.
Items are ordered by entering integer numbers, starting from low to high. So 100
, 200
, 300
, 400
,
500
would order items in the desired manner. It is recommended to user numbers in steps by 100
(1
, 2
, 3
, 4
, 5
would work as well). This makes it easier to change ordering afterwards.
For getting the fifth element as first, you just have to change 500
to 50
, leading to a 50
, 100
,
200
, 300
, 400
order. Otherwise you would have to go to every single element and change every
order
entry to have the same effect.
Participants¶
You can enter information on the different stakeholders of your project in the Participants
menu in the
admin
.
Participants are structured in their category on the front-end website by type. You have to first enter the
Participant Type
menu in the admin
and think about what type of participants you will have. This
could be something generic like “Administration”, “Politics”, “Companies”, but also something more tailored
to your project.

Once you have your participant types in place you can add/edit a concrete participant. Start by providing
a name
, choosing one of the participant types
you entered before and provide a brief description.

Participants can be organized very flexibly and can both be institutions (companies, organizations and so on)
or human beings. A particiant can have a membership
relation to another participant. Normally this will mean
a person beeing a Member
of a company or organization beeing deployed there, but this can also be
a ministry being part of a government, depending on what you want to describe.

Side Quest: Adding Search Tags¶
For most types of project items you are able to add Search Tags
to enrich the item data. These are mainly
used for automatically finding fitting document content associated with this item.
The following Search Tags
for the “Department of Stone Measurement” participant in the example...

...leads to documents containing these tags being listed on the participant page:

For particpants it makes sense use synonyms or abbreviations of a participants name as a Search Tag
,
for a topic tags describing the content of the topic might be useful. Just experiment with this a bit.
Note that you can’t see the effects of a search tag before you added some documents.
Events¶
You can add important events around your project in the Events
menu of the administration interface,
which are then displayed chronologically as well as sorted by the topics you provided on the front-end
website:

One of the central concepts of DPP
is, that you can provide connections between different items/aspects
of your project whereever possible.
Events e.g. can be connected with several participants and project topics:

These connections are then presented on the front-end website together with some identifying icons:

This makes it very easy for end-users of the site to jump from item to item and explore the different aspects of the project.
Side Quest: Providing Web Sources¶
If you are describing a project of public interest it is very likely that important events are accompanied by media coverage and web articles.

Adding web sources
to project items is a very integral part of DPP
you should make heavy use of and
is possible for nearly every item type. Often many things have already been written on the web - there are
Wikipedia articles on participants and news coverage of events - and it is of no necessity to write all these
things again. Instead it often makes more sense - and is also less work - to link to the original source.
Documents¶
In DPP
it is possible to provide documents about and from a project
and then interlink this document with other participants, topics or events. For adding a document go to the
Document
menu in the admin
.

The document is then presented on the front-end website by the integrated PDF viewer. It also possible to full-text search through the document.
Side Quest: Managing User Comments¶
Beside from working out the structures and interdependencies of a project yourself you can rely on interested
users visiting your site and encourage them to participate with their knowledge. For that DPP
comes
with an advanced commenting system.
Users are able to comment on every item of the project and connect their comment with additional participants, documents, etc.:

Comments
are displayed directly on the front-end website but have to be reviewed and published by an
admin user
. Every admin user
, where Receive new comment emails
is set, gets an email when a user
is commenting something and can publish the comment via a link in the mail.
A comment can also be published directly in the admin
by going to the specific Comment
in the Comments
menu:

Goals¶
DPP
lets you retrace and publish the development of project goals.

For entering/editing a goal go to the Goals
menu in the admin
. Each Goal
is a set of performance
figures
which were agreed on in some point in time and may be still current or not.
In our example performance figures
are “floors” and “beautiness”, but this can be anything you like
and you want to focus on depending on your project, like “costs”, “capacity” and so on.

Questions¶
If you have open questions or investigate some issues around your project, you can publish these questions
in the Questions
section.

Go to the Questions
menu in the admin
and enter a title
, a description
and one or several
topics
your question belongs to. You can also connect other items of your project with the question.

If a question is later answered you can check the answered
checkbox and optionally provide a description
of the answer in the additional text box.
Side Quest: Assigning Research Requests¶
If you want to go one step further including your users into the investigation of your project you can publish research requests associated with questions on your site.

In a research request you can describe a concrete task - researching some information, providing some special knowledge, helping in analyzing a document,... - and make it public for everyone capable to take part.
Adding a research request is not working (comfortably) on the admin interface. Instead log yourself in the
system (on the admin). Then go to the question you want associate a research request with on the front-end
website. There you find a button New (YOUR_USERNAME) ->
on top of the Research Requests Box
.

Clicking this button opens a form to enter a new research request.
Administration¶
User Management¶
Often it makes sense to work with several people with several accounts on one project. You can add new
users in the User
menu in the admin:

If you leave the Receive new comment emails
checkbox checked the user will get emails on new comments
and will be able to publish them. After clicking save
be sure to activate Staff status
on the
following Change User
form so that the user is able to log into the admin
.
Management of user rights is a bit tricky. Since everything in DPP
is so interconnected if you
just grant some single user permissions to a user it is easy to miss some dependent item prevent the
user from finishing a desired task because he/she has not the necessary user rights. For that reason
it may be easier choosing all user rights in the first place and then explicitly removing the ones
you don’t want to grant, e.g. the right to add/edit/delete documents:

Backing up the Database¶
When backing up the database of a DPP installation, it works best to use the -n
option for
saving content type and some ohter references as natural keys and at the same time ommit backing up the
contenttypes app and the auth.Permission model. This makes it easier to recover an installation
after DB data loss, since Django is automatically generating the content type objects (used in DPP
for comments) which could lead to problems with IDs if not using natural keys:
python manage.py dumpdata -n -e contenttypes -e auth.Permission > dpp_dump.json
When loading the data from a generated dump it is important to comment out the post_save
signals
from the models.py
file, otherwise an error will occur:
python manage.py loaddata dpp_dump.json
Developers¶
Running the Test Suite¶
Tests for DPP
are organized in an own django project called bpw_tests
located under the
folder tests
. For running the test suite the following libraries are required:
- Selenium 2.45+
- django-dynamic-fixture 1.8+
The following types of tests are implemented:
Test Server¶
A test server is necessary to run some of the tests (e.g. testing RSS feeds). The data for the test server configuration can be created with:
./init_test_project.sh
This doesn’t has to be done every time before running the tests, but at least once and every time
after updating the DPP
library.
The test server can than be started with:
./testserver.sh
The test server serves a normal DPP
instance and both the frontend site and the admin should be
normally accessible through the browser:
Browser/Selenium Tests¶
The purpose of Selenium tests is to test the front-end functionality of the site. Tests are
organized in the app browser
and can be run from within the tests
directory with:
python manage.py test browser #whole test suite
python manage.py test browser.GenericTest #one test case
python manage.py test browser.GenericTest.test_main_page #a single test method
Testing the 404 Template¶
When DEBUG
is set to True
in settings.py
, 404 template
can be tested via the following
url:
http://yourdevelopmenturl/404test/
How to contribute: Translation¶
General How-To¶
The main area for contribution for this project is translation, since the scope of the software is relatively wide. So if you have got some time, speak English as a base language and another language like Spanish, Russian, French,... you are very welcome to help out (you don’t need to be a developer for this task)!
You find the basic english language file called django.po
on the
DPP GitHub Page
in the following folder:
public_project/locale/en/LC_MESSAGES/
Open this file and copy its contents. Then write the translation of the msg
id strings between the
double quotes after the msstr
attribute. For longer strings you can use a format like this:
#: models.py:123
msgid "Structural parts of the project being stable over time."
msgstr ""
"Structural parts of the project being stable over time, e.g. 'Terminals', "
"'Gates', 'Traffic Control', 'Integration of Public Transportation', not too "
"much (<10), often useful as well: one entry for the project as a whole."
Just replace the msgstr
with the translation in your language. If there is already a msgstr
in
english in the django.po
file, use this string as a translation basis instead of msgid
and
replace the english string with your language translation.
When you are ready with your translation open an issue on GitHub and past your text there or (advanced developer version) make a pull request.
Note
If you have got limited time: please choose accuracy over speed, it’s more helpful if you translate 20 strings in an appropriate manner and take some time to think about the translation than translating 50 strings and often missing the context or have spelling errors!
Generating/compiling message files¶
For generating the message files for a specific locale from the source identifiers, change to the public_project
app directory and generate the message file for the desired locale with:
django-admin.py makemessages -l de
Then translate the missing identifier strings and compile the message files with:
django-admin.py compilemessages
Release Notes¶
Changes in version 0.7.5-beta (2017-03-16)
- Support for
Django 1.10
(support for older versions dropped)
Changes in version 0.7.4-beta (2017-02-18)
- Bugfixes
Changes in version 0.7.3-beta (2017-02-18)
- Fix tag cloud links on start page for english version
- Removed language-specific (german) date formats for better i18n compatibility
Changes in version 0.7.2-beta (2017-02-11)
- Slugified/more meaningful URLs for topics, questions, events and participants
- New
DPP_CUSTOM_JS
andDPP_CUSTOM_CSS
settings to include custom Javscript code or CSS styles in the project (see: Custom JS/CSS Code) - Added admin website configuration settings for optionally not showing goals and questions categories and
deactivating user comments, new migration
0004_activation_flags_for_goals_questions_comments
Changes in version 0.7.1-beta (2015-08-31)
- Updated
Bootstrap
from2.3
to3.3
- Improved menu navigation on mobile devices
Changes in version 0.7.0-beta (2015-08-27)
- Support for
Django 1.8
(support for older versions dropped) - Switched to
Django
internal migrations. South dependencies are removed, but you can still find the oldSouth
migration files in thesouth_migrations
folder. To make sure the update runs smoothly make sure you have applied allSouth
migrations from the previous releases. In doubt update to the latest0.6
release first and run themigrate
command withinSouth
context before switching to this release. Then from0.7
run themigrate
command with the--fake-initial
flag:python manage.py migrate --fake-initial
. - Updated requirements of various library dependencies
- Fixed a bug for document comments
Changes in version 0.6.3-beta (2014-12-08)
- Fixed some unnecessary error messages caused by crawlers
Changes in version 0.6.2-beta (2014-10-18)
- Minor layout and admin improvements
Changes in version 0.6.1-beta (2014-10-18)
- Layout improvements for sites not using all customizations from new DPP version
Changes in version 0.6-beta (2014-08-21)
- Replaced structuring of participants by participant type with a more flexible concept allowing the
grouping participants to other participants (groups) by a new attribute
belongs_to
in admin and a new many-to-many modelMembership
. A membership is described by afunction
and a boolean fieldactive
, connecting two participants. This is replacing the former conceptresponsible_participants
andformer_responsible_participants
, which could be found inProject
tabe. Both fields were removed. DB changes: migrations0002_auto__del_field_participant_type.py
,0003_auto.py
,0008_auto_add_membership.py
. - Project Parts (Topics) can now also be hierarchically structured, every project part object now has a new
attribute
main_project_part
allowing to connect project parts to a main topic. This new structure (as well as the participant grouping) will be visible in the frontend as well. DB changes: migration0004_auto_add_field_projectpart_main_project_part.py
- New SiteCategory model for providing intro texts to the website categories (“Home”, “Questions”, ...)
and connecting documents and websites with categories, replacing the old model Project (deleted).
DB changes: migrations
0005_auto_add_sitecategory.py
,0006_intro_texts_to_site_category.py
(for automatic data transfer fromProject
instance) and0007_auto_del_project.py
. - Direct integration of TinyMCE as HTML editor for descriptive admin fields by overwriting Django admin
templates.
public_project
app inINSTALLED_APPS
insettings.py
now has to be placed before (!) Django admin app, newTEMPLATE_CONTEXT_PROCESSOR
public_project.context_processors.uploaded_images_list
(also has to be added tosettings.py
) for loading images in Admin to be selectable by TinyMCE editor - Introduction of new main category for goals
- Restructuring, icons and help text for admin, more information on overview pages
- Translation of admin interface
- Many layout improvements, overhaul of overview all overview pages with expand/collapse boxes and displaying number of sub elements
- New universal search box
- Completely revamped documentation
Changes in version 0.5-alpha (Renaming Release) (2013-05-27)
This release is just for renaming the Django app. Due to the development of the software it came up,
that the focus of the software is broader than actually thought, so the name django-big-projects-watch
(BPW)
is misleading and the software was renamed to django-public-project
(DPP). This comes with a lot of
hassle and won’t happen again in the lifecyle of this software, but I felt, that in this early stage
of the software, it is the only chance to make such a step.
If you already have a deployment of the software installed and have problems upgrading please contact me (@HolgerD77).
On GitHub
the software moved to a new repository https://github.com/holgerd77/django-public-project
with a new commit history. The South
history has been restarted as well.
Steps to manually upgrade:
- BACKUP YOUR DATABASE! BACKUP YOUR PROJECT FOLDER!
- Create a JSON dump of your project with the
-n
option for preserving natural keys, leave out theSouth
tables:python manage.py dumpdata -n -e contenttypes -e auth.Permission -e south > bpw_dpp_dump.json
- Rename the suffix of
django-public-project
specific settings insettings.py
fromBPW
toDPP
- Remove
big_projects_watch
fromINSTALLED_APPS
in yoursettings.py
file and addpublic_project
. - Enter a new database name (for security reasons, leave old DB untouched) in your
settings.py
. - Run
python manage.py syncdb
,python manage.py migrate
, don’t create a superuser - Search and replace all occurrences of
big_projects_watch
in your JSON DB dump withpublic_project
(e.g. in vi use ”:%s/big_projects_watch/public_project/g”), keep a copy of the unmodified file! - Load your JSON dump in the new DB with
python manage.py loaddata yourjsonfile.json
. - Test your application. Sorry for the inconvenience.
Changes in version 0.4-alpha (2013-05-04)
- New activity feed on main page, integrating different activities in the system like an admin user
adding a new object (e.g. a new event, participant, ...) or an visitor on the website commenting
on an object. New model
ActivityLog
(see Migration 0016), activities are always bound to objects in the system, concept is flexible and expandable so that new activities around system objects can be added in the future - RSS feeds for various pages of the system, closely connected to the activity concept. Feeds for the different new system objects, new comments on certain objects, a general activity feed, a general comment feed and a feed for new research requests (see further down)
- Own pages/urls for questions, expanded editorial possibilities: every question now has an own
url and expanded possibilities to be described, new model fields for
Question
model class (see Migration 0018) - Integration of questions in system comments: questions can now be referenced by site visitors in there comments and questions can be commented itself as well
- New research requests associated with questions: site owners can now give research requests to the crowd, describing tasks to be done or information to be found in documents. A research request is always associated with a question and can further - similar to comments - be associated with different system objects. Site admins can directly enter new requests on the associated question page.
- Experimental version of a public API Various objects in the system can now be accessed via a public JSON API if desired
Changes in version 0.3-alpha (2013-04-08)
- Layout overhall (category colors, bigger headlines, breadcrumb navigation, UI tweaks)
WITH_PUBLIC_DOCS
setting insettings.py
replaced withBPW_IE_COMPATIBLE_PDF_VIEWER
(see: Installation)- New detail info boxes for events, documents, used on main page to highlight newest events, documents
- Introduced search tags as new information concept (new DB models
SearchTag
,SearchTagCacheEntry
, useSouth
when upgrading): provided in Django admin for Events, Participants, ProjectParts, used for tag cloud generation and displaying documents containing these search tags on detail pages for Events, Participants, ProjectParts - Search tag clouds (click induces search) on main page, document pages
- One unified crowdsource concept, merging the former concepts
DocumentRelations
into a broaderComments
concept. ATTENTION! THESE CHANGES COME ALONG WITH HEAVY DB CHANGES AND NEED MANUAL WORK TO GET THINGS WORKING AGAIN!- When upgrading create a dump from your
DocumentRelation
,Comment
table entries first DocumentRelation
model is completely removed, entries have to be manually copied intoComment
table
- When upgrading create a dump from your
Changes in version 0.2-alpha (2013-01-22)
- Layout based on Twitter Bootstrap
- Participants, ProjectParts, ProjectGoals, Events as basic project entities
- Modeling of questions around the project
- Document upload / PDF viewer based on pdf.js
- Crowdsourcing of comments / document relations
Changes in version 0.1-pre-alpha (2012-08-08)
- Initial verion