This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!
Project Description

ftw.topics

This package integrates a subject tree into Plone.

Features

  • Dexterity based content types “Topic Tree” and “Topic” for creating a topic tree (subject tree).
  • Archetypes schema extender, adding a reference field “topics” to all objects prividing ITopicSupport for assigning content to a topic.
  • The topic-view lists all content referenced the topic.
  • Simplelayout support for topics, so that additional content can be added to the topic view.

Usage

  • Add ftw.topics to your buildout configuration:
[instance]
eggs +=
    ftw.topics
  • Install the default generic import profile.

ITopicSupport for Archetypes

For activating the schema extender install the archetypes extras:

[instance]
eggs +=
    ftw.topics [archetypes]

Enable the ITopicSupport interface on the archetypes content type classes you want to have the topics reference field:

<configure
    xmlns="http://namespaces.zope.org/zope"
    i18n_domain="my.package">

    <class class="my.package.content.mytype.MyTyp">
        <implements interface="ftw.topics.interfaces.ITopicSupport" />
    </class>

</configure>

If you have ftw.contentpage installed, ITopicSupport is automatically enabled for content pages.

ITopicSupport for Dexterity

If you would like to have the topics field on dexterity based types, use the ITopicSupportSchema behavior:

<?xml version="1.0"?>
<object name="example.conference.presenter" meta_type="Dexterity FTI"
   xmlns:i18n="http://xml.zope.org/namespaces/i18n"
   i18n:domain="example.conference">

     <!-- enabled behaviors -->
     <property name="behaviors">
         <element value="ftw.topics.behavior.ITopicSupportSchema" />
     </property>

</object>

Simplelayout support

The Simplelayout support is using the block types of the ftw.contentpage package, so it installs the contentpage package. Use the simplelayout extras for installing the required packages:

[instance]
eggs +=
    ftw.topics [simplelayout]

Install the simplelayout generic setup profile (profile-ftw.topics:simplelayout).

Customizing reference representations

The ITopicReferencePresentation adapters are responsible for rendering the references on the topic view. The adapters consume all items they know and render them in a section of the view.

ftw.topics includes an ITopicReferencePresentation for rendering content pages and a default adapter for all contents which are not consumed by another adapter.

Adding a custom representation adapter is easy:

from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from ftw.topics.browser.representation import DefaultRepresentation
from my.package.interfaces import IMyType
from my.package import _

class MyRepresentation(DefaultRepresentation):
    template = ViewPageTemplateFile('my_representation.pt')

    def consume(self, objects):
        for obj in objects:
            if IMyType.providedBy(obj):
                self.objects.append(obj)
            else:
                yield obj

    def title(self):
        return _(u'label_my_objects', default=u'My objects')

    def position(self):
        return 50
consume()
Be sure that you yield all objects which you do not handle in your adapter. They will be passed up the pipeline until another adapter handles them. The last adapter is usually the default representation adapter, which consumes all left over objects.
title()
Return the title for your section.
position()
The adapters are ordered by position. The default adapter has the position 1000, the ftw.contentpage adapter has the position 100.

Register your adapter with ZCML:

<configure xmlns="http://namespaces.zope.org/zope">

    <adapter
        factory=".representation.MyRepresentation"
        name="my_representation"
        />

</configure>

Be sure you give the adapter a name, so that it does not conflict with other adapters.

Viewlets

A viewlet shows all referenced topics on an object with ITopicSupport.

Changelog

1.2.1 (2016-09-29)

  • Make the topics field optional. [mbaechtold]

1.2.0 (2016-09-26)

  • Add ftw.referencewidget and use it instad of plone.formwidget.contenttree. [tschanzt]
  • Add ftw.theming scss with font awsome icons. [mathias.leimgruber]
  • Fix dexterity behavior and relation collector. [jone]
  • Restrict versions of some dependencies so they don’t pull in Plone 5. [mbaechtold]
  • Also enable navigation behavior on ftw.topic.Topics. [mathias.leimgruber]

1.1.3 (2015-06-15)

  • Fix sorting the subtopics alphabetically. [mathias.leimgruber]

1.1.2 (2014-11-27)

  • Added option to hide backreferences in topics. [lknoefpel]

1.1.1 (2014-02-28)

  • Nothing changed yet.

1.1.0 (2014-02-03)

  • Enable IExcludeFromNavigation behavior on topic tree. [mathias.leimgruber]

1.0 (2013-05-24)

  • Initial implementation.
Release History

Release History

1.2.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ftw.topics-1.2.1.tar.gz (36.6 kB) Copy SHA256 Checksum SHA256 Source Sep 29, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting