Blog

Find out what’s happening in the Built With Statamic community.

Daniel Fowler

Daniel Fowler

BWS would like to introduce you to Daniel Fowler, Freelancer at Fowlertown.com and Web Manager at The University of Georgia College of Education in Athens, Georgia, USA.

Home page

Tell us a little about the Statamic site you built for College of Education website.

The new College of Education website is approximately 650 pages in scope, not including ~400 profiles for faculty/staff and an ever growing number of news articles and calendar entries. We have about 100 pages for degree programs alone. In all our website launched with about 1,200 searchable webpages. Our website sees over a million pageviews per year from over 300,000 unique visitors. We host internally on our own RedHat university servers and serve a broad audience made up of prospective and current college students (graduate and undergraduate levels), alumni, prospective faculty, teachers, school administrators, and working professionals in some specialized industries. Many of our programs also work with children, special needs, and local school districts… so our website really goes full spectrum with regards to the audience served.

What other CMSes did you consider for this project?

There was no real consideration given to another CMS - the old site was 6,000 pages built in WordPress and the performance/maintenance was awful. ExpressionEngine was probably the closest thing to a Plan B, but I was pushing the throttle on Statamic from the beginning.

Why did you choose Statamic?

I loved the idea of a flat-file CMS (because I despise databases) even though Jack McDade told me via email when I was discussing the concept that I should probably look elsewhere for a project of this scope. I was determined to make it work because I prefer working directly with files, being that most of my experience is with static websites and front-end programming with HTML, CSS, and JS. With content management systems, there’s no clear “going to be the best solution for years to come” and so I wanted to work with a system that leaned substantially on HTML/CSS since those languages will be the fundamental makeup of the World Wide Web for a long, long time. Also, going with Statamic meant I was able to literally copy and paste my entire site from one server to another and it would function right away.

What was the most difficult Statamic-related issue you encountered on this project? How did you solve it?

Membership roles are very limited. I built very complex member fieldsets, intending to make a webpage for each member that would allow them to be self-sufficient and update on their own. But as I found, Statamic’s front-end form for editing a member profile couldn’t handle my grids and suggest fields satisfactorily. I lost about a week of development time trying to make it work.

Ultimately I gave all 400 employees admin privileges so that they could access the control panel and update their profile. This is/was very dangerous because the CP is all-or-nothing with its access privileges. So I created some scripts and styles that I stuck into the core CP files in an effort to “hide” sensitive areas of the control panel from the masses. I created a custom member role called “Super Admin” and eventually got it working so that the CSS and JS that was hiding things would not activate if the logged-in user was a Super Admin.

Anyone not getting crazy with their membership fields should not have to deal with this, as they can use the front-end form to protect the CP from undesirables.

Jack has an add-on for injecting custom CSS/JS into the CP.

I had a feeling there was a basic add-on like this out there, but I’ve not had time to look for it. It’ll save me the trouble of re-securing my CP every patch.

Are there any remaining technical challenges that you are trying to solve?

Membership is still a sticking point. With every Statamic patch I have to re-administer my control panel CSS/JS safeguards but I’m so focused on other things that I forget to until some good samaritan tells me they are seeing a big list of pages that they think they shouldn’t be seeing.

I field about a dozen requests to reset passwords each day (again ~400 members who want to login and edit their public profile). An automated way to do this would be tremendous, but the Crown Jewels of solutions would be if Statamic could sync with our university-wide LDAP authentication.

How do you handle password resets?

I have a link below our login that says "Having trouble? Email us to [reset your password]" which simply emails me. From there I manually give them a new password, then reply to their email with the new password.

This alone has accounted for 90% of our reported login problems. "I can’t login!", I reset their password, login successful.

What was the most important core Statamic feature for this project? How did it help?

It’s very basic, but the listing tag pairs (e.g. {{ entries:listing }}) were a game changer. I figured out I could match almost anything I needed (thanks, unique page titles!) within the conditions of these listing tag pairs to cross-reference content without compromising the integrity of my information architecture.

CP

So our sitemap is compartmentalized to make logical sense for the user, but I can use a sophisticated system of tags and keywords (taxonomy) to pull relevant bits of content to parts of the website that are far away (I generally think of our website like a giant globe). This keeps my massive sitemap nice and clean while minimizing the ongoing maintenance burden. Here are all of the images of the control panel.

What was the most important add-on for this project? How did it help?

Add-on? What’s an add-on?

I’m joking, of course, but one of my goals with this project was to customize as little as possible. I knew from past experience that when I hand this system off to someone in the future, the Statamic documentation will be their best friend. If I use a bunch of add-ons that change the way Statamic functions by default, they will have a steep learning curve to understand how this massive website is stitched together.

So we’re not using any add-on in a widespread manner and no single add-on was vital to this project.

All that being said, the calendar add-on from Jason Varga is nice, but only used in one place (in our events website to create the monthly calendar view that users love so much). Jason’s fieldtamer add-on is being used throughout our site, but is really just an aesthetic assistant for the control panel, so it isn’t vital either.

Any shout outs to anyone who helped you out?

I had a guy on my team (Dave Wynne) who was instrumental in managing client relationships throughout this project. Dave’s been at UGA for a long time and helped me (the new guy when we started) figure out who the good and bad clients were. When they got angsty in a meeting, he’d know the right thing to say to make them chill out.

I delegated our content development efforts the last couple of months to a couple of grad assistants, supervised by a newly hired writer (Kristen Morales) who ran damage control on our clients’ content while I designed and built the templates.

Lastly, I hired Jason Varga as an independent contractor for some of the more technical pieces that I knew I wouldn’t have time to develop myself - the calendar view and filters for our directory, news, and event listings.

Without these folks it would’ve been a much longer, more painful project.

Anything particularly interesting about the project you’d like to share?

I was told in January that my deadline was August 1, at which point I knew this was impossible. No one takes a project this big (the website was 6,000 pages before) from start to finish in less than 2 years. Not without outsourcing. And especially not with only 2 people on the web team.

We accomplished 15-18 months worth of work in 7 months. It wasn’t perfect and a lot of folks internally weren’t happy about our massive consolidation, but it got done.

Funny thing is, I tried to hire some outside vendors to help, but the contracts took so long to get approved (public university in the United States, this is typical) that I had to move forward building it myself or else we wouldn’t make our deadline. The contracts finally were approved though, and we’ll begin working with a design agency and a content specialist next month, giving the site a new look and feel to launch in December.

One piece of advice to others who may be in the process of planning/building a content rich site?

You’ve got to plan out your information architecture thoroughly. Your content is the single most important thing, so make sure you spend the bulk of your early stages defining where information will live, who it serves, and why it’s high-value. Don’t have it just because it’s cool - target a well-defined purpose.

Project Blog

We used a bunch of shared Google Doc folders in our workflow to collect web content from clients. They hate it because they can’t visualize how it will look in their heads, but explain to them that your priority is separating the important stuff from the less important. Writing content in such an unstyled and linear format, the top priorities will appear at the top, while the secondary priorities you have to scroll to find. It helps communicate the concept of limited real estate on a website, just like in the real world. Not everything can be top center.

Have a project blog and chronicle everything. People won’t read it unless you specifically tell them to, but if you announce to everyone early on that it is to be your official source of project-related communications, you are protecting yourself against the “I didn’t know” arguments that people will use to push back against changes.



blog comments powered by Disqus