[Solar-talk] Change to Solar system assumptions?
Dmytro Konstantinov
umka.dk at gmail.com
Sat May 17 11:12:17 CDT 2008
Paul,
Personally I 100% agree with you! In my experience, most of us end up
setting up, at the very least, 2 completely self contained trees for
each project: one to keep the development/cutting edge code in, the
other one is to keep the stable code in. I haven't encountered any
problems with keeping Solar local to a single-project tree, but as
you've said, there is room for improvement in that direction!
Looking forward to seeing what you have in mind! :)
Dmytro
On 17 May 2008, at 16:47, Paul M Jones wrote:
> Hi everyone,
>
> Since its beginning, Solar development has been very much an
> extension of how PEAR does things. PEAR assumes that there is one
> one shared library for all applications and projects; sometimes the
> shared library is for the entire server, sometimes it is for all the
> projects for one user on a server, but "shared everything" has been
> the foundational assumption. Even if you have multiple projects,
> PEAR expects they will all use a common library set.
>
> The Ruby on Rails crowd, and their imitators in the Symfony and Cake
> projects, have a different approach. With them, you have one self-
> contained project system, and no references to anything outside that
> system. If you have multiple projects, you have multiple separate
> library collections for them. This means that core libraries are
> usually duplicated across projects.
>
> Over the past few weeks, I come to believe that the Rails (et al)
> approach is the more effective solution for web application
> projects. I think that Solar, while still maintaining itself as a
> PEAR-library-style framework, should start assuming that it will be
> part of a project-specific system, not a server-wide system.
>
> There are a few implications of this change in approach:
>
> * The PEAR-style distribution of Solar as a library set should not
> change; you should still be able to `pear upgrade Solar` for PEAR
> compatibility.
>
> * There should be a *second* distribution mechanism: a downloadable
> "project directory" with the full project structure already in
> place, Solar in the "source" and "include" directories, the
> bootstrap file in the "docroot" directory, and so on. This will
> make first-time setups much easier.
>
> * The binary `solar` CLI tool should *not* look through the server
> in various places for its config files. Instead, it should look in
> the project "config" directory. (You can still specify an alternate
> config file with --config.) (The same would be true for the
> bootstrap file -- it should look in the "config" directory.)
>
> Those are all the changes I can think of that would apply with the
> "project-specific" assumptions (rather than "system-wide"
> assumptions).
>
> I'd like to hear any and all criticism of this proposed change to
> the Solar assumptions. I think we're all doing our projects this
> way, but I want to make sure I'm not missing anything.
>
>
> -- pmj
> _______________________________________________
> Solar-talk mailing list
> Solar-talk at lists.solarphp.com
> http://mailman-mail3.webfaction.com/listinfo/solar-talk
More information about the Solar-talk
mailing list