I’ve imagined this scenario would arise for a while now, and it just did. One of our clients has multiple URLs per service record. For example website, Facebook, and more. They are ruminating on adding text formatting into the single URL field such as:
Facebook: https://facebook.com/abc, Website: https://abc.org
I, of course, am trying to avoid that at all cost.
I’m also avoiding using attribute
as it doesn’t provide enough context. In the above, I need to know at least two things about each URL value:
- That it is a URL
- What it’s for (a label like Facebook).
At present all I can add in attribute
is the value, ie https://facebook.com/abc
, with no context on what it is or what to do with it.
We considered adding multiple virtual
locations, but that feels like a cumbersome use of the location
table, and will obfuscate locations that are truly virtual. I don’t want to generate a service_at_location
record for Facebook, unless Facebook happens to be the primary point of service for something. In most cases, it is not.
The most obvious solution is to normalize URLs into their own table. I would almost exactly follow the pattern of the phone
table, allowing URLs to be linked to organization
, service
, location
, service_at_location
, perhaps even contact
.
Is this is a necessary step? Have you found other workarounds for handing multiple URLs on an entity?