Pro Drupal 7 Development: [learn how to use the content management framework to create powerful customized web sites]
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
New York, NY
Apress
2010
|
Ausgabe: | 3. ed. |
Schriftenreihe: | The expert's voice in open source
Books for professionals by professionals |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXIX, 689 S. graph. Darst. |
ISBN: | 9781430228387 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV037208981 | ||
003 | DE-604 | ||
005 | 20130920 | ||
007 | t | ||
008 | 110207s2010 d||| |||| 00||| eng d | ||
020 | |a 9781430228387 |c Print |9 978-1-4302-2838-7 | ||
035 | |a (OCoLC)760111680 | ||
035 | |a (DE-599)BSZ336518595 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-523 |a DE-473 |a DE-824 | ||
084 | |a AP 18450 |0 (DE-625)7053: |2 rvk | ||
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
100 | 1 | |a Tomlinson, Todd |e Verfasser |0 (DE-588)142907316 |4 aut | |
245 | 1 | 0 | |a Pro Drupal 7 Development |b [learn how to use the content management framework to create powerful customized web sites] |c Todd Tomlinson ; John K. VanDyke |
250 | |a 3. ed. | ||
264 | 1 | |a New York, NY |b Apress |c 2010 | |
300 | |a XXIX, 689 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The expert's voice in open source | |
490 | 0 | |a Books for professionals by professionals | |
650 | 0 | 7 | |a Drupal |0 (DE-588)7522644-3 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Drupal |0 (DE-588)7522644-3 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a VanDyk, John K. |e Verfasser |0 (DE-588)137847637 |4 aut | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-1-4302-2839-4 |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=021123079&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-021123079 |
Datensatz im Suchindex
_version_ | 1804143801064751104 |
---|---|
adam_text | Titel: Pro Drupal 7 Development
Autor: Tomlinson, Todd
Jahr: 2010
Contents
Foreword................................................................................................................xxv
About the Authors..................................................................................................xxvi
About the Technical Reviewers............................................................................xxvii
Acknowledgments...............................................................................................xxviii
Introduction...........................................................................................................xxix
¦Chapter 1: How Drupal Works.................................................................................1
What Is Drupal?.................................................................................................................1
Technology Stack..............................................................................................................1
Core...................................................................................................................................2
Administrative Interface....................................................................................................3
Modules.............................................................................................................................3
Hooks.................................................................................................................................5
Themes..............................................................................................................................5
Nodes.................................................................................................................................6
Fields.................................................................................................................................6
Blocks................................................................................................................................6
File Layout.........................................................................................................................6
Serving a Request..............................................................................................................9
The Web Server s Role.............................................................................................................................9
The Bootstrap Process............................................................................................................................10
i CONTENTS
Processing a Request.............................................................................................................................10
Theming the Data...................................................................................................................................11
Summary.........................................................................................................................11
Chapter 2: Writing a Module..................................................................................13
Creating the Files.............................................................................................................13
Implementing a Hook.......................................................................................................15
Adding Module-Specific Settings....................................................................................17
Defining Your Own Administration Section......................................................................25
Presenting a Settings Form to the User...........................................................................26
Validating User-Submitted Settings.................................................................................29
Storing Settings...............................................................................................................29
Using Drupal s variables Table...............................................................................................................29
Retrieving Stored Values with variable_get().........................................................................................30
Further Steps...................................................................................................................30
Summary.........................................................................................................................31
Chapter 3: Hooks, Actions, and Triggers...............................................................33
Understanding Events and Triggers.................................................................................33
Understanding Actions.....................................................................................................35
The Trigger User Interface......................................................................................................................35
Your First Action.....................................................................................................................................38
Assigning the Action...............................................................................................................................39
Changing Which Triggers an Action Supports........................................................................................40
Using the Context in Actions............................................................................................45
How the Trigger Module Prepares the Context.......................................................................................45
Changing Existing Actions with action_info_alterO................................................................................46
Establishing the Context.........................................................................................................................47
VI
it CONTENTS
How Actions Are Stored...................................................................................................49
The actions Table...................................................................................................................................49
Action IDs...............................................................................................................................................49
Calling an Action Directly with actions_doO....................................................................50
Defining Your Own Triggers with hookjriggerjnfou.....................................................51
Adding Triggers to Existing Hooks...................................................................................54
Summary.........................................................................................................................55
IChapter 4: The Menu System.................................................................................57
Callback Mapping............................................................................................................57
Mapping URLs to Functions.............................................................................................57
Creating a Menu Item......................................................................................................61
Page Callback Arguments................................................................................................64
Page Callbacks in Other Files..........................................................................................67
Adding a Link to the Navigation Block.............................................................................68
Menu Nesting...................................................................................................................69
Access Control.................................................................................................................70
Title Localization and Customization...............................................................................72
Defining a Title Callback..................................................................................................72
Wildcards in Menu Items.................................................................................................74
Basic Wildcards......................................................................................................................................74
Wildcards and Page Callback Parameters..............................................................................................75
Using the Value of a Wildcard.................................................................................................................75
Wildcards and Parameter Replacement.................................................................................................77
Passing Additional Arguments to the Load Function..............................................................................78
Special, Predefined Load Arguments: %map and %index.....................................................................79
Building Paths from Wildcards Using to_argO Functions.......................................................................79
Special Cases for Wildcards and to_argO Functions..............................................................................79
vu
m CONTENTS
Altering Menu Items from Other Modules........................................................................80
Altering Menu Links from Other Modules........................................................................82
Kinds of Menu Items........................................................................................................82
Common Tasks................................................................................................................84
Assigning Callbacks Without Adding a Link to the Menu.......................................................................85
Displaying Menu Items As Tabs..............................................................................................................85
Hiding Existing Menu Items....................................................................................................................87
Using menu.module................................................................................................................................87
Common Mistakes..................................................................................................................................88
Summary.........................................................................................................................88
Chapter 5: Working with Databases......................................................................89
Defining Database Parameters........................................................................................89
Understanding the Database Abstraction Layer..............................................................90
Connecting to the Database.............................................................................................91
Performing Simple Queries..............................................................................................92
Retrieving Query Results.................................................................................................93
Getting a Single Value............................................................................................................................94
Getting Multiple Rows............................................................................................................................94
Using the Query Builder and Query Objects............................................................................................94
Getting a Limited Range of Results........................................................................................................95
Getting Results for Paged Display..........................................................................................................96
Other Common Queries..........................................................................................................................97
Inserts and Updates with drupal_write_recordO.............................................................98
The Schema API...............................................................................................................99
Using Module .install Files....................................................................................................................100
Creating Tables.....................................................................................................................................100
Using the Schema Module....................................................................................................................102
Field Type Mapping from Schema to Database....................................................................................103
vm
CONTENTS
Declaring a Specific Column Type with mysqLtype............................................................................106
Maintaining Tables...............................................................................................................................108
Deleting Tables on Uninstall.................................................................................................................109
Changing Existing Schemas with hook_schema_alterO......................................................................110
Modifying Other Modules Queries with hook_query_aiter().........................................111
Connecting to Multiple Databases Within Drupal..........................................................112
Using a Temporary Table...............................................................................................113
Writing Your Own Database Driver................................................................................114
Summary.......................................................................................................................114
iChapter 6: Working with Users............................................................................115
The $user Object............................................................................................................115
Testing If a User Is Logged In........................................................................................118
Introduction to user hooks.............................................................................................118
Understanding hook_user_view($account, $view_mode)...................................................................120
The User Registration Process.......................................................................................122
Using profile.module to Collect User Information..........................................................125
The Login Process.........................................................................................................125
Adding Data to the $user Object at Load Time.....................................................................................127
Providing User Information Categories.................................................................................................129
External Login................................................................................................................130
Summary.......................................................................................................................135
Chapter 7: Working with Nodes..............................................................-------.....137
So What Exactly Is a Node?...........................................................................................137
Not Everything Is a Node...............................................................................................140
Creating a Node Module................................................................................................140
Creating the .install File........................................................................................................................140
Creating the .info File...........................................................................................................................143
IX
m CONTENTS
Creating the .module File.....................................................................................................................143
Providing Information About Our Node Type........................................................................................144
Modifying the Menu Callback...............................................................................................................145
Defining Node-Type-Specific Permissions with hook_permissionO....................................................146
Limiting Access to a Node Type with hook_node_accessO...............................................................147
Customizing the Node Form for Our Node Type...................................................................................148
Validating Fields with hook_validateO..................................................................................................149
Saving Our Data with hookjnsertO......................................................................................................149
Keeping Data Current with hookjipdateO...........................................................................................150
Cleaning Up with hookjJeletefJ............................................................................................................150
Modifying Nodes of Our Type with hookJoadO....................................................................................151
Using hook_viewO................................................................................................................................151
Manipulating Nodes That Are Not Our Type with hook_node_xxxxx()..................................................153
How Nodes Are Stored...................................................................................................155
Creating a Node Type with Custom Content Types........................................................157
Restricting Access to Nodes..........................................................................................157
Defining Node Grants............................................................................................................................157
The Node Access Process....................................................................................................................159
Summary.......................................................................................................................161
IChapter 8: Working with Fields...........................................................................163
Creating Content Types.................................................................................................163
Adding Fields to a Content Type....................................................................................165
Creating a Custom Field................................................................................................169
Adding Fields Programmatically....................................................................................181
Summary.......................................................................................................................183
CONTENTS
iChapter 9: The Theme System.............................................................................185
Themes..........................................................................................................................185
Installing an Off-the-Shelf Theme........................................................................................................185
Building a Theme..................................................................................................................................186
The .info File..................................................................................................................194
Adding Regions to Your Theme............................................................................................................194
Adding CSS Files to Your Theme..........................................................................................................194
Adding JavaScript Files........................................................................................................................195
Adding Settings to Your Theme............................................................................................................195
Understanding Template Files.......................................................................................198
The Big Picture.....................................................................................................................................198
The html.php.tpl File.............................................................................................................................200
Overriding Template Files.....................................................................................................................214
Other Template Files............................................................................................................................215
Overriding Themable Items..................................................................................................................216
Overriding with Template Files.............................................................................................................219
Adding and Manipulating Template Variables......................................................................................219
Using the Theme Developer Module.....................................................................................................221
Summary.......................................................................................................................221
iChapter 10: Working with Blocks........................................................................223
What Is a Block?............................................................................................................223
Block Configuration Options..........................................................................................226
Block Placement...................................................................................................................................227
Defining a Block...................................................................................................................................228
Using the Block Hooks..........................................................................................................................229
Building a Block.............................................................................................................230
Enabling a Block When a Module Is Installed................................................................237
XI
Si CONTENTS
Block Visibility Examples...............................................................................................238
Displaying a Block to Logged-ln Users Only.........................................................................................238
Displaying a Block to Anonymous Users Only......................................................................................238
Summary.......................................................................................................................238
IChapter 11: The Form API....................................................................................239
Understanding Form Processing....................................................................................239
Initializing the Process.........................................................................................................................241
Setting a Token.....................................................................................................................................241
Setting an ID.........................................................................................................................................241
Collecting All Possible Form Element Definitions.................................................................................241
Looking for a Validation Function.........................................................................................................242
Looking for a Submit Function.............................................................................................................243
Allowing Modules to Alter the Form Before It s Built............................................................................243
Building the Form.................................................................................................................................243
Allowing Functions to Alter the Form After It s Built............................................................................243
Checking If the Form Has Been Submitted...........................................................................................244
Finding a Theme Function for the Form...............................................................................................244
Allowing Modules to Modify the Form Before It s Rendered................................................................244
Rendering the Form..............................................................................................................................244
Validating the Form..............................................................................................................................245
Submitting the Form.............................................................................................................................246
Redirecting the User.............................................................................................................................246
Creating Basic Forms.....................................................................................................247
Form Properties....................................................................................................................................249
Form IDs...............................................................................................................................................249
Fieldsets...............................................................................................................................................250
Theming Forms.....................................................................................................................................253
Specifying Validation and Submission Functions with hookJormsO...................................................257
Call Order of Theme, Validation, and Submission Functions................................................................258
Xll
; CONTENTS
Writing a Validation Function................................................................................................................258
Form Rebuilding...................................................................................................................................262
Writing a Submit Function....................................................................................................................263
Changing Forms with hook_form_alterO..............................................................................................263
Submitting Forms Programmatically with drupal_form_submitO........................................................265
Dynamic Forms.....................................................................................................................................265
Form API Properties.......................................................................................................273
Properties for the Root of the Form......................................................................................................273
Properties Added to All Elements.........................................................................................................274
Properties Allowed in All Elements.......................................................................................................275
Form Elements.....................................................................................................................................277
Summary.......................................................................................................................293
iChapter 12: Manipulating User Input: The Filter System....................................295
Filters.............................................................................................................................295
Filters and Text formats.................................................................................................296
Installing a Filter...................................................................................................................................300
Knowing When to Use Filters................................................................................................................300
Creating a Custom Filter................................................................................................301
Implementing hook_filter_infoO...........................................................................................................302
The Process Function...........................................................................................................................302
Helper Function....................................................................................................................................303
Summary.......................................................................................................................305
iChapter 13: Searching and Indexing Content......................................................307
Building a Custom Search Page....................................................................................307
The Default Search Form......................................................................................................................308
The Advanced Search Form..................................................................................................................308
Adding to the Search Form...................................................................................................................309
xrn
a CONTENTS
Using the Search HTML Indexer....................................................................................312
When to Use the Indexer......................................................................................................................313
How the Indexer Works........................................................................................................................313
Summary.......................................................................................................................322
IChapter 14: Working with Files...........................................................................323
How Drupal Serves Files................................................................................................323
Managed and Unmanaged Drupal APIs.........................................................................323
Public Files...........................................................................................................................................325
Private Files..........................................................................................................................................325
PHP Settings..................................................................................................................325
Media Handling..............................................................................................................326
Upload Field..........................................................................................................................................327
Video and Audio....................................................................................................................................328
File API...........................................................................................................................328
Database Schema.................................................................................................................................328
Common Tasks and Functions.............................................................................................................329
Authentication Hooks for Downloading................................................................................................340
Summary.......................................................................................................................342
Chapter 15: Working with Taxonomy..................................................................343
The Structure of Taxonomy...........................................................................................343
Creating a Vocabulary....................................................................................................343
Creating Terms..............................................................................................................344
Assigning a Vocabulary to a Content Type.....................................................................344
Kinds of Taxonomy........................................................................................................345
Fiat........................................................................................................................................................346
Hierarchical..........................................................................................................................................346
Multiple Hierarchical............................................................................................................................347
xiv
CONTENTS
Viewing Content by Term...............................................................................................349
Using AND and OR in URLs...................................................................................................................349
Specifying Depth for Hierarchical Vocabularies...................................................................................349
Automatic RSS Feeds...........................................................................................................................350
Storing Taxonomies.......................................................................................................351
Module-Based Vocabularies..........................................................................................352
Creating a Module-Based Vocabulary..................................................................................................352
Keeping Informed of Vocabulary Changes with Taxonomy Hooks.......................................................352
Common Tasks..............................................................................................................354
Displaying Taxonomy Terms Associated with a Node..........................................................................354
Building Your Own Taxonomy Queries..................................................................................................355
Using taxonomy_select_nodesO..........................................................................................................355
Taxonomy Functions......................................................................................................355
Retrieving Information About Vocabularies..........................................................................................355
Adding, Modifying, and Deleting Vocabularies.....................................................................................356
Retrieving Information About Terms.....................................................................................................357
Adding, Modifying, and Deleting Terms................................................................................................358
Retrieving Information About Term Hierarchy......................................................................................359
Finding Nodes with Certain Terms.......................................................................................................362
Additional Resources.....................................................................................................363
Summary.......................................................................................................................363
Chapter 16: Caching............................................................................................365
Knowing When to Cache................................................................................................365
How Caching Works.......................................................................................................366
How Caching Is Used Within Drupal Core......................................................................368
Menu System........................................................................................................................................368
Caching Filtered Text............................................................................................................................368
Administration Variables and Module Settings.....................................................................................369
xv
¦ CONTENTS
Blocks...................................................................................................................................................372
Using the Cache API.............................................................................................................................374
Summary.......................................................................................................................378
IChapter 17: Sessions...........................................................................................379
What Are Sessions?.......................................................................................................379
Usage.............................................................................................................................379
Session-Related Settings..............................................................................................381
In.htaccess..........................................................................................................................................381
In settings.php......................................................................................................................................381
In bootstrap.inc.....................................................................................................................................382
Requiring Cookies.................................................................................................................................383
Storage..........................................................................................................................383
Session Life Cycle..........................................................................................................384
Session Conversations...................................................................................................385
First Visit...............................................................................................................................................386
Second Visit..........................................................................................................................................386
User with an Account...........................................................................................................................386
Common Tasks..............................................................................................................386
Changing the Length of Time Before a Cookie Expires.........................................................................386
Changing the Name of the Session......................................................................................................387
Storing Data in the Session..................................................................................................................387
Summary.......................................................................................................................388
IChapter 18: Using jQuery.....................................................................................389
WhatlsjQuery?..............................................................................................................389
The Old Way...................................................................................................................390
XVI
CONTENTS
How jQuery Works.........................................................................................................391
Using a CSS ID Selector........................................................................................................................391
Using a CSS Class Selector..................................................................................................................392
jQuery Within Drupal......................................................................................................392
Your First jQuery Code..........................................................................................................................393
Targeting an Element by ID..................................................................................................................396
Method Chaining...................................................................................................................................396
Adding or Removing a Class.................................................................................................................397
Wrapping Existing Elements.................................................................................................................397
Changing Values of CSS Elements........................................................................................................398
Where to Put JavaScript.......................................................................................................................399
Overridable JavaScript.........................................................................................................................402
Building a jQuery Voting Widget....................................................................................405
Building the Module..............................................................................................................................407
Using Drupal.behaviors........................................................................................................................414
Ways to Extend This Module.................................................................................................................415
Compatibility.........................................................................................................................................415
Next Steps.....................................................................................................................415
Summary.......................................................................................................................416
Chapter 19: Localization and Translation............................................................417
Enabling the Locale Module...........................................................................................417
User Interface Translation.............................................................................................417
Strings..................................................................................................................................................417
Translating Strings with to...................................................................................................................418
Replacing Built-in Strings with Custom Strings...................................................................................419
xvn
it CONTENTS
Starting a New Translation............................................................................................429
Generating .pot Files with Translation Template Extractor..................................................................429
Creating a .pot File for Your Module.....................................................................................................430
Creating .pot Files for an Entire Site.....................................................................................................431
Installing a Language Translation..................................................................................432
Setting Up a Translation at Install Time................................................................................................432
Installing a Translation on an Existing Site...........................................................................................433
Right-to-Left Language Support....................................................................................434
Language Negotiation....................................................................................................435
Default..................................................................................................................................................436
Path Prefix Only....................................................................................................................................438
Path Prefix with Language Fallback.....................................................................................................440
URL Only...............................................................................................................................................441
Content Translation........................................................................................................442
Introducing the Content Translation Module........................................................................................442
Multilingual Support.............................................................................................................................442
Multilingual Support with Translation..................................................................................................444
Localization- and Translation-Related Files..................................................................447
Additional Resources.....................................................................................................448
Summary.......................................................................................................................449
Chapter 20: XML-RPC..........................................................................................451
WhatlsXML-RPC?.........................................................................................................451
Prerequisites for XML-RPC............................................................................................451
XML-RPC Clients............................................................................................................452
XML-RPC Client Example: Getting the Time.........................................................................................452
XML-RPC Client Example: Getting the Name of a State........................................................................453
Handling XML-RPC Client Errors...........................................................................................................454
XVHl
? CONTENTS
A Simple XML-RPC Server.............................................................................................457
Mapping Your Method with hookjunlrpcfj..........................................................................................458
Automatic Parameter Type Validation with hook_xmlrpcO..................................................................459
Built-in XML-RPC Methods............................................................................................461
system.listMethods..............................................................................................................................461
system.methodSignature.....................................................................................................................462
system.methodHelp..............................................................................................................................462
system.getCapabilities.........................................................................................................................462
system.multiCall...................................................................................................................................463
Summary.......................................................................................................................463
iChapter 21: Writing Secure Code.........................................................................465
Handling User Input.......................................................................................................465
Thinking About Data Types...................................................................................................................465
Using check_plainO and to to Sanitize Output.....................................................................................468
Using filter_xssO to Prevent Cross-Site Scripting Attacks...................................................................470
Using filter_xss_adminO.......................................................................................................................472
Handling URLs Securely.................................................................................................472
Making Queries Secure with db_queryO.......................................................................473
Keeping Private Data Private with hook_query_alterO..................................................476
Dynamic Queries............................................................................................................477
Permissions and Page Callbacks...................................................................................477
Cross-Site Request Forgeries (CSRF)............................................................................478
File Security...................................................................................................................478
File Permissions...................................................................................................................................479
Protected Files......................................................................................................................................479
File Uploads..........................................................................................................................................480
Filenames and Paths............................................................................................................................480
Encoding Mail Headers..................................................................................................481
XIX
¦ CONTENTS
Files for Production Environments.................................................................................482
SSL Support...................................................................................................................482
Stand-Alone PHP............................................................................................................483
AJAX Security, a.k.a. Request Replay Attack................................................................485
Form API Security..........................................................................................................485
Protecting the Superuser Account.................................................................................486
Summary.......................................................................................................................486
IChapter 22: Development Best Practices............................................................487
Coding Standards..........................................................................................................487
Line Indention and Whitespace............................................................................................................487
Operators..............................................................................................................................................487
Casting...........................................................................................................................487
Control Structures..........................................................................................................488
Function Calls.......................................................................................................................................488
Function Declarations...........................................................................................................................489
Function Names....................................................................................................................................489
Class Constructor Calls.........................................................................................................................490
Arrays...................................................................................................................................................490
Quotes..................................................................................................................................................491
String Concatenators............................................................................................................................491
Comments......................................................................................................................491
Documentation Examples.....................................................................................................................492
Documenting Constants.......................................................................................................................493
Documenting Functions........................................................................................................................493
Documenting Hook Implementations...................................................................................................495
Including Code......................................................................................................................................495
PHPCodeTags.....................................................................................................................................495
Semicolons...........................................................................................................................................496
xx
CONTENTS
Example URLs.......................................................................................................................................496
Naming Conventions......................................................................................................496
Checking Your Coding Style with Coder Module............................................................496
Finding Your Way Around Code with grep.....................................................................497
Summary...........................,...........................................................................................498
iChapter 23: Optimizing Drupal............................................................................499
Caching Is the Key to Drupal Performance....................................................................499
Optimizing PHP..............................................................................................................501
Setting PHP Opcode Cache File to /dev/zero........................................................................................502
PHP Process Pool Settings...................................................................................................................502
Tuning Apache...............................................................................................................503
mod_expires.........................................................................................................................................503
Moving Directives from .htaccess to httpd.conf...................................................................................504
MPM Prefork vs. Apache MPM Worker.................................................................................................504
Balancing the Apache Pool Size...........................................................................................................505
Decreasing Apache Timeout.................................................................................................................505
Disabling Unused Apache Modules......................................................................................................506
Using Nginx Instead of Apache......................................................................................506
Using Pressflow.............................................................................................................506
Varnish...........................................................................................................................506
Normalizing incoming requests for better Varnish hits........................................................................507
Varnish: finding extraneous cookies.....................................................................................................508
Boost..............................................................................................................................508
Boost vs. Varnish...........................................................................................................509
XXI
m CONTENTS
Linux System Tuning for High Traffic Servers...............................................................509
Using Fast File Systems.................................................................................................510
Dedicated Servers vs. Virtual Servers...........................................................................511
Avoiding Calling External Web Services........................................................................511
Decreasing Server Timeouts..........................................................................................512
Database Optimization...................................................................................................512
Enabling MySQL s Query Cache............................................................................................................512
MySQL InnoDB Performance on Windows............................................................................................513
Drupal Performance.......................................................................................................513
Eliminating 404 Errors..........................................................................................................................513
Disabling Modules You re Not Using.....................................................................................................514
Drupal-Specific Optimizations.......................................................................................514
Page Caching........................................................................................................................................514
Bandwidth Optimization.......................................................................................................................514
Pruning the Sessions Table..................................................................................................................514
Managing the Traffic of Authenticated Users.......................................................................................515
Running cron........................................................................................................................................515
Architectures.................................................................................................................516
Single Server........................................................................................................................................516
Separate Database Server....................................................................................................................516
Separate Database Server and a Web Server Cluster..........................................................................517
Multiple Database Servers...................................................................................................................518
Finding the Bottleneck...................................................................................................518
Summary.......................................................................................................................523
xxu
CONTENTS
{Chapter 24: Installation Profiles..........................................................................525
Creating a New Installation Profile................................................................................525
The enhanced.info File.........................................................................................................................526
The enhanced.profile File.....................................................................................................................527
The enhanced.install File......................................................................................................................527
Using hookjnstall_tasks and hook_install_tasks_alter...............................................543
Summary.......................................................................................................................544
IChapter 25: Testing.............................................................................................545
Setting Up the Test Environment...................................................................................545
How Tests Are Defined..................................................................................................550
Test Functions...............................................................................................................556
Test Assertions..............................................................................................................560
Summary.......................................................................................................................563
Appendix A: Database Table Reference...............................................................565
Appendix B: Resources........................................................................................623
Code...............................................................................................................................623
The Drupal Source Code Repository on GIT..........................................................................................623
Examples..............................................................................................................................................623
Drupal API Reference............................................................................................................................624
Security Advisories...............................................................................................................................624
Updating Modules.................................................................................................................................624
Updating Themes..................................................................................................................................624
Handbooks.....................................................................................................................624
Forums...........................................................................................................................624
XX1U
ai CONTENTS
Mailing Lists..................................................................................................................625
Development.........................................................................................................................................625
Themes.................................................................................................................................................625
Translations..........................................................................................................................................625
User Groups and Interest Groups...................................................................................625
Internet Relay Chat........................................................................................................625
North America.......................................................................................................................................627
Europe..................................................................................................................................................627
Asia.......................................................................................................................................................628
Latin America / Caribbean....................................................................................................................629
Oceania.................................................................................................................................................629
Africa....................................................................................................................................................629
Videocasts.....................................................................................................................629
Weblogs.........................................................................................................................629
Conferences...................................................................................................................630
Contribute......................................................................................................................630
Index.......................................................................................................................631
XXIV
|
any_adam_object | 1 |
author | Tomlinson, Todd VanDyk, John K. |
author_GND | (DE-588)142907316 (DE-588)137847637 |
author_facet | Tomlinson, Todd VanDyk, John K. |
author_role | aut aut |
author_sort | Tomlinson, Todd |
author_variant | t t tt j k v jk jkv |
building | Verbundindex |
bvnumber | BV037208981 |
classification_rvk | AP 18450 ST 253 |
ctrlnum | (OCoLC)760111680 (DE-599)BSZ336518595 |
discipline | Allgemeines Informatik |
edition | 3. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01575nam a2200385 c 4500</leader><controlfield tag="001">BV037208981</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130920 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">110207s2010 d||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781430228387</subfield><subfield code="c">Print</subfield><subfield code="9">978-1-4302-2838-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)760111680</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ336518595</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-523</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-824</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">AP 18450</subfield><subfield code="0">(DE-625)7053:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 253</subfield><subfield code="0">(DE-625)143628:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Tomlinson, Todd</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)142907316</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Pro Drupal 7 Development</subfield><subfield code="b">[learn how to use the content management framework to create powerful customized web sites]</subfield><subfield code="c">Todd Tomlinson ; John K. VanDyke</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York, NY</subfield><subfield code="b">Apress</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIX, 689 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The expert's voice in open source</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Books for professionals by professionals</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Drupal</subfield><subfield code="0">(DE-588)7522644-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Drupal</subfield><subfield code="0">(DE-588)7522644-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">VanDyk, John K.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)137847637</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-1-4302-2839-4</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=021123079&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-021123079</subfield></datafield></record></collection> |
id | DE-604.BV037208981 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:53:26Z |
institution | BVB |
isbn | 9781430228387 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-021123079 |
oclc_num | 760111680 |
open_access_boolean | |
owner | DE-523 DE-473 DE-BY-UBG DE-824 |
owner_facet | DE-523 DE-473 DE-BY-UBG DE-824 |
physical | XXIX, 689 S. graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | Apress |
record_format | marc |
series2 | The expert's voice in open source Books for professionals by professionals |
spelling | Tomlinson, Todd Verfasser (DE-588)142907316 aut Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] Todd Tomlinson ; John K. VanDyke 3. ed. New York, NY Apress 2010 XXIX, 689 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier The expert's voice in open source Books for professionals by professionals Drupal (DE-588)7522644-3 gnd rswk-swf Drupal (DE-588)7522644-3 s DE-604 VanDyk, John K. Verfasser (DE-588)137847637 aut Erscheint auch als Online-Ausgabe 978-1-4302-2839-4 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=021123079&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Tomlinson, Todd VanDyk, John K. Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] Drupal (DE-588)7522644-3 gnd |
subject_GND | (DE-588)7522644-3 |
title | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] |
title_auth | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] |
title_exact_search | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] |
title_full | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] Todd Tomlinson ; John K. VanDyke |
title_fullStr | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] Todd Tomlinson ; John K. VanDyke |
title_full_unstemmed | Pro Drupal 7 Development [learn how to use the content management framework to create powerful customized web sites] Todd Tomlinson ; John K. VanDyke |
title_short | Pro Drupal 7 Development |
title_sort | pro drupal 7 development learn how to use the content management framework to create powerful customized web sites |
title_sub | [learn how to use the content management framework to create powerful customized web sites] |
topic | Drupal (DE-588)7522644-3 gnd |
topic_facet | Drupal |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=021123079&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT tomlinsontodd prodrupal7developmentlearnhowtousethecontentmanagementframeworktocreatepowerfulcustomizedwebsites AT vandykjohnk prodrupal7developmentlearnhowtousethecontentmanagementframeworktocreatepowerfulcustomizedwebsites |