Your SlideShare is downloading. ×
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Live Content: Finding new ways to publish
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Live Content: Finding new ways to publish

1,923

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,923
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Live ContentFinding new ways to Publish By Christopher Imrie Lead Developer, Moresoda
    • 2. Christopher ImrieLead Developer, Moresoda• Aerospace Engineer• Ex-freelancer• Adobe Certified Instructor• PHP, JS, MySQL• CodeIgniter, ExpressionEngine• Problem Solver
    • 3. 3 Ideas • Live Content • Better ? Different? Flexible publish page Client side data Data services
    • 4. Ideas & Techniques • New ideas lead to new techniques • My techniques != your techniques • Not gospel, just showing whats possible
    • 5. The aim? Look at ExpressionEngine asdifferent kind of publishing platform
    • 6. Live ContentFinding new ways to publishFlexible Publish Page
    • 7. Publish Page
    • 8. Publish Page • Easy to understand • Clients love it • Flexible • Extendible with Custom Fieldtypes • Could be better?
    • 9. Publish Page Channel Fieldgroups Fieldtypes • Tedious? • Could be better? • Arcane?
    • 10. What would be better? Channel Fieldtypes • Remove the fieldgroup concept? • Brandon Kelly proposed this (Aug 2010) • Problem persists...
    • 11. The Problem Developer makes all the connections
    • 12. Article / OpenDNS
    • 13. Article / Next American City
    • 14. WYSIWYG Editors • Designed as one size fits all • Bloat • HTML produced can be bag of hurt • Just awful for certain tasks (Blogging about code anyone?) • Developers love the control
    • 15. A better way
    • 16. Let the publisher createfields as they need them
    • 17. What would this look like?
    • 18. Composer Demo
    • 19. Technical Overview • JavaScript Fieldtype Framework • Powered by RequireJS (AMD, load on demand) • Many fields work without modification • A fieldtype can be a single JS file
    • 20. Front end control Article Page Title WYSWYG • “Linear” story allows layout control Gallery • Each “block” can be targeted with CSS WYSWYG • RSS + Atom feeds still work Image
    • 21. Open Source Github Coming Soon...
    • 22. Live ContentFinding new ways to publishClient Side Data
    • 23. Data • Store thousands of entries • Channels, Categories & Status • Extensible suite of template tags
    • 24. Data What about client side data?
    • 25. Client Side Data Control Panel Templates 1. AJAX request to custom 1. AJAX request to custom JS/XML module method template 2. Parse AJAX request 2. Channel Entries Tag 3. Query DB Not flexible enough 4. EE->output-> No query strings send_ajax_response()
    • 26. Channel Entries API • PHP • Create, Update, Delete... • No Read API (!)
    • 27. EE JavaScript API • Why doesn’t it exist? • Fieldtypes tricky • What about: • Channels • Categories • Entry meta data • Site preferences • Standardised & predictable
    • 28. EE JavaScript API What would this look like?
    • 29. EEJSDemo
    • 30. EEJS Overview • JavaScript Utility • Async (jQuery Deferreds) • Methods for: • Accessing Configuration • Building URLs (Templates, Actions, CP etc) • Channels and Channel Entries • Works in CP & Templates
    • 31. EEJS in Templates • Works outside the Control Panel • Integrates with Web Apps • Makes your life easier
    • 32. Open Source Github github.com/ckimrie/eejs
    • 33. Live ContentFinding new ways to publishData Services
    • 34. Data Services • EEJS makes working with data easy • CP & Templates • What about off-site? • APIs • Mobile Apps
    • 35. Data Services • No standard external API • Custom APIs possible with templates • Tedious
    • 36. Data Services Like EEJS, standardised data can be made available
    • 37. Considerations • REST • CodeIgniter, not ExpressionEngine • Performance EE Sessions, template tracking, template parsing, • Output format are not needed !
    • 38. Data Services What would this look like?
    • 39. Data API Demo
    • 40. Data API Overview • CodeIgniter Application • No installation • Uses EE configuration • Cacheable • Separate App = Customisable
    • 41. Open Source Github github.com/ckimrie/ee-data-api
    • 42. So you’ve seen... 3 Ideas that make ExpressionEngine a different kind of publishing platform
    • 43. 3 Ideas Flexible Publishing Client Side Data Data Services
    • 44. Thank You@chrisimriegithub.com/ckimriechris@moresoda.co.uk

    ×