[NGO] [checklist] + a new topic - Membership Base

Martin Aspeli optilude at gmx.net
Fri Jun 23 15:14:44 UTC 2006



Sam Stainsby-2 wrote:
> 
> Ah, my pet topic ... there is a very real need for this sort of thing ...
> 
> I recently built 2 staff/membership management systems for 2 different 
> NGOs that had quite a bit in common. One of the NGOs, an environmental 
> group, is interested in going open source, and I'm currently talking the 
> other one (and anyone else who will listen) about getting some 
> collaboration going. They are a political party. I'm willing to put some 
> of my own company's time in to help manage the project.
> 

This is excellent! Rob Miller (RaFromBRC) is our point man on membership
things. He's been a big push behind membrane (which was started by Helge
Tesdal). Wichert (Wiggy) has also done some work on this lately.

membrane, PAS and Plone 2.5 make building systems like this way easier. I
may be writing a lightweight version for a use case not too dissimilar to
this in the near future... it will of course be open source :)



> Between the two systems, here are most of the features (Note: in one 
> system there are contacts, staff and volunteers; in the other there are 
> contacts and members ):
> 
> * built on archetypes
> * workflowable contacts, members & groups (we started using CMFMember 
> but found it unworkable, so we developed our own solution - a bit 
> hackish but it does the job - we will be looking closely at membrane & 
> Five on Plone 2.5 for the next version)
> * any contact can be made into a member, and visa versa
> 

This is a cool feature, and one that requires some real thought up-front.



> * contacts/members can be given a login account (they get a Plone 
> username and password); in one client's case, they can log in and change 
> many of their own details, including biography, mugshot, etc; accounts 
> can be disabled as well
> 

You'll love how membrane handles this. Basically, the object is the user if
it can be adapted to the right interface. So, you no longer need to use Site
Setup and manage users that way. You just create e.g. a Member or Contact
object anywhere in the site, and if workflow/conditions allow, that object
just becomes the representation of a user with no more work involved. It's
very elegant. You can do things like having a Department as a folderish
object containing Staff. Each Department becomes a group, each Staff becomes
a user. You could do it with references - each Project references a number
of Staff, making a project into a group that has the associated staff as
members. (this is pretty much my use case, by the way).



> * multiple levels of authority: eg. operator, observer (read-only 
> access), coordinator (can read almost all info except sensitive data 
> such as credit card numbers), ordinary user
> * groups can have managers
> * groups are used for branches, campaigns, committees, roles, org. 
> units, physical offices, etc.
> 

This is again an advanced design that will benefit a lot of people.
Teamspace does some of this, mind you. There is permissions juggling galore
here, so getting it right once and for all will benefit a lot of people.



> * separate physical address objects
> * addresses can be physically located in "electorates" (for their 
> political stuff!)
> * complex membership application, approval and payment workflows with 
> some transitions time dependent and automated (using ClockServer)
> * export of users and groups to LDAP with sufficient info for 
> addressbook which allows authentication & group-based authorisation on 
> LDAP-compatible systems (with the long term aim of one username and one 
> password for each user throughout the organisation)
> * auditing via Plone's history mechanism, augmented to record exactly 
> which attributes were changed by who and when
> 

Interesting... perhaps you can explain a bit more about how you did that in
a post to plone-developers?



> * recording of membership and donation payments (not accounting as such 
> - its just a basic record - accounting is left to commercial packages - 
> I would like to see that change - example: exporting payment data into 
> QIF, which could then be imported into something like gnucash)
> * regular payment schedule objects that controls parts of a member's 
> workflow (e.g. due payments are detected, and that changes the state of 
> the member object)
> * regular payment schedules can be used to generate a payment record and 
> update their next membership renewal date in a single step
> * One of our clients uses Jabber quite a bit so I am currently writing 
> an ejabberd plugin to map LDAP groups into shared roster groups and chat 
> rooms (I learnt Erlang on Monday - I have the roster groups working so
> far!)
> * use of Smart Folders to do some fairly involved queries (not a 
> flexible as SQL but a whole lot simple for non-tech users) eg. "all 
> members in electorates XYZ and ABC who are interested in basket weaving 
> and nuclear science and geraniums"
> * export of any query results to CSV that can be opened in OpenOffice or 
> Microsoft Excel
> * mail templates to generate (snail mail) letters to members: these 
> template are applied to any query results that lists members to create a 
> PDF file with all of the letters inside it (basically, a mail merge); 
> formatting is double sides with proper page boundaries,; templates can 
> contain images and are edited in Kupu
> * mailing label templates for your snail mail: again PDF; users can 
> chose to generate only one label per physical address
> * pre-defined queries and mail templates for due membership, overdue, 
> lapsed, new membership, thanking donors, etc
> * contacts, members, addresses offices etc, all nicely searchable though 
> Plone beautiful search tools, including LiveSearch
> * although not tested in practice yet, there is enough info in the LDAP 
> to control user accounts and mailing lists on LDAP-savvy mail servers 
> such as qmail and postfix; mailing lists can have extra recipients 
> outside of the group
> * for the environmental client, this system is also the heart of their 
> intranet, embedded within the same plone instance - it is essentially 
> used as an intranet staff/volunteer directory within this context, they 
> also have:
> * web forms for emailing or SMSing members or whole groups of members at 
> a time
> * all the other nice Plone stuff for their intranet, like document 
> full-text indexing with TextIndexNG, and WebDAV
> 
> Whew that was a lot wasn't it .. probably not all either.
> 

It certainly sounds impressive. For re-use proposes, I'd advise starting
with modest goals. Identify the most important bits first and work your way
up. Pay attention to modularity, to the UI, and to integrateion and
conceptual integrity with the rest of Plone.



> One of my clients is already using their system, and report that they 
> are very happy with it, although they would like to see new features 
> added in the future. The other client's system is currently be phased 
> in. Their admin staff are setting it up first, and according to my 
> client's IT manager, they report that they are "blown away" by its 
> capabilities. They also have more plans for improvements. Here are some 
> of the things being tossed around:
> 

Well done :)



> * instant campaign portals - this is a rather involved and ambitious 
> project: to grossly oversimplify, if you have a new campaign, you fill 
> in a form, selecting some options and adding some people and managers, 
> and voilà you have a functioning campaign portal
> * using the LDAP, Samba and/or PAM for various authentication tasks on 
> Windows and 'Nix (I have already demonstrated the use of pam_ldap to 
> provide authentication for a demo subversion repository)
> * batching and automation of payments through an secure online web 
> payment  gateway
> * geospatial features (Google maps integration anyone?)
> 

There's a whole category for this on plone.org :)



> and lots of other stuff. I think there is a great opportunity to do some 
> real good and drum up some good business here too. I would be interested 
> to hear others' experiences and needs, and if anyone wants to get in on 
> this project please contact me too.
> 

Sam,

It certainly sounds like you know what you're doing and that you've got a
lot of real-world experience. The wider community would love to hear more
from you and share in the open source parts of your work. If it can be
properly modularised, a lot of what you describe seems to be applicable
outside the NGO sector as well.

Martin
--
View this message in context: http://www.nabble.com/Re%3A-what-NGOs-need-in-a-website--checklist--t1766079.html#a5013623
Sent from the Plone NGO forum at Nabble.com.





More information about the NGO mailing list