This would reduce the tools load on the Wikimedia API significantly as the complex depth categorymember calls are currently run every time a user participates. Instead, we would run the query once at the moment the manager creates the campaign and store the image list in the database under a new campaign_images column in the campaigns table.
The down side is that users would not necessarily have the latest contents of the category. So, the campaign manager would then need to have an "update images" button that would re-run the category query. This would be needed if big changes happened to the category tree and the manager wanted to refresh the list.
This changes would also make it easier to:
- Track current image the user is on (image index could be added to the url)
- Give counts for total images in campaigns