Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Drupal
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Extending the core== Drupal core is [[Modular programming|modular]], defining a system of [[Hooking|hooks]] and [[Callback (computer programming)|callbacks]], which are accessed internally via an [[API]].<ref>{{Cite web | url=http://api.drupal.org/ | title=API Reference | work=drupal.org | access-date=8 April 2009}}</ref> This design allows third-party contributed [[#Modules|modules]] and [[#Themes|themes]] to extend or override Drupal's default behaviors without changing Drupal core's code. Drupal isolates core files from contributed modules and themes. This increases flexibility and security and allows administrators to cleanly upgrade to new releases without overwriting their site's customizations.<ref>{{Cite web | url=http://drupal.org/node/22283 | title=File and directory management | work=drupal.org| date=7 May 2005 }}</ref> The Drupal community has the saying, "Never hack core," a strong recommendation that site developers do not change core files.<ref name="drupal1"/> ===Modules=== Contributed modules offer such additional or alternate features as image galleries, custom content types and content listings, [[WYSIWYG]] editors, private messaging, third-party integration tools,<ref>{{Cite web|url=https://www.specbee.com/blogs/symphony2-components-drupal-8-integration-every-drupaler-must-know-about|title=Integrating Drupal with External Systems|date=24 August 2018|publisher=specbee.com|access-date=24 August 2018}}</ref> integrating with BPM portals,<ref>{{cite web|url=https://www.srijan.net/solutions/drupal-camunda-bpm-integration | title=Drupal Camunda BPM Integration | website=Srijan Technologies }}</ref> and more. {{As of|2019|12}} the Drupal website lists more than 44,000 free [[Modular programming|modules]].<ref name=":0">{{Cite web |date=18 March 2022 |title=Module project {{!}} Drupal.org |url=https://www.drupal.org/project/project_module |url-status=live |archive-url=https://web.archive.org/web/20230623133015/http://web.archive.org/screenshot/https://www.drupal.org/project/project_module |archive-date=23 June 2023 |access-date=23 June 2023 |website=www.drupal.org}}</ref> Some of the most commonly used contributed modules include:<ref>{{Cite web | url=https://drupal.org/project/usage | title=Project usage overview | work=Drupal.org | access-date=18 August 2011}}</ref> * '''Content Construction Kit (CCK):''' Allows site administrators to dynamically create content types by extending the database schema. "Content type" describes the kind of information. Content types include, but are not limited to, events, invitations, reviews, articles, and products. The CCK Fields API is in Drupal core in Drupal 7.<ref>{{cite web |url=http://www.psdtodrupaldeveloper.com/blog/why-upgrade-from-drupal-5-to-drupal-7 |title=DRUPAL 5 TO DRUPAL 7 |access-date=24 March 2015 |archive-url=https://web.archive.org/web/20170704050410/http://www.psdtodrupaldeveloper.com/blog/why-upgrade-from-drupal-5-to-drupal-7 |archive-date=4 July 2017 |url-status=dead }}</ref><ref>{{Cite web | title=Field API| url=http://drupal.org/node/361849|year=2009 | access-date=8 May 2009}}</ref> * '''Views:''' Facilitates the retrieval and presentation, through a database abstraction system, of content to site visitors. Basic views functionality has been added to core of Drupal 8.<ref>{{Cite web | title=Views in Drupal Core initiative: Status report and roadmap | date=3 September 2012 | url=https://www.drupal.org/community-initiatives/drupal-core/vdc-roadmap | access-date=4 November 2014}}</ref> * '''Panels:''' Drag and drop layout manager that allows site administrators to visually design their site. * '''Rules:''' Conditionally executed actions based on recurring events. * '''Features:''' Enables the capture and management of features (entities, views, fields, configuration, etc.) into custom modules. * '''Context:''' Allows the definition of sections of site where Drupal features can be conditionally activated * '''Media:''' Makes photo uploading and media management easier * '''Services:''' Provides an API for Drupal. ===Themes=== {{As of|2019|12}}, there are more than 2,800 free community-contributed [[theme (computing)|theme]]s.<ref name=":1">{{Cite web |date=18 March 2022 |title=Theme project {{!}} Drupal.org |url=https://www.drupal.org/project/project_theme |url-status=live |archive-url=https://archive.today/20220318195454/https://www.drupal.org/project/project_theme#selection-761.0-761.13 |archive-date=18 March 2022 |access-date=21 September 2017 |website=www.drupal.org}}</ref> Themes adapt or replace a Drupal site's default look and feel. Drupal themes use standardized formats that may be generated by common third-party theme design engines. Many are written in the [[PHPTemplate]] engine<ref>{{Cite web | url=http://drupal.org/phptemplate | title=PHPTemplate theme engine | work=drupal.org | access-date=8 April 2009 | url-status=dead | archive-url=https://web.archive.org/web/20090308030334/http://drupal.org/phptemplate | archive-date=8 March 2009 }}</ref> or, to a lesser extent, the [[XTemplate]] engine.<ref>{{Cite web | url=http://drupal.org/node/6493 | title=XTemplate theme engine | work=drupal.org | access-date=8 April 2009 | url-status=dead | archive-url=https://web.archive.org/web/20090316205154/http://drupal.org/node/6493 | archive-date=16 March 2009 }}</ref> Some templates use hard-coded [[PHP]]. Drupal 8 and future versions of Drupal integrate the [[Twig (template engine)|Twig]] templating engine.<ref name=":5">{{Cite web |last=Arghire |first=Ionut |date=29 September 2022 |title=Drupal Updates Patch Vulnerability in Twig Template Engine {{!}} SecurityWeek.Com |url=https://www.securityweek.com/drupal-updates-patch-vulnerability-twig-template-engine |access-date=11 October 2022 |website=www.securityweek.com}}</ref> The inclusion of the PHPTemplate and XTemplate engines in Drupal addressed user concerns about flexibility and complexity.<ref>{{Cite web | url=http://drupal.org/node/15689#comment-25704 | title=How does Drupal compare to Mambo? discussion thread | work=drupal.org | date=17 January 2005 | access-date=8 April 2009}}</ref> The Drupal theming system utilizes a [[Template engine (web)|template engine]] to further separate [[HTML]]/[[CSS]] from PHP. A popular Drupal contributed module called 'Devel' provides GUI information to developers and themers about the page build. Community-contributed themes on the Drupal website are released under a free [[GNU General Public License|GPL]] license.<ref>{{Cite web| url=http://drupal.org/project/Themes| title=Drupal themes| publisher=Drupal.org| access-date=31 August 2011| archive-date=23 August 2007| archive-url=https://web.archive.org/web/20070823232913/http://drupal.org/project/Themes| url-status=dead}}</ref><ref>{{Cite web | url=http://drupal.org/node/14208 | title=Adding your theme to Drupal.org|publisher=Drupal.org}}</ref> ===Distributions=== In the past, those wanting a fully customized installation of Drupal had to download a pre-tailored version separately from the official Drupal core. Today, however, a distribution defines a packaged version of Drupal that upon installation, provides a website or application built for a specific purpose. The distributions offer the benefit of a new Drupal site without having to manually seek out and install third-party contributed modules or adjust configuration settings.<ref>{{Cite web| title=Top Drupal Distributions| url=http://www.aglobalway.com/content/top-drupal-distributions| publisher=AGLOBALWAY Consulting Services Inc.| url-status=usurped| archive-url=https://web.archive.org/web/20140413154924/http://www.aglobalway.com/content/top-drupal-distributions| archive-date=13 April 2014}}</ref> They are collections of modules, themes, and associated configuration settings that prepare Drupal for custom operation. For example, a distribution could configure Drupal as a "brochure" site rather than a news site or [[online store]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)