Download what we have - WormBase Wiki

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Website Overview
Todd Harris ([email protected]
Website Milestones
20 releases (3 frozen)
User Survey (670 respondents)
Community, outreach, coordination
4 new genomes
Website redesign
40%
of users
are
grads
Yearly(4%)
Montly (6%)
54%
use
WormBas
e
daily
Weekly (35%)
Daily (54%)
U.S.A.
Canada
U.K.
Japan
Germany
China
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
Scope
187 scripts - ~280K lines of code
103 classes - unique displays for most
Displays, searches, analysis
Community & Outreach
Discussion (forums)
SOPs & FAQs
(Wiki)
Staying Up-To-Date
Mailing
lists
RSS
Staying Up-To-Date
twitter.com/wormbase
Project Coordination
Basecamp (37signals.com)
The Road Ahead:
A modern web application
what we have
hardware platform
sophisticated caching & load
balancing
failover
horizontal scaling
virtualization
24/7/365 uptime
what we have
software platform
Barnacles
Square wheels
Knots
what we have
software platform
Barnacles
• monolithic CGIs (Perl)
• fast development, few strictures
• many coders, many styles
• many hacks == many bugs
Lots of maintenance
what we have
software platform
Square Wheels
• rolled our own
• insufficient tests
• introduces instability
Slows us down
what we have
software platform
Knots
intermixed logic:
application
business
display
Difficult to unplug just one
what we have
software platform
Barnacles
Square wheels
Knots
Doesn’t scale: performance or team
Strategy
1. Use a web framework
2. Employ deliberate design
3. Convert site & maintain current structure
1. Use a web framework
•
•
•
•
•
Hard tasks easy, easy tasks automatic
Enforce structure & coding style
Flexible and maintainable
Extend resources
Due diligence: RoR, CGI::Application, Catalyst
The Catalyst Framework
Catalyst (catalyst.perl.org)
•Open source
•Model - View - Controller separation
•Active community
•Perl - can reuse good parts
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 site
is page-based
Keep this
Discard this
Sections = Widgets
functional unit:
content not page
get some REST!
A Gene Report: /gene/unc-2/report
...as PDF: /gene/unc-2/report/pdf
All alleles: /gene/unc-2/alleles
3. conversion progress
lines
75%
converted
current
refactored
Cleaner, simpler code
Scraping
lines
5x
fewer
barnacles
current
refactored
4. Roadmap
current
2.0 (classic)
2.0 (new)
Select pages, old
look, new structure
Begin demo
new UI
Release new
Full site in
new structure; UI
phase out old
Related documents