There's now a Drupalversity-specific group at http://groups.drupal.org/drupalversity. This wiki page has been copied to http://groups.drupal.org/node/49778 - please edit it there.
This page will contain a few trial Drupalversity courses.
Streams
Streams are broad subject areas which Drupal can be divided into. Much like a degree in Mathematics might be divided into streams in algebra, analysis, mathematical methods and medhanics, Drupal can be divided into three streams: site building and administration, theming and development. In addition to this, a separate foundation stream, Beginning Drupal can broadly be compared to a pre-university course in Mathematics that teaches the basics, and can then be relied upon in the other streams.
Courses
Each stream is subdivided into courses, much like how the analysis stream in a Mathematics degree might be divided into courses titled Analysis 1, Analysis 2, Analysis 3: Complex Analysis, Analysis 4: Real Analysis, and so on. While streams are designed to be indepent (but with some inevitable overlap), courses build on each other.
Each course will make use of existing material as often as possible. It is not the intention of this project to create new learning materials: there are plenty of those already. Instead, Drupalversity will organise these materials to make them more accessible, and to make learning Drupal more proactive (what should I learn next?) than reactive (this project has to be finished by the end of today and I need to know how Views Bulk Operations works).
Course numbers are four digits long. The first digit is either 1 (Beginning Drupal stream), 2 (Site Building and Administration), 3 (Theming), or 4 (Development). This should give adequate namespace.
A few course ideas will be posted soon.
Site building and administration courses
- Introduction to building sites with Drupal (take from the Drupal Cookbook)
- Image handling
-
- Image cache
- Advanced Drupal site-building and administration
- Drush
- CCK
- Introduction to CCK
- Important field types and widgets
- Views
- Introduction to Views
Theming courses
- Fundamentals of programming
- Many graphic designers who want to become themers have never done *any* programming, but they need to understand conditional logic, variables and arrays to be able to use the theming system. No-one tells them this, though.
- Input and output
- Variables
- Arrays
- Conditional logic
- Functions
Development courses
Resource dump
If you find good resources that could be referenced by a course, add a link here. We can then build the resources into courses as they are written.
- http://www.lullabot.com/articles/creating-custom-cck-fields - Creating Custom CCK Fields by Karen Stevenson, lullabot.com
- http://drupal.org/node/173880 - About Overriding Themable Output - from the Drupal 6 Theme Guide - includes stuff on overriding themable output in modules
- http://state68.com/content/programming-basics-drupal-themers - Programming basics for Drupal themers
- http://drupal.org/node/225125 - sub-themes, their structure and inheritance.
Blogs etc that we can go through to find useful articles
Stuff from lullabot.com that can be used
- IE iFrame Insanity - http://www.lullabot.com/blog/ie-iframe-insanity
- Using the VI editor - http://www.lullabot.com/blog/using-vi-editor
- Analyze This! Using the Google Analytics API - http://www.lullabot.com/articles/analyze-using-google-analytics-api
- User Management for Real World Groups - http://www.lullabot.com/articles/user-management-real-world-groups
- Drupal data imports with Migrate and Table Wizard - http://www.lullabot.com/articles/drupal-data-imports-migrate-and-table-w...
- Drupal Performance Tip: Block Visibility - http://www.lullabot.com/articles/drupal-performance-tip-block-visibility
- Installing Memcached on RedHat or CentOS - http://www.lullabot.com/articles/installing-memcached-redhat-or-centos
- Learning JavaScript from PHP - a Comparison - http://www.lullabot.com/articles/learning-javascript-php-comparison
- Great Tool for Webshots - http://www.lullabot.com/blog/great-tool-webshots
- My Aha! moments in Drupal theming - http://www.lullabot.com/articles/my-aha-moments-drupal-theming
- Hacking Views, Part 1: Basic Concepts - http://www.lullabot.com/articles/hacking-views-part-1-basic-concepts
- Creating Custom CCK Fields - http://www.lullabot.com/articles/creating-custom-cck-fields
- The Great Pretender: Making your data act like a field - http://www.lullabot.com/articles/great-pretender-making-your-data-act-field
- 5-Step Drupal Distributions - http://www.lullabot.com/articles/5-step-drupal-distributions
- Import/Export Large MYSQL Databases - http://www.lullabot.com/blog/importexport-large-mysql-databases
- Drupal Charting - http://www.lullabot.com/articles/drupal-charting
- Introduction to Calais - http://www.lullabot.com/articles/introduction-calais
- Making Attachments Appear Across Translations - http://www.lullabot.com/articles/making-attachments-appear-across-transl...
- Solving the permission denied error when updating Drupal via CVS - http://www.lullabot.com/articles/solving-permission-denied-error-when-up...
- "Classic" Web Problems, Solved - http://www.lullabot.com/articles/classic-web-problems-solved
- Beginning with Drupal 6 and PostgreSQL on OS X 10.5 Leopard - http://www.lullabot.com/articles/beginning-drupal-6-and-postgresql-os-x-...
- Drupal Community Philosophies - http://www.lullabot.com/articles/drupal-community-philosophies - not a tech tutorial but a very important fundamental tutorial about what Drupal is
- The Drupal Community Philosophies article is the last one I reviewed so that's where I need to start from when I start up again
- Avoiding the Template.php of Doom (or, Overriding Theme Functions in Modules) - http://www.lullabot.com/articles/overriding-theme-functions-in-modules
- Module-In-A-Box: We Built Admin Tools So You Don't Have To - http://www.lullabot.com/articles/module-in-a-box
- Theming Best Practices (Garland Gets a Cleanup) - http://www.lullabot.com/articles/theming-best-practices-garland-gets-a-c...
- Modifying Forms in Drupal 5 and 6 - http://www.lullabot.com/articles/modifying-forms-drupal-5-and-6
- Replace any string in Drupal (5/6), without Locale module - http://www.lullabot.com/articles/replace-any-string-drupal-5-6-without-l...
- Setup a Memcached-Enabled MAMP Sandbox Environment - http://www.lullabot.com/articles/setup-memcached-mamp-sandbox-environment
- A Drupal Module Developer's Guide to SimpleTest - http://www.lullabot.com/articles/drupal-module-developer-guide-simpletest
- Drupal 6: The Mashup Toolbox - http://www.lullabot.com/articles/6-mashup-toolbox
- Hiding content from Drupal's search system - http://www.lullabot.com/articles/hiding-content-drupals-search-system
- Moving CCK Field Changes from Dev to Live - http://www.lullabot.com/articles/moving-cck-field-changes-from-dev-to-live
- Drupal ahah.js in Core, more than just form elements - http://www.lullabot.com/blog/ahah-js-in-core
- Use Dynamic DNS to host websites from home (Or "How to set up localhost to test Facebook applications") - http://www.lullabot.com/articles/use-dynamic-dns-host-website-your-laptop
- From this point on we're getting into D5 stuff, but there are some generic tutorials that are valuable
- How do you backup your webserver? - http://www.lullabot.com/blog/how_do_you_backup_your_webserver
- How to install memcache on Debian Etch - http://www.lullabot.com/articles/how_install_memcache_debian_etch
- How Drupal Will Save The World - http://www.lullabot.com/articles/how-drupal-will-save-world (another non-tech but interesting article nonetheless)
- CVS Annotate, or "What the heck were they thinking?" - http://www.lullabot.com/articles/cvs_annotate_or_what_the_heck_were_they...
- The Bitchin' Search Box - http://www.lullabot.com/articles/bitchin_search_box
- Strategies for Patch Management - http://www.lullabot.com/articles/strategies_for_patch_management
- Quick-and-Dirty Debugging - http://www.lullabot.com/articles/quick_and_dirty_debugging
- Great video on how to create patches - http://www.lullabot.com/videocast/great_video_on_how_to_create_patches
- Best practices in open source development - http://www.lullabot.com/articles/best_practices_in_open_source_development
- CVS quick reference - http://www.lullabot.com/articles/cvs_quick_reference
- I think that's it! - go ahead and add any newer articles
Drupal learning experiences
A really useful way that Drupal newbies can contributed to the Drupalversity project is to keep a record of their Drupal learning experience: what they knew about Drupal and web development and design when they started; what they wanted to be able to do; what resources they used; where they got stuck. This sort of narrative is invaluable when it comes to writing Drupalversity courses. Stick your learning experience record below!
totsubo's learning experience
In order to help contribute to the University here's a list of issues I faced when first starting with Drupal, some resources that helped me out, and things I learned along the way.
I wanted to set up an Internet site for a hobby that would have the following properties/functions:
- Let me sell stuff, i.e. be an online store
- Be an online community where other hobbyist could share info and come together
- Be bilingual English/Japanese
I started looking around the web for a free solution that would meet all three requirements. I mostly concentrated on #1 and #3 and didn't give much thought to #2. I was waffling between Zen cart and OsCommerce when someone on the Zen cart forums suggested I have a look at Drupal and a Drupal module called Ubercart. I looked and liked! The Drupal + Ubercart combination seemed to fill all my needs.
Resource #1: Ubercart http://www.ubercart.org/
Issue #1: What did I need in order to build a Drupal site
I'm an IT guy so anything I built was always for the company I worked for which meant I always had a server and the necessary infrastructure all set up for me. But when it came to building a personal web site I had no idea what was needed. Luckily I had friend who had a Wordpress site and he explained to me the basics of finding a hosting solution.
Even after this was all explained to me I was still really worried that I would pick the wrong hosting solution and I'd have spent money registering for a service that wouldn't fit my needs and wouldn't support Drupal.
Issue #2: What do you need in a hosting solution in order to support Drupal?
Now that I've been using Drupal for 2 months I have an idea what the answer to #2 is but I don't know the answer with 100% accuracy. In my case I might have just gotten lucky and picked a good hosting solution, who knows. One thing to point out is that some hosting site actually say they 'come with Drupal' or something like that. Mine did not, but it was listed on the list of hosting solutions that support Drupal. This I found confusing, why would Drupal list you as a host that is Drupal friendly but the host itself doesn't advertise this?
My advice, contact the hosting company directly and simply ask, do you support Drupal. Being new to all this I was very afraid of sounded like an idiot, but they were very friendly and helpful. Plus, if they aren't friendly and helpful, it might be a sign that you shouldn't do business with them :)
That's it for now. Coming later:
- Installing Drupal issues
- Issues figuring out how to install modules
- So many settings!
- Installing Ubercart issues
- i18n: the bane of my existence
- Advanced Forums
- Themes, Acquia Marina
- WYSIWYG + tinyMCE
- Creating a cutom content type, CCK fields
- Location
- GMap
- Views
- Setting up a GMap view
- Replacing the default Blog page with a custom View
- And lots more ...