Support (offered by community volunteers) > Feature Requests and Suggestions

Case for an Official Minimized Version of CiviCRM for Packaging on Drupal.org

(1/4) > >>

kreynen:
In March, the team that manages Drupal.org announced that packaged distributions (Commerce, Commons, OpenAtrium, OpenPublish, OpenChurch, etc) could now included external packages in their downloads.  These packages had to meet certain criteria like being a GPL compatible license and being < 10MB.

http://drupal.org/project/drupalorg_whitelist

CiviCRM 4.12 is currently at 11MB.  To show why the CiviCRM team should invest the additional time it would take to maintain a download of CiviCRM that excludes some of the libraries that can be added separately with Drupal, I created a mirror of 4.12 on GitHub and requested the mirror be whitelisted.

http://drupal.org/node/1588192

I then included that version of CiviCRM with the collection of other modules as moderate level of a Community Media Starter Kit.

http://drupal.org/project/cm_starterkit_moderate

I'm still waiting on several of the packages I removed to be whitelisted so I can re-add them.  Once the URL for downloading a package is approved, it can be added to the drupal-org.make....

http://drupalcode.org/project/cm_starterkit_moderate.git/blob/refs/heads/7.x-1.x:/drupal-org.make#l5

I haven't tried using a directory within another download as the target for a download, so I'm not sure if the packages will be able to be placed into modules/civicrm/packages or I'll have to use sites/all/libraries and process a patch in the packaging.

This is still a really just a proof of concept to show the types of distributions possible with a CiviCRM download that is < 10MB.  If the CiviCRM team decides to support this, there are obviously several ways to get a download < 10MB.

Hershel:
Have you see http://forum.civicrm.org/index.php?topic=23535.0 ?

xavier:
Is agpl (civi licence) ok?

kreynen:
@xavier Yes.  The only issue is the size.  If you download http://drupal.org/project/cm_starterkit_moderate you'd see it includes both the most recent core of Drupal and CiviCRM from the minimized mirror.

@Hershel I didn't see @donquixote's post, but I'll cross post there too.

This is really an alternative to achieving the same thing @donquixote was after.  For a drush user, the process of installing Drupal and CiviCRM with the community media modules is...

git clone --recursive --branch 7.x-1.x http://git.drupal.org/project/cm_starterkit_moderate.git
cd cm_starterkit_moderate
drush make cm_starterkit_moderate

You have to use git or some other process to get the .make file, but once you have that drush downloads everything else from Drupal.org or the download location of the the third party package.  While the whitelist requires downloads to be < 10MB, drush make does not.

kreynen:
A minimized download that is <10MB does NOT solve the problem @donquixote was trying to address of wanting to add CiviCRM to an existing Drupal install with drush, but I don't see how moving most of civicrm to sites/all/libraries would accomplish that either.

I can see the avantages of moving the Drupal modules in CiviCRM back to a Drupal.org project, but that is probably a discussion best left for after CiviCRM's move to git.  Having both Drupal and CiviCRM in git would make it MUCH easier to maintain a variation of CiviCRM as 2 downloads (a library download from CiviCRM and modules available on Drupal.org). The modules could work like so many other Drupal modules with dependancies on 3rd party libraries. If you simply drush dl civicrm/drush en civicrm, you would see a warning if civicrm wasn't found in your sites libraries.  If you updated the modules independently of the CiviCRM library to the point they were no longer compatible, the module could display a warning with instructions for updating the library.

While this approach has many advantages including allowing CiviCRM to take advantage of Drupal's update status checks AND allowing drush users take advantage of everything drush offers, it would require more work from the CiviCRM team to maintain issues in both Jira and Drupal.org.  Honestly, I don't see that happening any time soon.

What I'm proposing instead is to have an official, minimized version of CiviCRM that excludes libraries that can be re-added using drush make.  Moving these packages to Drupal's libraries would require a patch to CiviCRM.  That patch could be applied during the drush make processing.  3rd party libraries CAN be patched with a .patch from Drupal.org.  This example shows how CKEditor's examples are removed by several distributions by adding libraries[ckeditor][patch][] = "http://drupal.org/files/1337004-ckeditor-remove-samples-3.patch" to the make file.  Drush not only downloads, ckeditor... it changes it in both the distribution downloads AND for users running drush make locally.


Navigation

[0] Message Index

[#] Next page

Go to full version