Den 21. sep. 2006 kl. 12.10 skrev Thorsten Scherler:
I've not been following the i18n discussions, but I have to admit
that
when I saw Thorstens comments I wondered "why not core?".
I'm not doing the work on this so do it however you like. But if you
want my (possibly uninformed) opinion then I'd say core is the
right place.
Hmm, after all the feature contains a dispatcher contract. Further who
said core cannot be in a plugin?
I think we should split the *whole* core into plugins, that will
help to
refactor and simplify the code. Now we have spread the e.g. i18n code
all over our core. Ugly for understanding, ugly to maintain.
We already agreed that we would need a skin plugin as well, which
is as
well a core feature, or?
IMO *everything* should go into plugins and the core would be just a
couple of sitemaps. Maybe we should restructure the locations for
plugins:
tree $FORREST_HOME/plugins
.
|-- core
|-- incubator (the plugins from the whiteboard)
`-- optional
Starting an i18n plugin and move all code to there has much more
benefits (keeping documentation and code releated to i18n in one
place)
and this is why we introduced plugins in the first place, or?
So I am -1 to put it in the core, as long someone names a *good*
reason
to put it in core?
One good reason could be that i18n processing cuts across all other
processing - irrespective of which plugins you employ, i18n should
work. i18n configuration and support should be centralised and
available to all plugins. Perhaps a plugin could do this job, but the
present i18n sitemap does not work with the dispatcher (I haven't
tried with a non-dispatcher setting), and duplicates some of the i18n
configuration in the main sitemap. Which kind of proves my point -
decoupling i18n processing from the core (sitemap) does not seem like
a good idea to me.
Another reason is to ensure proper and systematic support for i18n in
all places. Forrest has been a bit patchy when it comes to i18n
support, and still is. This makes for a bad user experiense, both for
an advanced user developing web solutions with Forrest, and for end
users of that web solution. When you need i18n support, you want it
to work everywhere, with all plugins and all your documents, in all
running environments.
The bug I reported earlier today is an illustration of my point.
After some consideration, I would actually say that if any feature
should stay in the core and not be made a plugin, it is i18n support.
As I see it, the problems with i18n support in Forrest is symptomatic
of its origin: it was added more as an afterthought, and not as a
feature built-in from the very beginning. I believe the way to fix it
is *not* to remove it from the core, rather the contrary.
Just my few cents.
Best regards,
Sjur