Skip to main content

Wrap any Plone portlet with geolocation or language negotiation.

Project description

The geoportlet works as a wrapper around the exiting portlet types.


When you select the “Geoportlet” type under “Manage portlets”, the add form lets you select from a database of countries and languages, and choose a portlet type. In the next screen, you’ll create the chosen portlet (if it requires user input).

The geoportlet toggles its availability based on IP address lookup and/or HTTP language accept strings. You can use it to segment the audience for a portlet into particular countries or language groups, e.g. China and Mandarin.

It uses the geolocation database provided by

Compatibility: Plone 4+.


Each geoportlet wraps the contained portlet assignment in an HTML <div> element with CSS-classes corresponding to the selected countries and/or languages. The format is geoportlet-<country> and geoportlet-<language> where the country is provided as the three-letter ISO 3166-1 alpha-3 country code and the language is provided as the two-letter ISO 639-1 language code:

<div class="geoportlet-dnk geoportlet-da">
   <div class="portlet ...">


Malthe Borch <>


1.0.2 (2012-06-14)

  • When first creating a geoportlet, use the contained assignment’s title as the portlet title. This ensures that we get a suitable name from the INameChooser adapter.
  • Fixed traversal issue that prevented the editing of portlets with a “null” edit-form.
  • Fixed security checking issue.

1.0.1 (2012-06-06)

  • Fixed a compatibility issue with Python 2.6.
  • Fixed an issue where the geolocation database location would not get a default value.

1.0 (2012-06-06)

  • Initial public release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.portlet.geo-1.0.2.tar.gz (1.4 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page