Hi Carlos,

I think our wires are still crossed. Rather than me trying to address your 
points below, I think we still need to work on definitions. Let me try like 
this:

A Jewel dependency on “Foundation” is OK for you, but a dependency on “Basic” 
is not. Right?

In your view, which files in the Basic project make it “Basic” rather than 
“Foundation”? Put another way: Which files can we remove from Basic to make it 
“Foundation”?

If we can narrow this down to a list of files which you believe make a 
dependency “bad”, I think that focuses the issue a lot better. We don’t need a 
full list of files at the moment, but a sampling of the files that you view as 
“bad dependencies” would make it much clearer for me (and others). If you 
prefer, I could compose a list of files myself, but I’d like to hear from you 
what you think.

Thanks,
Harbs

> On Jun 1, 2018, at 5:55 PM, Carlos Rovira <carlosrov...@apache.org> wrote:
> 
> Hi Harbs,
> 
> 2018-06-01 13:07 GMT+02:00 Harbs <harbs.li...@gmail.com>:
> 
>> 
>> We both agree that Jewel should have a dependency on “Foundation” or
>> “Basic”. The only question is TLCs. What practical difference does this
>> point have?
>> 
>> 
> All thoughts about why not make TLCs and CSS was exposed several times. I
> think you already know what I think about it. Don't think write about it
> one more time have sense.
> I think you don't expose opposite arguments. Maybe this part is in a field
> dominated by a mixture of technical issues and how each of us likes to
> codify things and for this reason is hard to reach consensus. I believe
> that your vision may be correct, but I personally see more benefits in
> which I am defending. If I must to choose only on arguments or evidences, I
> think the way I'm proposing should be the way to go.
> 
> 
> 
>>> 
>>>> 
>>>> I’d like to propose the following way forward.
>>>> 
>>>> 1. Both Basic (Foundation) pieces and Basic TLCs should have the same
>>>> package paths and namespaces.
>>>> 
>>> 
>>> Don't think so. If you want to promote reusable pieces, the refactor of
>>> names should make them go to a different package other than Basic. It's
>>> like to propose to put on a jewel package would be a bad decision. In the
>>> refactor I was for "core", since the common pieces was in Core. So I
>> think
>>> it will depend on the name of the library to choose. For me Basic is a
>> good
>>> name for Basic UI Set since clearly states what all the code there do. I
>>> still think Foundation is a good name, but if you don't like, I think you
>>> should propose other one that seems more appropriate.
>> 
>> I really don’t care very much what the project name is. “Base” “Basic” and
>> “Foundation” are all good. To me they all mean the same thing.
> 
> 
> I really see a tangible difference between "foundation" pieces to use all
> over other royale parts and "basic" pieces that are the most basic or base
> representation while express or jewel are more complex and pursue different
> complex scenarios (so is basic vs complex).
> 
> 
>> I’d prefer to stick with Basic because I don’t see a gain in renaming it.
>> Foundation is a “long” name. I don’t see a reason to make the name longer.
>> I feel very strongly that the TLCs should have the same paths and
>> namespaces as the rest of Basic.
> 
> I consider Basic TLCs a part of the Basic concept. Even if Jewel doesn’t
>> end up using it, other component sets likely will. Creating a new package
>> path and namespace serves no function and makes things more difficult. Why
>> go there?
>> 
> 
> ok, for this is not crucial, is only something that the other name like me
> more and fit for me more, but in this part I'm ok if finaly we need to go
> with "basic". In every negotiation we can't get *all*
> 
> 
> 
>> 
>>> 
>>>> 2. By doing this, it will be very painless to pull Basic TLCs out of
>> Basic
>>>> into a separate project or merge it back in. (i.e. BasicComponents)
>> (Either
>>>> now, or in the future.)
>>>> 
>>> 
>>> I think we must be doing it moving little by little and ensuring after a
>>> little refactor all continues working.
>> 
>> Moving what? I don’t think moving the entire list of TLCs (i.e. what is
>> used in the Basic CSS) is more than a few hours of work.
>> 
> 
> In fact the initial refactor took me 2 days of about 10-12 work hours to
> complete. This will take a time to do it, but it can be done without
> problem with patience and perseverance.
> 
>> 
>> Basic *is* that shared library. To prevent linking to Basic (TLCs), we can
>> move the Basic TLCs out of Basic *at any time*. I don’t see why we need to
>> *do anything* right now (except get everything working for a release).
>> Jewel apps might be slightly larger for a month or two until we get this
>> sorted out, but what’s the rush?
>> 
> 
> Harbs, I completely disagree with that path. Is to come back to insert
> entropy and bad practices again, or go to backwards. For me this point is
> crucial. Again, we must see what points are very important  and for me this
> is not important, is crucial. Think that if you don't like my path, you
> always can have again Core - Basic, and I should have Core - Foundation -
> Jewel. We will have duplicated code, and will have 2 valid options  living
> together, but I don't see other way.
> 
> 
>> 
>> Just consider Basic “Foundation” and ignore all the TLCs for the time
>> being. If it’s the right thing to move the TLCs out, we can do that later.
>> 
>> 
> I think the best path to make us all happy is to set up a new "foundation"
> or (whatever the name you want) and be moving things there.
> This way, I don't have to link Basic and live 1-2-3 months with the
> problem,and we all can move things little by little without problem. This
> paths makes the same that you want, but without introducing the problem
> again. Can you consider that path?
> 
> 
>> Because I don’t think that removing the dependency is the right thing to
>> do. Again, whether I’m right or wrong will become clearer as Jewel gets
>> completed. If I’m wrong, I’ll be happy to pull out the Basic TLCs myself.
>> 
> 
> But Harbs, I think that we actually can see the benefits. The benefits are
> exposed now!, you don't have to try anything more to see that is a good
> way. You only need to examine final code in JewelExample, or any other
> example code that uses Jewel and not uses Basic (all blog examples, or
> remote object example), and you'll see that is the proof that the way works
> better. You didn't see nothing about things like less definitions or other
> points that I put on the table. And you stick with a way of thinking that I
> still don't see arguments that make me think that I should use link Basic,
> and If you want me to link Basic, I understand that you want me to extend
> things in Basic or if is not the case, why you want me to link Basic in
> Jewel ?
> 
> 
>> 
>>> 
>>>> 6. If we can’t make all the pieces of Basic truly optional, I’ll help
>> you
>>>> pull the Basic TLCs and CSS out into a separate project.
>>>> 
>>>> 
>>> Ok, my only concern here is how to do this plan, since I see many
>> problems
>>> that only can be making just what I can avoid.
>> 
>> What problems do you envision that are stopping the 0.9.3 release? Can we
>> get things working for the release and then take it from there?
>> 
> 
> I think we are stopping the release because of this discussion, since all
> is working right. The only problem is the change of classes to other
> packages that will make users to take that into account. But 0.9.3 can be
> made some weeks ago as jsonly was fixed right?
> 
> 
>> 
>> I’m working on getting rid of all the class selectors which are bringing
>> Basic pieces into Jewel. Please give me a chance to finish this work.
>> 
>> 
> I think this can be done independent of the discussion about link Basic or
> not. We should not mix things and keep the problems clearly differentiated
> 
> Harbs,
> 
> I want to propose a way that respect both ways. You can do your work on
> refactoring class selectors while I continue my work on Jewel. But to do
> this I need to create an intermediate library. I can do that with temporal
> name "Foundation" and then put there the beads I'll need (as I needed). As
> well I can return things from Core to Foundation and Basic (the same
> temporal copy on both sides). This will make you and me try to proof our
> concepts, and not only proof yours is the only one that is right. What do
> you think?
> 
> Thanks
> 
> 
> 
> -- 
> Carlos Rovira
> http://about.me/carlosrovira

Reply via email to