1 / 28

Drupal: First Blush

Drupal: First Blush. A newbie ’ s first serious look by: Craig Harris CraigWHarris@comcast.net. My Background. Very experienced in non-web software:

stu
Download Presentation

Drupal: First Blush

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Drupal: First Blush • A newbie’s first serious look • by: Craig Harris • CraigWHarris@comcast.net

  2. My Background • Very experienced in non-web software: • I developed large apps in C/C++, Java and a host of other languages for 20 years. The primary focus was desktop “design automation” software • Very little web experience. I made a tiny initial website in 2000 for my second software company • Web-related knowledge: • Have ‘read’ about HTML, CSS, JavaScript, CMSs, Web Services • Have ‘read’ about various website building tools ( including CMS’s ) • Played with Wordpress • I own Dreamweaver, but have never used it ( except for doing the tutorial ). I expect I’ll use Fireworks and Photoshop

  3. Purpose of the presentation • Share my first Drupal experience with the SCWeb Dev Group • Explain why I’m interested in Drupal • Describe the process that I went thru in evaluating Drupal • Let you know what I discovered in the process • Summarize the lessons learned

  4. My Current Goals • I’m developing a small media company. • This will require developing a few websites - that incorporate some community-type features. • E.g. membership, member contributions, member management, user interactivity, maybe crowdsourcing • I need to focus most of my effort on content development so I am looking for website building technology that is powerful and scales* well • “Ideally” I’d like a CMS or other tool that doesn’t require a lot of coding and can be made to look/feel good without too much effort ( a tall order!) • I might need to offload the website work, and if I do, that code needs to be well designed and maintainable

  5. Why I have selected DrupAL for eval • PROS: • It’s a CMS that provides a lot of the features I need • As a CMS, developers seem to like it the best for many reasons • It’s flexible, powerful and scalable - and is architected well (important) • It is fairly mature and robust • It has good features (security, SEO, and lots more) • It’s extendible thru modules (write your own or acquire from the community) • Appears to have fairly large and savvy software-oriented community • NOTE: I did take a glance at the dozens of other CMS’s and COM builders out there

  6. Why I have selected DrupAL for eval • My Concerns: • It may require a lot more coding than I would prefer (?) • “Apparent” lack of high quality themes (not sure. maybe themes are easy to create/modify?) • I hear that most common community site functionality is available - but I don’t know how “good” it is • I’ve been told the learning curve is steep. How steep? (what does ‘steep’ mean?) • I’m willing to put extra effort into a good scalable solution, but this is dangerously seductive. This represents a real challenge for me

  7. To Date... • August: Initial Look • I first became aware of Drupal in August and tried it • I decided to build the server on my local computer: • I’m using MAMP ( Apache, MySql, PHP) on my Mac • In my initial pass I decided to use D7 (latest and greatest) • Many themes and modules did not support D7 at the time (most importantly “Media”); I couldn’t find any good themes, so I stopped website dev and focused on other things.

  8. to date... • October: Took a Second Look • After discovering SCWeb Developers, hearing about Darren’s experience, and reading a little more, my interest in Drupal was re-sparked, and I decided to take a second look. There’s something seductive about it (I think it’s the architecture and design) • Then after discovering the Santa Cruz Drupal Group, and receiving their input, I decided to take a second shot and evaluate Drupal, and in particular D7 • Reason: • A working version of “Media” is now available • The group believed decent extension modules were available to cover standard community-type features (including ecommerce, ranking, etc. etc.) • D7 is pretty cool • Because I need to limit website dev time, I wanted to develop an efficient evaluation strategy

  9. Eval Plan • Goal: Calculate required effort and feasibility as fast and accurately as possible • Write a tiny spec that covers the most critical features I require • Attempt to characterize the true effort of each feature • For each feature: • If it’s clear that the feature will work, move on to next feature • If the feature doesn’t work or exist, take special note: • Try to characterize the cost of the solution or work-around • Bottom line: Pay special attention to the 80/20 rule and try to ‘feel’ where all the work is going to be done! • Also using learned lessons, calculate the cost of developing and maintaining a full Drupal site

  10. Tiny Spec • Features: • Create an ‘elegant compelling’ theme*: • either from an existing theme or custom work (the drupal template file) • Allow members to submit articles that contain audio/video/text • Create/manage multiple types of content • Each content type will have different structure • Create dynamic pages based on different views of the content • Support ranking in some way • Support standard social networking capabilities ( facebook, RSS, affiliates ) • [Explore more elaborate crowdsourcing capability**] • Not focused on ecommerce components yet ( shopping carts etc.)

  11. Learning Strategy going in • Start with Drupal.org site: • Try to learn the concepts and features • Google and youtube into the Drupal websites/videos: • especially for tutorials • Talk to Drupal people live about Drupal life • Buy at least one book • Communicate with the Drupal online community • As I find the best resources, drill down and leverage them more.

  12. THe resources I used • It was frustrating at first: The Drupal site seemed opaque and complex. But I eventually found some good video tutorials from NodeOne and LevelTenDesign that got me started. • http://nodeone.se/blogg/learn-drupal-7-sceencast-series-summed-up • http://www.leveltendesign.com/tutorial/video/drupal-7-tutorial-list-fields • Then to learn how the system is structured, I used the Drupal.org docs • It’s extensive, a little unwieldy, but I was able to find the answers to most of my questions ( What’s a “node”, a “block”, a “region” etc.) • I also bought the book: “The Definitive Guide to Drupal 7” (Haven’t used it much) • Various contributors • “Lots” of Drupal sites: Acquia, DrupalGardens, etc. etc.

  13. MOre Resources • I only recently learned about the local Drupal group. • http://groups.drupal.org/santa-cruz • They seem to be an active group of Drupal website developers • In my first meeting I learned a lot, including the source of extensive tutorials: • http://drupalize.me/videos/ • http://buildamodule.com/ • These are paid-for tutorials, but the price is low ( ~$30/mo) and the quality is good • Most recently: Mustardseed: (espeically for media) • http://mustardseedmedia.com/podcast/episode50

  14. About the “Features” • Create an ‘elegant compelling’ theme and UI: • Navigation and Menus are straight forward to set up • Modern menus: seem straight forward (Nice Menus or Suckerfish) • However after installing Nice Menus and getting it to work, behavior needs tweaking • Theme (layout + look) : Next to media handling , definitely the largest cost if you create your own • Bad news: if you use D7, and don’t want to code a lot, the contributed themes that I found are not great ( maybe I didn’t look in the right places) • Good news: Drupal Theme architecture is somewhat “modular”, so if you are CSS/HTML/PHP savvy, you can develop your own. For me, this would be big learning curve, and if you’re an expert, requires a lot of effort also • I learned that in order to customize a Drupal theme: • I at least need a css editor ( thinking CSSEdit or firebug lite; any opinions?)

  15. About the “Features” • Allow members to submit articles that contain audio/video/text • Well, Drupal is a CMS. If it can’t signup members and they can’t submit articles,.........%$#@&^& • (Minor point: When I tried to add users, email conf did not work locally) • Members can submit articles, but the only built-in media handling is embedded video code from Youtube, etc. (i.e. very weak) • About Media: The Great Rabbit Hole of Drupal 7 : It’s a dizzying experience. • I tried hard to use the new Media Module: Found a technique that requires 7 specific related modules and yet produces a weak solution ( frustration + time warp) • Can get help from the developer community, irc channel and Media group but this is time consuming and doesn’t necessarily yield a good strategy • Many solutions to music - they’re mostly weak • However after much research and work, I did find a solution: MediaElement Module + MediaElement.js

  16. About the “Features” • Create/manage multiple types of content • Create dynamic pages based on different views of the content • The Wheelhouse of Drupal: This is one area where Drupal really shines! • Whatever content types (structures) you CAN construct, it’s easy to: • Create different content types (structures) • Create/manage different views of the content structure and substructure

  17. About the “Features” • Support ranking in some way • There isn’t a lot out there for D7 except the very basics • I have not yet found a really good ranking type module • I installed Voting API + Fivestar and got it to work for ranking (modulo some minor behavioral problems) • Support standard social networking capabilities ( facebook, RSS, affiliates ) • I researched this but didn’t spend a lot of time on these issues • But what I did read and try seemed to be relatively straight forward • Bottom line, not a big concern - but again only basic capability • Crowdsourcing Capability • There are some crowdsourcing tools/techniques besides hosted solutions • There is the Ideation Module, but I haven’t gotten to this area yet

  18. Lessons learned (for my Specific goals) • About Infrastructure Issues (Site maintenance): • To maintain a site, I’ll need more tools Drush, Git, Cpanels and more) and MUCH more time • GIT is a distributed version control system and more ( has GUIs) • Drush is a command line interface • CPanels for server interaction • To maintain a site(s), it will require a lot of work ( updates to Core, version control etc.) • About Website Feature Development • Membership managementis built-in, very powerful, easy to use*, and scalable • Content management is built-in, very powerful, and easy to use*, and scalable. • There are even modules being developed for node hierarchy and view hierarchy

  19. Lessons learned (for my Specific goals) • About Website Feature Development (Cont.) • Media handling is problematic and messy thus far in D7 - but there are “fair” solutions. Many approaches are very time consuming • Theme development is one the biggest costs in using Drupal 7 (and where the largest learning curve is for me) • This requires much deeper understanding of the Drupal architecture including templates, the API, and much more • For my purposes, both free and commercially available themes are weak • Even if you hire a themer, I anticipate it will be hard to collaborate in a cost effective way. This may be a business opportunity for a great themer • Create dynamic pages based on different views of the content is a big strength of Drupal. It’s easy, powerful, flexible • Standard Components (ecommerce, social networking, ranking, voting, tons of others) are mostly available in the form of modules, but usually only in their most basic form (implementation) • if you require high quality or more refined functionality, you probably need to do it yourself ( Custom work)

  20. Lessons learned (for my Specific goals) • About Resources • There seems NOT to be a dominant single comprehensive resource for learning • I use an array of providers/resources • Online tutorials, Drupal.org docs and browsing resources, Drupal community is very helpful. Books have not been that useful thus far. (More specifics are in the appendix). • Even the high-quality tutorial providers........... • BuildaModule, DrupalizeMe, Lynda, GotDrupal, NodeOne, MustardSeedmedia, Tutr.Tv, Acquia, yadadrop, and many more • ....may have major gaps and overlap in the areas you happen to be interested in • About Overall Drupal Life • Whether you’re a pro or not, there is a steep learning curve • As a Drupal user or developer, you will most likely get very involved with the broad and deep Drupal community, and also spend a good deal of time searching for and experimenting with Drupal modules, themes and tools

  21. Results • I spent a lot more time on this eval and have made less progress than I expected (way more than 25% of my time for the last 1.5 weeks) • When developers use the word “Steep” in describing a learning curve, they really mean it!! This is the main take-away for me. • On the one hand, I’m amazed at how good an open source CMS can be!!!! • I’m very impressed with the D7 software and Drupal community • Drupal is a high-powered platform, with a good architecture, and a well-organized, savvy engineering community behind it (considering the challenge)

  22. Results (cont.) • Bottom Line: • If you are a professional website developer already.... • If you need a CMS as part of your toolkit to develop a number of CMS-type sites, and willing to endure a steep learning curve, I think Drupal might be the best solution out there. (unless you want to pay huge software tool fees for commercial CMS’s) • If you are a non-professional....(like me) • If you only want 1-3 community-type sites, and the standard Drupal look and feel* is good enough,...and if you are willing to endure the learning curve, Drupal is potentially a good solution! • If you need something beyond the standard Drupal site* (i.e. very basic community themes, features etc)., you are probably in for a big challenge. • Of course this is probably true no matter what tools or CMS one uses

  23. Next Steps for me... • Since I am in the last category, this research leaves me in a bit of a quandary: • If I can’t find off-the-shelf themes and necessary modules (that are very close to my goals): • I’ll either need to spend a great deal of time theming,..or • hire someone,.. • or use another CMS where I will encounter different tradeoffs. • My action plan: • In parallel: • Take a look at WP + BP: especially for themes with community capability • Intensify my search for Drupal themes that more closely match my targets • Consider spending a great deal more time on website design & development

  24. the end,......thanks

  25. Appendix: Most Useful Videos • Best basic video tutorials • http://nodeone.se/blogg/learn-drupal-7-sceencast-series-summed-up • http://nodeone.se/blogg/taming-the-beast-learn-views-with-nodeone • http://www.leveltendesign.com/tutorial/video/drupal-7-tutorial-list-fields • http://drupalize.me/videos/ • http://buildamodule.com/ • http://gotdrupal.com • http://www.techievideos.com/videos/ • http://www.lullabot.com/ideas/podcasts • http://geeksandgod.com/tutorials • http://drupaleasy.com/podcast • http://www.drupalove.com good aggregate • http://tutr.tv/

  26. Appendix: Most Useful Videos (Cont.) • Best media related videos • http://www.youtube.com/watch?v=duuLlEVFves&feature=related • http://mustardseedmedia.com/podcast/episode50 • http://tutr.tv/t5858 • http://yadadrop.com/drupal-video/drupal-7-media-gallery-field-demo • http://www.mediafront.org/dallas-drupal-days-2011-presenting-media • http://www.youtube.com/watch?v=k7tbGXjMRWQ • Basic Theming • http://www.lullabot.com/videos/introduction-theming-basics-drupal-7 • http://www.youtube.com/watch?v=sCg4sTA3DlQ

  27. Appendix: OPen Issues • Ideas for SC Web : • projects: what if there was a core site or theme we wanted to collaboratively produce • I cant tell whether any of the starter themes (like adaptorTheme) are useful or not, curious • when installing views: got hanging but on second try worked • MediaElement allows me to set “number of values” in audio/video field only occaisonally. It hangs usually

  28. What’s A CMS? • A content management system (CMS) is a system providing a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based. The procedures are designed to do the following: • Allow for a large number of people to contribute to and share stored data • Control access to data, based on user roles (defining which information users or user groups can view, edit, publish, etc.) • Aid in easy storage and retrieval of data • Reduce repetitive duplicate input • Improve the ease of report writing • Improve communication between users • Makes its easy to do all of these things • As an Example: Dreamweaver has virtually none of this

More Related