Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Composer and Packagist.org for dependencies #311

Closed
marclaporte opened this issue Jan 15, 2019 · 43 comments · Fixed by #319
Closed

Use Composer and Packagist.org for dependencies #311

marclaporte opened this issue Jan 15, 2019 · 43 comments · Fixed by #319
Assignees
Labels
installation install related

Comments

@marclaporte
Copy link
Member

marclaporte commented Jan 15, 2019

Please see: https://en.wikipedia.org/wiki/Composer_(software)

FYI, if you are looking for ideas / examples or even code: The Tiki Wiki CMS Groupware project (LGPL) is a massive user of Composer (100+ dependencies): https://doc.tiki.org/Composer

We added a web-based installer
We use https://asset-packagist.org/ when we can't get from https://packagist.org/
We run our own Satis server

@jasonmunro jasonmunro self-assigned this Jan 15, 2019
@jasonmunro jasonmunro added the installation install related label Jan 15, 2019
@jasonmunro
Copy link
Member

I'm not sure Cypht is compatible with composer, but I will check into it more and let you know. Thanks for the suggestion!

@Yamakasi
Copy link

@jasonmunro we already dived into this a little bit and it needs really some work to use composer, I might can give it a start as I made my own package for some own library but this needs to be tested a lot to be into the wild.

@jasonmunro
Copy link
Member

I have a new branch using composer to get all our PHP requirements! :)

https://github.com/jasonmunro/cypht/tree/composer-issue-311

This leaves 3 javascript requirements, 2 of which are manually modified specifically for Cypht (removing bits we don't use to make the payload smaller). Because of this, combined with the complexity of building javascript packages (which can be a pain IMO), I'm not planning on using composer on these 3 but instead will continue to include them in the Cypht source.

I'm not sure if it makes sense to make Cypht available on packagist, it seems better suited to libraries as opposed to applications, and all the install steps requiring root would I think still need to be run by hand.

@marclaporte
Copy link
Member Author

Super!

I see "ext-redis": "*" in composer.json, which I find a little surprising. It's not here: https://cypht.org/install.html

On the topic of server requirements, we have a fantastic script to help users prepare / configure a server for PHP apps:
https://doc.tiki.org/Server-Check

@jasonmunro
Copy link
Member

dependency management is merged to master. See https://github.com/jasonmunro/cypht/wiki/Announcements for new install/upgrade command. Next I'm going to look into listing Cypht on packagist.

@jasonmunro
Copy link
Member

https://packagist.org/packages/jason-munro/cypht :)

@jasonmunro
Copy link
Member

@marclaporte also I moved optional requirements in the compose.json (like ext-redis) to the suggest section with descriptions of how they can be used. I'm going to close this now that both dependency management is merged to master and we are listed at packagist. I will update the install instructions at cypht.org with a composer option and continue to fine tune the composer.json as needed.

@marclaporte
Copy link
Member Author

wow
Just wow

You. Are. My. Hero!

@marclaporte
Copy link
Member Author

Can we have released versions and not just dev-master?

Thanks!

@jasonmunro jasonmunro reopened this Mar 26, 2019
@jasonmunro
Copy link
Member

Yes and no :) We would have to back-port the composer changes to the prior release to accomplish this with 1.1.0 - something I would rather not do. Instead, lets start the process of a 1.2.0 release (or 1.1.1 depending on the change-log). Then we have a composer friendly release packagist will recognize that includes at least the preliminary Tiki integration work. I Typically do a series of RC tags prior to a final, so we could set a target of say 4 weeks to squeeze any remaining fixes in.

@marclaporte
Copy link
Member Author

We are already at 5700 installs :-)
https://packagist.org/packages/jason-munro/cypht

@jasonmunro
Copy link
Member

WOW!

@ulfgebhardt
Copy link
Contributor

How do we recruit those 5.8k installers to be contributors? Any strategies?

@marclaporte
Copy link
Member Author

How do we recruit those 5.8k installers to be contributors? Any strategies?

Like this: #352

@marclaporte
Copy link
Member Author

marclaporte commented Jul 23, 2019

8.2k installs :-)
https://packagist.org/packages/jason-munro/cypht

And Jason created v1.2.0-rc1

@marclaporte
Copy link
Member Author

Nearly 11k installs :-)

I guess we can close this now as it's part of the regular release process?

@marclaporte
Copy link
Member Author

Nearly 12k installs :-)

@marclaporte
Copy link
Member Author

14k installs :-)

@jasonmunro
Copy link
Member

Just going to keep this open for the updates :)

@marclaporte
Copy link
Member Author

15.5k installs now!

Already the top downloaded webmail that comes from an official source (others are re-packaged and may be out of sync with upstream)
https://packagist.org/search/?tags=webmail

1st JMAP solution:
https://packagist.org/search/?tags=jmap
https://jmap.io/

Once we have an official release branch (1.2.x, 1.2.y, ...), it will grow even faster. I predict we will be at over 100k by the end of 2020. And I will work hard to promote Cypht and make this prediction comes true :-)

@marclaporte
Copy link
Member Author

17k installs :-)

@marclaporte
Copy link
Member Author

Almost 18k installs :-)

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

marclaporte commented Apr 23, 2020

We passed 20k a few days ago!
https://packagist.org/packages/jason-munro/cypht

Please like or retweet:
https://twitter.com/MarcLaporte/status/1250821368377159683

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

22k!
https://packagist.org/packages/jason-munro/cypht

@marclaporte
Copy link
Member Author

@Yamakasi
Copy link

I think we can close this now instead of +1K extra each time? Packagists counts never said anything to me as lots of people just require and remove.

@marclaporte
Copy link
Member Author

I think Jason was going to close this once we have a stable release, but I have no objection to close now.

Thanks!

@marclaporte
Copy link
Member Author

26k! https://packagist.org/packages/jason-munro/cypht

Closing this in favor of #427

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

We now passed 50k!
https://packagist.org/packages/jason-munro/cypht

Now number 1 webmail on Packagist! https://packagist.org/search/?tags=webmail

Congrats @jasonmunro and all the community!

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

We have passed over 70 000 installs!
https://packagist.org/packages/jason-munro/cypht

@marclaporte
Copy link
Member Author

Cypht is now at 72 000 installs!
https://packagist.org/packages/jason-munro/cypht

And Cypht has become the most popular webmail on Packagist:
https://packagist.org/search/?tags=webmail

It positions Cypht as the pluggable webmail of the PHP ecosystem.

To be fair, it's made easier because Roundcube (arguably the most popular Open Source webmail) has decided not to offer this: roundcube/roundcubemail#5938

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

@marclaporte
Copy link
Member Author

We have passed 100k installs for Cypht! https://packagist.org/packages/jason-munro/cypht

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installation install related
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants