Products.SilvaNews 2.9.5
News extension for Silva
License: BSD
Keywords: news silva zope2

==================
Silva News Network
==================

Silva is a Zope-based web application designed for the creation and
management of structured, textual content. Silva allows users to enter
new documents as well as edit existing documents using a web
interface.

Silva News Network is an extension to Silva to allow authors to place
articles and agendaitems on the Silva site and show them on a page.

There are versions for older Silva versions available for download as
well.  No other products are required to use Silva News Network from
Silva, besides the products required to run Silva itself.


Using Silva News Network
========================

The first thing to do is add subjects and target audiences to the
service_news object in the Silva root in the ZMI. This object is used
only to manage those lists (subjects and target audiences), these will
function as criteria for the newsfilters (more on these later in this
document) to search on. It would be best to add as much subjects and
target audiences as currently available to the service when setting up
News, since the lists are the basis of the filtering system and one
has to dive into the ZMI to add items (therefore it requires
appropriate rights to edit stuff in the ZMI).  Managing these lists is
quite straightforward: you can add an item by filling in a string into
one of the textfields and pressing on the corresponding 'add' button,
and remove them by checking the checkbox in front of an item and
clicking the corresponding 'remove' button.

Adding a News Publication
-------------------------

Newsitems can only be added to newspublication. To add one, go to the
SMI and choose 'Silva News Publication' from the menu of addables
(upper left corner of the edit tab in folders, publications and the
Silva root). Enter an id and a title and choose 'Add and edit', you
will then be taken to the edit tab of the newspublication.  This tab
looks a lot like the edit tab of other containers (folders,
publications) in Silva, except it doesn't have a default document or
view and can not contain anything other then news items (articles and
agenda items), folders and publications (thus allowing a more
structured setup of the newspublication).You can add newsitems by
choosing a specific type from the addables menu in this tab.

Properties tab
~~~~~~~~~~~~~~

In the properties tab of newspublication there is a checkbox called
'restrict access'. When this is checked, the folder can only be found
by news- and agendafilters in the same folder the folder is on and
each subfolder of that folder. This can be used to make the
newspublication 'private', making it available only to for example 1
department.

Adding news items
-----------------

Now authors can add newsitems. As stated before, there are two types
of newsitems: articles and agendaitems. The main differences are that
agendaitems must contain a date/time on which the event described in
them takes place, and contain a location on which the event takes
place. The start date/time is necessary to show the items in
agendaviewers, since they show the items for a particular period
(e.g. a month). Therefore agendaviewers can show only
agendaitems. Newsviewers are capable of showing both articles and
agendaitems. Other datafields required for the system to work
correctly are 'subjects' and 'target audiences', which the author can
use to classify the newsitem. These fields will later be used by the
newsfilters as criteria for routing the items to newsviewers. When
editing an article or agenda item, keep in mind that the first heading
placed in the content editor is considered to be the subheader of the
newsitem, and the first paragraph as the lead (both will show up in
the preview on the viewers).

Adding news filters
-------------------

The next thing to do to make the system work is adding one or more
news- and agendafilters. These are objects used by editors or chief-
editors to filter a stream of newsitems. The items can be filtered on
subject and target audience (so for instance a newsfilter can route
only newsitems with a specific subject or meant for a specific target
audience to the viewers) and/or individually (per newsitem). Another
feature of the filters is the ability to 'stick to the current path',
when set this makes the filters pick up items only if they're in a
subdirectory of the filter's container.

The Filters' edit tab
~~~~~~~~~~~~~~~~~~~~~

The contents tab of a newsfilter shows a list of all available
newspublications (excluding the ones made private by checking the
'restrict access' checkbox that are not in the same folder or a
parentfolder of the newsfilter). To route newsitems of a
newspublication to newsviewers (more about those later) make sure the
checkbox in front of the newspublication is checked and click the
'update sources' button. All (published) newsitems that conform to the
criteria of the newsfilter will then be routed to the newsviewers that
use this filter. These criteria can be set in the 'Properties' tab of
the newsfilter: you see the lists of subjects and target audiences of
service_news again, and in newsfilters also a couple of radiobuttons
to select whether the filter should route agendaitems as well as
articles. These criteria can be used to distribute articles and
agendaitems in different ways across the Silva instance to
newsviewers.

For example: a number of different newspublications can contain both
articles and agendaitems of different subjects and targeting different
audiences, and the newsfilters filter and distribute specific items to
viewers. Please note that this means that filters must be sensibly set
up for the site to allow all newsitems to be shown somewhere: it is
very easy to set up the system in a way that articles and agendaitems
with a specific subject or target audience are filtered out by all
newsfilters, and therefore be excluded from all viewers.

The Items tab
~~~~~~~~~~~~~

The 'Items' tab can be used to filter out specific items, to allow
editors and chiefeditors to disallow specific articles and agendaitems
to be routed by a filter. To filter out a specific item, uncheck the
checkbox in front of it and choose 'update'.

Now the news- and agendaviewers can be placed. The viewers are the
objects responsible for showing the articles and agendaitems to the
public. An author can place viewers where he wants news to be shown.
The viewers show a list of items routed by the filters.

The Viewer's Edit tab
---------------------

The viewers are quite easy to set up: the only tab that matters is the
first one (edit), where you can set the number of days the viewer will
look back (for newsviewers) or ahead (for agendaviewers) to get
items. In the case of newsviewers there is also a switch to choose a
number of items to be shown. Also there is a list of available
filters. All filters chosen here are used for retrieving news. When
placed, the viewers will be available to the public and show articles
and/or agendaitems, together with an archive (that allows showing
items for a particular month) and a search option.

Appending /rss to the URL of a NewsViewer will show the RSS 1.0 (RDF
compliant) view of the items in this viewer.

The RSSAggregator
-----------------

The RSSAggregator replaces the old (and now removed) RSSViewer. In the
tab_edit you'll see a textbox called 'RSS feeds' where you can enter
the complete URLs for the feeds you want to have merged by this
aggregator instance.

All the other functionality is the same as for News Viewers.


ChangeLog
=========

SilvaNewsNetwork 2.9.5 (05/10/2012)
-----------------------------------

- Return 404 on ICS file of non-published events.

- Fix invalid permission to let people that don't have an editor role
  where an inline viewer is defined use it in their documents.

SilvaNewsNetwork 2.9.4 (02/23/2012)
-----------------------------------

- Add an external URL field on news item and agenda item.

- Add the possibility to fill-in multiple location and times on agenda item.

- Various fixes on the ICS support (unicode support, more fields).

- Fix inclusion of the Javascript calendar.


SilvaNewsNetwork 2.9.3 (06/10/2011)
-----------------------------------

- Fix Filter subjects and target audiences edition.

SilvaNewsNetwork 2.9.2 (2011-07-27)
-----------------------------------

- Update forms to get correct multi-choice widgets.

- Fix various bug on the agenda viewer.

SilvaNewsNetwork 2.9.1 (2010-02-07)
-----------------------------------

- Fix various bugs on the new agenda features, regarding indexing
  and unicode.

- Update translations. Add portuguese translations.

SilvaNewsNetwork 2.9 (2010-12-20)
---------------------------------

- Add ajax calendar view with json rest web service.

- Add support for recurrence in events and form widgets to set it.

- Fix rss and atom feeds to use Silva API.

- Refactor source / filter / viewer relations to use references. Now they
  can be moved around without loosing relashionships.

- Fixes timezone support.

- Make viewers usable as index of news publications.

SilvaNewsNetwork 2.9b2 (2010/10/27)
-----------------------------------

- News items are now displayed traversing viewers, this will fix
  breadcrumbs that used to display items path from there physical location.

- Fix archive view and remove old style view.

- Add timezone support for viewers.

SilvaNewsNetwork 2.9b1 (2010/07/16)
-----------------------------------

- Add catalog index able to index multiple ranges for one object in order
  to store datetime ranges with recurrence.

- Calendar views for agenda viewers.

- Export of agenda viewers and agenda items to the iCalendar format.

- Agenda viewers know have settings for timezone and first week of the day.

- Reuse Silva Document code instead of reimplemented it (article and
  agenda edition).

- Article and agenda views are now rendered using XSLT.

- Compatibility fixes for Zope 2.12 and Python 2.6.


SilvaNewsNetwork 2.8b1 (2010-02-01)
-----------------------------------

New Features
~~~~~~~~~~~~

- First release for Silva 2.2, no longer backwards compatible
  with prior Silva releases

- News and Agenda Viewers now have a "Year Range" property which
  controls the number of years in the past and future wich are
  displayed in the archive.  Attempts to access years outside
  of this range will raise 404's.

- SilvaNews has popup calendars for start/end datetimes in the SMI

- SilvaNews no longer manages it's own upgraders.  Upgrading SilvaNews
  is now tied into the core Silva upgrade process.

New Features ported from SNN 2.7.6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- removing '<<' and '>>' from links and putting the the html
  entities in a span
- adding wrappers for the news and agenda archive content area
- adding a vertical separator between months

Bugs Fixed
~~~~~~~~~~

- Fixed issue that made that broken images in news items resulted in
  failing searches.

- Added 'unblock' css class to viewer field iterators so links render
  properly (resulting from removal of the sortable id/class)

- correct localization datetime issues with rssaggregator's rss/atom feeds
  and inlineviewer newsprovider.

- AgendaViewers were pulling the latest number of items, rather
  than all items in X days.

- Update last author when an article/agenda item is saved in kupu.

SilvaNewsNetwork 2.7.5 (2009-03-26)
-----------------------------------

Bugs Fixed
~~~~~~~~~~

- The 'publish now' button in the edit tab of news items raised a 404
  when clicked, and it wasn't translated.

SilvaNewsNetwork 2.7.4 (2009-03-05)
-----------------------------------

Bugs Fixed
~~~~~~~~~~

- The rss.xml feed on news and agenda viewers did not validate against
  the rss 1.0 specification

SilvaNewsNetwork 2.7.3 (2009/02/19)
-----------------------------------

Bugs Fixed
~~~~~~~~~~

- The 'publish now' button for news and agenda items was not
  setting the display date time.  The result was that new items
  would not be found by filters

- removed the SNN 2.6 upgrader (which refreshes the catalog).
  All news items do need to be reindexed.  To do this, use the
  "Partial catalog rebuilds" tab of the Silva Extensions Service
  (in the ZMI) to rebuild each Silva News Publication.

- Added a dummy upgrader for SNN 2.7, so it appears that
  the upgrade upgrades to 2.7

SilvaNewsNetwork 2.7.2 (2009/02/12)
-----------------------------------

Bugs Fixed
~~~~~~~~~~

- removed debugging output on rss aggregator public view,
  and added additional css classes

- rss aggregator public view: adjusted feed link to be the
  html link, rather than the uri of the syndication feed

SilvaNewsNetwork 2.7.1 (2009/02/11)
-----------------------------------

Bugs Fixed
~~~~~~~~~~

- changed the viewer public language back so that translations
  work.

- Added 'unblock' css class to viewer field iterators so links render
  properly (resulting from removal of the sortable id/class)

SilvaNewsNetwork 2.7
--------------------

New Features
~~~~~~~~~~~~

- The RSS Aggregator now merges/sorts the feeds based on each
  feed item's publication date.

Bugs Fixed
~~~~~~~~~~

- The AgendaViewer displays the same number of characters
  for each item's intro as NewsViewers do (i.e. 128)

SilvaNewsNetwork 2.6
--------------------

New Features
~~~~~~~~~~~~

- Moved the "new version" button in the editor screen below the
  feedback text, as opposed to nestled in the corner next to the
  text. This because a Silva trainer reported that a trainee
  couldn't figure out how to make a new version. Now it's more
  obvious, hopefully enough.

- added the end date/time and location properties of Agenda
  Items to the agenda item add screen.

- added the location property of Agenda Items to the public view

- working with Zope 2.10 (ala merge 2.4-zope-2.10-branch)

- registering content via 'silva' zcml directives

- worked up SilvaNews interfaces a bit

- Added a SilvaNewsCategoryFilter asset, which can be used to
  limit the category lists in Filters and the properties tool in
  the News Item editor.

- refactored the viewers, merging shared code

- Added metadata columns for frequently accessed newsitem data
  (including get_intro!)

- Refactored News/Agenda viewers:

  1. to use new metadata columns

  2. each of the three public views (standard, archive, search)
     uses a shared macro to render the items, ensuring consistent
     display between all three views.

- eliminated all calls to getObject() (catalogbrain) in the
  filters -- since it's a "slow" operation, the cases where this
  was required are now using the additional catalog metadata
  columns.

- Added rss.xml and atom.xml views, based on the Silva 2.0
  rss.xml Container view.  These use the framework laid out for
  container rss, and include extra tags for silvanews specific
  metadata (location, start,end dates)

- rss.xml and atom.xml also work for RSSAggregator

- Removed XMLBuffer, as it is no longer used

- added interfaces INewsViewer and IAgendaViewer. These
  interfaces can be used by SilvaLayout/Five to provide special
  views for news/agenda viewers.

- InlineNewsViewer was updated with some Z3 features, e.g. using
  the Z3 interface lookup.

- The default INV formulator form and view templates have new
  features including: containing div id and class, showing a
  search box, specifying article level, optional image
  thumbnail, where and whether to place links to articles, and
  possible a few others.  If you're using the default INV, you
  should refresh the template by going to the each INV's url and
  adding '/refresh', e.g. http://server.com/silva/inv/refresh

Bugs fixed
~~~~~~~~~~

- Changed the new version button in the editor screen from an
  input to a button, to avoid css conflicts with frontend.css
  controls styles

- 176581: removed Category Filter preview tab, and registered a
  "dummy" public view for this content type

- 160505: SNN News Publications cannot have addables settings.
  It should, being News Publications inherit from Publications.

- viewers displayed items in reverse order when using multiple
  filters

- Improved (simplified the css of) the properties toolbox layout

- fix for broken rss feed caused by get_intro() not getting the
  model

- using 'get_intro' for RSS feeds introduced a bug in at least
  some RSS feeds. This has been worked around.

- fix in NewsFilter.get_next_items, to catch _all_ agenda item
  cases

- Publishing using the "publish now" button on the edit tab for
  news items was slightly broken.  The resultant page returned
  after this action had a <base> tag set to the news item
  version instead of the news item itself, breaking navigation
  links.

SilvaNewsNetwork 2.5.1
----------------------

Bugs fixed
~~~~~~~~~~

- fixed 110570, properties tool not appearing in Kupu

- fixed 101577, widgets missing from service_news_sub_viewer

- fixed 101299, NoViewError exception when comparing newsitem versions

- fixed 101731, NewsItems have "make local" settings tab option

- fixed 101729, Display DT isn't updated when NewsItems are
                in the future


- fixed 101616, inline news viewers don't correct viewer listing

- fixed 128591, status tab of News Items broken for authors

- fixed 115608, news viewer property titles unclear

SilvaNewsNetwork 2.5
--------------------

Features added
~~~~~~~~~~~~~~

- Made SilvaNews work with Silva 2.0/Zope 2.10.

Bugs fixed
~~~~~~~~~~

- removed tal:attribute where tal:replace was called.

- added 'en' to i18n to make the fallback work.

SilvaNewsNetwork 2.4.1
----------------------

Bugs fixed
~~~~~~~~~~

- fix for broken rss feed caused by get_intro() not getting the model

SilvaNewsNetwork 2.4
--------------------

Features added
~~~~~~~~~~~~~~

- SilvaNews 2.4 is compatible with Silva 1.6+ only. For Silva
  1.5 compatibility, the SilvaNews 2.3.x series should be used.

- added interfaces INewsViewer and IAgendaViewer. These
  interfaces can be used by SilvaLayout/Five to provide special
  views for news/agenda viewers.

Bugs fixed
~~~~~~~~~~

- using 'get_intro' for RSS feeds introduced a bug in at least
  some RSS feeds. This has been worked around.

SilvaNewsNetwork 2.3
--------------------

Features added
~~~~~~~~~~~~~~

- the rss views now use the get_intro method of the items, instead
  of the metadata description.

SilvaNewsNetwork 2.2
--------------------

Features
~~~~~~~~

- in tab_edit you can now see in the preview of a published NewsItem
  an infobox showing all related info

- changed layout more silva-core-like and improved usability cfr issue 1581

- uniformed css classes for view and viewer newsitems, un-div-ing

- more xhtml compliant

Bugs fixed
~~~~~~~~~~

- fixed bug cfr revision 8871 removed can_approve()

- fixed rss icon cfr issue 1506, 1580

- fixed display date rendering and setting cfr issue 1601, 1603

- fixed publish now cfr issue 1605

- fixed imort/export of InlineNewsViewer cfr issue 1600

- fixed render error when a News viewer has a image and PIL is not
  installed cfr issue 1604

- news articles show now publication date or display date if set cfr issue 1602

- fixed broken external source cfr issue 1434


SilvaNewsNetwork 2.1.3
----------------------

Features
~~~~~~~~

- Reworked public templates: removed divs and replaced by p's with Silva
  style plus news selectors, indenting, language

- Made layout of the INV (Inline News Viewer) more generic using standard
  Silva html classes

- Fixed space above kupu more robustly, so other extensions can control
  the feedback space too.

- RSS Aggregator public view: removed hard coded table and replaced with
  standard Silva html rendering

- Update publish controls with new layout. Still to be fixed is the
  switch from a publish now checkbox to a publish now button

Bugs fixed
~~~~~~~~~~

- Update Kupu css with fixes for the Kupu in Firefox edit html problem

- Fixed space above kupu

- In the news filter the select all button aligns left

- Fixed broken rss image

- Fixed memory leakage in the Inline News Viewer

- Fixed some query variable names in the AgendaFilter

- Fixed i18n support

- AgendaItems spanning over a period of more than one month are now
  displayed the whole period rather than only the last month

SilvaNewsNetwork 2.1.2
----------------------

Bugs fixed
~~~~~~~~~~

- Fixed support for code sources (external sources) in news items.

SilvaNewsNetwork 2.1.1
----------------------

Bugs fixed
~~~~~~~~~~

- Fixed some documentation issues: some version numbers were wrong.

SilvaNewsNetwork 2.1
--------------------

Bugs fixed
~~~~~~~~~~

- Added upgrader for a specific Zope 2.8.x issue, where some ZCatalog
  indexes had a new attribute defined, but the upgrader for that
  attribute wasn't executed when required.

Features
~~~~~~~~

- SilvaNewsNetwork now works on (and depends on!) Silva 1.5.

SilvaNewsNetwork 2.0.2
----------------------

Bugs fixed
~~~~~~~~~~

- Fixed Kupu ExternalSources support in news items. Thanks to Andrew
  Altepeter.

- Fixed bug where upgrader was registered for the wrong meta type. Thanks
  to Marc Petitmermet.

- Added dummy upgrader for 1.2, which makes that the upgrades are
  actually ran when the data version is 1.2 (works around a bug in
  Silva's upgrade registry).

SilvaNewsNetwork 2.0.1
----------------------

Bugs fixed
~~~~~~~~~~

- Added missing upgraders for 1.3 (or below) to 2.0.

SilvaNewsNetwork 2.0
--------------------

Features
~~~~~~~~

- Kupu editor support for news items (replacing the widget editor)

- Name change from SilvaNews to SilvaNewsNetwork

SilvaNewsNetwork 1.3
--------------------

Features
~~~~~~~~

- In each item in a news viewer, the first image of the item's content
  (if available) is displayed as a thumbnail.

- Removed all tables from the public views to more easily allow styling
  and layouting with CSS (note that this changes the layout of the public
  views!)

- Added a new checkbox in Agenda Items, 'display time', to control
  whether the time part of start and end date/time is displayed in
  the public views, allowing times of 00:00 to be displayed.

- Added a couple of new fields to service_news to allow displaying
  dates and months in a certain locale and format (this is a global
  setting rather than a per-user one, because Silva content currently
  can not be presented in more than one language it doesn't make sense
  to display dates and months in different languages).

- Added a new field 'display_datetime' to news items, rather than using
  the publication date/time to determine if and where an item is
  displayed in a news viewer, this display date is used, e.g. allowing
  re-publishing of an item without moving it in the public view of news
  viewers.

- Agenda items are now displayed according to the end datetime, if
  available, so that an item disappears from the list of 'current events'
  when it ends rather than when it starts.

- Subjects and target audiences now have a title, which allows changing
  the way they are displayed without having to update stored references
  to them (so you can now 'change a subject' and still have newsviewers
  display the correct list of items).

- Rather than displaying the first subheader encountered in the news item
  and the first paragraph encountered (which enforced a certain structure
  on news item content to make the viewers display the items correctly)
  news viewers now display the first *bit* of the news item, regardless
  of the type of elements that contains. Note that this requires some
  changes in the public templates (the subheader() and lead() methods
  have been replaced by one called 'get_intro').

Bugs fixed
~~~~~~~~~~

- The 'number of items to display' field on news viewers used to limit
  the number of items displayed in the archive, which made certain items
  not get displayed anymore, this is not fixed.

SilvaNewsNetwork 1.2
--------------------

Features
~~~~~~~~

- Updated SilvaNews to work with Silva 1.2

SilvaNewsNetwork 1.1
--------------------

Bugs fixed
~~~~~~~~~~

- Changed the names of indexes so they're less likely to clash with
  names of user-generated objects - SEE UPGRADE.txt!

SilvaNewsNetwork 1.0
--------------------

Bugs fixed
~~~~~~~~~~

- Fixed 'select all' in edit tabs.

- Fixed some small template issues so it works correctly with Silva 1.0.

- Problem in some DateTime argument formatting solved that made viewing
      certain objects result in an IOError when Silva was running on Windows
      Zope installations.

SilvaNewsNetwork 0.9.1
----------------------

Bugs fixed
~~~~~~~~~~

- Silva News really depends on Silva Document, not just Silva core.

SilvaNewsNetwork 0.9
--------------------

Features
~~~~~~~~

- RSS 1.0 overviews on NewsViewers and Aggregators.
  By adding /rss to the URL of a NewsViews, one will
  get the RSS 1.0 feed for this viewer or aggregator.

- Removed the RSSViewer (replaced by the RSSAggregator).

Bugs fixed
~~~~~~~~~~

- Fixed just about all Silva 0.9.3 conversion issues.

Note: SilvaNews 0.9 is incompatible with previously released
versions.