Introduction to Drupal Basics

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Introduction to Drupal Basics - Presentation Transcript

    1. Drupal Introduction to Drupal Basics Juha Niemi, 2009
    2. Drupal vs. My-own-CMS • Powerful ready-to-go platform to produce web services and applications • Open source - Free to use and free to modify • Open API’s provides easy expandability • Tested and safe. Regular security updates • Lots of prepared core functions to ease simple coding tasks • Lots of ready-made modules and code snippets available
    3. Drupal vs. Some-other-CMS • Power and scalability based on modular architecture and API’s • Less out-of-the-box modules and features than some others • More development tools and small functions that enable the user to build almost any kind of web application • Active community, helping hand available at drupal.org
    4. File structure • Extension modules and themes always to sites/ folder • The modules and themes in sites/ all are shared through all sites (multisite configuration) • Sites/mysite.com contents available only to one specific site
    5. Drupal standalone installation • Easy installer wizard asks for database access information and stores them in settings.php • Installer writes the basic tables and data into database • By default sites/default is used • Available as any hostname
    6. Drupal multisite installation • Easies way to install a site in multisite configuration: • Create sites/mysite.com folder (mysite.com is your site’s hostname) • Duplicate sites/default/settings.php to that folder • Create sites/mysite.com/files folder and give 777 permissions • Run installer wizard
    7. Drupal terminology I Node Taxonomy • The general term for all stored • Content categorization system content; articles, pages, news... in core • Ability to create new content •Predefined categories types with a simple GUI (D5+) (vocabularies) • Ability to extend content types •Hierarchical terms beyond standard title+body fields (with CCK module) •Free tagging •Single or multiple terms per content •Multiple vocabularies per content
    8. Drupal terminology II • Block • Theme Small pieces of content that are The layout and output in general usually presented in sidebars: menu what Drupal generates in HTML links, news topics, etc • Core • Module Drupal core files, that should never Extension modules can expand and be modified, added or removed modify Drupal’s core funcionalities and normal behaviours
    9. User management Users Access to nodes (in core) • User UID 1 is the root user • Access granted per role / • Profiles with custom fields content type • Can be used with external • Cannot restrict read access by authentication (LDAP, OpenID) default, except for all content Roles ACL modules (nodeaccess) • Access control defined by roles • Extends the core access • User can have multiple roles control • Show/edit/delete grants can be given for roles and individual users. Even per node.
    10. Modules • Always store under sites/ folder • The core provides ‘hooks’ that modules can attach to • Some very often used hooks: hook_form_alter hook_cron hook_nodeapi • Developer resources available at http://api.drupal.org
    11. Themes • PHPTemplate engine (other theme engines available) • Zen theme (xhtml/css) - great, clean way to start theming • Overriding theme functions without modifying or breaking any code in core/modules • Block regions - can be added when needed
    12. Essential module: Views • GUI to build queries from content, users, files • Multiple displays (page, block, embed) • Type how the data is selected from database (full nodes/ fields) • Output styles (list, table, node view) • Filters (=‘WHERE’ clause), sort order definable • Arguments provide way to modify the filters based on URL
    13. Essential module: CCK • Drupal allows creation of new Some commonly used fields content types (e.g. page, news, (fields are modules that expand cck) event) • Text field • Regular content type only has fields • Select list title and the body text • CCK allows content types to be • Image field extended easily with additional fields • File field • Date field • Link field
    14. Node API • Enables modules to interact with nodes. Data can be added, modified and removed • Additional data can be shown when node is shown • hook_nodeapi is called when nodes are stored, edited, viewed, deleted, searched, etc...
    15. Form API • API that handles programmatical form creation and renders them as usable HTML forms • All system forms and forms provided by additional modules are created using Form API • Modules can modify forms that are created by other modules
    16. Menu System • URL to callback mapping • Modules can implement new menu items, that initiate a function when a user enters a certain URL • Menu items can be displayed as • Links in navigation • Tabs • Hidden callbacks
    17. Input formats • Filtered / Full HTML for standard text and HTML content • PHP Code allows PHP code to be run as a part of the node • Simple code can be put in nodes • More complex code should be put in a module instead • Input format modules can be added (wiki, textile, etc)
    18. URL aliases • Essential part of succesful search engine optimization • Manual paths can be given to any node or other paths • Pathauto provides automatic URL creation mechanism based on user-definable terms and other data, for example mysite.com/news/2009/01/05/my-news
    19. Updating Drupal • Drupal core should be kept up-to-date • Updates can be rolled by overriding the core files and run update.php script • Minor version updates should be always safe • Major version updates are usually not recommended because of module incompatibilities and significant code changes • Backup the database manually prior to every update
    20. Good practices • Root -user should be used only for low-level configuration and an additional admin role should be created • Use a right role for the right kind of task when testing • End user usually runs into problems that the admin role didn’t encounter • Set-up framework first before adding any content (languages, user management, pathauto’s, etc...)
    21. Valuable resources • Pro Drupal Development (2nd edition) book John VanDyk, Apress 2008 • http://drupal.org forums and module issue cues • http://api.drupal.org
    22. About the author Juha Niemi (Mr.) is the lead web developer and entrepreneur at Juha Niemi Design Ltd, Finland. He has been using and committed to Drupal since 2006. http://www.jnd.fi
    SlideShare Zeitgeist 2009

    + juhaniemijuhaniemi Nominate

    custom

    1182 views, 2 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1182
      • 1182 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 62
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags