Ticket #12908 (closed PLIP: fixed)

Opened 2 years ago

Last modified 19 months ago

Improved Syndication

Reported by: vangheem Owned by: vangheem
Priority: minor Milestone: 4.3
Component: Templates/CSS Version: 4.3
Keywords: Cc: hvelarde

Description (last modified by vangheem) (diff)

Proposer: Nathan Van Gheem
Seconder: David Glick

Motivation

Currently, plone syndication is not very robust. Some of the current shortcomings include:

  • No way to customize how the RSS feed is rendered per content type
  • No way to disable showing author username on feed with out customizing the template
  • Syndication settings are not enabled by default.
  • Currently, most integrators utilize Products.basesyndication with Products.fatsyndication in order to have better syndication. Plone really needs this sort of functionality in core.
  • Data stored in unnecessary tool when it could be in registry
  • Should use annotation storage for feed settings

Deliverables

Update the current syndication framework in Products.CMFPlone.

  • Remove skin layer related rss and syndication settings--move to views.
  • Provide additional atom, itunes, feed format.
  • Be able to select which feed types are available.
  • Provide 4 OOTB feed types(rss 1.0, rss 2.0, atom, itunes)
  • Provide control panel to edit site feed settings
    • Be able to disable search feed(search_rss)
    • Be able to enable/disable syndication settings button portal action
    • Be able to enable/disable syndication link portal action
  • Implement feed rendering with adapters that can easily be overridden and customized by developers to provide customized feeds. This is similar to how Products.fatsyndication does syndication.
  • Have feed rendering respect "Allow anyone to view 'about' information" for author field in feed item so sites can prevent their user's usernames and information from being published.
  • All code will be in Products.CMFPlone, let's not make any new packages ;)
  • Migrate all syndication_information objects to annotation storage
  • Migrate portal_syndication tool to use registry, views and utilities

Progress

Initial implementation is done.

Missing migration yet and more tests.

Risks

Very little risk since we're staying backward compatible with the old /RSS urls.

There may be a little bit of risk to existing product developers that use Products.fatsyndication will need to be aware that core plone will supersede it.

Change History

comment:1 Changed 2 years ago by vangheem

  • Type changed from Bug to PLIP
  • Component changed from Unknown to Templates/CSS
  • Milestone changed from 4.x to 4.3

comment:2 Changed 2 years ago by vangheem

  • Status changed from new to assigned
  • Owner set to vangheem

comment:3 Changed 23 months ago by vangheem

  • Status changed from assigned to confirmed
  • Description modified (diff)

comment:4 Changed 23 months ago by vangheem

  • Description modified (diff)

comment:5 Changed 22 months ago by vangheem

  • Description modified (diff)

comment:6 Changed 22 months ago by vangheem

  • Description modified (diff)

comment:7 Changed 22 months ago by davisagli

  • Description modified (diff)

Added myself as seconder.

comment:8 Changed 22 months ago by vangheem

  • Description modified (diff)

Remove idea of add another portal action--can easily be configured in site setup.

comment:9 Changed 21 months ago by davisagli

Is there a buildout I can use to review your changes? I don't see much at  https://github.com/plone/buildout.coredev/tree/plip12908 (maybe you haven't pushed everything?) At the very least, please let me know which packages/branches to look at.

comment:10 Changed 21 months ago by davisagli

Oh, found it in the plips dir of the main 4.3 branch. :)

comment:11 Changed 21 months ago by kleist

One cause for the flakiness of many solutions for rss/atom syndication is the rigidity of xml parsers.

If I were involved in implementation of syndication (which I'm not), I'd keep an eye on the emerging XML subset "MicroXML":

 http://www.ibm.com/developerworks/library/x-microxml1/index.html#N101CE

comment:13 Changed 20 months ago by hvelarde

 NewsML is an IPTC backed media-type agnostic news exchange format standard for general news; NewsML is used by news aggregators like MSN to include content on their sites and also to distribute it ( e.g. MSNMoneyInvestFeed).

Other Open Source CMS, like  Drupal and  WordPress, already have support for NewsML feeds.

I think it could be a good idea to include this by default in Plone; we can work on it if you think it could be a valid enhancement.

comment:14 Changed 20 months ago by vangheem

  • Cc hvelarde added

hvelarde: This plip has been merged at this point. Are you still planning on providing the NewsML feed type or is that something I should look into implementing?

comment:15 Changed 19 months ago by vangheem

  • Status changed from confirmed to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.