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

Atom Feed ID should not be the article.url #12

Open
grempe opened this issue Feb 6, 2010 · 7 comments
Open

Atom Feed ID should not be the article.url #12

grempe opened this issue Feb 6, 2010 · 7 comments

Comments

@grempe
Copy link

grempe commented Feb 6, 2010

Atom Feed ID should not be the article.url

Using the post url as the atom id is not really the best practice. If the permalink changes (e.g. due to a typo) then the atom id will also change resulting in this post showing up again in feed readers (and other issues).

Once set, the ID should never, ever change no matter what.

Perhaps when your rake task generates the post, you can generate an appropriate (e.g. uuid) atom id in stuff it into the metadata of the post (and teach the user to never change this id).

See :

http://diveintomark.org/archives/2004/05/28/howto-atom-id
http://www.hesido.com/web.php?page=atomidtimestamp

@cloudhead
Copy link
Owner

Hmmm, I'll have to figure something out for people who don't use the rake task though. Any ideas?

@grempe
Copy link
Author

grempe commented Feb 6, 2010

Can you enforce the presence of a 'atom-id' (or something like that) in the yaml front matter in an article?

If you run the rake task, generate it automagically (and add a comment telling people not to change it!). If you don't run the rake task, and leave 'atomid' blank then throw an error page?

This is a pretty big deal. It seems that 100 times a year someone ports their blog to some new host and changes all of the atom ids. Then I get ALL of their posts since forever showing up as new articles in my feed reader. Blech.

@grempe
Copy link
Author

grempe commented Feb 6, 2010

And specifying the atomid in the yaml would also allow people who are porting to toto from another blog engine to move their atom id's over as well. If they have a clue that is... ;-)

@ghost
Copy link

ghost commented Feb 6, 2010

Hmm... I'd rather not be forced to provide additional meta -- should be up to the users. I think best would be to add an option to specify your atom-id in the config, and if you do specify it make rake new generate it too; if you don't, no changes to current setup.

@nogweii
Copy link
Contributor

nogweii commented Mar 14, 2010

What about a git commit hook? I think that could work as well. If users really want to be (ahem) very annoying (cough), they could always not install / disable the hook. The hook could just inspect the YAML head and if the atom ID isn't there, add it. Otherwise, leave the existing ID alone. Should be good, right?

@ixti
Copy link

ixti commented Aug 10, 2011

First of all, I believe this is inappropriate place for this issue, as this is related to dorothy (toto knows nothing about feed creation). Secondly, we can use ctime of article as it's id, will be more than enough IMHO with ability to override in meta data of article.

@ixti
Copy link

ixti commented Aug 13, 2011

@cloudhead this issue can be closed as well. Feed generation is on dorothy side, so everyone can think for himself how he or she wants to output article IDs. If one want to have "timestamp" based IDs it's as easy as put in config.ru:

module Toto
  class Article
    def id
      self[:id] || File.ctime(@obj).to_f rescue self.url
    end
  end
end

And then using article.id in the index.builder. Of course it can be proposed into the upstream - but I don't think it worth it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants