The compressed version of the English-only, D7 release of CiviCRM 4.12 is currently at 11MB.

http://sourceforge.net/projects/civicrm/files/civicrm-stable/4.1.2/

If it possible to trim another 1MB from the official English-only release, can just that release be whitelisted on SourceForge?

If I create a civicrm-min/4.1.2 that mirrors the official release without a few of the external libraries they've already packaged in like JQuery, CKEditor and TinyMCE, can that be whitelisted?

Comments

geerlingguy’s picture

Status: Active » Postponed (maintainer needs more info)

Does CiviCRM include Drupal core already? I haven't used it in a while, but I thought they already prepackaged everything together in that archive. If that's the case, there's no need to include that package in a distribution on drupal.org.

However, if there's a 'CiviCRM module pack' or something that can be included in a distribution separately, that'd be acceptable.

kreynen’s picture

The CiviCRM download does NOT include Drupal core, but it DOES include libraries that are also included in Drupal like JQuery. While that's redundant for Drupal, the same core CiviCRM's codebase is designed to work with different versions of Drupal as well Joomla and Wordpress... so it makes sense for the CiviCRM project team.

What I'm trying to figure out is if my time is better spent trying to remove 1MB from the official, english only CiviCRM release OR just create a mirror without the redundant libraries of the multilingual release so that anyone could package into a distribution.

What would make the decision easy would be if the whitelist isn't able to target a specific release. If the 4.1.3, english-only release is < 10MB, would I be able to add just http://sourceforge.net/projects/civicrm/files/civicrm-stable/4.1.3/civicrm-4.1.3-drupal.tar.gz?

Would that require summiting a new whitelist item for 4.1.4, 4.1.5, etc?

If it does, the mirror route seem more attractive. The 4.1.2 i10n release is 14MB, but I think that can be trimmed down to < 10MB by removing...

  • packages/jquery - 2.2MB (uncompressed)
  • packages/ckeditor - 4.2MB (uncompressed)
  • packages/tinymce - 2.2MB (uncompressed)

Then I would just need a patch to redirect these to their Drupal paths. This is the direction I'm leaning, but then I would need to update the mirror with every CiviCRM release. Still probably less time consuming than requesting each release of CiviCRM be whitelisted and more useful to more people.

geerlingguy’s picture

Going by the official guidelines, yes, we would need to create a new whitelist entry for every version... however, with a little regex-fu, we could probably set something up to only allow versions beyond 4.1.2, which would make that a moot point.

I'll leave this postponed until the archive is < 10 MB, and then we can work on making it work for 4.1.3 (or whatever version meets our guidelines) and later.

kreynen’s picture

ok... for the short term, I'm going to go the mirror route and use that to make slimming down future releases a priority. Even if I was able to get the english-only 4.1.3 to squeak in under 10MB, it wouldn't take much to bump it back up. Since I have no idea what's on the CiviCRM roadmap that may effect the size of the release, a -min mirror seems like the better option for now.

geerlingguy’s picture

Definitely. It'd be nice if the CiviCRM project could themselves include some sort of -min package that didn't include a ton of libraries anyways (imo).

kreynen’s picture

Status: Postponed (maintainer needs more info) » Active

Agreed, but changing that is going to take time.

At least CiviCRM is moving towards fully adopting Drupal's coding standards. The previous, modified variation of the standard that allowed CamelCase for function and variable names always made my eyes bleed.

Here's the gihub mirror...

repo - https://github.com/kreynen/civicrm-min
license - https://github.com/kreynen/civicrm-min/blob/master/agpl-3.0.txt

Because GitHub's zip compression isn't nearly as good as SourceForge (or whatever the CiviCRM team uses before uploading... I don't really remember how SourceForge works), I had to remove more than I expected. As a result I'm going to be making requests to add the following GPL libraries as well; KCFinder, phpids, tcpdf, and dompdf.

I'll open separate issues for each of those.

kreynen’s picture

Title: Can CiviCRM be included if a future release is < 10MB » Please Whitelist this CiviCRM repo minimized to be < 10MB by removing libraries that can be shared from sites/all/libraries
Component: Documentation » Miscellaneous
Category: support » task
geerlingguy’s picture

Status: Active » Fixed

Added: http://drupal.org/node/1592986

Would like to use the official CiviCRM downloads someday, though, so keep campaigning for that :)

kreynen’s picture

Discussion with CiviCRM community about an official, minimized version going well.

http://forum.civicrm.org/index.php/topic,24752.0.html

kreynen’s picture

Status: Fixed » Postponed (maintainer needs more info)

Not sure what the process is for changing a whitelist entry or if that's happened yet. There are no files available yet, but when 4.2 is released there will be a version of CiviCRM without dompdf, IDS, jquery, ckeditor, tinymce and joomla and wordpress directories available at http://downloads.civicrm.org/civicrm-4.2.0.starterkit.tgz. According to @lobo, the size will be 7.5MB. That should leave plenty of space if they add another library in the future. As soon as a whitelisted download is available, I will update http://drupal.org/project/cm_starterkit_moderate and http://drupal.org/project/civicrm_starterkit. I believe those are the only distributions using my minimized github version, but do you have a way to check the .make files to confirm that?

Once the starterkits including CiviCRM are repackaged, [#1592986] and can removed.

The status on CiviCRM side can be tracked here http://issues.civicrm.org/jira/browse/CRM-10299

If you want me to do something other than update this issue when http://downloads.civicrm.org/civicrm-4.2.0.starterkit.tgz is available, let me know.

geerlingguy’s picture

Just post an update when something happens, and point me to the new download link :)

lobo’s picture

I will update this issue when we have 4.2.alpha1 available along with the exact URL :)

Most likely this will happen on wed or thu of this week

lobo

kreynen’s picture

Status: Postponed (maintainer needs more info) » Active

As noted in http://issues.civicrm.org/jira/browse/CRM-10299, the official minimized download of CiviCRM is now available at http://downloads.civicrm.org/civicrm-4.2.beta2-starterkit.tgz. This was created using the CiviCRM's packaging scripts to releases after beta2 of 4.2 will also be available. Please work your regex magic to download make any release that follow this pattern http://downloads.civicrm.org/civicrm-[version]-starterkit.tgz available for packaging on Drupal.org.

Please replace the github mirror with the new 4.2 download. I'll update both http://drupal.org/project/cm_starterkit_moderate and http://drupal.org/project/civicrm_starterkit as soon as this is done.

@geerlingguy Thanks again for your help with this!

geerlingguy’s picture

Where would one normally download this starterkit? I can only see a bunch of other downloads on the SourceForge page (http://sourceforge.net/projects/civicrm/files/civicrm-latest/4.2.beta2/), and I was just trying to make sure I add all the right regexes in the whitelist entry...

I have ^http://downloads\.civicrm\.org/civicrm-.+-starterkit.tgz$ so far.

kreynen’s picture

The starter kit version of the download is new, but on't be listed with the other downloads on sourceforge since it requires replacing several libraries.

kreynen’s picture

This was being discussed in #1589204: Please Whitelist DOMPDF, but dompdf appears to be validating now and only civicrm still fails I'm moving it to this issue.

The drupal-org.make file for project CiviCRM Starter Kit failed verification for Git tag 7.x-1.0-alpha1.

http://drupal.org/node/642116 -- to learn more about correcting these errors.

The library 'civicrm' cannot be downloaded from [error]
http://downloads.civicrm.org/civicrm-4.2.beta2-starterkit.tgz, the
URL must be in the whitelist available at
http://drupal.org/packaging-whitelist.
The drupal.org validation check failed -- see [error]
http://drupal.org/node/1432190 for more information.
Once these errors are fixed, commit the changes to your drupal-org.make, move the release tag for your project (check the Git manual to learn how to move tags if necessary), and submit the release node again.
geerlingguy’s picture

Status: Active » Fixed

Okay, I've added the whitelist entry: http://drupal.org/node/1695056 - as long as they follow the same pattern, with -starterkit.tgz on the end, it should work (this should make it so people can only use the smaller starterkit, and not other, larger distributions of CiviCRM.

kreynen’s picture

Still failing. Is there a delay between when you make those changes and when I'd be able to force packaging by tagging a new release?

kreynen’s picture

working now :)

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

kreynen’s picture

Status: Closed (fixed) » Needs work

When the official minimize CiviCRM package was add, my github mirror should have been removed from the whitelist

http://drupal.org/node/1592986

geerlingguy’s picture

Status: Needs work » Fixed

Whoops! Thanks for catching that; it's been deleted.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

kreynen’s picture

Issue summary: View changes
Status: Closed (fixed) » Needs review
gisle’s picture

Component: Miscellaneous » Whitelist request
Status: Needs review » Fixed

I am cleaning up all the old "Needs review" entries to make the issue queue less messy. This hasn't been touched in 5 years. Don't see any problems with this and moving to "Fixed". Anyone objecting have two weeks to reopen before is is automatically closed.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.