Policy Tracker

Development of the website that keeps you up to date with policy developments devoted exclusively to spectrum management and policy.

Policy Tracker: the Spectrum Management Newsletter

PolicyTracker is the website for regulatory professionals in Europe's spectrum management and telecoms sectors. It keeps you up to date with policy developments and consultations as they happen and provides the information to influence the outcome. PolicyTracker is the only newsletter devoted exclusively to spectrum management and policy. This is a newsletter that covers the regulation of spectrum and telecoms.

PolicyTracker organizes training events on all aspects of spectrum management, from specific issues to general courses covering the latest developments in the field.

Project Outline

The new Plone-based website for Policy Tracker appeared as a result of design, development, and content management work carried out by the Quintagroup company. The process of a new site creation included both website look and site internal structure development.

Policy Tracker website has existed for quite a while looking in a different design. It was well visible by Google search engine, so the challenge was to remain the site's weight for Google on a high level.

The process of creating a new Polity Tracker website included many steps, among which the following main can be outlined :

  • New skin design development and implementation
  • Migration of Policy Tracker content into Plone CMS Mobile Web Development
  • New custom content types development
  • Integration for Plone and SalesForce
  • Content protection
  • Advertisement portlet
  • RSS feeds implementation

Key Highlights

Choosing Quintagroup and Plone, Policy Tracker can now count on:

  • A new system for managing content accessibility:
    • The content has an advanced workflow process, it is categorized according to the possibility to be accessible by a certain amount of people. 
    • Site visitors can take a chance of having a 30-day trial period, during which all the site content becomes accessible for free. A special system was integrated for managing member subscriptions, so site administration can have a clear picture of how to coordinate all Policy Tracker subscribers.
    • After 30 days site members are welcomed to prolong their premium content accessibility. Otherwise, the amount of accessible content will decrease greatly.
  • A well-organized and nicely structured system that features easy use. Site members will never get lost in a large amount of information that is present on this website, due to the clear breadcrumbing implemented and advanced Plone site search engine.
  • Content presented in a clear and understandable, site sections have their own content types and custom views developed to present the content in a desirable way.
  • Presence of content-related portlets which include some additional information or advertisement about the topic of member's interest.

Integration for Plone and SalesForce

Salesforce.com is the worldwide leader in on-demand customer relationship management (CRM) services. More companies trust their vital customer and sales data to salesforce.com than any other on-demand CRM company in the world. Salesforce delivers integrated, completely customizable enterprise applications for companies of all sizes. Thousands of companies worldwide depend on Salesforce to manage their sales, marketing, customer service, and other critical business functions.

Plone-SalesForce integration opened a wide range of new outstanding features to the Policy Tracker website, that were not available earlier. With Plone and Salesforce.com integrated Plone site managers receive much more control over members management and site overall performance statistics. For example, anyone who signs up for your Plone website will be automatically dropped into your Salesforce.com database; any data collected on Plone website will be recorded in Salesforce.com; all that data (constituent’s email address) can now be used to drive communication through any number of email marketing services that integrate with Salesforce.com.

Apart from the existing Plone-SalesForce integration features, such as:

  • Members Authenticating against SalesForce: New Plone members can be created through SalesForce; members' information (login, password, and properties) are saved in SalesForce; When users log in to a Plone website, they are authenticated against their Contact record in Salesforce.
  • Members Sign up for salesforce.com from Plone site: New website users can register on the Plone website, automatically creating a contact in Salesforce with their profile data. Users can also use a Plone website to update their profile data stored in SalesForce. For this purpose Plone default registration form and member's profile was extended with additional member properties (title, job title, company name, contact details, etc.).

Quintagroup realized several important additional features:

  • Access to premium content: a new Member's role was added into Plone - "Premium Member", regulated by the corresponding property selection in the SalesForce member profile.
  • Trial Member State: Members who are in a trial state (in SalesForce) receives a 30-day Premium role. After 30 days they are denied to access the premium content on the Plone website.

Content Migration

Due to the existence of a wide range of content on the old website and the enlargement of content number by dozens of new documents, the task was to migrate them all into Plone and deliver it in an effective way. Content migration was carried out in the simplest and most reliable way:

  • the content was exported from the initial database in .csv files
  • the content was processed to fit new website
  • the content was imported to the new website

While adapting all content for the new Plone-based website, special attention was paid to correct links work. All links from the given content were collected, the collected data was analyzed and all links were subdivided into categories:

  • working external links
  • broken external links
  • working internal links
  • broken internal links

Broken internal links were fixed and replaced with resolveUIDs (as well as working internal links), which enabled them to manipulate with the content and to move it within the site without its interconnection lose.

Content Protection

Site content is protected: i.e. anonymous visitors can only see the headline and intro (description) from a document if they want to see more they have to register for a 30-days trial via SalesForce. During this period they will be permitted to all site content for free. After the trial state expires, a member is offered to purchase a membership to prolong the access to all premium content. Otherwise, the member will be deprived of premium content accessibility.

Only the Body field of documents is protected from Anonymous users, i.e.: documents are shown up in listings and search results, however an attempt to see a full page body will result into a login page that will authenticate against SalesForce. As soon as the user is granted Member role (for trial and premium members) the permission will allow them to see a full page body.

Thus, even though the content is protected, and can not be viewed by anonymous site visitors, they still can get a clear picture of what content is available. A site user can browse through the whole website (as the content is available in listings) to decide whether to become a subscriber or not.

IP-based access

IP-based access control was implemented with IP Range PAS Plugin that allows authenticating users based on their IP address. Now visitors from certain IP spaces (a list was provided by the customer) have premium access to all site information.

Site Sections: Conferences / Consultations / Training Courses / Events

These sections consist of a number of items with a home page each and the ability to create separate pages for the agenda, registration info, sponsorship details page inside. For each of these sections special content types were developed:

  • Conference, Consultation, PT Event - folderish content types (based on Plone Event content type) with event date/time field extended by the possibility to exclude time form the event table.
  • Training Course - folderish content type (based on Plone Event content type) with the following properties added:
    • partner logo (to be uploaded form your file system) and partner URL
    • Facility and Brochure to be selected from available site objects.

Training Course has a custom template developed to make all information provided about the training course be displayed in a certain way (see partner logo, 'Download brochure', and 'Add event to your calendar' buttons). This allows anyone who may not have great technical skills to easily manage the content, as it is all added in the standard font.

Also, conference-related functionality was added, i.e. Invitations, RSVP, Registration machinery. This is directly updated to SalesForce.

Advertisement (Ad) portlet

The Ad portlet displayed on the right column depends upon the categories assigned to the content. This means that according to the category the content is assigned to, the site visitors will see different advertisements displayed.

The main idea is that advertisements are served on the external Ad server. The reason for that is the following: specialized Ad hosting system allows a great deal of flexibility in serving the ads and provides fine statistics. The process of assigning necessary portlet looks this way: content categories are passed to the external Ad server and that server finds and puts proper Ad depending upon parameters passed.

The portlet, containing Ad (this is a generic HTML portlet) only needs to have one of the following lines be inserted ('$categories', '$enc_categories' or '$encplus_categories') to have content's categories/keywords be passed to the Ad server.

Plone Forms

PolicyTracker includes several forms for potential and current users to submit. Information submitted into forms, created in Plone (with PloneFormGen product) were supposed to transfer user's information into SalesForce, where uses database it. So, the task was to make information from a PloneFormGen form submit into Salesforce.com. This feature was implemented with Salesforce PFG Adapter.

Site's RSS feeds

The list of feeds available on the website includes:

  1. all news stories: headline, description and the first line of a story
  2. all items added to the consultations section, conferences and training courses
  3. jobs section and wiki section

All these RSS feeds were available on the old website, so the challenge was to remain them work. The goal was achieved with the help of qRSS2Syndication Plone product.

Content Formatting

  1. Two new styles developed to display quotes in a special way: Quote and Quote Block.
  2. Possibility to edit the site's login form added without the need to customize the Plone default template. The text on this form can easily be changed by editing 2 fields: before_reglink_text and after_reglink_text.

Plone Products

The following is a list of Plone products used on the new Plone-based Policy Tracker website:

  • AutocompleteWidget - suggests words as you type in a text field.
  • DataGridField - a table input component for Plone. Uses Javascript to make entering tabular data more user-friendly process - there are no round trip HTTP requests to the server when inserting or deleting rows.
  • IP Range PAS Plugin - plugin for the Pluggable Authentication Service (PAS) that authenticates users based on their IP address.
  • PloneFormGen (plus TALESField, PythonField, TemplateFields as its dependencies) - a generic Plone form generator using fields, widgets, and validators from Archetypes. Actions like mailing or saving form input are incorporated by included plug-in adapters.
  • SalesforceAuthPlugin (collective.salesforce.authplugin) - allows creating new Plone Members, save member information (login, password, and properties) in SalesForce.com, and authenticate against Salesforce.com.
  • Salesforce Base Connector -  provides a Zope-aware tool for connecting to a Salesforce.com instance. It allows applications in Plone to access the Salesforce.com API (via beatbox python library). It is required for all other Salesforce.com-related Plone products.
  • Salesforce PFG Adapter - allows you to submit form information from a PloneFormGen form into Salesforce.com.

Developed by Quintagroup:

  • qRSS2Syndication - allows generating RSS2 feeds in Plone sites. qRSS2Syndication includes the support of audio and video feeds. qRSS2Syndication allows the syndication of ATAudio objects, mp3, wmv, ppt, jpg files using RSS 2.0 with enclosures.

Developed by Quintagroup specifically for PT website Plone incarnation:

  • pt.content - adds new content types: Conference, Consultation, PT Event, and Training Course.
  • pt.rolesplugin - adds a new role for users "Premium user", depending on the user's status in SalesForce; adds new properties to the registration form and member's profile; allows to edit site's login_form; changes password sending template.
  • qPloneSkinPolicyTracker - site theme.
  • pt.session - Python package based on plone.session package aimed to simplify and accelerate subscribers' work with the site. The package enables subscribers to stay logged in after a successful authentication (or last site visit) for about a fortnight.
  • pt.authplugin - The authentication system was transformed into this package to accelerate overall site performance.

Mobile Site

Quintagroup developed a mobile version of the Policy Tracker website. For its implementation we used gomobile.mobile package. Newly-launched m.policytracker.com features:

  • Home, search, contact, and about us buttons on the site's top area
  • Footer area includes search, 5 navigation items and customized main template for pass bar
  • Special styling for site's home page, section view, and about-us page
  • Enabled batching for sections with multiple content items
  • 'Full Site' button redirects to the main site - policytracker.com
  • Block-quote styles similar to those on the main site
  • Webpage width is calculated automatically for every mobile device 

Creating HTML for email template

Quintagroup designed and developed an email template to enable email sending via different mail clients. According to the implemented solution, any page of a Plone site can be converted into an email template as simple as adding 'email' subdomain to site URL. The generated email template can then be inserted into any mail client and be sent as a usual email, via mailing lists or newsletters.

Conclusion

Policy Tracker's new website is now successfully running. All clients' requirements were implemented and so far, Policy Tracker remains convinced that Zope/Plone is the best tool available. Policy Tracker is particularly excited about the ideas that Plone-Salesforce integration has brought, and the impact it is having on their project. Plone Integration for Salesforce.com enabled Policy Tracker website managers to get much more control over members management and site overall performance statistics, recording all data collected on the Plone website in Salesforce.com. Possibility to divide site content access for users with different roles made Plone-Salesforce integration a perfect application for this organization.

Connect with our experts Let's talk