Remove need for .lernid configuration files

Bug #533279 reported by Nathan Handler on 2010-03-06
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Lernid
Medium
John S. Gruber
lernid (Ubuntu)
Undecided
Unassigned

Bug Description

Currently, in order to utilize lernid, a .lernid configuration file must be created and submitted for each event. The file currently looks like this:

[Ubuntu Example Week]

homepage = https://wiki.ubuntu.com/UbuntuExampleWeek
icalurl = http://www.google.com/calendar/ical/canonical.com_96jtlbrmpltiogmjhlgl3rd0o0%40group.calendar.google.com/public/basic.ics
classroom: jono-test
chat: ubuntu-classroom-chat
eventstart: 2009-12-21 12:00:00
eventend: 2009-12-25 15:00:00

I can understand wanting to support configuration files for when lernid is used outside of the Ubuntu classroom, but for the lernid we use in Ubuntu, I think we can change it so that event leaders no longer need to worry about the config file. This is what I propose we do:

1) Patch the version of lernid we include in Ubuntu (by using patches, not modifying the actual code directly) to set the icalurl to the Learning Events calendar (which will be used for all sessions that take place in #ubuntu-classroom), set the classroom to ubuntu-classroom, and set the chat to ubuntu-classroom-chat.

2) Actually modify lernid so that it retrieves the event name from the Event field in the description of the calendar, and uses the Event fields instead of needing an eventstart and eventend.

3) We would add a Homepage field to the description field of the calendar that lernid could use to find the Homepage of events.

4) Any session without an Event field listed will get placed under a Dummy event in lernid

5) This would mean that the lernid configuration file would only contain icalurl, classroom, and chat, and all of these would be set (by a patch) in Ubuntu to the correct values. This would eliminate the need for event leaders to create and submit a .lernid configuration file. They would just need to ensure that their sessions are listed on the ical.

Related branches

Changed in lernid:
status: New → Confirmed
Nathan Handler (nhandler) wrote :

Michael,

We've talked on IRC a few times about this. It seems that it is definitely possible to eliminate the need for the .lernid configuration files. Could we possibly get this change implemented? Without it, none of the packaging training sessions will work with lernid. It also makes it more difficult to get events added to lernid and make changes to the events if necessary.

Michael Budde (mbudde) wrote :

@Nathan: As a workaround until I get this fixed, what about adding a section like this to the .lernid config file:

[Ubuntu Classroom]
icalurl: http://url.to/classroom.ical
homepage: https://wiki.ubuntu.com/UbuntuClassroom
classroom: ubuntu-classroom
chat: ubuntu-classroom-chat
eventstart: 2010-01-01 00:00:00
eventend: 2011-01-01 00:00:00

Nathan Handler (nhandler) wrote :

The solution is not perfect, as the true event names would not be displayed. However, they will still be visible in the /topic. I guess this solution is ok as a temporary workaround, since people will at least be able to see the schedule of classroom events and use lernid with them. The icalurl for the calendar is:
http://www.google.com/calendar/ical/canonical.com_qg6t4s8i7mg8d4lgfu9f93qid4%40group.calendar.google.com/public/basic.ics

Thanks a lot Michael.

Changed in lernid:
assignee: nobody → Nathan Handler (nhandler)
status: Confirmed → In Progress
Changed in lernid (Ubuntu):
status: New → In Progress
assignee: nobody → Nathan Handler (nhandler)
Changed in lernid:
status: In Progress → Confirmed
Changed in lernid (Ubuntu):
status: In Progress → Confirmed
Changed in lernid:
assignee: Nathan Handler (nhandler) → nobody
Changed in lernid (Ubuntu):
assignee: Nathan Handler (nhandler) → nobody
John S. Gruber (jsjgruber) wrote :

I'm sorry, but I don't understand about the Event field in the calendar. Is this also a new field? How is it tied to a series of sessions?

I thnk I'd like Lernid, even if grabbed from our upstream repo, to avoid surprise to the user. I'm also concerned about the possibility of lernid being synced to the Ubuntu repo without an Ubuntu patch being supplied and the confusion that could cause. Perhaps this could be done by defaulting to the Ubuntu irc rooms and the above default Ubuntu calendar if run under Ubuntu, and connect to new, default lernid rooms with a hard-wired, one event calendar, if run under a different OS. If others wanted to use Lernid we, or they, could patch in additional tests to determine their default calendar location. If we do this we should allow users to specify both the classroom (--classroom) and classroom-chat room (undefined) to be used.

In any event, I certainly would like to make it easier to schedule learning events.

Jono Bacon (jonobacon) wrote :

I think the best approach would be to ship a series of .lernid files that outline how to get connected to an event but then the event name is in the ical description.

So as an example, we could ship this .lernid file:

[Ubuntu Classroom]
icalurl: http://url.to/classroom.ical
homepage: https://wiki.ubuntu.com/UbuntuClassroom
classroom: ubuntu-classroom
chat: ubuntu-classroom-chat

but then for each event in the description there would be:

[EVENT: Ubuntu Open Week]
[SLIDES: http://jonobacon.org/files/presentation.pdf]

When Lernid starts it would present the different classrooms to connect to (read from the .lernid files), the user selects a classroom, and then Lernid processes all of the events and groups together events with the same Event name.

This approach would rely on classroom sessions having the exact same event name, but I think this is reasonable, and it would allow Lernid to not need to be patched. This solution does not include start and end dates for the events, but I am not sure if that is such a big deal.

Changed in lernid:
importance: Undecided → Medium
John S. Gruber (jsjgruber) wrote :

I've posted a new blueprint for this to see if I have your idea, Jono, and stuck in a possible addition.

Jono Bacon (jonobacon) wrote :

Thanks, John! Is this something you would be interested in working on?

Nathan Handler (nhandler) wrote :

We are usually fairly good about making sure all sessions in an event have the same name. So having Lernid assume that the Event name will be the same is fine. The tricky part is, for something like Ubuntu Open Week, which occurs twice each year, you would not want to display sessions from prior Open Week events in the schedule. At the same time, for events like the Packaging Training Sessions, which happened once each week (when they were occurring regularly), I think showing that there is another session scheduled for next week would be nice. Maybe only show the previous n and next m sessions in the list, and then have the list automatically scroll down to the current session.

Also, I think we already sorted this out, but we do not include the []s around lines in the ical. I think we made them optional a while ago in Lernid, but this should be double checked.

I also like the idea of having the config files ship with lernid rather than pulling them from a remote server. Maybe add a feature to allow the user to manually configure a new classroom for lernid from within lernid.

It might also be nice to pull the classroom URL from the ical's description. We have not used this calendar description in Ubuntu, but having https://wiki.ubuntu.com/Classroom mentioned in there seems fine to me. This would mean one less value that would need to be hard-coded into the config file.

On Mon, Jun 6, 2011 at 2:07 PM, Jono Bacon <email address hidden> wrote:
> Thanks, John! Is this something you would be interested in working on?

Yes, I'd be willing to work on it and see how far I can get.

@Nathan and Jono: Is there anyone else who should look at the first
blueprint? (e.g. someone from classroom-es?)

@Nathan: I'll try to adjust the blueprint to reflect your suggestions

Jono Bacon (jonobacon) wrote :

On Tue, 2011-06-07 at 15:39 +0000, Nathan Handler wrote:
> We are usually fairly good about making sure all sessions in an event
> have the same name. So having Lernid assume that the Event name will be
> the same is fine. The tricky part is, for something like Ubuntu Open
> Week, which occurs twice each year, you would not want to display
> sessions from prior Open Week events in the schedule. At the same time,
> for events like the Packaging Training Sessions, which happened once
> each week (when they were occurring regularly), I think showing that
> there is another session scheduled for next week would be nice. Maybe
> only show the previous n and next m sessions in the list, and then have
> the list automatically scroll down to the current session.

My recommendation is that Lernid never shows sessions that happened in
the past - it really doesn't serve much of a purpose. This way you would
never see the Open Week sessions for the previous event, and by and
large we are never that prepared for future events, and in any case it
would still be fine to see up-coming events months away.

> Also, I think we already sorted this out, but we do not include the []s
> around lines in the ical. I think we made them optional a while ago in
> Lernid, but this should be double checked.

Ahhh, cool!

> I also like the idea of having the config files ship with lernid rather
> than pulling them from a remote server. Maybe add a feature to allow the
> user to manually configure a new classroom for lernid from within
> lernid.
>
> It might also be nice to pull the classroom URL from the ical's
> description. We have not used this calendar description in Ubuntu, but
> having https://wiki.ubuntu.com/Classroom mentioned in there seems fine
> to me. This would mean one less value that would need to be hard-coded
> into the config file.

Fine with me.

 Jono

--
Jono Bacon
Ubuntu Community Manager
jono(at)ubuntu(dot)com
www.ubuntu.com : www.jonobacon.org
www.twitter.com/jonobacon : www.identi.ca/jonobacon

John S. Gruber (jsjgruber) wrote :

Minor item re: Jono's changes to the blueprint:

My thought on old sessions is to leave some on the list so that people might notice missed sessions of interest and look for them in the future (maybe by subscribing to the classroom calendar).

I understand we don't want to confuse anybody with sessions from prior events with the same name, though, and need to bring focus in the list (scroll) to the current session so our students aren't inconvenienced by the presence of old sessions on the list.

Jono Bacon (jonobacon) wrote :

On Thu, 2011-06-09 at 16:14 +0000, John S. Gruber wrote:
> Minor item re: Jono's changes to the blueprint:
>
> My thought on old sessions is to leave some on the list so that people
> might notice missed sessions of interest and look for them in the future
> (maybe by subscribing to the classroom calendar).
>
> I understand we don't want to confuse anybody with sessions from prior
> events with the same name, though, and need to bring focus in the list
> (scroll) to the current session so our students aren't inconvenienced by
> the presence of old sessions on the list.

Maybe it could show sessions from the last week - this should be a
manageable list and cover most learning events (they are usually no
longer than a week long).

 Jono

--
Jono Bacon
Ubuntu Community Manager
jono(at)ubuntu(dot)com
www.ubuntu.com : www.jonobacon.org
www.twitter.com/jonobacon : www.identi.ca/jonobacon

Changed in lernid:
status: Confirmed → In Progress
assignee: nobody → John S. Gruber (jsjgruber)
Changed in lernid:
milestone: none → 0.8.2
Changed in lernid:
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (8.2 KiB)

This bug was fixed in the package lernid - 0.8.2.2~lr2

---------------
lernid (0.8.2.2~lr2) oneiric; urgency=low

  * Oneiric release. (LP: #844923)
  * Merge changes to convert from python-central to dh_python2

lernid (0.8.2.2) natty; urgency=low

  * Ready for release

lernid (0.8.2.1) natty; urgency=low

  * Make schedule a bit easier to read by making font used for instructors one size smaller

lernid (0.8.2) natty; urgency=low

  * Add 'avoid-desktopcouch' debugging option.

  * Remove #ubuntu-classroom-es. Assign correct calendar to #ubuntu-charlas

  * Document the following merges in debian/changelog:

  * Add instructor names to schedule.

  * Add option -d (--debug) for message received and members changed events as
      well as for all other verbose messages. Makes --verbose less verbose.
      Fixes LP: #816080.

  * Couch desktopcouch in try: clause; ignore desktopcouch database if
      unavailable. Fixes LP: #795138 and LP: #516619 by this circumvention.

  * Use a config file as backup for desktopcouch. Window sizes and pane settings
      will not be restored. The config file is recreated each time lernid
      is run, whether or not desktopcouch is available.

  * Get the events from /etc/lernid-classrooms.d/* rather than from the
      Internet. Remove all but the last weeks events and scroll down
      to the current time. LP: #528870.

  * Add /etc/lernid-classrooms.d/ubuntu-classroom and
      /etc/lernid-classrooms.d/ubuntu-classroom-es

  * Add ubuntu-charlas chatroom choice. These implement the
      lernid-config-file-improvements blueprint
      basic requirements. Also fix LP: #533279 and LP: #793033.

  * Add button to open the slide file in the user's (external) browser.
      Add tooltip text to slide window giving the slide url.
      Resolves LP: #830856 and LP: #530817.

  * Add new [slidefile url] and [slidefile url 3] instructor commands to
      load a slide file during a session, and to load the slide file and then
      switch to the page.

  * Load slide file asynchronously using gio (rather than using threads).
      Again fixes LP: #530119. Fixes LP: #795347. Report downloading progress.
      Restablishes these two functions originally created by Peeyoosh
      Sangolekar.

  * Remove bold effect from the room names in the classroom and chatroom label.
      Include the '#' in the name, if someone had abbreviated it.
      Fixes LP: #806797.

  * Add a ZERO WIDTH SPACE and SIX-PER-EM SPACE following "QUESTION: " to help
      classbot pick out questions without regard to the word "QUESTION" as its
      language might not match the one lernid is using. Addresses LP: 808570.

  * Look for classbot messages in a case-insensitive manner. Mark its messages
      by making them italic. Fixes LP: #794126

  * Retrieve the value of "QUESTION:" from the session or the event. Look first
      for a question_token value in the session, then for a locale for the
      session, then for a question_token value for the event, then for a locale
      value for the event.

  * If locale is used and begins with es, translate QUESTION to spanish, otherwise
      leave as english.

  * Added a server variable to e...

Read more...

Changed in lernid (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers