Slide 1

Slide 1 text

CKAN Introduction with zh_TW Keith Yang @keitheis

Slide 2

Slide 2 text

@keitheis Keith Yang • architect.py in biideal.com • Organizer/Coordinator in Taipei.py • Web Lead in PyCon Taiwan 2013 • Thinking of PyCon Taiwan 2014 2

Slide 3

Slide 3 text

CKAN & me • 3 months experience & CKAN (1.8) with zh_TW • 3 years experience & Pylons • ~1 year experience & Pyramid • n years experience & Web, System Admin, Open Source 3

Slide 4

Slide 4 text

Survey: 1. Installed CKAN? 2. Internationalization (i18n) and/or Localization (l10n)? 3. Create Organizations on CKAN? 4. No experience? 5. Well, just walking by? 4

Slide 5

Slide 5 text

“... Powerful data management system that makes data accessible – by providing tools to streamline publishing, sharing, Qnding and using data.” Backed by Open Knowledge Foundation (OKF) 5

Slide 6

Slide 6 text

“with great power, comes great responsibility.”

Slide 7

Slide 7 text

Good news

Slide 8

Slide 8 text

CKAN 2.0 Release • Jinja2 - easier template and theme • Authorisation and workRow: • Introducing CKAN “Organizations” • More built-in previews • # Announcing CKAN 2.0 | Open Knowledge Foundation Blog 8

Slide 9

Slide 9 text

Software Architecture • Core: Pylons • Database: PostgreSQL • Database ORM: SQLAlchemy • Template: Jinja2 • I18n and l10n: Babel (& gettext) • Search: Solr 9

Slide 10

Slide 10 text

and Pylons architecture

Slide 11

Slide 11 text

What!? 11

Slide 12

Slide 12 text

Pylons book for the work • Internationalization (i18n) • Routes (mapping /this/url to class Controller def action) • Watch out ckan.logic • CKAN's own logic behaviors 12

Slide 13

Slide 13 text

Read the of9cial (endless) documents Many useful info on the oScial sites: • SQLAlchemy • Jinja2 • Pylons • CKAN 13

Slide 14

Slide 14 text

The core of i18n of CKAN “tools to build and work with gettext message catalogs” 14

Slide 15

Slide 15 text

 mitsuhiko/babel The news of Babel Babel project was frozen on 0.9.6 for 2 years. During EuroPython 2013 @ Florence, Armin Ronacher called for Babel sprint to revive its evolution with features required. (e.g. Python 3 support) 15

Slide 16

Slide 16 text

The core of Babel: gettext (python setup.py extract_messages) python setup.py update_catalog --locale zh_TW python setup.py compile_catalog --locale zh_TW Watch out the language written in database, templates and images. 16

Slide 17

Slide 17 text

More on details

Slide 18

Slide 18 text

The challenge of running CKAN

Slide 19

Slide 19 text

Just like running a startup

Slide 20

Slide 20 text

Working on application 1. Setup & Develop 2. Maintain 3.  Goto 1 20

Slide 21

Slide 21 text

Setup & Maintenance 1. Linux (& Security) 2. HTTP Server (Apache or Nginx) 3. PostgreSQL 4. Solr 5. Backup and Disaster-Recovery (DR) 21

Slide 22

Slide 22 text

Development 1. Pylons 2. SQLAlchemy 3. Jinja2 4. PostgreSQL 5. Babel 22

Slide 23

Slide 23 text

Factors of business •  Human Resource (HR) is key (as usual). •  Marketing or no one use it. •  Monitor performance. •  Educate new [ user | operator | developer | admin ] •  Passion & reward 23

Slide 24

Slide 24 text

You might encounter... • Bugs or issues (tickets on trac) • Try (to learn) search trac • CKAN issues moved   github! • Finding (or being) a dev ops like an entrepreneur • Javascript issues • Finding users(?) 24

Slide 25

Slide 25 text

git show git branch None mentioned here: • Javascript parts • e.g. Newly introduced pdf.js • CKAN 2.2 (in alpha) • Know where you're 25

Slide 26

Slide 26 text

Thank You