This page relates to the Skill sets described in the open curriculum project, and tries to describe one of the skill sets. See this page a collaborative notebook, and feel free to edit and improve it.
- Server/code related
- Installing Drupal
- Downloading and installing modules
- Disabling, uninstalling and removing modules
- Downloading and installing themes
- Fields and entities
- Adding/editing fields on content types
- Knowing fieldable entities
- Adding/editing fields on non-content entities
- Using reference fields
- Research/Learning
- Finding resources for how to use a module
- Evaluating modules without installing them
- Localization
- Build sites in one language (even non-English)
- Import and update translations
- Create manual translation
- Blocks
- Placing blocks in regions
- Adding manual blocks
- Manage block visibility settings
- Menus and navigation
- Creating menus
- Using main and secondary links
- Creating self-updating navigation(?)
- Basic Views skills
- Create page and block displays
- Using override settings in displays
- Switching between field output and full rendered content
- Basic field configuration: labels, markup, etc.
- Managing filters
- Managing sorting
- Managing access
- Setting title, header, footer, empty response, etc.
- Cloning, disabling and deleting views
- Important single-purpose modules(*)
- Views
- References
- Entity Reference
- Admin/Administration Menu
- Pathauto
- Date
- Context
- …
(*) Note that basic site building skills doesn't require that you know all these modules, but you should have tried most of them.
Comments
modules...
I'm not sure Automatic Nodetitles, Scheduler, and SWF Tools belong in this list for basic site building. They aren't normally required to build most sites. They're popular, that's true, but for basic site building? I'm not so sure... When I hear "basic site building", I think "fundamentals".
-mike
Agreed
I'm a professional Drupal site builder, and I have never used any of those three modules. Stick to views and fields.
Drupal programmer - http://poplarware.com
Drupal author - http://shop.oreilly.com/product/0636920034612.do
Drupal contributor - https://www.drupal.org/u/jhodgdon
I second that. .
I second that. .
Done!
These are now removed. They were added because I felt they were common enough, when browsing through the top 200 modules. Apparently I was wrong – it is good with feedback. :-)
question. how are we defining
question. how are we defining "basic"? Is basic associated with all core modules and the most popular contrib modules? Hence is basic = frequently used. Or is "basic" something that is easy to use, not requiring any or much prerequisite knowledge? For instance, is pathauto basic because it can play a significant role is SEO friendly URLs and often used? Or is pathauto intermediate because you need to understand the use of tokens and other pathing strategies before properly utilizing this module?
"basic" == "first steps", I guess
As I see it, "basic" is here used mostly to collect "easy" things. However, that's only part of the truth – there are probably tons of easy things you can do with Drupal from a site building perspective that aren't mentioned here. So "basic site building" are, I guess, "the most important of the easy things to learn" when it comes to site building.
This is a really good question, because it defines what should and shouldn't go into this skill set (and the same kind of question could probably be used for other skill sets).
As I see it (at the moment), the skill sets are primarily a learning resource. That means that "basic site building" should be useful for someone who wants to learn basic site building. Consequently, it should include the "first steps" of learning site building – meaning both things you absolutely need to know (installing Drupal), but also things that are really useful and not that complex (creating blocks, doing simple Views stuff).
prerequisites
hmmm. This makes me ponder Views. I had a database and SQL background so the concept of views was easy to grasp and I was able to teach myself most of what I needed to know in Views1. But ... would I consider Views basic? If "easy" is our metric, then I would say no for the non-db person. BUT, Views is "important" and it keeps coming up so maybe it should be "basic".
Part of the answer depends on my next question, what are the prerequisites we assume. You know those non-Drupal specific skills that Drupal depends on (PHP, CSS, HTML, DB architecture, SQL, etc.). I found Drupal easy to use when I started in D4.5 but I had the background to grab it and run. Now that it has the reputation that you don't have to be a coder to use it, I think many are approaching it with little or no web dev experience - thus lowering the prereq bar.
It isn't that Views or even CCK/fields can't be taught and learned, it just means further consideration into defining basic versus the next level.
thoughts on this anyone?
Reconsidering
Good points.
I feel strongly that basic Views skills should be included in "basic site building" – because you can't really do useful site building without Views. This means that I'm (at least for myself) re-defining what is meant by basic in the "basic site building". It is the essentials of site building, rather than the easy parts of it.
(At least for the basic parts of Views, I don't think that any SQL knowledge is necessary – the most complex stuff is fields, sorting and filters. I learned Views from a Drupal/CCK perspective rather than a SQL perspective, and I still have very weak SQL knowledge. I'm pretty confident that we don't need SQL as prerequisite, but since I lack the skills I don't know how much help it would have been.)
Those are my thoughts for now. Looking forward to hearing more.
Agree. Many modules create
Agree. Many modules create default views so you need to know at least that they are there, how to use them and do small changes such as title, how many nodes to show, turn pagers on/off and so on.
Agree also that SQL is not needed for basic views. I'd venture to say that trying to understand views in terms of SQL makes it much more difficult. Of course at some point down the road you'll need to learn how to join two custom tables using views, but that's WAY down :-)
I didn't mean to imply you
I didn't mean to imply you need to know SQL to learn or use views. I just had module dev on the brain when I was commenting earlier. I like your use of essentials. It will be interesting to see if/how that change will change people's perspectives on this discussion.
Depending on the answer to my
Depending on the answer to my question above, here are some other thoughts. I know I am late the discussions but have you thought about breaking the "build" skills into categories? Off the top of my head, maybe something like below. Basically "types of skills". That way the many different tasks associated with that type of "work" can include many tasks (maybe even using modules that aren't used often). Of course, if this idea is to work, we would need to still agree on what "basic" things go into the category 'bags' of tasks.
Server/Code management related skills
* Install Drupal
* Download and install (to me 'install' does not mean configure but just make it available to use) contributed modules (assuming you don't use D7 module grabber)
* Disable, uninstall and remove contributed modules (the remove part is server related)
* Download and install contributed themes
Content Collection Forms
* Set up and edit content types
* Add and configure fields to content types, comments, taxonomy terms, user accounts, and any other fieldable entities on the site
* Use reference fields
Drupal architecture
* Know what entities are, in particular fieldable entities
Research/Learning
* Find resources describing how to use a module
* Do basic module evaluations without installing the module
Internationalization
* Build websites presented in one language, even non-English
* Import interface translations
Build blocks
* Do basic Views configuration (see separate list)
new * build manual blocks (know when to and when not to)
Configure interfaces
* Place blocks in regions
* Configure basic block visibility settings
Navigation
* Create new menus
new * Plan menus
new * Create dynamic "menus" (self updating)
new * manage access to menus
User Management
* Create new roles
* Assign permissions to roles
Tagging
* Create new taxonomy vocabularies
* Add/edit/delete terms from vocabularies
Great grouping
The categorization you suggest seems great to me – it both helps getting an overview, and helps thinking about any skills we missed so far.
It is now implemented in the wiki page.
I consider Basic skills of Drupal in a different spin
I am professional Drupal developer and run a development shop. In my experience I divide the skills of Drupal in the following categories
In order to develop a Drupal website the Developer/analyst should be aware of few other factors and not just Drupal Modules but also industry landscape and open source behavior. I am in process of building a list of modules under each of the above 6 classification and will be able to publish out end of next week.
I did this classification after we developed around 15 Drupal websites and i always struggled with Training/ Responsibilities of the resources.
Fits well with overall skill sets
The skills you suggest seem to fit well with the list of skill sets discussed earlier, which is good. Feel free to dive into it and see if you find ways of improving it!
Basic Views
While I agree that it is important to have an understanding of Views for Basic Site Building, this is the one area that needs to be fleshed out as to what is considered Basic?
Someone with a background in SQL is certainly at an advantage because Views is just a visual representation for manipulating the data that is stored.
I'd like to see the list in idcm's comment above: "* Do basic Views configuration (see separate list)"
Perhaps that will better explain the parameters of basic views management.
Tom
"There is nothing wrong. There is simply what is, and what you choose to make of it."
"Basic Views" in wiki page
There's a list of "basic" Views skills in the wiki page (though I realize now that it is not labeled "basic"…)
Does that fit with what you would describe as basic Views skills?
Ah, Much Better
Now that I've found the Views Skills above, I would have to agree these are pretty basic and would be a good intro to Views.
The only item I would add is something to the effect of how to use Live Preview to test your View.
"There is nothing wrong. There is simply what is, and what you choose to make of it."
Rewrote the skill list
I just rewrote the skill list to a tree, to make it easier to map against a future taxonomy structure. (I also made the language a more consistent, using the same form on all items.)
Topic changes:
I have no idea why the layout of the tree list looks the way it does. Probably some CSS thing…