View this page "Brainstorming"

1 view
Skip to first unread message

Christian Scholz

unread,
Mar 5, 2008, 7:24:35 AM3/5/08
to Plone Social Networking
I just started a brainstorming page. Feel free to add stuff to it! It
can be freeform, more formal use cases can be done later on. This is
mostly to get an idea what everybody wants from such a system.

Click on http://groups.google.com/group/plone-social-networking/web/brainstorming
- or copy & paste it into your browser's address bar if that doesn't
work.

Dylan Jay

unread,
Mar 5, 2008, 11:09:52 AM3/5/08
to plone-socia...@googlegroups.com
I could edit your work but then what if we disagree?

My thinking is we can layer this into modules. Some of which depend on each
other and some can be used alone. Using as much zope3 tech as possible would
be good. If all of our needs are to create new sites then it makes sense to
work with plone3. It is stable. It does require more learning but that is
worth it for the increased ability to modularise things and have them work
together. Viewlets for instance all one module to add its own elements
anywhere on the screen instead of just a portal for instance, and without
having to mess with Plone templates and cause huge headaches in upgrading.

Module 1: I think the most basic module would be an invitations as that
doesn't require any social graph.
It would be a utility with the api

invite(username, callonRegistration)

Module 2: a localrole integration that lets you share a single content with
an email address. It uses the inviteutil.

So far neither of these use a social graph and both are useful in Plone
generally.

Module 3: an import mechanism. Extends the invite/share interface by
allowing you to login to another service and pick the people rather than
type the email.

Module 4: a social graph module that uses the invite. Has an invite friends
page, uses the invite and import. On call back it records the relationship
in Plone.relations. has a UI for you to view, add, remove etc. Shouldn't
require membrane or anything.

Module 5: Integration of search with social graph. Ability to create
collections that show content owned by those in some relation to you. Not
sure how generally useful this would be.

Module 6: social graph sharing. PASplugin that allows groups to be defined
by relations to you. Would allow the usecase where you can share documents
with "close friends" and then go classify your friends as "close friends".
User groups could be used to implement this. This should allow enough
flexibility of privacy.


Flexible Profiles is already provided by other mechanisms such as membrane.
It's going to change with every app so its more an integration issue. I
don't think it should be included.

Messaging has also been covered before in other products. I'm not sure its
an essential part.

User action logging has also been mentioned (facebook stories). I'm not sure
if that's generally useful. It would probably be best done logged to a
relational database.

My thought is that we want the most essential ingredients that are currently
missing. And make it so that putting them together to make facebook wouldn't
be too hard, or just using single bits would work too.

Rudá Porto Filgueiras (ruda_porto)

unread,
Mar 5, 2008, 11:34:28 AM3/5/08
to Plone Social Networking
I agree with Dylan, creating basic modules/components using Zope3
(Interfaces, Adapters and Utilities) to encapsulate the
implementations details.

After that we can do more zopeish/ploneish things (browser/layers/
viewlets), PAS, etc.
Dylan, you can create a new page and put a link to it ;-)

Christian Scholz

unread,
Mar 6, 2008, 1:10:05 PM3/6/08
to Plone Social Networking
Hi!



On Mar 5, 5:09 pm, "Dylan Jay" <dja...@gmail.com> wrote:
> I could edit your work but then what if we disagree?

Well, this page is mainly meant for adding stuff. It's losely
structured and it's mainly a place to collect all our ideas.
My plan was to later on group some ideas into modules, projects or
products.
For a way to group these ideas I guess a new page is better.

As a general way I think discussion about pages should be here on the
list and once
we reach consensus it can be edited in. Alternatively discussion can
be added to the end of the page.

> My thinking is we can layer this into modules. Some of which depend on each
> other and some can be used alone. Using as much zope3 tech as possible would
> be good. If all of our needs are to create new sites then it makes sense to
> work with plone3. It is stable. It does require more learning but that is
> worth it for the increased ability to modularise things and have them work
> together. Viewlets for instance all one module to add its own elements
> anywhere on the screen instead of just a portal for instance, and without
> having to mess with Plone templates and cause huge headaches in upgrading.

I agree, Zope 3 and Plone 3 both sounds good to me.

As for the modules that's of course a good idea and having a lot of
smaller components is the way to go.
If some them can even be used outside a social networking scope the
better.

> Module 1: I think the most basic module would be an invitations as that
> doesn't require any social graph.
> It would be a utility with the api
>
> invite(username, callonRegistration)

I am not sure this is the Plone way. I'd think that there will be some
page or component
registered which then handles the rest when the person invited
registers. Maybe it's even an
invite object somewhere holding status information.

> Module 2: a localrole integration that lets you share a single content with
> an email address. It uses the inviteutil.

You mean it's invisible to everybody but the one who gets a special
link via email?

> So far neither of these use a social graph and both are useful in Plone
> generally.
>
> Module 3: an import mechanism. Extends the invite/share interface by
> allowing you to login to another service and pick the people rather than
> type the email.
>
> Module 4: a social graph module that uses the invite. Has an invite friends
> page, uses the invite and import. On call back it records the relationship
> in Plone.relations. has a UI for you to view, add, remove etc. Shouldn't
> require membrane or anything.
>
> Module 5: Integration of search with social graph. Ability to create
> collections that show content owned by those in some relation to you. Not
> sure how generally useful this would be.
>
> Module 6: social graph sharing. PASplugin that allows groups to be defined
> by relations to you. Would allow the usecase where you can share documents
> with "close friends" and then go classify your friends as "close friends".
> User groups could be used to implement this. This should allow enough
> flexibility of privacy.
>
> Flexible Profiles is already provided by other mechanisms such as membrane.
> It's going to change with every app so its more an integration issue. I
> don't think it should be included.

Well, I see membrane or products building on it as one of these
modules.
We at least need some way to interface with the information. Regarding
Data Portability we might even need to extend this somehow with
permissions (who is allowed to see my email, realname, phone number
etc.). While the technical part is maybe solved I think we should at
least include the policy part.

There is also a PSPS task for it: http://dev.plone.org/plone/ticket/7844

> Messaging has also been covered before in other products. I'm not sure its
> an essential part.

Sure but I still would like to list those use cases. If we then say,
"look at X" then it's also ok.

>
> User action logging has also been mentioned (facebook stories). I'm not sure
> if that's generally useful. It would probably be best done logged to a
> relational database.

Probably.. this is quite a new field anyway and the question is even
how to broadcast it to your friends on different sites.
But that's something for later I think.

> My thought is that we want the most essential ingredients that are currently
> missing. And make it so that putting them together to make facebook wouldn't
> be too hard, or just using single bits would work too.

I think the most complex part would be the facebook part itself
then :-)

And I am all for creating small and reusable modules/components.

cheers,

Christian

Dylan Jay

unread,
Mar 8, 2008, 2:49:35 AM3/8/08
to plone-socia...@googlegroups.com
> -----Original Message-----
> From: plone-socia...@googlegroups.com [mailto:plone-social-
> netwo...@googlegroups.com] On Behalf Of Christian Scholz
> Sent: Friday, 7 March 2008 5:10 AM
> To: Plone Social Networking
> Subject: Re: View this page "Brainstorming"
>
> > Module 1: I think the most basic module would be an invitations as that
> > doesn't require any social graph.
> > It would be a utility with the api
> >
> > invite(username, callonRegistration)
>
> I am not sure this is the Plone way. I'd think that there will be some
> page or component
> registered which then handles the rest when the person invited
> registers. Maybe it's even an
> invite object somewhere holding status information.

Not sure what you mean.
Do you mean that part of the invitation workflow should include redirecting
the invited person to a certain page once they are registered?
My suggestion is that this be a base utility that other modules can use.
Allowing for integration to allow certain actions including modifying the UI
for a newly registered invitee would be a use case for that.


>
> > Module 2: a localrole integration that lets you share a single content
> with
> > an email address. It uses the inviteutil.
>
> You mean it's invisible to everybody but the one who gets a special
> link via email?

That would be one use case. Another is where you share the Editor role with
someone. Or reviewer.
For an example of how useful this is check out http://docs.google.com

> > Flexible Profiles is already provided by other mechanisms such as
> membrane.
> > It's going to change with every app so its more an integration issue. I
> > don't think it should be included.
>
> Well, I see membrane or products building on it as one of these
> modules.
> We at least need some way to interface with the information. Regarding

The intent was to be as loosly coupled as possible. I've tried in the past
use membrane to store friend relationships etc. In the end its pulling in a
lot code when all that's required is a utility and a lightweight UI to store
so data on users. If we store the different aspects of user information in
different places then I think will run into less problems later on with
relying on obsolete or changing code.
For instance. The invite component needs only to look up users by email
address, or perhaps to store and retrieve temporary keys. It doesn't need
complicated user information.
The social graph component deals just with relationships between users. It
can list users showing just the profile pic and name that the default Plone
membership data contains. And an integrator can override this to provide
more.


> Data Portability we might even need to extend this somehow with
> permissions (who is allowed to see my email, realname, phone number
> etc.). While the technical part is maybe solved I think we should at
> least include the policy part.

Well every social site is going to have different fields. So unless we want
to create a form system I suggest integrators use one that exists already.
Arcetypes for instance provides a way to set permissions on viewing and
editing individual fields I believe. So what kind of policy do you want to
support that isn't already available?

Are you saying that you want to let users set their own permissions on who
can view individual fields? That would be kind of like the share tab that
already exists for Plone content objects... but for fields. Is that the use
case you're thinking of?



> There is also a PSPS task for it: http://dev.plone.org/plone/ticket/7844

Sure. Membrane into the core would be helpful. But it works fine as a
solution to providing profiles now. Is there anything other than perhaps
user configured permissions on fields, that isn't handled by membrane or
some other form solution?

>
> > Messaging has also been covered before in other products. I'm not sure
> its
> > an essential part.
>
> Sure but I still would like to list those use cases. If we then say,
> "look at X" then it's also ok.

Do you mean that we recommend a third party solution to this problem? Yeah
we could do that. I see the goals of this effort to provide the missing bits
of functionality rather than creating a buildout to provide a working
facebook like site. People need out of the box ecommerce sites. Who needs
out of the box social network sites?



> >
> > User action logging has also been mentioned (facebook stories). I'm not
> sure
> > if that's generally useful. It would probably be best done logged to a
> > relational database.
>
> Probably.. this is quite a new field anyway and the question is even
> how to broadcast it to your friends on different sites.
> But that's something for later I think.
>
> > My thought is that we want the most essential ingredients that are
> currently
> > missing. And make it so that putting them together to make facebook
> wouldn't
> > be too hard, or just using single bits would work too.
>
> I think the most complex part would be the facebook part itself
> then :-)

??

hauser

unread,
Mar 9, 2008, 1:07:19 AM3/9/08
to Plone Social Networking
Hello all,

I'm really glad to see this initiative and I hope to contribute to it.

On Mar 7, 11:49 pm, "Dylan Jay" <dja...@gmail.com> wrote:

> Do you mean that we recommend a third party solution to this problem? Yeah
> we could do that. I see the goals of this effort to provide the missing bits
> of functionality rather than creating a buildout to provide a working
> facebook like site. People need out of the box ecommerce sites. Who needs
> out of the box social network sites?

Seems like the over 185,000 social networks that have been created on
Marc Andreessen's Ning.com
demonstrate a need for OOTB social network sites (http://blog.ning.com/
2008/02/185000_social_networks.html).
But providing just the missing bits sounds fine too.

As a documented, generic platform for building social networks, Ning
might be a useful source of ideas. (http://developer.ning.com/wiki/
Main_Page)

Michael

Dylan Jay

unread,
Mar 9, 2008, 9:37:12 PM3/9/08
to plone-socia...@googlegroups.com
> -----Original Message-----
> From: plone-socia...@googlegroups.com [mailto:plone-social-
> netwo...@googlegroups.com] On Behalf Of hauser
> Sent: Sunday, 9 March 2008 5:07 PM
> To: Plone Social Networking
> Subject: Re: View this page "Brainstorming"
>
>

Good point. Could you review their model and see what ours is missing?

I also had a quick look at the opensocial hosting api. This is what is
required to be implemented by an opensocial container and also provides a
good model to base things on.
It had an emphasis on activities (facebook stories). How important is that
for everyone?

I haven't looked at the facebook api yet.

Has anyone written a facebook app or used opensocial yet?

The usebase for this I'd be interested in is making a social network ontop
of Plone, and then taking parts of it and making it into a facebook app so
people use the app stand alone or via facebook. Are there other external api
use cases?


> Michael
>
>

Nate Aune

unread,
Mar 9, 2008, 9:08:29 PM3/9/08
to Michael Hauser, Ross Patterson, Rocky Burt, Lennart Regebro, Plone Social Networking, bostonj...@googlegroups.com
There's a lot of social networking functionality that I'd like to roll
into bostonjazz.net so if we can coordinate those efforts with this
initiative that would be preferable.

Nate

--
Nate Aune - na...@jazkarta.com
http://www.jazkarta.com

Dylan Jay

unread,
Mar 9, 2008, 11:00:31 PM3/9/08
to plone-socia...@googlegroups.com, Michael Hauser, Ross Patterson, Rocky Burt, Lennart Regebro, bostonj...@googlegroups.com
Great. More usecases the better.

I created a page where everyone can write a description of their sites and
the needs. Please add your requirements their, along with everyone else.
Then we can start to see patterns.

> -----Original Message-----
> From: plone-socia...@googlegroups.com [mailto:plone-social-
> netwo...@googlegroups.com] On Behalf Of Nate Aune
> Sent: Monday, 10 March 2008 12:08 PM
> To: Michael Hauser; Ross Patterson; Rocky Burt; Lennart Regebro
> Cc: Plone Social Networking; bostonj...@googlegroups.com
> Subject: Re: View this page "Brainstorming"
>
>

Christian Scholz / Tao Takashi (SL)

unread,
Mar 10, 2008, 6:33:53 PM3/10/08
to plone-socia...@googlegroups.com
Cool! Taking shape here :-)

I am just wondering if we shouldn't collect all this on the branstorming page maybe as well and then create more detailed use cases for them. I might propose a form for them tomorrow based on Mr. Cockburns template.

Many things are not that clear to me right now and I think it will get clearer when there are more details on the sequence of actions.

As for all the roles and elements involved in the to be done model I would propose that we use interfaces for everything. Behind a actor interface we can then put some membrane user or something else later.

So we need to define some abstraction here. I also hope that at least Nate and I can have some discussion at the Sorrento sprint about it :-)

I will mail some more tomorrow and will also try to add some further ideas to the wiki.

Again good to have so much activity here. Seems that Plone indeed is missing such things.

-- Christian
--
Christian Scholz
Tao Takashi (Second Life name)
taota...@gmail.com
Blog/Podcast: http://mrtopf.de/blog
Planet: http://worldofsl.com

Company: http://comlounge.net
Tech Video Blog: http://comlounge.tv
IRC: MrTopf/Tao_T

Dylan Jay

unread,
Mar 10, 2008, 7:32:14 PM3/10/08
to plone-socia...@googlegroups.com

Sounds good, I think the more real use cases we have, the better chance we have of having a useful framework. If there are 4 other people like me, with a very specific site in mind then I think the commonalities would form a good start to a framework (and hopefully lesson the development effort for all of us). If we can always tie a requirement back to at least one stakeholders concrete need it will also save time in discussion over abstract ideas that perhaps are never going to be used.

 

So who here does have a specific site in mind or upgrade to a site? And who can commit some development effort?

 


Dylan Jay

unread,
Mar 10, 2008, 7:34:23 PM3/10/08
to plone-socia...@googlegroups.com

Commit is a strong word. I meant, who can see themselves developing code for plonesocial should the framework fit their needs (which it will)?

 


Nate Aune

unread,
Mar 10, 2008, 7:56:18 PM3/10/08
to plone-socia...@googlegroups.com
> So who here does have a specific site in mind or upgrade to a site? And who
> can commit some development effort?

I've been lurking up to this point, but wanted to send a brief message
(I'm preparing my Plone symposium talks and don't have a lot of time
at the moment) to say that we are very interested in using Plone as a
social networking platform, and intend to put some development effort
into a site that we are building to serve jazz musicians in Boston.
I'll post more details once I get back from the Symposium.

Thanks Christian for taking the initiative to set up this group!
Looking forward to some good discussions on the list. Not sure yet if
I will make it to the Sorrento sprint.

Nate

company: http://jazkarta.com
blog: http://nateaune.com
twitter: http://twitter.com/natea

Christian Scholz / Tao Takashi (SL)

unread,
Mar 11, 2008, 8:00:29 AM3/11/08
to plone-socia...@googlegroups.com
Hey, make sure you come!
We can ustream a discussion from there with the others being able to take part in ;-)

-- Christian
Reply all
Reply to author
Forward
0 new messages