Dietro le quinte di
noblogsorg

noblogs.org:

Connecting radical people. Non commercial, antifascist, antisexist, privacy-oriented blog platform.

Qualche dato

Anonimato e privacy:
dura, con una codebase caotica e raffazzonata come WordPress.

Esempio: WordPress multisite rivela # utenti e siti quando verifica gli updates.
(http://core.trac.wordpress.org/ticket/16778)

I plugin: croce (nostra) e delizia (degli utenti)

"Ogni volta che aggiungiamo un plugin a noblogs, un cucciolo di sistemista muore."
Un* autistic*, 2012

Perché tanto odio?

...e i temi? anche peggio dei plugins!

WordPress + tante patch

rebase di un branch con git

git checkout upstream
git commit -m 'nuove versioni upstream'
git checkout noblogs
git rebase -i upstream

viene riscritta la history:

git push --force origin

mandare in produzione:

git checkout -b noblogs-X.Y.Z
git push origin

Scalare noblogs

good, cheap and fast:
pick three

Il database si partiziona con HyperDB, ma non esiste un modo per partizionare i file degli utenti

Indirizzamento con flexihash

https://github.com/pda/flexihash

il routing
R: FE/BE

amministrare la baracca

I tool amministrativi

noblogs, il nostro coltellino svizzero

        $ noblogs info pincopallo.noblogs.org
        ID:          5
        Name:        pincopallo.noblogs.org
        Host:        qualcheserver.example.com
        Status:      active
        Registered:  2010-08-10 12:47:25
        Last Update: 2013-05-05 14:46:10
      

Esempi:

        $ noblogs get-option ossdl_off_cdn_url 5
        5: http://noblogs.ai-cdn.net

        $ noblogs set-option ossdl_off_cdn_url \
            'http://noblogs.ai-cdn.net' 5

        $ noblogs run-cron pincopallo.noblogs.org
        pingopallo.noblogs.org: ok

        $ noblogs close-comments-if-inactive \
            pincopallo.noblogs.org
      

I tool amministrativi

dei wrapper per le operazioni di massa
(che vanno comunque eseguiti in locale)

code sharing

vogliamo rilasciare un "WordPress bundle" con le nostre patch

come contribuire

the end