Drupal Vs Other

2,888 views
2,784 views

Published on

Comparing Drupal CMS with Raw PHP coding. Presentation for AISEC conference ItEvent09 - http://aiesec-if.in.ua/news/88-it-event-anounce

inspired by Drupal Camp 2009 (http://camp09.drupal.ua/)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,888
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drupal Vs Other

  1. 1. Drupal vs. other
  2. 2. What/Where/Why ? <ul><li>www.drupal.org </li></ul><ul><li>www.drupal.ru </li></ul><ul><li>www.drupal.ua </li></ul>
  3. 3. Sites on Drupal <ul><li>Bukovel .com </li></ul><ul><li>Kazantipa .net </li></ul><ul><li>http://socialmedia.com.ua/ </li></ul><ul><li>http://www.nigraphic.com </li></ul><ul><li>http://mollom.com </li></ul><ul><li>http://www.ubercart.org </li></ul><ul><li>http://mollom.com </li></ul><ul><li>http://www.xomba.com/ </li></ul><ul><li>http://fobii.net/ </li></ul><ul><li>http://www.esw.org/ </li></ul><ul><li>http://foracamp.gr </li></ul>
  4. 4. Drupal Camp Kyiv 2009 <ul><li>Where? </li></ul><ul><li>What? </li></ul><ul><li>Who? </li></ul><ul><li>Why? </li></ul><ul><li>How? </li></ul><ul><li>So what? </li></ul>http://camp09. drupal.ua www.internetdevels.com
  5. 5. Comparison …
  6. 6. Development methods <ul><li>Дизайн - > Функц і онал </li></ul><ul><li>Vs </li></ul><ul><li>Функціонал - > Дизайн </li></ul>
  7. 7. НАПИЛЬНИК <ul><li>порождает основной объем работ </li></ul>
  8. 8. X - Drupal функционал на основании существующих модулей <ul><li>Сборка Drupal на модулях – 20 % </li></ul><ul><li>Работа напильником – 50 % </li></ul><ul><li>Css -инг – 30 % </li></ul>
  9. 9. raw vs. rapid development
  10. 10. Типичные ошибки и риски <ul><li>Производительность, хостинг </li></ul><ul><li>C истема требовательна к ресурсам, нужен хороший хостинг </li></ul><ul><li>Неправильная оценка мелочей (а это - работа напильником ) приводит к проблемам </li></ul><ul><li>О дин корявый SQL запрос валит всю систему </li></ul><ul><li>Интегратор и распределение обязанностей </li></ul><ul><li>Эксперименты в стиле тысячи клацаний проводить на отдельной копии </li></ul>
  11. 11. Drupal main advantages <ul><li>Module system </li></ul><ul><li>Multilanguage's </li></ul><ul><li>Content oriented </li></ul><ul><li>Categorizing ( Taxonomy, Vocabulary ) </li></ul><ul><li>Multimedia support </li></ul><ul><li>FILTERING – html, php, [bb], [rel] </li></ul><ul><li>Integration with most used JS frameworks (JQuery, Dojo, Mootools, YUI, Prototype) </li></ul><ul><li>Update status (core) </li></ul><ul><li>Statistics (core) </li></ul>
  12. 12. Content types <ul><li>page </li></ul><ul><li>story </li></ul><ul><li>image </li></ul><ul><li>blog entry </li></ul><ul><li>book page </li></ul><ul><li>forum topic </li></ul><ul><li>webform </li></ul><ul><li>… </li></ul>
  13. 13. Object $node - main content instance <ul><li>parent item </li></ul><ul><li>menu title </li></ul><ul><li>weight </li></ul><ul><li>title </li></ul><ul><li>body (+ rich editor, + min . N of words ) </li></ul><ul><li>tags </li></ul><ul><li>comment (add, configure) </li></ul><ul><li>multiple attachments </li></ul><ul><li>uid, name, picture </li></ul><ul><li>revisions (id, log, revision_uid) </li></ul><ul><li>author (name, date) </li></ul><ul><li>publish </li></ul><ul><li>promote to front page </li></ul><ul><li>sticky on top of lists </li></ul><ul><li>language (en, ru, ua) </li></ul><ul><li>translate </li></ul><ul><li>URL alias </li></ul><ul><li>books </li></ul><ul><li>metatags </li></ul><ul><li>image inline </li></ul><ul><li>image assist </li></ul>
  14. 14. Drupal Development <ul><li>Drupal Hooks and No Hacking – module, modules, sub-modules </li></ul><ul><li>Drupal Design ( themimg emplate) </li></ul><ul><li>Drupal Safe Code – Save yourself </li></ul><ul><li>Drupal Do - Help yourself </li></ul><ul><li>Drupal Performance Speed Up </li></ul>
  15. 15. Drupal Hooks (and it is not all API) <ul><ul><ul><li>_install </li></ul></ul></ul><ul><ul><ul><li>_schema </li></ul></ul></ul><ul><ul><ul><li>_update </li></ul></ul></ul><ul><ul><ul><li>_enable </li></ul></ul></ul><ul><ul><ul><li>_disable </li></ul></ul></ul><ul><ul><ul><li>_cron </li></ul></ul></ul><ul><ul><ul><li>_save </li></ul></ul></ul><ul><ul><ul><li>_load </li></ul></ul></ul><ul><ul><ul><li>_boot </li></ul></ul></ul><ul><ul><ul><li>_init (setup tasks) </li></ul></ul></ul><ul><ul><ul><li>_exit (clean up tasks) </li></ul></ul></ul><ul><ul><ul><li>_delete </li></ul></ul></ul><ul><ul><ul><li>_alter </li></ul></ul></ul><ul><ul><ul><li>_form </li></ul></ul></ul><ul><ul><ul><li>_validate </li></ul></ul></ul><ul><ul><ul><li>_submit </li></ul></ul></ul>
  16. 16. Drupal Template
  17. 17. Drupal Design (themimg emplate) <ul><li><head> </li></ul><ul><li><title> </li></ul><ul><li><?php print $head_title ; ?> </li></ul><ul><li></title> </li></ul><ul><li><?php print $head; ?> </li></ul><ul><li><?php print $styles; ?> </li></ul><ul><li><?php print $scripts; ?> </li></ul><ul><li></head> </li></ul><ul><li><body> </li></ul><ul><li><?php print $ left ; ?> </li></ul><ul><li><?php print $ content ; ?> </li></ul><ul><li><?php print $ right ; ?> </li></ul><ul><li></body> </li></ul>
  18. 18. Drupal Safe Code <ul><li>Do you make it safety ?  </li></ul>
  19. 19. “ Cross-site scripting” treating <ul><li>check_plain() </li></ul><ul><li>check_markup() </li></ul><ul><li>check_url() </li></ul><ul><li>t() </li></ul><ul><li>l() </li></ul><ul><li>db_query() </li></ul><ul><li>filter_xss_admin() </li></ul>
  20. 20. Drupal Do <ul><li>Project issues– like mantis, </li></ul><ul><li>Devel ( Генерация нодов , Вывод статистики исполненения , Информация об элементах темы , Отладочный вывод ) </li></ul><ul><li>Coder (review code) </li></ul><ul><li>Drush ( Командная строка Drupal , Plugins) </li></ul><ul><li>DTools => bench_chart and WSOD (emergency  ) </li></ul><ul><li>CCK+Views + Fields </li></ul><ul><li>Services ( AMFPHP , XMLRPC Server , sms) </li></ul><ul><li>* Masquarade * </li></ul>
  21. 21. Drupal Performance Speed Up <ul><li>Web Server (Apache, NGINX ) </li></ul><ul><li>DB (Indexes, Cache) </li></ul><ul><li>PHP </li></ul><ul><li>JS (packing) </li></ul><ul><li>CSS (Sprites) </li></ul><ul><li>Optimizers </li></ul>
  22. 22. … :( …  => Cache <ul><ul><ul><li>Yslow plugin for FireBug </li></ul></ul></ul><ul><ul><ul><li>Google page speed </li></ul></ul></ul><ul><ul><ul><li>Block.cache vs cron </li></ul></ul></ul><ul><ul><ul><li>Webo.in css sprites </li></ul></ul></ul><ul><ul><ul><li>CSS optimization (packing, internal option) </li></ul></ul></ul><ul><ul><ul><li>Aggressive cache mode </li></ul></ul></ul><ul><ul><ul><li>Webmin.com </li></ul></ul></ul><ul><ul><ul><li>Virtualmin </li></ul></ul></ul><ul><ul><ul><li>Boosting (make HTML page for further using) </li></ul></ul></ul><ul><ul><ul><li>Cache router </li></ul></ul></ul><ul><ul><ul><li>Memcache </li></ul></ul></ul><ul><ul><ul><li>On-code cash (APC, XCache, Zend optimizer, accelerator) </li></ul></ul></ul><ul><ul><ul><li>www.day32.com/mysql – script for optimizing (info only) </li></ul></ul></ul><ul><ul><ul><li>Cache SQL queries </li></ul></ul></ul><ul><ul><ul><li>DB replication </li></ul></ul></ul><ul><ul><ul><li>c all drupal_flush_all_caches () or menu_rebuild() </li></ul></ul></ul>
  23. 23. Multilanguage Support <ul><ul><li>Locale (locale.module) – общая поддержка дополнительных языков и перевод интерфейса </li></ul></ul><ul><ul><li>Content translation (translation.module) – перевод содержания, поиск и перевод строк из встроенного интерфейса ( code-based strings ). </li></ul></ul><ul><ul><li>i18n (with contributed sub-modules) – поиск и перевод строки из меню, блоков, таксономии и т.д. ( user-entered strings ). </li></ul></ul><ul><ul><li>PathAuto , для подстройки автоматических URL с учётом языка </li></ul></ul><ul><ul><li>Languageicons and Languageinterface - иконки, переключатели, и их управление </li></ul></ul><ul><ul><li>Многоязычные переменные : site_name, site_footer, theme_settings и т.п. прописываются в файле settings.php </li></ul></ul><ul><ul><li>Translatable fields </li></ul></ul>
  24. 24. Multisiting <ul><li>Domain </li></ul><ul><li>Domain Access </li></ul><ul><li>./sites/default </li></ul><ul><li>./sites/all </li></ul><ul><li>./sites/domain1 </li></ul><ul><li>./sites/domain2 </li></ul>
  25. 25. Additional Theme modules <ul><li>Frontpage </li></ul><ul><li>Theme developer (+Devel) </li></ul><ul><li>Lightbox, Thickbox, jLightbox </li></ul><ul><li>Front Page Slideshow </li></ul><ul><li>jQuery UI </li></ul><ul><li>jQuery plugins </li></ul>
  26. 26. Drupal Administer <ul><li>“ У Друпала огромная админка, даже за три клика не до всех страниц можно добраться. ” </li></ul><ul><li>http://drupal.org/project/ admin_menu </li></ul><ul><li>http://drupal.org/project/ nice_menus </li></ul><ul><li>http://drupal.org/project/ simplemenu </li></ul><ul><li>http://drupal.org/project/ dhtml_menu </li></ul><ul><li>http://drupal.org/project/ admin </li></ul><ul><li>http://drupal.org/project/ admin_dashboard </li></ul><ul><li>http://drupal.org/project/ admin_hover </li></ul><ul><li>http://drupal.org/project/ taxonomy_manager </li></ul><ul><li>“ Не важно, какое решение выбрать. ” </li></ul><ul><li>“ Важно, чтобы самые дальние страницы админки были доступны с минимумом загрузок страниц и кликов. ” </li></ul>
  27. 27. Drupal 7 - What, When, How? <ul><ul><ul><li>OOP ( “ Друпал 7 станет ООПэшнее “ => @neochief ) </li></ul></ul></ul><ul><ul><ul><li>Theme “seven” </li></ul></ul></ul><ul><ul><ul><li>RDF, </li></ul></ul></ul><ul><ul><ul><li>profiles (SN, simple) </li></ul></ul></ul><ul><ul><ul><li>Simpletest in core (TestDriven.class) </li></ul></ul></ul><ul><ul><ul><li>FieldsAPI + CCK +Views </li></ul></ul></ul><ul><ul><ul><li>Imagecache (with many effects) </li></ul></ul></ul><ul><ul><ul><li>PDO (PHP Data Object) </li></ul></ul></ul>
  28. 28. Drupal and SEO <ul><li>Page title </li></ul><ul><li>Nodetitles, Taxonomy title, Category title </li></ul><ul><li>Nodeteaser </li></ul><ul><li>Keywords, Nodewords (Metatags) </li></ul><ul><li>Google Verification (verify-v1) </li></ul><ul><li>Sitemenu, Menu tree, Bradcrumb </li></ul><ul><li>Book </li></ul><ul><li>Robotext </li></ul><ul><li>Tegadelic, Cumulus </li></ul><ul><li>Global redirect </li></ul><ul><li>Path auto (alieases) + URL alieases + Path module </li></ul><ul><li>SEO compline checker – checks for good SEO </li></ul><ul><li>SEO friend </li></ul>
  29. 29. Drupal and Analytics <ul><li>Sitemap </li></ul><ul><li>XML sitemap </li></ul><ul><li>Google Analytics </li></ul><ul><li>Yandex Metrika </li></ul><ul><li>Google web optimizer </li></ul><ul><li>Click Heatmap </li></ul><ul><li>Webform </li></ul><ul><li>Simple news </li></ul><ul><li>Event tracker </li></ul><ul><li>Worldstat </li></ul><ul><li>Semrush.com (org) </li></ul><ul><li>Site Audit </li></ul>
  30. 30. Drupal & Softjourn <ul><li>Drupal 4-6 development </li></ul><ul><li>Step-by-step, module-by-module … </li></ul><ul><li>Own module development for projects </li></ul><ul><li>Drupal as flexible content management </li></ul><ul><li>Drupal as social network </li></ul><ul><li>Drupal as multisite platform </li></ul>
  31. 31. Drupal & IT <ul><li>WEB 3.0 support </li></ul><ul><li>JS frameworks, AJAX, XML , XSLT , RSS </li></ul><ul><li>Ability for building Social Networks </li></ul><ul><li>Integration with payment systems </li></ul><ul><li>SEO and analytics support </li></ul><ul><li>Usability </li></ul><ul><li>Flash/Flex </li></ul>
  32. 32. Thanks to all <ul><li>Questions? </li></ul><ul><li>[email_address] </li></ul><ul><li>@LANDIKE </li></ul><ul><li>Skype: LAN_RESERACHER </li></ul><ul><li>= > to Lower Case ()  </li></ul>

×