Pro Drupal 7 Development Study Group

Events happening in the community are now at Drupal community events on www.drupal.org.
pcher1bw's picture
Start: 
2011-06-20 19:00 - 21:00 America/Los_Angeles
Organizers: 
Event type: 
User group meeting

A study group for Drupal 7 Development is being formed. As a study guide, the group will be using the book Pro Drupal 7 Development by Dave Reid, Todd Tomlinson and John VanDyk, published by Apress.

This study group was announced at the last Downtown Meetup at Oversee.net and it focuses primarily on programming and module development in Drupal 7. Books will be distributed at the first meeting of the group on June 20th. There is no fee for joining this group or for the book.

People that signed up already at the Downtown Meetup or on Twitter will have a book. If you are no longer interested in the group, or you can't make Monday night meetings in Downtown LA, please let me know as soon as possible by using my contact form at http://groups.drupal.org/user/269069/contact

The first meeting of the Pro Drupal 7 Development Study Group is Monday, June 20th at 7:00pm at Droplabs, just northeast of Chinatown. Space is limited to the first 15 people who sign up by clicking the Signup button below. Anyone who signs up after we've reached the 15-person limit will be placed on our waiting list.

Google Map

Location

Droplabs
651 Clover St.
Los Angeles, CA 90031

Droplabs is in the Mission Junction neighborhood of Los Angeles at Big Art Labs, just 1 mile down Main St. from Philippes (the first-ever venue for LA Drupal meetups!) and Union Station. We're one block west of The Brewery, the largest live-and-work artists' colony in the world. As you enter the gate off of Clover we are in the right hand corner of Big Art Labs farthest from the street.

What to bring

Just bring your laptop, your business cards or whatever else you need. We share a large parking lot with Big Art Labs and there's plenty of free parking. After you pull into the parking lot, park to the left of the entrance and follow the signs to Droplabs.

Please note that our guest wireless network is limited to 1Mb per client, so bring your MiFi router or a phone you can tether with if for some reason you need a lot of bandwidth. Access to our high-speed network is included with a Droplabs membership.

To get last-minute updates, follow @Droplabs on Twitter at https://twitter.com/Droplabs or find us on Facebook at https://www.facebook.com/DroplabsLA

About Droplabs

Droplabs is a collaborative Drupal event and coworking space in Downtown Los Angeles. Launched in 2011 by LA Drupal members for LA Drupal members, we are focused on serving the greater LA Drupal community, enriching the Drupal skills and lives of its members, and bringing joy to our Drupal practice.

We have been open to the public since May, 2011, and the use of our equipment and facilities, including conference room, tables and chairs, espresso machine and high-speed WiFi network, is free until our official launch. See http://groups.drupal.org/node/145934 for more details about our open beta period.

People that signed up already at the Downtown Meetup or on Twitter will have a book. If you are no longer interested in the group, or you can't make Monday night meetings in Downtown LA, please let me know as soon as possible by using my contact form at http://groups.drupal.org/user/269069/contact

The first meeting of the Pro Drupal 7 Development Study Group is Monday, June 20th at 7:00pm at Droplabs, just northeast of Chinatown. Space is limited to the first 15 people who sign up by clicking the Signup button below. Anyone who signs up after we've reached the 15-person limit will be placed on our waiting list.

Google Map

Location

Droplabs
651 Clover St.
Los Angeles, CA 90031

Droplabs is in the Mission Junction neighborhood of Los Angeles at Big Art Labs, just 1 mile down Main St. from Philippes (the first-ever venue for LA Drupal meetups!) and Union Station. We're one block west of The Brewery, the largest live-and-work artists' colony in the world. As you enter the gate off of Clover we are in the right hand corner of Big Art Labs farthest from the street.

What to bring

Just bring your laptop, your business cards or whatever else you need. We share a large parking lot with Big Art Labs and there's plenty of free parking. After you pull into the parking lot, park to the left of the entrance and follow the signs to Droplabs.

Please note that our guest wireless network is limited to 1Mb per client, so bring your MiFi router or a phone you can tether with if for some reason you need a lot of bandwidth. Access to our high-speed network is included with a Droplabs membership.

To get last-minute updates, follow @Droplabs on Twitter at https://twitter.com/Droplabs or find us on Facebook at https://www.facebook.com/DroplabsLA

About Droplabs

Droplabs is a collaborative Drupal event and coworking space in Downtown Los Angeles. Launched in 2011 by LA Drupal members for LA Drupal members, we are focused on serving the greater LA Drupal community, enriching the Drupal skills and lives of its members, and bringing joy to our Drupal practice.

We have been open to the public since May, 2011, and the use of our equipment and facilities, including conference room, tables and chairs, espresso machine and high-speed WiFi network, is free until our official launch. See http://groups.drupal.org/node/145934 for more details about our open beta period.

Comments

signup button seems missing...

johnnkirk's picture

On the post I'm reading and commenting upon, there seem to be 12 people
listed, and signup limit of 15, but no "signup button, below" to use to indicate
interest.

I'm interested, and would signup here if I could, but don't see how. Please
include me, if there's still the opportunity.

     regards,   -- John Kirk -- johnnkirk at gmail dot com

Working on it

pcher1bw's picture

Hi John,

Sorry, this is the first event I've posted this way. I'm working on it.

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

Pro Drupal 7 Development Study Group Signups Fixed

pcher1bw's picture

Ok, the signup button is displayed and working.

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

Chapters to cover, my preferences

bvirtual's picture

[This comment has been superceded by this more detailed comment http://groups.drupal.org/node/158514#comment-533574 - our Centralized Wiki for summaries of our meetings]

Hi,

With the start delayed one week, I thought I would post my favorite Topics, to influence how much time is spent on them. As I do a lot of database programming my Topics/Chapters are: Databases, Nodes, Fields, Form API, Search & Index, and Taxonomy. I'd like to cover in depth the Database Pager Query Functions and code algorithms, Search and Index, and how D7 is different from D6, like Entity and it's Fields, DB Query functions, Theming and how to migrate modules from D6 to D7.

I think signed up attendees should express their D7 module Topic focus to increase the value of the coming meetings for themselves. Towards that end, below are some Chapter statistics to assist.

I found the Table Of Contents online at http://www.apress.com/9781430228387 where there is a link to download source code for 14 chapters' modules. See the download tab.

I also did a chapter page count, in case we were to cover the chapters in order. The bigger chapters around 40 pages or over are: Theme (38), Form API (56), Database Ref Table App A (58), Localization (34) - 4 large chapters (186 pages) just under 1/3rd the book (624 pages or so).

The next largest chapters are: Menu (32), Database (26), JQuery (28), Optimize (26), Hooks (24), Users (22), Fields (22), Taxonomy (22), Security (22) - 9 medium size chapters (224 pages).

The other chapters are 20 (4) , 16 (1), 14 (2), 12 (3) or 10 (1) pages long - 11 total short chapters (170 pages).

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Technical Difficulties

pcher1bw's picture

Many of you received the Broadcast about technical difficulties.

While Droplabs is ready to have all of us tonight, we will not be meeting tonight. Instead our first meeting should be next Monday.

When I opened the box of books that were shipped to me this past Thursday, I discovered they were Version 2 of the book which covered Drupal 6 rather than Drupal 7. Since this is to be a Drupal 7 study group I am currently contacting the publisher to fix the problem. Until I have 15 copies of the Drupal 7 book (version 3) to distribute we will not be meeting.

I hope all of you read this before running off to Droplabs tonight. I apologize to those of you that don't get this message in time.

Paul Chernick

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

Thx Paul!

Techivist's picture

Was just about to ask since Pete had mentioned it being delayed but I wasn't sure if it'd been delayed to today's date or next week. Cya'll next Monday nite (on the waiting list but I have faith ;)

Miguel Hernandez - www.migshouse.com
Founder & CEO - The OpenMindz Group
Writer- Linux Journal & TechZulu

I need one more spot...

FlyingPixels's picture

Hi Paul,
My son and I are the development team at whenpixfly and he didn't get a chance to get a spot. My spot is already confirmed and I was wondering if it's okay for him to come with me. We can share the same book as long as he can attend these events and learn the ways of Drupal :D

Is this okay with you?

Thanks,
Martin Ayon

Good News

pcher1bw's picture

Good news everyone! I received 15 copies of Pro Drupal 7 Development yesterday and the books are now at Droplabs. We will meet Monday night at 7:00 PM! No more technical difficulties.

I will be at Droplabs after 2:30 PM today and possibly most of the day tomorrow if you want to pick up the books and read prior to the meeting.

Please note that we need to limit the size of the group not only because of the number of books but also because there is limited seating capacity at Droplabs. We can handle up to 20 people. We will have the same study group repeat in the future.

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

Two hours doing what?

bvirtual's picture

So, here is a solution. I've read Chapter 1 and will have 2 done by the meeting. After we introduce ourselves, tell our personal level of PHP coding skill and Drupal skill, speak towards what personal goals one has to achieve during our meetings, at the end of 3 months, we can then talk about the format for the meetings. Sure, it can be organic. After handling the format (I recommend what I saw at LAJUGs Book Study Group - very long term successful group), if time permits, and enough newbies are in the room, I can give one of two talks.

The first is the generic Drupal software methods they have chosen to use. Callbacks are ancient history, and what is actually done is more of an IBM "User Exit" style, not a true callback. But it works great. Also, they adopted a new function argument passing convention, that fewer arguments are always best. This means a single argument is likely going to be a hash array, also called associative, that can support hundreds of internal values. And the output from the function is almost always a text string, often HTML, ready to go. I felt these conventions should be pointed out, as once you know them, learning the API is so much easier.

The second talk would be on hook functions, the many hook functions. Not what a hook is, though I can handle that, but what are the common functions you need to code in your module, and what are the input arguments, and what is the return value.

I'm going to make a cheat sheet of hook functions, the input argument FORMAT (not just it's name), and what the return value is, and can the function invoke Callback functions or PHPTemplates (*.tpl.php files) that you code and where this code ought to be store.

This cheat sheet might be a group project? There already is a 3 page cheat sheet, listing function name, argument list, and example from core file. I want something that gives me all the array formats and possible property names, and range of property values (taken from API web pages), and bold the common properties, and bold where theming is done (hook_theme(), #template and the like).

I'm bringing just the book, no computer. I should be there around 4 to 5 pm.

BE SURE to look at a map before going. There is a central parking area, quite obvious when going up the single driveway. Then go to the northwest corner to find DropLabs. Ask ANYONE for directions if you get lost. This place is so very friendly!!! I like it!!!

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

The cheatsheet idea is great!

christefano's picture

The cheatsheet idea is great! We can print them out with the printer that Paul brought in. Down the road, maybe we can have them done by a commercial printer and hand them out at meetups and DrupalCamps.

You're welcome to come by early, but please note that the main room is booked until 5:30 for a Drupal training. Also, Droplabs has a couple big yellow signs now, so just look for the signs and follow the arrows.

Cheatsheet update

bvirtual's picture

I'm going to keep discussion about the cheat sheet on this page, rather than the new WIKI, where I think the "final" cheat sheet should be finally posted. That would keep the wiki page an "info dense" resource page.

So, here are my thoughts on the "best" solution (for me:-)

First some resources, existing sheets, and my opinion on short comings, and how our sheet should be better.

Existing cheat sheets I found dated 2007.
http://drupal.org/node/201004
The above page lists several cheat sheets, for various 4.7, and 5 and 6. CVS was the goal, and now that git is used... hint, hint.

Hook cheat sheet for module coding is needed. I found D6 here.
http://drupal.org/node/212648
But it's a PDF, hard to copy and paste from.

I'd like the Cheat Sheet to be only in HTML format, and be printable on 1, or more likely 2 pages.

Why two pages? I want to be able to copy and paste one or more PHP code lines.

While current sheets list function names, array keys, we can have that, but my druthers would be paste ready PHP code format, not an ugly, laundry list. For example:

function hook_form($node){
$form['inputFieldName']=array(
'#type' => 'radio|radios|checkbox|textfield|textarea],
'#default_value' => $node->type,
...more of same, common usage...
return $form;
}

Notice, that the key names should be easy to highlight, and type in replacements, thus no underscores or periods, but camel case. The range of values includes all, so the one that is needed can be kept.

Speed coding for newbies is what the cheat sheet is about, for me. Why?

Experienced coders will have their own starter module files, and not need to copy and paste from the cheat sheet.

I believe the cheat sheet should contain a fairly complete .module with all possible hook_ functions, grouped by purpose (2 permission functions, 3 form functions, etc). Variable names should be self documenting. We might have some documentation in // format on the same line. The comment format of /* */ would take up too much value real estate.

Over the next two weeks, I will work on the raw HTML needed to handle the first 3 chapters, formating it as a visual aid, and practical cheat sheet, for all attendees to review my ideas, and even try out the copy and paste.

Please your thoughts? Enhancments? Suggestions? Feedback?

Other Cheat Sheet hits:
http://www.google.com/search?channel=fs&q=drupal+cheat+sheet
I did not read many of them, as I'm strong in implementing my ideas.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

bvirtual's picture

Here is one jumping off point for a D7 Hook Cheat Sheet
http://drupal.org/files/drupal_6_core_hooks_cheat_sheet.pdf

I rather group by function and here is that jumping point
http://drupal.org/node/212648#comment-3560674

A new find of mine today is this page has a lot of cheat sheets, for D7 at the top, and D6 below.
http://devcheatsheet.com/tag/drupal/

The D7 sheets on the above page are:
http://batayneh.me/sites/default/files/Drupal7-theming-cheatsheet_2.pdf
http://www.quicklycode.com/wallpapers/drupal-7-cheat-sheet-desktop-wallp...
http://www.quicklycode.com/wp-content/files/drupal7_1024x768.jpg
http://www.sanigabriele.com/sites/default/files/drupalHooks.pdf

http://www.smashingmagazine.com/2010/06/14/drupal-cheat-sheet-wallpaper/
http://media.smashingmagazine.com/wp-content/uploads/uploader/images/dru...

I have found sheets for D4.7, D5 and not sure if they can be refactored for us, I think not. But we might get some ideas from them. Here is a D4.7 for most of the API, but it lacks some details
http://www.inmensia.com/files/pictures/internal/CheatSheetDrupal4.7.png
Point is, we might do more than just a Hook Cheat Sheet???

I'm thinking of doing so, once we have a good "format" to author to. See my other comment, yet to be posted.

The Apress book for D6, Pro Drupal Development, has a download at this URL http://www.apress.com/9781590597552 inside the tab "" at link http://www.apress.com/downloadable/download/sample/sample_id/112/ to download a zip

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

D7 Hook Cheat Sheet special format ideas

bvirtual's picture

As previously I stated, I want a 'copy and paste' format, a time savers, not just a memory aid for experts, but a sheet that allows novices to come up to speed faster, avoiding the serious learning curve, to a degree, perhaps greater.

Towards that end, I am creating a Drupal web site just to gather and implement my ideas. I'll announce the URL when I have Chapters 1 to 5 in them, to some degree. That way, I can get feedback from real implementations, good visual aids, and not this typed in comment. :]

I'm thinking of adding rollover tips, of various sorts, given more details, alternative copy and paste. Given this format, design Content Types to hold it, taxonomy to link it all together, and have the Cheat Sheet automatically built to this level of complexity demands a web site of it's own.

Our attendees will be given accounts for contributions there. Why so complex? Why not do it on GDO? Too much traffic to non book study members, and I think having a private space where we can try out ideas, and not be embarrassed, by it's failure, or grand success, which would be "incomplete" until we finish the book. I would not want to distribute an incomplete Cheat Sheet, except at this time to our own attendees, for volunteer contributions, feedback, and corrections.

See you Monday, July 11th, at Droplabs!

Pete

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Cheat Sheet Format Direction - Copy and Paste syntax

bvirtual's picture

My ideal format is a "Ready To Work" copy and paste into *.php file.

I have rewritten Drupal's API $node object description that I found at http://drupal.org/node/49768. Do compare this page's 'documentation' to the below php 'code' for "usefulness."

I changed the "order" from the documentation page, grouping them functionally like one does in code.

It's not perfect, having a few hiccups that my initial brainstorming did not resolve. Some lines should not be pasted, so would have to be deleted after the paste (nid and vid), but if one is "accessing" these values, then some typing would be saved with a paste.

Also, "...." implies a replacement is needed, as I did not bother to research what code was suitable to put there.

Feedback? Reply if you want changes. If you want more like this, then Vote Up.

Note: The email format looks much different, lacking the spacing for readability.

//  Node object - http://drupal.org/node/49768

$node = new stdClass();
$node->nid   //  Node ID -  Always set by Drupal core code.
  //  Unique key in table field.
$node->vid   //  Revision ID of version to publicly display.
  //  SELECT Max(vid) is latest revision,
  //   but not necessarily the Current one (Restore previous version)
  //  Unique key in table field.
  //  Always set by Drupal core code, unless changing Current version.

$node->title  = "Node Title, or less accurately Page title.";
$node->body   = "Body content of node.";
$node->format = 1; //  body content's input filter
$node->teaser = "Teaser (the initial part of the body)."

$node->menu = array( 'Displayed link text' => '' );

$node->uid     = $GLOBALS['user']->uid; // User ID of node creator.
$node->name    = 'Username of node creator.';
$node->picture = ....; // Creator's avatar

$node->created = time();         // Unix timestamp of node creation date.
$node->changed = $node->created; // Unix timestamp Last time changed
$node->date    = .... long_date($node->created); // Long date with timezone

$node->log       = '';  // Message left by creator of revision, explaining changes.
$node->revision  = TRUE|FALSE;    // New revision (if TRUE, saved as separate entry).
$node->revision_uid = $GLOBALS['user']->uid;  // User ID who created current revision.
$node->revision_timestamp = time();   // Unix timestamp of creation of current revision.

$node->type    = 'page|book|story|forum|...';  // Node Type from core or module
$node->status  = 0|1;  // unpublished/published.
$node->promote = 0|1;  // Promoted to front page.
$node->sticky  = 0|1;  // Sticky.

$node->translate = 0|1;         // Is a translation.
$node->tnid      = $tnid;       // Translation source parent Node ID
$node->language  = 'en|jp|...'; // ISO Code of default language.

$node->comment = '...|...';  // Comments be added, read, or accessed.
$node->moderate = 0|1;       // Moderation enabled.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

FYI - Progress Update

bvirtual's picture

I've added five times as much to the above example, a mish-mash of existing page lists that I pasted into my example, and I'm half way through rewriting it. I'm combining multiple sources, from drupal.org, from books, other cheat sheets, and web pages I found. Converting the combined pages into PHP code, that's paste-able, with documentation comments that are condensed, concise, and confirmed wording, correcting mistakes and ambiguities.

I've realized this cheat sheet project is much larger effort for my designed sections, and I am willing to parse out whole sections to my fellow members, for them to combine and hone. I thought it would be just five pages long, but more like 20. Yes, it will actually become a book. I'm thinking a nutshell book, maybe ORA, though the format is not quite a match for the ORA style. I think it's better.

One thing I realized in doing all the conversion, combining, and confirming, is I've solidified my understanding beyond my expectations, answering most all my remaining questions in these areas, regarding the API offering, what Drupal is capable of, how it works and how its manipulated.

I'll upload my 'work' in progress on my personal website, and post the URL, sometime on the weekend.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Printing

pcher1bw's picture

Hi Pete,

Christefano is right, bring your computer or a USB drive with the document and print out the cheatsheet.

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

Errata Submision Ideas

bvirtual's picture

Hi D7ers,

I've been marking errata in my book, and making a table of contents pointing to each page with errata. Before our Monday June 11 meeting I might get some posted at Apress. I surely would like to know what their process is. That is, how long it takes for it show up, online, and if they have a queue of dozens of submissions already. I dislike re-inventing the wheel, double data entry, etc.

I think we should start our June 11 meeting with a discussion of how we might handle errata. Here are my thoughts to start the discussion, and for feedback, in comments, or at the meeting. I'd like to use our group to "Give something back to the community" and I think errate qualifies.

1) As we page through each chapter, and a member claims "Errata", we quickly review it, see it qualifies, and someone goes to www.APress.com and types it in, and submits it.

2) We hold off typing it into a form, until the close of the meeting, when an adhoc subgroup can gather around a few laptops, and type them in, and press the submit button.

The difference of these two methods is primarily one of value for every member, that is, one member is not distracted DURING the meeting with typing in an errata, so all members can pay full attention to the ongoing discussion. Postponing the typing until the end of the meeting I see as better.

However, it also means it might be skipped all together, or errata is missed.

Feedback? Let's have it as the first agenda item of the meeting, is my one vote.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Great First Meeting

bvirtual's picture

It was a terrific two hours. Jammed packed with high level approaches to learning module building, and Q&A everyone found useful, particularly the person getting the answer. We determined Chapters 1 to 3 would be read for the next meeting. And we will met only 3 times a month, and the extra Monday is at a nearby Drupal Meetup.

Paul said a wiki was getting started, where I will post the rest of my meeting minutes.

Briefly: D7 Pro Ebook $10 based on last page, XDebug, Yellow Pencil, Firebug 4 Drupal, do/project/examples, download D7 Pro example code (see joke module), and D6 example code, and Learning Drupal 6 Module Development examples.

There will be a Job Fair Tuesday at Droplabs at 6 to 7:30, with many firms present looking for talent, so if you have Drupal chops, do bring your resume. Then attend the LA Downtown Drupal Meetup at the same location and hear the speaker from NPR (oh, did I pre-announce that?).

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Entities

Stew-bee's picture

The topic of entities came up last night, I came across this blog post which is the best explanation I have seen. http://www.istos.it/blog/drupal/drupal-entities-part-1-moving-beyond-nodes

Great find Stew-bee!

ahimsauzi's picture

Same Author has a few other post on the subject, here is a link:
http://www.istos.it/category/blog-tags/drupal-entities

Source code for Pro Drupal 7 Development book

toulon's picture

BTW, if any one is interested you can download the source code for the book from http://www.apress.com/9781430228387

Later

Drupal For Firebug

bvirtual's picture

[This comment has been superceded by this more detailed comment http://groups.drupal.org/node/158514#comment-533704 ]

At the meeting I mentioned Drupal For Firebug, a Firefox extension. I installed the latest and found it needed a module installed in the Drupal contrib folder. Easily done

drush dl drupalforfirebug
drush enable drupalforfirebug

Then at some web page on your drupal site, "View Source" and confirm at the bottom of the page is all the needed Drupal for Firebug div tags loaded with Drupal arrays and info.

Invoke Firebug and on it's menu bar is "Drupal" to click on. Then, click on one of the sub menu items that appeared. When a header line just below displays in link blue, but not underlined, click on that blue, and voila.

The $form array was there for me to copy and paste. Users had a blue link. None of the other menus worked for my form page. However, hints to tell you why where there. And sometimes what to click on to activate it.

At the next meeting I could give a demo, if I can borrow someone's laptop, and I have my projector I can set up. It will need a VGA dongle if a Mac of certain types is to be attached.

Hmm, maybe I will donate one of my old PCs, with keyboard and mouse. I no longer have spare monitors.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

bvirtual's picture

I'm going to suggest we help out the book's authors, John K. VanDyk and Todd Tomlinson, with weekly errata posting to the Apress web site. I was thinking we could avoid erroneous reporting by having a second member confirm. But I'm thinking it's better, near the end of each meeting, we use 1 or more laptops, and submit all our believed errata to Apress, thus saving us with possible busy work.

Feedback?

I'm not sure if one needs to be "logged" in to Apress to submit. I would like to give credit to several "entities" in our submissions, so a 'leadin' paragraph of something like this:

Dear John, Todd and Apress,

The Los Angeles Drupal User Group, ladrupal.org , Book Study Group meets weekly at DropLabs.net and our member name_here, optoinal_web_url_here , found the correction below.

Feedback?

I propose at our next meeting, July 11, at the end, that an ad hoc set of members fill in the Apress errata form, for both last Monday's chapters 1 to 3, and chapter 4. Maybe it would be better to submit the errata as members speak up?

Feedback?

I see this as a way to give back to the community, and grow Drupal coders.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Submitted errata on page 133 - missing colon

bvirtual's picture

I see that my just sumbitted will display anonymously at the node view URL of

http://www.drupalbook.com/node/285

but it is not publicly displaying on 3ed Errata Page 2 or 3:

http://www.drupalbook.com/errata3?page=1
http://www.drupalbook.com/errata3?page=2

... yet. My guess it must be first approved. Let see how fast that happens.

Now, it's a form with 6 fields. It will take some time to enter our errata. The page number goes in twice, the chapter is a pull down, the error line (textarea), the correction line (textarea), and a description of the errata (textarea).

For those wanting to add errata at the end of the meeting, or later, please register for an account, so you may do so. It was easy to register, no unwanted info to add in, just why you wanted an account. I put something like "to post errata." My account was approved within minutes.

Pete

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Errata Page 133 now is live

bvirtual's picture

That's pretty quick. I'm assuming it was reviewed and found correct. I'll have to email them and find out. Would be nice to know it's reviewed.

Here is my profile page at the site http://www.drupalbook.com/user/374 where you can notice the website URL I provided was our Wiki page. I think that makes it very likely the web site owner can see I'm a serious errata poster. Of course, do SEO your own URL if you so desire. But do not leave this field blank. It let's the LA Drupal User Group get more cred with the book authors. One day they might take your phone call... :-)

bvirtual
Personal information

Name
Peter Benjamin
Website
http://groups.drupal.org/node/158514

History

Member for
6 days 35 min

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Drupalchix Reviewing Same Book earlier this year

bvirtual's picture

There are some links to tutorials for first module authoring (I've not read them, so do not know how good they are) about the middle of the page. The first half of the page is logistics. The second half is talking about how to have their meetings, and last few posts are meeting minutes. The last post is 2011-02-22, or 4 months ago.

http://groups.drupal.org/node/113274
http://groups.drupal.org/node/154494

I'm wondering if their meetings continued? If they might be interested in this page or our wiki. Someone feel like contacting them? I would but it's late, I'm tired, not a good time, to introduce myself to strangers.

I've done enough posting tonight, 5 long ones, while it was fresh in my mind. I hope you enjoy the infrastructure aspect of them. I'm calling it quits for next few days, as I did what I wanted to. Expectations are my future posts will be only on chapter material.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Book Study Group going strong

bvirtual's picture

I read the ending comments, not just the last one, and found they moved the discussion to this web site

http://drupalistas.ning.com/

where the last Skype meeting was June 27, 2011 from 7 to 8 PM (6pst/7mst/8cst/9est), so they are active. But it appears they no longer focus on the book chapters, but on actual writing of modules, having a weekly goal of doing a special module.

More details at the above URL, of course. Like:

Our first goal is to learn Drupal module development, then move on to related topics such as PHP, jQuery, etc. We meet online once a week.

I've joined them.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

bvirtual's picture

A warning about Chapter 4, when the Wildcard Sections begin. Lots of errata, not compelling wrong. But worse, I found the level of detail so woeful, that I had to resort to reading at API.drupal.org to get clarifications, and resolve incompleteness.

I've finished reading Chapter 5 on Databases. I found both chapters to be shy of information I was hoping to find, but it was complex questions, and I realized this book is just the tip of the iceberg. Drupal's API is hugely complex. However, these chapters do give a solid foundation on the basics.

I'm thinking Chapter 5 should be combined with other chapters for our July 25 meeting. Will we have a July 18 meeting if the 405 bridge replacement keeps the 405 closed on Monday?

I keep thinking I should express a concern about Chapter 4, Menus, and my belief we will cover these pages in under 1 hour, leaving an extra hour of meeting time. Maybe not. I had believed the chapter on Menus would be complex and merit much discussion, like all of you. I'm no longer of that opinion.

So, if we get that extra hours, I suggest we 'recover' Chapters 1 to 3, especially 3, given few minutes at our last meeting, for those who did not get all the reading done, but have it done by Monday.

Alternately, we could do lightning talks on key learning curve issues that I heard expressed at our last minute. Such as:

=> or ->
PHP Arrays and nesting, syntax, Drupal Conventions
PHP Objects, functions and properties, syntax (D7 Database API uses objects, all over)
Module Builder - demo how it works (D7-2.x)
Review "Nice Menu" D7-2.0-beta3 module source code - need projector, or share laptops
git for beginners - the Drupal dataflow for custom modules
git for Drupal webroots, drupal databases, drupal user files

Please have your own ideas at the meeting.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

See you all later!

pcher1bw's picture

Hi Everyone,

just a reminder that we are meeting tonight and trying to catch up with Peter Benjamin (bvirtual).

If you would like to bring goodies it will be welcome!

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

bvirtual's picture

Hi,

I've decided I would add reading Appendix A, piecemeal, as Database Table names and their schema found in this appendix, applies to the weekly Chapters being read. I think this is a good way to cover Appendix A information, and I find it very enlightening, in that several/many(/all?) large objects and arrays discussed in the chapters actually read and write data to these tables. Like node tables, field tables, users table, or menu tables.

Many of the table schema are directly linked to the chapter reading material. I think it's best we all include reading the schema that are related to each chapter, as we go. I do not think covering Appendix A separately, at the very end of the Study Group, will be good value, as compared to "as we go".

Chapter 4 on Menus easily points this out. I recommend for tonight reviewing pages 595 to 599, the tables with names: menu_custom, menu_links and menu_router. The first table appears not to be covered in Chapter 4. Most certainly, the last two tables are most important Drupal tables. To me, they define the word "web," the linkages between pages, that connect the front page of the site to the rest of the site content. Understanding how these two tables work I feel is important if you desire to manipulate links, but not critical for basic Drupal understanding (where nodes and users are more important, IMHO).

Chapter 1 appears to have no tables that need review. This chapter is an introduction overview.

Chapters 2 to 3 may have tables for them. I'm certain a case can be made for some tables, but those very same tables are more relevant to other chapters. It would not hurt to have a list of tables to "scan" so to be aware of for later chapters.

Chapter 5, Databases, I found no tables. Surprising, yes, but given the introductory nature of this chapter, and it's focus solely on "custom" tables, it does not address Drupal pre-defined core tables.

Chapter 6, Users, has these pages and tables: pages 619 to 620 for Users, OpenId is on pages 604-5, Profile pages 607 to 608, Roles 609-610, Sessions 612, also on 612 is Shortcuts (admin links). Now, not all these tables on for Chapter 6, but I saw no other chapter relevant to some of these, though I have not read the entire book, yet.

Chapter 7, Nodes, pages 600 to 603.

Chapter 8, Fields, 580 to 588, a lot of tables.

I am just starting Chapter 9, Theme, so have no further recommendations for additional reading in Appendix A, table names, for higher chapter numbers, at this time.

My plan is to create a comment on our Wiki page, that contains this information, as the group reaches consensus as to what Chapters relate to what Drupal core tables found in Appendix A. That way, other study groups, if this study group repeats this book, then the Reading List will be more complete, better value for Drupalists.

BTW, I have found Chapters 6, 7 and 8 to be "lightweight" reading, not as complex as I original thought, when I posted my suggestions for "grouping" chapters together. I'm thinking we need to rethink how many chapters we cover, meaning never cover just one. Tonight we can discuss this idea.

Pete

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Feel free to discuss and comment here!

pcher1bw's picture

Everyone,

We have had some awesome discussions in the study group when we meet at Droplabs. I think we can have awesome discussions online as well. I think everyone should be open to asking and answering questions here on the discussion page. Keep in mind, there are no dumb questions. If you feel you are falling behind the group, this is the best place to try and catch up!

We should be able to discuss here and at wiki at http://groups.drupal.org/node/158514. Let's keep all the errata at the wiki at http://groups.drupal.org/node/158514.

Pete has also started posting the errata at http://www.drupalbook.com/node/add/errata3.

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

See you later, we will meet tonight

pcher1bw's picture

As far as I can tell from Las Vegas, the 405 freeway opened on time this morning, so we will be meeting tonight.

See you all later!

Paul

Paul Chernick
CEO
Chernick Consulting
(310) 569-2517

My Chapter 5 and 6 Comments

bvirtual's picture

Hello Fellow Readers,

Just a quick reminder to read, read, read before Monday. To speed you on your way, here are some highlights. The Database Chapter, though 26 pages, is very fast reading. To prove that, here is the entire chapter in condensed form (well, almost):

SELECT is done via function

$result=db_query($sql,array(':name1'=>'value1',))

INSERT via function

$number_of_updates = db_insert('table_name'))->fields(array('field_name1'=>'value1',))->condition('nid', $value, '=')->execute();

DELETE via

$number_of_deleted = db_delete($sql,array(':name1'=>'value1',))->condition('field_name1','value1')->execute();

Get Rows

foreach($result as $row){ echo $row->title."
";}

QUERY BUILDER - Wow! See Page 95!

Range Limits - add: ->range(0,100)

Paged Display with Theming - Say What? Yes, automatic pagination!

Sort - add: ->orderBy('field_name1', 'DESC')

No Duplicate Records- add: ->distinct()

$record = new stdClass();
$record->fieldname1 = 'value1';
$record->fieldname2 = 'value2';
drupal_write_record($table, $record);

Create Tables for module .install file - See page 100

Pages 104 to 106 are field types - 11 of them - Easy Reading!

Uninstall delete table

Change Schema with hook_schema_alter() - used when releasing an updated module

Modify other module queries with hook_query_alter() - SAY WHAT!?!?!

Connect to Multiple Tables

Temporary Table


Chapter 6 - Users - 20 pages

Lots of lists, lots of diagrams, reading goes faster than you expect. Only about 8 pages of paragraphs, and lots of code.

Additional Appendix Pages 604 to 620 - too many tables, so just scan these schema.

Object $user->list_of_components

Test user is logged in snippet

List of User hook_user-****()

hook_user_view()

User Registration Process

Login Process

Login time add data to object $user->

External Login - use LDAP or other - 5 pages

--

That's it. Very short read. I reached the end of each chapter in half the time it took me to read the first chapters.

See you all Monday night.

Pete

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

COD D7 Port Jump Start URLs

bvirtual's picture

Based upon our discussion Monday night to add D7 coding projects for our students to attempt, the San Diego DUG port of COD to D7 was proposed. I've collected the background URLs needed to bootstrap our understanding of what's involved.

I recommend any member who wants to become involved in coding D7 for COD reading each of the pages in the link list below. There are many small sub projects available, so pick a few, so when we next meet, we can compare selections, and team up, in teams of 2 or 3, per sub project. Reading these pages you will become seeped in the COD terminology and infrastructure already in place. Wonderful stuff. I found these pages well written, easy to follow, a quick read.

Needed next is to find out how to 'begin', and I recommend trying IRC in #drupal-cod on Freenode. I read this is where one can join in the virtual port, when not in a Code Sprint. Getting in contact with the main leaders of the COD D7 port is a key milestone to achieve next. Volunteers for this? Paul, is that you?

I've volunteered to do a port of one feature. I'll prioritize three I would like to do, and once we get the status from San Diego leaders, or whoever, I'll start my coding. I'm willing to be joined by another member, and I'd even consider mentoring them. Due to my current IP coding in D6, and port of those thousand lines to D7, I'm not going to be able to do more than this one thing for COD.

I'm choosing do a COD project due to the terrific learning experience in doing the following: Using Features to integrate my edits with the central test COD git/sandbox, learning sandboxing, git checkin/out, working with others on a large project, getting to know our neighbors in San Diego, coding a contrib that gets used by hundreds of web sites (a good way to get my name out there), and coding a function in D7 that will challenge me, put my Monday night group study effort to a good cause, using it to complete my D7 module coding training, and to learn D7 in a much needed way to increase my value to employers.

--

List of Links dealing with D7 COD port

Start Here:
COD Sprint Issues
http://groups.drupal.org/node/133524

COD on Drupal 7: A How-to
http://groups.drupal.org/node/138619
Meta information regarding porting COD to Drupal 7

D7 Roadmap
http://usecod.com/roadmap

FYI
Project (D6)
http://drupal.org/project/cod
(Drush make files and install profile)

COD Support Modules
http://drupal.org/project/cod_support

COD Home Page and documentation
http://usecod.com

cod-fork
sirkitree's sandbox: cod-fork
http://drupal.org/sandbox/sirkitree/1186334
ersonal fork of COD used for contributing patches back to the main repo.

Overview
http://groups.drupal.org/conference-organizing-distribution

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Links I found including Big Requirement List

bvirtual's picture

Big requirements page:
http://groups.drupal.org/node/138619
D6 modules to port to D7, and more.

San Diego Drupal Sprint: we're porting the C.O.D. project to Drupal 7!
http://groups.drupal.org/node/144434
Announcement of 2011-05-07 Code Sprint

San Diego Drupal user group porting COD to Drupal 7
http://usecod.com/news/2011/san-diego-drupal-user-group-porting-cod-drup...
Short Announcement of 2011-05-07 Code Sprint

BoF Schedule Tool Issues
http://drupal.org/node/1034482

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Trying to contact the COD D7 'leaders' for coordination

bvirtual's picture

I've posted to the IRC freenode #drupal-cod chat yesterday and today. If I do not hear anything by Monday, which is likely, as I believe neither major player in the porting activity was active on COD (zero traffic), then Tuesday, I will contact both sirkitree and ezra-g, via their DO contact pages. If that fails, I have the issue queue and progress pages I can publicly post on. I surely want to get down to San Diego to one of their DUG meetings. They have two meetings a month.

I've set up cod d6 and d7 environments for myself, so I can 'see' what my initial coordination with them might mean regarding the available features/modules needing D7 migration. Difficulty level estimates I feel are in order, then presentation to our Study Group, for some decision making if any of us will code D7 for COD.

Does anyone know either sirkitree and ezra-g? A personal touch would surely grease the skids.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

It's great to see so much activity

christefano's picture

It's great to see so much activity for this! COD on Drupal 7 is massively important for upcoming camps and conferences and GVS was just Acquiasitioned so it's possible that Ezra is very busy. (I sent him a message in any case. I also contacted both Lullabot and Jerad earlier today to see if he's interested and available for a code sprint.)

Closer to home, the Drupal Design Camp LA 2012 site will definitely be using COD for D7. http://ddcla.org is running on Drupal 6 right now and my hope is to reuse the existing codebase to pre-announce DDCLA 2012 conference and then swap it out with COD for D7 when it's ready.

The current plan is:

  • Set up a development site for DDCLA 2012 (subdomain? subdirectory? etc.)
  • Reuse the current DDCLA codebase and announce DDCLA 2012
  • Assemble a team and set up version control in advance of the sprint
  • Discuss what worked during the sprint in San Diego
  • Schedule the sprint and meet at Droplabs for one or two days
  • Evaluate where COD's modules and features are for D7 and create buckets to work on
  • Sprint!

The chefs at Four Kitchens have shown some interest in coming to Los Angeles for a code sprint on COD for Drupal 7. The wheels for that have been slowly turning since DrupalCamp LA last month, and they'd like to get COD on D7 so that it can be used for DrupalCamp Austin. I sprinted with Todd and Aaron from Four Kitchens on the Drupal.org redesign and look forward to doing it again.

SEO your one domain name by having all content there

bvirtual's picture

subdomain? subdirectory?

2012.DDCLA.org should permanently redirect to DDCLA.org/2012/ so get the most Google PageRank and juice points for the one website.

Spreading content into 3rd level domain names will decrease keyword density counts, and decrease number of pages, and create old static sites. All which will harm the PageRank of each 3rd level site, and the primary domain name. Not good.

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

COD D7 Code Sprint Preparation Wiki

bvirtual's picture

Per our meeting last night, here is the Preparation Page for our Leaders and Sprinters to add their requirement lists on.

http://groups.drupal.org/node/175504

Be Bold, Edit the Wiki.

- Be there, or be a cod

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE

Recap of September 19 and 26 Meetings - COD 7 Port Update

bvirtual's picture

Hello again, a brief recap as I was unable to get to the 19th meeting, which I heard was well attended, and covered mostly the COD Code Sprint from D6 to D7. The 26th meeting, 2 nights ago, was sparsely attended, and topics ranged broadly. The Files Chapter got a few questions, while Taxonomy was decided to be covered on the 26th. That meeting will be just after the COD Code Sprint.

There will be no October 3rd meeting, as usual, in support of going to the Pasadena Meetup, which might have a new venue then.

Today, on #drupal-cod Ezra provided insight into the current status, and I updated the COD Wiki http://groups.drupal.org/node/175504 - Use Revisions with See Differences for the changes.

Track the COD 7 Code Sprint effort on the Wiki or the Code Sprint Announcement page at http://groups.drupal.org/la/cod-d7-sprint

Peter

LA's Open Source User Group Advocate - Volunteer at DrupalCamp LA and SCALE