SlideShare ist ein Scribd-Unternehmen logo
1 von 129
Downloaden Sie, um offline zu lesen
Omega: Download to Layout
in 45 Minutes
May 13, 2013
Tuesday, May 14, 13
Welcome to Omega: Download to Layout in 45 minutes.
My name is Joshua Turton, I’m a developer at Phase 2 Technology. My very first Drupal site was an upgrade of a hacked Drupal 4.7 site into Drupal 5. It was just as awful as you
imagine. I’m amazed and excited by how far Drupal has come in the last few years.
(explain What session will cover)
Thanks for coming - Let’s dig in!
The Design
Tuesday, May 14, 13
Here’s the situation: Client’s come to you, contracts are signed, discovery is done, and design is beginning. Your designer tells you he’s basing his design on 960gs, and then
disappears into his designer rabbit hole for a few days, leaving you to wonder...
What’s a Grid System?
Tuesday, May 14, 13
A grid system is a way of laying out html and css to have both flexibility and uniformity. But more than that, it’s a design philosophy that embraces those same ideals.
The whole thing is founded on an interesting math fact...
960gs
960 is divisible by 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40, 48, 60,
64, 80, 96, 120, 160, 192, 240, 320 and 480
Tuesday, May 14, 13
The number Nine-hundred Sixty is divisible by 2, 3, 4, 5, 6, 8... well, all those numbers. It’s a lot. That simple math fact means it’s possible to create a unified layout using those
numbers as column widths and quantities.
In theory, it would be possible to build a web site with 240 4-pixel-wide columns. A more likely scenario, of course, would be a web site with 4 240-pixel-wide columns.
960gs
• 12 columns: each column is 60px; 20px gutter.
• 16 columns: each column is 40px; 20px gutter.
• 24 columns: each column is 30px; 10px gutter.
Tuesday, May 14, 13
In practice, there’s really two or three common combinations. *(read list)*
Don’t think, though, that that’s a limitation - because 960gs allows us to ADD some of those columns together in a wide variety of ways!
html from 960.gs/demo.html
Tuesday, May 14, 13
Here are just a few of the many, many layout possibilities using the 960gs grid system. And you aren’t confined to using only one set of those - your can layout one section of your
page in one combination, and a second section in a different combination of columns.
images from 960.gs/demo.html
Tuesday, May 14, 13
Here are some popular examples of 960gs-based sites: Sony Music, 4Kitchens, and Drupal.org.
It’s important to note that 960gs is not the only grid system, but it’s one of the more popular ones, and they all work basically the same way.
Wireframes
Tuesday, May 14, 13
So, while we’ve been pondering the complexities of the grid system, our designer has been busy working away on wireframes. Here’s what he comes back with.
Tuesday, May 14, 13
Home page - I’ll give you a moment to look at that...
Tuesday, May 14, 13
Section Page (give moment to look)
Tuesday, May 14, 13
And Content Page.
All three of these are based on a 12-column 960gs setup, which will make our job pretty easy.
Site Build
Tuesday, May 14, 13
While you are poring over these wireframes, your backend developer runs away with the Information Architecture and Site Spec documents, and comes back with a very, very raw dev
site built on Drupal 7. It includes...
Content Types
Homepage
• Title field
• Body field
• Highlight Image
• Featured Content
• Featured Videos
Article
• Title field
• Body field
• Highlight Image
• Category Term
Event
• Title field
• Body field
• Date field
Tuesday, May 14, 13
Three content types: 1) Homepage, with the addition of a Highlight image, Featured content reference, and featured video fields; 2) Article, with a Highlight image and a Taxonomy-
driven category term; 3) and Event, with a date field.
Additionally...
Additional Stuff
Views
• Category List pages
• Calendar views
• Month, day, year
• Upcoming events
block
SOLR Integration
• Related Content block
Menus
• Main Menu
• Footer Menu
Tuesday, May 14, 13
There’s all this other stuff. Views for the category pages and calendar and upcoming events; SOLR search integration for the Related Content blocks; and Menus with important links all
ready for you. She’s also populated it with some demo content and a couple odds and ends like the copyright block.
Here’s what the site looks like at this point:
Tuesday, May 14, 13
Yeah.
Theming
Tuesday, May 14, 13
Let’s fix that.
Install Some Modules (& Omega)
• context & context_ui
• delta, delta_ui and delta_blocks
• cck_blocks
• omega_tools
• and, of course, the Omega base theme!
Tuesday, May 14, 13
We start by installing the theming and layout modules. Here’s a list of what I usually use. (Read list)
I’ll explain the modules a little later, as we get to them. That does put a large question in front of us, though...
What’s Omega?
And why should I use it?
Tuesday, May 14, 13
What’s Omega, and why should I use it?
Omega is a base theme. Base themes are themes that doesn’t do much in the way of actual styling, but come with some level of layout functionality and configuration that makes
theming sites easier.
Base themes can come with grid systems installed already, with configuration for layout, with template files and other niceties that make creating finished sites more simple.
Their one common factor is that they don’t look like much out of the box, but they make the process of theming much more efficient and much less painful.
Tuesday, May 14, 13
Omega is a particularly powerful base theme, giving us an incredible amount of layout capability without the need for writing code. It was originally based on the 960gs grid, and has
taken that concept a step further to allow for customized grid sizes and responsive displays.
It also has one of the highest adoption rates of any base theme in the Drupal world right now, sitting in the #2 slot behind old standby Zen.
Tuesday, May 14, 13
Phase 2 is using Omega extensively - for sites like FEMA.gov, Penn State and the Open Society Foundation. It’s additionally powering Georgia.gov and an assortment of other Georgia
government sites, and a ton of AP sports sites.
• #drupal-omega
• (I’m srjosh)
Tuesday, May 14, 13
Finally, it has one of the more active IRC channels acting as a support community, at #drupal-omega. I’m often there during the days as srjosh. Many of the other regulars are also
contibutors or involved in the ongoing documentation efforts.
Section PageHome Page Content Page
Tuesday, May 14, 13
Once we’ve gotten the modules and base theme installed, we can begin to analyze the wireframes.
I like to start with image styles, because they are frequently used by other display modules for configuration, so you may as well get them done first.
Section PageHome Page Content Page
Tuesday, May 14, 13
Here we see one of the most commonly used on this site:
Featured / Related Content block images, at 140x100px
Section PageHome Page Content Page
Tuesday, May 14, 13
Homepage Highlight, at 620x440
and
Content Highlight, at 300x215
It’s important to note that these widths are governed by the grid! In a 960gs 12-column layout, each of the pink columns is 60px; the gutters are 20px.
/admin/config/user-interface/delta-blocks
Tuesday, May 14, 13
Next, we’ll use delta_blocks module to enable some key template variables as blocks - this gives us the ability to place them with much more granularity. In this case...
/admin/config/user-interface/delta-blocks
Tuesday, May 14, 13
...logo and page title are important, as they are the only ones of these really appearing in the wireframes.
Omega Sub-theme
Tuesday, May 14, 13
OK - now that we’ve laid some ground work, it’s time to actually create an Omega Sub theme.
/admin/appearance
Tuesday, May 14, 13
This link, on the Admin/Appearance page, is provided by omega_tools module, and allows us to easily create a new sub-theme without all that tedious mucking around in the file
system.
/admin/appearance/omega-tools/add
Tuesday, May 14, 13
Start by giving your subtheme a name...
/admin/appearance/omega-tools/add
Tuesday, May 14, 13
I’ve called this one Epsilon, to keep with the Greek naming motif.
/admin/appearance/omega-tools/add
Tuesday, May 14, 13
Then choose a starterkit. Starterkits gives you default tpl files and layout. I recommend HTML5. Save and...
Tuesday, May 14, 13
Your theme is created!
There’s a few more steps - confirm your sub-theme information, then...
Tuesday, May 14, 13
Enable and set to Default Theme.
Tuesday, May 14, 13
Congratulations! You now have an Omega Sub-Theme! And...
Tuesday, May 14, 13
This is what it looks like.
It’s a grid... but of course, nothing is where it should be. That’s next.
Please note that the pink stripes and the blocks appearing all over the place are debugging tools provided by Omega; you have control over them and who can see them in the Omega
configuration.
/admin/appearance/settings/epsilon
Grid Settings tab
Tuesday, May 14, 13
Here’s the basic theme settings page at admin/appearance/settings/epsilon
/admin/appearance/settings/epsilon
Grid Settings tab
Tuesday, May 14, 13
We start by turning off responsive grid - though Omega’s responsive functionality is incredible, it’s outside the scope of this talk. I’d be happy to discuss it with you ad naseum
afterwards, though, so feel free to come talk to me after, or corner me at Phase2’s booth at Drupalcon later this month.
/admin/appearance/settings/epsilon
Grid Settings tab
Tuesday, May 14, 13
Next, we toggle off some of the site elements - do you remember the page elements we added using delta_blocks to use as overrides? Well, here’s some of the stuff we’re overriding.
In this case, I turn off logo, site name, site slogan, user verification status in comments, and the menus. The menus and logo we will place with blocks, later. The rest of the stuff is not
called for in the designs.
/admin/appearance/settings/epsilon
Grid Settings tab
Tuesday, May 14, 13
Finally, we upload the logo image here, and save.
/admin/appearance/settings/epsilon
Toggle advanced elements tab
Tuesday, May 14, 13
On the Toggle advanced elements tab of that same page, disable the page title. We’ll place that with a Delta Block as well, so leaving it enabled here will print it on the page twice - once
on the block and once in the default location. Save this again.
/admin/structure/block/list/epsilon
Tuesday, May 14, 13
While we’re doing overrides and turning things off, go to the blocks admin page and turn off the default blocks on the Epsilon theme page. We’ll reset them later with Context.
Sections, Zones
& Regions
Tuesday, May 14, 13
The next step is Zone and Region Configuration, which requires a bit of explanation. Regions should be familiar to us from block admin - that’s been around for a couple Drupal
versions. Regions are where you put your content and blocks. But what are Zones and Sections?
Section
Zone
Zone
Region Region
Region
Region Region
Tuesday, May 14, 13
Think of them as larger containers into which the zones are placed, in a hierarchy. Sections are the largest, and can have one or more zones inside them.
Zones are next, and can have one or more regions inside them.
Finally come regions, which is where the grid is really laid out, as Omega makes them quite easy to size by columns.
These serve to wrap and contain your HTML, allowing for common styling and easy layout choices.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
Returning now to the theme settings page, we open the zone and region configuration tab.
Tuesday, May 14, 13
A little closer inspection allows us to see the nesting of section, zone and region.
In this case, the Header section has a Header zone in it, which has two regions.
Tuesday, May 14, 13
You can further see that each of these regions has an assortment of settings, which allow us to change width, weight, even zone - all from the admin.
Section PageHome Page Content Page
Tuesday, May 14, 13
To illustrate how this is used, let’s return for a moment to our wireframes. Homepage is obviously its own, special layout, but in terms of structure, the section page and the content
page are pretty much the same. This means that virtually ALL of the content on the site is in the same layout, so let’s do that first.
Menu - 8 grid columnsLogo - 4 grid columns
Content - 8 grid columns Sidebar - 4 grid columns
Tuesday, May 14, 13
The header area has a 4-column wide logo, and a menu that’s 8 columns wide.
The content area has an 8-column wide area, with a 4-column sidebar.
Menu - 8 grid columnsLogo - 4 grid columns
Content - 8 grid columns Sidebar - 4 grid columns
Footer Menu - 8 grid columns
Copyright - 4 grid columns
Tuesday, May 14, 13
Here you see the footer area has another 8 and 4 column combo.
More clearly, we can now see that there are three obvious sections...
Header Section
Content Section
Footer Section
Tuesday, May 14, 13
Header, Content, and Footer. Conveniently, this also happens to correspond with what Omega defines as sections out of the box.
Menu - 8 grid columnsLogo - 4 grid columns
Content - 8 grid columns Sidebar - 4 grid columns
Tuesday, May 14, 13
The Header section, if you’ll recall, had a four-column logo, and an 8 column menu. We look again at the Header section config in Omega...
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
And find that it has four zones in it, with a total of 6 regions - clearly too many for what we need. So, Omega actually lets us clear unused zones out of a section.
Tuesday, May 14, 13
Open the zone up, and then the configuration fieldset inside that. You’ll see that you can set section to “- None -”. This will put it in the unused zone list, and remove it from the
section. I’ll do this with the User zone and the “Header Zone”.
Tuesday, May 14, 13
Next, I’ll open up Regions in the Branding zone, and set my width to 4 columns. This is where we will put our logo, which if you recall was 4 columns wide.
Tuesday, May 14, 13
After that, I’ll go to the Menu Zone...
Tuesday, May 14, 13
... and set the width to 8 columns, as laid out in our wireframes.
Tuesday, May 14, 13
Weighting in Omega works just like it does anywhere else in Drupal - the higher the weight the later the item renders in the process. In this case, I’m setting the weight to 5 to push the
menu after the branding region.
Tuesday, May 14, 13
And, again, Omega allows us to move a region from one zone to another, so I’m going to move this to the “Branding” Zone. This will stack the Branding and Menu regions horizontally
without any additional CSS.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
The Content Section comes with three zones by default. I’m going to leave the Preface and Postscript zones alone for now, and work in the Content Zone of the Content Section. Yes,
there’s a Content Section, and a Content Zone, and guess what? There’s a Content Region, too. Naming things in Drupal is not an exact science.
We’re going to focus our attention for now on the Content Zone.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
In the “Sidebar First” region, I’m going to set the width to 4 columns, and set the weight to 5. Again, a higher weight will push the item later in the rendering process - in this case,
after the Content Region.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
I’ll set the width of the Content Region to 8 columns, and leave the weight alone.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
Finally, I’ll set the Zone of the Sidebar Second region to “- None -”, which will remove it from the Content Zone altogether.
/admin/appearance/settings/epsilon
Zone and region configuration tab
Tuesday, May 14, 13
Lastly, in the Footer Zone of the Footer section, I’m going to set the width of the Footer First region to 8, and the width of the Footer Second region to 4. Since these two regions are
already in the same zone, they will line up horizontally automatically, so there’s no need to move them around from one region to another.
Tuesday, May 14, 13
Here’s what our site looked like when we first created our Omega sub-theme, Epsilon.
Tuesday, May 14, 13
Here’s what our site looks like now. The sidebar has moved to the right, the logo and site name are gone, and the content spans an width of 8 grid columns. We are definitely moving in
the right direction.
Delta
Tuesday, May 14, 13
Now, if you’ll recall, our wireframes had two very different layouts - the content section that we’ve been working on, and the homepage. Previously, making those different layouts
would have caused a lot of programming with alternate tpls and functions in template.php.
Tuesday, May 14, 13
Delta changes that. This module, also by the creators of Omega, gives us the ability to save different sets of theme settings, and apply them as alternate layouts in Context. Let’s give
that a whirl.
/admin/appearance/delta
Tuesday, May 14, 13
There’s a new tab in the Admin/Appearance menu, Delta. Go there, and click “Add”
/admin/appearance/delta/add
Tuesday, May 14, 13
Very much like when we created a new sub-theme with omega_tools, this gives us a new configuration form to fill out.
/admin/appearance/delta/add
Tuesday, May 14, 13
We start by giving it a name and description - in this case, I’ve called it “Content and Sections” with a description of “Page template for the Content and Section List pages”.
/admin/appearance/delta/add
Tuesday, May 14, 13
Next, and most important, you must choose the theme to which you wish to have this delta apply. In this case, I have picked Epsilon.
Parent template and Operation mode allow for a complicated layer of inheritance between deltas; I generally find them not that useful and usually leave them at their defaults.
/admin/appearance/delta/add
Tuesday, May 14, 13
You can now see our delta has been created.
Context
Tuesday, May 14, 13
Now we add a context, which allows us to apply that Delta to different parts of our site based on URL.
/admin/structure/context/add
Tuesday, May 14, 13
At admin/structure/context/add, we will find the “Add context” form.
/admin/structure/context/add
Tuesday, May 14, 13
First, we give it the usual Title and Description. We also have the ability to give it a “Tag” which groups different contents for different purposes. In this case, I’ve titled it “Content and
Sections Context”, with a tag of “Layout”.
/admin/structure/context/add
Tuesday, May 14, 13
Moving down, we get to Conditions. This how context governs what to do. If the state of your site meets the conditions, then whatever is listed in the Reactions section, happens.
The easiest one to use, which we are doing, is “Path”.
/admin/structure/context/add
Tuesday, May 14, 13
In this case, because the layout we’ve built is for all pages *except* the home page, we will put a tilde - the little squiggle line - in front of the Drupal-standard <front>
/admin/structure/context/add
Tuesday, May 14, 13
Now, we add a reaction - we’ll actually be adding a couple. First, a Delta. This assigns the layout we just created and saved to all pages in this context - that is, all pages *except* the
home page.
/admin/structure/context/add
Tuesday, May 14, 13
You can see here that Content and Sections delta is the only choice, because so far it’s the only one we’ve made.
/admin/structure/context/add
Tuesday, May 14, 13
Next, we’ll add some blocks - we do it here instead of in the blocks admin because we have much more control over what block gets added where, and on what pages.
/admin/structure/context/add
Tuesday, May 14, 13
The Blocks context is large, but fairly easy to use.
/admin/structure/context/add
Tuesday, May 14, 13
Pick a block...
/admin/structure/context/add
Tuesday, May 14, 13
And add it to a region. Do this for all the blocks you need.
In this case, we are assigning them as follows: Page title and Main page Content to Content Region, Logo to Branding Region, Main Menu to Menu Region, SOLR Related Content to
Sidebar First, Footer menu to Footer First, and Copyright to Footer Second.
Display Settings
Tuesday, May 14, 13
Finally, we are going to tweak the display settings for our content fields.
/admin/structure/types
Tuesday, May 14, 13
At admin/structure/types, click “manage display” for the Article content type.
/admin/structure/types/manage/article/display
Tuesday, May 14, 13
Then click the little gear icon for Image...
/admin/structure/types/manage/article/display
Tuesday, May 14, 13
And set the image style to “content_highlight” - the image style we made waaaay back when.
Tuesday, May 14, 13
Here’s our site before...
Tuesday, May 14, 13
And here it is now.
Tuesday, May 14, 13
Note the addition of the logo, menu, page title, and related content blocks, which were placed with the Context module.
Rinse and Repeat
Tuesday, May 14, 13
Now, we go through this whole process once more, for the homepage layout. I’m going to take some shortcuts here, though, and just show you the highlights.
We will have one new thing, though, so I hope you’re still awake.
/admin/appearance/delta/add
Tuesday, May 14, 13
Create a new Homepage delta. This new delta will default to using the main theme settings, but we will need to make some changes.
Menu - 8 grid columnsLogo - 4 grid columns
Content - 4 grid columns Sidebar - 8 grid columns
Footer Menu - 8 grid columns
Copyright - 4 grid columns
Tuesday, May 14, 13
Looking at our home page, we can see some changes and additions. The content is now only 4 grid columns, while the sidebar with the highlight image in it is 8 columns.
Postscript - 4 grid columns
Postscript - 4 grid columns
Postscript - 4 grid columns
Menu - 8 grid columnsLogo - 4 grid columns
Content - 4 grid columns Sidebar - 8 grid columns
Footer Menu - 8 grid columns
Copyright - 4 grid columns
Tuesday, May 14, 13
Additionally, there’s a new postscript zone, that’s three regions of four grid columns each.
/admin/appearance/delta
Tuesday, May 14, 13
Click “Configure” at admin/appearance/delta on the Homepage layout.
/admin/appearance/delta/list/homepage/configure
Tuesday, May 14, 13
What you’ll see at this point is the same interface as the theme settings. That’s the beauty of Delta: It gives us the ability to customize theme settings for individual pages or sections of
the site.
In this case, I’m going to set the column widths for the Content region and Sidebar First region to 4 and 8, respectively - a reversal of their original settings.
/admin/appearance/delta/list/homepage/configure
Tuesday, May 14, 13
The Postscript Zone comes with four regions by default. I am going set the First through Third to a width of 4 columns, and then set the Fourth to a Zone of “None”, disabling it from
our site.
CCK Blocks
Tuesday, May 14, 13
CCK Blocks is a cool little module that allows you to assign CCK fields to blocks, rather than having them print in the content area.
/admin/structure/types/manage/homepage/fields
Tuesday, May 14, 13
At the Manage fields page for the Homepage content type, we are going to edit each of the fields we want to add to blocks - in this case, Image and Featured Videos.
/admin/structure/types/manage/homepage/fields/field_image
Tuesday, May 14, 13
At the very bottom, you can see there’s a new option - “Provide block for this field”. We’ll set this to “Enabled”. We do this for both the Image field and the Featured Videos.
/admin/structure/types/manage/homepage/display
Tuesday, May 14, 13
Now, in the Manage Display settings, on the Default view mode, we move Image and Featured Content to “Hidden”...
/admin/structure/types/manage/homepage/display
Tuesday, May 14, 13
...and in the CCK Blocks settings, move them OUT of hidden. We then choose their Formats...
/admin/structure/types/manage/homepage/display
Tuesday, May 14, 13
...setting Image to “Image”. Click the little gear icon and ...
/admin/structure/types/manage/homepage/display
Tuesday, May 14, 13
... set image style to “homepage_highlight”, another of the image styles we created way back at the beginning.
I’m going to cheat right here, and configure the featured videos as well, which is a delve into media module we don’t have time for today. The short version is that Media uses our
image styles to set some defaults on the output and render them the same size as the “content_highlight” style.
/admin/structure/context/add
Tuesday, May 14, 13
Finally, we’ll create the Homepage context. It is pretty much the same as before; we’ll name it, assign it to “<front>”, and pick the newly-created “Homepage” delta. Then we’ll assign
blocks.
In this context, the blocks all get assigned to the same places as in our other context, with a few exceptions. We don’t assign page title at all; we put the Featured Content View block in
Postscript First, and the Upcoming Events block in Postscript Second.
Tuesday, May 14, 13
Here’s how they output.
/admin/structure/context/add
Tuesday, May 14, 13
Additionally, we assign the two blocks provided by cck_blocks - Image field, to the Sidebar First region, and Featured Videos to the Postscript Third region.
Tuesday, May 14, 13
Here’s how they output.
Were we not using CCK_blocks or another similar module such as Display Suite, we could not easily move a node’s field into a block without writing a lot of code. This is one of my
favorite tools for making easy and simple layouts.
Final product
Tuesday, May 14, 13
And what’s it look like all together?
Section PageHome Page Content Page
Tuesday, May 14, 13
This... turns into...
Section PageHome Page Content PageSection PageSECTION PAGE
Tuesday, May 14, 13
...this.
Section PageHome Page Content Page
Tuesday, May 14, 13
Section PageHome Page Content PageSection PageSECTION PAGE
Tuesday, May 14, 13
Section PageHome Page Content Page
Tuesday, May 14, 13
Section PageHome Page Content PageSection PageSECTION PAGE
Tuesday, May 14, 13
Section PageHome Page Content Page
Tuesday, May 14, 13
Section PageHome Page Content Page
Tuesday, May 14, 13
Now... I know it doesn’t look exactly like the wireframes - there’s a few bits and pieces of cleanup left, and a ton of CSS. But that’s the point - there’s *only* CSS left. Everything is in
its proper place, and we haven’t written a single line of code to get here.
That’s the magic of Omega.
Omega 4.x
Tuesday, May 14, 13
I promised a preview of Omega 4. And while it’s still in Alpha, we do know some things about it.
• Pluggable Extensions
Omega 4.x Preview
Tuesday, May 14, 13
The major difference between 3 and 4 is the introduction of extensions.
Extensions serve as a set of features / group of functionality that can be disabled / enabled as a whole - they can provide theme settings and other core features for the theming
framework.
• Pluggable Extensions
• Small-core code reduction
Omega 4.x Preview
Tuesday, May 14, 13
As the extensions replace what was core theme functionality, the base theme’s codebase is also reduced in size.
• Pluggable Extensions
• Small-core code reduction
• Layouts
Omega 4.x Preview
Tuesday, May 14, 13
Another new idea is the addition of layouts, which are pre-configured sets of page structures - much like what we generated with delta, but without an admin interface. Think of it like
an alternate page.tpl.php with CSS, JS and PHP code that belong only to it.
At its most basic, it’s a combination of a .info file and a page.tpl file.
There is additionally talk of a layout builder that works somewhat like Delta works, which will allow you to build layouts from an admin interface.
• Pluggable Extensions
• Small-core code reduction
• Layouts
• Delta and Context might be unnecessary
Omega 4.x Preview
Tuesday, May 14, 13
Still in exploration is the way these layouts are triggered and used. It might be that Delta and Context become unnecessary, though at this stage it seems more like Delta and Context
will be one of several possible ways to handle varying layouts; others include Panels and custom code.
• Pluggable Extensions
• Small-core code reduction
• Layouts
• Delta and Context might be unnecessary
• Support for any Grid System (but especially Omega.gs)
Omega 4.x Preview
Tuesday, May 14, 13
Rather than tying down to 960gs, Omega will now support any grid system, including Susy, Zen Grid, and a newly developed Omega.gs (which will of course be the new default).
Omega 4.x Preview
• Pluggable Extensions
• Small-core code reduction
• Layouts
• Delta and Context might be unnecessary
• Support for any Grid System (but especially Omega.gs)
• Sass is included, with .scss files and config.rb
Tuesday, May 14, 13
SASS is included by default, and is where the media query breakpoints will live (out of theme settings).
• Pluggable Extensions
• Small-core code reduction
• Layouts
• Delta and Context might be unnecessary
• Support for any Grid System (but especially Omega.gs)
• Sass is included, with .scss files and config.rb
• Performance enhancements
Omega 4.x Preview
Tuesday, May 14, 13
With the reduction of the code base, and preprocessing of CSS and a number of other changes, this new version is reducing overhead on the server and the client side. This is good for
all concerned.
• Layout Builder
What it Doesn’t Include
Tuesday, May 14, 13
What *doesn’t* it include?
Well, one notable exclusion is the core of what we’ve just done - a layout builder. Omega Core in 4.x, in its current state, contains no functionality that will allow a developer to do site
layout like we’ve just done in 3.x. In fact, at the moment there’s no defined mechanism for triggering alternate layouts, which, in my opinion, limits the usefulness of the base theme
rather drastically.
I’ve been pushing - hard - on the Omega maintainers to build these tools as either an extension or a module before releasing a full version, and they have agreed that it is a good idea,
but to my knowledge no work has been done on this front.
So, we’ll see.
Important Links
• http://960.gs Great tutorials and demos on 960gs.
• omnigraffle template available as part of 960gs source code at
https://github.com/nathansmith/960-grid-system/
• #drupal-omega
Tuesday, May 14, 13
That about wraps up our presentation. Here are a few important links and references for you.
*read references*
Senior Developer
Email: jturton@phase2technology.com
Joshua Turton
Twitter: @sjinteractive
drupal.org/IRC: srjosh
Tuesday, May 14, 13
Thank you all so much for coming. This is my contact information; please feel free to reach out to me.
(If time, open for questions)
PHASE2TECHNOLOGY.COM
Tuesday, May 14, 13

Weitere ähnliche Inhalte

Ähnlich wie Omega From Download to Layout in 45 min

Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site buildingIztok Smolic
 
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...Eric Sembrat
 
Architecting with Style
Architecting with StyleArchitecting with Style
Architecting with StyleTimothy Knight
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Andrew Martha
 
Introducing MongoPress
Introducing MongoPressIntroducing MongoPress
Introducing MongoPressMark Smalley
 
Drupal camp atlanta 2013 mobile first
Drupal camp atlanta 2013 mobile firstDrupal camp atlanta 2013 mobile first
Drupal camp atlanta 2013 mobile firsttobbyhagler
 
Graphic Design For Web
Graphic Design For WebGraphic Design For Web
Graphic Design For WebDeniz Gökçe
 
CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3 CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3 Jeffrey Barke
 
EdTechJoker Spring 2020 - Lecture 6 - WordPress
EdTechJoker Spring 2020 - Lecture 6 -   WordPressEdTechJoker Spring 2020 - Lecture 6 -   WordPress
EdTechJoker Spring 2020 - Lecture 6 - WordPressBryan Ollendyke
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Renderingmichael.labriola
 
ClassicPress / WordPress
ClassicPress / WordPressClassicPress / WordPress
ClassicPress / WordPressbtopro
 
Theme customisation for beginners
Theme customisation for beginnersTheme customisation for beginners
Theme customisation for beginnersGareth J Barnard
 
Building User-Centred Websites with Drupal
Building User-Centred Websites with DrupalBuilding User-Centred Websites with Drupal
Building User-Centred Websites with Drupalamanda etches
 
WordPress Plugin - Chameleon
WordPress Plugin - ChameleonWordPress Plugin - Chameleon
WordPress Plugin - ChameleonFahad Mahmood
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to ThemingTara King
 
Top 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeTop 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeIztok Smolic
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Sarah Shealy
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in DrupalWingston
 
All about word press
All about word pressAll about word press
All about word pressDan Beil
 

Ähnlich wie Omega From Download to Layout in 45 min (20)

Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site building
 
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
 
Architecting with Style
Architecting with StyleArchitecting with Style
Architecting with Style
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
 
Introducing MongoPress
Introducing MongoPressIntroducing MongoPress
Introducing MongoPress
 
Drupal camp atlanta 2013 mobile first
Drupal camp atlanta 2013 mobile firstDrupal camp atlanta 2013 mobile first
Drupal camp atlanta 2013 mobile first
 
Graphic Design For Web
Graphic Design For WebGraphic Design For Web
Graphic Design For Web
 
CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3 CSS3 and a brief introduction to Google Maps API v3
CSS3 and a brief introduction to Google Maps API v3
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
EdTechJoker Spring 2020 - Lecture 6 - WordPress
EdTechJoker Spring 2020 - Lecture 6 -   WordPressEdTechJoker Spring 2020 - Lecture 6 -   WordPress
EdTechJoker Spring 2020 - Lecture 6 - WordPress
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Rendering
 
ClassicPress / WordPress
ClassicPress / WordPressClassicPress / WordPress
ClassicPress / WordPress
 
Theme customisation for beginners
Theme customisation for beginnersTheme customisation for beginners
Theme customisation for beginners
 
Building User-Centred Websites with Drupal
Building User-Centred Websites with DrupalBuilding User-Centred Websites with Drupal
Building User-Centred Websites with Drupal
 
WordPress Plugin - Chameleon
WordPress Plugin - ChameleonWordPress Plugin - Chameleon
WordPress Plugin - Chameleon
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
 
Top 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeTop 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies make
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
 
All about word press
All about word pressAll about word press
All about word press
 

Mehr von Phase2

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience PlatformPhase2
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformPhase2
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkPhase2
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mindPhase2
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Phase2
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftPhase2
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapePhase2
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...Phase2
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in MindPhase2
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"Phase2
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID AppPhase2
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyPhase2
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Phase2
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Phase2
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module Phase2
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web SitePhase2
 
Empathy For Idiots
Empathy For Idiots Empathy For Idiots
Empathy For Idiots Phase2
 

Mehr von Phase2 (20)

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness Brochure
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience Platform
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience Platform
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 Talk
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mind
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShift
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in Mind
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID App
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case Study
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web Site
 
Empathy For Idiots
Empathy For Idiots Empathy For Idiots
Empathy For Idiots
 

Kürzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Kürzlich hochgeladen (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Omega From Download to Layout in 45 min

  • 1. Omega: Download to Layout in 45 Minutes May 13, 2013 Tuesday, May 14, 13 Welcome to Omega: Download to Layout in 45 minutes. My name is Joshua Turton, I’m a developer at Phase 2 Technology. My very first Drupal site was an upgrade of a hacked Drupal 4.7 site into Drupal 5. It was just as awful as you imagine. I’m amazed and excited by how far Drupal has come in the last few years. (explain What session will cover) Thanks for coming - Let’s dig in!
  • 2. The Design Tuesday, May 14, 13 Here’s the situation: Client’s come to you, contracts are signed, discovery is done, and design is beginning. Your designer tells you he’s basing his design on 960gs, and then disappears into his designer rabbit hole for a few days, leaving you to wonder...
  • 3. What’s a Grid System? Tuesday, May 14, 13 A grid system is a way of laying out html and css to have both flexibility and uniformity. But more than that, it’s a design philosophy that embraces those same ideals. The whole thing is founded on an interesting math fact...
  • 4. 960gs 960 is divisible by 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40, 48, 60, 64, 80, 96, 120, 160, 192, 240, 320 and 480 Tuesday, May 14, 13 The number Nine-hundred Sixty is divisible by 2, 3, 4, 5, 6, 8... well, all those numbers. It’s a lot. That simple math fact means it’s possible to create a unified layout using those numbers as column widths and quantities. In theory, it would be possible to build a web site with 240 4-pixel-wide columns. A more likely scenario, of course, would be a web site with 4 240-pixel-wide columns.
  • 5. 960gs • 12 columns: each column is 60px; 20px gutter. • 16 columns: each column is 40px; 20px gutter. • 24 columns: each column is 30px; 10px gutter. Tuesday, May 14, 13 In practice, there’s really two or three common combinations. *(read list)* Don’t think, though, that that’s a limitation - because 960gs allows us to ADD some of those columns together in a wide variety of ways!
  • 6. html from 960.gs/demo.html Tuesday, May 14, 13 Here are just a few of the many, many layout possibilities using the 960gs grid system. And you aren’t confined to using only one set of those - your can layout one section of your page in one combination, and a second section in a different combination of columns.
  • 7. images from 960.gs/demo.html Tuesday, May 14, 13 Here are some popular examples of 960gs-based sites: Sony Music, 4Kitchens, and Drupal.org. It’s important to note that 960gs is not the only grid system, but it’s one of the more popular ones, and they all work basically the same way.
  • 8. Wireframes Tuesday, May 14, 13 So, while we’ve been pondering the complexities of the grid system, our designer has been busy working away on wireframes. Here’s what he comes back with.
  • 9. Tuesday, May 14, 13 Home page - I’ll give you a moment to look at that...
  • 10. Tuesday, May 14, 13 Section Page (give moment to look)
  • 11. Tuesday, May 14, 13 And Content Page. All three of these are based on a 12-column 960gs setup, which will make our job pretty easy.
  • 12. Site Build Tuesday, May 14, 13 While you are poring over these wireframes, your backend developer runs away with the Information Architecture and Site Spec documents, and comes back with a very, very raw dev site built on Drupal 7. It includes...
  • 13. Content Types Homepage • Title field • Body field • Highlight Image • Featured Content • Featured Videos Article • Title field • Body field • Highlight Image • Category Term Event • Title field • Body field • Date field Tuesday, May 14, 13 Three content types: 1) Homepage, with the addition of a Highlight image, Featured content reference, and featured video fields; 2) Article, with a Highlight image and a Taxonomy- driven category term; 3) and Event, with a date field. Additionally...
  • 14. Additional Stuff Views • Category List pages • Calendar views • Month, day, year • Upcoming events block SOLR Integration • Related Content block Menus • Main Menu • Footer Menu Tuesday, May 14, 13 There’s all this other stuff. Views for the category pages and calendar and upcoming events; SOLR search integration for the Related Content blocks; and Menus with important links all ready for you. She’s also populated it with some demo content and a couple odds and ends like the copyright block. Here’s what the site looks like at this point:
  • 15. Tuesday, May 14, 13 Yeah.
  • 16. Theming Tuesday, May 14, 13 Let’s fix that.
  • 17. Install Some Modules (& Omega) • context & context_ui • delta, delta_ui and delta_blocks • cck_blocks • omega_tools • and, of course, the Omega base theme! Tuesday, May 14, 13 We start by installing the theming and layout modules. Here’s a list of what I usually use. (Read list) I’ll explain the modules a little later, as we get to them. That does put a large question in front of us, though...
  • 18. What’s Omega? And why should I use it? Tuesday, May 14, 13 What’s Omega, and why should I use it? Omega is a base theme. Base themes are themes that doesn’t do much in the way of actual styling, but come with some level of layout functionality and configuration that makes theming sites easier. Base themes can come with grid systems installed already, with configuration for layout, with template files and other niceties that make creating finished sites more simple. Their one common factor is that they don’t look like much out of the box, but they make the process of theming much more efficient and much less painful.
  • 19. Tuesday, May 14, 13 Omega is a particularly powerful base theme, giving us an incredible amount of layout capability without the need for writing code. It was originally based on the 960gs grid, and has taken that concept a step further to allow for customized grid sizes and responsive displays. It also has one of the highest adoption rates of any base theme in the Drupal world right now, sitting in the #2 slot behind old standby Zen.
  • 20. Tuesday, May 14, 13 Phase 2 is using Omega extensively - for sites like FEMA.gov, Penn State and the Open Society Foundation. It’s additionally powering Georgia.gov and an assortment of other Georgia government sites, and a ton of AP sports sites.
  • 21. • #drupal-omega • (I’m srjosh) Tuesday, May 14, 13 Finally, it has one of the more active IRC channels acting as a support community, at #drupal-omega. I’m often there during the days as srjosh. Many of the other regulars are also contibutors or involved in the ongoing documentation efforts.
  • 22. Section PageHome Page Content Page Tuesday, May 14, 13 Once we’ve gotten the modules and base theme installed, we can begin to analyze the wireframes. I like to start with image styles, because they are frequently used by other display modules for configuration, so you may as well get them done first.
  • 23. Section PageHome Page Content Page Tuesday, May 14, 13 Here we see one of the most commonly used on this site: Featured / Related Content block images, at 140x100px
  • 24. Section PageHome Page Content Page Tuesday, May 14, 13 Homepage Highlight, at 620x440 and Content Highlight, at 300x215 It’s important to note that these widths are governed by the grid! In a 960gs 12-column layout, each of the pink columns is 60px; the gutters are 20px.
  • 25. /admin/config/user-interface/delta-blocks Tuesday, May 14, 13 Next, we’ll use delta_blocks module to enable some key template variables as blocks - this gives us the ability to place them with much more granularity. In this case...
  • 26. /admin/config/user-interface/delta-blocks Tuesday, May 14, 13 ...logo and page title are important, as they are the only ones of these really appearing in the wireframes.
  • 27. Omega Sub-theme Tuesday, May 14, 13 OK - now that we’ve laid some ground work, it’s time to actually create an Omega Sub theme.
  • 28. /admin/appearance Tuesday, May 14, 13 This link, on the Admin/Appearance page, is provided by omega_tools module, and allows us to easily create a new sub-theme without all that tedious mucking around in the file system.
  • 29. /admin/appearance/omega-tools/add Tuesday, May 14, 13 Start by giving your subtheme a name...
  • 30. /admin/appearance/omega-tools/add Tuesday, May 14, 13 I’ve called this one Epsilon, to keep with the Greek naming motif.
  • 31. /admin/appearance/omega-tools/add Tuesday, May 14, 13 Then choose a starterkit. Starterkits gives you default tpl files and layout. I recommend HTML5. Save and...
  • 32. Tuesday, May 14, 13 Your theme is created! There’s a few more steps - confirm your sub-theme information, then...
  • 33. Tuesday, May 14, 13 Enable and set to Default Theme.
  • 34. Tuesday, May 14, 13 Congratulations! You now have an Omega Sub-Theme! And...
  • 35. Tuesday, May 14, 13 This is what it looks like. It’s a grid... but of course, nothing is where it should be. That’s next. Please note that the pink stripes and the blocks appearing all over the place are debugging tools provided by Omega; you have control over them and who can see them in the Omega configuration.
  • 36. /admin/appearance/settings/epsilon Grid Settings tab Tuesday, May 14, 13 Here’s the basic theme settings page at admin/appearance/settings/epsilon
  • 37. /admin/appearance/settings/epsilon Grid Settings tab Tuesday, May 14, 13 We start by turning off responsive grid - though Omega’s responsive functionality is incredible, it’s outside the scope of this talk. I’d be happy to discuss it with you ad naseum afterwards, though, so feel free to come talk to me after, or corner me at Phase2’s booth at Drupalcon later this month.
  • 38. /admin/appearance/settings/epsilon Grid Settings tab Tuesday, May 14, 13 Next, we toggle off some of the site elements - do you remember the page elements we added using delta_blocks to use as overrides? Well, here’s some of the stuff we’re overriding. In this case, I turn off logo, site name, site slogan, user verification status in comments, and the menus. The menus and logo we will place with blocks, later. The rest of the stuff is not called for in the designs.
  • 39. /admin/appearance/settings/epsilon Grid Settings tab Tuesday, May 14, 13 Finally, we upload the logo image here, and save.
  • 40. /admin/appearance/settings/epsilon Toggle advanced elements tab Tuesday, May 14, 13 On the Toggle advanced elements tab of that same page, disable the page title. We’ll place that with a Delta Block as well, so leaving it enabled here will print it on the page twice - once on the block and once in the default location. Save this again.
  • 41. /admin/structure/block/list/epsilon Tuesday, May 14, 13 While we’re doing overrides and turning things off, go to the blocks admin page and turn off the default blocks on the Epsilon theme page. We’ll reset them later with Context.
  • 42. Sections, Zones & Regions Tuesday, May 14, 13 The next step is Zone and Region Configuration, which requires a bit of explanation. Regions should be familiar to us from block admin - that’s been around for a couple Drupal versions. Regions are where you put your content and blocks. But what are Zones and Sections?
  • 43. Section Zone Zone Region Region Region Region Region Tuesday, May 14, 13 Think of them as larger containers into which the zones are placed, in a hierarchy. Sections are the largest, and can have one or more zones inside them. Zones are next, and can have one or more regions inside them. Finally come regions, which is where the grid is really laid out, as Omega makes them quite easy to size by columns. These serve to wrap and contain your HTML, allowing for common styling and easy layout choices.
  • 44. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 Returning now to the theme settings page, we open the zone and region configuration tab.
  • 45. Tuesday, May 14, 13 A little closer inspection allows us to see the nesting of section, zone and region. In this case, the Header section has a Header zone in it, which has two regions.
  • 46. Tuesday, May 14, 13 You can further see that each of these regions has an assortment of settings, which allow us to change width, weight, even zone - all from the admin.
  • 47. Section PageHome Page Content Page Tuesday, May 14, 13 To illustrate how this is used, let’s return for a moment to our wireframes. Homepage is obviously its own, special layout, but in terms of structure, the section page and the content page are pretty much the same. This means that virtually ALL of the content on the site is in the same layout, so let’s do that first.
  • 48. Menu - 8 grid columnsLogo - 4 grid columns Content - 8 grid columns Sidebar - 4 grid columns Tuesday, May 14, 13 The header area has a 4-column wide logo, and a menu that’s 8 columns wide. The content area has an 8-column wide area, with a 4-column sidebar.
  • 49. Menu - 8 grid columnsLogo - 4 grid columns Content - 8 grid columns Sidebar - 4 grid columns Footer Menu - 8 grid columns Copyright - 4 grid columns Tuesday, May 14, 13 Here you see the footer area has another 8 and 4 column combo. More clearly, we can now see that there are three obvious sections...
  • 50. Header Section Content Section Footer Section Tuesday, May 14, 13 Header, Content, and Footer. Conveniently, this also happens to correspond with what Omega defines as sections out of the box.
  • 51. Menu - 8 grid columnsLogo - 4 grid columns Content - 8 grid columns Sidebar - 4 grid columns Tuesday, May 14, 13 The Header section, if you’ll recall, had a four-column logo, and an 8 column menu. We look again at the Header section config in Omega...
  • 52. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 And find that it has four zones in it, with a total of 6 regions - clearly too many for what we need. So, Omega actually lets us clear unused zones out of a section.
  • 53. Tuesday, May 14, 13 Open the zone up, and then the configuration fieldset inside that. You’ll see that you can set section to “- None -”. This will put it in the unused zone list, and remove it from the section. I’ll do this with the User zone and the “Header Zone”.
  • 54. Tuesday, May 14, 13 Next, I’ll open up Regions in the Branding zone, and set my width to 4 columns. This is where we will put our logo, which if you recall was 4 columns wide.
  • 55. Tuesday, May 14, 13 After that, I’ll go to the Menu Zone...
  • 56. Tuesday, May 14, 13 ... and set the width to 8 columns, as laid out in our wireframes.
  • 57. Tuesday, May 14, 13 Weighting in Omega works just like it does anywhere else in Drupal - the higher the weight the later the item renders in the process. In this case, I’m setting the weight to 5 to push the menu after the branding region.
  • 58. Tuesday, May 14, 13 And, again, Omega allows us to move a region from one zone to another, so I’m going to move this to the “Branding” Zone. This will stack the Branding and Menu regions horizontally without any additional CSS.
  • 59. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 The Content Section comes with three zones by default. I’m going to leave the Preface and Postscript zones alone for now, and work in the Content Zone of the Content Section. Yes, there’s a Content Section, and a Content Zone, and guess what? There’s a Content Region, too. Naming things in Drupal is not an exact science. We’re going to focus our attention for now on the Content Zone.
  • 60. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 In the “Sidebar First” region, I’m going to set the width to 4 columns, and set the weight to 5. Again, a higher weight will push the item later in the rendering process - in this case, after the Content Region.
  • 61. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 I’ll set the width of the Content Region to 8 columns, and leave the weight alone.
  • 62. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 Finally, I’ll set the Zone of the Sidebar Second region to “- None -”, which will remove it from the Content Zone altogether.
  • 63. /admin/appearance/settings/epsilon Zone and region configuration tab Tuesday, May 14, 13 Lastly, in the Footer Zone of the Footer section, I’m going to set the width of the Footer First region to 8, and the width of the Footer Second region to 4. Since these two regions are already in the same zone, they will line up horizontally automatically, so there’s no need to move them around from one region to another.
  • 64. Tuesday, May 14, 13 Here’s what our site looked like when we first created our Omega sub-theme, Epsilon.
  • 65. Tuesday, May 14, 13 Here’s what our site looks like now. The sidebar has moved to the right, the logo and site name are gone, and the content spans an width of 8 grid columns. We are definitely moving in the right direction.
  • 66. Delta Tuesday, May 14, 13 Now, if you’ll recall, our wireframes had two very different layouts - the content section that we’ve been working on, and the homepage. Previously, making those different layouts would have caused a lot of programming with alternate tpls and functions in template.php.
  • 67. Tuesday, May 14, 13 Delta changes that. This module, also by the creators of Omega, gives us the ability to save different sets of theme settings, and apply them as alternate layouts in Context. Let’s give that a whirl.
  • 68. /admin/appearance/delta Tuesday, May 14, 13 There’s a new tab in the Admin/Appearance menu, Delta. Go there, and click “Add”
  • 69. /admin/appearance/delta/add Tuesday, May 14, 13 Very much like when we created a new sub-theme with omega_tools, this gives us a new configuration form to fill out.
  • 70. /admin/appearance/delta/add Tuesday, May 14, 13 We start by giving it a name and description - in this case, I’ve called it “Content and Sections” with a description of “Page template for the Content and Section List pages”.
  • 71. /admin/appearance/delta/add Tuesday, May 14, 13 Next, and most important, you must choose the theme to which you wish to have this delta apply. In this case, I have picked Epsilon. Parent template and Operation mode allow for a complicated layer of inheritance between deltas; I generally find them not that useful and usually leave them at their defaults.
  • 72. /admin/appearance/delta/add Tuesday, May 14, 13 You can now see our delta has been created.
  • 73. Context Tuesday, May 14, 13 Now we add a context, which allows us to apply that Delta to different parts of our site based on URL.
  • 74. /admin/structure/context/add Tuesday, May 14, 13 At admin/structure/context/add, we will find the “Add context” form.
  • 75. /admin/structure/context/add Tuesday, May 14, 13 First, we give it the usual Title and Description. We also have the ability to give it a “Tag” which groups different contents for different purposes. In this case, I’ve titled it “Content and Sections Context”, with a tag of “Layout”.
  • 76. /admin/structure/context/add Tuesday, May 14, 13 Moving down, we get to Conditions. This how context governs what to do. If the state of your site meets the conditions, then whatever is listed in the Reactions section, happens. The easiest one to use, which we are doing, is “Path”.
  • 77. /admin/structure/context/add Tuesday, May 14, 13 In this case, because the layout we’ve built is for all pages *except* the home page, we will put a tilde - the little squiggle line - in front of the Drupal-standard <front>
  • 78. /admin/structure/context/add Tuesday, May 14, 13 Now, we add a reaction - we’ll actually be adding a couple. First, a Delta. This assigns the layout we just created and saved to all pages in this context - that is, all pages *except* the home page.
  • 79. /admin/structure/context/add Tuesday, May 14, 13 You can see here that Content and Sections delta is the only choice, because so far it’s the only one we’ve made.
  • 80. /admin/structure/context/add Tuesday, May 14, 13 Next, we’ll add some blocks - we do it here instead of in the blocks admin because we have much more control over what block gets added where, and on what pages.
  • 81. /admin/structure/context/add Tuesday, May 14, 13 The Blocks context is large, but fairly easy to use.
  • 83. /admin/structure/context/add Tuesday, May 14, 13 And add it to a region. Do this for all the blocks you need. In this case, we are assigning them as follows: Page title and Main page Content to Content Region, Logo to Branding Region, Main Menu to Menu Region, SOLR Related Content to Sidebar First, Footer menu to Footer First, and Copyright to Footer Second.
  • 84. Display Settings Tuesday, May 14, 13 Finally, we are going to tweak the display settings for our content fields.
  • 85. /admin/structure/types Tuesday, May 14, 13 At admin/structure/types, click “manage display” for the Article content type.
  • 86. /admin/structure/types/manage/article/display Tuesday, May 14, 13 Then click the little gear icon for Image...
  • 87. /admin/structure/types/manage/article/display Tuesday, May 14, 13 And set the image style to “content_highlight” - the image style we made waaaay back when.
  • 88. Tuesday, May 14, 13 Here’s our site before...
  • 89. Tuesday, May 14, 13 And here it is now.
  • 90. Tuesday, May 14, 13 Note the addition of the logo, menu, page title, and related content blocks, which were placed with the Context module.
  • 91. Rinse and Repeat Tuesday, May 14, 13 Now, we go through this whole process once more, for the homepage layout. I’m going to take some shortcuts here, though, and just show you the highlights. We will have one new thing, though, so I hope you’re still awake.
  • 92. /admin/appearance/delta/add Tuesday, May 14, 13 Create a new Homepage delta. This new delta will default to using the main theme settings, but we will need to make some changes.
  • 93. Menu - 8 grid columnsLogo - 4 grid columns Content - 4 grid columns Sidebar - 8 grid columns Footer Menu - 8 grid columns Copyright - 4 grid columns Tuesday, May 14, 13 Looking at our home page, we can see some changes and additions. The content is now only 4 grid columns, while the sidebar with the highlight image in it is 8 columns.
  • 94. Postscript - 4 grid columns Postscript - 4 grid columns Postscript - 4 grid columns Menu - 8 grid columnsLogo - 4 grid columns Content - 4 grid columns Sidebar - 8 grid columns Footer Menu - 8 grid columns Copyright - 4 grid columns Tuesday, May 14, 13 Additionally, there’s a new postscript zone, that’s three regions of four grid columns each.
  • 95. /admin/appearance/delta Tuesday, May 14, 13 Click “Configure” at admin/appearance/delta on the Homepage layout.
  • 96. /admin/appearance/delta/list/homepage/configure Tuesday, May 14, 13 What you’ll see at this point is the same interface as the theme settings. That’s the beauty of Delta: It gives us the ability to customize theme settings for individual pages or sections of the site. In this case, I’m going to set the column widths for the Content region and Sidebar First region to 4 and 8, respectively - a reversal of their original settings.
  • 97. /admin/appearance/delta/list/homepage/configure Tuesday, May 14, 13 The Postscript Zone comes with four regions by default. I am going set the First through Third to a width of 4 columns, and then set the Fourth to a Zone of “None”, disabling it from our site.
  • 98. CCK Blocks Tuesday, May 14, 13 CCK Blocks is a cool little module that allows you to assign CCK fields to blocks, rather than having them print in the content area.
  • 99. /admin/structure/types/manage/homepage/fields Tuesday, May 14, 13 At the Manage fields page for the Homepage content type, we are going to edit each of the fields we want to add to blocks - in this case, Image and Featured Videos.
  • 100. /admin/structure/types/manage/homepage/fields/field_image Tuesday, May 14, 13 At the very bottom, you can see there’s a new option - “Provide block for this field”. We’ll set this to “Enabled”. We do this for both the Image field and the Featured Videos.
  • 101. /admin/structure/types/manage/homepage/display Tuesday, May 14, 13 Now, in the Manage Display settings, on the Default view mode, we move Image and Featured Content to “Hidden”...
  • 102. /admin/structure/types/manage/homepage/display Tuesday, May 14, 13 ...and in the CCK Blocks settings, move them OUT of hidden. We then choose their Formats...
  • 103. /admin/structure/types/manage/homepage/display Tuesday, May 14, 13 ...setting Image to “Image”. Click the little gear icon and ...
  • 104. /admin/structure/types/manage/homepage/display Tuesday, May 14, 13 ... set image style to “homepage_highlight”, another of the image styles we created way back at the beginning. I’m going to cheat right here, and configure the featured videos as well, which is a delve into media module we don’t have time for today. The short version is that Media uses our image styles to set some defaults on the output and render them the same size as the “content_highlight” style.
  • 105. /admin/structure/context/add Tuesday, May 14, 13 Finally, we’ll create the Homepage context. It is pretty much the same as before; we’ll name it, assign it to “<front>”, and pick the newly-created “Homepage” delta. Then we’ll assign blocks. In this context, the blocks all get assigned to the same places as in our other context, with a few exceptions. We don’t assign page title at all; we put the Featured Content View block in Postscript First, and the Upcoming Events block in Postscript Second.
  • 106. Tuesday, May 14, 13 Here’s how they output.
  • 107. /admin/structure/context/add Tuesday, May 14, 13 Additionally, we assign the two blocks provided by cck_blocks - Image field, to the Sidebar First region, and Featured Videos to the Postscript Third region.
  • 108. Tuesday, May 14, 13 Here’s how they output. Were we not using CCK_blocks or another similar module such as Display Suite, we could not easily move a node’s field into a block without writing a lot of code. This is one of my favorite tools for making easy and simple layouts.
  • 109. Final product Tuesday, May 14, 13 And what’s it look like all together?
  • 110. Section PageHome Page Content Page Tuesday, May 14, 13 This... turns into...
  • 111. Section PageHome Page Content PageSection PageSECTION PAGE Tuesday, May 14, 13 ...this.
  • 112. Section PageHome Page Content Page Tuesday, May 14, 13
  • 113. Section PageHome Page Content PageSection PageSECTION PAGE Tuesday, May 14, 13
  • 114. Section PageHome Page Content Page Tuesday, May 14, 13
  • 115. Section PageHome Page Content PageSection PageSECTION PAGE Tuesday, May 14, 13
  • 116. Section PageHome Page Content Page Tuesday, May 14, 13
  • 117. Section PageHome Page Content Page Tuesday, May 14, 13 Now... I know it doesn’t look exactly like the wireframes - there’s a few bits and pieces of cleanup left, and a ton of CSS. But that’s the point - there’s *only* CSS left. Everything is in its proper place, and we haven’t written a single line of code to get here. That’s the magic of Omega.
  • 118. Omega 4.x Tuesday, May 14, 13 I promised a preview of Omega 4. And while it’s still in Alpha, we do know some things about it.
  • 119. • Pluggable Extensions Omega 4.x Preview Tuesday, May 14, 13 The major difference between 3 and 4 is the introduction of extensions. Extensions serve as a set of features / group of functionality that can be disabled / enabled as a whole - they can provide theme settings and other core features for the theming framework.
  • 120. • Pluggable Extensions • Small-core code reduction Omega 4.x Preview Tuesday, May 14, 13 As the extensions replace what was core theme functionality, the base theme’s codebase is also reduced in size.
  • 121. • Pluggable Extensions • Small-core code reduction • Layouts Omega 4.x Preview Tuesday, May 14, 13 Another new idea is the addition of layouts, which are pre-configured sets of page structures - much like what we generated with delta, but without an admin interface. Think of it like an alternate page.tpl.php with CSS, JS and PHP code that belong only to it. At its most basic, it’s a combination of a .info file and a page.tpl file. There is additionally talk of a layout builder that works somewhat like Delta works, which will allow you to build layouts from an admin interface.
  • 122. • Pluggable Extensions • Small-core code reduction • Layouts • Delta and Context might be unnecessary Omega 4.x Preview Tuesday, May 14, 13 Still in exploration is the way these layouts are triggered and used. It might be that Delta and Context become unnecessary, though at this stage it seems more like Delta and Context will be one of several possible ways to handle varying layouts; others include Panels and custom code.
  • 123. • Pluggable Extensions • Small-core code reduction • Layouts • Delta and Context might be unnecessary • Support for any Grid System (but especially Omega.gs) Omega 4.x Preview Tuesday, May 14, 13 Rather than tying down to 960gs, Omega will now support any grid system, including Susy, Zen Grid, and a newly developed Omega.gs (which will of course be the new default).
  • 124. Omega 4.x Preview • Pluggable Extensions • Small-core code reduction • Layouts • Delta and Context might be unnecessary • Support for any Grid System (but especially Omega.gs) • Sass is included, with .scss files and config.rb Tuesday, May 14, 13 SASS is included by default, and is where the media query breakpoints will live (out of theme settings).
  • 125. • Pluggable Extensions • Small-core code reduction • Layouts • Delta and Context might be unnecessary • Support for any Grid System (but especially Omega.gs) • Sass is included, with .scss files and config.rb • Performance enhancements Omega 4.x Preview Tuesday, May 14, 13 With the reduction of the code base, and preprocessing of CSS and a number of other changes, this new version is reducing overhead on the server and the client side. This is good for all concerned.
  • 126. • Layout Builder What it Doesn’t Include Tuesday, May 14, 13 What *doesn’t* it include? Well, one notable exclusion is the core of what we’ve just done - a layout builder. Omega Core in 4.x, in its current state, contains no functionality that will allow a developer to do site layout like we’ve just done in 3.x. In fact, at the moment there’s no defined mechanism for triggering alternate layouts, which, in my opinion, limits the usefulness of the base theme rather drastically. I’ve been pushing - hard - on the Omega maintainers to build these tools as either an extension or a module before releasing a full version, and they have agreed that it is a good idea, but to my knowledge no work has been done on this front. So, we’ll see.
  • 127. Important Links • http://960.gs Great tutorials and demos on 960gs. • omnigraffle template available as part of 960gs source code at https://github.com/nathansmith/960-grid-system/ • #drupal-omega Tuesday, May 14, 13 That about wraps up our presentation. Here are a few important links and references for you. *read references*
  • 128. Senior Developer Email: jturton@phase2technology.com Joshua Turton Twitter: @sjinteractive drupal.org/IRC: srjosh Tuesday, May 14, 13 Thank you all so much for coming. This is my contact information; please feel free to reach out to me. (If time, open for questions)