Description:
TukTuk is a fully responsive mobile first theme. Based on the project at http://tuktuk.tapquo.com/ and similar to flat UI, I wanted to make it as easy as possible for themers and designers to easily create a theme based around TukTuk. That is why I also converted TukTuks stylus files to LESS so then it caters for a wider audience and very soon SCSS support will be available.
This them project is very similar to Bootstrap (http://drupal.org/project/bootstrap/) in a way that it users similar 'helper classes' as bootstrap calls it.

Git Info:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/jkswoods/2188627.git tuktuk
cd tuktuk

Project Info:
https://drupal.org/sandbox/jkswoods/2188627

Modules I have reviewed:
https://drupal.org/node/2211681 Youtube Feed Block
https://drupal.org/node/2160691 Temporary Suspension
https://drupal.org/node/2213733 ZohoCRM
https://drupal.org/node/2199965 Thundersearch

CommentFileSizeAuthor
Screen Shot 2014-03-09 at 13.57.11.png82.24 KBjkswoods
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jkswoods’s picture

Issue summary: View changes
jkswoods’s picture

Issue summary: View changes

Updated Description.

jkswoods’s picture

Issue summary: View changes
jkswoods’s picture

Issue summary: View changes

Updating Reviewed Modules.

jkswoods’s picture

Issue summary: View changes

Updating Reviewed Modules

jkswoods’s picture

Issue summary: View changes

Updating reviewed modules.

jkswoods’s picture

Issue tags: +PAreview: review bonus

Adding review bonus

PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpgitdrupalorgsandboxjkswoods2188627git

I'm a robot and this is an automated message from Project Applications Scraper.

jkswoods’s picture

Status: Needs work » Needs review

All issues have been fixed in pareview.sh.

Their seems to be an issue though with it saying the CSS on line 12/13 doesn't comply with coding standards:

@import url("http://fonts.googleapis.com/css?family=Lato:300, 400, 700");
mraichelson’s picture

Status: Needs review » Needs work

This is a nice clean starting point for theming from, nice work.

I'm still taking a detailed look at things, but here's a few notes:

  • Does not include a screenshot image.
  • Repeated error message (only visible in admin):
    Notice: Undefined index: class in tuktuk_image() (line 30 of /[site docroot]/sites/all/themes/tuktuk/template.php).
    Line 30 should be the following (class is an array so multiple values can be added to it if needed):
    $attributes['class'][] = 'responsive';
  • Images used in content are rescaled (even upscaled) to fit width of content area. This causes some big issues if you try using it with the forum module or sortable tables that use icons for sort order. It might work better to change the styles for img.responsive to eliminate the width property and replace it with max-width:100% instead (so large images in small spaces will be scaled down, but small images in large spaces won't be scaled up).
  • JavaScript error in tuktuk.js:
    [Error] TypeError: 'undefined' is not an object (evaluating '$.apply')
    dom (tuktuk.js, line 26)
    (anonymous function) (tuktuk.js, line 30)
  • Theme tries to add file tuktukoverrides.js that doesn't actually exist in the codebase leading to a JS error:
    [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (tuktukoverrides.js, line 0)
  • Since Google Fonts (as included remote through the @import directive mentioned above) is actually licensed under the SIL Open Font License and not the GPL I'm not sure if this causes hiccups with the GPL licensing requirement for code hosted/distributed through drupal.org. References: Wikipedia: Google Fonts, Wikipedia: SIL Open Font License.

Style/usage notes:

  • The help region is not rendered so error/success/debugging/etc. messages not displayed.
  • Does not render page control tabs (view/edit/revisions/etc.) so trying to browse and manage content is a bit troublesome.
  • Paragraph tags in content have no top/bottom margin so they run together with no vertical spacing to separate them.
mraichelson’s picture

Two more:

  • theme-settings.php is empty, should it be removed or is there code that is meant to be in this file that just hasn't been added to the codebase yet?
  • The main TukTuk library is not GPL licensed code (it's MIT licensed according to the license.md file in the main GitHub repo) I believe that's still GPL-compatible and okay for use on D.o but would want to double-check with someone more in the know.

Edit: A few other discussions around the license used for FontAwesome.

jkswoods’s picture

Status: Needs work » Needs review

Thanks for the points mraichelson.

  • A Screenshot has now been added.
  • Change to the theme function tuktuk_image is now in effect.
  • Max-width has been set for all CSS LESS stylus files which contain the class img.responsive .
  • tuktuk.js has currently been removed as some of the features in there haven't actually been implemented yet and it does need quite an update.
  • To avoid any licensing hiccups as you pointed out I have removed the import of the google fonts in the CSS file, to leave it up to the user to import in their own fonts and such with whatever third-party service they choose.
  • Help region and tabs are now being rendered.
  • Paragraph tags have been given some room to breathe.
  • Theme-settings.php is currently un-used and will have settings in the near future. So for now it has been removed.
  • The custom font awesome library tuktuk had built in is now removed to comply with drupals licensing. After all there is modules that provide the icon libraries anyways.
  • I have checked and double-checked TukTuks licensing is safe for drupal!
jkswoods’s picture

Status: Needs review » Reviewed & tested by the community
klausi’s picture

Status: Reviewed & tested by the community » Needs review

Please don't Rtbc your own application, see the project application workflow https://drupal.org/node/532400

Vinay Punyamurthy’s picture

Status: Needs review » Needs work

@jkswoods, I came across these below issues in your .info file(s). Please fix them.

1) 'description' line in your .info file(s) needs to DESCRIBE your theme. It should be "A short description of the theme" - https://drupal.org/node/171205#description

2) In Drupal 7, the line "engine = phptemplate" is no longer necessary because PHPTemplate is assumed by default. - https://drupal.org/node/171205#regions

3) Missing page_top and page_bottom regions in your .info file. "If you define custom regions, it is important to remember that you need to include the page_top and page_bottom regions in your set of regions." - https://drupal.org/update/themes/6/7#closure

jkswoods’s picture

Status: Needs work » Needs review

Thanks for the comment Vinay.

  • The description is now actually a description instead of just 'TukTuk' which was serving as a temporary placeholder.
  • The reference to the phptemplate in the .info file has been removed.
  • The page_top and page_bottom regions are now being set in the .info file.
jkswoods’s picture

Issue summary: View changes

Updating reviewed modules.

jkswoods’s picture

Priority: Normal » Major
dahousecat’s picture

Really nice looking theme - would consider using it in the future as would making developing for mobile a breeze.

Few issues I found:

  • sidebar_second is not actually rendered in page.tpl.php so any blocks placed there will never appear.
  • Whilst page_top and page_bottom are in the info file and html.tpl.php when viewing /admin/structure/block neither the page_top or page_bottom regions appear in the list. They also don't appear on the /admin/structure/block/demo/tuktuk page.
  • html.tpl.php, block.tpl.php, comment.tpl.php, maintenance-page.tpl.php and node.tpl.php all have missing semicolons on the ends of lines
  • Also pareview is saying you shouldn't have -dev on the end of your git branches and Bad line endings were found in custom.styl and custom.less.
dahousecat’s picture

Status: Needs review » Needs work
dahousecat’s picture

Priority: Major » Normal
mraichelson’s picture

Whilst page_top and page_bottom are in the info file and html.tpl.php when viewing /admin/structure/block neither the page_top or page_bottom regions appear in the list. They also don't appear on the /admin/structure/block/demo/tuktuk page.

page_top and page_bottom are used programmatically for stuff within Drupal not as a region for manual block assignments. Things like the admin toolbar and some modules that add scripts to the page (like some analytics scripts that use a "this goes before the closing BODY tag" scenario) use them.

dahousecat’s picture

Ah ha, I did not realise that - good to know.

jkswoods’s picture

Status: Needs work » Needs review

Thanks for the pointers dahousecat; all of them have been amended and available for more testing.

heddn’s picture

Status: Needs review » Needs work

Here's a quick review. There are still several (100+ issues) to resolve from the PAReview. http://pareview.sh/pareview/httpgitdrupalorgsandboxjkswoods2188627git

What is the info.sub file for? There isn't much information in the README how to use this module. It looks like there is some type of drush integration, how does someone use tuktuk drupal theme?

.info file:
Tabs seem to be used instead of spaces.

.drush.inc
Very limited function comments.

PAReview: 3rd party code
tutuk appears to be 3rd party code. 3rd party code is not generally allowed on Drupal.org and should be deleted. This policy is described in the getting involved handbook. It also appears in the terms and conditions you agreed to when you signed up for Git access, which you may want to re-read, to be sure you're not violating other terms.

The Libraries API module is a recommended method for adding 3rd party dependencies without directly including the code on Drupal.org.

gisle’s picture

Some licensing issues are raised in #11 with links to a few (of the very many) discussions about third party assets that has taken place in various threads. However, opinions in issue threads are not policy.

I think this is put straight in #25, but I just want to add by two cents worth.

The police is laid down here: Drupal Git Repository Usage policy, and it says:

All files checked into the repository (code and assets) must be licensed under GNU/GPL version 2 and later.

This is pretty clear: If it ain't GPL V2+, it's gotta go.

And further down the page:

A user's account may be terminated without warning for reasons that include, but are not limited to:
1.) violation of these TOS;

That is pretty clear as well: If you violate this TOS, you gotta go.

PS: Looking at the vast amount of non-GPL V2+ assets that currently are hosted at Drupal.org, I get the impression that exceptions are made (if you know the secret handshake or something). But in the PA review project, I think we need to go by the book.

jkswoods’s picture

Yes, @gisle, the creators have recently updated tuktuk so it is no longer available to be distributed or used like this.
With this in mind, I ask someone to close my application to have this promoted to a full project, as I no longer intend to develop it.
Thanks,
jks.

gisle’s picture

Status: Needs work » Closed (won't fix)

Closing per applicant's request.