Website Overview
description
Transcript of Website Overview
Website Milestones20 releases (3 frozen)
User Survey (670 respondents)
Community, outreach, coordination
4 new genomes
Website redesign
40%of users aregrads
54%
Daily (54%)Weekly (35%)
Montly (6%)
Yearly(4%)
use WormBasedaily
U.S.A.Canada
U.K. Japan
GermanyChina
France South Korea Switzerland
The Netherlands
55.2%7.3%4.5%5.3%5.3%3.6%2.1%1.3%2.0%1.2%
Usage: Page Views
187 scripts - ~280K lines of code
103 classes - unique displays for most
Displays, searches, analysis
Scope
Discussion (forums)
SOPs & FAQs (Wiki)
Community & Outreach
Staying Up-To-DateMailing lists
RSS
Staying Up-To-Datetwitter.com/wormbase
Project CoordinationBasecamp (37signals.com)
The Road Ahead: A modern web application
sophisticated caching & load balancing
failover
horizontal scaling
virtualization
24/7/365 uptime
hardware platformwhat we have
Barnacles Square wheels Knots
software platformwhat we have
Barnacles
•monolithic CGIs (Perl)
•fast development, few strictures
•many coders, many styles
•many hacks == many bugs
Lots of maintenance
software platformwhat we have
Square Wheels
•rolled our own
•insufficient tests
•introduces instability
Slows us down
software platformwhat we have
Knots
intermixed logic: application business display
Difficult to unplug just one
software platformwhat we have
Doesn’t scale: performance or team
Barnacles Square wheels Knots
software platformwhat we have
Strategy1. Use a web framework
2. Employ deliberate design
3. Convert site & maintain current structure
• Hard tasks easy, easy tasks automatic
• Enforce structure & coding style
• Flexible and maintainable
• Extend resources
• Due diligence: RoR, CGI::Application, Catalyst
1. Use a web framework
Catalyst (catalyst.perl.org)
•Open source
•Model - View - Controller separation
•Active community
•Perl - can reuse good parts
The Catalyst Framework
2. Deliberate design (I)
Generic: database & species
Web 2.0 Influences
User-configurable and interactive
Community knowledge: tagging and trends
API: mining & integration (REST interface)
Multiple Formats: HTML, PDF, XML, JSON
Deliberate design (II)
Borrow from
Information Architecture,
Usability,
Graphic Design.
Include extensive tests
Open platform: core, plugins.
Increase: usability, readability, absorbability
The current siteis page-based
Keep this
Discard this
Sections = Widgets
functional unit: content not page
get some REST!
A Gene Report: /gene/unc-2/report
All alleles: /gene/unc-2/alleles...as PDF: /gene/unc-2/report/pdf
75%convertedcurrent refactored
lines
3. conversion progress
Scraping The Hull
current refactored
5xfewerbarnacles
Cleaner, simpler code
lines
4. Roadmap
current
2.0 (classic)
2.0 (new)
Select pages, old look, new structure
Begin demonew UI
Full site innew structure;phase out old
Release new UI