Behind the Screens with Jim Smith

Podcast episode player
0:00 0:00

From Drupal experimentalist, to migrating the Oak Ridge National Laboratory's website, to thru-hiking the Appalachian Trail, Jim Smith is bridging communities and sharing his story.

Episode Guests

Jim Smith

Jim Smith

Jim is a Drupal developer at Oak Ridge National Laboratory and has presented several sessions at Drupal camps on a variety of subjects, such as Drupal 8 migration, theming, front end performance, using images in responsive web design, Barracuda-Octopus-Aegir, Panels, and Twitter.

Transcript

Transcript

Chris:
Today, we're going behind the screens from DrupalCamp Atlanta with Jim Smith, Drupal developer at Oak Ridge National Laboratory. Jim, tell us a little bit about yourself and what's going on out there at Oak Ridge.
Jim:
Well, I am currently involved in a project to migrate the main site, ornl.gov, from Drupal 7 to Drupal 8. We're almost done with it. We've been working on it for a few months now, and initially, the migration was being handled by another team member. She then took another job, and it was handed to me, and then we realized it was a bigger task than even just one or two people could do, so we had another couple people involved in it, and it's been quite an interesting task.
Chris:
You said this is a .gov site, so it's a government agency. What is it exactly that happens at Oak Ridge National Lab?
Jim:
Well, Oak Ridge National Lab is a part of the Department of Energy. It is maintained or managed by a company that is actually in partnership with ... It's called ... Patel, and then they're in partnership with University of Tennessee. That's an entity that is under contract to manage the lab. There are about 5,000 employees there. It does a lot of research into clean energy, and security, and super-computing. I haven't even touched on all the things that they do, but those are the main things. About a floor below me is the world's fastest computer or at least it was when that was ... Every few months, a new one comes online that's faster, but for the time being, it's the world's fastest computer, but of course, I'm doing all my development on a Mac.
Chris:
You don't get leverage that CPU speed?
Jim:
Yeah, yeah, yeah.
Chris:
The laboratory's public-facing website then is currently Drupal 7, soon to be Drupal 8, and so you're working on that migration?
Jim:
Right. Mm-hmm (affirmative), and we also have other sites that we build and maintain for other entities there associated with the lab or like for example, I recently built a site for US ITER, which is a part of the ITER project that is a worldwide attempt to create a fusion power source that ... nuclear fusion that will ... If they can pull it off, this will be, to my understanding, the solution that the world needs to solve the energy situation. This won't be the final solution. It will be a proof of concept I guess, if you will.
Jim:
What's neat about it is there's about 35 countries that are involved in it, and I think that's right, but anyway, it's only costing the United States 10% of the total project, but they get 100% of the technology and the knowledge comes from that project so that they can take that and they can create their own versions of it or what have you. It's a project 35 years in the making, started with Gorbachev and Reagan deciding to do this. It's an amazing project that hardly anybody knows about, but anyway, the US component of that is managed at Oak Ridge National Lab.
Chris:
Wow, and so you ... Again, this would be like the public-facing website to represent that project?
Jim:
Right. Yeah, that was one of the sites I built.
Chris:
Wow. Working in the government industry, what's the trickiest part about getting through that? I remember there being a lot of red tape and bureaucracy, things moving a little slow, some things were siloed. What's been the hardest part for you working with that at Oak Ridge?
Jim:
Well, you get used to it after a while. The decision-making can be arduous at times. Before I came to Oak Ridge National Lab, I worked for another company that was a government contractor working with the Department of Health and Human Services. When I was hired on, they were planning to do a redesign and upgrade of an existing site, and when I left two years later, they still haven't launched the site, and it wasn't because of the lack of effort on our part. It was difficulty in getting decisions to be made. I think everybody can understand that that happens in government, and it just ... But at the same time, it's a good experience. I have enjoyed working in this sector, and I've also done some work at universities, and I've done some non-profit work too. They all have their side of things.
Chris:
Yeah. Sure. In this migration from Drupal 7 to Drupal 8 ... Well, tell me a little bit. How is that project going? I know there's always some crazy tricks that you're going to run into. Some of the sites I've done the migration, there's so many unique facets to it. It's hard to say like, "Here's how you do a migration." In your particular case, what's a unique situation that you've run into and maybe some advice you could give to somebody who might be running across something like that?
Jim:
Yeah. Well, one of the things that ... As I said before that I was handed this off from somebody else, and we thought we had done the planning on it, and we pretty quickly learned and figured out that we hadn't planned hardly enough, and we regret that that we should have planned everything out as much as possible before we started doing any code work, any of the migration because you really have to understand what your source is down to every single field, and then you also have to make sure that ... because every new site has mock-ups and what have you.
Jim:
You have to make sure that you comb over every mock-up and make sure that you have a mock-up for all of your circumstances, and it doesn't ... It can be simple wireframes, but you still have to have an understanding of where every piece of content on a page is coming from. These days, most sites ... at least if they're Drupal sites, they are going to make use of a lot of references to other content elsewhere and pull all that in. Well, you have to understand where that's coming from. If you don't do that, your migration is going to get stalled because you have to start answering those questions in the middle of the process.
Chris:
So coming up with a solid plan? Really getting to the fine details of the content structure? Making sure you have a solid start and end point?
Jim:
Mm-hmm (affirmative). We also admittedly made our task difficult because of the way we had built the Drupal 7 site. It was built over time with a lot of decisions made along the way and kind of called a Frankenstein site where somebody says, "Well, okay. Now, we need this," so you just bolt it on to the side. It wasn't part of a master plan, and so now, we're dealing with that and trying to ... I hate to say this, but we had 45 content types.
Jim:
Many of them had very little content and some, no content at all. That was a mistake. I think any Drupal developer could see that was a ... You shouldn't have that many content types. You shouldn't have very little content or no content at all associated with them, but one of the great things about doing the migration is you can fix those problems, and you can rethink how your site is going to look and how it's going to behave. That's something that if you ... You need to put that as part of your planning too.
Chris:
Mm-hmm (affirmative). I think that's a great point, and that's something that in a recent project I've been on, we overlooked a bit till we were further into the process. Going through a good content audit and a systems audit like, "What's here? What's actually being used? What do we not need to bring with us into the migration?" If you can filter out some of those extra content types that are no longer needed or maybe weren't needed in the first place, you can reduce the size of the database that you're migrating as well, which will need faster database processing because you're going to need to migrate that database multiple times as you continue to test if it's ... you're migrating a live site, so.
Jim:
Yeah, and we made things more complicated, but by choice by migrating files into media entities, which we didn't have a very good use of in the Drupal 7 site, but we want to take advantage of that that's available now in core, and we are trying to make greater use of paragraphs so ...
Chris:
So, I like to take it and turn it around a little bit now. We've talked a lot about the migration, and the code, and what you're doing out there, but I'd like to know more about the person it's doing. Let's get into the community a bit, so if you woke up tomorrow and the internet had just disappeared, you don't have to go to work anymore, what are you going to do?
Jim:
Well, there probably would be two things I would do. One is I would do what I'm actually trying to do more of now anyway, and that is travel with my wife and spend time with her. She recently retired. She was a teacher for many years, and I have cut back on my hours at the lab. I was full-time, and now I'm working about 80 hours a month. They're happy to have me on, and I'm happy to stay on because I really enjoy Drupal, but I like taking advantage of the fact that our kids are grown, our mortgage is paid. I'm at that age where I can take advantage of those things, and so I am.
Chris:
Yeah. One of those things that you ... A major accomplishment that you did recently and every time we see you, we ask you about this because it's just such an amazing thing, and it's something that I know I'd like to do someday, but you completed a thru-hike of the Appalachian Trail.
Jim:
Mm-hmm (affirmative).
Chris:
For anyone who's not familiar with that, tell them about that distance and what that took.
Jim:
Okay. Well, yeah, I did that last year. The Appalachian Trail is 2,189 point something miles. It depends. Every year, it changes a little bit because they make adjustments in the trail, and it starts ... If you're going south to north, which is what I did and which is what most people do, you start in Springer Mountain, Georgia and you finish at Mount Katahdin in Maine it goes through 14 states. It took me every bit of six months to do. I was 61 when I did it.
Jim:
What was interesting though is that I met people in Georgia in North Carolina that I ended up finishing with, and even though they were much younger than me, I think what it was was they were able to go faster obviously, but they would take more time off the trail or they would just finish their day earlier, so what I liked about the trail was that there was a community that's like the Drupal community where everybody is focused on that one thing, and they have all sorts of other different interests or different things that they do outside of that one thing that ties us together, but the neat thing is that everybody is rooting for each other.
Jim:
I feel like it's the same way with Drupal is that you are all invested in the same thing, and you want everybody to be successful, and that's why the Drupal community is such a sharing community. You have information, you want other people to have that information. You want people to have a good experience. They want to have ... You want them to have a good career. The hiking community is that way. The AT community in particular. Everybody wants you to finish, and the people that are not even ... not even just the hikers, but the people that do trail magic and the people who run the hostels and the people who have restaurants and things in the trail communities, they're all rooting for you. They want you to finish.
Chris:
That's really amazing. I never thought to make that comparison before, that parity between Drupal community and the hiking community, but I completely ... I see that. I get that. Wow, that's just incredible. That must have been an amazing journey for you. I can't imagine six months just ... I mean, and you stopped along the way to go to DrupalCamp Baltimore, didn't you?
Jim:
Yeah, that's right. Yeah. Yeah, the original idea was that I would get fairly far north into Virginia that a friend of mine could just pick me up along the way and go on to Baltimore, but I ended up delaying my start about a month. I went to a doctor about a week before I was scheduled to start in March just for routine physical, and he said, "You're going to need a hernia repair."
Jim:
Fortunately, I got in with a surgeon who was able to get me into the operating room the next day, and it was a 30-day recovery time that was ... There was no negotiation about that, but he said, "After 30 days, you'll be free and cleared to do it," so I ... Because I had to delay the start, I didn't have that plan worked out quite as well, but I finished ... I got through the Smokies, finished the Smokies, and then my wife picked me up, and then I came home and showered, so I didn't go to Baltimore stinky.
Chris:
Wow. Oh my gosh. That's such an incredible story. I love hearing ... listening to you tell that every time. All right, so I got one more Drupal-ish related question to finish this off. If you could be any module in the Drupal ecosystem, what model would you be?
Jim:
Well, I don't have a lot of experience with the group module, but I do have some experience with the Drupal 7 version of it, and I ended up having to write a custom module that tied it in with Workbench because there wasn't at that time ... I don't know. Maybe there still isn't a way to manage the permissions that Workbench could do. But anyway, I think that what I found I liked about group module I think goes back to what we were just talking about where you can connect communities, and you can connect like-mindedness, and you can connect ... I don't know. I'm not sure where I'm going with that, but ...
Chris:
I see where you're going. Yeah. That totally makes sense to me, taking groups of people and having a way to bring them together to form those connections.
Jim:
Mm-hmm (affirmative). Yeah.
Chris:
Yeah. I like that. That fits right in with that paradigm of the hiker community, the Drupal community that ... I really like that answer. That's great, and so finally, Jim, if there's somebody you'd like to say thank you to or share some gratitude with who maybe gave you a boost along the way, gave you a hand when you needed it, anybody come to mind?
Jim:
Oh boy, that's a long list. When I was first starting out in Drupal, I actually played around with Drupal in Version 4.6 and 4.7, and I didn't like it. It was hard to install, and I was not a programmer, then I ... I had just taught myself how to do HTML and CSS. That was the extent of my knowledge, but I was in need of something that would allow me to update things without having to write individual HTML pages for every single page.
Jim:
I went to DrupalCamp South Carolina, which was ... It was part of LinuxFest. It was something that doesn't exist now, but I met Doug Vann, and Mark Shropshire, and Matthew Connerton, and people like that that helped me realize, first of all, that I knew more about Drupal than I thought I did and made me begin to appreciate the community because like I said, that was the first camp I had been and I ... too, but I had been playing around with Drupal for three or four years, but I didn't have any idea that I knew as much as I did.
Jim:
One of the things that Matthew Connerton said to me was he said, "I'm thinking about becoming a full-time Drupal developer," and I thought, "Wow, you can do that, huh?" It was that initial spark, and it was the best thing I ever did because it got me on a path that has been greatly rewarding to me as a career, but also has allowed me to develop a lot of really true friendships. I am really grateful for that.
Chris:
Jim, thank you so much for taking a few minutes. A really great conversation today, and we didn't mention it, but good luck on your upcoming quest for the Pacific Crest Trail next.
Jim:
Yeah, I'm going to start that early April of next year, and it will probably take every bit of six months for me to do it, but ...
Chris:
I'm looking forward to the updates. I'll keep an eye on the blog. Oh, for anyone who's interested, go ahead and plug your blog where you keep those, your journal.
Jim:
Oh, yeah. My original idea for the blog was to blog while I was on the trail, but I found that I wanted to put too much time into the writing and care for it that I just ... I would rather sleep during those times when I wasn't hiking rather than blogging, so I'm now blogging about my AT hike, and I'll have that done before I start the PCT hike, but that's hikewithgravity.com, and I also do Twitter and Instagram, @hikewithgravity.
Chris:
Great. I'll keep an eye on that. Jim, thank you very much. I'll let you get back to the camp here.
Jim:
All right. Thanks.