Presentation is loading. Please wait.

Presentation is loading. Please wait.

Drupal: First Blush A newbies first serious look by: Craig Harris

Similar presentations

Presentation on theme: "Drupal: First Blush A newbies first serious look by: Craig Harris"— Presentation transcript:

1 Drupal: First Blush A newbies first serious look by: Craig Harris

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 CMSs ) Played with Wordpress I own Dreamweaver, but have never used it ( except for doing the tutorial ). I expect Ill use Fireworks and Photoshop

3 Purpose of the presentation Share my first Drupal experience with the SCWeb Dev Group Explain why Im 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 Im 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 Id like a CMS or other tool that doesnt 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: Its a CMS that provides a lot of the features I need As a CMS, developers seem to like it the best for many reasons Its flexible, powerful and scalable - and is architected well (important) It is fairly mature and robust It has good features (security, SEO, and lots more) Its 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 CMSs 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 dont know how good it is Ive been told the learning curve is steep. How steep? (what does steep mean?) Im 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: Im 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 couldnt 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 Darrens experience, and reading a little more, my interest in Drupal was re-sparked, and I decided to take a second look. Theres something seductive about it (I think its 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 its clear that the feature will work, move on to next feature If the feature doesnt 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 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. Then to learn how the system is structured, I used the docs Its extensive, a little unwieldy, but I was able to find the answers to most of my questions ( Whats a node, a block, a region etc.) I also bought the book: The Definitive Guide to Drupal 7 (Havent 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. 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: These are paid-for tutorials, but the price is low ( ~$30/mo) and the quality is good Most recently: Mustardseed: (espeically for media)

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 dont want to code a lot, the contributed themes that I found are not great ( maybe I didnt 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 youre 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 cant signup members and they cant 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 : Its 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 doesnt necessarily yield a good strategy Many solutions to music - theyre 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, its easy to: 1. Create different content types (structures) 2. Create/manage different views of the content structure and substructure

17 About the Features Support ranking in some way There isnt 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 didnt 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 havent gotten to this area yet

18 Lessons learned (for my Specific goals) About Infrastructure Issues (Site maintenance): To maintain a site, Ill 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 management is 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. Its 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, 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 youre 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, Im amazed at how good an open source CMS can be!!!! Im 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 CMSs) 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 cant find off-the-shelf themes and necessary modules (that are very close to my goals): Ill 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://www.drupalove.com good aggregate http://tutr.tv

26 Appendix: Most Useful Videos (Cont.) Best media related videos Basic Theming

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 Whats 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

Download ppt "Drupal: First Blush A newbies first serious look by: Craig Harris"

Similar presentations

Ads by Google