I've had to build a slightly customized version of the blog module (with an invitation system) as a social network.

It's my first module, but there's not really much new code, just a few strategic changes - and two new columns in the users table.

Essentially I use an invitation-only membership system to identify relationships between members, and then display the combined blogs of related users. Thus, no matter how big the community, it always feels relatively small, and there is a high "real-life" familiarity between members. Every person' view of the community is unique, but every group is highly integrated into the larger community.

The algorythm is simple, and it's implementation is almost impossible to distinguish from a standard blog module.

I call it the sjrnl.module (shared journal).

I say all this because I understand folks may not care for small alterations to existing modules, though I consider the changes quite important.

I could still use some polish here & there, and would love to see someone add a good means of listing related members. Also I wouldn't mind simple guidance on how to make my first open source contribution.

Shall I submit it?

Comments

boris mann’s picture

We're always interested in seeing new code. The first step is applying for a CVS account. If you want to get feedback before creating a project, etc., upload it to your sandbox.

My initial feedback would be that you need to create your own table. user is a core module, so it's hard to get changes accepted except for very broad applications. You should probably look at the buddylist module. It's due for an overhaul, but it does model relations between users. In fact, you might even use buddylist to store the connections between people, and have your module focus on the shared display.

In any case, just a few comments without having seen your module yet. Hope to see it posted soon. If you have trouble with CVS, use my contact form to get in touch.

Cheers!

charlton’s picture

Yeah, I'd suspected that I might ruffle a feather somewhere by adding columns to the users table. But it made things sooooo simple.. ;-)

Will chew on this a while, and perhaps make that change before submitting.

hmm....