1 / 40

Kurund Jalmi IRC: kurund

CiviCRM v5 Technology Preview. Adrian Drott 2011, BY-NC-SA. Tim Otten IRC: totten. Kurund Jalmi IRC: kurund. CiviCRM v5: Why v5?. Because 5 comes after 4?. CiviCRM v5: Why v5?. Because salad!. CiviCRM v5: Why v5?. CiviCRM v5: Why v5?. CiviCRM v5: Why v5?.

zeke
Download Presentation

Kurund Jalmi IRC: kurund

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CiviCRM v5 Technology Preview Adrian Drott 2011, BY-NC-SA Tim Otten IRC: totten Kurund Jalmi IRC: kurund

  2. CiviCRM v5: Why v5?

  3. Because 5 comes after 4? CiviCRM v5: Why v5?

  4. Because salad! CiviCRM v5: Why v5?

  5. CiviCRM v5: Why v5?

  6. CiviCRM v5: Why v5? • 1. Install Civi + CMS (developer build) • 2. Create xml/schema file • 3. (For extensions: Hack Gen Code) • 4. Run GenCode • 5. Create BAO (Create, Get, Delete) • 6. Create API (Create, Get, Delete) • 7. Create route (XML Menu) • 8. Create page controller (QuickForm) • 9. Create page template (Smarty)

  7. CiviCRM v5: Why v5? • 1. Install Civi + CMS (developer build) • 2. Create xml/schema file • 3. (For extensions: Hack Gen Code) • 4. Run GenCode • 5. Create BAO (Create, Get, Delete) • 6. Create API (Create, Get, Delete) • 7. Create route (XML Menu) • 8. Create page controller (QuickForm) • 9. Create page template (Smarty)

  8. What is doctrine? CiviCRM v5: Doctrine Introduction

  9. CiviCRM v5: Doctrine Introduction What is doctrine? It is better than DAO?

  10. CiviCRM v5: Doctrine Introduction What is doctrine? It is better than DAO? Let's see some concepts and how it works

  11. CiviCRM v5: Entity / Annotations

  12. CiviCRM v5: EntityManager

  13. CiviCRM v5: Example Find location type where id=1 $em = CRM_DB_EntityManager::singleton(); $loctiontypeInfo = $em->find('\Civi\Core\LocationType', 1);

  14. CiviCRM v5: Doctrine Migration (Eventually)

  15. CiviCRM v5: Doctrine Migration (Eventually)

  16. This is hard. CiviCRM v5: Doctrine Migration

  17. CiviCRM v5: Doctrine Migration:#1: Automatic Transformation

  18. CiviCRM v5: Doctrine Migration:#1: Automatic Transformation

  19. CiviCRM v5: Doctrine Migration:But...

  20. CiviCRM v5: Doctrine Migration:But... Can we train a computer to do it?

  21. CiviCRM v5: Doctrine Migration:#2: Manual Transformation

  22. CiviCRM v5: Doctrine Migration:#2: Manual Transformation

  23. CiviCRM v5: Doctrine Migration:#3: Change Everything CiviEvent, ... CiviEvent, ... Smarty !!! QuickForm API Entity API BAO DAO/GenCode Doctrine DB_DataObject

  24. CiviCRM v5: Doctrine MigrationDon't Panic The Basics Experiments Sonata Experiment Manual Transformation Experiment Port Data Model Angular Experiment Doctrine CRUD API Time Earnest Phase Automatic Transformation Change Everything Manual Transformation

  25. Before schema + metadata = xml xml → Gencode → DAO + sql CiviCRM v5: Doctrine in Core

  26. Before schema + metadata = xml xml → Gencode → DAO + sql Now xml →Doctrine Entities + meta data + sql doctrine console → schema ( alternate option ) CiviCRM v5: Doctrine in Core

  27. CiviCRM v5: Doctrine and APIv4 Via Wikipedia

  28. CiviCRM v5: Doctrine and APIv4The Problem 150 entities!

  29. CiviCRM v5: Doctrine and APIv4The Goal

  30. CiviCRM v5: Doctrine and APIv4The Goal

  31. CiviCRM v5: Doctrine and APIv4The Kernel API Kernel Providers API Providers API Subscribers MagicFunctionProvider DoctrineCrudProvider ReflectionProvider TransactionSubscriber I18nSubscriber ChainSubscriber XDebugSubscriber PermissionCheck AnnotationPermissionCheck

  32. CiviCRM v5: Doctrine and APIv4The Kernel > Resolve S > > S Authorize > > Prepare S > > Invoke P > > Respond S Exception S > >

  33. CiviCRM v5: Doctrine and APIv4Providers

  34. CiviCRM v5: Doctrine and APIv4Subscribers

  35. CiviCRM v5: Doctrine and APIv4Symfony Components

  36. This is awesome !!! CiviCRM v5

  37. This is awesome !!! How can I participate/help with this? CiviCRM v5

  38. Setup local sandbox http://wiki.civicrm.org/confluence/display/CRMDOC/Github+for+CiviCRM git checkout doctrine composer install ( Don't have composer? Check https://getcomposer.org ) CiviCRM v5

  39. https://github.com/civicrm/civicrm-buildkit civibuild create doctrine –url http://localhost:8080 CiviCRM v5

  40. Thank you Any more questions ?

More Related