concrete5 & zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & zend...
TRANSCRIPT
![Page 1: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/1.jpg)
concrete5 & Zend Framework
Andrew Embler
CTO, concrete5
Adding Enterprise Functionality to Existing PHP Web Applications
![Page 2: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/2.jpg)
PHP is a hero...
PHP
FastDevelopment
SlowDevelopment
Scales Poorly Scales Well
Ruby
Java
dotNET
ColdFusion
![Page 3: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/3.jpg)
...but it doesn’t do everything*
* Yet.
MVC
JSON
Localization CAPTCHA
RSS ATOM MIME
Logging
LuceneCaching
Translation
XML/RPC
OAuth LDAPOpenID
Queue
InfoCard BarCode GData
![Page 4: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/4.jpg)
ProblemSupporting enterprise standards in web applications can easily overwhelm small teams.
![Page 5: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/5.jpg)
SolutionZend Framework helps PHP developers extend their applications substantively, quickly and reliably.
![Page 6: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/6.jpg)
• Commercial CMS that went Open Source
• PHP/MySQL/Apache
• Compelling in-context editing UI
• Small core team
• Hundreds of add-ons
• Huge horizontal market
![Page 7: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/7.jpg)
• Code quality
• Documentation and code samples
• Selective inclusion of components
• Easy to experiment
• Endorsed by Zend
Why?
![Page 8: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/8.jpg)
Real Problem : Email
• All web applications deal with it
• Implemented using a concrete5 helper
SENDING MAIL IN CONCRETE5
![Page 9: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/9.jpg)
Real Problem : Email
+ Send plain text email
+ Send mail using local mail server.
![Page 10: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/10.jpg)
Real Problem : Email
+ Send plain text email
+ Send mail using local mail server
+ Send HTML mail
+ Send mail using external mail server
+ Attach files to outbound emails
+ Import mail from POP and IMAP servers
+ Import mail attachments
+
![Page 11: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/11.jpg)
Real Problem : Email
• Completely backward compatible
• Implementation: from start to testing within 1 day.
• Creates add-on opportunities for developers
+
![Page 12: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/12.jpg)
Real Problem : Translation
<?php print t(‘Hello World!'); ?>
Hallo Welt!
Bonjour Monde!
Hello Verden!
![Page 13: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/13.jpg)
Real Problem : Translation
+ Translate the core.
+ Formats supported: Gettext
+ Fast
- Unreliable
- No add-on translation
![Page 14: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/14.jpg)
Real Problem : Translation
+ Translate the core
+ Translate add-ons
+ Share translations
+ Formats supported: Gettext, Array, CSV, TMX, INI
+ Reliable
+ Consistent Date Localization
- Resource Usage
+
![Page 15: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/15.jpg)
Real Problem : Translation
• Completely backward compatible
• addTranslate() is almost magical
• Implementation: entire existing localization framework replaced in half a day
+
![Page 16: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/16.jpg)
Real Problem : Caching
New software applications start lean.
![Page 17: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/17.jpg)
Real Problem : Caching
More features = longer load times, slower execution
![Page 18: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/18.jpg)
QuickTime™ and aGIF decompressor
are needed to see this picture.
Real Problem : Caching
Solution: Caching stores frequently used data for quick access
![Page 19: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/19.jpg)
Real Problem : Caching
+ File
+ eAccelerator
- Rushed development
![Page 20: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/20.jpg)
Real Problem : Caching
+ File
+ XCache
+ APC
+ Zend Platform
+ SQLite
+ memcached
+ Optionally use two Cache Levels
+ Works with Zend_Translate
+ Highly configurable
+ Highly maintained
+
![Page 21: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/21.jpg)
Real Problem : Caching
• Completely backward compatible
• Implementation: Original Cache? Weeks. Zend_Cache? 2 days
+
![Page 22: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/22.jpg)
The Result
• Fewer bug reports
• Fewer third party libraries/licenses
• Less time spent on problems unrelated to concrete5
• Business & Enterprise interest in concrete5
• Extreme gratitude
![Page 23: concrete5 & Zendstatic.zend.com/topics/concrete5-zend-slides.pdf · concrete5 & Zend Framework Andrew Embler CTO, concrete5 Adding Enterprise Functionality to Existing PHP Web Applications](https://reader031.vdocuments.us/reader031/viewer/2022022608/5b88ef867f8b9a770a8c6195/html5/thumbnails/23.jpg)
The Future
• Exploring further integration opportunities
• Zend Framework first, other libraries second
• Increased interest in Zend Platform as a whole