The Original Hypertext Preprocessor
-
Upload
drew-mclellan -
Category
Technology
-
view
2.501 -
download
0
description
Transcript of The Original Hypertext Preprocessor
![Page 1: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/1.jpg)
PHP Community Conference 22nd April 2011
Drew McLellanedgeofmyseat.comgrabaperch.com
-THE ORIGINAL-
HYPERTEXTPREPROCESSOR
![Page 2: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/2.jpg)
EVERY LINE OF CODE -CAN HAVE A-
DIRECT IMPACT ON USERS
![Page 3: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/3.jpg)
DESIGNINGSOFTWARE
- FOR -
HUMANS
![Page 4: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/4.jpg)
FUNCTIONALITY -IS NOT -
ENOUGH
![Page 5: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/5.jpg)
REWIND
![Page 6: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/6.jpg)
DUDE! LIKE WHAT ABOUT
DRUPAL?
![Page 7: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/7.jpg)
“With Wordpress (don’t even get me started on Drupal), the learning curve was very high, requiring my clients to learn about posts versus pages versus custom post types.”
![Page 8: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/8.jpg)
D O Z E N S O F
OPTIONSM I L L I O N S O F
U S E R S
![Page 9: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/9.jpg)
THERE'S ROOM - IF YOU CAN BE -
DIFFERENT
![Page 10: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/10.jpg)
L I G H T W E I G H T
PHP CMS FOR SMALL WEBSITES
![Page 11: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/11.jpg)
LISTEN UP!
CLASSIN SESSION
![Page 12: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/12.jpg)
- THE MOST -
DIFFICULT PROBLEMS
- ARE THE -
WET ONES
![Page 13: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/13.jpg)
Support will kick your ass.Jason Fried, 37signalshttp://www.extractable.com/blog/?p=58
![Page 14: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/14.jpg)
Helpspot really saved our ass when it came to support.Todd Dominey, SlideShowPro http://5by5.tv/bigwebshow/24
![Page 15: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/15.jpg)
SUPPORTINVOLVES
- A LOT OF -
ASSES
![Page 16: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/16.jpg)
MANY
CUSTOMERS ARE
INEXPERIENCED
![Page 17: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/17.jpg)
THEY NEED
A LOT OFSUPPORT
![Page 18: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/18.jpg)
EACH LICENSE SOLD
30 MINUTESO F S U P P O R T T I M E
![Page 19: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/19.jpg)
- FIND WAYS TO -
REDUCESUPPORTREQUESTS
![Page 20: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/20.jpg)
EVERY REQUEST SHOULD BE
UNIQUE
![Page 21: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/21.jpg)
SUPPORT
YOUROWN SOFTWARE
![Page 22: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/22.jpg)
- WHEN -
WILL THIS
FAIL?
![Page 23: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/23.jpg)
![Page 24: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/24.jpg)
![Page 25: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/25.jpg)
![Page 26: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/26.jpg)
![Page 27: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/27.jpg)
ALL CODE BREAKS.
GREAT CODE B R E A K S W E L L
![Page 28: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/28.jpg)
NOT ALL
ATTEMPTS ARE SUCCESSFUL
![Page 29: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/29.jpg)
![Page 30: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/30.jpg)
SPEEDOF RESPONSE IS THE MOST
IMPORTANT T H I N G
![Page 31: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/31.jpg)
TECHNICALPROBLEMS
- ARE -
DIFFICULTTOO
![Page 32: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/32.jpg)
PHP5AS STANDARD
![Page 33: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/33.jpg)
WE WOULD
LOVE- TO MOVE TO -
PHP5.3
![Page 34: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/34.jpg)
THE FAILEDPROMISE OF
SQLITE
![Page 35: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/35.jpg)
SCHEMALESSSTRUCTURED DATA
![Page 36: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/36.jpg)
!<perch:content !!!type=”text”!!!id=”heading”!!!label=”Main heading”!!!required=”true” />
![Page 37: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/37.jpg)
<h2><perch:content id="heading" type="text" label="Heading" required="true" title="true" /></h2>
<p class="date"><perch:content id="date" type="date" label="Date" format="%d %B %Y" /></p>
<perch:content id="body" type="textarea" label="Body" textile="true" editor="markitup" required="true" />
![Page 38: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/38.jpg)
TABLE OF
KEY-VALUE PAIRS- OR -
BIG BLOB OF
JSON
![Page 39: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/39.jpg)
TABLE OF
KEY-VALUE PAIRS
![Page 40: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/40.jpg)
SCALES UP
WELLCAN BE
FILTERED WITH
SQL
![Page 41: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/41.jpg)
- REQUIRES -HOUSEKEEPING
INEFFICIENTFOR SMALL VALUES
![Page 42: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/42.jpg)
BIG BLOB OF
JSON
![Page 43: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/43.jpg)
STOREANY SHAPE DATA
IN ONE ROW
EXTREMELY
SIMPLE
![Page 44: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/44.jpg)
CONTENT HAS TO BEFILTERED IN PHP
NATIVE JSON LIBRARIES
ARE NOT YETUNIVERSAL
![Page 45: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/45.jpg)
CREATE TABLE `perch_contentItems` ( `contentID` int(10) unsigned NOT NULL AUTO_INCREMENT, `contentKey` varchar(255) NOT NULL DEFAULT '', `contentPage` varchar(255) NOT NULL DEFAULT '*', `contentHTML` longtext NOT NULL, `contentNew` tinyint(1) unsigned NOT NULL DEFAULT '1', `contentTemplate` varchar(255) NOT NULL DEFAULT '', `contentMultiple` tinyint(1) unsigned NOT NULL DEFAULT '0', `contentAddToTop` tinyint(1) unsigned NOT NULL DEFAULT '0', `contentJSON` mediumtext NOT NULL, `contentHistory` mediumtext NOT NULL, `contentOptions` text NOT NULL, PRIMARY KEY (`contentID`), KEY `idx_key` (`contentKey`), KEY `idx_page` (`contentPage`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
![Page 46: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/46.jpg)
SO, UM, HOW'S
THATWORKING OUT
FOR YOU?
![Page 47: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/47.jpg)
NON-NATIVE JSON
IS SLOW
![Page 48: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/48.jpg)
QUERYING ACROSSTABLE COLUMNS
- AND -
JSON VALUES- IS A -
TWO STEP PROCESS
![Page 49: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/49.jpg)
SO WHAT IS
GOODABOUT IT?
![Page 50: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/50.jpg)
{! “heading”: “Foo”,! “date”: “2011-04-22 10:00:00”}
![Page 51: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/51.jpg)
[! {! ! “heading”: “Foo”,! ! “date”: “2011-04-22 10:00:00”! },! {! ! “heading”: “Foo”,! ! “date”: “2011-04-22 10:00:00”! }]
![Page 52: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/52.jpg)
[! {! ! “_rev”: 1300447544,! ! “_content”: {! ! ! “heading”: “Bar”,! ! ! “date”: “2011-04-22 10:00:00”! ! }! },! {! ! “_rev”: 1293968747,! ! “_content”: {! ! ! “heading”: “Foo”,! ! ! “date”: “2011-04-22 10:00:00”! ! }! }]
![Page 53: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/53.jpg)
SIMPLE, EFFECTIVE
HISTORY STACK
![Page 54: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/54.jpg)
THEORISING IS EASY
NOTHING BEATSEXPERIENCE
![Page 55: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/55.jpg)
RUNNING PHP
EVERYWHERE IS HARD
![Page 56: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/56.jpg)
WE'RE USED TO
CONTROLLEDPLATFORMS
![Page 57: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/57.jpg)
ALL BETSARE OFF
![Page 58: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/58.jpg)
- CHEAP -
HOSTINGIS CHEAP
![Page 59: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/59.jpg)
WINDOWSIS WEIRD
![Page 60: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/60.jpg)
MIGRATING BETWEENFILESYSTEMS
![Page 61: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/61.jpg)
- NEVER -
MIX CASEIN MYSQL TABLE NAMES
![Page 62: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/62.jpg)
- BE -
OPINIONATED- BUT NOT -
DICTATORIAL
![Page 63: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/63.jpg)
WYSIWYG- IS -
EVIL
![Page 64: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/64.jpg)
![Page 65: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/65.jpg)
But my clients must have an editor like Word!
![Page 66: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/66.jpg)
IT'S NOT OUR PLACE
TO TELL PEOPLEHOW TO WORK
![Page 67: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/67.jpg)
![Page 68: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/68.jpg)
EDIT IN PLACE- IS A -
FALSEPROMISE
![Page 69: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/69.jpg)
HELP CUSTOMERS
SERVET H E I RCLIENTS
![Page 70: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/70.jpg)
IDENTIFY YOUR
CUSTOMERS'PROBLEMS
![Page 71: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/71.jpg)
CONFIDENCE- IS -
EVERYTHING
![Page 72: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/72.jpg)
EVERY FIELD- CAN BE -
ANNOTATED
![Page 73: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/73.jpg)
help=”Use the teacher’s initials from the timetable.”
![Page 74: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/74.jpg)
![Page 75: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/75.jpg)
<perch:help>!<p>Confused? Watch !!!this video:</p>!<video>...</video></perch:help>
![Page 76: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/76.jpg)
![Page 77: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/77.jpg)
![Page 78: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/78.jpg)
DRAFTSPREVIEWUNDO
![Page 79: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/79.jpg)
- BE A -
MAGICIANNOT JUST
A DEVELOPER
![Page 80: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/80.jpg)
FUNCTIONALITY -IS NOT -
ENOUGH
![Page 81: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/81.jpg)
LEARN TO
ACCEPT WHEN USERS ARE
H A V I N GTROUBLE
![Page 82: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/82.jpg)
REALLY GREAT
DEVELOPERSSOLVE PROBLEMS
![Page 83: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/83.jpg)
YOU CAN'T
WINEVERY USER
![Page 84: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/84.jpg)
I love the little cms but the one thing I was
expecting to get is a license for multiple domain,...
if you guys can help with that you will earn a big
customer,.. and as of right now I already found 2
more cms just like yours at a lower price but what
they take a away is in the interface design,..
(which I could careless about it) but you guys still
my number 1 option but if you guys can give me a
break on that little part for licensing multiple
domains that will be very much appreciated,..
![Page 85: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/85.jpg)
- NOT -
EVERYONE WILL GET IT
![Page 86: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/86.jpg)
THANK YOU!Perch is at grabaperch.com
Slides: http://lanyrd.com/2011/phpcomcon
On most things, I’ am @drewm
![Page 87: The Original Hypertext Preprocessor](https://reader030.fdocuments.us/reader030/viewer/2022012918/55795f1dd8b42ab6648b5101/html5/thumbnails/87.jpg)
QUESTIONS?