CakePHP and Open Source - Newcastle University

1,317 views

Published on

Presentation for the University of Newcastle

Published in: Education
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
1,317
On SlideShare
0
From Embeds
0
Number of Embeds
584
Actions
Shares
0
Downloads
11
Comments
1
Likes
3
Embeds 0
No embeds

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
  • \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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  • - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\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
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • 1980 - Copyright is permitted to cover computer software\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\n- \n
  • - Need to do whats right for your community\n- Building a community is a big part\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
  • \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
  • \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
  • \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
  • CakePHP and Open Source - Newcastle University

    1. 1. Graham Weldon
    2. 2. OPEN SOURCESOFTWAREGraham Weldon
    3. 3. 2 Graham Weldon
    4. 4. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant Graham Weldon
    5. 5. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Graham Weldon
    6. 6. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Graham Weldon
    7. 7. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor Graham Weldon
    8. 8. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor CakePHP CandyCane Sydney PHP User Group HTML5 BoilerPlate ThreeJS LibGit Graham Weldon
    9. 9. 3 Graham Weldon
    10. 10. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University Graham Weldon
    11. 11. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies Graham Weldon
    12. 12. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies Graham Weldon
    13. 13. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks Graham Weldon
    14. 14. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions Graham Weldon
    15. 15. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC Graham Weldon
    16. 16. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC 7. Offered position in Japan! Graham Weldon
    17. 17. MVC STRUCTURESUMMARY CAKEPHP DEMO! OPEN SOURCE Q AND A
    18. 18. Graham Weldon
    19. 19. MVC CakePHPGraham Weldon
    20. 20. Graham Weldon
    21. 21. MVCStructure Graham Weldon
    22. 22. 7 Graham Weldon
    23. 23. 7 IMPLEMENTATIONS Graham Weldon
    24. 24. 8 Graham Weldon
    25. 25. 8 SOME FRAMEWORKS Cake PHP Symfony Lithium Established 2003 Established 2007 Established 2009 Fat Models Module oriented MicroFramework Thin Controllers Package based Fast routing/ Logic-less PHP Twig based Views dispatch Views (Less-logic PHP Views Views) (ideally) Version 0 Version 2 Version 2 Graham Weldon
    26. 26. 9 Graham Weldon
    27. 27. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide Graham Weldon
    28. 28. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth Graham Weldon
    29. 29. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time Graham Weldon
    30. 30. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time 4. I’m a core developer Graham Weldon
    31. 31. 10 Graham Weldon
    32. 32. 10 MVC STRUCTURE MODEL VIEW Data Output CONTROLLER Control Graham Weldon
    33. 33. 11 Graham Weldon
    34. 34. 11 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
    35. 35. Graham Weldon
    36. 36. Let’s BuildSomething! Graham Weldon
    37. 37. 13 Graham Weldon
    38. 38. 13 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
    39. 39. 14 Graham Weldon
    40. 40. 14 DATABASE DESIGN USERS TAGS POSTS Graham Weldon
    41. 41. 15 Graham Weldon
    42. 42. 15 DATABASE DESIGN JOIN TABLE TAGS USERS POSTS Graham Weldon
    43. 43. 16 Graham Weldon
    44. 44. 16 DATABASE Graham Weldon
    45. 45. 17 Graham Weldon
    46. 46. 17 CODE GENERATION Graham Weldon
    47. 47. 18 Graham Weldon
    48. 48. 18 WHAT HAVE WE GOT? MODELS CONTROLLERS VIEWS Graham Weldon
    49. 49. Graham Weldon
    50. 50. at thelook Lets code Graham Weldon
    51. 51. Graham Weldon
    52. 52. But... WhatDoes it do? Graham Weldon
    53. 53. Graham Weldon
    54. 54. What did Ijust learn? Graham Weldon
    55. 55. 22 Graham Weldon
    56. 56. 22 CAKEPHP’S MVC FAT MODELS THIN CONTROLLERS PLAIN PHP VIEWS Graham Weldon
    57. 57. 23 Graham Weldon
    58. 58. 23 WHAT ELSE? 80% GENERATED 20% EFFORT 100% AWESOME Graham Weldon
    59. 59. Graham Weldon
    60. 60. OPEN SourceGraham Weldon
    61. 61. 25 Graham Weldon
    62. 62. 25 HISTORY 1950- 1970 1970- 1982 1983 Sharing software Developing Richard Stallman for free was software founds the Free necessary to becomes more Software ensure that and more Foundation to hardware expensive to change the way purchased was put achieve. software is built, to good use. Companies close distributed and Without a free their software and shared. interchange of retain tight control To create software software and over their digital freedom for all. ideas, hardware “investments”. would not have This leads to less Graham Weldon
    63. 63. 26 Graham Weldon
    64. 64. 26 HISTORY 1998 2010 2013 “Open Source” Open source Anything is term is coined at hardware possible a FSF strategy becomes meeting to avoid mainstream, confusion with bringing technical Netscape’s advancements to impending users and a navigator source sharing of ideas. release. Graham Weldon
    65. 65. 27 Graham Weldon
    66. 66. 27 PERCEPTION How “Enterprise” businesses view developers Graham Weldon
    67. 67. 28 Graham Weldon
    68. 68. 28 PERCEPTION How “Enterprise” businesses view open source developers Graham Weldon
    69. 69. 29 Graham Weldon
    70. 70. 29 PERCEPTION Graham Weldon
    71. 71. 30 Graham Weldon
    72. 72. 30 PERCEPTION Graham Weldon
    73. 73. 31 Graham Weldon
    74. 74. 31 COMPARISON Business Freelance Open Source Working for a Working for Free at last? Yes! company where yourself, right? Freedom in you have a boss, Wrong, you’re various software maybe a project working for your licenses allows manager, or clients, and they you to use, modify otherwise, orders dictate what and release coming from happens for the software however management. most part. you like. Graham Weldon
    75. 75. 32 Graham Weldon
    76. 76. 32 CORPORATE LIFE BUSINESS DEVELOP ANALYSIS Assess needs Build out the and costings solution, minimum time, maximum output PROJECT DEFINED What we need to build and achieve Graham Weldon
    77. 77. 33 Graham Weldon
    78. 78. 33 CORPORATE LIFE 1. Businesses are profit driven. Graham Weldon
    79. 79. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. Graham Weldon
    80. 80. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved Graham Weldon
    81. 81. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled Graham Weldon
    82. 82. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs Graham Weldon
    83. 83. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs 6. Not much freedom (Usually) Graham Weldon
    84. 84. 34 Graham Weldon
    85. 85. 34 OPEN SOURCE Graham Weldon
    86. 86. 35 Graham Weldon
    87. 87. 35 OPEN SOURCE COMMUNITY FLEXIBILITY NEW TECHNOLOGY Graham Weldon
    88. 88. Graham Weldon
    89. 89. Innovationis driven by frustration Graham Weldon
    90. 90. 37 Graham Weldon
    91. 91. 37 FRUSTRATION IS KEY 100 Truly great software is developed at or after the 75 point where a need is not fulfilled well enough, that a develop goes out and 50 builds the correct solution on their own. 25 This results in software that has purpose, meaning and a true useful 0 application in the world. 1 2 3 4 5 Graham Weldon
    92. 92. 38 Graham Weldon
    93. 93. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community Graham Weldon
    94. 94. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) Graham Weldon
    95. 95. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back Graham Weldon
    96. 96. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back 4. It helps make you a better developer Graham Weldon
    97. 97. 39 Graham Weldon
    98. 98. 39 MANAGEMENT 1. All projects are different. Graham Weldon
    99. 99. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users Graham Weldon
    100. 100. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” Graham Weldon
    101. 101. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” 4. ... unless there is corporate backing Graham Weldon
    102. 102. 40 responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
    103. 103. 40 MERITOCRACY? responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
    104. 104. 41 Graham Weldon
    105. 105. 41 TOOLS / SERVICES Github Source Forge Codeplex Travis CI BitBucket ... Graham Weldon
    106. 106. Graham Weldon
    107. 107. THANK youwww.YourName.com Graham Weldon

    ×