See http://civicrm.org/mih#wordpress for funding status.
From the MIH page: "The exact feature set is yet to be determined, but the goal would be to make CiviCRM a WP plugin and act as other WP plugins would. We expect the first integration to be simple and will improve it in future releases." This page intends to fully specify the initial integration.
Note that Scotland's Colleges are a major sponsor of this integration, and they are interested in creating a Buddypress integration as a phase 2 of this project.
Below is MMs initial thoughts and very small brain dump
Installation
- Get CiviCRM to install/uninstall/upgrade as a wordpress plugin, following as much as WP standards as possible
- If Wordpress is installed in a sub-directory such as www.mysite.org/wordpress allow for this during automatic creation of civicrm.settings.php BASE_URL (to-do)
Permissioning
- Integrate the permissioning systems both url level permissions AND acl permissions
- Check permissions of anonymous users, 'subscriber', 'author', 'contributor' (to-do)** Can see contribution pages
- Can register for events
- Can subscribe/unsubscribe
- Can use profile that contains public fields
- 'Administrator' users can do anything with CiviCRM (to-do)
- 'Editor' users can do anything in CiviCRM except CiviContribute and 'administer CiviCRM' (to-do)
Background on Wordpress Roles
- Wordpress has four default user roles, shown here and officially defined here. These roles can be edited or changed, or new roles created with community-contributed plugins. Changing roles and permissions is not part of Wordpress core functionality. Default roles are listed in order of power:
- Subscriber (generally blog oriented, someone who can comment but not post or create)
- Contributor (user who can create posts, but not publish them)
- Author (higher level user who can create posts on their own, but lacks the power to change any pages but their own)
- Editor (can create and publish pages and post, or edit any page or post - even another author's post)
- Administrator (can do anything)
User Registration
- Integrate with WP's user registration system so contact is created/updated when user is created/updated This could use one of two Wordpress Hooks (to-do)** http://codex.wordpress.org/Plugin_API/Action_Reference/profile_update
Templates/Theming
- Add CiviCRM html to WP's theming / templating system
- When viewing a Contact or other page in CiviCRM, make sure the Contact name or page title appears in the Wordpress theme at the top (to-do)
- Live pages for Contribution Pages should use the public theme of Wordpress, not the Wordpress admin theme. This may require a URL change. (to-do)
- Make the CiviCRM menu replace the WP Admin Menu in the CiviCRM page if the WP menu is enabled on the backend; Offer a link to switch to the WP menu from the CiviCRM menu. Otherwise, the CiviCRM menu should float above the main WP backend when within the CiviCRM page. (to-do)
Hooks
- Respond to as many WP "hooks/events" as makes sense
6. Investigate integrating with other WP modules
