Plone and Drupal:	

CMS Coexistence in Higher Education
Calvin Hendryx-Parker	

CTO
June 18th, 2014 #psm14
#psm14
And more...
#psm14
#psm14
Fast forward...
#psm14
Newly spawned websites...
#psm14
Built on various CMS...
#psm14
March 2014 Data
69%COEXISTENCE
#psm14
How do you control	

web branding, content	

& infrastructure?
Source: http://www.jaquesamerica.com
#psm14
Consolidation may
be very tempting...
Source: http://www.jaquesamerica.com
#psm14
Consolidation
#psm14Cons...
• Expensive:	

• CMS Evaluation	

• Migration	

• Bit Rot	

• Training	

• Demotivating	

• Polarizing
Credi...
#psm14
There is another option...
#psm14
Integration
#psm14
UCLA - Integration
http://www.rosebowlstadium.com/teams/detail/ucla
#psm14
• PushHub Implementation:	

• Pyramid with ZODB	

• Redis	

• Feedparser	

• Solr
What is PushHub?
#psm14
Standards
5/15/14 Webinar
PHP	

I can’t believe I’m about to do this
#psm14
/**	
* Implements hook_node_insert().	
*/	
function pushhub_node_insert($node) {	
if ($node->status && $node->promo...
#psm14
/**	
* Put stuff in the queue	
*/	
function pushhub_notify($nids, $topic='shared.xml', $timeout=60){	
$hub_url = va...
#psm14
class Post {	
public function perform() {	
$endpoint_url = $this->args[0];	
$payload = $this->args[1];	
$headers = ...
#psm14
import requests	
!
!
def post(endpoint, payload, headers, timeout=60):	
response = requests.post(	
endpoint, data=p...
5/15/14 Webinar
Demo
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
Check out
sixfeetup.com/pushhub
#psm14
Learn More
Download case studies at sixfeetup.com
Talk to Sixies:
Calvin Carol
Check out
sixfeetup.com/pushhub
Upcoming SlideShare
Loading in...5
×

Plone and Drupal -- CMS Coexistance in Higher Education

422

Published on

70% of Higher Ed institutions running Plone also use Drupal. While some universities go down the path of consolidating onto one platform, there is another simpler and cheaper option: integrating the two CMSs.

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

  • Be the first to like this

No Downloads
Views
Total Views
422
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plone and Drupal -- CMS Coexistance in Higher Education

  1. 1. Plone and Drupal: CMS Coexistence in Higher Education Calvin Hendryx-Parker CTO June 18th, 2014 #psm14
  2. 2. #psm14 And more...
  3. 3. #psm14
  4. 4. #psm14 Fast forward...
  5. 5. #psm14 Newly spawned websites...
  6. 6. #psm14 Built on various CMS...
  7. 7. #psm14 March 2014 Data 69%COEXISTENCE
  8. 8. #psm14 How do you control web branding, content & infrastructure? Source: http://www.jaquesamerica.com
  9. 9. #psm14 Consolidation may be very tempting... Source: http://www.jaquesamerica.com
  10. 10. #psm14 Consolidation
  11. 11. #psm14Cons... • Expensive: • CMS Evaluation • Migration • Bit Rot • Training • Demotivating • Polarizing Credits: http://ekladata.com
  12. 12. #psm14 There is another option...
  13. 13. #psm14 Integration
  14. 14. #psm14 UCLA - Integration http://www.rosebowlstadium.com/teams/detail/ucla
  15. 15. #psm14 • PushHub Implementation: • Pyramid with ZODB • Redis • Feedparser • Solr What is PushHub?
  16. 16. #psm14 Standards
  17. 17. 5/15/14 Webinar PHP I can’t believe I’m about to do this
  18. 18. #psm14 /** * Implements hook_node_insert(). */ function pushhub_node_insert($node) { if ($node->status && $node->promote) { pushhub_notify(array($node->nid), 'shared.xml'); } }
  19. 19. #psm14 /** * Put stuff in the queue */ function pushhub_notify($nids, $topic='shared.xml', $timeout=60){ $hub_url = variable_get('pushhub_huburl', 'http://example.com/hub'); Resque::setBackend('localhost:6379'); $headers = array('Content-Type' => 'application/x-www-form-urlencoded'); $topic_url = url("pushhub/" . $topic, array('absolute' => TRUE)); $payload = array('hub.mode' => 'publish', 'hub.url' => $topic_url); $hub_endpoint = $hub_url . "/publish"; # Add the job to the queue Resque::enqueue('default', 'Post', array($hub_endpoint, $payload, $headers, $timeout)); }
  20. 20. #psm14 class Post { public function perform() { $endpoint_url = $this->args[0]; $payload = $this->args[1]; $headers = $this->args[2]; $timeout = $this->args[3]; $request = Requests::post($endpoint_url, $headers, $payload, array('timeout' => $timeout)); } }
  21. 21. #psm14 import requests ! ! def post(endpoint, payload, headers, timeout=60): response = requests.post( endpoint, data=payload, headers=headers, timeout=timeout) return response.status_code
  22. 22. 5/15/14 Webinar Demo
  23. 23. Check out sixfeetup.com/pushhub
  24. 24. Check out sixfeetup.com/pushhub
  25. 25. Check out sixfeetup.com/pushhub
  26. 26. Check out sixfeetup.com/pushhub
  27. 27. Check out sixfeetup.com/pushhub
  28. 28. Check out sixfeetup.com/pushhub
  29. 29. Check out sixfeetup.com/pushhub
  30. 30. Check out sixfeetup.com/pushhub
  31. 31. Check out sixfeetup.com/pushhub
  32. 32. #psm14 Learn More Download case studies at sixfeetup.com Talk to Sixies: Calvin Carol
  33. 33. Check out sixfeetup.com/pushhub
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×