News extension for Silva
Project description
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:
to use new metadata columns
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.