I have unpublished the 1.0 release because this "theme" actually contains a full version of Drupal core. I'm sure this is a mistake, but a pretty big one :-)

Please contact me if you need help resolving this.


JurriaanRoelofs’s picture

Hi Randy,

Actually this is an install profile, that's why there is a copy of Drupal core. I should have added a better description, thats on my todo list for today.

The TouchPro theme is here: http://drupal.org/project/touchpro
I'm releasing a "free premium drupal theme", and a standard feature of all my premium themes at sooperthemes.com is an installation profile that installs the theme together with the content and modules that you see on the demo site: http://www.sooperthemes.com/touchpro.

rfay’s picture

Title: "Theme" contains a full copy of drupal core » Project contains a full copy of drupal core

Thanks for your quick response.

1. You're right this was supposed to be an install profile (you need to do it right)
2. Naming an install profile with the name "Starterkit Touchpro Theme" pretty much implies it's a theme.
3. You do *not* add Drupal core (or other modules) into install profiles. You use a Drush make file. You can take a look at Commerce Kickstart for an example, and please read the documentation on install profiles.

Please remove all modules from your install profile, including Drupal core.

The documentation of installation profiles can also help.

JurriaanRoelofs’s picture

Hi, I'm already familiar with Commerce kickstart and other drush make / features module based profiles.

However, this method does not serve my target audience well. The StarterKits (install profiles) that I ship with my themes are most appreciated by the people who are new to Drupal, or people who are looking to speed up their project by using a premium theme.

Consider that many users who work with contrib/premium themes are unfamiliar with modules like features and are even less likely to be using drush. They are probably not even able to use drush on their shared hosting so drush make is out of the question.

For my own Drupal projects I use git, drush make, drush quickstart-create, features and every tool I can find that makes the project more efficient but for the premium theme StarterKits I deliberately choose different tools. It's also perfectly safe because the database that comes with the profile does not contain a user table.

I've made dozens of StarterKits this way and I've get very good feedback on it so I hope I will be able to share this with the community via contrib.

JurriaanRoelofs’s picture

BTW I do know that even using this method the project is sub-optimal. Currently it contains a database dump that carries a lot of redundant code since it's loaded after an automatic installation of Drupal. I plan to optimize this by doing a dump after the automatic installation, then do a dump with the demo site database, and then do a diff on the datbase dumps and put the difference file in the profile, that would safe a few hundred milliseconds on the installation.

rfay’s picture

As I responded in email:

Sorry, it is unacceptable to do what you're doing.

If you build your install profile correctly, drupal.org will run the drush make file and *build* a distribution for you, as the primary download link.

We do not agree that "there are different ways" :-) Commerce Kickstart (download it!) is a fully generated distribution. I think it's what you want.

Please build this with a drush make file and remove all included drupal core and modules. I've provided the links for you to learn how. You should try installing http://drupal.org/project/commerce_kickstart and see how nice and simple it is.

Thanks again for your responsiveness.

You may ask how I came to your project. Your checkin of a duplicate Drupal core broke the testbots, which I manage. It caused the dependency generation to think that your project was really drupal core.

JurriaanRoelofs’s picture

Ah now I see that Drupal.org itself can run make files. Now I get the problem, because I was just thinking other profiles contain drupal core too but it's generated via the make file.

I guess I'll have to read this http://drupal.org/node/642116 and make a new release.
I already have installed commerce kickstart some months ago but I installed it by running the make file with Drush, so I figured you meant I should make my users do that.

JurriaanRoelofs’s picture

Assigned: Unassigned » JurriaanRoelofs
Status: Active » Postponed

I'm going to make a profile the right way as soon as possible. meaning when skinr has a release available and hopefully my patch in it.

rfay’s picture

Drush make is happy to pull in patches during the build. I believe this is possible even for distribution building, but I'm not a qualified expert on distributions.

MacMladen’s picture

I'll pop in here as end user (but developer otherwise).

The reason I agree with JurriaanRoelofs is that Drush make is nice thing and I adore it, however, it is most definitelly user unfriendly.

For wide audience, if we (Drupalists) plan cunning attack on Wordpress or even Joomla, we need to make it easier as quite a few people dare (or are able) to use command line. Most cheap shared hosting allow only FTP access with one click install and those people would like to make it as easy as possible.

While I undestand d.o policy and general direction, many deliver all packed, Phase2Technology OpenPublic, OpenPublish, Atrium, LevelTen and some other distributions.

That is because you need to fetch all things, then to build, configure and fill-in and there is simply no single tool or method to do that, as far as I know, and even to do it user/n00bie friendly way.

The reason I agree with rfay is that while beginner needs full install and attention, experienced does not. Maybe I'd build on pressflow, maybe I already have something but I'd like to kickstart your theme.

For that thing, I need not Drupal core, I'd like to pull only needed modules (if I already don't have them) and infuse sample content and other stuff, either using Install profile (prefered actually) or some one-click feature.

What do you say on that one, JurriaanRoelofs?

Thanks a bunch for all, Artica, Tundra, TouchPro and sample content, that makes really strong case to Omega or AT, but to other themes as well.

I'd personally like that every theme mandatory has its marks (like being HTML5, CSS3, responsive, starter, XHTML, ARIA, tableless, SASS, replace core CSS, replace core TPL and other stuff) and optionally, that every theme has its sample build profile on top of sample build profile for Drupal itself. That would be other-CMS-killer feature.

JurriaanRoelofs’s picture

Thank Mac. I totally agree with rfay, I just misunderstood him at first. As for this project, creating a new distro with a make file is high on my todo list but I got to do client work and manage sooperthemes.com so Im never really sure when I have time to improve by contrib stuff.

rfay’s picture

To repeat what a lot of people don't understand yet: Drupal.org *builds* a distribution containing Drupal and other modules from the drush make file. So nobody needs to use drush make if they don't want to. It's all done before the download happens.

MacMladen’s picture

What we have here is not just a build but sample content, some images and also there could be some libraries included that are also not allowed to be bundled.

Even so, everything removed or referenced somehow (or even pulled inside .install or .profile file itself) skinr have only dev version so it is impossible to make distribution this way.

While there is logic in requiring exact version (one cannot be sure about compatibility unless tried first), there should be option to include dev version and even, yes, even we should allow developer to risk and let system use workable version, I see no problem in that one.

Just as there are dev, other and stable version of module, profile should be allowed to use the same and I see no technical neither legal reason not to allow that. Please, correct me if I'm wrong or do not understand things.

This no-dev policy is preventing usage of many useful modules (and some only live in dev stage) and therefore limiting usability and whole idea of install profiles as quick kickstart.

While I understand legal aspect of some library inclusion, there should be some method that could solve this dependency as well as pulling some totally custom solutions like features or versions like pressflow. I perfectly understand difference between my drush usage and same files on drupal.org site, however I just call for some solution, some mechanism that could solve that.

@JurriaanRoelofs: I've made drupal-org.make file but it couldn't be verified with skinr as it is dev only. Also the only way to configure site the way it is, together with images or sql could be only done by including everything for build in theme itself and then use it from install script. skinr could also be pulled manually as I see no other way.

JurriaanRoelofs’s picture

A release of skinr is on the way. We just got a new patch in that will be implemented by my themes.

But now I am wondering about the demo content, not sure how the make file would handle that. Can it not pull a sql file from a git repository and run that? I recall commerce kickstart using external git repositories as well.

JurriaanRoelofs’s picture

correction, I see the alpha release is just out.

MacMladen’s picture

I've analyzed commerce-kickstart profile and didn't find any reference on anything but building from projects published on Drupal.org. That is understandable as if Drupal.org is going to zip something and allow it to live on its resource (server) it is not going to allow you anything else besides projects already there if for nothing else than for legal reasons.

Therefore, in order to make a kickstart package you must follow commerce example and include not SQL dump but set everything up in code in .profile and .install files.

That is something you can do. The thing that you can't do is to include sample image files.

As I see it, you have two options:

  1. To make regular install profile in code where you will make content types, views and set up what ever it takes to have site set up the way it is set with mysql dump and hotlink some pictures from flickr or anything else that will allow you to. You'll have to adopt image styles to include croping (fitting to width and cutting height) for predictable output.
  2. Make some zip with both sql and pictures, fetch them somewhere in install profile and go from there. That will not invalidate drupal.org policy of not including other things and will conform many other policies that require end user having his/hers own download.

First choice will make it cleaner and easier to adopt for other themes and I would go that way.

JurriaanRoelofs’s picture

I think commerce kick start programmatically creates a bunch of nodes and taxonomy.

I have so much configuration and content in the demo site that it takes way too much time to program it into .profile and .install, so I'm just going to keep using a .sql file to add content and configuration. I think it will work fine with the concept of having drupal.org build the profile.

You're right about images being problematic. For inline images I will put them on img.ur and call them from there. for dummy content with img fields I would have to use devel generate, wich I also use onthe real demo sites.

Today I've put up a first experiment with the d.o. builder/packager I'm waiting for it to run. It doesn't use devel generate yet, I just use the mininal.install to do quick installation and then overwrite it with the sql-packed configuration and content from the demo site.

Here's why I don't go with your option number 1:

Programming the profile in .profile and .install:
Maybe 2000 lines of code, 50 hours of work.
Using the .sql import:
Run my StarterKit backup profile in backup_migrate module:
change 5 lines of code in the profile, 5 minutes work.

And some configurations might not even be possible in method #1, it possible to programmatically set the skinr block configurations? etc,

MacMladen’s picture

Trust me, I spent day checking and yes, commerce-kickstart programmatically creates few (not bunch) nodes, content types and everything else but it is quite spartan. On contrary, your solution is rich and gives user totally workable site and this is true gem.

I quite understood that you won't go with option 1 as it really asks too much to be done for too little gain.

I'll repeat here what I gave in #12, I'd suggest you to include sample images and even sql dump in theme itself. It will increase download site (which is irrelevant these days) but will definitely solve things for install profile and it will be legally there in your project on drupal.org.

My suggestion is:

  1. Make a directory in theme like sample
  2. Put inside sample images and sql dump (yes, I know it is 1.2MB)
  3. In your install profile just call them from there
  4. That's it! You'll have drupal-org.make file that will make workable distribution and everyone happy :)

If you do that, your theme download size will increase from 175KB to 587kB but you will have everything you need for install profile and extra folder will not be of any significance for those not using profile. This way, including just theme in your drupal-org.make will give you everything you need to build site just the way you did before and you will have full working profile and everybody wins.

As I said I suppose you could fetch images or anything from somewhere but I'd be against solutions like img.ur as they may all of a sudden disappear from web and solution I proposed is self contained, least problem.

At least, is seems so to me.

You could, maybe, try Features and turn their code to install profile code. Not that I've done that, just trying suggest possible path to have code generate the site, not sql dump. Or you could slim down sql dump to only things that does not exist after standard install.

JurriaanRoelofs’s picture

Yeah I'm definitely going to slim down the sql file, that way it will look much less like a sledgehammer solution.

Thanks for your tips!

mcproductions’s picture

Title: Project contains a full copy of drupal core » How to Install
Category: bug » support
Priority: Normal » Critical
rfay’s picture

Please don't hijack the thread. Open a new issue.