Parklife
Parklife is a Python-based lifestreaming application that runs on the Google
App Engine. As of the most recent version, Parklife is able to pull data from the following
social networks/applications:
- YouTube
- Delicious.com
- Google Reader
Additionally, Parklife has basic support for blogging, and blog entries are seamlessly integrated into the life stream.
There are no official releases of Parklife; the most recent version is always available from its github repository at http://github.com/phunkphorce/parklife.
Features
Parklife has the following features:
- Support from pulling data from Twitter, YouTube, Delicious.com and Google Reader
- Python-based, only runs on the Google App Engine
- Basic blog features, blog entries can be posted, updated and edited
- The layout is based on the Django template engine, easy to customize
- Support for geolocated entries, with location data displayed via Google Maps
License
License to be defined
Twitter integration
The following features are supported by the Twitter integration:- Daily tweets are automatically incorporated into the lifestream
- Hash tags are automatically extracted and incorporated as Parklife tags
- Twitpic.com images are extracted and displayed as images
- Geolocation infromation from tweets is extracted and processed
Google Reader integration
The Google Reader integration is based on the feed of shared items. Entry titles, URLs, descriptions and tags are automatically incorporated into the life stream. Please note that tags are currently ignored.
YouTube integration
Videos from the shared and uploaded feed are imported into the lifestream, along with their description, tags and geolocation data.
Delicious integration
Links, descriptions and tags are automatically imported into the lifestream from delicious.com.
Installation
Installation requirements:
- A copy of the source code, fetched either via git or some other mean
- An account in Google App Engine, please apply via http://www.appspot.com
- The Google App Engine SDK installed in your workstation, you can obtain it from here (any of the operating systems supported by GAE will do)
Import the Parklife code into the GAE SDK, via option "Add Existing application..." in the "File" menu in the Google App Engine launcher. You can set the application ID to anything you like, as long as it's unique within the Google App Engine platform (the App Engine launcher will warn you during the deployment if the application ID is not unique)
Once the application has been imported, and before deployment, you must customize file defaults.py file, as it contains important configuration parameters:
- YOUTUBE_API_KEY: A YouTube API key is necessary in order to be able to pull data from YouTube feeds. If you don't have one, you must apply for one
- GOOGLE_API_KEY: The search capabilities in Parklife are implemented via a Google custom search engine. Therefore, you must also apply for a Google API key
- GOOGLE_MAPS_API_KEY: The geolocation features in Parklife are built upon Google Maps, for which you will also need a valid API key
- GOOGLE_CUSTOM_SEARCH_ENGINE_KEY: This is the key identifying your custom search engine, and it can be obtained from your custom search engine's control panel
- DISQUS_USER: Comments in Parklife are handled by Disqus.com. If you plan to turn commenting on in your stream, you must register first with Disqus and then provide your username here
Additionally, the site variable contains some site-wide parameters such as:
- base_url: Base location where the lifestream is located
- author: Name of the owner of the stream
- email: Email address of the owner of the stream. Optional, only used in Atom feeds.
- title: Name of the stream/blog
- subtitle: Subtitle/taglife of the stream/blog
The values of these parameters are used in several places throughout the pages.
Once the default settings have been configured, the application is ready to be deployed to the Google App Engine via the App Engine launcher application. You must at least set one administrator user in the Google App Engine dashboard, as this is the user that will have access to configure the settings and manage entries.
Now that the application has been deployed, please proceed to http://your-app-id.appspot.com/admin/settings. If you had not logged in yet, Google will ask you to authenticate. Upon authentication, you will be greeted by a basic screen where you will introduce the some basic parameters required for each one of the sources.
When these settings have been configured, we can run of the scheduled jobs manually to give the stream some initial content, please proceed to the following URLs:
- http://your-app-id.appspot.com/tasks/update/twitter
- http://your-app-id.appspot.com/tasks/update/youtube
- http://your-app-id.appspot.com/tasks/update/delicious
- http://your-app-id.appspot.com/tasks/update/googlereader
In order to pot new blog entries, the URL is http://your-app-id.appspot.com/admin/blog.
Customizing Parklife
The look of parklife is mainly customizable via CSS. Please dive into file public/css/styles.css and feel free to play around with the styles.
Additionally, it is possible to customize Parklife's template if you're familiar with Python and the Django template system. Parklife templates are located in app/templates/