[Music]
Lea Alcantara: This is the ExpressionEngine Podcast Episode #58 EE 1 to EE 2 with a friend of the show, Ryan Masuga. I’m your host, Lea Alcantara, and I’m joined by my co-host, Emily Lewis. This episode is sponsored by Focus Lab. Focus Lab LLC is an EE shop who…
[Music]
Lea Alcantara: This is the ExpressionEngine Podcast Episode #58 EE 1 to EE 2 with a friend of the show, Ryan Masuga. I’m your host, Lea Alcantara, and I’m joined by my co-host, Emily Lewis. This episode is sponsored by Focus Lab. Focus Lab LLC is an EE shop who believes in the power of teamwork. If you need help planning, debugging, developing or even training on an EE project, give Focus Lab a call and ask for Erik Reagan, or online at FocusLabLLC.com/eepodcast.
Emily Lewis: The ExpressionEngine Podcast would also like to thank Pixel & Tonic for being our major sponsor of the year. [Music ends]. So as Lea mentioned in the introduction we have Ryan Masuga joining us again to the podcast. Welcome, Ryan.
Ryan Masuga: Thanks. Hello there.
Emily Lewis: So this is the second time you’ve joined us since Lea and I re-launched the show, I guess, this summer, a couple of months ago.
Lea Alcantara: Yeah.
Emily Lewis: How things has been going for you lately?
Ryan Masuga: I’ve been very busy taking on some client work in addition to the Devot:ee stuff. So we are busy over here. I’ve got another employee. There are three of us here at Masuga Design/Devot:ee.
Lea Alcantara: Oh, cool.
Emily Lewis: Congratulations.
Ryan Masuga: Thanks.
Emily Lewis: I love hearing everyone is growing and hiring and doing well. It’s good sign for our industry.
Ryan Masuga: Absolutely.
Lea Alcantara: So this is a pretty big topic to tackle and when I was at EECI in New York, some people were coming up to me asking for advice about upgrading from EE1 to EE2, and I know Ryan you’ve been very public in Twitter. [Laughs]
Ryan Masuga: Yeah.
Lea Alcantara: In forums and everything like that about your experience from EE2 to EE2, so whenever someone came up to me, I tell them my little experience with EE1 to EE2. But eventually, I’d be like, “Just ask Ryan.”
Emily Lewis: [Laughs]
Lea Alcantara: Just ask Ryan. So this is part of the reason why you are on the show because you have had a lot of experience, I guess, with different types of EE1 to EE2 upgrades from documenting it and doing it from local or whatever. So when did you first start to tackle your first EE1 to EE2 upgrade, and why?
Ryan Masuga: Yeah.
Lea Alcantara: Why did you decide to upgrade in the first place?
Ryan Masuga: Well, as you know, running Devot:ee which is supposedly this resource for all these EE doves in the EE world, it’s got to be kind of like, “Everyone is putting out EE2 add-ons and here we are still running EE1.”
Emily Lewis: [Agrees]
Lea Alcantara: [Agrees]
Ryan Masuga: So maybe we should get with the program.
Lea Alcantara: Yeah.
Ryan Masuga: We’ve got to do this.
Emily Lewis: It wasn’t a technical need it was more of you just wanted to be up with what everyone else is doing. There wasn’t a reason for you to upgrade beyond that?
Ryan Masuga: Well, partially that, but our relationships table was getting ridiculously large.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Ryan Masuga: So we knew that newer versions of Playa which we were using used its own table and so we like that. There were things that leading add-on developers were doing with their new versions of add-ons, but for EE2 only that we couldn’t take advantage of.
Lea Alcantara: [Agrees]
Ryan Masuga: So it was like we need to be able to streamline. We need to be able to use this new thing, and Devot:ee is not going to grow unless we update.
Lea Alcantara: Okay, so do you think there is ever a reason that it’s not necessary to upgrade a client site to EE2 like keep them on 1.7.1?
Ryan Masuga: I don’t see why you couldn’t do that. It’s really kind of like, you know, you’ve got some small clients that really don’t need anything more than what the one X branch can do.
Lea Alcantara: [Agrees]
Ryan Masuga: So it if it’s not broken, don’t fix it. I’m not the type that just goes out there and just updates to the latest version or has to upgrade to the latest branch just because I like fewer headaches.
Ryan Masuga: Unless the client is specifically requesting something that one can’t do, I’m not going to really throw it out there.
Lea Alcantara: Yeah, yeah.
Emily Lewis: Does the announcement, I guess, at the early part of last month that a public support for ExpressionEngine 1 is no longer going to be supported after April, would that change your opinion?
Ryan Masuga: Not really.
Emily Lewis: Just to have some more options.
Ryan Masuga: But I don’t know how much I’m actually making use of that anyway.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Ryan Masuga: It used to be in the forums all the time and I think you hear the story a lot. I’m not really in there anymore. I think a lot of people that have a fairly decent grasp on what they are doing can find answers other ways with Twitter and things like this.
Emily Lewis: [Agrees]
Ryan Masuga: And that forums don’t have as much value as they used to. So I’m not really needing or requiring any EE1 support for anything.
Emily Lewis: OK, fair point.
Lea Alcantara: Yeah. And I’m thinking in my own experience, I mean, I still have some clients on 1.7.1 and they really don’t need anything more. You have to think about their budget as well. I mean, I think that if they have a chance to upgrade, I would probably upgrade them for security reasons and also just for upgrading their user experience.
Ryan Masuga: Yeah.
Lea Alcantara: Especially because now there is the EE2 add-ons that help you customize the control panel like crazy and it would be so much easier for my less technically-inclined clients, but at the same time it’s extra money to train them.
Ryan Masuga: [Agrees]
Lea Alcantara: And develop the documentation for the new software and unless they request some new feature, and usually this is more for clients that it’s just a simple informational site. They don’t have like a ton of traffic or they don’t have major updates to the content all the time, so for me, I don’t see a need to upgrade them unless there really was a security issue or they start requesting some sort of user experience difference.
Emily Lewis: I think it reflects because I feel, until you both sort of described it just now, my mindset was a little different. I think it’s because I’m still new as a solo business person doing EE.
Lea Alcantara: [Agrees]
Emily Lewis: Whereas before I was involved as part of like a team within an employer where I didn’t have to make decisions like that.
Lea Alcantara: [Agrees]
Emily Lewis: But as an independent person, I’m kind of like, “I feel like I should just always make sure I have all of my bases covered in the latest version and then they do have support. If something does go wrong, I do have it to turn to.” But I think that’s just more of a paranoid way of thinking. What you just explained makes a lot of sense, especially the budgetary concerns and the training factor, the time that that’s going to take.
Lea Alcantara: A little, I mean, that makes sense, too, though. Like I don’t necessarily mean that’s paranoid if there is a situation where you have a client where you might need to step back or they don’t want to contact you all the time and then they need forum support for whatever reason. The reality of the fact that ExpressionEngine is going to stop official support soon would be an impetus to upgrade their site, right?
Emily Lewis: [Agrees]
Lea Alcantara: But I mean, that’s something that you need to communicate to your client and then let them know and all that kind of stuff, but at the end of the day, most of my clients that are on 1.7.1, they know nothing. They actually don’t know anything about the ExpressionEngine life cycle. They just know that this is the system that upgrades their site.
Ryan Masuga: Right.
Lea Alcantara: Like it updates…
Ryan Masuga: They…
Lea Alcantara: Yeah.
Ryan Masuga: They don’t know that there is any official support now. I mean…
Lea Alcantara: Exactly. I’m their support, right?
Ryan Masuga: Right, exactly.
Lea Alcantara: So…
Emily Lewis: Got you. So back to the actual upgrade process, so Ryan, what version were you on with Devot:ee before you did the upgrade?
Ryan Masuga: We were on 1.6.9.
Emily Lewis: Okay.
Ryan Masuga: And it was a big decision whether to upgrade or rebuild.
Lea Alcantara: [Agrees]
Ryan Masuga: Which is on complex site is always a decision.
Lea Alcantara: Yeah.
Ryan Masuga: In the client site we just did, it was such a custom EE1 build it would have been impossible to upgrade to EE2 so it had to be rebuilt.
Lea Alcantara: [Agrees]
Ryan Masuga: And I know a number of different dev shops looked at this site before we ended up taking it on. I think everyone passed because it was such a custom… I’ve never seen anything like it.
Lea Alcantara: Sure.
Ryan Masuga: So that particular one had to be rebuilt.
Lea Alcantara: Yeah.
Ryan Masuga: But Devot:ee, for that site, it was kind of a fence sitter. It probably could have gone either way. So my decision was, “Well, let’s try the upgrade. If that works, I’ll save myself a lot of work.”
Lea Alcantara: Yeah.
Ryan Masuga: And if it doesn’t, then we will just rebuilt, but at some point we have to do this so we went with the upgrade route.
Lea Alcantara: Okay.
Ryan Masuga: And it could have been a sequel to an Indiana Jones movie.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Ryan Masuga: It’s a stuff for you send it off, jump through…
Emily Lewis: So do you regret the decision? Do you think it would have been better had you chosen the different route?
Ryan Masuga: After having done a recent rebuild, I know now that it was the right decision to do.
Lea Alcantara: Exactly.
Ryan Masuga: Because it’s great. It’s great with certain add-ons are like DataGrab for getting info out of other sites into new sites. I do not like the rebuilding process and migration. We had to do so many custom SQL things and if you use DataGrab for only so many things and then things get missing and it’s just like, you know. What do you do with the private message tables? There were all these considerations that when you just run an upgrade, at least it’s going to take care of that stuff for you, but yeah, the rebuild is not fun, and it all depends on the size of the site and the complexity of the site.
Lea Alcantara: [Agrees]
Ryan Masuga: But for us the upgrade on Devot:ee is as tedious and as long as it took to do because we had a lot of custom things going on. I think it would have probably been worse if we had rebuilt it.
Emily Lewis: And how long did it take you?
Ryan Masuga: I have a bunch of notes here because I kind of kept a journal.
Lea Alcantara: Cool.
Emily Lewis: [Laughs]
Lea Alcantara: Very cool.
Emily Lewis: It was that long. [Laughs]
Ryan Masuga: Yeah. Let’s see, my first journal entry was on March 23rd, 2011 and the last journal entry was on August 8th.
Lea Alcantara: Wow.
Emily Lewis: Oh.
Ryan Masuga: Where we were still battling some either bugs or things that had changed significantly from EE1 to EE2 and how we were doing with some things.
Lea Alcantara: [Agrees]
Ryan Masuga: Like they rewrote the authentication system. So our orders with API wasn’t working so we had to change that, and I don’t know, but we had kind of an advantage in that we had Derek Jones helping out.
Lea Alcantara: Oh perfect.
Emily Lewis: [Agrees]
Ryan Masuga: I had kind of think we might still be in the upgrade process if you hadn’t helped up us on some of these things. We had some major problems when we upgraded. I don’t regret it now because I can use awesome things like Zenbu, the newer versions of Playa and Matrix and our database is way down in size.
Lea Alcantara: [Agrees]
Ryan Masuga: And it’s just a better experience overall. Just getting there is a little tedious.
Lea Alcantara: What I’m curious about is if you tried to tackle more than just the upgrade because I know that Jacob and you worked on optimizing Devot:ee to be a bit faster. Did that happen after it’s been upgraded to EE2 or were you trying to do that concurrently?
Ryan Masuga: Well, we had most of the optimization in place on the EE1 site.
Lea Alcantara: Okay.
Ryan Masuga: With Template Morsels and things like this. EE Cache, unfortunately, didn’t exist at that time, but we wouldn’t have been able to use it anyway because that’s an EE2 only add-on.
Lea Alcantara: [Agrees]
Ryan Masuga: Which is great, by the way.
Lea Alcantara: Yeah.
Ryan Masuga: And so we had a lot of that in place. So we had to do a whole inventory of what we had installed and what we could either upgrade or not bring over or have to convert to something else. So we did do a couple of things. There were certain add-ons that we didn’t really like that someone had a different version of that we want to convert to. So there was a little bit of that going on, but most of it was just straight upgrading. As you know, with some of these add-ons, even though they are the same thing like Playa and Matrix, they converted to have their own tables.
Lea Alcantara: Yeah.
Ryan Masuga: And there were different things that went on with existing add-ons. With Better Meta, we had to convert from LG Better Meta to NSM Better Meta.
Lea Alcantara: Yeah.
Ryan Masuga: So I had to hunt down things in forums to figure out the whole conversion process for that. There are SQL we had to run through that.
Lea Alcantara: Oh, interesting. So was this all post-EE2 because some notes about before you even try to upgrade is that you need to upgrade the third-party add-ons in the EE1 branch, or is that even necessary?
Ryan Masuga: Yeah, I think in some cases, you do do that before, but in some cases, too, there are only EE2 versions of certain add-ons.
Lea Alcantara: [Agrees]
Ryan Masuga: So you have to upgrade to 2 first. Yeah, and we ran into issues with even basic upgrade issues running the upgrade script because we have so many banned IPs and banned email addresses that’s those are stored in the site settings.
Lea Alcantara: Okay.
Ryan Masuga: So if that’s too big, it actually gets truncated and the upgrade will fail.
Lea Alcantara: Oh.
Ryan Masuga: So we had to go in. I kept running the upgrade process locally and it kept failing and I realized it was hanging up on that so we had to copy all of that information out and basically empty out our site setting then upgrade and then put it back in. It’s just these weird steps like that that we had to do.
Emily Lewis: Well, where there any other gotchas like that weren’t really related to add-ons necessarily, but with things with the upgrade process itself?
Ryan Masuga: I ran into a few problems with the forum upgrade. If you have the forum installed, there were some errors that cropped up that weren’t just us. I would see them in the bug tracker.
Lea Alcantara: [Agrees]
Ryan Masuga: It would just hang on certain things. Most of those got taken care of and I was able to get through that, but there was a gotcha with the forums there, and like I said there was a gotcha if your site settings are too large, which might mean you have too many banned IP addresses and other things that get stored in there. I’m not sure why those are stored in there. I’m sure there is a good reason, but that would cause the upgrade to fail. I’m just scanning through my notes here to see if there is any expletives.
Lea Alcantara: [Laughs]
Ryan Masuga: Or red texts. Yeah, I think the forums and the site settings were the main issues. Other than that, the upgrade kind of ran smooth for us. The majority of the work came because we had a lot of custom add-ons and just a lot of add-ons in general.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Ryan Masuga: I mean, we had over a hundred add-ons installed.
Lea Alcantara: Oh, wow!
Emily Lewis: Did you do any sort of like matrix of those add-ons so that you made sure everything was kind of like a checklist that you made sure you had covered each one?
Ryan Masuga: Yeah. We had Google Doc that outlined everything and we kind of color coded everything all the way down whether we were replacing it, upgrading it or dropping it.
Lea Alcantara: [Agrees]. Yeah.
Emily Lewis: But did you have any other sort of project management documents that you leaned on internally to help you with the process?
Ryan Masuga: We used Active Club pretty heavily.
Emily Lewis: [Agrees]
Ryan Masuga: Because we had a whole project there with tasks divided up between Jacob and myself, but a lot of it was me doing it because there were just SQL stuff going on and that’s more of my wheelhouse.
Lea Alcantara: So do you think for a complicated EE1 to EE2 upgrade, if you don’t know MySQL, you better learn now?
Ryan Masuga: If you are doing a complicated one, you may want to have somebody on call that can help you out because there are going to be errors that crop up. I was looking through Devot:ee forums. I was looking through EE forums.
Lea Alcantara: [Agrees]
Ryan Masuga: I was looking through Wikis. I was looking through bug trackers. I don’t think there is anything I didn’t hit in our upgrade process with any group of information that exists out there that I didn’t touch on at least once because something came up.
Lea Alcantara: So you did mention earlier on that you tested everything locally. You tested it, it worked and then it went into the development semi-live. I remember you tweeting that, “Okay, everything worked locally, but now things fudged up live like what…
Emily Lewis: Did you say fudged? [Laughs]
Lea Alcantara: Yes, I said fudged. [Laughs]
Ryan Masuga: [Laughs]
Emily Lewis: I bet Ryan didn’t say fudged. [Laughs]
Ryan Masuga: [Laughs]
Lea Alcantara: [Laughs]
Ryan Masuga: Yeah.
Lea Alcantara: But like in those terms, what happened wrong once it started going semi-live?
Ryan Masuga: Well, one thing I ran into was DST issues, which are the bane of my existence.
Lea Alcantara: Okay, yeah, yeah.
Ryan Masuga: Because the live server, where we put the dev site, was different obviously than my local machine.
Lea Alcantara: Yes.
Ryan Masuga: So there were different DST issues that we had there, so I mean I was reading up on DST, all that config variables you can set.
Lea Alcantara: [Whispers inaudibly]
Ryan Masuga: I realized all my sales reports were off. I think actually EE2 is doing DST a little differently than EE1, if I’m not mistaken, with how it was calculating it.
Lea Alcantara: [Agrees]
Ryan Masuga: Because it turns out EE1 was wrong.
Lea Alcantara: [Laughs]
Ryan Masuga: [Laughs] as you know.
Lea Alcantara: Sure.
Ryan Masuga: There were all kinds of just stuff like that, and when my sales reports were off, I get crazy mad.
Lea Alcantara: Sure, sure.
Ryan Masuga: Because if I look back at something from July of last year, I always want to see the same number. Like there is no reason that should change.
Lea Alcantara: Sure.
Ryan Masuga: And I’m even seeing that now. I just saw that last week like my numbers from a few months are off because you’ve got orders in like the last hour of the day, but that’s a whole different thing. But anyway, so we were running into DST issues when it went out there, so I had to kind of come to a happy medium and realize that my local machine should be wrong in order for the live server to be right.
Lea Alcantara: Oh, okay. So you had to actually fudge up [Laughs]…
Ryan Masuga: Kind of.
Lea Alcantara: The DST settings in the local server then you sync that to the dev.
Ryan Masuga: You see, because we’ve got a lot of custom queries in all of the report areas.
Lea Alcantara: Okay.
Ryan Masuga: And the custom queries don’t always match channel entry’s loops because you are not doing what a channel entry’s loop is doing for the DST conversions.
Lea Alcantara: Yeah.
Ryan Masuga: So I had to rip that stuff out of the channel module and replicated those lines. If you are not doing any hardcore sales reporting, don’t worry about that so much. But some people are really uber conscious about the posting date of their blog posts and stuff, so that might be something that you need to look at after an EE1 to EE2 upgrade is to make sure dates are kind of behaving the way you expect them to.
Lea Alcantara: Yeah, absolutely. I know that there are a lot of ExpressionEngine sites out there that have event-related calendar event stuff or signing up for things based on dates, so that’s definitely something to keep in mind.
Ryan Masuga: Yeah.
Lea Alcantara: Were there anything else besides the DST issue when you started, “Okay, if things are finally working locally, now there are some stuff in the dev now the DST stuff is fixed.” Where there anything else like from that transfer that kind of went wonky?
Ryan Masuga: I think at that point we were probably good to go. There might have been some .htaccess differences from the Engine Hosting environment locally which was pretty easily solved.
Lea Alcantara: [Agrees]
Ryan Masuga: So then it was like, “Okay, we’ve been doing this for two or three months. Now, we have to capture all of the stuff that went into the site since we started this process.”
Lea Alcantara: Sure.
Ryan Masuga: So we basically had to do the whole thing over again to get a new EE2 table that had all our latest and all the stuff in the Matrix table, anything on the Playa table, comments, et cetera, new members, you name it, and we had to take all those people and kind of merged them into the database that we had.
Lea Alcantara: [Agrees]
Ryan Masuga: I was expecting this to take a few hours because I had an entire checklist of everything we had to do again for our final sweep of data.
Lea Alcantara: [Agrees]
Ryan Masuga: I had the 20-point checklist.
Lea Alcantara: [Agrees]
Ryan Masuga: And so I was going to turn off the site, run through this 20-point checklist, which I had already done a dry run of so I knew I could do this within a couple of hours and we ended up being down through the entire weekend.
Lea Alcantara: Yeah.
Ryan Masuga: And at this point, I don’t even remember why, but then people are tweeting at me like, “Why didn’t you plan this out? Blah, blah, blah.”
Emily Lewis: [Laughs]
Lea Alcantara: Yeah.
Ryan Masuga: Geez, I did. I even did a dry run and when you go to do it for real, stuff might happens.
Lea Alcantara: Sure.
Ryan Masuga: So we finally ended up doing and getting through all those points and being able to turn the site back on, and at that point, that’s when we started the other gotcha of some things with safes, so add-on developers can update their own stuff.
Lea Alcantara: Yeah.
Ryan Masuga: There were new checks in place so that people couldn’t put iframes in there to post videos and their own posts.
Lea Alcantara: Sure. Yeah.
Ryan Masuga: We were having all kinds of trouble with SafeCracker file. People couldn’t upload their new add-ons because there are XXX checks in place there that didn’t exist before or something like that.
Lea Alcantara: Sure.
Ryan Masuga: I wouldn’t have been able to figure out any of that stuff if Derek Jones hadn’t helped us out directly.
Lea Alcantara: Cool.
Emily Lewis: Now…
Ryan Masuga: I might have, but I might still be figuring it out today.
Lea Alcantara: [Laughs]
Ryan Masuga: Let’s put it that way.
Emily Lewis: So I mean, you say it was worth it in order to have the functionality and the experience that you were able to offer now. But it sounded like it was a rough upgrade, but not all upgrades really are that rough. I mean, Lea, you’ve done one from a 1.7.1 site, right?
Lea Alcantara: Yeah, actually, it was 1.6.9, I believe, and then we went to EE2 and it was actually like early on like when EE2 like got released and we just wanted to jump right on it, and instead of the upgrade process for our site, I decided to just start from scratch and just do an import. And the reason why I did that is when the site first came up, I actually inherited the site, so there was a bunch of setup that I wouldn’t have done it that way and all those kinds of things, so when I decided, “Okay, I’m going to start from scratch,” they gave me an opportunity to really clean up the system. Also, because like when the site first came up, there was a lot of testing of different add-ons, but then they weren’t deleted even though we don’t use them. So starting from scratch is to like really, really clean for me and we did use a lot of add-ons, but I think a lot of the issues for some people’s EE1 to EE2 upgrade is that if the add-ons deal with custom fields.
Emily Lewis: [Agrees]
Lea Alcantara: With the file thing and all that kind of stuff.
Ryan Masuga: Oh yeah.
Lea Alcantara: Yeah. So we didn’t really have that. I didn’t have like complicated Playa. We actually did use normal just relationships and it wasn’t a huge table and all those kind of things. So for me, starting from scratch, it was a long process, but it wasn’t….
Emily Lewis: About how long?
Lea Alcantara: I don’t know. I don’t remember from the top of my head, but I think it was like three months, I think.
Emily Lewis: [Agrees]
Lea Alcantara: So it was long, but it was mostly because I was like documenting everything in the current install and then they still had me.
Ryan Masuga: [Agrees]
Lea Alcantara: Well, because with this particular client, they still needed to use the site, so there were stuff that I still needed to update the site and do that stuff while I was still planning the upgrade, so I think it went a little longer than it could have gone, but it’s just me trying to figure out, “Well, what’s the proper naming convention from now on,” and all that fun stuff like it was a brand new site.
Emily Lewis: [Agrees]
Lea Alcantara: So because of that, we didn’t have too many complications. It really was a straightforward export to XML file, import via DataGrab. The only thing that kind of sucked really was the gallery because we were using EE1 gallery, and so at that time, I believe that DevDemon didn’t have channel images at that time and so I pretty much had to export the gallery into a channel. So currently my client, unfortunately, right now and we just don’t have the time to port things, she’s still like uploading one image at a time per channel entry.
Ryan Masuga: I…
Lea Alcantara: Yeah.
Ryan Masuga: Yeah, we did that, too. We had an EE1 site last year that we upgraded to 2 and they may have use of the gallery module.
Lea Alcantara: [Agrees]
Ryan Masuga: Because I think I built that back in ’06 and that’s like what was available.
Lea Alcantara: Sure, yes.
Ryan Masuga: So we ended up wanting to put them in a Matrix, so I kind of wrote a couple of scripts that converted the gallery entries into matrix rows and entries.
Lea Alcantara: Yeah.
Ryan Masuga: It’s a little tedious, but man, it’s so much nicer now than having to do that one photo per entry thing that you are talking about.
Lea Alcantara: Yeah.
Ryan Masuga: But yeah, it was kind of weird that there was no upgrade, but if you are going to kill a module and not to offer an upgrade process for that, you kind of lose some people out, and like you mentioned earlier, you kind of have to know MySQL at that point, too, to effectively convert that into something else, unless you are just going to straight up bring it over as channel entries.
Lea Alcantara: Yeah. Right now, I’m at that point where my clients are like, “You know, it would be nice if I can batch upload now.” Now that channel images were there, it’s now me trying to figure out, “Well, how do I export the current information and import that into something like channel images.” But at that same time maybe I’m wondering, “Well, maybe I can just leave it as is for that particular gallery.”
Ryan Masuga: [Laughs]
Lea Alcantara: And then just tell them, “From now on, just use this.”
Ryan Masuga: Right.
Lea Alcantara: And you can have some features for this and then this will be your legacy gallery. I’m pretty fortunate though that like my clients aren’t freaking out about this because if you’ve got a client who is like, “This has to happen,” then I would have had to get some help with the MySQL and importing now all that fun stuff, but I think that was the biggest thing for this particular client that I had to deal with, and it was the gallery because figuring out how to export that and import that back into channel entries which works and everything showed up, but user experience is pretty poor with the one entry and stuff like that.
Ryan Masuga: [Agrees]
Lea Alcantara: And then there is also the really simple with some of my smaller clients where they just have mostly pages like there is just like static pages. They didn’t have any like really super custom stuff. It’s just like almost like a brochureware site which is information. So you just run the upgrade script and you are done.
Emily Lewis: Yeah, that’s exactly…
Ryan Masuga: Right.
Emily Lewis: That’s pretty much my only experience with upgrading because the only sites I’ve personally upgraded are my own personal sites, my blog and my freelance business site which is nothing more than a brochure site really. And yet, the upgrade process is pretty much straightforward, although I have to admit I get nervous every time I do an upgrade. I mean, this has nothing to do with EE2. I felt this way whenever I did an upgrade in EE1. Just because there are so many steps and I always am having to check myself to make sure I’m literally following everything. I do wish that it was possible to have like a one-click upgrade.
Lea Alcantara: Yeah.
Ryan Masuga: Yeah, I think a lot of people feel that way. I mean, we are just finishing up this rebuilt we just did and when we started the rebuild, I think EE2.2 is what it’s on.
Lea Alcantara: Yeah.
Ryan Masuga: And now every time I log into the control panel, I see the call to action for security update for EE2.3 and I just kind of don’t want to do it.
Emily Lewis: That’s exactly what I’m feeling.
Lea Alcantara: Yeah, yeah. Well…
Ryan Masuga: I really don’t want to go through all those steps and it’s like, “Man, we just got this working. Now, I don’t know if the add-ons are going to work with EE2.3.”
Emily Lewis: [Laughs]
Lea Alcantara: Yeah.
Ryan Masuga: It’s like, “Do I really want to do that?”
Lea Alcantara: I mean, I think one of the biggest things, too, is that even if EE2, ExpressionEngine people get everything upgraded and it’s fabulous and all that kind of stuff, we still have to wait for our third-party add-on developers to test it out and make sure it works with their add-ons.
Ryan Masuga: Yeah.
Lea Alcantara: And it’s not just one add-on developer. We have to wait for all of them before we decide to upgrade.
Ryan Masuga: Right. And as we’ve had that experience before where we were at the certain point. It might have been EE1.6.5 or something like that back in the one branch days where they also made a change that affected a number of add-ons.
Lea Alcantara: Yeah.
Ryan Masuga: And people just went and upgraded it and then all these add-ons were broken.
Lea Alcantara: [Agrees]
Ryan Masuga: And I don’t ever want to have that happen again. So it’s kind of scary in a little way to have these new versions come out and just not quite know if the third-party add-on devs are going to be affected in a way that they are not aware of yet.
Emily Lewis: [Agrees]
Lea Alcantara: So do you wait? Do you sit and wait and see?
Ryan Masuga: Oh yeah.
Lea Alcantara: Do you go on Twitter and complain first and then do an upgrade?
Emily Lewis: [Laughs]
Ryan Masuga: Yeah. Yeah. I’m not an early adaptor when it comes to new EE releases.
Emily Lewis: [Agrees]
Ryan Masuga: I’ll go to the one that came out eight weeks before. I’ll wait until EE2.4 comes out and then I’ll work on installing 2.3. Do you what I mean?
Lea Alcantara: Yeah.
Emily Lewis: Yeah.
Ryan Masuga: It’s just like let it be in the wild a little bit. Let some of these crazy people install it and work out those bugs.
Lea Alcantara: [Agrees]
Ryan Masuga: And then I’ll get on board.
Lea Alcantara: Yeah. And we have to say that if you ever tried to upgrade stuff, don’t try to upgrade several sites at once like do one of your simpler site’s upgrades and see what happens because I did just recently upgrade to one of my clients from EE2. They are already on an EE2 branch and to the latest EE2 and apparently, they changed the URI protocol and that totally, totally wrecked some of my redirects and htaccess which was strange, which was really strange, but all I had to do was change something in the config file.
Ryan Masuga: Okay.
Lea Alcantara: But it took forever to figure it out.
Ryan Masuga: Right.
Emily Lewis: Right.
Lea Alcantara: And I wasn’t sure if it was me because I was wondering, “How in the world does an upgrade to EE affect the htaccess when this was working in the previous version?” But apparently, it did because it changed. They did change the URI protocol, the default protocol that they were calling or whatever.
Ryan Masuga: Yeah.
Lea Alcantara: So I actually had to change a config thing to make it work again. So it always feels like a little bit of a risk.
Ryan Masuga: Oh yeah.
Lea Alcantara: And on top of that, there is, and we didn’t mention this, multi-site manager.
Emily Lewis: [Agrees]
Lea Alcantara: Have you ever had to deal with…
Ryan Masuga: Oh…
Lea Alcantara: [Laughs]. Ever had to deal with upgrading?
Ryan Masuga: Yeah, I don’t go there.
Lea Alcantara: No?
Ryan Masuga: That doesn’t exist to me. I will not touch multi-site management.
Lea Alcantara: Interesting.
Emily Lewis: Yeah, my…
Ryan Masuga: I do not like the thought of it.
Lea Alcantara: [Laughs]. Sure.
Ryan Masuga: If you’ve got ten sites running off this thing, if your DB goes down, you’ve got ten sites that are down at the same time. It’s like it just doesn’t make any sense to me to do that. It just seems like an unnecessary…
Emily Lewis: We used it a lot when I worked at Pitney Bowes.
Ryan Masuga: I could go off…
Emily Lewis: They relied on it heavily and what you just said is a major concern in that situation because all of their office sites are running off of one system. When one system goes down, they all go down.
Ryan Masuga: I just don’t understand it, and it seems like when you talk about… I’ve looked into what percentage of complaining tweets on Twitter. It contains some reference to MSM. I saw a couple just not a day ago.
Lea Alcantara: [Agrees]
Ryan Masuga: Oh, if this particular thing doesn’t work with MSM, it’s like, man, that’s a headache I don’t need.
Emily Lewis: I use it for my personal sites. I have three sites running off of a multiple site manager installed, and I’m very, very pleased with it. However, for the same way that my upgrade went simply, my sites are simple. There isn’t a lot complicated about them. I’m not a heavy add-on user. So for my personal sites, the multiple site manager is fine, and speaking of which the upgrade process for me, for anything bigger or larger, it definitely can become more complicated.
Ryan Masuga: [Agrees]
Lea Alcantara: [Agrees]. Yeah, and I would say that actually my largest client, which is the one that I upgraded to EE1 to EE2, also uses their giant sites on multi-site manager, but only two of them. The two of them they share. They are like cousins, I guess. They both belong to the same umbrella, so that’s part of the reason why we installed both on the same system. But as you mentioned, for example, when I did that upgrade to the latest version and the URI protocol changed, both sites had issues.
Emily Lewis: [Agrees]
Lea Alcantara: And I had to email both sides, both client admins from both sides, to say, “Okay, both things are broken, [laughs] don’t try to do anything. Don’t panic. I’ll fix it.” But yeah, it double the issues but when there is no issues, it’s not too much of a big deal and I don’t know if I would prefer having two separate ExpressionEngine installs unless they both have like separately large traffic to deal with.
Ryan Masuga: [Agrees]
Lea Alcantara: Because again, it’s like a double-edged sword. Like you said, if things go wrong, then they are both in trouble. But when things are fine, then you just had to upgrade one system.
Emily Lewis: [Agrees]
Ryan Masuga: [Agrees]
Lea Alcantara: You didn’t have to upgrade, and considering I know with all of us, it’s a time-consuming process to upgrade ExpressionEngine even when it’s a simple site. It’s just time-consuming. So having to just do it once as opposed to two, three, four, or five times is something to consider.
Ryan Masuga: Right.
Emily Lewis: I’m just curious based on both of your own experiences since you’ve dealt with big websites, I think, that might have in terms of upgrading. Do you think there is anything that EllisLab could be doing to make just the upgrade process itself better or smoother? I mean, even with something like… well, I mean, obviously, one click sounds like it would work, like it’s simple, but it can’t be. Otherwise, they would be doing it.
Ryan Masuga: [Laughs]
Lea Alcantara: [Laughs]
Emily Lewis: But even just documentation, there are times like I am constantly feeling that their documentation lacks something, like I missed something one line somewhere.
Ryan Masuga: [Agrees]
Emily Lewis: Either of you have any opinions about some way it could improve?
Ryan Masuga: Well, I personally don’t like the idea of one click. I can see where a lot of people would, but I like to have a little control with what I’m doing. So even a three-step upgrade process would be better than what they have now.
Lea Alcantara: [Agrees]
Ryan Masuga: And I don’t necessarily need to go down to one.
Lea Alcantara: Yeah.
Ryan Masuga: Because I don’t know what one click is doing for me.
Lea Alcantara: Yeah.
Emily Lewis: Yeah.
Ryan Masuga: So I mean, they did make a big effort in the EE2 to move third-party things to third-party folders, which is fantastic.
Lea Alcantara: Yeah.
Ryan Masuga: I think that could be taken further still and just aggravated all in one third-party folders somewhere. I don’t know why it needs to be. I don’t necessarily know enough about it to know why there still needs to be a third-party folder in themes and then a third-party folder in there. Just put it all in one place, so I can just move that folder out of my install upgrade.
Lea Alcantara: Yeah.
Emily Lewis: [Agrees]
Ryan Masuga: Move it back. Whatever they can do to make it easier, just consolidate the third-party stuff and get it out of the system folder. I think there is a feature request and then Jacob has a feature request to like set the path of the third-party folders. We could actually keep it out of the EE install.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Lea Alcantara: Yeah, I think that’s a good one.
Ryan Masuga: So we are don’t even have to do that, we don’t even have to bother moving it, then. Whether or not they implement one click, I think heard a rumor that they are working on that or they’d like to implement it. I think that would be great for a number of people, but when you are dealing with certain clients that have multiple environments and staging servers and a lot of the red tape of an IT department and stuff, I don’t think one click really is going to matter that much because you are just going to do it locally anyway and you have to push it out to your repo and then deploy it. So I don’t know how much you are really saving there because you are not necessarily knowing what it’s doing.
Lea Alcantara: Yeah.
Ryan Masuga: Anyone who is going to be doing that that has a lot of control of the environment is probably going to getting the files anyway to see exactly what changes have been made from the previous version.
Lea Alcantara: Yeah.
Ryan Masuga: So that might be a nice option. Maybe, hey, one click install or do this.
Emily Lewis: Yeah, to choose.
Lea Alcantara: Yeah.
Ryan Masuga: Yeah.
Lea Alcantara: Yeah, for sure. I think, I mean, again, this is kind of like the double-edged sword of ExpressionEngine is because it’s so customizable. If we, all three of us, were given the same project. We would attack it all differently.
Emily Lewis: [Agrees]
Ryan Masuga: [Agrees]
Lea Alcantara: And we would probably use slightly different add-ons or slightly different naming conventions or slightly different whatever, and because of that, it makes it not as predictable to figure out like what was customized, what was not and I don’t know what kind of expectation, realistic expectation, we need to give EllisLab to automate all of this.
Emily Lewis: [Agrees]
Lea Alcantara: Like they need to figure out like, well, what is common through everything.
Ryan Masuga: Right.
Lea Alcantara: But then the issue is always third-party add-ons for me because like even…
Ryan Masuga: And even first party, I mean.
Lea Alcantara: Sure.
Ryan Masuga: Because typically when you update an install, you have to update the form as well.
Lea Alcantara: Yeah.
Emily Lewis: [Agrees]
Lea Alcantara: Yeah.
Ryan Masuga: But not everyone has the form installed, so it’s writing a whole check in there for that. It’s just seems like it could be a monumental task to write some sort of one-click updater.
Lea Alcantara: All right. So I mean, I think we are at the end of our episode here. Do you have any final pieces of advice for our listeners who want to upgrade from EE1 to EE2?
Ryan Masuga: Listen to your client and determine what your project’s needs are, and if it isn’t broken, don’t fix it. Unless you are starving for work and you really want to stay busy, you could offer that up to your clients. But beware that there are some caveats and gotchas with lots of banned IPs and site settings, DST issues, and I would strongly advise making an inventory of all the add-ons installed so that you know what you are going to do, exactly what you are going to do with each one of those, and whether they can just do a straight upgrade or whether it’s going to really kind of change with that on use, whether you can drop it or whether you are going to convert to something else. That way you have a real targeted list and you know exactly what you are going to have to do because I think the third-party add-on upgrade, aspect of an upgrade, is the most time consuming.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Lea Alcantara: Well, thanks so much, Ryan, for joining us and talking with us through your EE1 to EE2 journey.
Ryan Masuga: You bet. Thanks for having me.
Emily Lewis: Yeah, and in case anyone wants to follow up with you, where they can find you online?
Ryan Masuga: Where can’t they find me online?
Emily Lewis: [Laughs]
Ryan Masuga: You can google Masuga or you can hit me on Twitter @masuga or @devot_ee. That’s where I’m lurking out on most days watching, waiting.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Ryan Masuga: I like to make a quick, little like announcement if I could.
Lea Alcantara: Sure.
Emily Lewis: Please.
Ryan Masuga: Devot:ee is working on a sort of a new initiative where we are going to be able to update people when certain add-ons have been updated. I’m not going to go into the ton of details.
Emily Lewis: It’s like if you’ve subscribed to it and you get notified when it’s updated so you could update it yourself?
Ryan Masuga: Well, we are making an add-on. Let’s put it that way.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Ryan Masuga: So what I would like to encourage developers to do, if they could, is we’ve added a new field to the submission form and the add-on edit form called Package Name, which is basically just going to be the name of the folder that goes in the third-party system for an EE install. So every EE, what we are trying to do is get all 780-plus EE2 add-ons to have their package name added because a lot of times that doesn’t necessarily match the URL title or the name of the add-on itself.
Lea Alcantara: Right.
Ryan Masuga: So if we have the Package Name, we can kind of go off to the races. We are going to try and populate some of those ourselves, but the fields are in there now, so if you are in there editing your add-on and you want to just fill out that field for us, that would be great. There are some instructions on it explaining it’s a beta and kind of explaining what it’s for, but we will have more information later this month on exactly how that’s going to be used.
Emily Lewis: Oh, thanks.
Lea Alcantara: Oh, very cool. That will probably help with some of the upgrade process, hopefully.
Ryan Masuga: Yeah. I think it’s pretty cool.
Lea Alcantara: It’s very cool. [Music starts] All right, so now we would like to thank our sponsors for this podcast, Focus Lab and Pixel & Tonic.
Emily Lewis: And we would also like to thank our partners, EllisLab, EngineHosting and Devot:ee.
Lea Alcantara: And thanks to our listeners for tuning in. If you want to know more about the podcast, make sure you follow us on Twitter @eepodcast or visit our website at ee-podcast.com.
Emily Lewis: And don’t forget to tune in next time when we will have our year end review. That will be Thursday, December 22nd. Be sure to check out our schedule on our site, ee-podcast.com/schedule. We’ve got some fantastic topics lined up for 2012
Lea Alcantara: This is Lea Alcantara.
Emily Lewis: And Emily Lewis.
Lea Alcantara: Signing off for the ExpressionEngine Podcast. See you next time.
Emily Lewis: Cheers.