Matthew Saunders: Well, good afternoon everybody. Thank you all for coming to this late session. It is nice to see that there are faces here. We’re going to do a presentation on pregnancy.org, a showcase on a very early triple six site. And the challenge is that existed in terms of doing a site in triple six that early on the release cycle.
So the first thing I wanted to do is introduce ourselves who’s on stage so to speak. I’m Matthew Saunders. I’m the Senior Web Producer at ping Vision and what you’ll see is that I put down our various handles for different sites and systems. Directly to my left is Mollie Bauer, she is the owner and founder of Pregnancy.org, and to the left of Mollie is Ben Jeavons who is the technical lead on the project.
And the audience is a variety of other people from ping Vision if you all could put up your hands. There’s kind of the virtual additional team and spirit up on stage.
So I thought the first thing I would is talk a little bit about how we set up our teams and how that fit in to Pregnancy.org. What you’ll see is that there are two bubbles in the middle. The ping Vision web producer in this case myself and the ping Vision team lead which is Ben, and I’m afraid you can’t really see the arrows on this very well, but basically the producer and the team lead interface directly with the client in this case. Mollie and Mollie also can interface with the client’s foresight, which is in Drupal that site, interfaces with unsubtle which is the ticket system that we used for managing our project, managing our time.
And then our Development team interfaces with both unsubtle and with Ben and I and of course then Mollie was interfacing with her own team. And what we’d like to do is try to keep our teams rather the communications sort of central to one or two people at ping Vision and one or two people in our client’s offices.
So what we’re going to do in this presentation is we’re going to focus on some of the more unique aspects of the site and the challenges rather than go through each and every detail of how we use CCK and what not. That’s all available on Drupal.org node 388, 112 right now it’s on the Drupal homepage Drupal.org homepage, but you can take a look at the case study there and get additional details.
So I thought that what I would do is to pass over to Mollie who is going to talk a little bit about the history of Pregnancy.org prior to her coming to us.
Mollie Bauer: Hi, everybody those coming in please have a seat. Pregnancy.org was about six years old. We were suffering from the typical growing pains of an internet company while trying to remain the block and profitable. Actually without taking any venture capital of money, which we still, haven’t done. The website started out as a PHP new site we reaped out all the guts of it, so that we can create a non-templated looking website, adding greater flexibility and usability and back in which just a mess.
So, after surviving a recent hacking attempt in 2002 where they tried to take over our server’s for spam servers, we lost a lot of the key functionality and gateway technology such as Universal Log in, retaining member on the areas like our tools, so we were again, a mess.
So in a later half of 2007 I have one of my staff researched the different options for content magnet system, something that we desperately needed, and we look at still item and article and vignette and other options that were out there. They not only didn’t meet our goals or needs, but were out of our price range as well.
And then Julie ping Vision to our surprise then it looked like they would be able to handle everything for our overhaul. And one of the things that we are really impressed by ping they are like us they were small in size. Their dedication and integrity and work ethic were really substantial. How we also like that their started by two women as Pregnancy.org is an all woman company as well.
We had to have a complete overhaul of both the back end and the front end of the website of the whole architecture and everything needed to be redone, layout, navigation, colors, logos and more. It was a huge project and we warned the ping, “Are you sure you’ve to be able to taught us because it was huge.
But they were able to handle our huge amount of challenges and we are extremely pleased with the end results. I personally recommended about seven clients to ping because of this fantastic work that they’ve done for us and, so that’s it.
Ben Jeavons: So if you look at the case of the Drupal.org right now that kind of those lays out the overview of the site. But we rebuilt the important migration that we had to do from PHP Nuke and some of the custom modules that we wrote.
So I guess that the place of start is why we charged triple six at the time views I think was in like that. Views were in Beta this was like June of last year on CCK was in development release and panels were sort of not really even an option at the point. Most sites definitely used those at least. Panel is awesome for what we were coming up with in the design. We are looking at a lot of different sort of blocks in different regions, very customize like facet it’s almost like navigation that used in that way.
So panels looked like we’ve naturally used that, but not having that in such a sort of, then we were going to be doing some custom views. Were going to be doing some custom layouts, I think we were able to used views and CCK for short, then after grading any content types like via modules, but because views was I think in Beta and STEPI was changing very consistently. It means that we had to rule with every commit that earl may immense.
A lot of testing in a mental lot of I just watching the ICQ’s. The rule, a lot of other contrived modules identified like, custom mere, module we used, a lot of these. And in the summer of last year we’re not ready for SIPS, so I think we had at people on stuffing we I tried to lean on, those modules, contributing patches and doing reviews and trying to get those ready for SIPS.
So, thankfully and also we, the development cycle of this site was flaws in nine months, so at the end of end views I just made a stable released and a lot of controlled mileages has been released as well for SIPS.
So, one of the things that we had to do that there was a controlled module available for was the Add Delivery System. Mollie had instead used and this Universal you have for a while I think as their add server and with that company iVillage underneath and this Universal. So received from them explaining it’s a spreadsheet of tabs that we’re going to be feeding to the java script calls that we deliver the ads, so we had this mapping of page contents with a variety of ads and an absolute it’s called spreadsheet that we have to be mapped into a triple module, and that was fun.
So the way we really could use a contrived module have a way where the same blocks exists on different pages, but have unique content for each of those pages. So I created a module called PDS its Path to Data Store, and you can store arbitrary data and retrieved it an EPE calls in a block. So all the adds are custom blocks and I mixed calls to I’d been defying contents.
And a lot of contents depends on the taxonomy of in terms that or on the page, or the content type, anything that the Ad company wanted targeted to that page so as in the ads.
Male 1: —committed to seem right?
Ben Jeavons: Yes, and that module—.org I don’t have to release for you, but it’s there. So people and these other thing they have insisting forms running people attend. It was chosen to keep those forms, so we had to integrate Triple with that and thankfully, there’s a Triple degree vB module, and that one—the single sign you sign on. On Triple made that you made a quickie for people and it also does, integration where you can get to the most recent foreign posts, have those show up, but that was also wasn’t available for the set of that time, so I think we’re able to get that released. We have to do import not actually a form but tie the user accounts. So that was a bit process.
Male 2: How many user accounts did we have?
Ben Jeavons: We actually imported users from PHP Nuke and that was, I want to say a turned on 60,000 users.
Mollie Bauer: —on these people?
Ben Jeavons: Yes and there are also 177,000 instead, on people I think so. And then some of the custom tools on this site, there’s a basal body temperature-charting tool. There’s also a pregnancy calendar and a couple of these that we closed review, and some of those are done we just used module. But one’s like that basal body temperature training tool have to be completely remade because of the custom tool and the old site, so anything that we got on leverage from the community and that was the Google chart EPI module. It’s really cool. So Google you basically send it a bunch of parameters and it that request and it hands you back an image of the chart. So we used this to do a temperature charting for a day. So this data is from mind and testing a little while ago.
Mollie Bauer: You—.
Ben Jeavons: Yes, you can see that I stopped recording that, it has a little perhaps the month and so it just sort declines from there the temperature, but this is pooled I mean this is just a screen sort of I think right now, but if you‘re the—used it it’s different from Google not just the chart module I think on a Drupal.org.
Male 3: What were the challenges on that?
Ben Jeavons: The challenges on that one was understanding the format that, that you had to get the data into because Google charts is like a zero to 100 still and each way so transferring data from light temperature into that didn’t map that legally.
Male 4: What were the original tools that make that you worked from?
Mollie Bauer: Are they written in scribbles?
Ben Jeavons: So that where Matthew has asked was original, tools were written and some Mollie said see in pearl, but yes. And so the other piece was migrating and importing from PHP Nuke. So as Mollie talked about PHP Nuke that had been reached apart. All of the articles that we imported were just static PHP files, so developed a script to just pulling the file pull out the content with I think riddle expressions and then create a node from that.
As the other end users, we didn’t pull anything actually from the PHP Nuke database, and so a module is written that’s on in CVS at least that has a released our project node. But that does import via chrome it such a table and reads from year olds so in this case the old source was static PHP files, and then creates a node from that. And w imported I want to say 6,000 nodes. There are tons of articles.
Mollie Bauer: Was—like Q and A?
Ben Jeavons: Yes, there are about 3,000 articles and then some blogs in the old system, which were the static PHP files and then some—.
Mollie Bauer: I want to talk with the method used in it.
Ben Jeavons: That’s right, yes so you just have to remind me about the manuals adding. So what we did was Mollie and her team put together a mapping of the old kind of Taxonomy terms that will define the old content and then during the imported match ideas that this PHP files were just a number that PHP, so we mapped those into Taxonomy terms that their were added to the node.
Female 1: Were there comparability with issues or anything that you faced with the data, how the PHP Nuke?
Ben Jeavons: There were comparability issues I think because it came from just a static files. There were pieces where characters will be encoded have to remap those. The users do a lot of PHP Nuke the way that the users store sort in the table. There is no consistent usage of PHP profiles, fields and values, so pulling out the city, state and country might be you know when user might have state and the other might have city and country, so there’s now easy way to map that. So a lot of that data just unfortunately got lost.
Female 2: Were there passwords?
Ben Jeavons: Passwords, that’s a great questions, so what we did was pretty much this require uses resetting the password because PHP Nuke sort them, they did into an empty file I forgot which other they used to hack those, but so users have to reset their passwords. Which actually are work well because by means of that they also got set up between people that’s in that connection was supposed to be created then?
Matthew Saunders: One of the other challenges there, have to do it with user names which we’re still working through a little bit, but the user names in PHP Nuke will allow characters that are allowed in user names and dribble, so that’s a challenge that were still wrestling with a little bit.
So actually that was a good segway into additional questions.
Male 5: Give further a little bit more detail, how do import—sure kind of possible—right now.
Ben Jeavons: Well, actually the developer her that Kevin that actually wrote that script. I believe you did just are the node save I mean you don’t do any mirroring of the form submit options.
Male 6: Are the imported—is that on Drupal.org is it’s project last report is Kevin did the CPS which were—what it is, is it just to—how can the chrome. Those new process each of the in this case flat files you went through and build out the nodes just really simple created and I just created tiles, basic information tiles easy gauge it feels good—nothing and Mollie did laid out, put the text together and then basically just been a node save recommended the data base. It’s a very, very simple system, but it is—for down load at—we get it.
Ben Jeavons: Thanks. Yes sir.
Male 7: My question was, what’s your—how do you that to your oldest project?
Mollie Bauer: Well we have two web servers that are little balance and we have one database that takes care of both of those two. We are co-located at the facility that’s in California managed servers, so I don’t have to deal with the tech side of things. And what was your third question?
Male 7: ECO.
Mollie Bauer: ECO was taking care of two Drupal I believe, right?
Matthew Saunders: Yes, we used for the standard cocktail I believe. We’ve got an xml site map going on in there. We used path photo and did we used a node words?
Ben Jeavons: No boards.
Matthew Saunders: Node words as well, and let the Drupal do what Drupal does well.
Mollie Bauer: And fill apart.
Ben Jeavons: And another detail about the site is the files directory is a manifest mountain. Actually from the data and servers so that we can handle files that are seen on both web servers and not having do synchronization between the two. So there’s a question back there?
Male 8: I watched this video on the site. I want the process it looks like it has a third party. I want the process which is done in the old site. How was that done with the old?
Mollie Bauer: No, right now we are actually building out a whole video library. My previous library went away, so we are actually using 5min.com which is a great new video that has great partnerships, and it’s very flexible. One of the things I want to do with their phase two, phase three is be able to kind of host this on RNN, but right now that is just not feasible, so the video that’s on there now is third party. But what’s built into Drupal is there’s embedding link and I feel that’s in any article or blog or even product review it can do.
We had —if you can pull out maybe the website. So those videos that appears on some of the landing pages. We can also put an individual video via the same people using and embed our widget and individual articles as well, so for example, if you scroll down— Matthew—that those videos. This is a typical article but we can go in and put a video—it’s not on that page, but we can put in a video if we want it too and then an individual article as well. But any of these it just pop up to see one of them. That just shows up and boom, there it is, so kind of cool.
Matthew Saunders: And if you got into bloggers, what—
Mollie Bauer: Yes, that’s all five-min.
Male 9: So that blog is—you’ve already?
Mollie Bauer: Correct.
Male 10: Okay.
Matthew Saunders: We’re just using Drupal internal RSSE. And I don’t think yes, we’re not doing any specific tracking of our subscribers and then per cussing, so we’re using the DrupalSaunder1page/, the Drupal sect block has since last aggregation. We also have men cast running on the server, running on the main cast module and then we added some staff today that is the access file to skip images and like an in flash anything those certain files outside of the files entry.
You will find a lot of four force in the labs from the images that when imported they will just hard coded in content and those images were specifically brought over. So by skipping those and not having Drupal bitch strap deserve that for four pages for images that Google has or something allowed us to increase a response to time a lot, so and there’s a question right behind you.
Male 11: So when you’re transitioning and doing what the old content was there a lot of embedded media like stuff that was hard coded in the content like image, preferences?
Ben Jeavons: Just images, yes no videos.
Male 12: So why, what’s wrong with that, was it just draft or was it coded over somehow?
Ben Jeavons: Yes, most of the images and I say most but not all render an images directly so were able to used the draft and into the files directly. And then were possible change, image hard coded image that links or at least dripped them out. If there any other content that it didn’t match there were cases where certain content would be recorded as a fail and we have to do it manually. We created as nodes, but other stuff which just draft because there are lots of marked up in those static PHP files so we just skipped. Back there.
Male 13: Do you believe that the rules that you set up and for content contributors and managers and that type of thing?
Ben Jeavons: So I believe but I don’t believe that there’s alternative role the ones that we created there’s an advent role, the advance and I contribute that role I believe. There might be a staff role as well.
Mollie Bauer: It’s what the expert.
Ben Jeavons: Yes, our expert, so the way that people can contribute I mean if you sign up for account you can automatically blog and use the tools to your account but you need when you need you know save certain data. That the tool uses when you do or the vB tool records the temperature data by that way, so experts has a role where they—certain people create and as alternative user you can ask questions to experts as they are call and there’s experts. I don’t know how many categories there are, but expert like for an example expert category might be in nutrition and fitness.
So Mollie and her team have some read on I guess did you know that. Yes, kind of write articles about that category. And so as an alternative user you can ask your questions to that person that creates—
Mollie Bauer: For example, ask Mr. Dad so if you click on Ask Mr. Dad that’s his specific role. Mr. Dad is an expert in the role that he has.
Ben Jeavons: And that role is experts.
Male 14: So that was a specific content internet access.
Ben Jeavons: It is yes, about simply like a question and answer content type. And it is actually, it is created by the alternative user and then using the actions when you submit the node and it’s altered to the expert that you’re asking the question and they are able to answer via the CCK field. Any other questions, or did I cover with that you had, all right.
Matthew Saunders: Alright, great.
Ben Jeavons: Well, thank you very much.
Mollie Bauer: Thank you for coming.
Transcription by:
Scribe4you Transcription Services