Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Integrating Github and Wordpress can be simple

Integrating Github and Wordpress can be simple

Collin Anderson

September 03, 2014
Tweet

Other Decks in Technology

Transcript

  1. ~20 live Django websites for clients • many started pre-1.0

    • all are at least 1.6 • most can run against master (1.8) without warnings
  2. problem: php once you taste python, there’s no going back

    “I don’t know how to stop it, there was never any intent to write a programming language […] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way.” 
 - Rasmus Lerdorf, creator of php
  3. problem: apache i’m worried about mixing php and python well,

    Graham Dumpleton can tell you how to do it
  4. problem: apache i’m worried about mixing php and python well,

    Graham Dumpleton can tell you how to do it
  5. or, do we make our own blog model? so we

    have full control
 (and it’s fun)
  6. how do you edit content? • raw HTML? • install

    and configure TinyMCE? • install and configure CKEditor?
  7. how do you edit content? • raw HTML? • install

    and configure TinyMCE? • install and configure CKEditor? • teach the client Markdown?
  8. how do you edit content? • raw HTML? • install

    and configure TinyMCE? • install and configure CKEditor? • teach the client Markdown? • teach them ReST?
  9. are you going to build? • “read more” split •

    comment moderation • autosave • revisions
  10. are you going to build? • “read more” split •

    comment moderation • autosave • revisions • thumbnail for each post
  11. are you going to build? • “read more” split •

    comment moderation • autosave • revisions • thumbnail for each post • media browser
  12. are you going to build? • “read more” split •

    comment moderation • autosave • revisions • thumbnail for each post • media browser • etc
  13. apparently WordPress has a decent editing experience WYSIWYG html editor

    Autosave, Revisions Media Library Custom Key/Value meta data
  14. apparently WordPress has a decent editing experience WYSIWYG html editor

    Autosave, Revisions Media Library Custom Key/Value meta data Comment moderation
  15. apparently WordPress has a decent editing experience WYSIWYG html editor

    Autosave, Revisions Media Library Custom Key/Value meta data Comment moderation Mobile Friendly
  16. apparently WordPress has a decent editing experience WYSIWYG html editor

    Autosave, Revisions Media Library Custom Key/Value meta data Comment moderation Mobile Friendly Pretty CSS
  17. apparently WordPress has a decent editing experience it all Just

    Works out of the box few bugs WYSIWYG html editor Autosave, Revisions Media Library Custom Key/Value meta data Comment moderation Mobile Friendly Pretty CSS
  18. apparently WordPress has a decent editing experience it all Just

    Works out of the box few bugs they’ve spent years improving
 the user experience WYSIWYG html editor Autosave, Revisions Media Library Custom Key/Value meta data Comment moderation Mobile Friendly Pretty CSS
  19. post model aged well in 13 years I don’t need

    to think about what fields I need
  20. time saver • few bugs in the admin. TinyMCE has

    already been decided and fully configured. • models and fields have already been decided • piece of cake to migrate (just start using the database :) • rapid development: it means i have more time for front-end and other sections of the website
  21. or do it from scratch • you get full control

    (and it’s fun!) • it’s really not that much work
  22. disadvantages • php. we use Python because it’s simply better.

    • I can’t support every possible feature of WordPress on the Django side, but I can support them as I need them.
  23. disadvantages • php. we use Python because it’s simply better.

    • I can’t support every possible feature of WordPress on the Django side, but I can support them as I need them. • WordPress database could change over time, though has been pretty stable recently.
  24. it’s simple • website up and running very quickly •

    if I “shut off” WordPress, the website is still there, it’s just read-only
  25. it’s simple • website up and running very quickly •

    if I “shut off” WordPress, the website is still there, it’s just read-only • always free to ditch WordPress and use django admin
  26. content web pages • content pages should work without Javascript

    • served via GET only • content pages generally don’t change per-person
  27. content web pages • content pages should work without Javascript

    • served via GET only • content pages generally don’t change per-person • content shows up as Google search results.
  28. content web pages • content pages should work without Javascript

    • served via GET only • content pages generally don’t change per-person • content shows up as Google search results. • generally read-only to the user.
  29. content web pages • content pages should work without Javascript

    • served via GET only • content pages generally don’t change per-person • content shows up as Google search results. • generally read-only to the user. • easy to build, easy to cache
  30. web applications • usually behind login, invisible to search engines

    • make use of POST and maybe other http verbs (REST)
  31. web applications • usually behind login, invisible to search engines

    • make use of POST and maybe other http verbs (REST) • usually ok to require javascript, often javascript-heavy
  32. web applications • usually behind login, invisible to search engines

    • make use of POST and maybe other http verbs (REST) • usually ok to require javascript, often javascript-heavy • user specific. user is editing things.
  33. web applications • usually behind login, invisible to search engines

    • make use of POST and maybe other http verbs (REST) • usually ok to require javascript, often javascript-heavy • user specific. user is editing things. • much much harder to get right than content.
  34. crazy idea for the future • rewrite WordPress admin php

    using Django • keep feature-full Javascript and pretty CSS in sync with upstream • enjoy life php-free • (though it would take a lot of work)