Jun 19

Early this week I have set up a Moodle 2.0 beta server for wiki 2.0 testing.

http://potato.lsi.upc.edu/moodle20beta/

It still in development so not all features are implemented yet.

Any comment or feedback will be welcome.

Related Posts

May 14

I was wrong…. We have won!!

imslogo

IMS Global Learning Consortium has awarded our implementation of  Moodle Simple Learning Tools for Interoperability module in Best Interoperability Innovation category.

The are some other awarded spanish projects:

  • Silver Award: Agrega – Search, Find, Participate – Federated access to content in Spain education community
  • Best Learning Portal: MyUOC – Online Learning Environment
  • Best National Content Exchange: Agrega – Search, Find, Participate – Federated access to content in Spain education community

You will find the full list of awarded projects here

Congratulations to all people that have had Learning Impact this year!

Related Posts

May 11

IMS Learning Impact 2009 is holding at Barcelona this week.

Learning Impact 2009

I’m glad to announce that my Google Summer of Code project about developing a Simple LTI client for Moodle has been chosen as finalist for the Learning Impact Award :P I know I’m not going to win, but I’m very happy about the nomination becouse I have to take up again this project to hand in as my Master Thesis. This nomination is an extra motivation to continue working on it the next 5-6 month.

Here is the full list of finalists

Related Posts

Apr 27

One of our active projects is to backport Moodle 2.0 webservices to Moodle 1.9.

Because of all the differences between Moodle 2.0 and Moodle 1.9 we will have to put into practice some tricks. The following image is a diagram of the designed achitecture:

Moodle 1.9 Web Services architecture

We have added to Moodle 2.0 webservices architecture a couple of components to solve some problems.

Core Layer

Core Layer has nearly the same elements that Moodle 2.0 core layer, but these elements had not been evolved. There are methods that print success messages to the screen, database libraries print error messages too, etc. This is a big problem! We don’t want to re-program all these functions, it would be a waste of time.

External Layer

We will copy external layer from Moodle 2.0 to Moodle 1.9. We want to make easier the upgrade from Moodle 1.9 to Moodle 2.0, we have to publish the same functions with the same parameters. We will have to tune their implementation a little, some published functions only exist on Moodle 2.0 or have changed a little from the previous version.

Local External REST Server is a new component that will provide a REST webservice throught localhost. It will call external functions, serialize results and return them.

Connectors Layer

We will copy all connectors from Moodle 2.0 to Moodle 1.9 and develop a proxy to the local REST server. The External Proxy will define the same functions that Moodle 2.0 Connectors are calling to the External layer. The main idea is to change all requires/includes in connectors to invoke proxy’s methods. The proxy will call external functions via local webservice and return the result.

Why are we doing this odd and tricky things?

If Moodle 1.9 core prints something to the screen, it will break all webservices response. Using this architecture, the only message that will be broken will be the response of local webservice call. If the Proxy detects an error in the local call (it can unserialize the response), it would know how to proceed in every situation.

Related Posts

Apr 27

Moodle.com is betting seriously on adapt Moodle to provide services to external applications.

The main objective is to publish all interesting core functions as web services, therefore, other applications will be able to retrieve calendar events, Virtual Campus management applications will be build easily, etc.

During last year, I’ve been working with Ludo and other students to design and develop a prototype of these webservices. During last MoodleMoot at Barcelona, Martin validated the idea and, after some modifications, we started the development. I’m developing some components and coordinating a development team here in Barcelona, Jérôme Mouneyrac is coordinating the whole project from Australia, Petr Skoda is working on security issues, and other many people is contributing to this project.

Moodle 2.0 Web Services architecture

The image over these words is a diagram about the decided architecture.

We have designed a 3 layers architecture: Connectors layer, External layer and Core layer. I’m going to explain them a little right now:

Core Layer

Core layer consist of all the Moodle core libraries that contain interesting functions to publish: functions about users, courses, groups, calendar, etc.

This layer is being improved in Moodle 2.0 because many of these interesting functions were printing messages to the screen. Moodle had not an API, it had several useful functions that had been developed during last last years. Because of the need of the webservices we are doing a refactor of all these core libraries and it starts to look like an API. Moodle core does not print messages, it throws exceptions for errors and does not have void methods.

External Layer

External layer consist of several new files called external.php, placed all over Moodle directories. external.php files contain wrappers to the layer below.

These wrappers are responsible for checking capabilities and parameters, and call the correct core function(s).

Connectors Layer

Connectors Layer is consist of several connectors. This layer will have a REST connector, a SOAP connector, a XML-RPC connector and a AMF connector. This layer admits plugins so many connector could be build easy to intergrate other systems with Moodle using other protocols.

This layer will be only responsible of accepting http connections, creating sessions and act as a bridge with the external layer.

This post is only an overview of the whole architecture, I hope I’ll have some time to make a couple of posts about external and connector layers, the ones that will be new at Moodle 2.0 and the most interesting layers of webservices.

Interesting Links:

Related Posts

Nov 05

Topic

Wiki 2.0 project control meeting

Meeting length

16:00-18:30

Attendance

  • Pigui
  • Jana
  • Pep
  • David
  • Ken

Work Checking

  • Jana
  • Pep
    • Give up ewiki parser √
    • Start working WikiCreole parser development √
    • Upload mediawiki and nwiki empty parser to our git repository ×
  • David
    • Include original ewiki parser into migration process ×
    • Finish page migration script  √
    • Start with migration GUI design  √
  • Ken
    • Fix some issues detected during last meeting at historic page √
    • Include NWiki diff pages into Wiki2.0 √
    • Take a look to OU Wiki diff √

Discussed Topics

  1. Next week planning:
    Everybody will come to Monday meeting ad 9h
    Everybody will come to Tuesday working session at 15h
    Jana will come to phd seminar on Wednesday at 11h
    Davi, Ken and Pep will come to Wednesday working session at 17h
  2. No comments on Jana’s work. We will keep working as last weeks.
  3. Decisions made on parser behaviour:
    Don’t try to be too strict, it will cause eficiency problems
    Try other parsers in case of doubt. Don’t make assumptions.
  4. Migration topics
    Ewiki migration: adding ewiki parser to it has high priority
  5. We solved some desing problems on historic page
  6. OU Wiki implements my inline diff as I would like it to be. We must copy it.

Task Assignment

  •  Jana
    • Search for some existant methodologies
    • Create a Moodle Course Template for all our projects based on learned topics
  • Pep
    • Complete WikiCreole parser with links, headers and paragraphs [issue]
    • Upload an empty NWiki parser ASAP [issue]
    • Upload an empty MediaWiki parser ASAP [issue]
    • Create an HTML parser ASAP [issue]
  • David
    • Include original ewiki parser into migration process [issue]
    • Start developing migration GUI
  • Ken
    • Include OU Wiki diff into Wiki2.0 [issue]
    • Add some new “features” to historic page
    • Contact with our boss and show him implemented features

Next Meeting

10/11/08 at 9h

Next Meeting Porpose

Meet Petr Skoda

Related Posts

Nov 05

I’ve found some great photos at flickr this morning. Martin Dougiamas has uploaded some images from our meeting at Citilab.

Citilab meeting space by Martin Dougiamas.

These are the “boxes”

Pigui by Martin Dougiamas.

This is me!!

Ferran and David by Martin Dougiamas.

Ferran & David

Ludo by Martin Dougiamas.

and…. Ludo, my boss.

I have to find a photo from Martin to add it to this post…

Related Posts

Oct 31

 

This last week has been a very busy week. MoodleMoot came to Barcelona and more than 400 people arribed to our city, it has been the biggest Moot ever in Spain.

First day, inaguration at University of Barcelona’s historic building. Martin Dougiamas talked us about Moodle and Moodle 2.0 new features.

UB

 

There will be several interesting things at Moodle 2.0, IMS LD and CC will be included, some nice features for teaching, new Wiki and a new API/webservices.

 Picture 049 by Aduran.

Moodle 2.0 is expected at June 09, not January 09… so we have more time to re-develop our wiki, but we will have to give support to the unsupported NWiki for Moodle 1.9 for a long long time.

The rest of days MoodleMoot was placed at Cornella’s CityLab.

 Citylab

We had the occasion to met old friends and talk a lot of Moodle and our projects. We also had time to have a long meeting with Martin Dougiamas to talk about Moodle API and Web Services. He liked them very much! :) David and Ferran are doing a great job at architecture definition and its implementation. MD was so pleased that this project will be included directly to Moodle 1.9, not Moodle 2.0 as we expected!! :)

I would like to explain some more things, but… I so busy…

See you all at MoodleMoot Madrid 09.

Related Posts

Aug 18

I’ve been very busy these last weeks because GSoC and other projects I’ve been working on. But I’m so close to the end, so close to my deserved holidays!!

Simple LTI Module for Moodle is nearly finished and ready to send to Google. I implemented a basic Moodle module following Simple LTI spec (an IMS Global Learning Consortium’s LTI 2.0 approach) so there will be a lot of work to do in this new application next months.

Dr. Chuck (my SoC mentor, and Developer Network Coordinator at IMS and Sakai guru) has really good ideas but, unfortunately Moodle core is not as versatile as Sakai. I don’t want to hack Moodle core to develop some of this great functionalities. I prefer to dedicate the rest of the year to design and implement some of this features in a smart way, not in the tricky one.

There isn’t an official release of our module but you can check it out from our code repository (you will need a git client). I have created a new course a DFWikiLABS site called Moodle’s IMS Simple LTI Module where you will be able to find some more information and docs and a link to a test site where you will be able to see Simple LTI Module and Filter in action.

Related Posts

Jul 23

A long, long time ago we made a great project and we forgot about it.

Moodle reports show all systems logs in a table. It’s great but what can you do with that??

Nearly a year ago, Javi de la Torre integrated SIMILE timeline into Moodle.

 Timeline

So instead of see a plenty of data in a table in many pages, you can see all logs in a timeline inside a single page. Using mouse you can scroll along time and popup some bubbles for extra information.

I created a course in our Moodle for this project. As soon as I have some minutes I will configure it to give access all users to an online demo.

Related Posts