I’ve been using P2 on an internal multisite for almost a year.
essential plugins:
- P2 by email or BuddyPress to handle notifications—currently using both, with P2 by Email handling the main site and some others, but BuddyPress doing the other sites. P2 by Email doesn’t work the way i need it to, and BuddyPress was tapped, but I’ve not been able to solve this bug with it, so i use both with some changes to the mentions code in P2. Most of my users need to get an email on post for some sites, but not all of them. P2 by Email doesn’t allow for this kind of fine tuning. I use Subscribe2 (version 9.4, later versions aren’t as good) to handle this functionality this way everyone who is supposed to get the post will get it in their inbox, but the discussion can be left to only those interested and they can use @user which will evoke either P2 by Email or BuddyPress to send those comment emails. There are plugins for comment emails, but I haven’t been able to get any of them to work consistently across my network with wasting a lot of time.
- Who’s Online (code tweaked)
- P2 Resolved Posts
- P2 New Post Categories (code tweaked to make the layout easier to control with CSS)
- Google Doc Embedder
- Comment Attachement
- Simple Text Replace – this allows a single phrase to be used when typing a post on either the front end or the back end which will be replaced in the database by whatever you want. It’s only used to swap a single word out for @mention every user in the system because P2 lacks an @all function.
some other important details:
I tried User Access Manager, Advanced Access Manager, Members, Roles, and everything else I could lay my hands on. The best set up is to put this code in your functions.php:
function private_wp() { if (!is_user_logged_in()) { auth_redirect(); } }
add_action('get_header', 'private_wp');
If a user isn’t logged in, they’ll be kicked back to the login page.
Fine turning what each user can do and see on my network was handled by User Role Editor, then User Role Editor Pro. The reason for going pro was cost versus time: it was taking forever to set permissions per user across the network, but with the pro version, I can apply those changes and many others in a single click. This plugin saves me massive hours and $29 a year made that very worth it.
Markdown for P2 never quite worked right and most of my users aren’t technical or web savvy enough to learn Markdown or be interested in using it. I was able to get Basic Comment Quicktags to work for the comments and for the front end post box by tweaking the code. This gives my users: bold, italic, insert link, and quote.
On the sidebar:
Since I’m using multisite and BuddyPress, most of my sidebar is probably not for you, but here it goes:
- BuddyPress Notifications Widget – displays private message headers (if any) in addition to BuddyPress’s functionality in the upper right hand corner of a site on the Toolbar
- BuddyPress’s login widget – displays the user’s avatar with a log out link
- Buddypress Sitewide activity widget – displays recent posts and comments from the entire network
- BuddyPress Groups widget
- Calendar
- Pages
- Who’s Online
For almost all of the other sites on the network, the sidebar looks like this:
- Links to BuddyPress Groups – some sites on the network have interior discussion groups
- Comments
- Posts
- Calendar
- Tag Cloud
- Pages
- Archives
- Categories
- Subscribe2 link