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

Greg Smith (gregmsmi) gregmsmi at cisco.com
Mon Jun 2 12:36:20 EDT 2008


Hi Martin,

Thanks a lot for the review. I copied your reply to the Uruguay edublog
volunteer list: uruguay-XO-coordination at googlegroups.com

I will use that list to work with end users and for internal project
tracking. That said, anyone can join. It's Spanish and English and
occasionally I post in Spanglish :-)

Tarun is traveling to India this week. Hopefully he or an engineer in
Montevideo can reply in a few days and we will work out the technical
details and server related software questions here.

A few preliminary questions.
1 - I'm not clear on what you are saying here: "DB - assume Postgres 8.x
series, support mySQL"
Is it PostGres or MySQL? (btw we already brought up a box w/MySQL, so
hopefully it will be easy to copy tables and queries over).

2 - Should we have our own table in a single DB that is shared by Moodle
and all other apps or do need our own DB. I think the DB will be used
for storing who posted what blog where, pending blogs and all that kid
of persistent data. Tarun may have other comments on what he needs in
the DB. We'll do no user auth or identity tracking until we know your
high level plan. Fall back in case that's not cooked by August is
cookies or worst case no identity and everyone looks the same.

3 - We will bring up another XS and will put it on the internet. This
will be our primary pre-production server (e.g. we may use it for final
beta test). Let me know if anyone has any concerns about that. Tony who
worked on Nepal early on will image it and ship it to a co-lo and we'll
manage it from there. Tony needs the recommended specs: 
HW - memory, capacity disk drives, USB ports, NICs, etc. 
SW - Moodle, Squid, etc. Anything beyond what you get with the XS image
(e.g. do we need to install Apache and PHP). I'm not sure how we will
track the F7 dependencies, but I hope the sys admins can think about
that (still accepting more volunteers too ;-). Tony has notes from the
first time, so he says its no problem to take Wad's (or Martin's now)
latest build and go from there. 

The HW and SW specs answer may be RTFM so don't hesitate to send a link.
I'm asking to get the latest thinking. I'll update the wiki as needed
once I'm sure I have the right info. 

Also, does anyone have the HW specs of the XS boxes deployed in Uruguay?
I'll ask elsewhere if no one on this list has it.

Thanks,

Greg S

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

On Wed, May 28, 2008 at 1:47 AM, Greg Smith (gregmsmi)
<gregmsmi at cisco.com> wrote:
> On the school server plan, keep us posted on identity scheme. I'm 
> moving ahead with EduBlog project. One intern (Tarun) is on board and 
> a probably a few volunteer programmers in Montevideo. I hope we can 
> send much more details on the design proposal and get your comment and

> buy in soon. Current thinking (Spanish and English below) is at:
> http://wiki.laptop.org/go/Blog_Educativo_Plan_del_Proyecto
>
> Comments and questions welcome.

Here's my notes

Blogging proj review

Good blueprint :-) My notes are complementary to what you have there.
Most are general webapp "XS-fication" rules :-) we should polish a bit
and move to a wikipage

* Don't count on an admin UI. I am trying to minimise those - and "no
special admin UI" is a goal here. Technical options must be
automatically preset (perhaps with the country customisation of the XS),
less technical options are under the control of teachers.
* Users can just go to "school" (resolves to homepage of the XS - we
should have that localised - escuela - too) and click on the "blog"
link :-)
* Keep track of dependencies - be conscious of whether F7 has the
modules/libraries you need or they need to be packaged, and whether the
current XS build has them.
* Webserver - assume apache for the time being, but we may change this
later. Not a big problem hopefully - * DB - assume Postgres 8.x series,
support mySQL. This is what we have right now, performance is on par w
mySQL and has an excellenttrack record where it comes to data
preservation in the face of power loss and kernel panics. Bonus points
if you can support Pg 8.3 (which changes some CAST semantics - ouch) *
Languages: XS will have mod_php and mod_python, as well as libs to make
both languages usable. If you can, stick to those.
* Avoid daemons and heavy cronjobs - if you have cronjobs, make them
check whether there's a job for them to do in the cheapest way possible.

Blog sync notes: When you are working on the sync of blog entries, I
would suggest to keep a queue of actions/blogs/comments that need to be
sync'd from the XS to the external blog. Assuming the XS-to-internet
connection is unreliable, high latency and low bandwidth, that queue can
drive the proces with minimum traffic, and simple "retry" strategies.

The remote end should make the retries safe because the XS could be
retrying actions that succeeded (but that the XS never heard the ACK
for). Perhaps something in the protocol that identifies the
"transaction" uniquely (so the remote end keps track of recent
successful transactions).

If you do use an identifier, don't make them sequential :-)

Im not sure what the editing/publish-to-XS UI will look like, but you
might want to have a simple version of the above strategy in the XO.

One thing conspicuously missing (not from your plan but from mine :_-)
) is "how do we identify teachers and administrators", "how do we relate
teachers with 'courses'" which is something we are trying to flesh out
ATM.

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