Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Drupalcon 2014 - A Large scale personalization with Drupal

11 Aufrufe

Veröffentlicht am

Téléchargez cette présentation gratuitement sur : https://digital.actency.fr/drupacon_2014_large_scale_personalization_drupal

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Drupalcon 2014 - A Large scale personalization with Drupal

  1. 1. A real life study of large scaled personalization with Drupal for one of the biggest extranets in Europe. Nicolas LOYE
  2. 2. WHO’S TALKING HELLO WORLD
  3. 3. 2 offices, Strasbourg (headquarters) & Paris Founded 2007 65 web experts Projects from 50 to 2000 m/d 100% Drupal / Symfony 2 ACTENCY Who are we ?
  4. 4. Drupal-addict since 2006 Worked on Drupal 4.5 to 7 Mainly large scaled projects Role playing games, heavy metal. Nicolas LOYE Technical project manager / Lead developer
  5. 5. BUSINESS REQUIREMENTS WHAT WAS THE LEGACY ?
  6. 6. B to B extranet for 80K users. About 50K contents for Alcatel-Lucent clients. Latest news for Alcatel-Lucent products releases and events. Distributed services (LDAP, Media hosting, CMS) THE SCOPE What’s the existing platform ?
  7. 7. How much ? 2013 3.350 visitors per day 13.800 pages visited per day 117 500 unique downloads Max simultaneous connections : 5470 2012 3.000 visitors per day 13.700 pages visited per day 120 250 unique downloads Max simultaneous connections : 4850 THE SCOPE
  8. 8. Migrating the existing platform to Drupal. Hosting on Acquia Cloud. THE SCOPE Objectives
  9. 9. Migrating the business rules and permission system. Connecting Drupal to multiple services inside the highly secured Alcaltel-Lucent network. Improve the performances (some pages > 10 sec pageload) THE SCOPE Objectives
  10. 10. Security Business Rules (Profiling) Migration in phases Performances CHALLENGES
  11. 11. Drupal permissions system One way CRUD definition. User centric permissions (roles or user access control) SECURITY
  12. 12. Complex user & content centered permission system Users are tagged with specific metadata (market, categories, etc) Contents are tagged with specific metadata (market, categories, etc) Final CRUD permissions are calculated with complex logical operations on both sides metadata. SECURITY
  13. 13. Large volumetry About 80K users. More than 50K contents. As every user has a unique CRUD pattern according to the content we have potentially 4 billions permissions. SECURITY
  14. 14. Single content = Multiple permissions One page = multiple webparts Each webpart has its own permissions Heavy permission access calculation on display. SECURITY
  15. 15. Permissions dynamically assigned by the client User profile has to be calculated with business rules. Possibility to add / edit / delete any rule at any time. Rules written in simplified language for the client, and the most “out-of-the-box functional” as possible. BUSINESS RULES
  16. 16. MIGRATION IN PHASES
  17. 17. Impacts Keep contents synchronized. Keep user profile updates synchronized. Learn from past errors and try to improve user experience. Permission system has to be implemented before anything else. Links to the legacy platform for every unmigrated contents. SSO between the legacy platform and Drupal. MIGRATION IN PHASES
  18. 18. Content & users synchronization Huge volumes of data to be managed on database side. Caching to be chosen wisely > every block of content is profiled. Classical media performance issues. Asynchronous profiling calculation Complex profiling calculation that needs to be fast to avoid locks on tables. One page = Multiple webparts access checks > Impacts on pageload. PERFORMANCE
  19. 19. SOLUTIONS THE DRUPAL WAY
  20. 20. To see and download all the slides for free : https://digital.actency.fr/ drupacon_2014_large_scale_ personalization_drupal (link in description)

×