Workflow for Drupalversity - how to contribute!

jim0203's picture

Now that this project has started to move, I've started to think about it less in terms of something that I can build myself and more in terms of a bigger project that lots of different people can contribute to, usually in a relatively small way.

One of the biggest problems with projects like this is reaching consensus with regards to what the finished project will look like. I think that the project could be really held back if we spend too much time on this sort of thing; conversely, it will really fly if it is developed in such a way that anyone is able to muck in when they have five minutes to spare.

I have therefore slightly remodelled the main wiki page so that it is easier to contribute in the following ways:

  • There are now four "streams": beginners (BEG), site building and administration (SBA), theming (THE), and development (DEV).
  • Under each of these streams there is a header titled "Stuff that definitely needs to be covered in the {name of stream} stream.
  • If you want to see something covered in a particular stream, add it under that header. You can add anything, as big or as small as you like. For example, the THE stream should really cover preprocess functions. Don't worry that this is a big subject; just add it to the list. Someone else can break it up into smaller chunks (or you can, if you really want to!). The point here is that we can all quickly note down what we think each stream should cover; we'll worry about the rest later.
  • Similarly, there are other areas of the page that you can use to quickly add individual tutorials, or websites that contain a number of tutorials. Again, don't worry about the details: just get stuff down on paper. We'll deal with organising all of this stuff later.
  • Finally, if you are a Drupal newbie, you are the most valuable people of all for this project. Note down your own experience of learning Drupal: what you wanted to learn, how you went about learning it, what resources were useful, where you got stuck. Someone has already done this on the wiki; just follow their lead, or add your own wiki page if you like. Even if you're a more experienced Drupal user, you're going to be learning new stuff all the time: please add your own experiences to the wiki.

Does this all make sense? Anyone got any questions or ideas?

Comments

DENIED!

jim0203's picture

We've been booted off our own group (with good reason) so I've going to start cross-posting Drupalversity stuff across four groups which seem to cover our remit, and use the Drupalversity tag to hold stuff together.

--
Jim
codeloom.net
AIM: jim (at) codeloom.net
Twitter: @jim0203

Some comments

LeeHunter's picture

This sounds like it could develop into something very useful but I thought I'd throw in a few comments:

I'm not sure that the "tracks" are well positioned. For example, "Beginner" is just a level of experience or unfamiliarity (and is also fairly ambiguous). I don't see how it could be a track, per se. Also "Administrator" and "Site Builder" should certainly be two tracks since some people only need to learn Drupal administration and will never build their own site.

I'm also concerned that there might be some cart being placed before the horse (i.e. specifying technologies before we've worked out these roles and associated tasks in a more generic fashion)

In my mind, step one is to define the tracks in terms of roles:

Administrator
Site Builder
Themer
Developer

Step two is to map out the skills that must be acquired for each role. For example, an administrator must know how to install Drupal, perform upgrades, configure the core modules, secure the site etc. The Administrator track should also be a pre-requisite for the Site Builder role (i.e. you shouldn't be building sites if you can't do the basics).

Once we have the roles and the skills that are required by each role, we can start figuring out the specific information and experience that must be acquired in mastering each role. This could perhaps be someday used as the basis for testing and certification (for those that are into that sort of thing). A certified Drupal administrator is someone who has learned how to do X, Y and Z.

User role

jdwalling's picture

Are there general skills needed to become an "advanced user" as in the chief editor of a newspaper site? When a Drupal site is turned over to client users, a training guide for various functions would be useful. The guide could be customized for specific cases.

Yes, many levels of knowledge

freescholar's picture

I think there may need to be some definition in the beginner roles such as No tech skills vs a Web developer with no Drupal knowledge. Perhaps :
Beginner - no tech skills ( maybe a Web marketer etc)
Beginner - graphic design Web skills
Beginner - Php programmer (with NO drupal knowledge)
Beginner - basic Web dev skills, but not a programmer (knows how to use/install pre-built scripts, Php or Perl etc.)
Beginner - linux admin skills and basic HTML
Beginner - HTML and CSS skills, but NO Drupal themeing knowledge

This list is probably too granular, but I think there are many different levels of beginner.

Handbook on Platform Cooperativism, a movement building platforms and tools owned by the people. http://bit.ly/hackitownit

Yes, too granular

spp's picture

Yes, I think you are correct that this is too granular. I would expect if there are four major roles (admin, builder, themer, developer), you would probably have four beginners, four intermediates, and four advanced/experts. You're never going to be particularly useful to someone with no tech skills; they probably aren't even going to show up because the only way they'll ever hear of Drupal is when a designer/developer decides to use it for a project.

I think then the rest of your list falls into the categories pretty easily as base level knowledge. A beginner admin should have some basic web dev skills, and basic HTML/CSS, probably some graphic design; a beginner builder needs those plus basic OS skills (not just linux); a beginner themer needs HTML/CSS, graphic design, and basic php; a beginner developer needs php programming.

Be careful of prerequisites

MamaGubs's picture

Good post, LeeHunter. I like the four roles you laid out. I would, however, be careful about prerequisites - I suspect that a lot of Drupalers (like me) got their start by building a site because Drupal seemed like the right solution for what they had to do. I would say that I was learning Administrator and Site Builder simultaneously, and for that matter, even had to do a bit of coding to make the site do what I needed - all before the site actually launched.

Since you brought up the "L" word, even just off-hand as a future consideration, I need to make a comment on that. I'm not a fan of licensing. In theory, it sounds logical. You get some good developers who take the time to get licensed, seeing that it might be a good credential for getting work, and making sure they know what they're supposed to know. And customers use the accreditation as one of the ways to determine the qualification of the developer. All good.

However, all too often you get too much of the following:
1. Really good developers that are not licensed, either because they are just not interested or have far too much work from very happy customers or employers to take the time to do it.
2. Some poor developers who get licensed because they're not having much success in getting work. The licensing may or may not make them better developers. Some people are better students and test takers (idea/concept oriented) than they are developers (action/doer oriented).
3. Licensing boards who start thinking too much about "wouldn't this be nice" and start charging exorbitant licensing fees and offering high priced prep classes.

The end reality is that you've got customers who place too much emphasis on a credential that doesn't signify what they think it does, and beginning developers who are compelled to expend serious cash to get the credential in order to get a start in the industry.

A very good example of this is the Project Management Institute, which started out as a innocent (I think) idea of establishing credentials for experienced project managers, but has become so bloated as to be ludicrous. The hoops you have to go through in documenting your experience, the books and/or "prep" classes that you need to buy (for lots of money) in order to make sure you're answering the questions they way THEY want you to answer, the cost of the certification ($hundreds), the requirement for PDUs (that favorite of licensing boards - Professional Development Units, aka Payment of Dollars from U) and, of course, recertification every couple years for more money (really, how much do the principles of project management change over a couple years??)

Now, that said, I do think there are good licensing programs out there that have not gotten over-bloated. But it's something that eventually seems to happen even to the best of them. If we keep the focus on education - helping developers to become ever better at what they do, we'll be better off.

Sorry for the little rant here - one of my hot buttons :-)

Mama Gubs

Oldie but a goodie and still

yoroy's picture

Oldie but a goodie and still mostly relevant today:

Only local images are allowed.
from http://buytaert.net/drupal-learning-curve

great graph...

MamaGubs's picture

...particularly since it tells me that I really am well past the "I suck" threshold, even though it often doesn't feel that way :-) Theme and module development is next up. Deep breath...

Mama Gubs

CCK and Views is "kick ass"?

spp's picture

Well, yes, those things are kick ass, but they're also pretty dead simple to setup and use. Seems they belong below the "I kick ass" threshold.

rookie, expert, guru

liquidcms's picture

Yup, i love the graph as well. Surprised how well it maps to my very simple rule of thumb when i try to explain to "drupal" devs what i need as far as staff. I have used the 3 simple Drupal developer classes:

Rookie - know how to install/setup basic modules (would also be able to get a local LAMP, VAMP, MAMP, XAMP, etc setup running and install Drupal core)

Expert: keen understanding of CCK/Views and be able to set up and display custom content types

Guru: strong knowledge of Drupal API - basically a module developer. But also includes good knowledge of some of the more tricky/large/important modules like OG, Workflow, Actions, etc.

now if i could only find me a few... :)

Curriculum and Training

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week