Re: Friends and Groups for BuddyPress 1.3
Just a little clarification, not meaning to nitpick. In my post I said that friendship is a one to many relationship, since each person can have one or more friends, but yes, each relationship in and of itself is a one to one mapping.
I think I have a pretty good idea of what you want to accomplish, but I still think you need to re-think how to get there.
Based on everything you have said, what is needed is to make friendship more abstract so that it can be extended. For instance so there can be more than one type of friendship. You could even have layers of friendship types without making things complicated as far as data storage goes. Once you have some abstraction then powerful filtering becomes possible.
And instead of using groups to accomplish the grouping of friends so that you can use the group component’s features, it would make a lot more sense to refactor those features out of the group component so they can be re-used elsewhere. So if there is a particular feature of groups that you want to use for something else, ask yourself how to move that functionality vertically into the core API instead of merging components horizontally to share features.
In case all of that is unclear, basically what I am trying to say is instead of moving functionality around, break it up into smaller generic bits that can be re-used. You get rid of lots of code duplication and increase the depth of the API, while not losing any features.