OK this is an update as of 15th Nov 2014.

Big changes in the theme this week:

1. New Layout System
2. Breakpoints is now a dependancy
3. Updated Responsive Menus

Layout:

The biggest change in the last few weeks is the layout system. After much thought I came to the conclusion that I should go back to my original idea and build layout per region, rather than switching whole-page-layouts you now set the layout by breakpoint and row. This is an extremely flexible and powerful system what allows you to select any breakpoint group, generate template suggestions and set the layout for each breakpoint and each "row" within the page. I will make a video very shortly to demonstrate how this works and how to use it.

Breakpoints Module is now a dependancy

Breakpoint is a Drupal core module and is enabled by default on a standard install since Toolbar uses it. The theme now relies on Breakpoint to provide its media query breakpoints which are stored in yml files inside AT Core.

AT Core ships with two Breakpoint groups - AT Core Simple and AT Core Advanced. The simple group has just three pretty basic media queries but the advanced has 6 media queries that interact in a pretty complex way, they can be used together, for example using the Advanced group for Layout and the Simple for Responsvie menus, in fact you can combine any group (for example from another theme or module such as Toolbar).

Breakpoint module allows you to add your own breakpoints to your theme or module and use them anywhere, for example you can use the same breakpoint in Responsive Images module in Drupal core.

Responsive Menus

Responsive menus extension has been revamped, you can now set the breakpoint group. You can set a default menu style and one breakpoint for the responsive style. It can support a mobile first or desktop first approach. Options include Slidedown (standard hamburger menu), off canvas (left and right options), drop menu, standard horizontal menu (no drop downs), tiles and standard vertical menu. Tiles allow you set the number of tiles.

The responsive menus system is quite new and certainly requires more testing before release, especially on touch devices. We are running a double-tap script that can detect the first tap and open a sub-menu (for example with drop menus on touch screens).

There are a huge amount of other updates, far to many to detail here, instead I will be making a series of videos on the various extensions and features in the theme, and much help to get started using it.

Comments

Jeff Burnz’s picture

Short answer is yes. What I haven't decided on, as yet, is what form it will take - this depends entirely on D8 itself and where it ends up. I think we're at a point now (with D8) to really start planning where we can take AT, since D8 is so entirely different from D7 I had to wait until now to get a very clear picture of how a theme will work and what sorts of cool stuff we can achieve.

What I will do is create a new 'version' in GIT and start mapping out features and discussing these with the community.

kingfisher64’s picture

Superb. If there's anything I can do (that a non developer) could contribute, eg, create an AT demo site, bug testing, trying out patches etc let me know, i'd be glad to help if I can.

I think AT is hands down the best Drupal theme, really 8 would benefit greatly if it came shipped with it by default.

Jeff Burnz’s picture

Title:Drupal 8» Drupal 8 - what do we want, not want, and what sucks about the D7 version of Adaptivetheme

OK, I have kind of hijacked the thread so we can use this for a bit of a discussion about the Drupal 8 version - I made some notes how to contribute as a non-programmer.

kingfisher64’s picture

Possible feature suggestions for d8 version, please shout "they suck" if they truly do

  • a backend UI that allows the user to be able to create subthemes. This was mentioned in #drupal the other week by someone when I suggested they look at AT. (maybe this functionality would be good for Premium themes?)
  • my suggestion - to be able to save the state of an AT enabled theme. I ship all sites with AT but at present things like extensions enabled, markup overrides need to be re-configured on a new site setup each time. It would be great if AT was able to remember the config settings or had a way to import the correct preset for a site. The preset route would be flexible.
kingfisher64’s picture

Possible feature suggestions for d8 version

  • a backend UI that allows the user to be able to create subthemes. This was mentioned in #drupal the other week by someone when I suggested they look at AT. (maybe this functionality would be good for Premium themes?)
  • to be able to save the state of an AT enabled theme. I ship all sites with AT but at present things like extensions enabled, markup overrides need to be re-configured on a new site setup each time. It would be great if AT was able to remember the config settings or had a way to import the correct preset for a site. The preset route would be flexible.
  • new suggestion
  • Being that the semantic code is becoming more and more important, built in support with either https://drupal.org/project/rdfx or https://drupal.org/project/microdata would be useful. In addition https://drupal.org/project/fences. Obviously this would be in whatever form these modules take in d8.
Jeff Burnz’s picture

Fences will work for the most part afaikt, I have used it a lot in the past and found no real issues.

Generating a subtheme is an interesting idea, that I think could be done and would work pretty simply, I personally really like that and would use it - right now I tend to use the drush features and fix and repair when they go wrong (they need work).

The state of a subtheme is saved already, its captured in the [themename].info.txt file that is generated when you save the theme settings - there are quite a lot of instructions on how to use this to migrate a theme. Even your custom color scheme is saved if you are using a colorable theme like Corolla or one of the commercial themes. Now - this is where, for me at least, things start to get pear shaped in Drupal 8 - I want to use the configuration system to save things like this, but I am not entirely sure how to do it, the idea being that when you export and import your D8 config all the theme stuff goes along with it. I have to work on this.

Jeff Burnz’s picture

Title:[META] Drupal 8 - Roadmap and Update» Drupal 8 - what do we want, not want, and what sucks about the D7 version of Adaptivetheme

Updates:

Having spent the best part of a few weeks thinking about D8 and looking at potential ways we can do advanced themes I have come to some strong conclusions:

1) The initial commit is going to be a relatively simple theme with the vast majority of what you know to be "AT Core" removed. simple reason is D8 is still moving a lot, shifting sands so to speak, AT D8 is a ground up rebuild with all previous assumptions and ideas revised.

2) Heavy focus on external library integration. AKA the ability to load whatever lib you want, or piece of a lib, very easily.

3) Using Sass for building the layouts, most probably Susy Next, but you can use anything you want, i.e. use Bootstrap/Zurb Foundation/Zen Grids if thats what you prefer etc etc.

4) Tending towards not invented here (i.e. external library integrations made easy, make no assumptions), tending towards simplicity over complex solutions. Focus on 80/20 and you fix your own edge case.

5) Layout building is seriously revised, seriously. The big issue here is site builders vs hard core front end developers. Each party wants different tools, not easy to satisfy both, that is the hard bit here. I also have the issue of code maintenance and dev costs.

6) For the record AT will use Twig, just in case any one asks that question, Twig is too good to not use, and phptemplate to insecure in D8.

7) Subtheme generation is seriously on the cards, this will probably be a wizard, with similar or the same in a drush script also.

8) Likely to be very little in the way of theme_function or template overrides by default. Also the less we need to do in process functions the better, I really want to leverage the hell out of core and make very few theming assumptions. D8 is miles and miles better than D7 on many accounts, lets use it.

Thats about where I am at right now, the last few years have seen a revolution in how we build front ends, so time to drag this theme into the modern age, but still provide robust and flexible tools for site builders and hard core front enders.

I will commit the D8 branch in the coming weeks and then its all GO GO GO.

Jeff Burnz’s picture

Title:Drupal 8 - what do we want, not want, and what sucks about the D7 version of Adaptivetheme» [META] Drupal 8 - Roadmap and Update

Updating and repurposing the issue, initial dev is going well, still on track for a first commit next week.

kingfisher64’s picture

Love the idea of being able to load whatever library is needed in each individual case.

Proposed enhancements to AT (not code based)

Have a AT theme upload section somewhere (I'd be wiling to setup a virtual server for you if it helps) where users of AT can upload their specific setup for others to view & download. Could be v useful if there are now going to be significantly different setups with libraries etc. I'm not clear on exactly the level of flexibility AT8 would have.

It would also be a way for AT to grab hold of the AT theme market as it would be no longer just download the theme and customize to your heart's content, but on top you would get contributions back. A place to go when a user has a specific project (eg, restaurant) they can have a look round and find a suitable theme. This might paint a picture of how people are using AT and help shape it's future direction.

So this doesn't step on the toes of your theme club, there could be further customizations available from the author? - for a fee.

Just throwing some ideas out there.

Jeff Burnz’s picture

I have built about half the Libraries feature, I was thinking about relying on the Libraries module (Library API) but its doesn't really work how we need it to, in case anyone wonders that. I could use it, but it would mean themers will be confronted with everything in the libraries directory - that could mean WYSIWYG editor JS files etc etc, probably not what we want.

The libraries feature is pretty cool, I should have this in some sort of working order in the next week or two.

At moment I have been working on the Sub theme Generator - this work is pretty much complete for the time being. It works very well - there are three types of sub themes you can generate, and you can even select the base theme (in other words you can generate sub-sub themes, or even sub-sub-sub themes if you really want to).

There are few caveats at the moment for those sub-sub themes, but it does work and takes about a nano-second to generate a new theme. Hopefully I can iron out the caveats before D8 but really even as it is now its very usable and works a charm.

Regarding a Repo, well, you might know I have tried that before, about 3 years ago or more, and back then only one person contributed a theme. I think people are really busy and frankly Github is the king when it comes to forking and redistributing code, I would encourage people to use Github or even Drupal.org if they can get their project approved, I know that can be time consuming which is why I say go for Github if you just want to throw stuff out there and share.

Just for the record I will always encourage people to contribute back - I love the innovation factor, seeing what people do with stuff. Its often the highlight of my day when someone sends me a link and tells me what they have built with AT or another of my projects.

Diane Bryan’s picture

I guess if I had to put in my first-year-Drupaler two-bits I'd say:

* custom Gpanels (or comparable) would be good.
* Easy region definition
* Stability of the mobile-responsive features.
* Mobile menu in any region
* easier color integration (for the non-coders in the crowd)
* An AT forum for solutions rather than the issues queue (not your fault)
* A new D7 release before D8
* A solution to FOUT and an end to world hunger.

I still do CSS by hand, so I'm prolly in the dark ages with that one.

Jeff Burnz’s picture

Mobile menu in any region means it should be a module, probably an addon to the the new Menu Block features in Drupal 8, as in a bit like a formatter for views but plugged into the actual block configuration, much like Superfish does right now in D7. That would be by far the best solution.

Easy region definitions, well, I am not really sure what is meant by that.

Gpanels - well, its likely the entire page will be built from Gpanel-ish chunks of layout that you can swap in and out as you need. It mostly works like this now but is a proof of concept stage of development. I have to wait to see what happens with the SCOTCH initiative. Changes will need to be done in code, personally I think this is the best solution, so the challenge becomes making that very easy.

Color module is a core module, we themers just have to work with its features, there is little to nothing I can do about this. What I can do, and have done, is make it trivial to sub-theme a colourable theme, you might be shocked in the D8 version of AT because you can clone a theme with a few clicks.

I should reiterate so people are not too shocked but the D8 version is going to be radically different. Times have changed in the past two to three years as have the demands of themers and site builders, Drupal is in a huge transitioning phase and the audience is changing. Before we could kind of get away with building highly proprietary solutions (like AT 7.x3.x and Omega 7.x-3.x also) but that window is closing and we need to find better, faster and more open solutions - and frankly that means putting some of the tricky stuff back into code (meaning you have to do some coding if you want to change stuff), and reducing the amount of pointy-clicky stuff because that constrains you to a set of options.

What I am gunning for this time around is finding the pain points for the REALLY hard stuff and make those things easy to achieve, as well as making things like layout pretty easy with a little elbow grease and the right documentation. I think there will be a pretty big focus on building helper modules also, such as a mobile menu block module, or something like that.

kingfisher64’s picture

I'm not sure if prefixing & postfixing empty blocks will be part of scotch initiative, so I'll propose it as an idea.

It appears that drag n drop UI is going to have a high priority of emphasis. So with that in mind how about "designing/laying out" the design in AT8 in the front end?

From the front end being able to define white space equating to a % value. So in the header if I want the logo block to be 33.4% of the total header and placed in the middle I would apply a prefix of white space of 33.3% and a postfix of 33.3%.

Out of interest how will AT play with https://drupal.org/project/layout ?

Jeff Burnz’s picture

Title:Drupal 8 - what do we want, not want, and what sucks about the D7 version of Adaptivetheme» [META] Drupal 8 - Roadmap and Update

AT would have used Layout Module if it was in Drupal core, but it was removed. I tend to think that the general lack of interest in Layout module and clear signs this is not being heavily worked on could mean it's dead, we will have to wait and see, personally I had high hope for it but I can't honestly rely on it at the moment. I say it has a general lack of interest because despite huge efforts to promote it, lots of development and even a stint in Drupal core, after one year a mere 600 sites use it and most of them I bet are test sites and Simplytest.me sites, almost no work is being done it and all its important issues in Drupal core failed to attract much attention. I gotta listen to that.

Just to be clear, it was not the GUI in Layout Module that made me interested, it was the idea that themes declare "layouts" and a Layout module "layout" is a stand alone thing, like a layout plugin almost, so is highly reusable and not bound to one theme. That is what Drupal core like also and the only bit of Layout module that got committed was that. No GUI was ever included in Drupal core.

The current AT Core prototype uses yml files to define layouts - in short you write an info file and AT Core will generate the twig markup and save it (writes page.html.twg) using this layout.yml file. A theme can have many "layouts" and you can apply a layout to a path using template suggestions (AT Core generates these as well). Think of a "Layout" as kind of like a really simple plugin. In many ways its kind of like Layout Module, only different and probably more powerful.

The actual CSS is provided by the "layout" and you have to write this yourself (or use an existing layout or edit one manually). AT will ship with many tools to make this a fast and easy task, even for non themers, and of course front end developers they can use whatever SASS, LESS etc that they want. Basically you can get away with never writing any actual twig markup code or CSS if you don't want to.

I think Layout module had lots of promise, especially the version that was in Drupal 8 (which did not have a GUI), essentially I liked the idea that themes could declare "layouts" and these were just simple code. I believe that SCOTCH was to provide a way to "attach" a "layout" to a "path" (eg the front page) and you could set blocks just for that one instance of the layout, I was never totally clear on what the plan was for that part of the SCOTCH initiative. Anyway most of those issues are bumped to Drupal 9.

Its some of those ideas I've taken and melded into the new theme, being about the declare and define "layouts" and create templates suggestions (paths).

So to answer your question directly no AT will not provide any sort of drag and drop layout builder etc etc, to my way of thinking those are solved problems in the real world of theme development, they are not an issue for me and most others either. The real pain points are in other places and I am focusing on the really hard problems we as theme developers face on a daily basis, for me that is time, how long it takes to do stuff.

Jeff Burnz’s picture

As an update the theme is getting to a pretty high level now and probably time to start committing code - because of the rather cutting edge nature of this theme it needs to ship with documentation right from the start so I am writing that now. Thats actually the biggest pita for D8 right now - very few good docs have been written (there are some good ones, like CMI is well documented as is Tour module) and because AT D8 uses D8 centric ideas I will have to document them extremely well.

Really what I am designing and building here is an entire layout system that is compatible with everything else around it, say like Panels, it won't break basic functionality such as something like Omega 7.3 did (stripped away template suggestions as a goto tool) and forced you to use delta and context modules.

We don't want to go there - instead interoperability is paramount as is doing things the way front end developers (esp D8 themers) will likely work in D8 is really important - lots of crystal ball gazing here because D8 is still likely to be some time away and do no be surprised if things get ripped out (brutally so) as it depends a lot on what modules like Panels and Page Manager end up doing in D8. I would be watching that space very closely.

If all things work out equal and D8 ships essentially in its current state just finished and bug fixed, then we are on track.

Jeff Burnz’s picture

Issue summary:View changes

update issue with details about reporting issues in D7 version etc

Jeff Burnz’s picture

Issue summary:View changes

Updated issue summary.

Jeff Burnz’s picture

Issue summary:View changes

Updated issue summary.

Jeff Burnz’s picture

Issue summary:View changes

add section for reviews and code feedback

Jeff Burnz’s picture

Issue summary:View changes

Updated issue summary. spelling error

Jeff Burnz’s picture

I've made the first commit for D8.

You can download it here: https://drupal.org/node/2119327

Please read the release notes, its a good intro to the theme and includes some vital information for usage at this stage.

Its pretty raw and needs some work on the settings, to use it you should:

  1. enable AT Core
  2. then generate a new sub-theme (visit the settings page for AT Core and use the generator)
  3. enable the new sub-theme
  4. go to the new sub-themes settings page, select "default" from the Page Type setting, select a layout (probably Univer is a good choice) and save the config.

In the future you won't need the final step, but just right now I forgot to update the settings etc, so in a few days that should be fixed.

Jeff Burnz’s picture

To compliment the new theme I have created a module that implements page and site elements as blocks, this module will follow the core patches:

https://drupal.org/sandbox/jmburnz/2122067

If anyone can't use git to grab this module let me know, I'll consider promoting it to a full project until the core issues are committed:

#507488: Convert page elements (local tasks, actions) into blocks
#1053648: Convert site elements (site name, slogan, site logo) into blocks

Jeff Burnz’s picture

Issue tags:+atd8

tagging

Jeff Burnz’s picture

Issue summary:View changes

add warning message about autoloading

Jeff Burnz’s picture

Issue summary:View changes
John Pitcairn’s picture

Version:7.x-3.x-dev» 8.x-1.x-dev

Should be 8.x-1.x-dev?

Jeff Burnz’s picture

Yes D8 indeed, I assume the "upgrade" has broken issues in many ways.

Jeff Burnz’s picture

Issue summary:View changes
Jeff Burnz’s picture

Issue summary:View changes
Jeff Burnz’s picture

Issue summary:View changes
ashish_nirmohi’s picture

Issue summary:View changes
StatusFileSize
new61.22 KB
new69.82 KB
Jeff Burnz’s picture

Issue summary:View changes
Jeff Burnz’s picture

@ashish_nirmohi - two things:

1) if you have a new issue please post a new thread, please do not overwrite the issue summary of an existing thread unless you are actively working on the problem such as writing patches etc.

2) I don't know what you are showing in the screenshots, it's not enough to help you, also remember this theme is in development cycle, not even a beta, its pure dev so things will at times be broken.

Jeff Burnz’s picture

Issue summary:View changes
Jeff Burnz’s picture

Status:Active» Closed (fixed)

We're pretty much done here, the next phase is really about documentation, video guides and cleaning up code etc, the theme is essentially feature complete.

kingfisher64’s picture

Congrats Jeff. I can't wait to use AT for all d8 work, d7 is rock steady so I'm hoping this will be the same.

I wish you and the theme club well.

almaudoh’s picture

Great work, Jeff! Can we start using this on D8 sites?