Part of this would mean dropping support for PHP 5.2 as composer only supports PHP 5.3. I think is a good excuse to drop 5.2 support - there's lots of new features that would be very useful. However, it's probably a bit late in the 3.0 release cycle to do this, so I would propose marking 5.2 as deprecated in the initial release, and perhaps merging this work back for the 3.1 release, and dropping 5.2 support. We could also alter evaluate if we want to take advantage of namespaces and other features.
There's also a number of other issues to think about - such as whether it is actually possible to develop the module listing site in parallel with the module system, and how much effort would be involved. The packagist site is fully open source and forms a very solid base. Other issues that would need to be evaluated include if anything needs to changed/deprecated for the 3.0 release, how to best manage backwards compatibility and several other items.
--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To post to this group, send email to silverst...@googlegroups.com.
To unsubscribe from this group, send email to silverstripe-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/silverstripe-dev?hl=en.
Hey Andrew,Personally I think you have the right idea to leverage composer/packagist for this task. I like the concept of just submitting a URL for the repository of a module and having the meta data extracted automatically.Dropping 5.2 support is not important for me, I'm happy with the move to 5.3.It sounds like a really cool system, I'm looking forward to it already.Cheers,
Frank
On Thu, Mar 22, 2012 at 11:58 PM, Andrew Short wrote:
Hey All,
For those who don't know me my name's Andrew Short. I'm an engineering and computer science student at the University of Wollongong, and am also employed by SilverStripe Australia. I've been involved with SilverStripe for quite a while now, and have worked on major features in the past. I'm currently looking for a project to work on for GSOC, and the improved module listing site caught my eye and got me thinking about the whole module system, which could do with a a lot of work.
I was thinking a possible project would be to refactor the way that modules are handled in SilverStripe - currently there's no way to define dependencies, organise modules into subfolders or easily submit them to a central repository. With the recent surge in popularity of the composer/packagist pair, I think it would be great to take advantage of this really useful system rather than inventing our own. I would propose the following course of action:
- Update the module system to one based on composer/packagist. This would allow module authors to define all the metadata for a module inside a JSON file (tags, requirements etc etc), and all the versioning would be inferred from source control. This means submitting a module would be as easy as submitting the URL to your repository.
- Allow modules to be organised into application/modules/framework sub-folders.
- Implement proper application/module/framework priorities for code and themes.
- Update the requirements system to allow requirements to be included by specifying their name rather than file path - Require::javascript('jquery').
- Create a better module listing repository based on composer/packagist. This could perhaps be done by one of the other GSOC students.
Part of this would mean dropping support for PHP 5.2 as composer only supports PHP 5.3. I think is a good excuse to drop 5.2 support - there's lots of new features that would be very useful. However, it's probably a bit late in the 3.0 release cycle to do this, so I would propose marking 5.2 as deprecated in the initial release, and perhaps merging this work back for the 3.1 release, and dropping 5.2 support. We could also alter evaluate if we want to take advantage of namespaces and other features.
There's also a number of other issues to think about - such as whether it is actually possible to develop the module listing site in parallel with the module system, and how much effort would be involved. The packagist site is fully open source and forms a very solid base. Other issues that would need to be evaluated include if anything needs to changed/deprecated for the 3.0 release, how to best manage backwards compatibility and several other items.
It'd be great if people could comment on this - there's probably heaps of alternative approaches which have their own merits. It would also be good if people could chime in on dropping 5.2 support, since this will be a pretty big change.
Cheers,
Andrew Short.
--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To post to this group, send email to silverstripe-dev@googlegroups.com.
To unsubscribe from this group, send email to silverstripe-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/silverstripe-dev/-/AEZD0qltIIoJ.
To post to this group, send email to silverst...@googlegroups.com.
To unsubscribe from this group, send email to silverstripe-d...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
This site is essentially "putting a face on Composer", and I'd like to see such faces built on the SilverStripe framework.
This site is essentially "putting a face on Composer", and I'd like to see such faces built on the SilverStripe framework.
I thought this was what we were talking about when I through my vote in for Composer.