Let's look at a scenario. You've been working on your site for a month or two now, and you feel like you've mastered the basics—all the topics in the Training » For everyone and » For managers sections are familiar to you. Now, you find yourself looking critically at your site and thinking, "I feel like I should be able to do more with this."
How you define more is the beginning of the discussion of whether or not you should consider becoming a Site Builder.
What IS a Site Builder?
It's important to understand what a Site Builder is, what the role can do, and do you have the skills or the time to learn them to determine if this is even an appropriate step to take.
A Site Builder is an add-on role, paired almost exclusively with the Site Manager role because of the nature of access required to make full use of its set of permissions.
A Site Builder can create, edit, and delete custom Views and Content Types, and add and edit Themes, as well as configure some system options.
The list may seem short and unimpressive, but this role opens up some of the most powerful options available to site owners in the Drupal-based software SiteFarm is built upon. It also takes your site building options into two very distinctive directions with wildly different knowledge requirements.
Site Building: A Custom Journey
Before we outline the Site Building options available, it's important for you to know that choosing to add any custom element to your site, whether it involves Views, Content Types, a new Subtheme, or any combination of the three, means you are wholly responsible for maintaining your creations and fixing them if something breaks, either as a result of an upgrade to the SiteFarm service or a change to a module or Core Drupal component your work relies upon.
Choosing to add custom entities to your site means you accept responsibility and assert that you know how to do the work, especially since none of your custom additions are supported by the SiteFarm team through our documentation or email@example.com support, and we do not offer training. That said, you are always welcome to bring questions regarding these topics to the Drupal Co-working Sessions held bimonthly on campus or the developers' #sitefarm channel on UC Davis Slack.
Custom Views and Content Types
If you haven't worked with Drupal before, you may not be aware of how the application utilizes these two features. First, a primer.
What is a View?
A View is a set of instructions that query the content in your site and then optionally filters and sorts the query results based on the criteria you set for its display. Example: you have a View that looks through all your Person pages and instructs the system to only display the ones marked with the Person Type "Executive Office," a custom category you manually created for your list. You also tell it to sort the resulting list of people in that Category by the person's last name in ascending alphabetical order.
Why Create a View?
Your SiteFarm site comes with several Views already built and in use. The Blog/News displays and the People listing are two of the most obvious ones as they utilize the page display output of a View. The Upcoming News/Blogs blocks are also examples of Views, but using a block as their display mode. Creating your own Views will allow you to refine your displays to share information with your visitors that focuses on your available information in an even more meaningful way. As described earlier, it means you can query existing content, but it also means you can build relationships between content.
Simple View Example:
By default, users have the Article types 'Blog' and 'News,' but what if you want to have the exact same layout, but cover 'Alumni News' specifically? This one is simple and quick—duplicate the existing news or blog View and customize it to offer a new Article Type of 'Alumni Publications' and then configure your duplicate View to query and display results matching that type. In a lot of cases, this is what many departments are looking for--a simple way to target topics more in line with what their visitors are looking to see. Instructions for creating a simple view are already available on the Site Builder page in case you would like to look it over before requesting an account update to include the Site Builder role.
Advanced Views Example:
Your team of student advisors is very involved with the student community through not just office visits, but articles, seminars, and events. A new custom View might build relationships between an advisor's person page, the events content, and article content, creating a powerful View outputting a dashboard of information reflecting what each advisor is doing. This example is still possible without any additional custom work, but depending on its complexity or your desired display look, may still require sub-theming.
Difficulty level: Beginner to Intermediate
Knowledge required: Views
What is a Content Type?
A content type is a collection of input fields designed to capture information related to a certain topic. Our current default list of Content Types includes Article, Basic Page, Person, Gallery, and Events. You might see a need for one that captures program information, or grants, or available facilities and equipment.
Why Create a Content Type?
As mentioned in the description, a Content Type is intended to collect specific information based on the input fields offered in the Content Type. Content Types are vital when considered in connection with Structured Content, as defined this way by Digital Doughnut:
Structured content means content is separated into independent parts, making its behavior more predictable. The independent parts are often labeled "fields" in the context of a Content Management System... Because these parts are separate entities, they can be edited independently, and used in different contexts.
So, creating a custom Content Type means you can control the fields—the entities—a View can look for and display. Each field's entry is a single entity that can then be manipulated by a View for simple or complex displays, depending on your needs.
Unlike Views, creating Content Types becomes almost immediately more complex by the likelihood you'll need to also provide a styled, formatted output. This will be custom work on your part because our default SiteFarm theme won't recognize your work except in cases where you might repurpose generic code and classes to apply built-in styles. This makes creating custom content types a more advanced and challenging undertaking and will probably require you to understand the full process of sub-theming.
Difficulty level: Intermediate to Expert
Knowledge required: Views, Content Types, possibly Subtheming (see below)
Themes and Subthemes
A theme is a set of style instructions that will apply specific colors, fonts, and layouts to your sites and its content; it's a skin that overlays the content your site contains and is a separate entity interchangeable with other styles (themes) provided their instructions match the naming conventions of the underlying code. SiteFarm has its default theme, which is what comes already pre-installed on your site instance.
The most powerful aspect of the Site Builder role comes into play when you decide you want to tweak or completely redesign your site's theme. This requires a knowledge of HTML, CSS, Git, Bitbucket, and developer tools for settings up your local development environment. These skills are not taught by the SiteFarm team and require that you're already familiar with them or are invested in learning them through other avenues.
A subtheme will not affect your content and the theme can be applied to one or multiple sites, depending on how many you have in Acquia Cloud Site Factory where all the SiteFarm sites are hosted.
Difficulty level: Expert
Appreciating the risks - Taking on the Site Builder role means you understand you would have greater access to areas of your site that are less forgiving of mistakes and it is possible to break your site.
Training - Since Drupal is a free, open-source product, there are tons of tutorials available about Views and Content Types. The interface for Views is almost identical between Drupal 7 and Drupal 8, so any tutorials you come across for either version will work fine in helping you learn Views. Learning to develop a subtheme is a much larger topic and will not be a simple undertaking as this involves multiple languages and applications. Again, tutorials online or a learning management system like Lynda.com can be invaluable. Our article "Introducing the Development Workflow for Subtheming" explores these requirements in a little more detail before jumping you into the larger tasks contained the "How to Subtheme" video series.
You're ready to go - Depending on your current role in your site, further discussions may need to include your site's owner to verify this request has been approved. If your site is part of a larger Client Group, please email your contacts to make this request. Alternately, if your site is not part of a client group or you are the site owner, please submit a Service Request Form indicating you would like to expand your current role to include Site Builder. Once added, the additional documentation for Site Builders can be found in our training section.
"This isn't in my wheelhouse but we need to have custom work done" - You do have the option to contact the SiteFarm team to discuss hiring us on a recharge basis to design custom work on your behalf. Drop us an email and let's start a conversation regarding your design needs.