zend-feed icon indicating copy to clipboard operation
zend-feed copied to clipboard

An item should not include both author and dc:creator

Open glen-84 opened this issue 6 years ago • 5 comments

Using the W3C Feed Validation Service:

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 19, column 6: An item should not include both author and dc:creator (10 occurrences) [help]

      <dc:creator>Tina "jnienow" Pfannerstill</dc:creator>

Code to reproduce the issue

n/a

Expected results

Only one of author and dc:creator is included.

Actual results

Both are included.

glen-84 avatar Oct 04 '18 11:10 glen-84

@glen-84 One option is to remove (deregister) the core extension DublinCore\Renderer\Feed from extension manager, but I think there was a problem.

We then have to check as well:

  • source and dc:source
  • category and dc:subject

I will have a deeper look into the code. Thanks for reporting!

froschdesign avatar Oct 04 '18 13:10 froschdesign

I think we must change the method Zend\Writer\Writer::registerCoreExtensions:

public static function registerCoreExtensions()
{
    $coreExtensions = [
        'Atom',
        'Content',
        'DublinCore',
        'GooglePlayPodcast',
        'ITunes',
        'Slash',
        'Threading',
        'WellFormedWeb',
    ];

    foreach ($coreExtensions as $coreExtension) {
        if (static::hasExtension($coreExtension)) {
            static::registerExtension($coreExtension);
        }
    }
}

With this change an extension can be removed (deregister):

$extensionManager = new Zend\Feed\Writer\StandaloneExtensionManager();
$extensionManager->remove('DublinCore\Renderer\Entry');
$extensionManager->remove('DublinCore\Renderer\Feed');
Zend\Feed\Writer\Writer::setExtensionManager($extensionManager);

@glen-84 Can you test this idea? Thanks in advance!

froschdesign avatar Mar 04 '19 20:03 froschdesign

@froschdesign,

It does seem to work, but shouldn't this be the default? (i.e. by default it shouldn't include both elements?)

glen-84 avatar Mar 08 '19 08:03 glen-84

@glen-84 Thanks for your feedback! I will create a patch for it.

… by default it shouldn't include both elements?

It was implemented in zend-feed before 2012 and I do not know if there was already a recommendation for this elements to that time. At the current point it is an BC break to change the current behaviour but we need a option to customize it.

froschdesign avatar Mar 08 '19 09:03 froschdesign

This repository has been closed and moved to laminas/laminas-feed; a new issue has been opened at https://github.com/laminas/laminas-feed/issues/4.

weierophinney avatar Dec 31 '19 21:12 weierophinney