Public bug reported:

Currently we have

- artefact_tag
- collection_tag
- view_tag
- usr_tag

tables and if we want to have new tagging, say for groups we would need
to add another table

It might be easier to combine all these tables so that we can do easier
queries, like what are all the tags for an owner. Rather than having to
do a bunch of table joins and checking what things are owned by what
view/artefact etc we can just query the one table.

I'm thinking of having one table with the fields

 id, tag, resourcetype, resourceid, ownertype, ownerid, editedby, ctime,
mtime

where resourcetype is either 'view', 'artefact' etc
and resourceid is the id of that type

Where ownertype can be 'user', 'group', institution'
and ownerid can be the id number or shortname

And editedby can be the ID of the current user interacting with the tag
- useful for group/institution tags

ctime = created time
mtime = modified time

** Affects: mahara
     Importance: Wishlist
         Status: New

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask 
on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1774103

Title:
  Combine all the *_tag tables into one table

Status in Mahara:
  New

Bug description:
  Currently we have

  - artefact_tag
  - collection_tag
  - view_tag
  - usr_tag

  tables and if we want to have new tagging, say for groups we would
  need to add another table

  It might be easier to combine all these tables so that we can do
  easier queries, like what are all the tags for an owner. Rather than
  having to do a bunch of table joins and checking what things are owned
  by what view/artefact etc we can just query the one table.

  I'm thinking of having one table with the fields

   id, tag, resourcetype, resourceid, ownertype, ownerid, editedby,
  ctime, mtime

  where resourcetype is either 'view', 'artefact' etc
  and resourceid is the id of that type

  Where ownertype can be 'user', 'group', institution'
  and ownerid can be the id number or shortname

  And editedby can be the ID of the current user interacting with the
  tag - useful for group/institution tags

  ctime = created time
  mtime = modified time

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1774103/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to