How to setup target audience for announcement

Hey there, I’m working on an app for a school to help staff communicate more efficiently with parents. One way to do this is by allowing staff members to send an announcement targeted to subsets of parents (e.g. all of the parents in the grades 4 and 5 should receive this message). My challenges is that I’m not sure how to structure everything to make it work.

These are my thoughts on the UX:

  1. Staff member clicks to add Announcement. Instead of using the default audience (“Everyone”), they choose “Select Audience”.
  2. Select Audience allows them to select one or many Grades; click into a Grade to select one or many Classes, if needed; and click into a Class to select one or many Students, if needed.
  3. Once posted, the Announcements will appear on the homepage of the Users (e.g. parents) who are associated with the given selection (e.g. grades 4 and 5; or, class A and class B within the 5th grade).

Here’s how I’ve been trying to build it (without success):

  1. Create a collection called “Announcements”.
  2. Add a multi relationship to Users called “Audience”.
  3. Based each selections (of Grades, Classes, and Students), Users will be added or removed from the Current Announcement > Audience.
  4. Once published, the Announcements will be retrieved for each User (Announcements > Logged in User).

Thoughts? Advice?? I’m stumped on how to proceed / simplify.

2 Likes

Hey Wes -
If no one answers this question, I’ll be doing something similar next week and will share whatever I can get to work.

Hi @wes and @valentine ,

Here is cloneable app that you can take a look at.

Only Type 1 is implemented.

Cheers,
Yongki

1 Like

Thanks for your help, @Yongki - I’ll explore it now.

1 Like

@Yongki - thanks for sharing the project! Really cool. Is there a way for the Grades and Classes to be multi-select?

I know multi-select may not be doable with the out-of-the-box Forms, but I definitely want to explore if its possible.

Take a look at this sketch. Here’s a mockup of potentially how it might work. Let me know what you think.

1 Like

Hi @wes ,

Happy to share.

I have update the cloneable app, you can check again.

To split the screens, it is certainly possible, Adalo spoil us in this regard. :grinning:

I put a little icon there, but you can move it to a better place. :grinning:

You can also look at how to reset those toggles here.

Cheers,
Yongki

@Yongki I look forward to implementing your solution, but haven’t yet. Here’s a question for you…

If the poster selected both a grade and a class (within that same grade), would an announcement show up multiple times for a person associated with that class? Is there a way to ensure it only shows once?

Also, here’s the latest mockup for the audience selector. Let me know if there’s a way to improve it to ensure announcements only show-up once.

Hi @wes ,

Nice feedback,

The way I would do is to create/generate from higher group first, in this case grade is higher than class, then to prevent duplication before generate from class, we need to delete those generated records related to the selected class.

This could accelerate to more batch update screens than necessary.

If we can simplify the UI, by giving them option of just grades, just classes, it would be much easier.

Or, before generating students, generate classes first, then they are aware which classes are already in.

@Yongki Another question regarding the audience logic:

If no target audience is selected, then it seems logical that the announcement would be sent to all users. How would you suggested making that work? Or, how do we trigger the adding of all users to the announcement?

Let me know what you think is best in this case.

Hi @wes ,

I would begin with students’ collection with no filter, generate to generated announcement collection.

For UI, it would be better explicitly say the button would generate to all students.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.