Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

There is dependency manager for PHP called Composer (see http://getcomposer.org/). It allows you to keep only main project code in repository and download all used libraries from GitHub when project is deployed to a server.

I see following benefits of using it:

  1. no need to invent the wheel, because we can use any library out there that fits our needs (need to check out library licensing though);
  2. no large svn checkouts (for developers), because all 3rd party libraries are managed by Composer and not in In-Portal repository;
  3. automatic 3rd party library upgrade, because Composer will take care of that;
  4. no need to have "root" access to a server, because Composer installs all libraries locally in project's /vendor/ folder.

To make this even more interesting I'm proposing to develop new In-Portal functionality (when possible) in a way of pluggable 3rd party library. Such libraries then can be reused even without In-Portal itself.

Separating In-Portal into Components

Right now there is a lot of code in In-Portal and it's modules. Codebase is separated into 2 groups:

  • loosely coupled - code can work outside In-Portal (e.g. CurlHelper, ImageHelper)
  • tightly coupled - code can't work outside In-Portal (e.g. ScheduledTaskEventHandler)
  • No labels