A content type inspired on the IPTC's News Industry Text Format specification.

Project Description


Life, the Universe, and Everything

News articles in Plone are instances of the 'News Item' content type: they can contain a title, a description, a body text, an image and some basic metadata. If you publish a couple of items from time to time, this is fine.

But suppose you have to publish dozens of items everyday... How do you tell your readers who they are about? What do they cover? Where do they took place? And, more important, how do you classify them? How do you organize them? How do you tell your readers which ones are newsworthy?

To solve these, and other issues, the IPTC developed XML standards to define the content and structure of news articles. NITF, NewsML and NewsCodes are among these standards and they support the classification, identification and description of a huge number of news articles characteristics.

NITF is intended to structure independent news articles and this package aims to implement a content type inspired by the specification.

Don't Panic


To enable this product in a buildout-based installation:

  1. Edit your buildout.cfg and add collective.nitf to the list of eggs to install:

    eggs =

After updating the configuration you need to run ''bin/buildout'', which will take care of updating your system.

Go to the 'Site Setup' page in a Plone site and click on the 'Add-ons' link.

Check the box next to collective.nitf and click the 'Activate' button.


You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.


This package includes a behavior called collective.nitf.behaviors.interfaces.ISection. By applying it to a Dexterity-based content type you will get a new field called section.

Helper views

All news articles provide @@nitf and @@newsml views that are available although are not registered.

You can validate the output of the those views using services like XML validation.

You may use the NITF Document Type Definition version 3.5 and the XHTML Ruby Module associated with it.


collective.nitf uses Cycle2 slideshow plugin for jQuery and it can load its resources from the Plone JS registry if they are present there.

If you're using collective.nitf with other packages that use Cycle2 also (like sc.photogallery or covertile.cycle2), it is highly recommended that you register those resources to load them once and avoid conflicts.

You can use a jsregistry.xml file that includes the following:

System Message: WARNING/2 (<string>, line 100)

Cannot analyze code. Pygments package not found.

.. code-block:: xml

    <javascript id="++resource++collective.js.cycle2/jquery.cycle2.min.js"
        cacheable="True" compression="none" cookable="True" enabled="True" />
    <javascript id="++resource++collective.js.cycle2/jquery.cycle2.carousel.min.js"
        cacheable="True" compression="none" cookable="True" enabled="True" />
    <javascript id="++resource++collective.js.cycle2/jquery.cycle2.swipe.min.js"
        cacheable="True" compression="none" cookable="True" enabled="True" />

Share and Enjoy

collective.nitf would not have been possible without the contribution of the following people:

  • Cleber J. Santos
  • Franco Pellegrini
  • Gonzalo Almeida
  • Héctor Velarde
  • Joaquín Rosales
  • Juan A. Díaz
  • Juan Pablo Giménez
  • Marcos F. Romero
  • Silvestre Huens
  • Érico Andrei
  • Rodrigo Ferreira de Souza

You can find an updated list of package contributors on GitHub.

Development sponsored by Open Multimedia.


There's a frood who really knows where his towel is.

2.0a1 (2015-09-30)


Upgrades are supported only from release 1.0b3.

  • Make control panel configlet accesible to Site Administrator role (closes #137). [hvelarde]
  • Load Cycle2 resources from the JS registry if available (closes #133). [hvelarde]
  • Fix display of byline and refactor override of documentbyline viewlet; avoid performance issues when having many users by memoizing expensive call to Membership tool (fixes #128). [hvelarde, rodfersou]
  • Replace slideshow framework machinery; we use Cycle2 now instead of Galleria. Don't forget do uninstall and remove collective.js.galleria if you no longer depend on it on your site (closes #116). [rodfersou, hvelarde]
  • Fix default values for genre and urgency fields (closes #118). [rodfersou]
  • Add NITF tile for collective.cover (closes #123). [hvelarde]
  • Reimplement section field as a behavior (closes #98). [hvelarde]
  • Drop support of Plone 4.2. [hvelarde]
  • Remove dependency on collective.z3cform.widgets. Don't forget do uninstall and remove the package if you no longer depend on it on your site. [hvelarde]
  • Update package i18n and Spanish and Brazilian Portuguese translations. [hvelarde]
  • Restore default binding on Link content type at uninstall time. [hvelarde]
  • Add Current as default value for available_genres and General as default value for available_sections. [hvelarde]
  • Character counter code was removed from package; this should be reimplemented using collective.js.charcount (closes #75). [hvelarde]
  • Package was cleaned by removing some dependencies, deprecated methods on default view, unused macros from templates, and needless resources, scripts and styles. [marcosfromero, hvelarde]
  • Remove all javascript from templates, create new nitf.js and use jsregistry (closes #94). [marcosfromero]
  • Add confirmation overlay before removing an image in (closes #85). [marcosfromero]
  • Add required script library in to prevent image not loading when editing in overlay (closes #84). [marcosfromero]
  • Fields were reordered to enhance user experience on adding/editing content: 'location' field is now above 'body text' and 'urgency' is below 'genre'. [hvelarde]
  • Reimplement keywords and documentbyline viewlets with semantic markup and support for news article byline for INITF interface. [jpgimenez, hvelarde, cleberjsantos]
  • Refactor templates to implement semantic markup to annotate news-specific metadata using rNews, and RDFa (closes #47). [jpgimenez, marcosfromero, hvelarde]
  • Add as a dependency; this is needed for Dexterity to proper handle relations (closes #71). [jpgimenez]
  • Remove five.grok dependency, will easy the mainteinance and the extendibility of the package. [jpgimenez]
  • Changes image link behavior in for mobile devices (closes #62). [marcosfromero]


[X] Internationalized

[X] Unit tests

[ ] End-user documentation

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

[X] Existed and maintained for at least 6 months

[X] Installs and uninstalls cleanly

[X] Code structure follows best practice

Current Release

No stable release available yet.

All Releases

Version Released Description Compatibility Licenses Status
2.0a1 More about this release…
Plone 4.3
1.0b3 More about this release…
Plone 4.2
Plone 4.3
GPLv2 beta
1.0b2 More about this release…
Plone 4.2
GPLv2 beta
1.0b1 Bug fixes and new features More about this release…
Plone 4.2
GPL beta
1.0a2 More about this release… GPL alpha
1.0a1 Initial release. More about this release…
Plone 4.1
GPL alpha