science to bfg

27
Migrating a public NASA site to Repoze BFG Chris Shenton koansys.com

Upload: alex-clark

Post on 13-May-2015

1.019 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Science To Bfg

Migrating a public NASA site to Repoze BFG

Chris Shentonkoansys.com

Page 2: Science To Bfg

Talk Overview

• Science@NASA

• Repoze BFG

• S@N in BFG

Page 3: Science To Bfg

science@nasa

• science.nasa.gov

• 13 years of stories

• 1.8 million visits/month

• manually maintained

• varying HTML formats over time

• no built-in search

Page 4: Science To Bfg

s@n varying html

• 2009

Page 5: Science To Bfg

s@n varying html

• 2003

Page 6: Science To Bfg

s@n varying html

• 1996

Page 7: Science To Bfg

CMS Wanted

• Folders, Pages

• Files, Images

• Search

• TTW Editor

• Permissions per object

Page 8: Science To Bfg

Existing Plone Site

• nasascience.nasa.gov

• too complex

Page 9: Science To Bfg

New Plone Site?

• Plone3’s become painful :-(

Page 10: Science To Bfg

Repoze BFG?

• Same Zope Object Database

• Similar ZPT Templates

• Same Catalog index, search

• Tiny

• Fast

• Easy to learn

Page 11: Science To Bfg

Repoze BFG• http://bfg.repoze.org/

• “Zope with the serial numbers filed off”

• Chris McDonough’s 4th implementation

• 100% test coverage

• Excellent, complete documenation

• Good fit for CMS-shaped data

• ZODB

• Traversal

Page 12: Science To Bfg

ZODB

• Persistent object store

• Python objects

• Dictionaries, attributes

• children = page.items()

• parent = page.__parent__

Page 13: Science To Bfg

ZODB forlightly structured data

sangria

recipes

Spanish seafood

paella grouper squid

on bbq cava red

Page 14: Science To Bfg

ZODB: flexible

sangria

recipes

Spanish seafood

paella grouper squid

on bbq cava red

photo tastingnotes

Page 15: Science To Bfg

Traversal: the way we think

sangria

recipes

Spanish seafood

paella grouper squid

on bbq cava red

/recipes/Spanish/sangria/cava/recipes/seafood/squid

Page 16: Science To Bfg

TraversalWe don’t need no stinking ORM

Page 17: Science To Bfg

Models: just Python

• Folderish Page

Page 18: Science To Bfg

Models: just Python

• File

• Image

• subclass

• blobs

Page 19: Science To Bfg

Views: fill templates

Page 20: Science To Bfg

View: add, edit

Page 22: Science To Bfg

Templates: O-wrap

• define-slot

Page 23: Science To Bfg

Templates: page view

• fill-slot

Page 24: Science To Bfg

Catalog: index

• define indices

Page 25: Science To Bfg

Catalog: search

• view

Page 26: Science To Bfg

Import science@nasa

• wget site

• import html

• use xpaths

Page 27: Science To Bfg

But will it blend?

• Live demo!