Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An item should not include both author and dc:creator #4

Open
2 tasks done
weierophinney opened this issue Dec 31, 2019 · 6 comments
Open
2 tasks done

An item should not include both author and dc:creator #4

weierophinney opened this issue Dec 31, 2019 · 6 comments
Labels
Bug Something isn't working

Comments

@weierophinney
Copy link
Member

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.


Originally posted by @glen-84 at zendframework/zend-feed#90

@weierophinney
Copy link
Member Author

@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!


Originally posted by @froschdesign at zendframework/zend-feed#90 (comment)

@weierophinney
Copy link
Member Author

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!


Originally posted by @froschdesign at zendframework/zend-feed#90 (comment)

@weierophinney
Copy link
Member Author

@froschdesign,

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


Originally posted by @glen-84 at zendframework/zend-feed#90 (comment)

@weierophinney
Copy link
Member Author

@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.


Originally posted by @froschdesign at zendframework/zend-feed#90 (comment)

@cmegd
Copy link

cmegd commented Sep 4, 2024

I'm facing the same issue, are there any plans to fix this?

@froschdesign
Copy link
Member

@cmegd
There will definitely be an update, but there is no fixed time frame for this.
Any help is welcome! So create a pull request and I will review it. 👍🏻

@froschdesign froschdesign added Bug Something isn't working and removed Work In Progress labels Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants