https://www.drupal.org/sandbox/markconroy/2297203

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/MarkConroy/2297203.git adfl_distribution

Out of the box, Drupal is a content management framework. You can use it to create a content management system. This is daunting for new users to Drupal - so much to look at, work out, configure, learn, add to ... you get the idea.

What I have done with this distribution is created a content management system using Drupal core, some contrib modules, and features, and a custom installation profile.

When you install the ADFL profile (named after the business name I freelance under - A Design for Life) , you get: content types for Static Pages, Image Galleries, news posts, services offered; listing pages for Image Galleries, News, Services; a rotating slider on the frontpage via BEANs and context, anti-spam protection for all forms via honeypot; configuration for ckeditor; social sharing links via ShareThis; human-readable urls via pathauto; a new role called "staff" for users between "authenticated" and "administrator".

The reason for this profile is that there are many tasks that I complete over and over again on Drupal websites, such as creating these pieces of functionality. I could package them up in features and just enable them, but thought it better to have them all install in one go in an installation profile, as this also leads to an easier life when rebuilding the website.

New features will be added to this on an on-going basis - such as an "Event" content type, a contact form and page, perhaps some commerce features, custom page manager pages, subthemes for adaptivetheme and Omega, etc.

There are also some modules installed but not being used just yet, such as panels, page manager, backup and migrate.

Finally, the profile will create a theme for you, based on Zen, called adflzen and set it as the default theme.

Dependencies:
You will need to place the ckeditor, flexslider, and colorbox libraries in your profiles/adfl/libraries folder.

So, what do you need to do? Add content, add styling. Be happy.

The creation of a distribution came from a comment on my blog, here.

Manual reviews of other projects
CKEditor Image2
https://www.drupal.org/node/2455107#comment-9744931

Video Filter Whatchado
https://www.drupal.org/node/2450675#comment-9744369

Path Alias Picker
https://www.drupal.org/node/2344569#comment-9184441

Projects I attempted to review but are not working or missing git clones:
Image Pornographic Detect - library does not filter pornographic images
https://www.drupal.org/node/2402605#comment-9743269
BackToTop - no git clone available
https://www.drupal.org/node/2425769#comment-9743203
Monoset - no git clone available
https://www.drupal.org/node/2431095#comment-9743223

CommentFileSizeAuthor
#25 coder-results.txt22.26 KBklausi

Comments

markconroy’s picture

Issue summary: View changes
PA robot’s picture

Status: Needs review » Needs work

Timeout when invoking pareview.sh for http://git.drupal.org/sandbox/MarkConroy/2297203.git at http://pareview.sh/pareview/httpgitdrupalorgsandboxMarkConroy2297203git

Do you have any third-party files committed? 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.

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

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

markconroy’s picture

Status: Needs work » Needs review

There are no third party files/code in this repo. The libraries needed are noted, but users must download them separately.

pingwin4eg’s picture

Status: Needs review » Needs work
Issue tags: -distributions

Your sandbox must not contain the Drupal core, only your distribution.

markconroy’s picture

Status: Needs work » Needs review

Hi pingwin4eg,

Thanks a lot for that information. I've removed all core files now and placed the profile in the root directory.

pingwin4eg’s picture

Status: Needs review » Needs work

Also contrib modules/themes should not be included, only mention them as dependencies in your .info file.

Please refer to documentation on how to make distributions in Drupal way.

Also take a look inside other Drupal distributions for examples.

markconroy’s picture

Hi pingwin4eg,

I'm a little at a loss on this one. Any distributions I have ever downloaded have had Drupal Core and contrib modules within them.

On the Commerce Kickstart page, it says "It includes the latest versions of Drupal core, Drupal Commerce, and the other modules it depends on."

On the Developing Installations Profiles page that you linked to, it says "Installation profiles combine core Drupal, contributed modules, themes, and pre-defined configuration into one download".

Can you confirm that you wish for me to remove the contrib modules and Zen as a base theme from this repo?

Thanks again, and sorry for the confusion.

markconroy’s picture

Status: Needs work » Needs review

Setting to "needs review".

pingwin4eg’s picture

Status: Needs review » Needs work

Any distribution will always include the latest of Drupal core and some of contrib modules/themes, but only when it is downloaded. Drupal.org is responsible for this inclusion. But your repository should have only your specific distribution and the modules/features/themes you created specifically for this distribution if any. Without the rest. You only include that in dependencies.

See Commerce Kickstart repo, for example. There's no any other contrib stuff, only distrib itself and commerce_kickstart_ specific modules and themes. All contribs it needs are listed in dependencies section of commerce_kickstart.info, and contrib stuff versions and any patches it needs are in build-commerce-kickstart.make file.

And all this nuances of distribs are there, in further sections of documentation book.

markconroy’s picture

Status: Needs work » Needs review

Thanks again. I have removed all modules and also the zen theme from the repo now.

markconroy’s picture

Ping!

stefank’s picture

Hi,

Automated Review
Giving some errors.
http://pareview.sh/pareview/httpgitdrupalorgsandboxmarkconroy2297203git

Manual review

README.txt/README.md file is missing
(*) No: Follows the guidelines for in-project documentation and the README Template.

The project page might need some styling(try to add some headers), just to make it simple to view.

You missing hook_uninstall in adfl.install.

Great job, but I think still some work needs to be done.

markconroy’s picture

Hi Stefan,

Thanks so much for taking the time to review this.

I have now

  • added a README.txt
  • edited the project description page
  • removed/edited the lines/files suggested by pareview.sh that I thought correct to remove (many are left in as they are from modules/themes not created by me such as exported features and/or Zen which will all end up being over-written again if/when updated
  • added a hook_uninstall
  • tidied up a few other bits and pieces

Three items not removed were:

  • Remove "version" from the ./themes/zen/zen.info file, it will be added by drupal.org packaging automatically.
  • Remove "project" from the ./themes/zen/zen.info file, it will be added by drupal.org packaging automatically.
  • Remove "datestamp" from the ./themes/zen/zen.info file, it will be added by drupal.org packaging automatically.

I'm not sure if I should since they come with Zen, rather than are part of my set up.

Again, thanks a lot for your time. I'm really looking forward to having this as a full project here on d.o.

markconroy’s picture

Issue summary: View changes
markconroy’s picture

Issue summary: View changes
kreynen’s picture

Status: Needs review » Needs work

@markconroy I still see forks of contrib modules in http://cgit.drupalcode.org/sandbox-MarkConroy-2297203/tree/modules/contrib

That is not correct. Those should be defined in the .make along with the version of core used. While Drupal.org's packaging script will not run on the .make in a sandbox, you can run drush make locally.

Please read https://www.drupal.org/node/1432374

The reason you see core, modules, and themes in the downloads of distributions from Drupal.org is because of packaging based on the .make. What you are doing is both wrong and a violation of the Drupal Git Repository Usage policy.

Reviewing #2153139: Unpublish Distributions with Forks of Core < 7.32 might help understand why we require providing a pointer to the specific version of projects on Drupal.org as well as whitelisted libraries from other locations vs. simply committing a fork of the project in your distribution. You need to focus on what you see in the repositories of other distribution vs. what you see in the packaged downloads.

Does that make sense?

Distributions are often much more complicated than an individual module or theme normally reviewed to grant a new user the permission to create full projects, but the current project review process encourages users who know little or nothing about profiles and distributions to provide feedback.

Despite @stefank's well meaning suggestion, there is also no reason to include a hook_uninstall in a profile as there is no way to execute that hook. Profiles are designed to be used on install. Even with https://www.drupal.org/project/profile_switcher, an uninstall hook of an old profile that has been disabled is never run.

markconroy’s picture

Assigned: Unassigned » markconroy

Yes, thanks for that feedback. I mean to create a make file for this and re-submit it, but like everything else - it's been hard to find the time.

Your comment has given me a good nudge though, so I'll try get to it in the next week. Thanks. again.

markconroy’s picture

Assigned: markconroy » Unassigned
Status: Needs work » Needs review

Hi kreynen,

I have recreated this distribution now without any project or core code. It now has:

  • a make file for drupal core
  • a make file for drupal projects
  • a make build-adfl_distribution make file

Would you mind giving it another review to see if it's okay for full project status yet? Thanks a lot.

kreynen’s picture

Status: Needs review » Reviewed & tested by the community

Looks good! The first thing I did was run

drush verify-makefile

. That requires https://www.drupal.org/project/drupalorg_drush, but is what the packaging script runs on full distribution projects so it is worth testing.

Starting Drupal.org contrib makefile validation, please wait         [ok]
Makefile drupal-org.make passed.                                     [ok]
Starting Drupal.org core makefile validation, please wait            [ok]
Makefile drupal-org-core.make passed.                                [ok]

The I used

drush make build-adfl_distribution.make -y

. That .make built the without errors...

Beginning to build build-adfl_distribution.make.                     [ok]
drupal-7.34 downloaded.                                              [ok]
adfl_distribution cloned from                                        [ok]
http://git.drupal.org/sandbox/MarkConroy/2297203.git.
Found makefile: drupal-org.make                                      [ok]
zen-7.x-5.5 downloaded.                                              [ok]
 >> Project views contains 2 modules: views, views_ui.
views-7.x-3.10 downloaded.                                           [ok]
token-7.x-1.5 downloaded.                                            [ok]
strongarm-7.x-2.0 downloaded.                                        [ok]
smartcrop-7.x-1.0-beta2 downloaded.                                  [ok]
sharethis-7.x-2.10 downloaded.                                       [ok]
pathauto-7.x-1.2 downloaded.                                         [ok]
 >> Project panels contains 5 modules: panels_mini, panels_ipe, i18n_panels, panels_node, panels.
panels-7.x-3.5 downloaded.                                           [ok]
multiupload_imagefield_widget-7.x-1.3 downloaded.                    [ok]
multiupload_filefield_widget-7.x-1.13 downloaded.                    [ok]
 >> Project metatag contains 10 modules: metatag_facebook, metatag_twitter_cards, metatag_panels, metatag_views, metatag_dc, metatag_context, metatag_opengraph, metatag_devel, metatag_google_plus, metatag.
metatag-7.x-1.4 downloaded.                                          [ok]
link-7.x-1.3 downloaded.                                             [ok]
libraries-7.x-2.2 downloaded.                                        [ok]
honeypot-7.x-1.17 downloaded.                                        [ok]
 >> Project google_analytics contains a module named googleanalytics.
google_analytics-7.x-2.1 downloaded.                                 [ok]
 >> Project flexslider contains 4 modules: flexslider_views, flexslider_fields, flexslider_example, flexslider.
flexslider-7.x-2.0-alpha3 downloaded.                                [ok]
field_group-7.x-1.4 downloaded.                                      [ok]
features-7.x-2.3 downloaded.                                         [ok]
 >> Project entity contains 2 modules: entity_token, entity.
entity-7.x-1.5 downloaded.                                           [ok]
 >> Project devel contains 3 modules: devel_generate, devel, devel_node_access.
devel-7.x-1.5 downloaded.                                            [ok]
 >> Project ctools contains 10 modules: ctools_plugin_example, term_depth, ctools_ajax_sample, bulk_export, ctools_custom_content, views_content, ctools_access_ruleset, page_manager, stylizer, ctools.
ctools-7.x-1.6 downloaded.                                           [ok]
 >> Project context contains 3 modules: context_ui, context_layouts, context.
context-7.x-3.6 downloaded.                                          [ok]
colorbox-7.x-2.8 downloaded.                                         [ok]
Found makefile: colorbox.make                                        [ok]
colorbox downloaded from                                             [ok]
https://github.com/jackmoore/colorbox/archive/1.x.zip.
ckeditor-7.x-1.16 downloaded.                                        [ok]
 >> Project bean contains 6 modules: bean_entitycache, bean_admin_ui, bean_all, bean_usage, bean_uuid, bean.
bean-7.x-1.8 downloaded.                                             [ok]
backup_migrate-7.x-3.0 downloaded.                                   [ok]
 >> Project admin_menu contains 3 modules: admin_menu_toolbar, admin_devel, admin_menu.
admin_menu-7.x-3.0-rc5 downloaded.                                   [ok]

Ran through the standard site install with no problems. Played around with the distribution. Did this error a few times in the log.

Notice: Trying to get property of non-object in drupal_alter() (line 1080 of includes/module.inc).

I also noticed FlexSlider library not found. That library is whitelisted so you can add it by adding this to your .make...

http://cgit.drupalcode.org/cm_starterkit_easy/tree/cm_starterkit_easy.ma...

When I tried to use the Image Gallery, I was able to upload the cover image and 1 additional image, but was given a 'The file could not be uploaded' error for additional images. Not sure if that's an issue with the configuration or my testing environment.

Other than those minor issues, this looks like a solid distribution. All of the contrib modules you've included are up to date. The Features all stay in their default state after installing (not a trivial accomplishment!)

Drupal currently compalins that the distribution and the custom modules/features you've added don't have versions and updates can't be checked, but that is by design. Once the packaing script adds a version to those, it will work as expected.

I tend to put pure Feature exports into a directory that is just modules/features or modules/custom vs. modules/custom/custom_features.

While you should continue to work on the issues I've pointed out, I'm moving this to RBTC. The review process is really focussed on modules and has been problematic for distributions in the past. For other would be distributions, I've suggested applying to be reviewed based on a single module in the distribution. Then, after getting the permission to create full projects, start you distribution.

This project is different in that the customized configuration that makes up the dsitribution is the project.

Great work!

markconroy’s picture

Issue summary: View changes
markconroy’s picture

Issue summary: View changes
markconroy’s picture

Issue summary: View changes
markconroy’s picture

Issue summary: View changes
markconroy’s picture

Issue summary: View changes
Issue tags: +PAreview: review bonus
klausi’s picture

Status: Reviewed & tested by the community » Postponed (maintainer needs more info)
StatusFileSize
new22.26 KB

Review of the 7.x-1.x branch (commit f8343c1):

  • Remove "version" from the ./themes/custom/adflzen/adflzen.info file, it will be added by drupal.org packaging automatically.
  • Remove "project" from the ./themes/custom/adflzen/adflzen.info file, it will be added by drupal.org packaging automatically.
  • Remove "datestamp" from the ./themes/custom/adflzen/adflzen.info file, it will be added by drupal.org packaging automatically.
  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards). See attachment.
  • DrupalPractice has found some issues with your code, but could be false positives. See attachment.
  • No automated test cases were found, did you consider writing Simpletests or PHPUnit tests? This is not a requirement but encouraged for professional software development.

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. why is the machine name "adfl_distribution" and not simply "adfl"?
  2. I think you can ignore the Coder warnings on the CSS files, since they are generated anyway, right?
  3. adfl_pathauto_settings.inc is never included and can be removed, correct?

So as far as I see there is no custom code here, that I can review, correct? This project is too short to approve you as git vetted user. We are currently discussing how much code we need, but everything with less than 120 lines of code or less than 5 functions cannot be seriously reviewed. However, we can promote this single project manually to a full project for you.

Should I promote the project as "adfl" or "adfl_distribution" for you?

klausi’s picture

markconroy’s picture

Hi Klausi,

I'd prefer to have it as adfl, but adfl_distribution matches the project name (and I had thought of adding other modules/themes which will have the adfl_ prefix (like themebrain do with tb_).

In that case, I think it's probably best to promote it as a full project called adfl_distribution.

Since adfl_pathauto_settings.inc was exported as part of the features export, I'd like to keep it there - it will be export for each update to the feature as well.

Thanks a lot for this review, pity it doesn't allow me qualify for full status. Back to the drawing board. :-)

klausi’s picture

Status: Postponed (maintainer needs more info) » Fixed

Thanks for your contribution, markconroy!

I promoted this project for you: https://www.drupal.org/project/adfl_distribution

Now that this experimental project has been promoted, you'll need to update the URL of your remote repository or reclone it.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

markconroy’s picture

@Klausi,

Could you take another look at this for me? When I download a copy of the distribution (drush dl adfl_distribution), I only get what is in my repo - Drupal core and the set libraries are not downloaded.

Maybe it needs to be categorised as a distribution, rather than a module or theme?

kreynen’s picture

Status: Fixed » Needs work

There is either something wrong with the way this project was originally created or the way is was promoted. If you look at the body classes of https://www.drupal.org/project/openatrium, you'll see node-type-project-distribution. While https://www.drupal.org/project/adfl_distribution, is node-type-project-drupalorg.

From what I understand about the content types on D.O, the drupalorg project type is reserve for nodes like https://www.drupal.org/project/drupal_lwg and https://www.drupal.org/project/drupalorg_whitelist

I don't think @markconoroy should even be able to create that type of project, so I'm guessing this was an mistake during the promotion.

The drupalorg.make is only processed during packaging for distribution. The packaging script is currently treating this like a module or theme.

PA robot’s picture

Status: Needs work » Closed (duplicate)
Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://www.drupal.org/node/2458731

Project 2: https://www.drupal.org/node/2297401

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

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

markconroy’s picture

Status: Closed (duplicate) » Needs review

Hi PA Robot,

This project has already been upgraded to a full project, but seems it may have been mis-categorised. It does not qualify for git access for me, so is not part of the application, I just need to have it re-categorised as a "distribution" instead of a "drupal-org" page.

For details see here: https://www.drupal.org/node/2297401#comment-9750223

I am marking this issue as needs review.

klausi’s picture

Status: Needs review » Closed (fixed)

So as far as I can see the project needs to be deleted and you need to create a new project as distribution project and push all your git commits there. Please open a webmaster issue for that at https://www.drupal.org/project/issues/webmasters

avpaderno’s picture

Component: other » distribution/profile
avpaderno’s picture

Title: [D7] ADFL Distribution » [D7] ADFL