Part 1 – Site Organization
A member is building a website for her church library. This offers a good real world example of how to use Thesis and WordPress to construct a complex content management system (CMS). In this session we first discuss the desired end result. Next we talk about how to use posts, pages, categories, tags, custom post types, custom taxonomies and custom post meta to organize library type content.
Video Transcript
Rick: We are going to start off now on Part 1 of a new case study on Community Library. And the inspiration for this is Pam’s church library that she’s been working on and in fact, what I’d like to do is I’m just going to go over that. It’swww.mmlibrary.org and you can see how nice a job she’s done with her banner and her navigation and all those stuff. And so what we’re going to do now is we’re going to have a brief conversation with her about this and then we’re going to talk about how we can organize this. So Pam, I’m unmuting you there. Can you join us?
Pam: Yes, good evening Rick.
Rick: Good evening Pam. So in this intervening week, have you given some thought to how you would organize the information?
Pam: Yes. This might sound kind of odd but well, let me just back up and play. What I have in mind was on the 1st page, you’re seeing the rotating multimedia box where… I mean, feature box that’s showing our newest titles that I want people… I want them to you know, have their eyes pop by that. Then under that, I’m going to have a blog type thing of different subjects. Then up there under the Nav menu where it says browse, the 2nd from the left, I think I’m going to change that to catalog so I’d like to have people go somewhere else in order to browse the actual catalog. And my catalog is going to come in 2 forms.
There is going to be tables that are searchable for our entire collection but as I add new books, I’m going to be writing up a longer little feature of what’s the blurb on the cover, the thumbnail of the cover, and that kind of thing. And I envision that as looking somewhat similar to what you just showed on your community website where you’d have teasers that would say, “Okay here’s our newest non-fiction…” and some teasers of that “Here’s our newest fiction…” with a banner going across the top of the teasers, very much like that community website. So when people come to this catalog, there’d be a very attractive visual of the newest and then in the sidebar, I’d have links to you know, “See our entire fiction collection…” which would show everything, not just the ones that I’ve written below write up some. Does that make sense?
Rick: Yes, it does. And so how many different kinds of media do you have in the library?
Pam: Well, we have books, audiobooks, and DVDs. That’s the basic 3 kinds of media but I’m thinking of breaking it down more because we have books for children, both non-fiction and fiction. We have books for adults, fiction and non-fiction. We have reference books. So there’s more of a breakdown when you get into genres and age groups.
Rick: And so…okay, so that’s the collection. That’s indexing the collection. How many pieces of media do you have in the collection?
Pam: About 3500 right now and we’re adding…
Rick: Well so it’s going to be a sizeable task, putting each book in anyway.
Pam: Right, and that’s why I’m not planning to go back and retrospectively put every book in but I do have that all in a table form and then using a table plugin that can handle that and it’s searchable. So people will be able to click here to see you know, just the part of the table that’s fiction for instance. And then as we get new books, and we get about 20 books a month, as we get new books, then we’ll do the more larger write ups that are more interesting and more informative.
Rick: Well, so on an entirely another level of conversation, I think you know, we should probably discuss how to take your tabular data and turn it into posts because it’s entirely possible.
Pam: Okay.
Rick: It’s entirely possible to take the you know, an Excel spreadsheet and turn it into a post for each row on the spreadsheet.
Pam: That’s very interesting. I haven’t thought about that but I think that’s a good suggestion.
Rick: And because you probably more than title in each one of them, right? You probably have author and… what kind of data actually do you have on the spreadsheet?
Pam: I have an ISBN number, a call number which is where you can go in the library to find it, the author, the title. And I can enter some… I have you know, whether it’s a hardback or paperback. I’m also going to be adding some things that are just general topics like “this is about parenting” or “this is about this subject” or whatever. Let’s see, I have a summary field that gives more description of the book that I don’t have that for a lot of the books but I have that for some of them. And then the thing that tells what is it, is it a DVD or is it a book?
Rick: Yeah. I think we should have a conversation at some point in this process about how to take that spreadsheet and create a post for each book capturing all of that data in its appropriate location so that you actually only have one indexing system.
Pam: I think that’s great. Great idea.
Rick: Because probably, once we have it set up, we can probably create 3500 posts in a matter of minutes.
Pam: That sounds great. That’d be much more user friendly because that way, like you said, they’d go to one place and for instance, if they’re interested in fiction then they would see both the older fiction that doesn’t have as much information plus the newer that I’m having that would have a more complete post but still it will be all in one place and they could look up their favorite authors or whatever.
Rick: Right. Yeah, we should definitely…we’ll add that to our task list here in this process because actually, it’s a very… I think it’s an important part of this whole question of you know, making a WordPress website like this. An important part of that would be how you take existing data and use automation to incorporate that data into the site.
Pam: Yeah.
Rick: And so that’s going to be part of this whole process then.
Pam: Good.
Rick: Okay and so I made a little drawing here but I signed out. Hang on a second. Signing back out to that, close, sign back in to this other account. Yeah, I think I did quite Skype. Sign back in and then let’s see here, sign in. Okay, I’m signed back in. Okay, there we go. Okay so you know, when you start off this process, what you really need to start off with is a conversation or sort of an understanding of the different pieces of the puzzle and how they should fit together. And it’s taken me a while sort of… I mean, there’s something authoritative about what I’m saying here. You know, it’s taken me a while of thinking about how you would organize each of the different sort of organizational elements that WordPress gives us.
And I’ve come to these general conclusions that I’m going to share with you. I’m not suggesting that they’re absolutely you know, the only way to do it but I kind of… what I want to think about is a way of breaking up the site so that you have specific types of content and organizational structure for those types of content. And even organizational structure that you might not organize by. And so for a moment, if we just look at this blue section right here, this is your typical WordPress blog and WordPress blog has blog posts. Actually, I shouldn’t even have created a page. Let’s see, we’ll just… your typical WordPress post has… let’s just use this as a page. It has pages which are hierarchical in nature. That is, you can have pages and subpages and subpages in a hierarchy. So you’ve got parent pages and child pages and grandchild pages. You’ve got posts which are by definition, sequential. So the only organization they have in of themselves is an organization by post id and the latest post id gets displayed first. So essentially, the only level of organization they have is a sequential organization where… of the other.
However, since that’s not a very good system of organization, WordPress has 2 different taxonomies in organizing it. One taxonomy category is the categories taxonomy and the categories taxonomy is a hierarchical taxonomy. That is you can have a category and a subcategory and a subcategory and a subcategory ad infinitum. And it also has tags and tags don’t have… it’s nonhierarchical. That is tags are all on the same level.
And so generally, the way you think of how to organize posts is that every blog post should have a single category and every blog post could have a bunch of different tags. So, one category per post and multiple tags per post and this is the default or the general arrangement of a default installation of WordPress. Well, in our case, blog posts are still a specific kind of content and so you know, if you go back to the homepage here you know, she’s got a blog post here – “Heard any good books lately?”, right? This is a blog post and you pretty much want to retain the ability to have blog posts. But what we want to do then is we want to use this sequential plus hierarchical and nonhierarchical organization for the rest of the kinds of content. And so what we’re going to do is we are going to use custom post types for different types of content. And so blog posts are going to stay blog post type or it’s actually a post post type.
Book reviews are a special kind of content and book reviews will be their own post type and books will be their own post type. And actually, you know, books is probably not a good… it probably should be media really instead of books because the way in which the information is displayed that is, the way in which a library user gets their information isn’t particularly important to the organizing of this. And so we’ll probably organize books, DVDs, and CDs or audio books and perhaps, magazines and you know, who knows, somewhere down the road, photo collections and you know, maybe film strip collections. I mean, I don’t really know all the different types of media the library deals with but each of those kinds of media is in it of itself is something that needs to be indexed. And so rather than calling it books, we’re going to call it media. And then it seems to me, and this is where I’m going to turn your microphone back on in a moment Pam, but it seems to me that this is a place where you will organize books or you would organize media and book reviews in a very similar fashion.
So it seems like genre, whether it’s fiction, nonfiction, reference, historical, theological you know, self-improvement, family, whatever the… well actually, for a moment there I was mixing those. Yeah, I’ll go back to genre for a second. Genre strikes me as being hierarchical and so that’s what we’re talking about actually ‘coz maybe genre isn’t hierarchical. Maybe subject is hierarchical and genre isn’t. But anyway, I made genre hierarchical and then author… there’s not going to be any hierarchy in author. It’s just going to have the author’s name.
You know, it seems to me that if you look at a listing of a book, it can actually have a number of subjects listed so it seems like a single category isn’t good for a subject. And so I made subject a tag, a nonhierarchical descriptive element and then audience as again, nonhierarchical whether it’s you know, adult or children or you know, young adults or however many ways you might categorize this. I can see you organizing media and book reviews by these kinds of things and searching for you know, all of the books of a given genre and a given audience or all of the book reviews or whatever. And so I see these as being your main organizational units. But then you have this other data that you want to capture, that you want to search for but that you don’t necessarily want to organize the media around. And that’s things like publisher, publish date, maybe number of pages, maybe it’s hardback, maybe it’s…actually, we definitely want to take one of these things and make it to actual media type. So we’ll stick that over here for a second and call it media type. And in the media type, we would have you know, CDs, DVDs, a book, magazine.
And again, these will undoubtedly be one of the main organizational units so you may want to list all of the DVDs that are for children or whatever. And I see Pam is suggesting another… ISBN number as something that could go here too and I think that’s probably right. And what these purple elements are is these are not ordinary WordPress organizational elements. These are custom post meta pieces of data and we can still search for you know, a book by its ISBN number even if it’s not a tag or a category. If it’s just a piece of post meta, we can still search for all the books for that ISBN number or search for all the books by a publisher or publish date or pages or whatever. But you wouldn’t organize a catalog around ISBN or publisher or publish date or pages, at least I don’t think so. So these are custom post meta that we’ll be talking about. So for a moment here, Pam I’m going to turn your microphone back on again. So having talked about this sort of organizational things, what are your thoughts about this?
Pam: I suppose it’s very helpful and you have exactly captured the kinds and expanded on them than I could. I think you’re right on. For our library, this would be great. One thing I would point out is when we’re talking about genre, we have things like fiction and nonfiction but we also sort of physically organize where things are. For instance, we put all our biographies out into one section. And so even though it’s a nonfiction category, I might call that one genre because you know, we want to feature biographies so we want people to know, go over there if you’re looking for these kinds of things. But you know, I…
Rick: And biography might be a subcategory of nonfiction.
Pam: Yes, it could. But this is really helpful. This really helps me get the concept seen in here and you know, I think you’re right on target so looks great.
Rick: Okay so what we want to do with this then is you know, this is obviously going to be open for manipulation as we work our way through this. And so as we talk about, in the coming weeks, you know, what each of these things really ought to be. I think we should continue to consider what should be a hierarchical grouping and what should be a nonhierarchical grouping. And the reason why I made these things the same color is because it seems to me like your book reviews may very well be organized by exactly the same things, right? They may not be organized by you know, you might not have this post meta associated with book reviews but you probably will have book reviews organized by these kinds of classifications. So I just made them the same color and one of the things that we’ll see here you know, and it may very well be actually that you know, the media might have more categorizations than book reviews does, right? It could be the case. And it could be that book reviews actually has its own purple right, where book reviews might have you know, book type…
Author’s name, right.
Rick: Or yes, author. Well, I think actually, we can use this…oh yes. That’s right, reviewer.
Pam: That’s what I meant.
Rick: Yeah, absolutely. So you know, it might have its own little purple element to it. So we don’t have to apply all of these uniformly to everything. We might in fact, you know, apply some here and some here, but nevertheless, there’s going to be some shared elements to this.
Pam: Right. But doing it this way would mean that once a user searches for a specific book, it might bring up something that’s media. In other words, that title but also a review that somebody’s written about that title. So that would be a very user-friendly way to present the data, to be able to search and have both book reviews and media come up.
Rick: And it provides you a way of linking the two, right? So that’s automatically linking the two, right? Not having to physically place a link in the book description but we can have a piece of code that says if a book review with this title exists, display the link here. And the same thing can be true with book reviews. In this book review, find the book with this title and display its link here. And so you know, you eliminate a lot of data entry errors that way by not having to physically link the 2 things together.