Dependency Management: Composer

General discussion of development ideas and the approaches taken in the 3.x branch of phpBB. The next feature release of phpBB 3 will be 3.2/Rhea followed by 3.3.
Forum rules
Please do not post support questions regarding installing, updating, or upgrading phpBB 3.1. If you need support for phpBB 3.1 please visit the 3.1.x Support Forum on phpbb.com.

If you have questions regarding writing extensions please post in Extension Writers Discussion to receive proper guidance from our staff and community.
Post Reply
User avatar
EXreaction
Registered User
Posts: 1555
Joined: Sat Sep 10, 2005 2:15 am

Re: Dependency Management: Composer

Post by EXreaction » Tue Oct 23, 2012 12:41 am

RMcGirr83 wrote:Thanks David that worked.

I had sent an email to the author of composer Jordi Boggiano who was very helpful. Believe it has something to do with not having OpenSSL active.

This seems easier than trying to figure out how to get OpenSSL working within a windows (meh, not all of us are *nixers) cmd prompt, so thanks again.
I'm pretty sure I do not have OpenSSL enabled on any of my test machines and I've not had an issue. :?

User avatar
DavidIQ
Customisations Team Leader
Customisations Team Leader
Posts: 1731
Joined: Thu Mar 02, 2006 4:29 pm
Location: Earth
Contact:

Re: Dependency Management: Composer

Post by DavidIQ » Tue Oct 23, 2012 3:09 am

Yeah I don't have it either and hasn't been an issue. Might be something in the PHP setup (PHP.ini).
Image

User avatar
RMcGirr83
Registered User
Posts: 357
Joined: Fri Mar 09, 2007 1:51 am
Contact:

Re: Dependency Management: Composer

Post by RMcGirr83 » Tue Oct 23, 2012 11:03 am

Oleg wrote:What is the purpose again of bundling composer if it refuses to work?
QFT!!

So I did a completely new install of xampp and did the update using composer.phar self-update. Now when running composer.phar install it just sits there doing absolutely nothing. Is this thing going to be included in 3.1 for admins to do to install their forum? If so someone either needs to slap the author of composer or use a different package manager (or whatever it's called). It has taken me about 6 hours of trying this and trying that and I can pretty well state for certainty that if a user of the phpBB software comes across this much trouble you will, more than likely, lose "customers" as no one likes to dick around with all this techno stuff and it shouldn't be this difficult in getting a farken bulletin board installed.

[EDIT]Well the window finally finished and low and behold...see below[/EDIT]
Untitled.png
(58.47 KiB) Downloaded 3902 times
Even https (which I assume means that I now have OpenSSL active) is failing even though the file is there
Last edited by RMcGirr83 on Wed Oct 24, 2012 10:22 am, edited 1 time in total.
Do not hire Christian Bullock he won't finish the job and will keep your money

User avatar
DavidIQ
Customisations Team Leader
Customisations Team Leader
Posts: 1731
Joined: Thu Mar 02, 2006 4:29 pm
Location: Earth
Contact:

Re: Dependency Management: Composer

Post by DavidIQ » Tue Oct 23, 2012 2:01 pm

This would obviously not be a requirement for when we go Alpha or Beta or Final. Only for development. I think what IKD did by providing the files could/should be something the development team regularly provides for a stock development build even if it's in a link somewhere on here. Expecting contributors to go through this whole command prompt business is expecting a bit much for some especially if it's something as trivial as a template or css change for instance.
Image

User avatar
imkingdavid
Registered User
Posts: 1050
Joined: Thu Jul 30, 2009 12:06 pm

Re: Dependency Management: Composer

Post by imkingdavid » Tue Oct 23, 2012 9:10 pm

DavidIQ wrote:This would obviously not be a requirement for when we go Alpha or Beta or Final. Only for development. I think what IKD did by providing the files could/should be something the development team regularly provides for a stock development build even if it's in a link somewhere on here.
Correct; the vendor/ folder, populated with all required dependencies at the time of release, will be provided in the final released build. It would probably be a good idea to have an automatic build generated for each push to develop so that a fully-installable package is available at any given time without requiring command prompt. However, for someone wanting to develop with an altered set of dependencies, they would still need to alter the composer file and run the update script.
DavidIQ wrote:Expecting contributors to go through this whole command prompt business is expecting a bit much for some especially if it's something as trivial as a template or css change for instance.
Well, as long as they have the vendor folder for the latest commit on develop (which should not change until a change is made to composer.json), they don't need to even worry about composer when making any change that does not alter the set of required dependencies.

If you can suggest a better way to include our required dependencies, short of us having to develop all of the systems we use (i.e. Events-related classes, DependencyInjection service container, et al), which would be a complete waste of time, then please share. As the saying goes (or something to this effect), Good developers write code for themselves; great developers borrow code from others.

In short, Composer allows us to specify packages we need, down to specific versions, and it helps us keep up to date with said dependencies automatically, without having to manually keep track of which ones have been updated and then overwrite that dependency in our repository with the updated files. It is unfortunate that there is apparently either some downtime on the packagist and/or composer website(s) or else some configuration issue that is keeping some people from being able to utilize it, but at this point, it's the best we have. If this means I have to periodically provide a vendor folder for people as our dependencies are updated, then that's what I'll do.
I do custom MODs. PM for a quote!
View My: MODs | Portfolio
Please do NOT contact for support via PM or email.
Remember, the enemy's gate is down.

User avatar
MichaelC
Development Team
Development Team
Posts: 889
Joined: Thu Jan 28, 2010 6:29 pm

Re: Dependency Management: Composer

Post by MichaelC » Tue Oct 23, 2012 11:12 pm

DavidIQ wrote:This would obviously not be a requirement for when we go Alpha or Beta or Final. Only for development. I think what IKD did by providing the files could/should be something the development team regularly provides for a stock development build even if it's in a link somewhere on here. Expecting contributors to go through this whole command prompt business is expecting a bit much for some especially if it's something as trivial as a template or css change for instance.
We've already said (a long time ago) that we'd like to do nightly builds, its just the architecture needs building. Anyone is welcome to have a look at it. I believe bantu was working on it last.
Formerly known as Unknown Bliss
psoTFX wrote: I went with Olympus because as I said to the teams ... "It's been one hell of a hill to climb"
No unsolicited PMs please except for quotes.

User avatar
EXreaction
Registered User
Posts: 1555
Joined: Sat Sep 10, 2005 2:15 am

Re: Dependency Management: Composer

Post by EXreaction » Tue Oct 23, 2012 11:22 pm

Perhaps the vendor/ should just be populated in the develop branch by someone manually (using composer to download the files, then pushing them to develop), or even automatically if that is possible.

As long as we include the script, anyone would be able to update at any time if they needed to themselves, otherwise they could just wait for someone to push updates when they happen.

User avatar
DavidIQ
Customisations Team Leader
Customisations Team Leader
Posts: 1731
Joined: Thu Mar 02, 2006 4:29 pm
Location: Earth
Contact:

Re: Dependency Management: Composer

Post by DavidIQ » Tue Oct 23, 2012 11:44 pm

Unknown Bliss wrote:We've already said (a long time ago) that we'd like to do nightly builds, its just the architecture needs building. Anyone is welcome to have a look at it. I believe bantu was working on it last.
Yes but you'd still have the same problem if the site is unreachable and maybe at an even more catastrophic level where you can't check anything in (theoretically). I'm not saying that gated builds of this vendor directory is not a good idea but we should be ready should this problem become more common.
Image

User avatar
MichaelC
Development Team
Development Team
Posts: 889
Joined: Thu Jan 28, 2010 6:29 pm

Re: Dependency Management: Composer

Post by MichaelC » Wed Oct 24, 2012 7:22 am

DavidIQ wrote:
Unknown Bliss wrote:We've already said (a long time ago) that we'd like to do nightly builds, its just the architecture needs building. Anyone is welcome to have a look at it. I believe bantu was working on it last.
Yes but you'd still have the same problem if the site is unreachable and maybe at an even more catastrophic level where you can't check anything in (theoretically). I'm not saying that gated builds of this vendor directory is not a good idea but we should be ready should this problem become more common.
We have the same problems with github. Packagist has a higher uptime than github does at the moment.
Formerly known as Unknown Bliss
psoTFX wrote: I went with Olympus because as I said to the teams ... "It's been one hell of a hill to climb"
No unsolicited PMs please except for quotes.

User avatar
Arty
Registered User
Posts: 970
Joined: Wed Mar 06, 2002 2:36 pm
Location: Mars
Contact:

Re: Dependency Management: Composer

Post by Arty » Sat Nov 03, 2012 10:00 pm

I've tried running composer.phar on Windows in phpBB directory and ran into this problem:

Code: Select all

  - Installing symfony/config (v2.1.0-RC1)
    Downloading: connection...


  [Composer\Downloader\TransportException]
  The "http://nodeload.github.com/symfony/Config/zipball/v2.1.0-RC1" file could not be downloaded (HTTP/1.1 404 Not Found)
Formerly known as CyberAlien.

Free phpBB styles | Premium responsive XenForo styles

Post Reply