Skip to content
This repository has been archived by the owner on Dec 31, 2021. It is now read-only.

Models: Tag

kgdunn edited this page Jun 18, 2011 · 3 revisions

Tagging is a general way of categorization information. We see tagging taking place at two levels.

  1. Subject areas are a higher level of categorization since then get more weight in search results than ...
  2. Tags, which are at a lower level, but serve to refine the subject area.

As an example, a subject area could be Visualization and tags related to this are 2D and scatterplot. Another subject area could be Image Processing, and this also has a 2D tag.

It is messy to deal with tags and subject areas as distinct database entries (tracking history, user assignment). So from a storage point of view they go in the same database table, but are distinguished only by the tag_type field in the model.

  • name: tag name (preferably in Title Case for subject areas, and in lowercase for ordinary tags).
  • description: a longer description of the tag (not sure if we will use this, but it could be useful)
  • tag_type: a choice of either tag (ordinary tag) or subject for subject area tags.
  • picture: we can consider adding small icons next to the tag in the future

Tags are assigned by the submitter and can be added/removed by the community as well as site editors.

Examples of subject area tags:

  • Algorithm
  • Automotive
  • Biotech
  • Chemistry
  • Communications
  • Control Systems
  • Data Acquisition
  • Documentation
  • Earth Sciences
  • Financial Services
  • Games
  • Graphic User Interface (GUI)
  • Image and Video Processing
  • Modeling
  • Pharmaceutical
  • Physics
  • Probability
  • Publications
  • Simulation
  • Statistics
  • Visualization

Code possibilities

https://github.com/alex/django-taggit/#readme

Clone this wiki locally