BuddyPress Moderation hit the first stable release

BuddyPress Moderation is ready and I tagged a stable release.

It also include and how-to on integration with other plugins/content-types, read more on bp.org

Posted in BP Moderation | Tagged , , | Leave a comment

BuddyPress Media GSOC Nightly

I’m glad to inform you that all GSOC features have been merged in BP Media and are ready to test, read more on bp.org.

Posted in BP Media | Leave a comment

BuddyPress Media on Google Code

Those are not fresh news so you could already know it, I write them here for who don’t and for leaving a bunch of useful links in a convenient place :)

  1. BuddyPress Album is being renamed to BuddyPress Media that better reflects the plugin scope and features. It’s a work-in-progress so you’ll probably see it called in both ways.
  2. the project is now hosted on Google Code: BuddyPress Media on code.google.com.

If you are not interested in following BP Media development you can stop reading here, you only need to know that:

  • BP Media stable releases are still hosted on WP plugin repo so you’ll be able to install/update from your WP backend as usual (BP Media on wordpress.org/extend).
  • BP Media is still (and will always be) licensed under GPLv2.
  • General support is still handled on the plugin group on bp.org.

Instead if you are interested in BP Media development you’ll be happy to know that this choice will improve interaction with community and it’s involvement in the project development, in addition to ease collaboration between committers.

What you’ll find on google code:

  • BP Media nightly builds: a convenient way to test latest development version;
  • BP Media issue tracker: here we handle all known bugs, if you found one remember to search before posting and to compile in details the form, it helps us to help you ;) ;
  • BP Media codex: the project documentation, drop a comment if you’d like to help in this;
  • BP Media development svn: if you are comfortable with svn you can checkout the latest changes, or if you are planning to write a code patch you should write it on this version, nightly builds are less frequent than commits;
  • BP Media dev updates: list of latest code commits, issue tracker and codex changes;
  • BP Media dev feeds: list of feed you could be interested to follow.
Posted in BP Media | 3 Comments

Temporary workspace @ Ischia

For the next two weeks this will be my workspace. I’m writing you from Ischia, a nice vulcanic island near Naples.

As you see I have everything I need to keep the work going, 3G connection isn’t that bad (at least for what I have to do, of course I’ll not waste my time surfing youtube videos here). I also hope that some relax, a good panorama and cold drinks will boost my productivity in working time.

Just wanted to share my good mood, from tomorrow I’ll be working to get bp-album stable out and to adding multimedia capabilities to it.

Posted in General | 4 Comments

Some thoughts on BuddyPress Moderation

Here we have a draft of how I think to make BuddyPress Moderation work and its datamodel.

Content types

User-generated contents in a buddypress community are not limited to few content types but can be virtually anything, so this plugin needs to be able differentiate them and have a function to add custom content during page loading (before page is generated).

Each component that lets users generate contents differentiate them with an ID (actually there could be 2 ids, i.e. blog posts in a network install need blog id and post id to be identified); bp-moderation can use those ids to distinguish among contents of the same type, but it also need to store item_type.

Relationship Content <-> Activity

An activity is a content? Actually it isn’t. An activity is a pointer to a content, that could be a status, a blog/forum post, etc…

In a single content page or in a specified content type loop, the function that generates the report link is hooked to a content type specific hook, so it’s easy to know which is the content type.

Instead the activity loop displays a great number of different content types, so it’s necessary to have a map that relates activities ‘type’ to bp-moderation ‘item_type’ (each item_type could have more than one activity type mapped to it).

Contents vs Actions

Not all activities correspond to a user-generated content, there are also action activities, for example a new user, a new friendship, a user that become member of a group; imho does not make sense to flag actions as inappropriate, so I’ll not create content types mapped to action activities, but it’s possible to do it as with any other custom content type.

Data Model

This is the draft of the database schema. Each content can be flagged from different user more than one time, so two tables are needed, contents table contains info about contents and their status, and flags table contains who and when flagged a content.

status could be ‘new‘ (if admin still haven’t taken any action), ‘moderated‘ (admin moderated the content), ‘ignored‘ (admin said that content is ok).

item_owner_id and reporter_id are the id (as it is in wp_user table) of user that generated the content and the id of the user that flagged it.

Posted in BP Moderation | Tagged , | 4 Comments

Google Summer of Code project: media component and moderation for BuddyPress

UPDATE: This GSoC proj has been accepted! :D I’ll post more information as soon as I define the details with my mentors.

I’m going to apply for a Google Summer of Code (GSoC) project related to BuddyPress, I have two ideas for it: extending the bp-album plugin to a complete media component plugin and coding a moderation plugin.

Media component

I’m already working with foxly to add multiple album, album for groups, flexible taxonomy, member tags (a beta will be ready soon). When this features are tested and released in a stable version, we will work on multiple uploads, widgets, sitewide directory, shortcodes for blog posts. All these features are not part of the GSoC project.

The part of my GSoC proj related to media is mainly extending bp-album to support every kind of media file and upload from remote locations. Remote url could be either a media file or an oEmbed enabled page.

Multimedia capability will be accomplished abstracting the media type and adding the support for media modules. Each module can describe how to display the media files it supports, how to generate thumbs or to use a default thumb. It can also hook in bp-album functions to change the way they handle media files.

I’ll write some basic modules (pics, video, audio) and a detailed documentation on the modules API. Then community could code modules for every kind of media (flash, pdfs, documents, code scripts, …).

Moderation component

Site admins can already edit or delete every content in a BP community, but analyzing every content posted could be a crazy/impossible work in big communities. This plugin use crowdsourcing to help site admins finding contents to moderate.

It adds a “report this” link to every posted content in the site, so members can easily report contents to admins. Admins can then see all the reported contents in an organized table in the wp backend, order/filter by the number of times the content has been reported, the component that have generated the content, the member who posted the content, etc. Then admins can take action on that content (ignore it, delete, mark the content author as spammer).

Another table show members, how many posts from them have been reported/moderated, how many posts have they reported and moderated from admin. So admins can easily find bad/good members and take action on them (mark as spammer, thanks them).

Timing

Accepted projects are announced on April 26, then Google timeline suggest a month of ‘community bonding’ and starting coding on May 24. Suggested ‘pencil down’ date is August 9, projects must be completed before August 16.

What happens if my project is not accepted? I won’t discard it, but I can’t affirm that I’ll have the time to work on it, or give any accurate timing. If it is accepted Google will give me a stipend to complete the project, so I can afford not accepting paid works and I’ll not look for a summer job; otherwise I’ll need to find some works for this summer and I don’t know how much time I’ll have to work on this.

Hope you like my ideas, feedback in comments is appreciated.

Posted in Coding | Tagged , , | 14 Comments

Beta version with a bunch of new features

As announced in the last post the beta version has been released today.

Please use this version only on tests sites, we will not provide support for it. The purpose of this version is to demonstrate the new features. We are doing major changes so you should wait a more stable version before reporting bugs. Probably db structure will change before next release.

You can always download latest development version from http://downloads.wordpress.org/plugin/bp-album.zip

New features:

  • keyword tagging and member tagging
  • multiple album dynamically generated, based on tags
  • disk based image caching with custom sizes

for further details and installing guide please see this post: http://buddypress.org/forums/topic/bp-album-new-features-requests-and-discussion/page/3#post-44269

Posted in BP Media | 1 Comment

Features in the upcoming release

Okay community, we’ve just finished our developer’s meeting and have decided what features we’re going to include in the next BP Album+ release. They will be as follows:

  1. Multiple album capability based on image tags. We will be mimicking Flickr’s image tagging, sorting, and gallery functions. Users will be able to tag their images, and create albums based on the tags they apply.
    There will be two classes of image tags: user tags, and admin tags. User tags can be used for sorting and grouping images, admin tags can be used by administrators to approve images for various purposes, as well as for use by other plugins on the site. For example, on a dating site that charges users to view or upload images, or a realty site that charges realtors to post property photos.
  2. The ability to tag site members in photos, with the ability for the photo owner to remove unwanted tags from their photo, and the ability for a user that has been tagged in the photo by the owner to remove themselves as well. The tagging system will tie into the @mention system within BuddyPress. Support will be included for “bounding box” tags on images as is done on Flickr (face tags on FaceBook), but the function will not be activated in this release.
  3. Configurable thumbnail aspect ratios. There will be a setting in the admin menu that allows the plugin to be switched between “Facebook Style” AND “Flickr Style” thumbnail display.
  4. “Perfect” templates – all of the HTML will be generated IN the template and be fully editable by the template developer. Image rendering functions will accept size parameters. This will allow template developers to dramatically alter the look of the plugin.

… That’s it …

We’re targeting Monday next week for a beta release.

Get excited!

Give feedback in this discussion.

Posted in BP Media | Leave a comment

Attention template developers! Your Feedback is required!

We have finished the template set for the next release of the plugin, and we’d like your feedback so we can modify the plugin to make your life easier.

Download the code here:

http://foxly.ca/bp-album_0-1-6-FOR_TEMPLATE_DEVELOPERS.zip

You have 24 hours to evaluate it and post your feedback in this discussion.

Posted in BP Media | Leave a comment