Plone Glossary

by Alter Way Solutions last modified Nov 24, 2011 12:44 AM

Plone Glossary is a product to manage glossaries in your Plone.

Project Description

PloneGlossary

By Ingeniweb.



Overview

PloneGlossary is a Plone content type that allows you to manage your own glossaries, propose definitions and search in one or more glossaries. Any word defined is instantly highlighted in the content of your site.

After adding a glossary, you can add your definitions to it. Definitions are a simple content type. Enter the word you want to define as the title, and the definition of the word in the text body. You can also specify variants of the word. For example if you define the word yoghurt, you may also want to allow the variants yogurt or yoghourt to be valid. Definitions will be highlighted (like an acronym) when they appear elsewhere in your site. (Also see the ploneglossary configlet.)

Once you have a large number of definitions in your glossary, you can browse the glossary by the means of an alphabetic index, or perform a search in the glossary. Each glossary has an integrated search engine, which is simply a ZCatalog.

Requirements

Plone 3.x or 4.x

Installation

Installing the latest release

Of course use zc.buildout. Just add this line to your buildout.cfg:

[instance]
recipe = plone.recipe.zope2instance
...
eggs =
    ...
    Products.PloneGlossary
Installing a subversion checkout

We assume that your instance has been built with the plone3_buildout template for the paste script (otherwise you should change instructions accordingly):

$ cd $BUILDOUT_HOME/src
$ svn co \
https://svn.plone.org/svn/collective/Products.PloneGlossary/trunk \
Products.PloneGlossary
$ cd Products.PloneGlossary
$ python setup.py develop

Then edit your buildout.cfg:

[buildout]
...
develop =
    ...
    src/Products.PloneGlossary

And change the [instance] section as described in Installing the latest release above.

Plone Unicode issue

If you use an old version of Plone (< 3.2), you'll encounter this issue: using non ASCII characters in your glossary requires to change the default encoding of your Zope.

To do this, add a sitecustomize.py file to your $SOFTWARE_HOME with these two lines:

import sys
sys.setdefaultencoding('utf-8')

Then replace "utf-8" above with the value of the "default_charset" property in your "portal_properties/site_properties".

Upgrades

Visit in ZMI the portal_setup object of your site, click Upgrades and select Products.PloneGlossary:default.

If you're upgrading from PloneGlossary 1.2 or older you may force upgrades using "Show old upgrades".

Configuring

Add a glossary portlet

Use the portlets manager to display a portlet of all definitions found in the displayed content.

zope.conf tweaks (optional)

PloneGlossary assumes that your site charset is UTF-8. As this charset must be known very early in Zope startup, we cannot always use the charset in the properties of your Plone site.

PloneGlossary views have a batch size of 30 terms. You might prefer another size.

If the Plone sites of your instance use another charset, or if you need another batch size, you might append this to your zope.conf:

<product-config ploneglossary>
  charset iso-8859-15 # Or any valid charset that suits your needs.
  batch-size 40 # Or any positive integer you might prefer.
</product-config>
The Glossary configlet

Highlight content: if this option is chosen, all defined words are highlighted in the chosen content types (see further).

Description length : Choose the maximum length of the given definition in the highlights.

Description ellipsis: Choose an ellipsis. It is used in the highlight when the defined term exceeds the description length.

Not highlighted tags: Define the html tags in which definitions should not be highlighted. Default: h1, a, input, textarea

Allowed portal types: Select the portal types for which defined words are highlighted.

Use glossaries globally for all content?: When checked, all glossaries will be used to highlight terms globally for all of the site's content. By unchecking this option, only the first glossary found while traversing upwards from the content is used.

General glossaries: Select glossaries used to check related terms of content.

Additional tools

A tool is installed by the installer. It provides a few configuration options (managed in the configlet) so that you can customize and manage your glossaries.

Switch highlighting on or off per object

Since version 1.5.0 there is support for switching the highlighting on of off per object. The default behaviour is still that the tool simply checks if the current object is in the allowed portal types that are set in the configuration. Version 1.5.0 introduces an interface IOptionalHighLight. The tool tries to adapt the current object to that interface. If this succeeds, the decision to highlight terms is given to the do_highlight method of the found adapter. The canonical implementation is in an optional package zest.ploneglossaryhighlight; when installed this gives an extra field in the settings tab of content items where you can switch highlighting on or off. See that package for more info.

Testing

Please read ./tests/README.txt.

Other documentation

See ./doc.

Subversion repository

Stay in tune with the freshest (maybe unstable) versions:

http://svn.plone.org/svn/collective/Products.PloneGlossary

Support and feedback

Please read all the documentation that comes with this product before asking for support, unless you might get a RTFM reply ;)

Localisation issues - other than french - should be reported to the relevant translators (see Credits below).

Report bugs using the tracker (the Tracker link from http://plone.org/products/ploneglossary). Please provide in your bug report:

  • Your configuration (Operating system+Zope+Plone+Products/versions).
  • The full traceback if available.
  • One or more scenario that triggers the bug.

Note that we do not support bug reports on Subversion trunk or branches checkouts.

Mail to Ingeniweb support in English or French to ask for specific support.

Donations are welcome for new features requests

Change log

1.5.0 (2011-11-24)

  • Added support for switching highlighting on or off per object. You need to write an adapter if you want to use this. See for example https://github.com/zestsoftware/zest.ploneglossaryhighlight [maurits]
  • PeP8, Pyflakes and i18n cleanup. [maurits]
  • fixed: Removing special chars from descriptions [ristow]

1.5.0-b3 (2011-07-15)

  • fix imports for Plone 4.1 [zworkb]
  • fixed problem in PloneGlossaryTool with uid_catalog and simplified code. [jensens]
  • consider Contributor role [jensens]

1.5.0-b2 (2011-04-19)

  • Plone 4 CSS fixes

1.5.0-b1 (2011-04-13)

  • Plone 4 compatibility

1.4.2 - 2010-08-16

1.4.1 - 2010-06-14

  • Return empty string when reading search_letter from request as default to avoid .lower() crash in GlossaryMainPage.__init__. [rnix]
  • IE8 compatibility fix - thanks to Francesco Manna [glenfant]
  • Condition to add CSS class "selected" to the Abcedaire didn't match. http://plone.org/products/ploneglossary/issues/2 Thanks to Martin Stadler [glenfant]
  • Call portal_catalog.n_indexObject instead of BaseObject.n_indexObject. Latter one causes collective.indexing crash due to recursion error. [rnix]

1.4.0 - 2009-12-04

  • Fix upgrade step version. [kdeldycke] 2009-04-29
  • Refactor to avoid errors in tests tearDown [tdesvenain]
  • Fix portlet's <span> HTML tags to please IE6 (see http://dev.plone.org/plone/ticket/9027 for details). [kdeldycke] 2009-05-06

1.4.0 RC2 - 2008-09-22

  • Upgrades moved to the GenericSetup way, and removed (useless) "Migration" tab. [glenfant]
  • i18n of schemas using message factory. [glenfant]
  • Fixed test fixtures and associated GS profile. [glenfant]
  • Added metadata.xml to profiles, provision for future upgrades. [glenfant]
  • Fixed sorting of terms in glosary view using unicode normalization. [glenfant]
  • Eggification. [glenfant]
  • Added "add permissions" for content types instead of generic "Add portal content" [bmathieu]
  • Using unicode normalization to get first letter of the term. This allows to find terms starting with non-ascii characters. [naro]
  • use the standard PropertyManager API to handle properties on the tool [wichert]
  • clean up imports and remove some unneeded bbb code to make pyflakes happy [wichert]
  • improve the English wording in a few places [wichert]

1.4.0 RC1

  • Using Zope 3 "page" technology to speed up complex templates [glenfant]
  • Using KSS style views for fast edit. [glenfant]
  • Full GenericSetup installation [glenfant]
  • Changed portlet into Plone 3 style [glenfant]
  • Fixed unit tests (new worflow doesn't allow anon to grab into glossary) [glenfant]
  • Adding a /browser for new style views [glenfant]
  • Fix bug causing html entities in definition title/description to appear as entity code instead of char ( ie. &amp; instead of & )
  • Install: check for scripts/CSS before registering them
  • Added support for Generic setup for the main tool
  • Refactored as it can be overloaded
  • Manages many types of glossaries
  • Added interfaces
  • Added test environment
  • Don't set to debug in config.py by default. [roeder] Otherwise there would be a bogus content type cluttering up portal_types.
  • Batch navigation in glossary view added [roeder]
  • Fixed highlighting : all glossaries are used if no glossary explicitly selected
  • Added czech translation (Lukas Zdych)
  • Added a patch for ZCTextIndex _apply_index method: search terms with synonymous found in global glossaries are replaced by an equivalent "OR". By default this is done only for 'SearchableText' . This patch is disabled by default (see config.py). [bmathieu]
  • Fill portlet by template construct instead of javascript [bmathieu]
  • Dropped plone 2.0 compatibility: use css and javascript registries. Portlet structure complies with plone 2.1/2.5 standard structures. Improved: highlight definitions whether portlet is displayed or not. [bmathieu]
  • Configure Glossary and Definitions to be managed by portal_factory [bmathieu]
  • Added support for rename after creation for glossary and definition contents [bmathieu]
  • Added german translation thanks to Richard M. Kues
  • Added spanish translation thanks to Hector Velarde
  • Added share tabs [zegor]

1.3.3 - 2006-03-01

  • Added a screenshot in the docs folder
  • Added polish translation thanks to Piotr Furman
  • Fixed a problem in htm2text. Carriage returns were not interpreted as white space. This resulted in combined words to be merged. For example: "<div>plonernglossary</div>" -> "ploneglossary" instead of "plone glossary".

1.3.2 - 2006-01-06

  • Added 'alpha_sort' parameter on tool.getObjectRelated*, for getting terms sorted by title [b_mathieu] 2006-02-06
  • In encode ascii function, normalize char by char, to make sure unicode string has the same length as ascii string
  • Added functionality to allow true local glossaries. It includes a config setting in the configlet. [ender] 2006-01-30
  • Changed the definition view so that it also shows the variants. [ender] 2006-01-30

1.3.1 2006-01-30

  • Fix bug in encode ascii method
  • For AT content, analyse only string and text fields

1.3 2006-01-24

  • Variants of a word can now be defined.

1.3 RC2 - 2006-01-06

  • Fix highlight script. The position of word to highlight was erroneous.

1.3 RC1 - 2006-01-05

  • Object words with accents are highlighted even if the glossary term is a little bit different
  • Improve find_word function
  • Changed Title and Description indexes to be ZCTextIndex based.
  • Added a special latin lexicon class. The lexicon is initialized when adding the GlossaryCatalog and used by the ZCTextIndex indexes.
  • Use the same normalizer of lexicon to parse SearchableText
  • Add method rebuildCatalog on PloneGlossary to rebuild all glossary catalog
  • Update javascript highlighting words to work on Firefox and IE
  • Fixed access problem to glossary's catalogs for anonymous users - [zegor]
  • Use AddPortalContent permission to add Glossary and definitions

1.1 - 2005-09-05

  • Remove highlight for input or textarea tags
  • Check permissions in plone glossary portlet

Self-Certification

[X] Internationalized

[X] Unit tests

[X] End-user documentation

[X] Internal documentation (documentation, interfaces, etc.)

[X] Existed and maintained for at least 6 months

[ ] Installs and uninstalls cleanly

[X] Code structure follows best practice

Current Release
Products.PloneGlossary ploneglossary-1.7

Released Jan 10, 2014 — tested with Plone 4.1, Plone 4.2, Plone 4.3

Download file Get Plone Glossary for all platforms
Products.PloneGlossary-1.7.zip
If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.

All Releases

Version Released Description Compatibility Licenses Status
ploneglossary-1.7 Jan 10, 2014 More about this release…
Plone 4.1
Plone 4.2
Plone 4.3
GPL final
ploneglossary-1.5.3 Oct 14, 2012 Moved to github. Added Plone 4.3 compatibility. More about this release…
Plone 4.2
Plone 4.1
Plone 4
Plone 3
GPL final
ploneglossary-1.5.1 Dec 08, 2011 Added Italian translations. More about this release…
Plone 4.1
Plone 4
Plone 3
GPL final
ploneglossary-1.5.0 Nov 24, 2011 Added support for switching highlighting on or off per object. i18n cleanup. fixed: Removing special chars from descriptions More about this release…
Plone 4.1
Plone 4
Plone 3
GPL final
ploneglossary-1.4.2 Aug 16, 2010 Fixed conflicts with Kupu in some circumstances. Fixed ZMI access. Please use upgrade steps from portal_setup if upgrading from older version. More about this release…
Plone 3
GPL final
ploneglossary-1.4.0 Jan 20, 2010 More "plone3ish". Improved performances and UI. More about this release…
Plone 3
GPL final
1.4RC2 Sep 22, 2008 Compatibility with (and only with) Plone 3.0 and Plone 3.1. Available as egg "Products.PloneGlossary". Some bugfixes. More about this release…
Plone 3
GPL release-candidate
1.4.0RC1 Jan 21, 2008 PloneGlossary is a Plone content type that allows you to manage your own glossaries, propose definitions and search in one or more glossaries. Any word defined is instantly highlighted in the content of your site. After adding a glossary, you can add your definitions to it. Definitions are a simple content type. Enter the word you want to define as the title, and the definition of the word in the text body. You can also specify variants of the word. For example if you define the word yoghurt, you may also want to allow the variants yogurt or yoghourt to be valid. Definitions will be highlighted (like an acronym) when they appear elsewhere in your site. (Also see the ploneglossary configlet.) Once you have a large number of definitions in your glossary, you can browse the glossary by the means of an alphabetic index, or perform a search in the glossary. Each glossary has an integrated search engine, which is simply a ZCatalog. More about this release…
Plone 3
GPL release-candidate
1.3RC2 Jan 11, 2006 A Glossary for Plone, showing links to defined words when they appear in the site text. More about this release…
Plone 2.1.2
Plone 2.1.1
Plone 2.1
Plone 2.0.5
GPL final
1.3.3 Mar 01, 2006 A Glossary for Plone, showing links to defined words when they appear in the site text. More about this release…
Plone 2.1.2
Plone 2.1.1
Plone 2.1
GPL final
1.3.2 Feb 07, 2006 A Glossary for Plone, showing links to defined words when they appear in the site text. More about this release…
Plone 2.1.2
Plone 2.1.1
Plone 2.1
GPL final
1.3.1 Jan 30, 2006 A Glossary for Plone, showing links to defined words when they appear in the site text. More about this release…
Plone 2.1.2
Plone 2.1.1
Plone 2.1
GPL final
1.3 Jan 24, 2006 A Glossary for Plone, showing links to defined words when they appear in the site text. More about this release…
Plone 2.1.2
Plone 2.1.1
Plone 2.1
GPL final