code sprint thoughts

I spent Friday morning/midday at the Mentored Core Sprint. It was a weird mix of extra-hand-holding and being thrown in the deep end, at least for me. I had 99% of my environment set before I got there or in the first 10 minutes: I already have a Git client (yay Tower!), and since I was up at 5:15 am AGAIN that morning, I went ahead & installed MAMP, then installed Drupal 8, so when I got to the sprint (early, see also 5:15 am) all I had to do was clone the main Drupal repo in Tower, install Chatzilla, and rediscover that my nickname was already registered. (Thankfully using an old default password.) I couldn’t get xdebug working, but got told that wasn’t strictly necessary.

But then…I don’t anything about applying patches. I don’t have object-oriented programming experience. I do some PHP, and I can usually work my way through it, but I’ve realized that in the Drupal parlance I’m a site builder, not so much a developer. And I was in a giant conference room with probably hundreds of other people, and really really really nervous about doing something wrong.

What I probably should’ve done was find the documentation team and offer my wordsmithing skills.

What I actually did wasn’t too bad, though. I found a bug in Views tagged “novice” that actually just needed someone to see if a bug was still a bug. So I walked through the steps — which also meant creating a new content type and fields in Drupal 8, and getting the hang of a few different parts of Views that I haven’t used much — determined that the thing seemed to work as intended, and posted some screenshots to the issue. I’m pretty proud of that, TBH. It was an environment that managed to simultaneously trip both my “student ahead of the class” thing and my “fake programmer” anxiety. And yet I did a thing, on what was marked as a Major bug.

After all that, and a little lunch, I was all the brain fry (did I mention 5:15 am?), so I did a little work-related stuff. But before I took off, I went to one of the organizers to say thank you. Because whatever was not quite right for me, it was pretty amazing that all of this was happening. She asked what I’d done, and I explained it, and she wanted me to get up and say something. Which OMG NOPE. Still, she gave me a couple of stickers, which ok, I’ll take that.

With that, me and my luggage were off away from DrupalCon. It was a good week. I feel like I managed to balance on-time and downtime, meeting people, catching up with people, seeing a few sights, and knowing where my boundaries were. I only went to two parties, and that was PLENTY. (It’s kind of reminding me of some SxSW experiences, and I feel ambivalent about that. I really wish there had been a game night or something. If I go again in the future, I WILL organize one this time.) I learned a bunch, and also created a bunch of mental bookmarks: things I need to come back to and explore in more depth on my own.

elasticsearch

[context: at some point Google Site Search is probably going to be prohibitively expensive. is this a good alternative?]

Lucene is an underlying search technology, from Apache, in Java. Same as Solr.

big diff from Solr is that it’s clusterable? is that something that matters for us? I’ve no idea.

also, I have no goddamn idea what they’re talking about now.

solr-vs-elasticsearch.com

“if you just want to search all your nodes, use Solr” ok then. (esp better integration with Search API?) so there’s that, I guess that’s the super-short answer to my question. not that there’s not super-neato stuff in Elasticsearch, and who knows, maybe by the time we price out of Google Site Search (does _that_ work with Search API) it’ll be ready for prime time.

revisions everywhere

undoing delete?

problems with concurrent editing

the issue of distributed content generation

….

demo of a module for D8 — I’ve already forgotten the name. [nb: Multiversion]

tree showing split “revision tree” when editing in two sites that are supposed to be in sync.

[so is there a D7 contrib module that works like Cascade’s Recycle Bin? because we use that all the time.]

the speaker’s notable modules are UUID & Deploy? which I should probably look at both.

oh wow this gets complicated fast. and this might be going over my head a bit. :\

some in-session researching:

how does Deploy play nicely with Workbench Moderation? Does it?

for Recycle Bin like functionality: see Killfile?

this is all quite high-end (the advanced level was quite correct) but it’s fascinating.

{oh I just heard Greg.}

this question: ow my brain.

forward revisions? O.o — oh, like Scheduler, or Draft in Workbench Moderation.

Right now I feel like I’m gonna need a week with a whiteboard and a brand-new Drupal installation.

using grunt with drupal

I’m not 100% sure if this applies, but it’s intriguing since Justin is already using Grunt for CSS & JS tasks (compiling SASS, minifiying, etc).

I really wish DrupalCon were set up like Confab in one very specific way: I like having a table to set my tablet/notebook on for typing. The height of these chairs combined with the height of my legs means that it’s quite awkward typing on my lap, the whole thing wants very much to go head over heels and fall off of my lap entirely. Then add in the knitting, which is mostly helpful in listening, but it’s hard to have ALL THE THINGS in my lap simultaneously. Confab’s setup with rows of tables was so much nicer than just rows of chairs w/out tables.

what about testing that’s more than just “clicking around” (I guess that’s the point of something like behat?)

what ARE D’s tools for deployment?

Grunt Drupal Tasks

“it has opinions”

Gadget “easy to start a Drupal project with Grunt Drupal Tasks”

feels very rabbit-hole. I’m not quite sure I get what’s going on, but maybe… actually, Justin might like that for that other thing he’s thinking about….

actually, I think I’m going to try this, if I can get Justin to help me get Grunt & Yeoman set up.

but omg sleeeeeeepy.

this might not be related, but does Hobsons have an API that we could connect with for building forms?

separate Grunt file for the theme — sort of like what Justin does now?!

again: what would it be like for the web team to be able to do our own theme deployment? or module deployment specifically for Features-generated modules (ie, content types with associated views, etc)?

the guy sitting in front of me has the USDA foreign agriculture service website in his browser, but with the url of localhost. so that’s a thing.

avoiding the git of despair

gitforteams.com

Features, Git, & Drush!

I’m wondering if I really want more command-line-ish access, or if Justin does. Especially with committing theme changes.

Also, I want to do some sketching about what the ideal flow looks like for theme, module, structure, and content.

I’m not making a lot of notes in this one because there’s SO MUCH content in the slides, and TBH I want to walk through it with my actual test site. Plus that thing about wanting to sketch. I’m having thoughts about overall process as well.

I want all the more resources, except maaaaaybe the videos?

(plus also I need to watch The Princess Bride again.)

site building like an engineer

the architecture, and complexity, of a drupal site is based on module selection.

nice runthru of heuristics for module selection.

special cases

panels (“is it done the drupal way or the panels way?” and this is why I’m always skeptical)
display suite
views
“I have this layer of complexity…do I use it?”
domain access
organic groups
rules (turing complete, apparently. “infinite complexity”)

avoiding building the homer-mobile.

data structures

[I don’t know if he’s talking about content types, but I’m feeling like I kinda need a full do-over of the Fields of Study content type]

ok, yes.

“every time someone tries to save a week’s worth of work on the building side, they create a month’s worth of work on the maintainence side”

site building smells

taxonomy: number of vocabularies, general size/complexity of vocabs

content types: number of types, overloaded with fields, do the lines between content types make sense, would taxonomy, entities, etc be better?

in all of this: is there a reason for this to be here?

documentation!

use the description field on the content type, taxonomy/vocab, menus, blocks

in views there’s a place to write comments about the view itself! “this display’s comments”

only add  complexity deliberately
name things carefully
comment liberally { every time you see a textarea just start typing }

that was really good, lots to think about. (and short!)

battle for the body field

“I thought it was a training issue, but it’s not.”

This story about the HR site for the multinational makes me think of issue with my.e.e, which the admin computing people solve by not actually using any Drupal features. (Then again, my.e.e isn’t really text.)

[pope article after snowfall] this is the “blue box” problem, which we’ve been solving through just styles & snippets.

narrative text; islands of structure; placement that matters

paragraphs: still mostly just good for assemblages. (so maybe the campus life page?)

I’m feeling Insert View in this part of the discussion {cleaner markup slide} — how WOULD you do Insert View in a wysiwyg?

what is the actual vocabulary of the content? even if it doesn’t become a Drupal field, knowing this is important. So I guess the snippets that Justin has worked on is actually helpful?

Tagline!

transform for output slide – just this thing.

“i think im being tricked into using xml somehow” lol

“just have a footnote button and support that” yeah.

entity token embed

deadline vs new content  vs profile vs highlighted material

pattern lab

node embed, token insert entity, entity embed

I can’t believe he hasn’t mentioned Insert View

shortcode drupal module

oh, right, node view MODES. I could definitely play with that some more, esp for Fields of Study?

custom editor plugins?

I feel like maybe I’m in the best place right now, having spent the last three years relearning and doing XSLT, and now bringing that back to my Drupal work.

How to make sense of any mess – Abby Covert — I’ve been thinking about that book.

higher ed summit

Panel, no one in a communications or marketing unit — mostly folks who do contract sites for college departments, units, including chargeback models.

Interesting: discussion about how they decide whether to use WP or Drupal for any given project.

It’s so weird being here as a person from higher ed, but with no departments.

Stanford has ~1800+ sites. Business school does Acquia hosting. Most everything else uses their locally-hosted Stanford Sites service. There’s about 100 “special unique snowflakes.” [note also: Behat?] And then also Blackmesh & Pantheon hosting?

Monster Menus module (something with permissions? is it any better than Workbench Access?) But they (Amherst) actually even use Drupal, same one as their site, for LMS-type stuff.

People talking about Word editing issues. “We train people” but it doesn’t work. :\

Interesting thoughts about Features and upgrade paths — I really should reset all the “Features”, redo the ones I exported from my sandbox from scratch in my dev site. Because I’ve probly broken all of those.

Do most colleges have a SaaS or agency model of web development? So much site building in this discussion.

Nice mention of lynda.com. I really should see what’s available there for Drupal.

Migrating from another CMS

I wonder if I should talk to the UC Davis guy about Cascade? Because that was the best presentation at the Cascade conference.

So what ABOUT Migrate? It honestly looks way overkill for what I want/need to be doing. “It is important to recognize that the Migrate module is a developer’s tool — if you do not have object-oriented programming skills in PHP, this module is not for you.” So, yeah. Not for me.

Oh, I need to do a separate migration for the news stories, especially with the newer Cascade content type.

But I guess maybe I could try it? I recognize that I’m a bit fussy about my tech, and maybe I’m ruling it out in an overly arbitrary way. At least see what’s involved on the sandbox site.

Obvs, what I’m hearing is that it’s important to really understand your content types and workflow.

Migrate, per Ken Rickard: Easy to roll back and reimport, declare dependencies, do things in a phased way. And that sounds lovely. CAN MIGRATE IN PARALLEL TO EDITING IN THE OLD SYSTEM. “highwaters” and “stubs”

Getting a dev up to speed with Migrate – he’s selling it from the POV of having a programmer get up to speed with Drupal, but for me it might be finally getting my head around OOP.

I guess I’m also glad that we don’t have this “wild west” situation that a lot of folks do. I can give credit to Luke and past-Susan for that much, at least, whatever I happen to think of Cascade specifically.

Spreadsheets for field mapping. (Resources will be in the notes!)

I also need to go look at the OTHER Cascade content types (etc) for that mapping, which gets me back into the dreadful world of ye olde triple-nav pages.

Relatedly: is there ANY way to get enough RAM (or something) for Cascade to do an index block at full depth? Because ugh.

Got to mention my guinea pig process. 🙂

Oh, go back to that earlier CMS Users survey for what they wish they had. (was it contact forms?)

A little bit of ethnographic research, or even just ask Susan what she’s seen in the field, since she does so much user support.

“I like, I wish, I wonder” (maybe a second survey?)

The rest of the day

I went to the table to discuss user training, and first of all — it was over lunch. I’m pretty sure it’s a terrible idea to have a formal program over lunch. And then at the actual discussion I didn’t get much out of it. So TBQH I bailed pretty early, once I’d finished my food, and then I ran into someone I knew and met some new people and had some good discussions, and now it’s well into another session. I think there’s one more after that, and then “happy hour” (and again TBH I don’t much care about getting free drinks).

Was it worth it? I don’t know. Seems like it needed to be either a lot more structured or a lot less structured, one or the other. And the room was loud, hard to hear conversations very well. And and…the big schools in particular are set up so much differently that we are. :shrug: Dunno if I’d do it again, unfortunately. (Altho it’s nice to have a pre-day to get orientated to everything.)

Knitting patterns & open source things

This came up again this morning talking about Grunt: how do you pick a plugin? (See also JQuery, WordPress, Drupal modules, and so on.)

I realized a while ago that how I make those decisions is a lot like how I decide what knitting pattern to use.

Does it do what you want?

Obviously this is the most basic question, whether you’re looking for a CSS auto-prefixer, a carousel, or a pair of socks. But the thing is, if you’re trying to do something that lots of people want to do, probably a few have tried their hands at it. (There are more than 21,000 sock patterns on Ravelry, more than 6,600 of them being free. There are more than 600,000 search results for “jquery carousel”.)

But you’re probably looking for something a bit more specific than that. And if you already know your problem pretty well, you can judge the nuances between Bundle Copy, Features, and Configuration Management. If you know that you have 400 yards of fingering-weight yarn, then you can narrow down your options.

So for me it’s first knowing what I want, including what my restriction are.

Does it do it the way that works for you?

Everybody has preferences in their craft. You want the code that comes out of that plugin to be a certain way. You want a certain workflow in your Grunt tasks or your data imports. You hate data attributes or lace.

Once I have a rough list of things that do what I’m looking for, I look into them to see if they do it the way I like. Sometimes (especially with Drupal or WordPress) it means actually trying them out. For knitting, usually just reading the pattern tells me enough, thankfully.

Do other people use it and what do they say about it?

Great thing about Drupal.org, the official WordPress plugin site, and Ravely: you can see how many people are using things! You can also see a variety of kinds of feedback, like ratings, comments, bug reports. So it’s good to read through those, with an eye to your own preference, and see if it’s worked for others. I may end up choosing things despite others’ experience, but at least I know what I’m getting into!

Related: I do try to participate, especially with knitting patterns. On my Ravelry account, I try to make my final notes on projects as useful as I can, and I always rate both in stars and difficulty.

How engaged is the creator?

Related to the previous point, if there are complains or bug reports, you can see how the creators (developers or pattern designers) respond to them. And that means both quality and speed. For software-related projects, that also means how often they update, and for plugins, how often they update to match new versions of the core software.

Knitters and users of open source tools: how do you pick things?

DrupalCon 2013 other stuff

Driving to Portland – this trip was literally the farthest I’ve ever driven anywhere, the most I’ve ever driven on the freeway, and the first time I’ve driven in Portland. (A city I find remarkably confusing. As I said to Elizabeth: I haven’t been to Portland if I haven’t gotten completely turned around at least once.) And it was fine, even with rush hour in driving rain. The rental car had satellite radio, so I listened to BBC World Service most of the time. I got to enjoy a lovely drive along the Columbia River by the airport. Cruise control was helpful with the long stretches as well, definitely helped my old-lady-knee. I only drove into the convention center area once, on Friday, and otherwise it was very straightforward to drive from my hotel to a park & ride and catch the Max into town.

About that hotel – I’m still annoyed at ending up staying Jantzen Beach (which is a long story) but the hotel was decent enough, and I even got to watch the latest Game of Thrones.

And I also stayed with Mom and Elizabeth in their new pad way out in northeast Portland (practically Gresham), which is a nice place. Even got to have a home-cooked meal, first time eating that way with Mom in probably close to 15 years. I stayed with them Monday night and Thursday night, which made for much more relaxing drives from Olympia to Portland and back.

The “hallway track” – I enjoyed visiting with people I’ve met before (Catherine, Kronda, Dave, Greg D), people I’d only known from the internet (Eaton, Relly, Ashe), and people I met for the first time (Beth & her partner (Matt?), Johanna). I never did get to play Bad Neighbors. 🙁 I think I got some good advice, though, on actual work-related stuff. And it felt good to be in a community, even if I had to deal with occasional bursts of social anxiety and/or imposter syndrome.

By the time I checked in, they were already out of women’s XL shirts. I actually haven’t yet tried on my women’s L; we’ll see how that goes.

The conference website was horribly slow, and terrible on phone/tablet; the app wasn’t available for Android. But the printed schedule booklet was actually useful.

The food was a mixed bag. I actually liked the Tuesday lunch best (sandwiches), over the hot buffet lunches on Weds & Thurs. Wednesday’s lunch was particularly meh. I was very glad that Pantheon (?) had a food truck with breakfast sandwiches on Wednesday, and that I went to j Cafe on Thursday for a breakfast sandwich. Protein FTW.

I didn’t actually go to any of the social events. Loud parties not really my thing, plus the whole mess of the Jantzen Beach hotel. Did get to go out to dinner with a bunch of people on Wednesday, and then saw the opening act of a show after. (M. Geddes Gengras, trance-y synth music; I bought a cassette.)

I took notes (as terrible as they turned out to be) on the Transformer, and I’m glad I had that instead of a full laptop, much lighter, especially for what I was using it for. I have a hunch I may have actually lost some of my notes to the dreadful wifi, although it’s hard to say for sure. I possibly should have used just a text editor instead of the WordPress app.

Coat check was awesome, and more events should do it. (Same with free transit pass, BTW.) If I’d had a nicer knitting bag, I’d’ve just gone with the tablet & knitting, rather than my big Timbuk2 bag.

Overall, I’m very glad for the opportunity to have gone to DrupalCon and I would definitely do it again.

Edit: also, I got to spend a little time (not nearly enough) with Elizabeth late Thursday afternoon, going shopping on Hawthorne. (Bike for her, yarn for me.) It was super-fun, and I was happy to chip in to get her a cool new bike.