Re: [Sugar-devel] Regarding Social Help project

5 views
Skip to first unread message

Frederick Grose

unread,
Mar 11, 2014, 4:12:47 PM3/11/14
to sugar...@lists.sugarlabs.org, sugar-...@googlegroups.com
On Tue, Mar 11, 2014 at 8:12 AM, Prasoon Shukla <prasoon...@gmail.com> wrote:
Hi Sam,


On Tue, Mar 11, 2014 at 3:24 PM, Sam Parkinson <sam.par...@gmail.com> wrote:

Hi,

I agree, Discourse looks amazing! Just a few ideas to chuck around:

  • I think it would be nice to try to make the forums automatically login when using sugar. This could be done by storing a uuid and a key on the computer. When you go to the forum it could automatically log you in with your sugar username and uuid (but let you use a different account if you wish). I think this would be useful since:

    • Users probably want help quickly and this would mean less hoops
    • Keeping a uuid or key of some sort would still allow communication with the user. This could be just a little script that used the upcoming notification system
Yes, exactly. I was thinking of developing a python-ruby authentication bridge for discourse. We will need to get an account created though. This could be done the first time the user accesses social help. From then on however, we can save the session (much like a browser) instead of writing a script to log them in - so that we don't actually need to log them in - they'll already be logged in when they open the the help. I'll ask around the discourse community for the viability of this idea.
  • Also is Discourse real time / do you instantly get the updates without having to refresh? That would be cool

Yes. See this thread from a year ago (when discourse was still beta) :  https://meta.discourse.org/t/real-time-updates/5151 

I am really interested in this and would love to help.

Why, thank you! I'll let you know if anything comes up :)

Sam



On Tue, Mar 11, 2014 at 3:30 AM, Prasoon Shukla <prasoon...@gmail.com> wrote:
Note : I sent this message once before but it was moderated because it was too large. So, I'm replacing the inline images with links to the images/links to pages. I hope that this will be enough of a reduction in size.

Hi.

I talked to Walter on the IRC a few days ago regarding the social help project. We decided that I should explore FOSS forum software that is actively maintained for the social help project. So, I tried looking at some popular alternatives. The ones I found worth exploring are phpBBDiscourse and bbPress. I selected these specific forums because of their ease of use, functionality and the ease of getting a forum up and running.

To summarize things, Discourse appears to be clearly ahead of the other two in all things except in terms of the ease-of-installation. However, it has became much easier to install discourse now than it was a few months ago. In fact, they now provide a docker image that can be used to install discourse with relative ease. That said, bbPress wins in terms of ease of installation with a WordPress like setup process. phpBB is easy just as easy. Nevertheless, I think that this is a minor disadvantage in the bigger scheme of things.

Now, once installed, phpBB and bbPress are quite similar in functionality - so I'll just compare Discourse with phpBB instead of comparing with both.

  •  phpBB is very badly cluttered. This, I think, is especially bad when we're talking of getting children to use this software.  A single line posted by a user is presented together with a whole bunch of useless information :
That's one single line of information with quite a lot of clutter.
The topics page is even more cluttered. See this popular phpBB forum: http://forums.gentoo.org/

Now I know that with years of use, most of have gotten used to tuning out the uninformative parts but that won't be the case with children. Discourse does much better at this. See a sample discussion here: http://discuss.atom.io/t/custom-atom-icon-with-packages/2341
That in itself is good enough reason to use Discourse. But, I'll point out few more.

Of course, we'll need to modify core Discourse according to our needs as well. But in any case, the registration will be much easier with Discourse.

  • Making an actual post is much more difficult in phpBB. Again, this is because of too much unnecessary information - dealing with tags, bunch of miscellaneous options at the end and posting permissions. This causes much grief when your long written post just refuses to go through. Discourse is simpler. See this: http://picpaste.com/pics/forums5.1394468781.png

Aside from these three very fundamental things, there are few other good parts:

  1. No arbitrary page breaks, which I think is quite nice. Often I'll be immersed in reading a thread and the page just abruptly ends, which I quite dislike.
  2.  A great reply system - where you don't have to strain yourself to read that 6 level deep nested comment. More reading by Jeff Atwood here: http://www.codinghorror.com/blog/2012/12/web-discussions-flat-by-design.html
  3. Active development ongoing so we're likely to see some great upgrades in the coming out in the near future.
So, I'll vote for discourse.

Anyway, if we're willing to discuss proprietary options, then Moot (https://moot.it/) seems really nice. But then again, it's not open. However, Moot does provide both free and non-free options with a very easy setup. So ...
You can explore Moot here: https://moot.it/prasoon2211/ (it's my personal forum).

Anyway, that's my take on the social help feature. Comments are welcome.

Prasoon Shukla

PS: While proofreading this, I realized that this post reads like an advertisement for Discourse.
Oh well.

There is a Sugar Network,


that can provide social help and other services.

It would be good to consider how any new social help development could join, integrate with, or improve this ecosystem.

       --Fred

Prasoon Shukla

unread,
Mar 12, 2014, 2:26:25 PM3/12/14
to Frederick Grose, Sam Parkinson, sugar...@lists.sugarlabs.org, sugar-...@googlegroups.com
Hi Frederick, Sam.

Well, the way I imagine this project is that a user can launch into a Discourse discussion in a Browse activity. This activity can then be shared as any other activity - this part will not require any other specific changes to be made (if I understand your request correctly). We can, however, add links to the discussions on Discourse on the sugar-network website in the relevant places.

Anyway, I tried to think of a few ways in which we can preserve a user session across discussions. Finally, I've decided on the following flow:

1. Get the user to register the first time - this process is very easy and we can pick email directly from sugar. Then, the part before the '@' can be the default username for Discourse (this the user can of course change). The user will need to enter the password though.

2. Discourse will create a session for the user and send the browser the session information(cookies). Now, and this is a crucial point, I'll need to modify the browse activity to add a method that can will return session information (the session cookie) to the calling process. I'll call this method via DBus to retrieve the this information. We'll then store this in a configuration file.

3. The user can then close the browser. When the user opens the browser again:
  • we'll check if the session cookie exists.
  • if it does, then we do not need to write this cookie to the browser.
  • otherwise, we'll retrieve the session cookie from the config file and write it to the browser - this will need another method to be added to the browse activity.
This will log the user back in seamlessly without the need to fill in authentication information.

Now, if we go through with this implementation strategy, then our only concern at this stage will be whether the getCookie and setCookie can be implemented in the browse activity. Of course, getting and setting cookies can be done via JS in any webkit browser. So, I think it shouldn't be difficult to do this.

Now the decision remains whether to proceed with this course or not (in which case we'll probably need to talk to discourse devs about how to log users in directly with a PBKDF2 hash. Btw, they're using OmniAuth for authentication and they also provide quite a few authentication hooks to tweak authentication according to our needs, so it shouldn't be too hard ...).

@Sam, @Frederick: Please let me know of a decision on this.

Also, @Frederick, let me know if we need anything specific to sugar-network other than what I mentioned earlier.

Thanks
Prasoon

Gonzalo Odiard

unread,
Mar 12, 2014, 2:43:03 PM3/12/14
to Prasoon Shukla, Frederick Grose, Sam Parkinson, sugar...@lists.sugarlabs.org, sugar-...@googlegroups.com


_______________________________________________
Sugar-devel mailing list
Sugar...@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel




--
Gonzalo Odiard

SugarLabs - Learning Software for children

Frederick Grose

unread,
Mar 12, 2014, 2:45:30 PM3/12/14
to sugar...@lists.sugarlabs.org, sugar-...@googlegroups.com
On Wed, Mar 12, 2014 at 2:26 PM, Prasoon Shukla <prasoon...@gmail.com> wrote:
{...}
 
@Sam, @Frederick: Please let me know of a decision on this. 

Also, @Frederick, let me know if we need anything specific to sugar-network other than what I mentioned earlier.

I am not intimate with sugar-network, I only suggest that it may inspire some ideas on integrated social help. Its centrality to the OLPC Peru project gives it a foundation to consider.

I only hope for due consideration by you, your partners, and advisers.

        --Fred

Thanks
Prasoon

Reply all
Reply to author
Forward
0 new messages