Closed qiangxue closed 8 years ago
@samdark :smile:
I'd also strongly recommend to replace all unbound version constraints, eg. with 1.*
, 2.*
, i.e. here
"swiftmailer/swiftmailer": "*",
"fzaninotto/faker": "*",
"cebe/indent": "*"
It seems all tests and docs are fine now...
@samdark i think tool-api-doc.md, tutorial-mailing.md, tests tutorials should be move to extension repository appropriate
What do you think about it?
Mailing was already moved. Some parts of it left as is because overall mailing is not an extension, only swiftmailer adapter is.
Will check tool-api-doc.md.
There is one drawback after moving tests and docs to corresponding extensions' repos - unlike framework docs and tests, extensions' ones are downloaded by composer
.
And update runs each time docs and tests are changed (as for the docs - it happens frequently enough).
It also takes additional disk space (for some extensions - more than extension code itself), docs also are dowloaded with existing translations - imagine some time there will be 20-30 languages.
All packages should have .gitattributes file. When you download stable packages, all extra files are excluded, but they are included for dev.
Example: https://github.com/janisto/yii2-timepicker/blob/master/.gitattributes
Good idea. @janisto want to work on a pull request?
I can do a pull request during the weekend. A bit too busy today.
Status of GIT attributes setup:
👍🍻🍺
What about 'README.md', 'LICENCE.md', 'CHANGELOG.md', should these files be kept?
I would keep those.
Yes, these should be kept.
Done with the rest of GIT attributes.
I installed yii2-app-basic using composer create-project
, but it excluded the .gitignore file (I assume because of the newly added .gitattributes file)
Is that supposed to happen? I found it weird when I noticed that my vendor dir got committed.
Right. .gitignore
should not be in .gitattributes
... At least for apps.
Fixed.
i think that Translation status should should take into due consideration status docs from extensions.
what do you think about it?
What do you mean?
here : https://github.com/yiisoft/yii2/blob/master/docs/internals/translation-status.md
It should have the status docs from extensions.
sorry for my english.
Yes. Should be updated...
is it possible to further minimize yii's composer.json, ie. by making composer libraries such as cebe/markdown as suggestion instead of a requirement?
@dynasource only by throwing out Markdown
and HtmlPurifier
helpers, MaskedInput
etc.
My 2 cents here. Yes it would be great to have packages not only as separate repositories, but in future as separate components which can be used without core.
At moment, when your project based on Yii 1.x , and when it's big enough, you wont have time to re-write whole project at once. And this situation makes me more careful in selecting packages I will use.
One main ides now is to start replacing app parts which are depends on Yii 1.x with stand alone components where it could. And leave Yii only several global responsibilities: Handle request, render result.
I see this the only way possible in projects with big code base grow and being rewriten seamlesly not in a "full rewrite" way.
And I hope Yii will get rid of this problem in future.
Thanks
@RusAlex
My 2 cents here. Yes it would be great to have packages not only as separate repositories, but in future as separate components which can be used without core.
As I understand it completely contradicts the philosophy of Yii. This framework of tightly coupled components with lots of conscious violation of many OOP principles (like SOLID) for practice reasons. If short independent components from Yii will not be interested to anyone who build systems with independent components. Yii is interesting as full stack framework and only as full stack.
And I hope Yii will get rid of this problem in future.
I bet that this never will happen.
Anyway I could use it as I wrote for Handling Request and Response. Then I will be free in selecting other App components. Yii allows it.
@RusAlex
Anyway I could use it as I wrote for Handling Request and Response.
I could do so to, but never will do that. Just check http://stackphp.com/ . If you want free set of components you usually want microframework. Like Silex. Yii is full stack. Its different. And you know, choosing Yii for handling Request and Response only is really not smart option because there is much more better tools for that. Every tool have it niche.
While there are good built in features to make simple and nice CRUDs fast it will make sense =)
Agree Yii is a tool and it must be used wisely as any other.
+1 Actually, i'm really looking forward the changes proposed in the wiki, titled "ideas for 2.1". They seem nice and ambicious.
@cebe anything left for this one?
@samdark automation of releases. I'd like to keep this open until done.
also docs are not 100% fine. E.g. guide for extension is not rendered anywhere.
closing this now. extension docs generation will be part of the new website.
docs about project structure, versioning etc are now in https://github.com/yiisoft/yii2/blob/master/docs/internals/README.md
In order to enable faster version releases and make core extensions more scalable, we are thinking to maintain each core extension and application template separately in individual github projects. Below is a preliminary plan. Before we execute it, we would like to have it reviewed by everyone to make sure we do not omit anything important. Thank you!
Tasks
/extensions
and/apps
fromyii2
repoyii2-dev
to keep BC (solved by dev command)Project Organization
yii2-gii
extension will be maintained inyiisoft/yii2-gii
project.Release and Versioning Policy
2.x.y.z
.2.x
: major releases, containing major features. May be BC-breaking. Release cycle is around 6 months. With news announcements. Project site will be updated.2.x.y
: minor releases, containing minor features and bug fixes. Must be BC with prior2.x.*
releases. Release cycle is around 1 to 2 months. With news announcements. Project site will be updated.2.x.y.z
: patch releases, containing bug fixes only. Must be BC with prior2.x.*.*
releases. Release cycle is around 1 to 2 weeks. No news announcement or project site update (unless it contains major/security issue fixes). The release process will be made mostly automatic.master
branch is the dev branch for the current major release. Once a new minor release is ready, create a maintenance branch named2.x.y
offmaster
.2.x.y.z
on2.x.y
branch to mark patch releases (including2.x.y.0
release).2.x.y
will be merged back tomaster
constantly.2.t-dev
. Once the next major release is ready, it will be merged tomaster
, and then create a2.t.0
branch offmaster
(the old2.t-dev
branch will be deleted to avoid confusion).yii2
and core extension/application projects are released independently of each other.yii2
and core extension projects follow the above versioning and branching policies.yii2-gii
may have the latest version number as2.0.5
whileyii2
is already at2.1.3
, even though currently they are all synchronized at 2.0.3.