[Server-devel] Edublog notes (was: Re: The road towards xs-0.3 - update)

Greg Smith (gregmsmi) gregmsmi at cisco.com
Tue Jun 3 09:27:54 EDT 2008


Hi Martin,

On the sanity check, that's not it :-( 

It my fault for not explaining it better! I really hope Tarun, Marcel
and Pablo are more in synch... It will be more clear once we get some
draft/static HTML pages in place.

I'll take some HTML editing help if anyone thinks they can mock up 3
static HTML Pages based on the text here:
http://wiki.laptop.org/go/Blog_Educativo_Plan_del_Proyecto

Here's another earlier write up which includes a network diagram which
may help explain the parts.
http://wiki.laptop.org/go/Educational_Blogger_Project

We do not plan to code, host, share or serve any blogs! All we will
build is a simple front end that let's users create a blog post and
click once to have it appear on a Moodle Blog, Blogger.com, Drupal etc. 

Kids enter content, clicks post and that's it. The back end SW running
on the XS takes that post and puts it on the blog e.g.
http://centenarioescuela38sg.blogspot.com/ 

The SW we will build on the XS may include Apache + PHP + DB for HTML
towards client and probably XML + RPC or SOAP towards blog API. There
will be three main web pages and we will build no client code on the XO
at all, just support Browse! I need it to be simple so we can build in 7
weeks.

Three web pages towards the client then APIs towards supported blog
systems on XS. That's everything. Let me know if that explains it better
or its still not clear.

I'll think about the database comments too. Let me see what fields and
tables Tarun thinks he needs and I'd like to get his input.

Tarun and Marcel, let me know ASAP if the description above is not
clear. I think we are in synch but it never hurts to re-ack (there's a
reason why TCP is a triple handshake :-).

BTW better book mark those two links. The main Uruguay page just got a
major re-edit and those links are now very hard to find. 

Other than that the new page is packed with info and links thanks to
Pablo! http://wiki.laptop.org/go/Uruguay

Thanks,

Greg S

-----Original Message-----
From: Martin Langhoff [mailto:martin.langhoff at gmail.com] 
Sent: Monday, June 02, 2008 5:38 PM
To: Greg Smith (gregmsmi)
Cc: server-devel at lists.laptop.org
Subject: Re: Edublog notes (was: Re: The road towards xs-0.3 - update)

On Tue, Jun 3, 2008 at 7:09 AM, Greg Smith (gregmsmi)
<gregmsmi at cisco.com> wrote:
> Sanity check on our high level concept.
>
> The core idea of this software is to present an easy to use interface 
> so kids can post to blogs. Enter text, click post you are done.

Yes, and that's fantastic. But if I understand it right, we are talking
about 3 stages:

1 - Blogging tool on the XO -

Something like Drivel, lets the user blog on the XO even while
disconnected. New articles and edits get placed in a queue and pushed
out when we see the XS. This needs Sugar integration work so it's a
candidate for a write-from-scratch effort or, more likely, a wrapping
around the abiword-based Write.xo .

2 - Blog on the XS

This should
 - display blog entries like a normal blog does
 - receive blog entries and edits from the xo-based tool
 - allow new blog entries and edits from a web UI
 - allow "approval" stages
 - "forward" blog entries & edits that are tagged 'public' to an
internet-hosted blog

Some of this aspects are _complex_, even if they sound trivial. So I
heavily recommend a pre-existing blog tool. Grab something that is good,
offers good APIs, is well maintained and known to be scalable.
And then patch it here and there to do what we want :-)

3 - Blog on the Internet.

This bit is not under our control ;-)

> Let me know if you have any comments or questions and I hope its clear

> now we are not building another blog hosting system.

Ok, so my understanding (and hope) is that you are building #1 above,
and patching an existing blog tool for #2.

> Back to the DB. The EduBlog web app needs a table to store its own 
> info (e.g. configured blog URLs, blog user name/pass, posts submitted 
> but not approved by teacher, options set for each student, etc.). 
> Should we store that in the same DB that moodle is already using and 
> just create some new tables or should we create a new DB for our own
use?

If you are talking about the queue of blog entries on the XO-based tool,
you will probably want to use sqllite. For the XS-based local
blog-and-foward tool, you _really_ need to get your head around how the
core tool works, and you'll find that you want to add a few columns here
or there. Most blog tools will already have a "Config"
table to hold configuration, so that's easy.

> In the future we may want to run a query on the moodle DB and web app 
> DB. E.g. get user name, class and school from Moodle DB then look up 
> configured blogs in web app DB.

IME the blog tool will expect to have a copy of the user profile to be
able to run joins across the data, and grab the relevant bits. So you'll
want to copy the "user profile" data into it, and lock down the "user
profile" editing in the blog tool itself.

It's a bit of work - I know - but it's very important that we avoid
reinventing the wheel. Building a blog is a huge job - easy to get
started, but pretty near impossible to get to the level of polish you
expect, and to keep it maintained long term.

If we reuse an existing blog, what we get is

 - a solid base to build upon
 - a pre-existing community that can help you, and that will keep
improving and fixing the blog for years to come
 - if you hit a bug, and fix it, it can be merged upstream
 - if you develop a useful enhancement - the review stage you mention
and the "forward to another blog" are good examples - it can be merged
upstream
 - a few customisations that are local to us - hopefully minimal

> BTW last time I wrote an SQL query it ran against Oracle 8 (AKA years
> ago) so let me know if my use of "DB" and "Table" is unclear or not 
> relevant for PostGres.

Database and table are more than relevant - they are crucial :-)

The most important thing is to pick the best upstream, understand it
thoroughly (warts and all), and develop a good relationship with the
existing upstream core dev team. If you guys get that right, the rest is
a SMOP :-)

cheers,




m
--
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list