n3oltd / N3O.Umbraco

N3O extensions to the Umbraco CMS
MIT License
3 stars 3 forks source link

Backoffice UI for campaigns management #378

Closed nadrummond closed 1 week ago

nadrummond commented 9 months ago

In the Figma design campaigns are wrongly shown as being created from the frontend. They are in fact created and managed from the Umbraco backoffice. The data they contain is similar to:

image

Much of this is straightforward (either rich text, croppers etc.). The bits that need further attention are:

Campaigns can be open ended or time bound

Campaigns have tags which need to be picked as they have a name and icon

Campaigns will have a goal / target amount, e.g. £10k. This will always be in the base currency of the system.

Conceptually, when creating a campaign, the charity will need to be able to control whether the campaign is restricted or unrestricted.

For an unrestricted campaign, no allocations are specified at the campaign level, the users who create pages are free to pick any allocation they want. An example of this might be a "10 Days of Dhul-Hijjah" campaign where the charity doesn't mind what the fundraising is for. However, in practice this would still require that they maintain a list of options similar to the restricted case below so in practice these two variants work the same.

For a restricted campaign, the charity will need to specify the allowed things that can be fundraised for. They will do this by adding a content node in Umbraco with a name (e.g. "Tube Well" or "Orphan Sponsorship" and on that node they will specify the donation item, scheme, allowed dimensions, price handles etc -- very similar to donation options on donation forms so need to look carefully at reusing where we can). The below image shows the kind of data that these content nodes must contain and also how they become a simple list you select from when creating a page. There are some additional

image

We don't want ordinary users going into the settings section for "day to day" stuff so one idea is to extend donation forms so they work for our purposes here and then a user would simply use the donation form section to manage the list of allocation options associated with a campaign.