This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
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.

Mostly Harmless

Got an idea? Found a bug? Let us know by opening a support ticket.

Don’t Panic

Installation

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:

    [buildout]
    ...
    eggs =
        collective.nitf
    

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.

Behaviors

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.

Internals

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:

<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" />

Development

We use Webpack to process static resources on this package. Webpack processes LESS and JS files, minifies the resulting CSS and JS, and optimizes all images. The final JS file is also a UMD package, which provides compatibility with most popular script loaders.

To contribute, you should start the instance in one shell and start Webpack watcher on another with the following command:

$ bin/npm_watch

Then go to webpack/app folder and edit LESS and JS files; Webpack watcher will automatically create the final resources in the right place.

There are also other commands added to handle more complex scenarios. The following command will set the buildout node installation in the system PATH, this way you can use Webpack as described on Webpack docs.

$ bin/webpack_env

The following command generates JS and CSS without the minify step (it can be used to check the code being generated in a human readable way).

$ bin/npm_dev

The following command rebuilds static files and exit (insted of keep watching the changes):

$ bin/npm_build

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
  • Wolfgang Beyer (Mandelbrot image set used in tests)

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

Development sponsored by Open Multimedia.

Changelog

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

2.1b1 (2017-02-16)

  • Handle corner case when upgrade step for 1008 found a collection with no query defined. [hvelarde]
  • Simplify slideshow template to avoid depending on context id; this solves an issue when id ends with “.html”. [rodfersou]
  • Refactor static resources. [rodfersou]
  • Add classes to HTML elements on tile for easy visual customization. [agnogueira]
  • Remove dependency on plone.directives.form and latest traces of Grok. [hvelarde]
  • Fix exception getting image size with ImageScaling adapter (refs. sc.social.like #87). [rodfersou]

2.0b4 (2016-11-03)

  • Do not try to create scales on news article with no lead image; this was causing issues in some Collection view methods and in collective.cover’s Collection tile (fixes #178). [hvelarde]

2.0b3 (2016-09-12)

  • Fix issue in NITF tile that was causing an exception when dropping content into it (fixes #175). [rodfersou]

2.0b2 (2016-07-27)

  • The getImage() and imageCaption() methods of the NITF class are deprecated and will be removed on next release; use image() and media_caption() instead. [hvelarde]
  • Fix issue with collective.nitf.image viewlet raising AttributeError when plone.app.contenttypes is installed (closes #169). [hvelarde]
  • Use <p> tag to display the News Article subtitle to avoid warnings on validation. [hvelarde]
  • Fix exception when syndicalize NITF (closes #161). [rodfersou]
  • Fix tile date format. [hvelarde]
  • Avoid rising exceptions when content referenced in tile is not available (fixes #154). [hvelarde, rodfersou]
  • Remove hard dependency on plone.app.referenceablebehavior as Archetypes is no longer the default framework in Plone 5. Under Plone < 5.0 you should now explicitly add it to the eggs part of your buildout configuration to avoid issues while upgrading. [hvelarde]

2.0b1 (2016-02-29)

  • Show title of news article as alt attribute on tile’s image. [hvelarde]
  • Fix upgrade step to work with both, Archetypes and Dexterity-based collections. [rodfersou]

2.0a1 (2015-09-30)

Warning

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 media.pt (closes #85). [marcosfromero]
  • Add required script library in media.pt 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, schema.org and RDFa (closes #47). [jpgimenez, marcosfromero, hvelarde]
  • Add plone.app.relationfield 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 view.pt for mobile devices (closes #62). [marcosfromero]
Release History

Release History

2.1b1

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

2.0b4

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

2.0b3

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

2.0b2

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

2.0b1

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

2.0a1

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.0b10

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.0b9.dev0

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.0b8

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.0b7

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.0b6

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.0b5

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.0b4

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.0b3

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.0b2

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.0b1

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.0a3

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.0a2

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.0a1

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

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
collective.nitf-2.1b1.tar.gz (272.7 kB) Copy SHA256 Checksum SHA256 Source Feb 16, 2017

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