Wild Apricot is a popular membership management platform. It allows organizations to manage their member lists and membership payments. But it is also a content management system that allows the organization to build a website that can include a number of useful “widgets”, one of which is an event calendar.
Events on the calendar can occur once or repeatedly (e.g. weekly). Members can register for events, and the Wild Apricot system takes care of any payments associated with registration.
Events can have “tags” associated with them, similar to tags on a blog post. This allows the administrator to group events according to the target audience, for example, and to create a different calendar for each tag. For an explanation on how this is done, see this Wild Apricot help page.
The problem: Tag Soup
In volunteer-based organizations, it is not unusual to see multiple people act as event administrators and tags may be added in an ad-hoc fashion. This may result in inconsistent tag names, e.g. “table tennis”, “ping pong” and “ping-pong” to designate the same category of events.
There is no centralized database of tags and Wild Apricot does not offer a way to globally rename, replace or delete tags, or even to list all the events that have a given tag.
The solution: Tag Manager
In this article I am proposing a Tag Manager for Wild Apricot event tags, that allows administrators to perform bulk operations on tags.
You will be able to download the code and easily install it on your own Wild Apricot website.
How to use the Tag Manager
Before I explain how to install the Tag Manager on your Wild Apricot website, let’s have a look at what it allows you to do.
The Tag Manager has three basic functions:
- List all the events with a given tag
- Replace a given tag with another tag
- Delete a given tag from all events that have it
The List function displays the start date, title and tags of all events with the given tag. Events are listed in reverse chronological order.
The Replace function first asks for confirmation
and then it performs the replacements and displays the updated events.
The Delete function first asks for confirmation
and then it removes the tag and displays the updated events. (In this example, the events had both test1 and test2 tags).
Installing the Tag Manager on your website
You must have Administrator privilege on the Wild Apricot website in order to install and use the Tag Manager.
First, you will need to create a Client ID so that you can insert it in the Tag Manager code.
1. Create a Client ID
Go to Settings / Authorized Applications and click on “Authorize Application”.
Select the default option “Server application” and click Continue.
Assign an Application name, select the “Full access” option and create a Client ID. (Don’t use the simple-minded string in the picture below).
Then click “Generate client secret”. (You won’t use the client secret, but you must generate it anyway). Remember the Client ID and click Save.
2. Customize the Tag Manager code
Download tagmanager.zip. Extract tagmanager.txt from it and, at the top of that file:
- replace the XXXX string with your Wild Apricot account number (found on the Account page), and
- replace YYYY with the Client ID you created above.
<script> const accountNumber = "XXXX"; const clientId = "YYYY"; // ********************** Common Utilities *******************
Save the modified tagmanger.txt file. You will use it in the next step.
3. Create a hidden admin page
In the “Site Pages” section of your website admin, create a new page. Make sure it has the following settings:
- Not in menu
- Admin only
Name the page something like “Tag Manager”.
Place a “Custom HTML” gadget on the page.
Click on the Custom HTML gadget and click the “Edit code” button on the left.
Paste the contents of the tagmanager.txt file into the Edit HTML dialog and save.
Your Tag Management page is now read to use.
Accessing the Tag Manager
Remember: This code can only be used by people who have Admin access to the Wild Apricot website.
Login as an administrator, select “Website” in in the list of Site pages, select the “Tag Manager” page. You can then use the List, Replace and Delete functions as described at the beginning of this article.
More Wild Apricot utilities
If you are interested in other utilities to make managing your Wild Apricot website easier, please let me know in a comment below.