I'm standing at the crossroads. I have a Drupal site that, to my mind, was modestly successful.

It has teetered on the brink of being both commercially successful and a community hub, but a full-time job and part-time study always prevented me from commiting enough time to it to see if it could break through.

Then, three years ago, it became too much, and with exams looming and work pressure, I pulled the plug.

I was good at content - when I had the time. I still am. I write professionally as a journalist, I am a trained and experience photographer, and I can deliver script to camera. I also have some training in design.

But it would be fair to say I am rubbish at coding. The PHP and MySql cost me far too many late nights of hair-pulling frustration.

Now, having relaunched the site a couple of months ago, and seeing traffic pretty much rocket up to old levels, I have a serious decision to make.

1) Either I have to learn to code
2) Or I have to take on a cheap, part-time offshore coder for 2 hours a week
3) Or I have to scour local training schools for an ambitious young coder who wants to partner on the project.

Now, number three is my preferred option, but I'm doubtful if it realistic. I certainly can see this venture becoming commercially viable and am happy to carry it until it does, but whether someone else will help me flap the wings until we fly, I don't know.

Number 2 is what I am leaning towards in the short term, but as coding skill will have to come in-house at some point, it can only ever be a sticking plaster.

So that leaves number 1. And this is where want to ask the Drupal community for advice.

What is my best course of action? Do I enrol in an online course? Do I buy another PHP book and work it through cover to cover? Or do I spend my time in forums? I would prefer to do this in a structured way, with a strategy and defined outcomes. I would like, at the end, to be able to write simple modules and customise Drupal blindfolded. Perhaps to the level where I could do it as well as someone doing it (at a low level) commercially.

And I what time frame can that be achieved, with say 5-10 hours of committed work a week?

Finally, are there specific resources, schools, books or forums that can be recommended?

Thank you, I look forward to hearing the advice.

Ps. This felt more general for the post instalation forum, but please let me know if I need to move.

Comments

WorldFallz’s picture

I'm not entirely sure there's a 'best' or 'one-size-fits-all' answer to this perennial question. For me personally, I read every blog/tutorial/documentation page i could find (and there are tons), watched every video I could find, and purchased some books. I also started out small, by helping folks solve their problems in the forums. I learned something every time I helped someone else.

For videos, there's the series at nodeone which is still relevant (as well as free). And now, there's also the drupalize.me and buildamodule sites for paid training. They're not cheap but they're also not too expensive-- and 1 year should get you a long way (or go monthly till you decide which you prefer).

For books the ones I personally swear by: Pro Drupal Development, Drupal Module Development, Drupal 6 - Javascript and jQuery (it's d6, but still revelent and a good buy if you can get a cheapo used copy), and the honored Beginning PHP 5 and MySQL: From Novice to Professional. You'll also want to get something on jquery-- jquery the missing manual, jquery in action, learning jquery are all good. And never underestimate the 'for dummies' series -- many of those books are amazingly good (just check reviews before you buy, there are some clunkers in the series).

In preparation for d8 you'll want to checkout 'oop demystified', http://www.killerphp.com/tutorials/object-oriented-php/, and anything on symfony (the free PDF is excellent).

It's definitely doable but you might also want to keep #3 in stand-by mode so when you stumble in to something that might exceed your current skill set, you can engage someone for a couple hours work (and hopefully learn with them). Also be sure to check out any drupal user groups (see groups.drupal.org) in your area.

There's tons and tons of excellent free resources out there-- definitely make use of all of them!

Manamarak’s picture

Ah, I didn't know Pro Drupal Development had been updated to 7!
I'm still on six, but the first major project I have to undertake is to move to seven, so that is good.
Would you start with basic PHP first. I have PHP and MySQL for Dynamic Websites here and can work through it again as a refresher - well to behonest, I'd be learning from scratch. All I know currently is a bit of HTML and CSS, though even for that I refer to the manual sometimes.

Thank you very much for all the advice above, you have given me a very detailed breakdown, and more than I could have asked for.

John_B’s picture

the first major project I have to undertake is to move to seven, so that is goo

Unless it is a simple site, this is a very bad idea. The forum is littered with people who faced disaster when trying to upgrade Drupal 6 to 7. For just one example see https://www.drupal.org/node/2262143. Stay on Drupal 6 until Drupal 8 is released, then learn about the migration (not upgrade) path from Drupal 6 to Drupal 8.

In addition to the books mentioned above, for an introduction to module development which is less advanced, and very clearly explained, look at Blair Waldman's ebook http://befused.com/master-drupal/

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

drummondf’s picture

So your real challenge is how do you continue supporting a D6 site? I feel like the odd man out, but I say migrate to D7. What are you looking at content wise?

Ask me about marketing

Jaypan’s picture

I feel like the odd man out, but I say migrate to D7.

I'm in agreement, but for different reasons. D6 will only be supported for 3 months after D8 is released. But when D7 came out, it took a year for it to mature enough to the point at which I was willing to start using it. On top of that, at the start there will be little documentation to refer to on D8 for people trying to build sites, and for a novice, it will likely be very difficult. When considering that D7 has almost 4 years of documentation out now from people using it, and the fact that it's very mature with a solid module offering, I think that the migration to D7 will be a better prospect for many people. Unless I was already comfortable with D8, I don't think I'd go from D6 -> D8.

Manamarak’s picture

On this at least, I have made up my mind: I am moving to D7, not D8.
D8 may have loads of new goodies and moving straight to D8 will mean that I can wait longer before I upgrade again.
...but...
Here at least, I have learned from experience.
I upgraded from D5 to D6 just after the latter was launched.
This meant that many of the contribs were still in a very high state of flux. It caused me great heartache and many lost hours when vast swathes of my database were upgraded at a developer's whim - and I then had to play catchup with dependencies. Now, much of this was because I was reliant on modules that were in dev at the time - a clear cost of early adoption.

I don't mean for this to sound disrespectful to the kind contributions of the people who make their hard work available to me free of charge - I am not. I am hugely grateful to the Drupal community and when I make my fortune I will erect a statue to all of you - but I'm moving to D7, I'll get to D8 when it has been properly broken in.

Again, this is the right solution for me - everyone else may have other ideas.

John Pitcairn’s picture

A few thoughts, without knowing anything about the site:

An "ambitious new coder" is still going to have to learn the Drupal API and best practices, and will probably make more than a few newbie mistakes in the process. If any of those mistakes are architectural, that will just be an ongoing problem.

If there is a commercial return anticipated in the medium-term, is the likelihood of that strong enough to employ a developer who actually knows what they are doing right now? Do you see development as an investment or a write-off? Are you looking for a competent development partner who can advise and guide you, or just a code monkey who will do what you say without much analysis?

Do you WANT to learn to code? Do you think you would enjoy it? Or will it just drive you mad and take time away from what you are good at? The Drupal learning curve is pretty steep, even for those with prior PHP experience. I would say allow a year of 5-10 hours a week, just for Drupal. More if you have to learn PHP as well.

There is offshore and offshore. If you are talking about India, Drupal competency is extremely variable, but everyone will say they know what they are doing. Don't expect every contract Drupal programmer to be able to offer the analytical and architectural skills you will most likely need, or to be able to finish the project. PS: I am "offshore"...

Whether it's a good idea to upgrade to Drupal 7 (or 8) now or later is not a straightforward decision, your developer would need to have a good look around the existing Drupal 6 site to assess the likely difficulties.

drummondf’s picture

Can you explain the existing site a bit further? Then it will be easier to propose a solution.

Regarding sticking with D6, ultimately you will be fighting an uphill battle for years to come which will honestly probably result in you upgrading to D7 anyways.

Agree with Jaypan, D7 is where you need to be focused. It stinks to upgrade, but it has to be done.

Ask me about marketing

Manamarak’s picture

Hi Geric,

Thanks for your reply.

I didn't want to post a link to the site originally for fear of the spam-behavior issue, but I think the site is best explained that way.

http://www.illustratedphotography.net

I'm not sure where the idea comes from that I intend to stay on D6 - I certainly don't.
I always use the opportunity of a major upgrade (well I've only been through one - from D5 to D6) to give the site a major overall in terms of theming and so on.

So in short - I AM going to move to D7, and that is part of the reason for this post. It seems like a major change like that is the ideal time to think strategically in terms of my maintenance goals.

drummondf’s picture

I think ultimately moving to a D7 site you should have very little to be concerned with maintenance-wise. D7 is in a very stable place (the most stable version of Drupal currently) and I would guess any updates will be minor, just stay on top of them.

The migration will be your biggest challenge, but if you keep your content types and structure close to its current D6 build, it won't be too tough to get shifted over. I will recommend Feeds for the migration, which has some add-on modules to help with migrating images which I'm sure are a big part of what you do.

Ask me about marketing

WorldFallz’s picture

Let's be careful about terminology in this post. Upgrade != migrate.

Upgrade generally refers to an in place upgrade over the existing site. Googling that for even just a minute will reveal that's usually unmitigated disaster.

Migrate, on the other hand, usually means recreating the site with the desired version of drupal and then migrating the data over to the new site. This is typically done with the migrate (which has been added to core for d8) or feeds modules.

drummondf’s picture

Excellent point, cheers!

And I highly recommend Feeds for ease of use

Ask me about marketing

WorldFallz’s picture

agreed... if feeds can do it, it a pleasure to use. And feeds_tamper is amazingly useful. the migrate module is more powerful, but also, not surprisingly, more complex to use.

Manamarak’s picture

Ah, right, I missed the upgrade/migrate conceptual distinction.

Right, I am not looking for a simple upgrade - that is the simple one, right? I will have to migrate.

I have tried the core upgrade path once (on a test site, I have over the years learned from mistakes) and yes, it was an unmitigated disaster. But I did expect that as my site has been highly customized with several custom content types.

I will certainly look into these two modules mentioned above, so thanks for pointing them out to me.

John_B’s picture

Neither migrate nor upgrade are especially simple (though upgrade can be simple on a simple site). I have advised against upgrade, others have said that some form of move to Drupal 7 is a good idea. Maybe they are right. There is no single right answer, there are so many factors to consider. I just wanted to be sure you were aware that the upgrade can be tougher than the documentation suggests before you start because this is often overlooked (even by some people who offer to perform upgrades commercially for clients, as happened in the thread I linked, which can hurt your business if you make a point of treating clients well, or hurt the client's interests in the case of contractors who do not behave fairly). Anyway it seems you know the problems already.

The first thing I do is to simplify a site as far as possible. And check that any contributed modules which you depend on for functionality have a version, or equivalent, for Drupal 7. Then you have a plan.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors