Panel multiselect field with user-addable options?

OK, I’ve been poking around here, and realized that what I want to do isn’t currently possible directly, and with what I’ve found I can only get close.

  1. I need to look up all existing comma separate tags in my blog articles and use those in a multiselect field.
  2. I need the user to be able to add an additional tag if the desired tag does not exist.

I think I can accomplish #1 by using the multiselect field type, and then pulling the list of tags from a separate json template that generates the list and feeds it to the multiselect field.

The problem is I don’t know how to combine that with the ability to add an additional tag that’s not already in the list.

Currently I’m just using the tags field, but having autocomplete requires significant knowledge of what’s already there, especially if there are a lot of tags. I want to be able to pick from a searchable list instead, which multiselect should let me do, but it won’t let me add an additional item to the list.

I’m not necessarily averse to rolling my own custom field, but I’m having trouble wrapping my mind around it. Any guidance here? Or am I overlooking something that’s obvious?

As far as I know, such a field does not exist yet. You want the user to be able to add a new tag without leaving the page, after all.

The relationship field offers multi-select, search and a user defined controller for the options, which would make it possible to combine existing tags with a field that contains additional tags. But then your users would still have to leave the page and define a new tag somewhere else (parent page, site settings), unless you add a custom “add tags field” to each page that would then do the job. Not a very intuitive workflow.

I think some people have solved the problem of not knowing what tags have already been used with printing a list of already used fields underneath the tags field. I think that’s not such a bad idea.