Recently at work, one of the site managers asked for a listing of which nodes on the site were using the auto-generated Pathauto paths and which were not. Should be easy, right? Just figure out where Pathauto stores whatever variable it uses to indicate if a node has the "Automatic alias" parameter set and dump the list. Turns out, actually no, it's not that simple. Pathauto doesn't store a variable.
One of the initiatives begun since I came on board at USP is to convert the team from using CVS for version control to using Git. CVS was performing adequately in most respects, but the leadership recognized that Git is the de facto industry standard these days and that, beyond the technical benefits of moving to Git, there was value in keeping up with the standards of the industry and the Drupal community. The question, then, was how to best accomplish the change.
On July 13th, I'll bid farewell to GDIT and the EOP and move on to the next step in my career. It's been an honor to work with the team there and I've learned more in the past year than I would have imagined possible, a small sampling of which are below.
Team dynamics are critical. The right combination of people in the right environment can produce some amazing outcomes and make even the most arduous environment bearable. Unfortunately, that balance is remarkably fragile. It takes very little mis-management to upset the balance and destroy morale.
Unicorns bleed rainbows.
cd -: How have I lived this long without having known about this command?
Mongo is wonderful until you need to do a simple join query, in which case you're looking at writing at least a hundred lines of application-layer code.
CDN's are insanely expensive but worth every single penny when people in Guy Fawkes masks decide to pound on your site.
Kanban is a wonderful management tool, created by 3M as a ploy to sell Post Its.*
Credit and disclaimers:
hook_career_alter() was originally developed by webchick. I'm just running a custom implementation of it. * I have no proof that 3M created Kanban...but it just makes so much sense.
The final outcome of this project came out a bit different than originally envisioned, but I'm calling this one done for now. In the end, I created a Project node type with a Taxonomy term reference for the project status and a view to display the Project nodes which have a status of either Exploration, Active, or Someday.
The openid_selector_inline submodule of OpenID Selector provides interface elements that replace the core OpenID input field with provider icons that users can click to authenticate to their identity provider. The module provides no real configuration options, though. When enabled, it automatically places its icons on the /user/login form and on the login block.
This morning, I went looking for a means to automatically create a Taxonomy term when a new node of a given type is published. To my surprise, though, the old Taxonomy action set which appeared in the D6 version of Rules was missing from the D7 version of Rules. A quick search of the Rules issue queue revealed that I wasn't the only one looking for Taxonomy actions. Several more minutes of poking around the interface revealed that the solution is there, it's just obscured in the interface.
I've been working on a Drupal module which aggregates and reports on some data from Mongo. In order to keep from having to re-do all the aggregations, the aggregated data itself is written off to a Mongo collection which is then retrieved and displayed when the reports are requested. To make the retrieval more efficient, I need an index on the table storing the aggregated data.
One of the systems I've lately inherited makes heavy use of Mongo for data storage, a data system I've not used previously. So, when the boss called tonight and said that his boss needed counts of an object in our system by state in the next 10 minutes my thinking went something like...
No problem, that's a simple SQL group-by....Oh, wait. This is mongo. Oh, crap! How do I do that?! It's a function; Map...Something.
Now that I'm commuting into the city each day, I've been forced to actually learn my way around metro. It didn't take me long to get tired of checking my phone for the station map, so I put together a little mnemonic to help me remember the order of the stations on my route: Bethesda to Union Station.