Hi Harbs, ok, I'll try to make a brief list of some of the classes involved so you and others can have a better understanding of how things can be restructured so we get best of both worlds. Hope to make this today.
thanks Carlos 2018-06-02 21:36 GMT+02:00 Harbs <harbs.li...@gmail.com>: > 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 > > -- Carlos Rovira http://about.me/carlosrovira