[wp-meta] [Making WordPress.org] #262: Automate WordCamp Gravatar Badge Creation
Making WordPress.org
noreply at wordpress.org
Fri May 10 18:57:36 UTC 2019
#262: Automate WordCamp Gravatar Badge Creation
----------------------------------------+-----------------------
Reporter: iandunn | Owner: (none)
Type: enhancement | Status: assigned
Priority: high | Milestone:
Component: WordCamp Site & Plugins | Resolution:
Keywords: needs-patch good-first-bug |
----------------------------------------+-----------------------
Comment (by iandunn):
=== Design
We're basically trying to automate
[https://make.wordpress.org/community/handbook/wordcamp-organizer/first-
steps/helpful-documents-and-templates/create-wordcamp-badges-with-
gravatars/personalized-badges-with-indesign/ these manual steps].
To see the current page (which is just a placeholder), you can visit
[https://2017.testing.wordcamp.org/wp-
admin/edit.php?post_type=tix_ticket&page=camptix_tools&tix_section=indesign_badges
Tickets > Tools > Generate Badges > InDesign] in any wordcamp.org site or
local sandbox.
That screen will need to provide a way for organizers to enter some
parameters, and then download a ZIP file. The ZIP file can take several
minutes to generate, which is why it'd be helpful to have something
interactive here.
The options that they can enter are:
* Which ticket(s) they'd like to include. By default we'll generate badges
for all attendees regardless of what ticket they bought, but if specific
ticket(s) are chosen here, then we'll only generate badges for the
attendees who purchased those tickets. Probably a list of checkboxes. This
would be optional and all checked by default.
* A date/time field to specify which attendees should be included. All
attendees who registered on/after this point in time will be included.
This is useful because organizers often want to run multiple batches, and
it's easier if the subsequent batches don't include attendees who've
already gotten a badge. For example, a organizer might run a batch and
send it to the printer 1 week before the event, and that would cover 90%
of attendees, but they'd need to do a second batch the night before the
event to cover the remaining 10%). Probably a text field with a date
picker popup. This would be optional and default to being empty.
* Which CampTix admin flags they'd like to filter by. By default we'll
generate badges for all attendees, regardless of which flags they're
assigned (if any). If flag(s) are selected here, then we'll only generate
badges for attendees who have those flags. You can see how admin flags are
configured under [https://2017.testing.wordcamp.org/wp-
admin/edit.php?post_type=tix_ticket&page=camptix_options&tix_section
=admin-flags Tickets > Setup > Admin Flags]. Common examples are speakers,
sponsors, etc. Probably a list of checkboxes. Optional and all checked by
default.
The generated ZIP file will contain:
* A CSV file that can be modified as needed, and then imported into
InDesign's
* Gravatars for each of the attendees.
I'm imaging something along these lines:
1. User chooses options and clicks submit button
1. A `<Modal>` appears, and inside of it is a `<Spinner>` and a message to
"please wait, this can take a few minutes, don't navigate away from the
page." I ''think'' a modal is appropriate here, because we don't want to
do anything else until they download the file, but it may be a grey area.
1. If the ZIP fails to generate or nothing happens after a long time, the
spinner is replace with an error message and a button to retry.
1. Once the ZIP file is successfully generated, the spinner/message is
replaced with a download button.
1. After the user starts the download, they can close the modal and browse
to other screens while its being downloaded. We could tell them that above
the download button or something.
=== Development
I think it'd be good to do something similar to
[https://github.com/iandunn/quick-navigation-interface/tree/4c9a2e1/src
the way that Quick Navigation Interface uses Gutenberg's abstraction layer
for React and its components] to build a standard React application inside
of wp-admin.
--
Ticket URL: <https://meta.trac.wordpress.org/ticket/262#comment:16>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org
More information about the wp-meta
mailing list