OCW user favorites, BoFs, speakers list, sublists, remember me, database & prefetch

1 view
Skip to first unread message

Igal Koshevoy

unread,
Jun 2, 2009, 5:02:26 PM6/2/09
to Selena Deckelmann, Audrey Eschright, Reid Beels, osbridgepdx...@googlegroups.com
SUMMARY:
I'd like to deploy a new release tomorrow to production. Please poke
around the demo site and report any issues:
http://ocw.demo.opensourcebridge.org/

DETAILS:

1. User favorites -- These have been further refactored and optimized
for speed. There's also a new link on the user profile with a
conditional link to the user's favorites. I believe these are ready to go.

2. BoFs -- Not much has changed here. Reid is working to figure out new
site navigation to help guide users to submit new BoF proposals, but
otherwise this is done.

3. Speakers list -- New page listing speakers and their presentations:
http://ocw.demo.opensourcebridge.org/events/2009/speakers

4. Sublists -- Major rework of the details pages for individual users,
sessions, tracks, session_types, and rooms. These provide three
different displays of data: proposals before status is published, and
either a detailed list of sessions and a link-expanding set of proposals
or a concise list of sessions (as seen on users, schedule, etc). These
could use more QA.

5. Remember me -- With my fixes, you'll be able to login, restart your
browser, go back to the site, and still be logged in. The "remember me"
period gives you 2 weeks to continue logging in with the "remember me"
cookie. This cause was yet another issue in the OpenID auth code I'd
inherited, which I've now rewritten major portions of.

6. Database migration -- The MySQL migration has been working well. I've
improved and added rake tasks to provide generalized access so that you
can dump/restore the database regardless of what format it's in (MySQL
and SQLite now, but others should be easy to add). Using MySQL reduces
the likelihood of deadlocks under the increased number of writes
generated by the user favorites.

7. Prefetch -- The new views and major UI changes pushed as late as this
morning were causing some pages to take 5-10 seconds to generate, which
meant we couldn't use that code on production. I've pushed a
"with_prefetched_horrors" branch with my attempts to fix these by
conditionally changing how views get data. Singular views (e.g., a user
details page) traverse the object association graph, while collection
views (e.g., a list of speakers) use prepopulated defered data structure
callbacks to avoid unnecessary queries, association traversals and N+1
retrieves. This approach lets us use the same code for both kinds of
views but with completely different data access strategies optimized for
each situation. The specs on this branch are broken, the changes need
review, and the features need QA.

This is version running on the demo site has all these changes in it.
I'll resume work on this much later in the evening.

-igal

Amy K. Farrell

unread,
Jun 3, 2009, 2:53:36 AM6/3/09
to osbridgepdx...@googlegroups.com
Igal Koshevoy wrote:
> SUMMARY:
> I'd like to deploy a new release tomorrow to production. Please poke
> around the demo site and report any issues:
> http://ocw.demo.opensourcebridge.org/
>

Wasn't sure if this should be on- or off-list. It looks good to me, but
I'm poking around and noting anything that looks odd. Some is probably
specific to the demo site, and since I haven't done this in awhile I'm
out of touch with any expected quirks.


I picked a bunch of Favorites and then went to the "My favorites" page.
The Download and Subscribe links aren't working for me -- is this just a
function of the demo site? "Download" links to
http://ocw.demo.opensourcebridge.org/users/21/favorites.ics, and seems
as if nothing happens when I click it. "Subscribe" links to
webcal://ocw.demo.opensourcebridge.org/users/21/favorites.ics, which
does prompt Firefox to offer to open an application but the file comes
up empty.

The "My profile" page has changed in a way I suspect is unintentional.
On the live site the heading says "akfarrell.myopenid.com". On the demo
site it says "/users/21". The formatting is different, also (not better
or worse, just different).

The stars worked just fine for me. At first I thought their outlines
were too pale (didn't see them at first), but now they seem fine -- so
either you've updated while I was looking, or it's a screen-angle issue.

Why is there an option to sort by Status? I don't see the status listed
anywhere, so, um, I guess it's sorting correctly. ;-)
(I see this is the same on the live site.)

Bonus, off-the-wall feedback: the 404 pages need a little attention.
This caught my eye because when I click a link that doesn't exist on the
demo site, I see "Proposals" instead of "Sessions." Not so on the live
site, but the 404 pages have somewhat funky headers:

http://opensourcebridge.org/nosuchpage

OTOH, it's awesome that there's search on the site, and that it works!

- Amy


Amy K. Farrell

unread,
Jun 3, 2009, 3:14:28 AM6/3/09
to osbridgepdx...@googlegroups.com
Still more feedback...

Kudos - the speakers list looks great! I love that it includes the
Favorites functionality. This is very useful. In fact, if I'd noticed
this first, I might have used this page to pick sessions I want to see,
and then go back to the schedule to check for conflicts and empty slots.

Brian Aker's bio has some <br> tags in it that break the flow. It's
probably just something he pasted in, as it doesn't seem to be an issue
with anyone else's.

There does seem to be an issue with the favorites stars on the speakers
list, when the same session appears more than once. It seems that a
favorited session shows a filled-in star only once, on its first
instance. "Effective Code Sprinting" is a great example. I noticed this
because I'd checked "Spindle, Mutilate, ..." and noticed the star wasn't
filled in for it at the bottom of the page.

The schedule is terrific, too. I really like the session summaries that
pop up when you hover over a session. They're useful and non-invasive,
both here and on the Speakers page.

The Download/Subscribe links on the Schedule page *do* work for me, in
contrast to the ones on the My Favorites page.

That's it from me for tonight. (Yay.)

- Amy

Reid Beels

unread,
Jun 3, 2009, 3:30:17 AM6/3/09
to osbridgepdx...@googlegroups.com
> I picked a bunch of Favorites and then went to the "My favorites"
> page.
> The Download and Subscribe links aren't working for me -- is this
> just a
> function of the demo site? "Download" links to
> http://ocw.demo.opensourcebridge.org/users/21/favorites.ics, and seems
> as if nothing happens when I click it. "Subscribe" links to
> webcal://ocw.demo.opensourcebridge.org/users/21/favorites.ics, which
> does prompt Firefox to offer to open an application but the file comes
> up empty.

Interesting. This is working for me on the demo site.

> The "My profile" page has changed in a way I suspect is unintentional.
> On the live site the heading says "akfarrell.myopenid.com". On the
> demo
> site it says "/users/21". The formatting is different, also (not
> better
> or worse, just different).

I think I switched from using @user.label to @user.fullname in the new
layout for the users page. This might need to be changed back, or the
fallback behavior of fullname might need to be changed.

> The stars worked just fine for me. At first I thought their outlines
> were too pale (didn't see them at first), but now they seem fine -- so
> either you've updated while I was looking, or it's a screen-angle
> issue.

Before you're logged in, the stars show in a disabled state and pop up
an alert telling you that you should log in to use them. This state is
dimmer. :-)

> Why is there an option to sort by Status? I don't see the status
> listed
> anywhere, so, um, I guess it's sorting correctly. ;-)
> (I see this is the same on the live site.)

Huh. This used to be only for admins. I apparently broke it in
9fd0b2db. Fixed. (but not yet deployed)

> Bonus, off-the-wall feedback: the 404 pages need a little attention.
> This caught my eye because when I click a link that doesn't exist on
> the
> demo site, I see "Proposals" instead of "Sessions." Not so on the live
> site, but the 404 pages have somewhat funky headers:

Yes. Yes they do.

>
> OTOH, it's awesome that there's search on the site, and that it works!

Well-- It works for the wordpress content at least. :P

>
> - Amy

--Reid

Reid Beels

unread,
Jun 3, 2009, 3:41:39 AM6/3/09
to osbridgepdx...@googlegroups.com
Igal sent over the exception raised by your attempt to export your
schedule. It was trying to generate ics data from objects without
start times. This has been fixed.

> Brian Aker's bio has some <br> tags in it that break the flow. It's
> probably just something he pasted in, as it doesn't seem to be an
> issue
> with anyone else's.

We've fixed this for him on production.

> There does seem to be an issue with the favorites stars on the
> speakers
> list, when the same session appears more than once. It seems that a
> favorited session shows a filled-in star only once, on its first
> instance. "Effective Code Sprinting" is a great example. I noticed
> this
> because I'd checked "Spindle, Mutilate, ..." and noticed the star
> wasn't
> filled in for it at the bottom of the page.

Ahh. This is true. I'll need to think about how best to solve this, as
it raises other issues regarding duplicate IDs on the same page.

>
> That's it from me for tonight. (Yay.)

Thank you!

--Reid

Igal Koshevoy

unread,
Jun 3, 2009, 12:26:45 PM6/3/09
to osbridgepdx...@googlegroups.com, Reid Beels
Reid: Can you look into the WordPress menubar when it's displaying a
404 and make it less hideous? This is a low priority.

On Tue, Jun 2, 2009 at 11:53 PM, Amy K. Farrell <amykf...@gmail.com> wrote:
> The "My profile" page has changed in a way I suspect is unintentional.
> On the live site the heading says "akfarrell.myopenid.com". On the demo
> site it says "/users/21". The formatting is different, also (not better
> or worse, just different).

We've had more confusion about the system's attempts to fill in a user
name for people based on their OpenID's hostname.

I've reworked the label shown for users without names to read like
"User #21 at akfarrell.myopenid.com".

Here's the label in action: http://ocw.demo.opensourcebridge.org/users/21

> Bonus, off-the-wall feedback: the 404 pages need a little attention.
> This caught my eye because when I click a link that doesn't exist on the
> demo site, I see "Proposals" instead of "Sessions." Not so on the live
> site, but the 404 pages have somewhat funky headers:
>
>  http://opensourcebridge.org/nosuchpage

On the demo site, OCW is handling the 404s. The "nosuchpage" is not
associated with any event, so it can't tell if you want sessions or
proposals for this non-existent event, so it falls back to
"Proposals".

On the production site, WordPress handles the 404s. There's clearly
something wrong with the formatting of the WordPress menubar in this
state.

Thanks for the feedback!

-igal

Igal Koshevoy

unread,
Jun 3, 2009, 12:32:21 PM6/3/09
to osbridgepdx...@googlegroups.com
On Wed, Jun 3, 2009 at 12:14 AM, Amy K. Farrell <amykf...@gmail.com> wrote:
> Kudos - the speakers list looks great! I love that it includes the
> Favorites functionality. This is very useful. In fact, if I'd noticed
> this first, I might have used this page to pick sessions I want to see,
> and then go back to the schedule to check for conflicts and empty slots.
Great!

> Brian Aker's bio has some <br> tags in it that break the flow. It's
> probably just something he pasted in, as it doesn't seem to be an issue
> with anyone else's.

A lot of users copied and pasted text in without paying attention to
the formatting system we're using, with results ranging from stray
linebreaks to bulleted lists that get converted into long paragraphs.
I've been mopping up these as I see them.

> There does seem to be an issue with the favorites stars on the speakers
> list, when the same session appears more than once. It seems that a
> favorited session shows a filled-in star only once, on its first
> instance. "Effective Code Sprinting" is a great example. I noticed this
> because I'd checked "Spindle, Mutilate, ..." and noticed the star wasn't
> filled in for it at the bottom of the page.

I've reworked the user favorites so that clicking a star will cause
the toggle to affect all stars for this proposal on the same page.

For a good example of this, go to the "Effective code sprinting"
session, reduce the font so that it's very small, and then click any
of the four stars for the session and you'll see that the others
toggle with it in unison:
http://ocw.demo.opensourcebridge.org/sessions/266


> The schedule is terrific, too. I really like the session summaries that
> pop up when you hover over a session. They're useful and non-invasive,
> both here and on the Speakers page.

Glad to hear it.

> The Download/Subscribe links on the Schedule page *do* work for me, in
> contrast to the ones on the My Favorites page.

Both download links should work now that I've incorporated Reid's fix
that only adds scheduled sessions on the calendar, as opposed to
trying to add proposals without start times which caused the iCalendar
generator to throw an exception and send me the report.

Igal Koshevoy

unread,
Jun 3, 2009, 1:16:43 PM6/3/09
to Selena Deckelmann, Audrey Eschright, Reid Beels, osbridgepdx...@googlegroups.com
Good news, I believe that everything's done for this iteration and we
can deploy another production release. I've deployed the code to
http://ocw.demo.opensourcebridge.org/ if someone want to try out the
latest changes to help with QA.

Regarding my earlier post describing the issues in this release:

1. User favorites -- Works great. These use a new mechanism that
provides a way of toggling all related controlls on the page at the
same time. The bugs with trying to export iCalendar data for
non-sessions has been fixed.

2. BoFs -- The child event code is ready to go. Reid thinks we can
just sprinkle text links into the text at the top of pages.

3. Speakers list -- Works great. You'll see some broken images on this
page when on the demo, but that's fine and won't happen in production.
The issue is that the demo server has a mismatched copy of the
database and images that I've copied in at separate times from the
production instance. So while I could sync these, I'd lose the demo's
favorites and the sample BoF event, and keeping these around right now
is useful.

4. Sublists and 7. prefetch -- I've added specs and done much manual
testing of the new code. I've managed to make the initial load times
for the affected pages 2-20x faster, which makes these at least
minimally tolerable and then their results are fragment cached for
speedy access afterwards.

5. Remember me -- Works great. I really like not having to log back
into the site each time I restart my browser. I think this will make
it much easier for folks to make use of the favorites system.

6. Database migration -- Works great. I've been running my dev
environment and the demo server MySQL for a while, and have had no
issues. I'm glad that I used the ORM and wrote cross-engine compatible
raw queries so we can run the app on SQLite or MySQL.

Anyway. Yay. I'll take a break, then do some final acceptance testing
and deploy later today.

-igal

Igal Koshevoy

unread,
Jun 3, 2009, 8:21:25 PM6/3/09
to Selena Deckelmann, Audrey Eschright, Reid Beels, osbridgepdx...@googlegroups.com
I've deployed the new code that Reid and I have been working on for
the last two weeks to the production <http://opensourcebridge.org/>
site. This release includes user favorites, child events code for
supporting the BoFs, many improved UIs, working "remember me" logins,
the SQLite to MySQL migration and more.

Everything works as far as I know. Please report any issues or suggestions.

-igal

Reply all
Reply to author
Forward
0 new messages