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

Martin Langhoff martin.langhoff at gmail.com
Mon Jun 2 17:37:56 EDT 2008


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