cypht-org / cypht

Cypht: Lightweight Open Source webmail aggregator [PHP, JS]. Supports IMAP/SMTP, JMAP and soon EWS
http://cypht.org
GNU Lesser General Public License v2.1
1.01k stars 163 forks source link

Use Composer and Packagist.org for dependencies #311

Closed marclaporte closed 4 years ago

marclaporte commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

@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.

marclaporte commented 5 years ago

This would permit to handle: https://github.com/jasonmunro/cypht/tree/master/third_party

Ex.: https://packagist.org/packages/ezyang/htmlpurifier https://packagist.org/packages/paragonie/random_compat https://packagist.org/packages/html2text/html2text

And when not on Packagist: https://asset-packagist.org/package/detail?fullname=npm-asset/push.js https://asset-packagist.org/package/detail?fullname=bower-asset/push.js

Another idea to explore: should/could Cypht be available on Packagist.org?

Thanks!

jasonmunro commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

jasonmunro commented 5 years ago

@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 commented 5 years ago

wow Just wow

You. Are. My. Hero!

marclaporte commented 5 years ago

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

Thanks!

jasonmunro commented 5 years ago

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 commented 5 years ago

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

jasonmunro commented 5 years ago

WOW!

ulfgebhardt commented 5 years ago

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

marclaporte commented 5 years ago

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

Like this: https://github.com/jasonmunro/cypht/issues/352

marclaporte commented 5 years ago

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

And Jason created v1.2.0-rc1

marclaporte commented 5 years ago

Nearly 11k installs :-)

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

marclaporte commented 5 years ago

Nearly 12k installs :-)

marclaporte commented 5 years ago

14k installs :-)

jasonmunro commented 5 years ago

Just going to keep this open for the updates :)

marclaporte commented 5 years ago

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 commented 4 years ago

17k installs :-)

marclaporte commented 4 years ago

Almost 18k installs :-)

marclaporte commented 4 years ago

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

marclaporte commented 4 years ago

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 commented 4 years ago

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

marclaporte commented 4 years ago

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

marclaporte commented 4 years ago

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

Yamakasi commented 4 years ago

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 commented 4 years ago

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

Thanks!

marclaporte commented 4 years ago

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

Closing this in favor of https://github.com/jasonmunro/cypht/issues/427

marclaporte commented 3 years ago

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

marclaporte commented 3 years ago

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

marclaporte commented 2 years ago

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 commented 2 years ago

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

marclaporte commented 2 years ago

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

marclaporte commented 1 year ago

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

marclaporte commented 1 year ago

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: https://github.com/roundcube/roundcubemail/issues/5938

marclaporte commented 1 year ago

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

marclaporte commented 8 months ago

82k installs!

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

marclaporte commented 2 months ago

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

marclaporte commented 1 month ago

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

marclaporte commented 2 weeks ago

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