OpenBlock is a web application that allows users to browse and search their local area for "hyper-local news" - to see what's going on recently in the immediate geographic area.
Brief Overview: Concepts and Terminology¶
OpenBlock is a hyperlocal news platform. What we mean by that is that, at its essence, OpenBlock is a web application (and web service) that stores two kinds of information:
- Local news. What's happening nearby? This could be your original content, or aggregated from any number of sources on the web.
- Local geographic data. What places do we care about? Neighborhoods, zip codes, school districts, police precincts?
OpenBlock allows you to explore that data in various ways: by geographic area, small or large; by type of news; by various categories relevant to the types of news you have; by text search; or by any combination of the above.
News in OpenBlock is stored as NewsItems. In essence, a NewsItem is just something that happened at one time and one place. Each NewsItem stores a timestamp, a geographic point, a title, a description, and a few other generic fields.
Each NewsItem also has a type, which we call its Schema. Schemas are used to classify NewsItems and allow them to have extra searchable, type-specific data.
For example: an OpenBlock site might provide both police reports and restaurant inspections. There would be one Schema representing police reports, allowing each police report to store information about what kinds of crime were committed. There would be a second Schema representing restaurant inspections, and it would allow each inspection report to say whether the restaurant failed or passed, what violations were observed, and so on.
A user is then able to browse NewsItems that are only police reports, or only restaurant inspections, or both; or browse only failed restaurant inspections; or browse crimes of a certain type, in a certain location, during a certain time period; et cetera.
There is a demo site where you can experiment with similar searches.
OpenBlock began life as the open-source code released by Everyblock.com in June 2009. Originally created by Adrian Holovaty and the Everyblock team in 2007, it has been rebranded OpenBlock to avoid trademark infringement, and is now developed as an open-source (GPL) project at http://openblockproject.org.
Copyright / License¶
OpenBlock code is licensed under the GNU General Public License version 3.
A few modules were borrowed from other packages with other free software licenses, e.g. "Modified BSD"-style licenses; these are identified as such in the source code.
This documentation is licensed under the Creative Commons BY-SA 3.0 license.
This is a Django application, so it's highly recommended that you have familiarity with the Django Web framework. The best places to learn are the official Django documentation and the free Django Book.
Before you dive in, it's highly recommended you spend a little bit of time browsing around http://demo.openblockproject.org and/or http://EveryBlock.com to get a feel for what this software does. (But note that the code has diverged considerably since 2009, so everyblock.com has features not present in OpenBlock, and vice versa; the visual design is quite different as well.)
What's New in OpenBlock 1.2¶
- Many tweaks to the public site, including: a more useful default view of a news type ("Schema"), nicer-looking map, add/edit/delete forms with autocomplete for user-contributed "neighbornews" content,
- Improved geocoding and better handling of some street names (eg. highways)
- Many administrative UI improvements
- Added a generic CSV scraper, and admin UI for loading CSV files by hand
- Administrative moderation of comments
- Lots of new hooks and template tags for people developing custom code
- Python package API documentation
- Over 30 bug fixes.
Full details are in the Release Notes.
- Installation and Setup
- Installing OpenBlock on Amazon AWS
- Preparing Your System
- Installing the Openblock Software
- Common Installation Problems
- Installing and Setting Up the Demo Site
- Creating a Custom Site Based on OpenBlock
- Configuring OpenBlock
- Sensitive Settings
- Choosing Your Map Base Layer
- Multiple databases?
- Configuring Cities / Towns: METRO_LIST
- User-Contributed Content
- OpenBlock REST API
- Django Background Tasks
- Miscellaneous Settings
- Loading Geographic Data
- US ZIP Codes
- Streets / Blocks
- Other Locations: Neighborhoods, Etc.
- Alternate Names / Misspellings / Synonyms
- Indices and tables
- Using OpenBlock
- Creating a Custom NewsItem Schema
- Data Scraper Tutorial
- Running Scrapers
- Sending Alerts
- Theming OpenBlock
- OpenBlock REST API
- API Overview
- Read API Endpoints
- Item Search Parameters
- Write API Endpoints
- News Item Formats
- Maintaining an OpenBlock Site
- Indices and tables
- Python API Documentation
- Main Code Packages
- Other Packages
- OpenBlock 1.2 (Released 5/23/2012)
- OpenBlock change history
- OpenBlock 1.1.0 (October 20, 2011)
- OpenBlock 1.0.1 (Sept 7 2011)
- OpenBlock 1.0.0 (August 30, 2011)
- OpenBlock 1.0 beta (August 18, 2011)
- OpenBlock 1.0 alpha 1 (June 9, 2011)