1 Reply Latest reply on Jun 28, 2012 10:28 AM by philmodjunk

    How to create a simple tag system



      How to create a simple tag system


      I am working on developing a new contacts database, and want to create some kind of simple tag system that can allow for quick data entry, be highly visual, and allow for quick finding and sorting. Attached is a photo from an online system that is a bit similar to what I am thinking. In the past I have created 'category' fields and used drop down menus and/or radio boxes. They work for a few variables, but this one could potentially have 20-40 different tags. How can I create this kind of function? I've designed a few databases, but am somewhat of a neophite here, so forgive my ignorance if there is a simple solution.



        • 1. Re: How to create a simple tag system

          You've got two issues to resolve: the data modeling and the layout design.

          From a layout design point of view:

          Do you want to allow users to create the tags or do you plan to specify the list of tags that can be used, but make it a very large list of tags?

          Do you want to allow the user to select several tags for the same search? If so, do you want the search logic to be Or or And logic? (find all records where the contact is linked to tag 1 or tag2 vs. find all records where the contact is linked to both tag1 and tag2.)

          From a data modeling perspective, you've got a many to many relation between a tags--a table where you will list each tag and the contacts table. It might look something like this:


          Contacts::__pkContactID = Contact_Tag::_fkContactID

          Tags::__pkTagID = Contact_Tag::_fkTagID

          For designing a layout similar to what you have uploaded, you can use two portals, one to list the contacts and one to list the tags. The tag fields in the tag portal can be set up as buttons that update fields used in a portal filter expression for the contacts portal as a way to control what contacts appear in the contacts portal.