Tridion and PHP Don’t Mix …or Do They?. Abstract Using PHP and Dynamic Publishing, the considerations and the limitations of using PHP via OData v.s..NET.

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

SDL Tridion Community Webinar Navigation and SDL Tridion.
APC Content Syndication APC SharedVue Showcase powered by The Channel Company.
Alpha Anywhere Product Roadmap and Overview
Aligning Business Needs, Processes and more within the SharePoint platform ITP116, CIO116, PM116, IA116.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Website Development with PHP and MySQL Introduction.
Session Management A290/A590, Fall /25/2014.
Introduction Need: A dynamic, user controlled website Built in forums, security, and news support Work with existing OpenInsight application Seamless.
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Sitefinity Performance and Architecture
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Sitefinity CMS Technical Overview & Developer’s Perspective
Web Content Management System CREATED BY Joshua Jylsus Mendes MBA –IT Jitendra Purohit MBA – IT
Copyright © 2009 by SDL Tridion. SDL Tridion®, SDL Tridion R5™, BluePrinting™, SiteEdit™ and WebForms™ are trademarks of SDL Tridion Holding B.V. or its.
Sodexo Tridion CMS Overview. 2 –Country.com Advanced Training v ■ What is Tridion CMS? ■ Websites ■ Inside Tridion CMS ■ How to create a page.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Tunis International Centre for Environmental Technologies Small Seminar on Networking Technology Information Centers UNFCCC secretariat offices Bonn, Germany.
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
Revolutionizing enterprise web development Searching with Solr.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Maximize Return on Engagement via Scalable Omni-Channel Online Services in the Cloud COMPANY PROFILE: XOMNI, INC. Founded in 2011 and headquartered in.
SharePoint 2010 Search Architecture The Connector Framework Enhancing the Search User Interface Creating Custom Ranking Models.
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
VMob Mobile Marketing Platform Delivers Highly Targeted Marketing Directly into Shoppers’ Existing Smartphone Apps from the Microsoft Azure Cloud MICROSOFT.
Securely Synchronize and Share Enterprise Files across Desktops, Web, and Mobile with EasiShare on the Powerful Microsoft Azure Cloud Platform MICROSOFT.
Thanks to Microsoft Azure Marketplace, You’re Just One Click Away from Having a Virtual Assistant to Guide You through Complex Business IT Processes MICROSOFT.
Discover the Newest Solution from Expertime: Magento + PimCore Running on Microsoft Azure MICROSOFT AZURE ISV PROFILE: EXPERTIME Expertime works with clients.
Virtual techdays INDIA │ 9-11 February 2011 virtual techdays Data grail: Data Market on Windows Azure Sudhindra Kovalam │ Developer, Icertis Inc.
TACTIC | Workflow: Project Management OSS on Microsoft Azure Helps Enterprises to Create Streamline, Manage, and Track Digital Content MICROSOFT AZURE.
CentralCampus Group: May13-26 – William Van Walbeek & Paul Wilson Client: Google, Muthu Muthusrinivasan Advisor: Manimaran Govindarasu Abstract Introduction.
CloudWay.ro Gives Clients Fast Invoicing, Stock Management, and Resource Planning via Microsoft Azure and Azure SQL Database MICROSOFT AZURE ISV PROFILE:
Java Servlets and Java Server Pages
Class03 Introduction to Web Development (Hierarchy and the IDE) MIS 3501, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
Sitecore. Compelling Web Experiences Page 1www.sitecore.net Patrick Schweizer Director of Sales Enablement 2013.
Replace OpenText with Alfresco in a SAP environment
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
SDL Tridion Community Builder SDL Tridion community builder – A talk by Dominic Cronin for the Tridion community webinar.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Best Web Technologies for
Upgrade from 2013 to SDL Web 8 Road Map for Up-gradation.
B3B3 Development Strategy B3B3 To become the UK’s #1 Sitecore Partner OUR VISION.
SDL Tridion Presentation Frameworks
Web Programming Language
Outline Introduction to the Phalanger System
Measure Effectiveness of Communication, Engage Your Employees, and Bridge Communication Gaps with Sparrow App and Power of Microsoft Azure MICROSOFT AZURE.
PHP Training at GoLogica in Bangalore
PHP / MySQL Introduction
Seamless upgrade from Magento to Magento2. Upgrading to new versions is as important as developing a product you desire. Magento was released way back.
Multi-Farm, Cross-Continent SharePoint Architecture
Built on the Powerful Microsoft Azure Platform, iSwarm Helps Businesses Analyze Social Media Conversations, then Connect with Individuals MICROSOFT AZURE.
Yellowfin: An Azure-Compatible Business Intelligence Platform That Connects People with Their Data for Better Decision Making MICROSOFT AZURE APP BUILDER.
Lecture 1: Multi-tier Architecture Overview
SharePoint 2019 Overview and Use SPFx Extensions
Presentation transcript:

Tridion and PHP Don’t Mix …or Do They?

Abstract Using PHP and Dynamic Publishing, the considerations and the limitations of using PHP via OData v.s..NET or Java. I will show some sample code and discuss the kind of TCDL handlers that need to be developed, and the difficulty/ease of doing so.

About Us A lot of credit goes to Jon Primmer for getting much of the technical detail Feel free to reach out: – Jon ; – Nick ;

Why PHP, all of a sudden? We recently had a few customers request Tridion integrations with their PHP front-end applications. PHP is free and has a plethora of open-source products starting to seep into the enterprise. For example: – Magento e-comm platform – Drupal – Wordpress – SugarCRM – Silverstripe – CodeIgniter MVC framework – Has frameworks to do just about everything (even LINQ - PHP version 5.3 has very robust OOP capability Coding PHP doesn’t suck any more. Eclipse with IntelliSense works great Xdebug

So how do you integrate a PHP solution with SDL Tridion? Our first thought: “Static Publishing” – Render any kind of text file and place it on the host server. – Get creative with “include” files. For example, a Page in Tridion with a set of Component Presentations published as an “include” file gives another level for nesting Component Presentations. What if we need to have the ability to target content based on, say, taxonomy (keywords or custom metadata)? – Have taxonomy-driven navigation – Quicker (more efficient) way to update and publish content – Share published content from a single source … and so we explore Tridion’s Dynamic Content Delivery

Dynamic Content Delivery Options for non-Java/.NET Web Apps Traditionally, Tridion’s Dynamic Delivery was available for Java and.NET -based applications This meant having to create a custom wrapper around the Java or.NET APIs With SDL Tridion 2011 a new Content Delivery Web service is available (a.k.a. Tridion Odata) (There is also REL)

"You mean I finally have frickin' sharks with frickin' laser beams attached to their frickin' heads?"

Odata Sample Output

Consuming the Dynamic Content In our page template we frequently use this code: When the output format and delivery target language are set to REL, we get the following on our php page:

Consuming the Dynamic Content (cont.) All we need now is a Tridion Building Block that will catch this during publishing and replace it with PHP code to call oData

Optimizing oData Calls Odata querying just the right amount of data: – Does filtering via LINQ require sending too much across the wire (e.g. /ComponentPresentations returns all the CPs from the Broker and filtering on application side)? No. See What about with Java or PHP? – Need to fine-tune our Odata queries using $filter, $expand – E.g. Get Component Presentations where CustomMeta key = “foo”, such that the fewest number of HTTP Requests go out. The answer: caching – Tridion’s Cache Channel Service on top of oData – A caching appliance – Application-level caching, e.g. CodeIgniter Cache (

Make the Odata Query as Drilled Down as Possible QueryOne: ComponentPresentations based on component custom meta field mponent/ComponentPresentations QueryTwo: All custom meta of componet presentations based on a specific template localhost:82/odata.svc/ComponentPresentations?$filter=TemplateId eq 666 and publicationId eq 8&$expand=Component/CustomMetas

Sample Output

What About Add-on Modules and Products? Tridion Experience Manager (the new SiteEdit) Profiling and Personalization Fredhopper

Tridion Experience Manager The staging site runs in an iFrame, so technically it can be on any language platform (PHP, python, whatever) The caveat is Session Preview, which requires the staging site to be able to run Java (Content Delivery API and Ambient Data Framework jars). – Possible to run PHP on a Java App server, e.g.: – Tomcat AJP Connector: doc/tomcat-apache-howto.htmlhttp://tomcat.apache.org/tomcat- 3.2-doc/tomcat-apache-howto.html – or PHP to Java Bridge: bridge.sourceforge.net/doc/tomcat6.phphttp://php-java- bridge.sourceforge.net/doc/tomcat6.php – This is still in experimental stages

Profiling and Personalization Tridion offers the ability to set up Target Groups based on keyword tracking and other criteria Unfortunately this requires storing cookies on the client machine. The Contenet Delivery Web Service can’t do that. Good news: we can build our own…

Profiling and Personalization A custom TCDL handler can be created to translate the target group syntax into PHP code, which talks to the Broker

Fredhopper SmartTarget is the product that integrates Fredhopper with Tridion. The Ambient Data Framework is used in between For PHP integration, a custom solution can be built on top of Fredhopper’s web service APIs. Probably can’t make it as good as SDL’s ADF, but possible to make it good-enough for the immediate functionality required.

Thanks Questions?

About Content Bloom Offices in Toronto, Brussels and UK Certified SDL Tridion consultancy and partner Strong knowledge and deep roots within the SDL Tridion product suite