Ask Your Question

Revision history [back]

note: karma=1 is too low to post links - will fix later.

I looked at the code for askbot and this is referred to as a tag synonym:

This questions also covers synonyms a bit: There are 3 management commands you can use:

  • rename_tags_id - updates all questions tagged, changing its tags with new ones.
  • rename_tags - takes 2 sets of tags (old and new), looks them up and calls rename_tags_id.
  • create_tag_synonyms - creates a TagSynonym then calls rename_tags to update questions.

Different approaches are possible (ranked in order of complexity):

  1. add a form to the Tag admin interface with new name for a tag, and use call_command

    from import call_command
    call_command('create_tag_synonyms', *args, **options)
  2. add a celery task in askbot/ which would do the same, and rather than calling the command from the admin UI (and freeze for minutes potentially since this would be synchronous), you would just kick off a celery task which would do it for you. Job is done in the background, UI is still snappy, everybody is happy.

  3. add admin approval workflow on top of that:

    • user suggests a synonym,
    • somewhere down the line, and administrator approves the request,
    • upon clicking approve, the celery task is started.

    The benefit of that approach is that you would have a better audit trail.

  4. add an admin workflow on top of that (not referring to django admin panel):

    • in site, admin would go to tags list,
    • click on a tag to change,
    • form to rename the tag.

Things I saw were missing:

  • adding information about a tag (Post with post_type == tag_wiki),
    • as long as you create a question with a tag, it creates it / associates the tag, and couldn't see where you edit the tag info / description / synonyms.
  • no template / url for accessing a tag wiki,
    • when clicking on the tag list, then on a tag, it takes you to the questions tagged with it, and there are no links to the tag wiki.
  • no template for tag synonyms, link to synonyms is also missing from the tags template