Child pages
  • [composer] Use Composer - Easy Start [5.2.1]
Skip to end of metadata
Go to start of metadata

To ease Composer integration with In-Portal I'm proposing to take a bit different approach. For full discussion please go to: [composer] Use Composer.

The idea is to:

  1. include "composer.json" with each In-Portal installation (both In-Portal & Intechnic repository)
  2. as one of installation prerequisites assert that "vendor/autoload.php" is present and if it doesn't show composer instructions:
    1. Install Composer by following instructions at https://getcomposer.org/download/
    2. Install Vendors using instructions from https://getcomposer.org/doc/03-cli.md#install
  3. add "/vendor" folder to "svn:ignore", so nobody will commit it by accident
  4. run "composer install --no-dev" also when releasing new In-Portal version for "vendor" folder to be included in produced ZIP
  5. add inclusion of "vendor/autoload.php" into startup.php

This way the "vendor" folder (which might contain outdated dependencies) is never commited and is created automatically while project is installed.

Related Tasks

INP-1394 - Getting issue details... STATUS

6 Comments

  1. The minimal PHP version required to use the Composer is 5.3.2. Since In-Portal 5.2.x required version is PHP 5.2+, then we can't release Composer support along with In-Portal 5.2.1 release. It would only be possible for In-Portal 5.3.0 release, where supported PHP version will be bumped.

  2. Maybe we can bump PHP version requirement for In-Portal 5.2.2 release to PHP 5.3.2 and that way proceed with Composer integration.

  3. Alex, yes it's a possibility, but if I recall correctly there was some code in In-Portal 5.2.1 that was depended on PHP 5/2 or we wanted to make it compatible with one of our current hosting servers that used for shred accounts (Venice). We do have another one with PHP 5.3+, but still didn't want to limit our selse.

     

    Thoughts?

  4. Current In-Portal 5.2.1 release is compatible with PHP 5.2, 5.3, 5.4. The In-Portal 5.3 works even on PHP 5.5.

    As per In-Portal deployment on Intechnic servers:

    • all our development servers are on PHP 5.3 or more
    • some production servers are on PHP 5.2 or less
    • there are dedicated production servers with PHP 5.3 for deploying new project, that use In-Portal 5.2+

     

  5. Also I recommend upgrading servers to PHP 5.4, because it's still supported, but PHP 5.2 or 5.3 are not, so if any bug or security issue is discovered, then nobody will be fixing it.

  6. Item 4 from original plan (changes in releasing code on the http://www.in-portal.com website) were also made and In-Portal 5.2.2 will be with full Composer support.

    Additionally I've added:

    • check to System Requirements step during installation/upgrade
    • check in core/kernel/startup.php to keep user informed, that he might be missing the vendor folder