3

I would like to list tags where the tag wiki or tag wiki excerpt was recently edited or created. How can I do this?

It is not a problem if I get a few false positives by tags modified in other ways, such as merged or renamed, because those events are very rare and can be filtered afterwards.

The api documented at http://api.stackexchange.com/docs/tags (as of v2.2) can list all tags. It, however, doesn't seem to offer a way to sort by latest modification of the tag (as opposed to latest activity of questions with that tag). http://api.stackexchange.com/docs/wikis-by-tags can query the tag wiki contents and excerpt and the last edit time of these, which I can run on any candidates listed to verify that the tag wiki was indeed edited.

1
  • Tag Wiki edit suggestions aren't available in the API, but I've tried to use a small hack and found a reasonable way to detect them. The suggested edits are serially ordered, so I monitor each of the suggested edits from the API, and report any skip in between as a Tag Wiki edit suggestion. There are a few fps, but it works quite good. I think you can probably try to get the wiki edits using my approach, do some screen scraping (not recommended, but can't help), and get the IDs of the tags which are edited. Commented Feb 5, 2018 at 4:57

1 Answer 1

1

While this isn't possible with the API, it is possible with SEDE, if you allow for up to 7 days of lag.

Here is the SEDE Query that lists Tag wiki and excerpts in descending edit date order:

select t.id
     , t.tagname 
     , concat('site://tags/'
     , tagname
     , '/info'
     , '|'
     , case 
       when w.lasteditdate > e.lasteditdate 
       then ' Wiki'
       when w.lasteditdate = e.lasteditdate 
       then ' both'
       else ' Excerpt'
       end
     ) [Edited]
     , w.lasteditdate [Wiki Edit]
     , e.lasteditdate [Excerpt Edit] 
from tags t
left outer join posts w on w.id = t.wikipostid
left outer join posts e on e.id = t.excerptpostid
where w.id is not null 
or    e.id is not null
order by coalesce(w.lasteditdate,  e.lasteditdate) desc

When run today, this is what your result might look like:

enter image description here

Keep in mind SEDE is update once a week, on Sunday morning 03:00 UTC. If you're new to SEDE give the awesome tutorial a try and say "Hi" in chat.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .