Why Drupal is Rockstar?
-
Upload
gerald-villorente -
Category
Technology
-
view
511 -
download
4
description
Transcript of Why Drupal is Rockstar?
![Page 1: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/1.jpg)
2014 DevOps Day – Philippines2014 DevOps Day – PhilippinesFebruary 22, 2014February 22, 2014
Microsoft PhilippinesMicrosoft Philippines8th Floor, 6750 Ayala Ave., Makati City
![Page 2: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/2.jpg)
{ Drupal }{ Drupal } : Being a Rockstar : Being a Rockstar
Gerald Z. VillorenteDevOps Engineer | Drupal Developer | Open-Source EnthusiastDevOps Engineer | Drupal Developer | Open-Source Enthusiast
Gerald Z. VillorenteDevOps Engineer | Drupal Developer | Open-Source EnthusiastDevOps Engineer | Drupal Developer | Open-Source Enthusiast
![Page 3: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/3.jpg)
CommunityCommunity CodeCode DeploymentDeployment SecuritySecurity PerformancePerformance FlexibilityFlexibility DocumentationDocumentation DrushDrush Content ManagementContent Management
CommunityCommunity CodeCode DeploymentDeployment SecuritySecurity PerformancePerformance FlexibilityFlexibility DocumentationDocumentation DrushDrush Content ManagementContent Management
Agenda:Agenda:
![Page 4: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/4.jpg)
CommunityCommunityDrupal is one of the largest open-source community in the planet.Drupal is one of the largest open-source community in the planet.
CommunityCommunityDrupal is one of the largest open-source community in the planet.Drupal is one of the largest open-source community in the planet.
![Page 5: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/5.jpg)
April 2013April 2013April 2013April 2013
![Page 6: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/6.jpg)
31,721 31,721 DevelopersDevelopers
31,721 31,721 DevelopersDevelopers
![Page 7: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/7.jpg)
1,034,669 1,034,669 Active UsersActive Users1,034,669 1,034,669
Active UsersActive Users
![Page 8: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/8.jpg)
MediumMediumIRC, Stackoverflow, D.O forum, ...IRC, Stackoverflow, D.O forum, ...
MediumMediumIRC, Stackoverflow, D.O forum, ...IRC, Stackoverflow, D.O forum, ...
![Page 9: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/9.jpg)
CodeCodeDrupal is one of the largest open-source community in the planet.Drupal is one of the largest open-source community in the planet.
CodeCodeDrupal is one of the largest open-source community in the planet.Drupal is one of the largest open-source community in the planet.
![Page 10: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/10.jpg)
PHPPHPPHPPHP
![Page 11: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/11.jpg)
Community Community ContributionsContributionsCommunity Community
ContributionsContributions
![Page 12: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/12.jpg)
25,58525,585 Modules Modules25,58525,585 Modules Modules
![Page 13: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/13.jpg)
1,9411,941 ThemesThemes1,9411,941 ThemesThemes
![Page 14: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/14.jpg)
765765 DistributionsDistributions765765 DistributionsDistributions
![Page 15: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/15.jpg)
2,5402,540Code commitsCode commits
Just this week.Just this week.
2,5402,540Code commitsCode commits
Just this week.Just this week.
![Page 16: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/16.jpg)
5,4205,420Issue CommentsIssue Comments
Just this week.Just this week.
5,4205,420Issue CommentsIssue Comments
Just this week.Just this week.
![Page 17: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/17.jpg)
Coding StandardCoding StandardThe Drupal Coding Standards apply to code within Drupal and its The Drupal Coding Standards apply to code within Drupal and its
contributed modules. contributed modules.
Coding StandardCoding StandardThe Drupal Coding Standards apply to code within Drupal and its The Drupal Coding Standards apply to code within Drupal and its
contributed modules. contributed modules.
![Page 18: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/18.jpg)
Indenting and Indenting and WhitespaceWhitespace
Use an indent of 2 spaces, with no tabs.Use an indent of 2 spaces, with no tabs.
Indenting and Indenting and WhitespaceWhitespace
Use an indent of 2 spaces, with no tabs.Use an indent of 2 spaces, with no tabs.
![Page 19: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/19.jpg)
OperatorsOperatorsAll binary operators (operators that come between two values), such All binary operators (operators that come between two values), such
as +, -, =, !=, ==, >, etc. should have a space before and after the as +, -, =, !=, ==, >, etc. should have a space before and after the operator, for readability.operator, for readability.
OperatorsOperatorsAll binary operators (operators that come between two values), such All binary operators (operators that come between two values), such
as +, -, =, !=, ==, >, etc. should have a space before and after the as +, -, =, !=, ==, >, etc. should have a space before and after the operator, for readability.operator, for readability.
![Page 20: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/20.jpg)
CastingCastingPut a space between the (type) and the $variable in a cast: Put a space between the (type) and the $variable in a cast:
(int) $mynumber.(int) $mynumber.
CastingCastingPut a space between the (type) and the $variable in a cast: Put a space between the (type) and the $variable in a cast:
(int) $mynumber.(int) $mynumber.
![Page 21: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/21.jpg)
Control Control StructuresStructures
Control structures include if, for, while, switch, etc.Control structures include if, for, while, switch, etc.
Note:Note: Don't use "else if" -- always use elseif. Don't use "else if" -- always use elseif.
Control Control StructuresStructures
Control structures include if, for, while, switch, etc.Control structures include if, for, while, switch, etc.
Note:Note: Don't use "else if" -- always use elseif. Don't use "else if" -- always use elseif.
![Page 22: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/22.jpg)
Alternate control Alternate control statement statement
syntax for templatessyntax for templatesIn templates, the alternate control statement syntax using : instead In templates, the alternate control statement syntax using : instead
of brackets is allowed. of brackets is allowed.
Alternate control Alternate control statement statement
syntax for templatessyntax for templatesIn templates, the alternate control statement syntax using : instead In templates, the alternate control statement syntax using : instead
of brackets is allowed. of brackets is allowed.
![Page 23: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/23.jpg)
Line length Line length and wrappingand wrapping
In general, all lines of code should not be longer than 80 chars. In general, all lines of code should not be longer than 80 chars. Lines containing longer function names, function/class definitions, Lines containing longer function names, function/class definitions,
variable declarations, etc are allowed to exceed 80 chars. variable declarations, etc are allowed to exceed 80 chars. Control structure conditions may exceed 80 chars, if they are Control structure conditions may exceed 80 chars, if they are simple to read and understand. simple to read and understand. Conditions should not be wrapped into multiple lines.Conditions should not be wrapped into multiple lines.
Line length Line length and wrappingand wrapping
In general, all lines of code should not be longer than 80 chars. In general, all lines of code should not be longer than 80 chars. Lines containing longer function names, function/class definitions, Lines containing longer function names, function/class definitions,
variable declarations, etc are allowed to exceed 80 chars. variable declarations, etc are allowed to exceed 80 chars. Control structure conditions may exceed 80 chars, if they are Control structure conditions may exceed 80 chars, if they are simple to read and understand. simple to read and understand. Conditions should not be wrapped into multiple lines.Conditions should not be wrapped into multiple lines.
![Page 24: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/24.jpg)
Function CallsFunction CallsFunctions should be called with no spaces between the function Functions should be called with no spaces between the function name, the opening parenthesis, and the first parameter; spaces name, the opening parenthesis, and the first parameter; spaces
between commas and each parameter, and no space between the between commas and each parameter, and no space between the last parameter, the closing parenthesis, and the semicolon.last parameter, the closing parenthesis, and the semicolon.
Function CallsFunction CallsFunctions should be called with no spaces between the function Functions should be called with no spaces between the function name, the opening parenthesis, and the first parameter; spaces name, the opening parenthesis, and the first parameter; spaces
between commas and each parameter, and no space between the between commas and each parameter, and no space between the last parameter, the closing parenthesis, and the semicolon.last parameter, the closing parenthesis, and the semicolon.
![Page 25: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/25.jpg)
Function Function DeclarationsDeclarations
Arguments with default values go at the end of the argument list.Arguments with default values go at the end of the argument list.
Function Function DeclarationsDeclarations
Arguments with default values go at the end of the argument list.Arguments with default values go at the end of the argument list.
![Page 26: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/26.jpg)
Class Class Constructor CallsConstructor CallsWhen calling class constructors with no arguments, always include When calling class constructors with no arguments, always include parentheses. This is to maintain consistency with constructors that parentheses. This is to maintain consistency with constructors that
have arguments.have arguments.
Class Class Constructor CallsConstructor CallsWhen calling class constructors with no arguments, always include When calling class constructors with no arguments, always include parentheses. This is to maintain consistency with constructors that parentheses. This is to maintain consistency with constructors that
have arguments.have arguments.
![Page 27: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/27.jpg)
ArraysArraysArrays should be formatted with a space separating each element Arrays should be formatted with a space separating each element
(after the comma), and spaces around the => key association (after the comma), and spaces around the => key association operator.operator.
ArraysArraysArrays should be formatted with a space separating each element Arrays should be formatted with a space separating each element
(after the comma), and spaces around the => key association (after the comma), and spaces around the => key association operator.operator.
![Page 28: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/28.jpg)
String String ConcatenationsConcatenations
Always use a space between the dot and the concatenated parts to Always use a space between the dot and the concatenated parts to improve readability.improve readability.
String String ConcatenationsConcatenations
Always use a space between the dot and the concatenated parts to Always use a space between the dot and the concatenated parts to improve readability.improve readability.
![Page 29: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/29.jpg)
PHP Code TagsPHP Code TagsAlways use <?php to delimit PHP code, not the shorthand, <? . Always use <?php to delimit PHP code, not the shorthand, <? .
PHP Code TagsPHP Code TagsAlways use <?php to delimit PHP code, not the shorthand, <? . Always use <?php to delimit PHP code, not the shorthand, <? .
![Page 30: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/30.jpg)
SemicolonsSemicolonsThe PHP language requires semicolons at the end of most lines, but The PHP language requires semicolons at the end of most lines, but allows them to be omitted at the end of code blocks. Drupal coding allows them to be omitted at the end of code blocks. Drupal coding
standards require them, even at the end of code blocks.standards require them, even at the end of code blocks.
SemicolonsSemicolonsThe PHP language requires semicolons at the end of most lines, but The PHP language requires semicolons at the end of most lines, but allows them to be omitted at the end of code blocks. Drupal coding allows them to be omitted at the end of code blocks. Drupal coding
standards require them, even at the end of code blocks.standards require them, even at the end of code blocks.
![Page 31: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/31.jpg)
Example URLsExample URLsUse "example.com" for all example URLs, per Use "example.com" for all example URLs, per RFC 2606RFC 2606..
Example URLsExample URLsUse "example.com" for all example URLs, per Use "example.com" for all example URLs, per RFC 2606RFC 2606..
![Page 32: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/32.jpg)
Naming Naming ConventionsConventions
Naming Naming ConventionsConventions
![Page 33: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/33.jpg)
Functions Functions and variablesand variables
Functions and variables should be named using lowercase, and words Functions and variables should be named using lowercase, and words should be separated with an underscore. Functions should in should be separated with an underscore. Functions should in
addition have the grouping/module name as a prefix, to avoid name addition have the grouping/module name as a prefix, to avoid name collisions between modules.collisions between modules.
Functions Functions and variablesand variables
Functions and variables should be named using lowercase, and words Functions and variables should be named using lowercase, and words should be separated with an underscore. Functions should in should be separated with an underscore. Functions should in
addition have the grouping/module name as a prefix, to avoid name addition have the grouping/module name as a prefix, to avoid name collisions between modules.collisions between modules.
Naming Conventions:Naming Conventions:
![Page 34: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/34.jpg)
Persistent Persistent VariablesVariables
Persistent variables (Persistent variables (variables/settings defined using Drupal's variables/settings defined using Drupal's variable_get()/variable_set() functionsvariable_get()/variable_set() functions) should be named using all ) should be named using all
lowercase letters, and words should be separated with an lowercase letters, and words should be separated with an underscore. They should use the grouping/module name as a prefix, underscore. They should use the grouping/module name as a prefix,
to avoid name collisions between modules.to avoid name collisions between modules.
Persistent Persistent VariablesVariables
Persistent variables (Persistent variables (variables/settings defined using Drupal's variables/settings defined using Drupal's variable_get()/variable_set() functionsvariable_get()/variable_set() functions) should be named using all ) should be named using all
lowercase letters, and words should be separated with an lowercase letters, and words should be separated with an underscore. They should use the grouping/module name as a prefix, underscore. They should use the grouping/module name as a prefix,
to avoid name collisions between modules.to avoid name collisions between modules.
Naming Conventions:Naming Conventions:
![Page 35: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/35.jpg)
ConstantsConstants Constants should always be all-uppercase, with underscores to Constants should always be all-uppercase, with underscores to
separate words. (This includes pre-defined PHP constants like separate words. (This includes pre-defined PHP constants like TRUETRUE, , FALSEFALSE, and , and NULLNULL.).)
Module-defined constant names should also be prefixed by an Module-defined constant names should also be prefixed by an uppercase spelling of the module that defines them.uppercase spelling of the module that defines them.
In Drupal 8 and later, constants should be defined using the In Drupal 8 and later, constants should be defined using the constconst PHP language keyword (instead of define()), because it is better for PHP language keyword (instead of define()), because it is better for
performance. Ex: performance. Ex: <?php<?php const CACHE_TEMPORARY = -1; ?>const CACHE_TEMPORARY = -1; ?>
ConstantsConstants Constants should always be all-uppercase, with underscores to Constants should always be all-uppercase, with underscores to
separate words. (This includes pre-defined PHP constants like separate words. (This includes pre-defined PHP constants like TRUETRUE, , FALSEFALSE, and , and NULLNULL.).)
Module-defined constant names should also be prefixed by an Module-defined constant names should also be prefixed by an uppercase spelling of the module that defines them.uppercase spelling of the module that defines them.
In Drupal 8 and later, constants should be defined using the In Drupal 8 and later, constants should be defined using the constconst PHP language keyword (instead of define()), because it is better for PHP language keyword (instead of define()), because it is better for
performance. Ex: performance. Ex: <?php<?php const CACHE_TEMPORARY = -1; ?>const CACHE_TEMPORARY = -1; ?>
Naming Conventions:Naming Conventions:
![Page 36: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/36.jpg)
Global VariablesGlobal VariablesIf you need to define global variables, their name should start with If you need to define global variables, their name should start with
a single underscore followed by the module/theme name and a single underscore followed by the module/theme name and another underscore.another underscore.
Global VariablesGlobal VariablesIf you need to define global variables, their name should start with If you need to define global variables, their name should start with
a single underscore followed by the module/theme name and a single underscore followed by the module/theme name and another underscore.another underscore.
Naming Conventions:Naming Conventions:
![Page 37: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/37.jpg)
ClassesClassesSee - See - https://drupal.org/node/608152https://drupal.org/node/608152
ClassesClassesSee - See - https://drupal.org/node/608152https://drupal.org/node/608152
Naming Conventions:Naming Conventions:
![Page 38: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/38.jpg)
File namesFile namesAll documentation files should have the file name extension ".txt" All documentation files should have the file name extension ".txt" to make viewing them on Windows systems easier. Also, the file to make viewing them on Windows systems easier. Also, the file
names for such files should be all-caps (e.g. README.txt instead of names for such files should be all-caps (e.g. README.txt instead of readme.txt) while the extension itself is all-lowercase (i.e. txt readme.txt) while the extension itself is all-lowercase (i.e. txt
instead of TXT).instead of TXT).
File namesFile namesAll documentation files should have the file name extension ".txt" All documentation files should have the file name extension ".txt" to make viewing them on Windows systems easier. Also, the file to make viewing them on Windows systems easier. Also, the file
names for such files should be all-caps (e.g. README.txt instead of names for such files should be all-caps (e.g. README.txt instead of readme.txt) while the extension itself is all-lowercase (i.e. txt readme.txt) while the extension itself is all-lowercase (i.e. txt
instead of TXT).instead of TXT).
Naming Conventions:Naming Conventions:
![Page 39: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/39.jpg)
Helper ModulesHelper ModulesHelper ModulesHelper Modules
![Page 40: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/40.jpg)
CoderCoderUsing Using PHP_CodesnifferPHP_Codesniffer, Coder includes “, Coder includes “Coder ReviewCoder Review” module that ” module that
can be use to check the Drupal coding standard of your custom can be use to check the Drupal coding standard of your custom modules, themes, css, and javascript.modules, themes, css, and javascript.
CoderCoderUsing Using PHP_CodesnifferPHP_Codesniffer, Coder includes “, Coder includes “Coder ReviewCoder Review” module that ” module that
can be use to check the Drupal coding standard of your custom can be use to check the Drupal coding standard of your custom modules, themes, css, and javascript.modules, themes, css, and javascript.
Helper Modules:Helper Modules:
![Page 41: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/41.jpg)
DreditorDreditorA browser plug-in for reviewing patches and more.A browser plug-in for reviewing patches and more.
DreditorDreditorA browser plug-in for reviewing patches and more.A browser plug-in for reviewing patches and more.
Helper Modules:Helper Modules:
![Page 42: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/42.jpg)
PAReviewPAReviewA set of scripts for reviewing project applications, which runs some A set of scripts for reviewing project applications, which runs some
coding tests.coding tests.
PAReviewPAReviewA set of scripts for reviewing project applications, which runs some A set of scripts for reviewing project applications, which runs some
coding tests.coding tests.
Helper Modules:Helper Modules:
![Page 43: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/43.jpg)
PAReviewPAReviewA set of scripts for reviewing project applications, which runs some A set of scripts for reviewing project applications, which runs some
coding tests.coding tests.
PAReviewPAReviewA set of scripts for reviewing project applications, which runs some A set of scripts for reviewing project applications, which runs some
coding tests.coding tests.
Helper Modules:Helper Modules:
![Page 44: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/44.jpg)
Grammar ParserGrammar ParserProvides an automated way of rewriting code files in compliance Provides an automated way of rewriting code files in compliance
with code standards.with code standards.
Grammar ParserGrammar ParserProvides an automated way of rewriting code files in compliance Provides an automated way of rewriting code files in compliance
with code standards.with code standards.
Helper Modules:Helper Modules:
![Page 45: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/45.jpg)
I hate doing I hate doing manual code manual code
review! review! Can I automate it? Can I automate it? DLADLA!!
I hate doing I hate doing manual code manual code
review! review! Can I automate it? Can I automate it? DLADLA!!
![Page 46: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/46.jpg)
DevOps DevOps Loves Loves
AutomationAutomationIf you're using version control, you can take advantage the “If you're using version control, you can take advantage the “hookhook” ”
feature in automating all reviews. You can combine feature in automating all reviews. You can combine Bash/PHP/Perl/Python script, Drush, and Coder to do the job.Bash/PHP/Perl/Python script, Drush, and Coder to do the job.
DevOps DevOps Loves Loves
AutomationAutomationIf you're using version control, you can take advantage the “If you're using version control, you can take advantage the “hookhook” ”
feature in automating all reviews. You can combine feature in automating all reviews. You can combine Bash/PHP/Perl/Python script, Drush, and Coder to do the job.Bash/PHP/Perl/Python script, Drush, and Coder to do the job.
![Page 47: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/47.jpg)
DeploymentDeploymentDeploymentDeployment
![Page 48: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/48.jpg)
FeaturesFeaturesEnables the capture and management of features in Drupal. A feature Enables the capture and management of features in Drupal. A feature
is a collection of Drupal entities which taken together satisfy a is a collection of Drupal entities which taken together satisfy a certain use-case.certain use-case.
FeaturesFeaturesEnables the capture and management of features in Drupal. A feature Enables the capture and management of features in Drupal. A feature
is a collection of Drupal entities which taken together satisfy a is a collection of Drupal entities which taken together satisfy a certain use-case.certain use-case.
Deployment:Deployment:
![Page 49: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/49.jpg)
Configuration Configuration ManagementManagement
Enables the ability to keep track of specific configurations on a Enables the ability to keep track of specific configurations on a Drupal site, provides the ability to move these configurations Drupal site, provides the ability to move these configurations
between different environments (local, dev, qa, prod), and also between different environments (local, dev, qa, prod), and also move configurations between completely different sites (migrate move configurations between completely different sites (migrate configurations) without the use of modules with all configuration configurations) without the use of modules with all configuration
being owned by the site.being owned by the site.
Configuration Configuration ManagementManagement
Enables the ability to keep track of specific configurations on a Enables the ability to keep track of specific configurations on a Drupal site, provides the ability to move these configurations Drupal site, provides the ability to move these configurations
between different environments (local, dev, qa, prod), and also between different environments (local, dev, qa, prod), and also move configurations between completely different sites (migrate move configurations between completely different sites (migrate configurations) without the use of modules with all configuration configurations) without the use of modules with all configuration
being owned by the site.being owned by the site.
Deployment:Deployment:
![Page 50: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/50.jpg)
hook_update_N()hook_update_N()Perform a single update. Called by Perform a single update. Called by update.phpupdate.php or or drush updbdrush updb..
hook_update_N()hook_update_N()Perform a single update. Called by Perform a single update. Called by update.phpupdate.php or or drush updbdrush updb..
Deployment:Deployment:
![Page 51: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/51.jpg)
SecuritySecurityDrupal is one of the most secure open-source CMS/CMF project on Drupal is one of the most secure open-source CMS/CMF project on
the planet. Don't argue with me!the planet. Don't argue with me!
SecuritySecurityDrupal is one of the most secure open-source CMS/CMF project on Drupal is one of the most secure open-source CMS/CMF project on
the planet. Don't argue with me!the planet. Don't argue with me!
![Page 52: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/52.jpg)
Roles Roles and Permissionsand Permissions
Roles Roles and Permissionsand Permissions
Security:Security:
![Page 53: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/53.jpg)
Security TeamSecurity Team Perform analysis of core or contributed project code.Perform analysis of core or contributed project code. Resolve reported security issues in a Security Advisory.Resolve reported security issues in a Security Advisory. Provide assistance for contributed module maintainers in resolving Provide assistance for contributed module maintainers in resolving security issues. security issues. Provide documentation on how to write secure code.Provide documentation on how to write secure code. Provide documentation on securing your site.Provide documentation on securing your site.
Security TeamSecurity Team Perform analysis of core or contributed project code.Perform analysis of core or contributed project code. Resolve reported security issues in a Security Advisory.Resolve reported security issues in a Security Advisory. Provide assistance for contributed module maintainers in resolving Provide assistance for contributed module maintainers in resolving security issues. security issues. Provide documentation on how to write secure code.Provide documentation on how to write secure code. Provide documentation on securing your site.Provide documentation on securing your site.
Security:Security:
![Page 54: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/54.jpg)
PerformancePerformanceGood integration with Varnish, NginX, Memcache, etcGood integration with Varnish, NginX, Memcache, etc
PerformancePerformanceGood integration with Varnish, NginX, Memcache, etcGood integration with Varnish, NginX, Memcache, etc
![Page 55: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/55.jpg)
CachingCachingCachingCaching
![Page 56: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/56.jpg)
MemcacheMemcacheGit / t/ is a distributed ɡɪGit / t/ is a distributed ɡɪ revision controlrevision control and source code and source code
management (SCM) system with an emphasis on speed. management (SCM) system with an emphasis on speed. - Wikipedia- Wikipedia
MemcacheMemcacheGit / t/ is a distributed ɡɪGit / t/ is a distributed ɡɪ revision controlrevision control and source code and source code
management (SCM) system with an emphasis on speed. management (SCM) system with an emphasis on speed. - Wikipedia- Wikipedia
Caching:Caching:
![Page 57: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/57.jpg)
VarnishVarnishVarnish is an HTTP accelerator designed for content-heavy dynamic Varnish is an HTTP accelerator designed for content-heavy dynamic
web sites.web sites.
VarnishVarnishVarnish is an HTTP accelerator designed for content-heavy dynamic Varnish is an HTTP accelerator designed for content-heavy dynamic
web sites.web sites.
Caching:Caching:
![Page 58: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/58.jpg)
BoostBoostBoost provides static page caching for Drupal enabling a very Boost provides static page caching for Drupal enabling a very
significant performance and scalability boost for sites that receive significant performance and scalability boost for sites that receive mostly mostly anonymous trafficanonymous traffic. For shared hosting this is your best option . For shared hosting this is your best option
in terms of improving performance.in terms of improving performance.
BoostBoostBoost provides static page caching for Drupal enabling a very Boost provides static page caching for Drupal enabling a very
significant performance and scalability boost for sites that receive significant performance and scalability boost for sites that receive mostly mostly anonymous trafficanonymous traffic. For shared hosting this is your best option . For shared hosting this is your best option
in terms of improving performance.in terms of improving performance.
Caching:Caching:
![Page 59: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/59.jpg)
APCAPCOpcode cache for PHP.Opcode cache for PHP.
APCAPCOpcode cache for PHP.Opcode cache for PHP.
Caching:Caching:
![Page 60: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/60.jpg)
FlexibilityFlexibilityFlexibilityFlexibility
![Page 61: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/61.jpg)
HooksHooksInternal Drupal callbacks.Internal Drupal callbacks.
HooksHooksInternal Drupal callbacks.Internal Drupal callbacks.
Flexibility:Flexibility:
![Page 62: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/62.jpg)
APIAPIApplication Programming Interface, a particular set of code and Application Programming Interface, a particular set of code and
specs that software programs can follow to communicate with each specs that software programs can follow to communicate with each other.other.
APIAPIApplication Programming Interface, a particular set of code and Application Programming Interface, a particular set of code and
specs that software programs can follow to communicate with each specs that software programs can follow to communicate with each other.other.
Flexibility:Flexibility:
![Page 63: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/63.jpg)
Plethora of Plethora of Contributed Modules Contributed Modules
and Themesand Themes
Plethora of Plethora of Contributed Modules Contributed Modules
and Themesand Themes
Flexibility:Flexibility:
![Page 64: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/64.jpg)
DocumentationDocumentationDocumentationDocumentation
![Page 65: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/65.jpg)
DrushDrushThe coolest CLI tool to manage your Drupal site.The coolest CLI tool to manage your Drupal site.
DrushDrushThe coolest CLI tool to manage your Drupal site.The coolest CLI tool to manage your Drupal site.
![Page 66: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/66.jpg)
Use in Use in DeploymentDeployment
Use in Use in DeploymentDeployment
Drush:Drush:
![Page 67: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/67.jpg)
Remote Remote ManagementManagement
Site alias. Site alias. Ex: drush @[SITE].[ENV] vset maintenance_mode 0 -yEx: drush @[SITE].[ENV] vset maintenance_mode 0 -y
Remote Remote ManagementManagement
Site alias. Site alias. Ex: drush @[SITE].[ENV] vset maintenance_mode 0 -yEx: drush @[SITE].[ENV] vset maintenance_mode 0 -y
Drush:Drush:
![Page 68: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/68.jpg)
Module Module ManagementManagement
Module Module ManagementManagement
Drush:Drush:
![Page 69: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/69.jpg)
User User ManagementManagement
User User ManagementManagement
Drush:Drush:
![Page 70: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/70.jpg)
Role Role ManagementManagement
Role Role ManagementManagement
Drush:Drush:
![Page 71: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/71.jpg)
DB ManagementDB ManagementDB ManagementDB Management
Drush:Drush:
![Page 72: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/72.jpg)
BackupBackupBackupBackup
Drush:Drush:
![Page 73: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/73.jpg)
Clearing of CacheClearing of CacheClearing of CacheClearing of Cache
Drush:Drush:
![Page 74: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/74.jpg)
Site Site MaintenanceMaintenance
Site Site MaintenanceMaintenance
Drush:Drush:
![Page 75: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/75.jpg)
Content Content ManagementManagement
Content Content ManagementManagement
![Page 76: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/76.jpg)
TaxonomyTaxonomyA powerful category system (taxonomy) that allows you to organize A powerful category system (taxonomy) that allows you to organize
and tag content.and tag content.
TaxonomyTaxonomyA powerful category system (taxonomy) that allows you to organize A powerful category system (taxonomy) that allows you to organize
and tag content.and tag content.
Content Management:Content Management:
![Page 77: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/77.jpg)
Content TypesContent TypesArticle, News, Events, Listings, etc ...Article, News, Events, Listings, etc ...
Content TypesContent TypesArticle, News, Events, Listings, etc ...Article, News, Events, Listings, etc ...
Content Management:Content Management:
![Page 78: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/78.jpg)
Questions?Questions?Questions?Questions?
![Page 79: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/79.jpg)
Thank You!Thank You!Thank You!Thank You!
![Page 80: Why Drupal is Rockstar?](https://reader033.fdocuments.in/reader033/viewer/2022052303/54b6b1ff4a79599f7b8b4694/html5/thumbnails/80.jpg)
1. 1. http://drupal.orghttp://drupal.org2. 2. http://drupal.stackexchange.comhttp://drupal.stackexchange.com3. 3. https://drupal.org/communityhttps://drupal.org/community4. https://drupal.org/coding-standards4. https://drupal.org/coding-standards5. https://drupal.org/developing/best-practices5. https://drupal.org/developing/best-practices6. 6. http://stauffer.com/blog/2013/03/22/why-drupal-greatest-cms-earthhttp://stauffer.com/blog/2013/03/22/why-drupal-greatest-cms-earth7. 7. http://drush.wshttp://drush.ws8. https://github.com/drush-ops/drush8. https://github.com/drush-ops/drush
1. 1. http://drupal.orghttp://drupal.org2. 2. http://drupal.stackexchange.comhttp://drupal.stackexchange.com3. 3. https://drupal.org/communityhttps://drupal.org/community4. https://drupal.org/coding-standards4. https://drupal.org/coding-standards5. https://drupal.org/developing/best-practices5. https://drupal.org/developing/best-practices6. 6. http://stauffer.com/blog/2013/03/22/why-drupal-greatest-cms-earthhttp://stauffer.com/blog/2013/03/22/why-drupal-greatest-cms-earth7. 7. http://drush.wshttp://drush.ws8. https://github.com/drush-ops/drush8. https://github.com/drush-ops/drush
References:References:References:References: