Hi George (and Jo) --
I just installed this module at our site so I hope to be able to give you some feedback.

My initial feedback.

1) needs a readme.txt, do you want me to draft one, to provide brief install instructions?
2) The name of the content type in Drupal should probably be:

Citizenspeak Alert

instead of just Citizenspeak.

3) If you give an alias to the content type, i.e. a SHORTURL for it, the message you get after saving your Citizenspeak node should be indicated in the message.

The campaign "Ask Giftworks to Open its software" has been saved and the following web address has been activated: http://oc-tech.org/node/2112. This can be also be referred to with the short URL http://oc-tech.org/actioncampaign

4) There should be instructions on how to make the address field information appear in a more graphically appealing way, i.e. not all the fields arranged vertically. You could have vertical be the default option, but allow user to choose a second built in option that uses less screen real estate, encasing the address in a little box.

5) At the bottom of the alert entry page, it says,
"This will be included in the email sent."

It should say:
"This statement will be included at the bottom of the email sent."

6) I think that for this module, it is absolutely essential to implement the Drupal Preview hook and have that show what the entire email would look like. The title of the message when you first begin entering it should not be "Message Preview". It would be better to use the phrase "Compose Citizenspeak Message"... and to add a field to the alert table and alert entry screen to allow the user to customize this message. The phrase then would be "Preview Citizenspeak Message" for the final product in the preview screen (and this could be yet another customizable phrase.

7) I guess you have not finished the thank you page (will you add a form to forward this to other people?)

8) I sent one email and then tried to do the download operation... the download operation showed me the text on the screen, I think that there should be separate buttons for viewing the data and for downloading it...

9) When you download a report, what happens to the data you downloaded? Is there a way to tell the module to define a batch of names as already downloaded, so that you don't download them again? If you want suggestions on an interface for doing this, I can provide some.

10) A general question: organizations with existing civicspace sites will most likely want to install a separate "site" under drupal, just for their civicspace installation. Because people don't respond well to action alerts when there is lots of other distracting information in the sidebar. The procedure for doing this, I guess, would be to:
a) create a separate mysql database
b) create another folder under DRUPALROOT/settings/sites, in addition to "default"
c) put the settings for the separate web site in there to connect to the other mysql db, and to use the subfolder http://mysite.org/citizenspeak or http://mysite.org/cs as the root for the Citizenspeak site
d) go into admin for that separate site and enable a theme that would be a good default for an alert, or somehow override some of the drupal defaults to get rid of the 3 column layout, header, etc. and substitute with a special header for action alert pages.

So what I am suggesting here is that the civicspace code should ship with some graphics, logos, and possibly themes that would accomplish this. I am not sure that this would be a separate theme, but maybe a couple of special styles that would be use by the CS code to override the page layout defaults for a site running citizenspeak.

George -- I would be willing to break this up into separate issues and even work on the code a bit! But we should communicate before I begin to do anything.

Overall, I want to congratulate you and Jo -- this looks like very efficient and compact code, so I know that it will be relatively easy to build on this. I guess you plan to integrate with CivCRM -- well my sense is that the most important thing would be to focus on integrating with the new Drupal 4.7 mail API first... in part because sending mail reliably will be critical for you, and secondly because I want to actually have some time to test your latest code in production on my live site! I have no intention of going to CivCRM for several months and I would advise others to do the same, until it becomes stable. Somewhere

I plan to do some testing and some more integration with ODB as we had discussed earlier. In fact I would consider working on a prototype API, just a proof of concept, to enable ODB to fetch the data directly. This is certainly something I can attempt now that the functionality is open-sourced.

Jo -- sorry I have been so out of touch but I have been entirely focused on doing programming for ODB as of late. I do want to speak with you soon!
-rich

Comments

georgehotelling’s picture

Rich: Thanks for taking a look at the module and giving your thoughts! There is definitely room for improvement. I would like you to break some of the issues into separate tasks, I'll mention those below.

1: It definitely needs a README.txt and INSTALL.txt, I'll work on those.

2: I think "CitizenSpeak Campaign" is a more descriptive name, I'll probably change that.

3: Can you create an issue for shorturls and, if possible, a patch that uses the shorturl if available (instead of putting the real url and shorturl)? This won't get high priority from me because we're not using the path module on the new CitizenSpeak.org but I'd happily include it.

4: I've included enough CSS hooks to make it possible to layout the form more compactly. Would adding CSS instructions and an example stylesheet in the documentation be enough?

5: The personal statement won't always be included at the bottom of the email. If the campaign creator checked "Put personal statements at top of letter" then it'll be at the top. It might make sense to have 2 messages, depending on the format of the campaign.

6: Can you create an issue for the title issues and expand on it a bit? I'm not sure which titles you mean for which pages, it might help me if you could list the titles you want for each step in the process.

7: I'm still refining the Thank You page, but the "send to a friend" function will be accomplished with a mailto: link initially. At some point it might make sense to detect the Forward module and offload the functionality to that, but that's low priority.

8: Can you open an issue for the reports displaying instead of downloading? It sounds like HTTP headers need to be added.

9: I'm interested to hear more of your ideas on how to handle only downloading new data. Please create an issue and let me know your thoughts on the UI.

10: I'm not sure my module should be in the business of theming. It's certainly possible to tell blocks to display on all content-types except CitizenSpeak, which would make things less distracting. Perhaps this and the form layout should go into a HOWTO document.

I'm working on a callback hook that would happen when a campaign was created, displayed, participated in, the thank you page displayed and the reports downloaded. A module that implemented that hook could add information to CiviCRM when someone participates in a campaign. However, 4.7's mail and form API integration will have higher priority than the callback hook(). If you have any thoughts on the hook, let me know.

georgehotelling’s picture

Status: Active » Closed (fixed)