Improve documentation and make module easier to use

Created on 19 April 2024, 2 months ago

Thank you for providing this module. I'm looking to use this module to integrate our site with GovDelivery and enable the automatic sending of email bulletins to subscribers when content is created on the site. However, I've found it rather difficult and somewhat confusing to use the module and would like to offer some suggestions for improvement from my perspective.

1. The module settings are confusing and poorly explained.
- As a new GovDelivery user, I wasn't sure what I was supposed to put in the "GovDelivery API Endpoint" field. Just the base URL from https://support.granicus.com/s/article/Getting-Started-API?language=en_US, or our account code, or a fully qualified URL, etc. I eventually figured it out, but an example or suggestion of where to find the API enpoint URL would be very helpful.
- I initially found the first two checkboxes confusing and wasn't exactly sure what they did. I also couldn't figure out why the module wasn't working until I checked those boxes. They should default to checked as that is the initial expected behavior. The help text could be reworded to be more clear, something like "Enables calls of the AddBulletinToQueue service to actually add to the queue. Can be disabled for testing, but will still write to log."

2. The module homepage https://www.drupal.org/project/govdelivery_bulletins β†’ has confusing text.
- It suggests using hook_entity_save() but there is no such hook. There is hook_entity_presave() or hook_entity_update()
- There are links to GovDelivery Bulletins API and GovDelivery Bulletins Admin form that are just "blank" links that don't actually point anywhere.

3. I don't think I fully understand the purpose of the queue functionality or how you envisioned users using it. I want to automatically send bulletins from the website, so requiring a user to go to the queue and click a button to actually send the queued items is an extra step I'd like to avoid. Furthermore, the way items are presented on the queue page is not very user friendly. The raw XML is displayed which isn't that helpful to most users and is very verbose so a queue with just a handful of items becomes a rather lengthy page. How can I disable the queue functionality so bulletins are immediately sent?

4. The example code for calling the bulletin queue service could use more explanation.
- setFromAddress() is shown with an actual email address, but it is actually a "from address ID" value that should be given. It's also optional and only needs to be provided if your GovDelivery account has multiple from addresses configured.
- setQueueUid() could explain this identifier is what is used with setFlag('dedupe', TRUE) to remove duplicates.
- setHeader() is also optional.

5. When the GovDelivery API returns an error, the error message is often truncated in the logs. This makes it very hard to figure out what the problem is and how to correct it because you don't know what the full error message was. This might be a limitation of Guzzle or some other dependency used to make the actual HTTP calls, but if there's any way to record the full error message that would be very helpful.

I'm just getting started on our GovDelivery integration, so I might have some more suggestions in the future as I continue using the module.

πŸ’¬ Support request
Status

Closed: duplicate

Version

1.9

Component

Documentation

Created by

πŸ‡ΊπŸ‡ΈUnited States RichardDavies Portland, Oregon

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @RichardDavies
  • πŸ‡ΊπŸ‡ΈUnited States swirt Florida

    Thank you for this @RichardDavies, they are all great questions/concerns to raise.

    I am going to break these down into separate issues so that communication and patched about any one of the items is easier to follow.

    While I do that, here is an example of a local module that makes use of this module.

  • πŸ‡ΊπŸ‡ΈUnited States swirt Florida

    I just moved them all and will close this issue in favor of the children.

    I'm just getting started on our GovDelivery integration, so I might have some more suggestions in the future as I continue using the module.

    I am happy to help, but please try to create separate issues for each suggestion/question. And if you have discovered an answer and learned by bumping your head into it a few times, please feel empowered to create a Merge Request on the issue.

    I am no longer on a project that is using this module so my familiarity with it is diminishing over time.

  • Status changed to Closed: duplicate 2 months ago
  • πŸ‡ΊπŸ‡ΈUnited States swirt Florida
Production build 0.69.0 2024