Fork 4 Developers

  • View
    1.203

  • Download
    1

Embed Size (px)

DESCRIPTION

Over de code, structuur en API's van Fork CMS. Vooral gericht naar developers.

Text of Fork 4 Developers

  • 1. Fork CMSDevelopers!

2. hashtag: #forkmeetupwi: VergaderNet, wachtwoord: ventilatie 3. Im Dieter @dieterve 4. This is Davy@bauffman 5. In depth 6. Content Applications Backend Frontend API Modules 7. Content Applications Backend Frontend API Modules 8. Content Applications Backend Frontend API Modules 9. Content Applications Backend Frontend API Modules 10. Content Applications Backend Frontend API Modules 11. applications - backend - frontend - api - modulesFrontend BackendAPILibrary 12. applications - backend - frontend - api - modulesApplications 1 for each purpose Clean separation between apps Possible overlap (causing overhead) 13. applications - backend - frontend - api - modulesStructure Core Modules (some required) Based on MVC Limited template logic 14. applications - backend - frontend - api - modulesCore Routing Templates Authentication Forms ... 15. applications - backend - frontend - api - modulesModules actions ajax cronjobs (backend only) engine installer (backend only) js layouttemplateswidgets widgets 16. applications - backend - frontend - api - modulesLibraryGlobal congurationExternal classes Google analytics Facebook Akismet Spoon Library 17. applications - backend - frontend - api - modulesSpoon Library PHP5 library Basic components UTF-8 support Unit tested Open source (github) 18. applications - backend - frontend - api - modulesError handling SPOON_DEBUG true / false Exceptions PHP errors / warnings / ... 19. applications - backend - frontend - api - modules 20. applications - backend - frontend - api - modulesBackendContent managementAuthentication Only logged in usersModule driven Semi clean urls (GET) 21. applications - backend - frontend - api - modulesCore Router Loads module based on URL http:///private/en/module/controller?param=value Authentication Action level 22. applications - backend - frontend - api - modulesCoreBasic layout Datagrids Forms Tabs Filters 23. applications - backend - frontend - api - modules 24. applications - backend - frontend - api - modules 25. applications - backend - frontend - api - modulesBase classesBase for actionsLess monkey jobs Success/error reporting Autoloading js/css Choosing template ... 26. applications - backend - frontend - api - modulesReporting 27. applications - backend - frontend - api - modulesAutoloading JS / CSS .js .js .css 28. applications - backend - frontend - api - modulesSpecic base classesindex / add / editBackendBaseActionAdd create and display form BackendBaseActionIndex create and display datagrid All you have to do is add data 29. applications - backend - frontend - api - modulesBackend navigationPer module (by installer)FlexibleNot limited to module context settings 30. applications - backend - frontend - api - modulesAutoloader BackendAnalyticsContent BackendAnalyticsModel BackendAnalyticsHelper 31. applications - backend - frontend - api - modulesDirectory structure actions ajax cronjobs engine installer js layouttemplateswidgets widgets 32. applications - backend - frontend - api - modulesAction Controller Interface for the user Index / add / edit / delete / ... Extends from base class(es) Navigation links to action 33. applications - backend - frontend - api - modulesLayout / template View Action template .tpl SpoonTemplate syntax 34. applications - backend - frontend - api - modulesEngineModel Class with static methods Handles database interaction Helper Can be anything 35. applications - backend - frontend - api - modulesAjax Controller Own base class Authentication Json output 36. applications - backend - frontend - api - modulesCronjob Controller Own base class No authentication Collisions Command line or HTTP 37. applications - backend - frontend - api - modulesInstaller Set rights Set navigation structure Set extras (create pages, ...) install.sql locale.xml 38. applications - backend - frontend - api - modulesFrontendThe websiteVisitors Guests Registered visitors Page driven (http:///page) 39. applications - backend - frontend - api - modulesFrontend2 types of controllers Action: 1 per page (route dependant) Widget: * per page Dened in pages module All about pages 40. applications - backend - frontend - api - modulesPages1 page = 1 template1 template = * blocksBlock Action Widget 41. 1Blocks indetemplate... 234 567 42. applications - backend - frontend - api - modulesPages 43. applications - backend - frontend - api - modulesCoreRouting action to execute widget(s) to execute based on the current page 44. applications - backend - frontend - api - modulesMinify SPOON_DEBUG = false minied.css Custom js / css = auto 45. applications - backend - frontend - api - modulesAPI XML JSON Authentication possible/api/1.0/?method=.&param=value.. 46. applications - backend - frontend - api - modulesAPI BackendBlogAPI Public functions Parameter validation 47. applications - backend - frontend - api - modulesSearch Index pool Fields dened per module Callback per module 48. applications - backend - frontend - api - modulesAdd to index 49. applications - backend - frontend - api - modulesCallback 50. applications - backend - frontend - api - modulesTags Create textbox Save after validation 51. applications - backend - frontend - api - modulesTags 52. applications - backend - frontend - api - modulesTags 53. applications - backend - frontend - api - modulesMeta Again 1 pool SEO Almost every module needs it 54. applications - backend - frontend - api - modules 55. applications - backend - frontend - api - modules 56. applications - backend - frontend - api - modulesMeta Create form Validate Save 57. applications - backend - frontend - api - modulesLocale Multi language Maintainable by backend user Split between applications 58. applications - backend - frontend - api - modulesLocale - backend Split between modules Fallback to core 59. applications - backend - frontend - api - modulesLocale - frontend 1 pool 60. Questions? 61. www.fork-cms.com info@fork-cms.comtwitter.com/fork_cms