Open grempe opened 14 years ago
Hmmm, I'll have to figure something out for people who don't use the rake task though. Any ideas?
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.
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... ;-)
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.
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?
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.
@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.
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