Σχόλια 0

Το κείμενο του εγγράφου

Drupal Handbook: 20 April 2005•

1Drupal handbookThis document offers a complete reference for those interested inDrupal, both novice and experienced Drupal administrators, Drupalusers and Drupal developers.Taken from the Drupal Handbook on drupal.org on 20 April 2005Drupal Handbook: 20 April 2005•

4Installing new themes.......................................................................113Migrating from other weblog software to Drupal.............................114Migrating from ezPublish.................................................................114Move ezp database content to drupal database................................115Parse ezxml (in perl, with LWP::UserAgent).....................................120Get ezpublish user real names for drupal profile.module.................121Migrating from Geeklog....................................................................122Migrating from LiveJournal..............................................................124Import your LJ through an IFRAME held in a Book Page or similar.124Using provided Import Module.........................................................125Use the Livejournal Module to import the raw data into Drupal......125Migrating from Movable Type..........................................................126Extract Movable Type content as xml...............................................127Moving your MT styles and templates..............................................127Template for MT entry and comment export and Drupal import......130Parse xml into sql insert statements.................................................133Insert content into drupal nodes.......................................................136Setting terms for inserted nodes......................................................137Migrating from PHPNuke.................................................................137Migrating themes.............................................................................137Migrating users................................................................................138Migrating from PostNuke.................................................................138Configuring mod_rewrite in .htaccess for PN legacy URLs in..........138Search Engine Friendly Migration....................................................139More than one drupal site on one machine.......................................141Drupal IDs.................................................................................142Multiple directories..........................................................................142Multiple domains or vhosts...............................................................143Multiple domains or vhosts using different databases......................143Multiple domains using the same database......................................144Tuning your server for optimal Drupal performance........................144Tuning PHP.......................................................................................144PHP Caches......................................................................................145Turck MMCache...............................................................................145Configuration....................................................................................148Initial configuration..........................................................................148Changing Drupal's basic settings..............................................148See the links below for further guidance..................................148Anonymous user................................................................................149Default front page.............................................................................149Examples:..................................................................................150Clean URLs.......................................................................................150Error handling and reporting...........................................................151Drupal Handbook: 20 April 2005•

5Error pages...............................................................................151Error reporting..........................................................................151Cache support...................................................................................152How Drupal's cache works........................................................152File system settings..........................................................................152Path settings..............................................................................153Download method......................................................................153Dealing with error messages.....................................................153Date and time settings......................................................................154Customizing the interface.................................................................154Customizing user login.....................................................................155Disable Login Block...................................................................155Congestion control: tuning the auto-throttle....................................156Adding syndicated content (newsfeeds, RSS) to your site................163Database table prefix (and sharing tables across instances)............165Simple usage.............................................................................165Advanced usage.........................................................................165Super advanced usage...............................................................166Tables that should not be shared..............................................166Search engine friendly and robots.txt...............................................167The tolerant Base URL......................................................................169Warning..........................................................................169Blocks...............................................................................................169Block Visibility...........................................................................170Weight.......................................................................................170Custom Administrator Defined Blocks.......................................171Note about Block Titles.............................................................172Custom Blocks...........................................................................172Show block to certain users only......................................................172How to show a block only to logged-in users............................172How to show a block only to anonymous users.........................173How to show a block only to certain users................................173Debugging the Path..........................................................................174Custom login.....................................................................................174All published content in a list...........................................................175Blog Categories................................................................................175Blogcentric Random Image...............................................................176Comment Approval Count Block.......................................................177Counter (x days before / past...)........................................................177Hits by Month...................................................................................178Latest stories block...........................................................................178Paypal blocks....................................................................................179Pull Down Top Level Category Links................................................180Drupal Handbook: 20 April 2005•

6Random image..................................................................................182Random image display......................................................................182Show highest contributers to a site..................................................182Submission queue block...................................................................183Top users by comment number.........................................................183Uptime and load on Unix systems.....................................................184Drupal modules and features............................................................185A blog for every Drupal user.............................................................185Configuring User Blogs.............................................................185Making User Blogs More Accessible.........................................186Additional features....................................................................187Collaborative book or documentation writing..................................187Maintaining a FAQ using a collaborative book..........................188Printing PHP Variables from GET or POST Forms...........................189Comment system..............................................................................190User control of comment display...............................................190Additional comment configurations...........................................190Notification of new comments...................................................191Comment moderation................................................................191Cron system and crontab..................................................................193Cron...........................................................................................193Directory Server (Drupal Sites)........................................................194Discussion forums.............................................................................195Drupal as a news aggregator............................................................195What do I need to subscribe to a feed?.....................................196Configuring news feeds.............................................................196Creating Categories in the Aggregator.....................................197Tagging Individual Items in the Aggregator..............................198Using the News Aggregator......................................................198RSS feed blocks.........................................................................199Extending user information (profiles)...............................................199Locale or internationalization support..............................................200How to interface translation works...........................................201Moderation, collaborative rating......................................................201Moderation queue.............................................................................202Comment rating................................................................................202Polls or enquetes..............................................................................202Post content using the Blogger API..................................................203Putting blocks with content in the sidebars......................................203Administrator defined blocks....................................................204Search configuration........................................................................204Statistics, top nodes and access log..................................................205Introduction...............................................................................205Drupal Handbook: 20 April 2005•

8PHP Safe Mode Issue........................................................................232What is the minimum version of PHP?..............................................233How can I install modules?...............................................................233Nodes................................................................................................233cant create static php page..............................................................233PHP content won't parse..................................................................234Schedule and Expire Nodes..............................................................234Search...............................................................................................234Search index db empty / incomplete.................................................234search multibytes language..............................................................235Polls..................................................................................................235Are polls supported in Drupal?.........................................................235Can a user vote more than once in a poll?........................................235Miscellaneous...................................................................................235Download offline copy of drupaldocs.org - stuck without net access......235How can I change Drupal's character encoding? (UTF-8 and Unicode).236How do I report a bug in Contributed modules................................236Making a custom script work (independently) along with a Drupalsetup.................................................................................................236Move existing site to new server......................................................237Moving your site to another url........................................................237My URL is wrong in the list of Drupal Sites......................................238truncated fields / unable to login / php 4.2.3 bug.............................238How to install a Patch?.....................................................................239Contributor's guide...........................................................................240Contributing to Drupal......................................................................240Bug reports.......................................................................................242Feature suggestions..........................................................................242Task List...........................................................................................243The revision process.........................................................................243Criteria for evaluating proposed changes.........................................245Tips for contributing to the core.......................................................246Mailing lists......................................................................................247Accessing the Drupal mailing lists using a news server...................248Mailing of project issues...................................................................248Coding standards..............................................................................248Drupal Coding Standards.................................................................248Functions and Methods.............................................................252Constants...................................................................................252Global Variables........................................................................252Filenames..................................................................................253Drupal Handbook: 20 April 2005•

12{search_button_text}................................................................404{mission}..................................................................................404{title}........................................................................................405{tabs}........................................................................................405{help}........................................................................................405{message}.................................................................................406Node Section....................................................................................406{link}........................................................................................407{title}........................................................................................407{submitted}...............................................................................407{taxonomy}...............................................................................408{links}.......................................................................................408Comment..........................................................................................408{link}........................................................................................409{title}........................................................................................410{submitted}...............................................................................410{new}........................................................................................410{content}..................................................................................410{links}.......................................................................................411Blocks...............................................................................................411The Section.......................................................................................411Footer...............................................................................................412{footer_message}......................................................................412{footer}.....................................................................................412Editing With Golive...........................................................................413Plain PHP themes.............................................................................414Suggestions for theme coding style..................................................415Tips for designing themes in Dreamweaver, GoLive etc...................417Dreamweaver....................................................................................417Updating your themes......................................................................418Converting 3.0 themes to 4.0............................................................418Required changes.............................................................................418General information about DrupalA dynamic web site platform which allows an individual orcommunity of users to publish, manage and organize a variety ofcontent, Drupal integrates many popular features of contentmanagement systems, weblogs, collaborative tools anddiscussion-based community software into one easy-to-usepackage.Drupal Handbook: 20 April 2005•

13As an open source software project maintained and developedby a community, Drupal is free todownloadand use. If you likewhat you learn here, please work with us to expand and refineDrupal to suit your needs.A wide range of site configurationsBy enabling and configuring individual modules, anadministrator can design a unique site, one which can be usedfor a combination of knowledge management, web publishingand community interaction purposes. So that you can betterunderstand the many possibilities, the following list of featureshave been organized by common web platform characteristics:•Content management. Via a simple, browser-basedinterface, members can publish to a number of availablecontent modules: stories, blogs, polls, images, forums,downloads, etc. Administrators can choose from multipletheme templates or create their own to give the site asingular look and feel. The flexible classification systemallows hierarchical classifications, cross-indexing of postsand multiple category sets for most content types. Accessto content is controlled through administrator-defined userpermission roles. Site pages can display posts by moduletype or categorized content, with separate RSS feedsavailable for each display type. Users can also keywordsearch the entire site.•Weblog. A single installation can be configured as anindividual personal weblog site or multiple individualweblogs. Drupal supports the Blogger API, provides RSSfeeds for each individual blog and can be set to pingweblog directories such as blo.gs and weblogs.com whennew content is posted on the home page.•Discussion-based community. A Drupal site can act as aSlashdot-like news site and/or make use of a traditionaldiscussion forum. Comment boards, attached to mostcontent types, make it simple for members to discuss newposts. Administrators can control whether content andcomments are posted without approval, with administratorapproval or through community moderation. With thebuilt-in news aggregator, communities can subscribe toand then discuss content from other sites.•Collaboration.Used for managing the construction ofDrupal, the project module is suitable for supporting otheropen source software projects. The wiki-like collaborativeDrupal Handbook: 20 April 2005•

14book module includes versioning control, making it simplefor a group to create, revise and maintain documentationor any other type of text.For a more comprehensive feature list, consult ourfeatureoverview. For live examples of possible site implementations,see the featured sites included with theDrupal case studies. Orvisit some of the manysites that use Drupal.Basic installation requirements and initial configurationThe Drupal core platform, additional plug-in modules, and manytheme templates are freely available fordownloadunder theGNU GPL. Drupal, written in PHP and using either MySQL orPostgreSQL as the database backend, can run on manyplatforms, including Apache or Microsoft IIS web servers.More complete information and specific instructions aboutsystem requirements, installation and configuration areavailable in theadministrator's guide.The Drupal community: development and supportAs a communication center and project management space,drupal.org includes members who use Drupal as a personalwebsite solution; IT professionals implementing Drupal forclients; and programmers, writers and others contributing to thegrowth of the Drupal open source project. Members worktogether to maintain extensive development and supportresources on site:•Support. Users experiencing difficulties installing andconfiguring Drupal should first consult theadministrator'sguide, much of which is also available throughhelpin theadministrationsection of every Drupal installation. Incases where documentation fails to provide a solution,search thesupport forumanddrupal-support mailing listarchives. If the solution is not available, please write adetailed description of the problem, include the Drupalversion number, and post it to either venue.Note: allsupport is provided on a volunteer basis and is dependenton the good will of community members; please be patientwith any support requests.•Development. TheDrupal developer's guidecontainsinformation on Drupal architecture, API specifications,guides for theme and module developers, and instructionsfor contributing your code to the project. TheBug trackerDrupal Handbook: 20 April 2005•

15systemshould be used to submit bugs, ideas for newfeatures, suggestions for improving drupal.org, andcontributing ideas for usability and documentation. Thoseseriously interested in contributing to development shouldalso consider joining thedrupal-devel list.Learn moreSee the links below, the other sections ofThe Drupal Handbook,and the many discussions in theforumsfor more information.4.6 roadmapThis is a table that shows "who is doing what" on our road to4.6.Using this table, we can group our efforts, and others can trackwhat we are doing and how far we are.Please try and keep this page up to date as much as possible. Ifyou join or leave a team, edit this page. If a status changes,please edit this page too. If you have long descriptions anddocuments you would like to add, please add book pages underthis chapter.TaskModules/AreasTeam ofvolunteersstatusTheme improvementsMore information in thecivicspacelabstheme system;block systemNeilDrummChrisMessinaHalfelvenStefanNagtegaalWIPDrupal Handbook: 20 April 2005•

16TaskModules/AreasTeam ofvolunteersstatusDesign themesDesign a total of ten 10 themes, templates orstyles, of which at least 5 are templates orthemes.

18TaskModules/AreasTeam ofvolunteersstatusTaxonomy system improvementsTaxonomy: standardize vocabulary metadata;open/closed vocabularies; interface tovocabularies in ways other than simply aselectbox Publish/Subscribe: share andaggregate vocabularies among Drupal sitestaxonomysystemJohnVanDykMathiasTODORSS improvementssyndicationsystem and APINeilDrummrkendallDoneImage module improvementsimage module,file.incEricScoutenJamesWalkerWIPAimsMission:Building on and realizing relevant standards and opensource technologies, Drupal supports and enhances the potentialof the internet as a medium where diverse and geographically-separated individuals and groups can come together andcollectively produce and share rich bases of information andexpression.Use Cases and Target UsersDrupal is designed to be flexible and powerful enough to meet abroad range of web technology needs, from simple informationalpostings to large organizational sites and collaborative projects.This said, there is acentral interest in and focus oncommunitiesandcollaboration.

Drupal aims to enable the collaborativeproduction of online information systems and communities.Principles•Collaboration.

Drupal development supports open,collaborative information sharing systems and approaches(including systems such as community moderation ofposts).•Standards-based.

Drupal supports established andemerging standards.

Specific target standards includeDrupal Handbook: 20 April 2005•

19XHTML and CSS.•Open source.

Drupal is based on the open sourcephilosophy of collaborative free software development.

Drupal is itself open source and builds on and supportsother open source projects.

Specifically, Drupal is codedin the open source scripting language PHP and supportsas primary data sources the open source database formatsMySQL and Postgresql.•Quality coding.

Specifically, Drupal should be fullyoperational on a server with Apache web server, PHP, andeither MySQL or Postgresql.Usability AimsFordevelopersDrupal aims for a development system that is:•well-tooledwith a system of hooks that provide readymeans to accomplish most foreseeable coding aims thatinvolve interaction with core elementsForadministrators, Drupal aims to provide solutions that are:•easy to install and set upso that there is aminimalrequirement for specific technical expertise•intuitive and self-explanatoryso that administratorscaneasily find the configuration options they need•highly configurableso that site administrators canpresentjust the interface they wishForusers, all elements of the Drupal user interface should be:•intuitive and self-explanatoryso that users with minimalprior experience caneasily discover, navigate, and usefunctionality•unclutteredso that users are not faces with a difficult taskDrupal Handbook: 20 April 2005•

20of sorting the essential from the non-essentialCase studiesDrupal meets the needs of different types of web sites:Community Portal SitesIf you want a news web site where the stories are provided bythe audience, Drupal suits your needs well. Incoming stories areautomatically voted upon by the audience and the best storiesbubble up to the home page. Bad stories and comments areautomatically hidden after enough negative votes.Examples:Debian Planet|KerneltrapPersonal Web SitesDrupal is great for the user who just wants a personal web sitewhere she can keep a blog, publish some photos, and maybekeep an organized collection of links.Examples:urlgreyhot|Langemarks CafeAficionado SitesDrupal flourishes when it powers a portal web site where oneperson shares their expertise and enthusiasm for a topic.Examples:ia/|DirtbikeIntranet/Corporate Web SitesCompanies maintain their internal and external web sites inDrupal. Drupal works well for these uses because of its flexiblepermissions system, and its easy web based publishing. Nolonger do you have to wait for a webmaster to get the word outabout your latest project.Examples:Sudden Thoughts|TipicResource DirectoriesIf you want a central directory for a given topic, Drupal suitsyour needs well. Users can register and suggest new resourcesDrupal Handbook: 20 April 2005•

21while editors can screen their submissions.Example:Entomology IndexInternational SitesWhen you begin using Drupal, you join a large internationalcommunity of users and developers. Thanks to thelocalizationfeatureswithin Drupal, there are many Drupal sitesimplemented in a wide range of languages.Example:PuntBarra|cialogSuccess storiesThis part is dedicated to real-life examples of how drupal canhelp to solve your business problems. Please share the successof your drupal implementation.contaire.com - A Corporate Website Based OnDrupalDrupal is well suited for community plumbing, alright. But whatif you want to apply its power, elegance, and simplicity to yourcorporate website? In this article, we explain our approach tocreating a corporate website with Drupal, show you how tocreate your templates and arrange your content. So why wouldyou want to enter into such a formidable endeavor?

Note: theoriginal articleis on contaire.com's site, and containsadditional screenshots and illustrations.•Both the layout and the underlying HTML of our oldwebsite needed a face lift.•We specialize in sophisticated content managementsolutions, yet our website consisted of static HTML pageswith an absolute minimum of PHP code to avoid the worstcode duplication. We knew we could do better.•At times we were slow to post updates of our site. Theprocess of doing so should be more straight forward.Our requirementsOur requirements were quickly set:•The site layout should remain largely as is, with two thirdsDrupal Handbook: 20 April 2005•

22for the main content area and a column of news headlineson the right.•There is a flat list of sections with articles, some of whicharrange the teasers in two, others in a single column.•The sections can be accessed by a dynamical list of tabs atthe top of the page.•Sections should have simple URLs, with some otherarticles having intuitive URLs as well.•The page structure is such that the front page featuresarticle or section teasers.•Initially, there will be no community features likecomments.•Content should be editable through its front end view.•The site should validate as XHTML, and should furtherfollow the guidelines for barrier free web sites.•Text formatting should be using Textile markup.•Technically, there should be as little as possible softwaredevelopment on top of stock Drupal. However, we wantedto develop templates using the PHPTAL engine and knewwe would have to transform one of the standard Drupaltemplates to this notation first.The ingredientsWe started development with the following ingredients:•"Drupal 4.5.1":http://drupal.org/files/projects/drupal-4.5.1.tar.gz•The contributed modules collimator.module(http://drupal.org/files/projects/collimator-4.5.0.tar.gz),image.module (http://drupal.org/files/projects/image-4.5.0.tar.gz), image_filter.module(http://drupal.org/files/projects/image_filter-4.5.0.tar.gz),and textile.module (http://drupal.org/files/projects/textile-4.5.0.tar.gz)•Our own contributed theme engine phptal.engine(http://drupal.org/files/projects/phptal-cvs.tar.gz)•The stock Marvin themeA dynamic horizontal tab menuThe most prominent feature here is the horizontal navigationtabs. This has become a popular arrangement recently, veryoften enhanced with drop-down menus. In our case, there are noDrupal Handbook: 20 April 2005•

23drop-down menus. The underlying implementation, however,should be easily extended to host these as well.Three standard features of Drupal, a PHP theme function and alittle CSS magic are used to implement the horizontal tab menu.The features are•Taxonomies. We use a separate vocabulary "Sections" toorganize content.•The menu is not linked directly to this vocabulary as wouldthe Drupal module taxonomy_menu.module do, but ratheris created through a customized menu.This allows to link menu entries to taxonomy pages,individual nodes or two column pages generated by thecollimator.module.•Finally, links in the menu are cleaned by assigning URLaliases to menu entries.For example, the entry "partner" links to "partner":/partnerwhich is an alias for "collimator/4":/collimator/4, i.e. the twocolumn listing of teasers for topic 4 ("Lebendiges Netzwerk").What remains is a function that renders the menu:<?phpfunction_contaire_menu($pid=1) {

$menu=menu_get_menu();

$entries= array();

if (isset($menu['visible'][$pid]) &&$menu['visible'][$pid]['children']){

In the PHPTAL theme engine we use, this function can bewritten into the @template.php@ file of our theme and be calledfrom the file @page.tal@ as

<div id="header">

...

<div tal:content="php:contaire_menu(26)" />

</div>Here 26 is the menu entry for our custom menu.A new teaser.moduleExcept for the horizontal navigation, the front page looks likestandard Drupal, but looking more closely, even here there areinteresting details:•Each teaser has a picture associated with it.•The teaser pictures float automatically to the left andright.•The "weiter" links are placed behind, not below the teasertexts.There is one feature not visible on the site as presented to thepublic that are little edit buttons placed to the right of theheadlines. These become necessary because we haven't linkedour headlines to a detail view with tabbed local tasks, and•the "weiter" link may link to an arbitrary URL.We have created "a small Drupalmodule":http://drupal.org/node/14920 to provide these features.Two columns, but sorted, pleasePorting our original content we needed a way to layout somepages in two columns. One example is our partners page(http://contaire.com/partner) where in addition to the twocolumns we have an introductory text at the top. We quicklysettled on the contributed collimator.module but had to patch itto give us control over the way it sorts articles. The collimatoroffers the standard modes by-date and by-title to sort. Wewanted to control sorting explicitly and abused a new node fieldDrupal Handbook: 20 April 2005•

25_teaser_weight_ for this. The _abuse_ here is that actually thisfield should be a property of the table term_data but there is noeasy way to add this without patching the taxonomy.module. Weprovided our changes as a patch (http://drupal.org/node/15240)to the collimator.module.The single column text at the page top is simply the descriptionof the page's taxonomy term, fed through Textile.ConclusionWe just love our new page! Once we decided on the selection ofmodules and exactly for which features we would have to writesome code the actual effort was well worth it. The phptal.enginehas had its first live test and proved fun to work with.All in all, Drupal again showed its greatness and that - with alittle thought and planning - it can be used for many a corporatewebsite.Why Linux Journal converted to Drupal and howit went.We had been looking for a "Content Management System" forquite a while, and one of our employees discovered Drupal whileresearching CMS software on the web. Drupal appeared to bemuch more flexible than PHP Nuke, which we were using, andthe more we looked at it the more impressed we became. At thattime all of the features we thought we would need, except one,which we decided to write a module to provide, were on thetable to be implemented in the next Drupal release.We decided to convert Linux Gazette to Drupal in order tobecome familiar with Drupal under real life high usageconditions and to setup Doc Searls' IT Garage to experimentwith Drupal's blogging and other interactive abilities. After wewere satisfied with Drupal's ability to handle the traffic atLinuxGazetteas well as its interactive abilities atDoc Searls' ITGarageand had set up and tested Drupal's flexibility by creatingseveral sites for internal corporate use, we decided to create aDrupal site to replace theLinux JournalPHP Nuke site that wewere using for Linux Journal. We started out with version 4.3 ofDrupal but by the time we decided to convert Linux Journal toDrupal, version 4.4 was out so we started building our new siteusing that version. There were not any major problems, just theDrupal Handbook: 20 April 2005•

26typical learning curve requiring new ways of looking atproblems, nothing we could see that would prevent us fromusing Drupal for the new site. Most of our time was devoted todeveloping methods to convert the old articles and content ofLinux Journal magazine to the new format required in the newsite.One thing that Drupal did not provide was a method that wecould use to display static content in the main center sectionwithout the other content that Drupal normally puts there. Wewanted to be able to link to static html and text files and haveonly that file be displayed in the center section. To do that MitchFrazier created a module he called xstatic.module. The xstaticmodule allows you to define one or more base directories thatcan be used for storing HTML files, PHP files, text files, andimage files. When the xstatic module is used in the URL, theargument to it is interpreted as a file path name. This file pathname is searched for relative to all each of the predefinedxstatic directories. The file type extensions are appendedautomatically. If the file is found its contents are displayed inthe main (center) section of the Drupal page. If the file is a phpfile it is first evaluated and the result is displayed. This allowedus to create anything we wanted in the center, without having tocreate a node, while maintaining a consistent Drupal "look" withthe site's header, sidebars, and footer intact. The xstatic modulegave us a great way to separate all information that is noteditorial content from the marketing and business orientedpages as well as providing us with a simple way to quicklyintegrate existing HTML files into the site.After converting 10 years of articles and getting the "look andfeel" we wanted, we decided to do the roll over from PHP Nuketo Drupal at 8am on Nov. 1st. Unfortunately on the evening ofOct. 30, while doing the final move of the articles to the newsite, we discovered that Anonymous users could not leave theirname or email address when making comments. This was afeature we "had" to have and was only available on version 4.5.On earlier versions of Drupal you had to have an account beforeyour name would appear with your comment. This was a "showstopper" and even though we had less than 48 hours to do it in,we decided to install a new 4.5 site and bring over the blocks,theme and other changes we created for the earlier version.Mitch Frazier had it working in 24 hours and we spent the restof the time before the roll out testing and doing minor cleanup.Drupal Handbook: 20 April 2005•

27The new site has been well received by Linux Journalsubscribers andwww.linuxjournal.comreaders. Lots of helpfulsuggestions have been made and new features implementedbecause of them. Because of this warm reception, when wedecided to create a publication called TUX, which is primarilyfor the new Linux user, we decided to use Drupal for its website. Since we were short of time, we simply cloned the LinuxJournal site. We then made cosmetic changes and cleaned upthe database. This allowed us to have a working site while weworked on a completely new layout and design. The new TUXlayout and design has been finished and is now in place. StevenWittens, one of the core Drupal developers helped us with thelook and feel of the newTUXsite which is based on thephptemplate theme.On the Linux Journal site, Drupal version 4.5 is handling400,000 hits per day, and MySQL is handling the storage andthe searches for 5,000 articles and over 14,000 comments. Weare currently using these contributed modules; print, spam,subscriptions and themedev on both the Linux Journal and TUXsites. We are also considering using weblink, userpost andwebforms as well. We are very pleased with the power andstability of Drupal and because of this are creating internalDrupal sites to be used for information dispersal andcoordination between employees and departments. We areconsidering using a node level permission module that MattWestgate is developing to control access to information in theseinternal sites. We are constantly amazed at how versatile andpowerful Drupal is and at the new uses we find for it.The Drupal Community has been a great help in answeringquestions and making suggestions that allowed us to create,design and convert our existing web site to Drupal as well ascreate new ones. To return the favor we are planning onreleasing the xstatic module that Mitch Frazier created, sometime after the first of the year. Mitch is also working on a fewother new ideas and we will be releasing them after they arefully developed and researched.Many thanks to the Drupal Community from the staff of LinuxJournal, TUX, Doc Searls' IT Garage and Linux Gazette.-- Keith Daniels Web CoordinatorSSC Publications, Inc.Publishers of:Linux Journal

TUX

Doc Searls' IT Garage

LinuxGazette

A42

Groups of Linux Users Everywhere

Drupal Handbook: 20 April 2005•

28Community: structure and rolesThis page presents the structure and decision-making in Drupal.There are various roles and responsibilities that people canassume in the Drupal project.The Drupal Core•Founder and Lead Developer. Drupal was founded byDries Buytaert, who retains primary control over thesoftware and makes most decisions on proposed changes.In approving or rejecting proposals and patches, he givesspecial weight to comments made by individuals whom hetrusts and respects based on their past contributions toDrupal.•CVS review team. A small team that reviews proposedchanges and maintains code. They are the only ones whohave write access to the core CVS repository. Current CVSreview team members areDries,KjartanandSteven.•Maintainer. While not directly making decisions,maintainers have informal responsibility for a designatedportion of the core (e.g., a particular core module).Individual areas of responsibility are listed in the fileMAINTAINERS.txt. Maintainers are appointed by Dries.Core contributors who have made substantivecontributions (particularly to a core component notindividually maintained) may apply for Maintainer statusby writing to Dries; Dries may also individually invitethem.•Core contributor. Core contributors are those whocontribute code patches or documentation for the Drupalcore, contributions that are peer reviewed and thendecided on by Dries or other members of the CVS reviewteam.Contributions•Contributions repository manager. The CVS repository ofDrupal non-core "contributions" (mainly, modules andthemes) has a maintainer, who reviews and approvesapplications for CVS access, and one or more other teammembers who fill in when the Maintainer is unavailable orotherwise occupied.Drupal Handbook: 20 April 2005•

29•"Contributions" contributor. "Contributions" contributorsdevelop and maintain "contributed" code packages thatare hosted on the Drupal site but not part of the Drupalcore. A contributions contributor hasapplied for andreceived write accessto the"contributions" CVSrepository. Contributions contributors are improving theoverall reach of Drupal by producing and sharingenhancements that can be used by others. Contributionscontributors are generally listed in the README orCREDITS files included in module and theme downloads.Documentation and Support•Documentation and support is collaboratively delivered bypeople in all Drupal roles, mainly through drupal.org andthedevelopmentanddocumentationmailing list. Somedrupal.org members have been granted rights to post andedit content and so directly author documentation like theDrupal Handbook.Users•User.Users are the people who use Drupal. Users aren'tcontributing code but may be submitting bug reports orfeature requests through the issues system andparticipating in the drupal.orgforums.Download Drupal, modules, themes andtranslations<?php print project_release_overview();Druplicon (the logo)After Drupal had been created, an obvious matter was thechoice and creation of a logo. Of course it would have to dosomething with a drop... or water.The inital idea was simple: a drop in a circle. . It was featured asan "O" in a liquidish "Drop".When the community grew, the idea came up of a cartoony dropwith a face. Steven Wittens (UnConeD) created a 3D drop, butthe idea didn't get too far mainly because 3D is hard to print,Drupal Handbook: 20 April 2005•

30hard to edit, etc.When the logo-issue had come up again, Kristjan Jansen (Kika)came up with idea of putting two side-way drops together toform an infinity-sign. When put into a filled circle, it resembled aface. After some more work by Steven Wittens, the Drupliconwas created: a stylised drop with the infinity eyes, a round noseand a mischievous smile.That's the 'story' behind it... I like the idea that the infinity-eyessymbolise the infinite possibilities that Drupal offers :)See more versions of the logo in themarketing section.Feature overview<?php print feature_listing();Hosting and services•This page highlights people and organizations who offerservices related to Drupal.•Instructions for being listed on this page are at thebottom.•Outsite of this page, any user on Drupal.org can markthemselves as providing Drupal-related services. Weprovide alist of these people.Table of contents•Hosting

Drupal HostingThe following companies offer a web hosting platform suitablefor running a Drupal site. For more information on Drupal'ssystem requirements, consult thesystem requirementspage intheDrupal handbook. Known hosting companies include:OpenSourceHostOpenSourceHostis a specialized web hosting company focusingon providing quality web space and support for open sourcecontent management systems, as well as other open sourcesoftware systems. For Drupal hosting, we providegraphicalinstallation instructions, and if you take advantage of our specialoffer athttp://drupal.opensourcehost.com/you will receive anadditional 100 megs of space and 1 gig of bandwidth added tothe hosting package of your choice.CascadeHostingA small webhosting company run from Portland Oregon,CascadeHostingoffers cheap web hosting ($99/year includesfree domain registration) and web programming contractservices. We'll setup Drupal for free as part of our $99/yearaccount, and answer any drupal related questions atdrupal@cascadehosting.com. For more information, checktheirDrupal page.GrafiX Internet B.V.GrafiX Internet B.V. provides transit, co-location, and dedicatedservers in Amsterdam and Rotterdam, The Netherlands. We aremost proud to be the dedicated server provider of choice forwww.drupal.org, as well as some offspring projects such aswww.drupaldevs.org.We believe in 'medieval marketing', and thus our web presence(www.grafix.nl) is fairly humble. We strive to make ourcombination of service and support legendary, and our name topass mouth to mouth, spread wide and far by our many satisfiedcustomers.It would honor us if you will consider GrafiX Internet B.V. as aDrupal Handbook: 20 April 2005•

32service provider for your drupal-based deployment! Contact usat sales@grafix.nl or by phone at +31-(0)180 - 450170We can offer:•Server co-location starting from 59 €/month (Our network,your hardware).•Dedicated Servers starting from 200 €/month (Ournetwork, our hardware).•Raw or managed transit capacity starting from 1 Mbps togigabits per second.•Rack (cabinet) space starting from 1/3 rack and up toentire datacenter cages.•Network, operating system, and security consultancy.NorrixNorrix has launched their hosting service for Drupal. What thismeans is we will manually install Drupal for you, unlike otherhosting companies. We will even help you get started on it, if itsthe first time you are using it. We will alsoupdatethe softwarefor you,free of charge, when a new version is released.This is what you get for$10per month:•Latest Drupal Installation•300 MB of webspace + 5GB Data Transfer per month•5 Email accounts•2 Databases•2 Mailing list•And loads more...For more information you can mail us at solutions[dot]norrix[dot]com. Also check the ourweb hosting page.What more if you select us we willdonateup to50%of theprofit to the development of Drupal. In this way you also helpthe evolution of the software and support the developers.Drupal ServicesThe following people or organizations provide services relatedto Drupal.Moshe Weitzmanweitzman @ tejasa.comDrupal Handbook: 20 April 2005•

33Boston, MA USA.ServicesConsulting on Drupal installation, training, and support. CustomDrupal software development also provided.QualificationsI am intimate with Drupal's inner workings, and can completecustom projects with speed and quality. I have authored much ofthe•Distributed Authentication

is deploying Drupal in their intranet. Theycontracted with me to write anLDAPmodule, and anevents module. Thanks Pixelworks.•Moodcenter.org

is deploying a portal site where patientscomplete surveys and receive instant graphical feedbackabout their mood state over time. This portal requiresintegration with a survey engine, statistics application,andPHP graphing utilities.•Marlboro College

is integrating the Drupal authenticationsystem with their own LDAP based directory. The Drupalldap_integration.moduleis powering that integration.•National Society of Hispanic Professionals

is relaunchingtheir web site using Drupal as a Content ManagementSystem and community engine. Special plannedenhancements include a powerful new calendar with deepDrupal Handbook: 20 April 2005•

34taxonomy integration.•Music For America

based their ambitious site on Drupal,and asked Moshe to develop modules for tracking theirartists, venues, contacts, and more. Moshe delivered aflexible node module which could serve all these purposesat once. This module was incorporated into theCivicspaceproject. Planned enhancements include affiliate trackingand enhanced subscription features.•University of Vienna

is now runningone of the mostadvanced Drupal pods in the world[staging site]. Theymaintain one Drupal site for many courses in their catalog,while maintaining a single user account across all sites.They also share language translations across sites.