Hi Adrian, Ok at least we have the kernel of an interesting plan. Sharan, we're waiting for you to say the magic word!
Taher Alkhateeb ----- Original Message ----- From: "Adrian Crum" <adrian.c...@sandglass-software.com> To: dev@ofbiz.apache.org Sent: Monday, 19 October, 2015 12:48:59 AM Subject: Re: Why A Framework Rewrite Is Necessary That sounds fine to me. Keep in mind that Sharan is spearheading this thing, and I will be effectively uninvolved. But I will offer advice/guidance where I feel it is necessary. Based on Ron's comments, I think it would be best if the Wiki page was moved so others can modify it, or C&P it to a less restrictive area. Adrian Crum Sandglass Software www.sandglass-software.com On 10/18/2015 2:21 PM, Taher Alkhateeb wrote: > Hello Everyone, > > Like Ron I also find the suggestion from David logical and sensible. We can > perhaps start with a design for interfaces and XSDs as a first step. Would > anyone like to join forces to brainstorm on this issue? Adrian, is that a > route that you also prefer? > > Taher Alkhateeb > > ----- Original Message ----- > > From: "Ron Wheeler" <rwhee...@artifact-software.com> > To: dev@ofbiz.apache.org > Sent: Saturday, 17 October, 2015 10:39:35 PM > Subject: Re: Why A Framework Rewrite Is Necessary > > This seems like a very sound approach and something that can be started > in the wiki. > That way no one will be tempted to start coding before we know what to code. > > > If the first things to be coded (even if the wiki is the repo) are > interfaces and XML schemas, we should be able to divide up the > implementation classes among a wide number of committers while still > maintaining a sense of confidence that the result will be what was > agreed upon. > > It will also allow us to validate: > 1) Is there a consensus about the design and function of a new framework > 2) Is there enough of a community to actually build one. > > Can we start with the pages that Adrian wrote way back then, as a basic > outline of the components of a framework? > https://cwiki.apache.org/confluence/display/OFBADMIN/Another+Framework+Vision > > > Ron > > > On 17/10/2015 2:07 PM, David E. Jones wrote: >> This message has a lot of the right questions to ask about a new framework. >> >> A big part of why the OFBiz framework suffers is because it was never >> planned in its entirety from the beginning, it is VERY much an emergent >> design as opposed to an intentional one. >> >> The interest bits start appearing with intentional design, and for anyone >> serious about getting into a fresh framework rewrite I’d highly recommend >> doing the same thing I did with Moqui: define Java interfaces for the API >> and an XML schema (XSD files) for the intended XML files. The XML schema >> might be the same as the current one, though there is room for improvement >> in the current OFBiz XML files and the eventual framework would be much >> better if these are reconsidered as well. >> >> You can see the Moqui interfaces here: >> >> https://github.com/moqui/moqui/tree/master/framework/src/api/java/org/moqui >> >> The central object at runtime, ie for most application code, is the >> implementation of the ExecutionContext interface. The whole API is >> structured around this: >> >> https://github.com/moqui/moqui/blob/master/framework/src/api/java/org/moqui/context/ExecutionContext.java >> >> >> There is also a JavaDoc generated and available on moqui.org, might be >> easier to read for some: >> >> http://www.moqui.org/javadoc/index.html >> http://www.moqui.org/javadoc/org/moqui/context/ExecutionContext.html >> >> I include these links because they might be useful for ideas or even as a >> starting point for a next generation OFBiz framework API (take or leave each >> method/etc as you wish). >> >> The nice thing about creating Java interfaces as opposed to a document is >> they are more clear and concise, and can be actually used in the framework >> implementation once interested community participants have reviewed it. >> >> This doesn’t require nearly as much work as implementing the beast and is a >> great way to communicate concepts, so for anyone really serious about a >> framework rewrite in OFBiz I’d highly recommend this specific effort. >> >> The other details like which tools (other open source projects and such) to >> use is less important. On the other hand if using something like Spring is a >> serious consideration it would change the API dramatically, and a lot of the >> design ideas as well (I’d recommend against this BTW, the Spring ecosystem >> is its own thing and VERY different conceptually from OFBiz). >> >> -David >> >> >>> On 16 Oct 2015, at 08:47, Ron Wheeler <rwhee...@artifact-software.com> >>> wrote: >>> >>> Before we start to decide who can access code, we need to decide on a >>> roadmap for the new framework. >>> How different will the API be from the current framework in each of the >>> areas that the framework will offer services? >>> >>> How modular will it be? >>> Foundation identifies >>> - Core with 3 main areas of functionality. Can they be separated into >>> separate projects with clean interfaces? are there more projects such as >>> authentication, persistence, logging and audit (see below) that are shared >>> across the Foundation Core high level features. >>> - Script >>> - Imex >>> - Connect - seems to a number of projects here that could be tackled >>> separately. >>> Is this it? >>> >>> Will there be an application isolation layer that will support OFBiz's >>> current interaction with the Framework. This should also be a separate >>> project where OFBiz knowledge is really valuable. >>> >>> What will go underneath the covers? Spring-Boot , Spring JPA, Hibernate, >>> etc. >>> >>> How many containers will be supported. Tomcat, Jetty, Glassfish, >>> Spring-Boot. >>> >>> How many persistence options will be supported? SQL, No-SQL >>> >>> How many authentication services will be supported - internal, LDAP, Oauth, >>> Google, LinkedIn, Facebook. >>> >>> What administration functions will be offered? How? JConsole, REST, >>> browser/mobile apps. >>> >>> How delivered? Installer, Docker image, VM image, >>> >>> What demo apps? >>> >>> What test framework(s)? Test Applications. >>> >>> What would be a reasonable set of functionality to be released in version >>> 1.0? Minimum useful framework. >>> >>> How many people would it take to do this in a reasonable timeframe? >>> >>> Ron >>> >>> >>> On 16/10/2015 3:41 AM, Pierre Smits wrote: >>>> On Fri, Oct 16, 2015 at 5:31 AM, David E. Jones <d...@me.com> wrote: >>>> >>>>>> On 15 Oct 2015, at 07:58, Adrian Crum < >>>>> adrian.c...@sandglass-software.com> wrote: >>>>>> Keep in mind that much of David's code in OFBiz has been rewritten. So >>>>> yes, we CAN do a better job than him. >>>>> >>>>> I think there’s a name for this logical fallacy… >>>>> >>>>> And this could also be called a logical fallacy. But let us not make it >>>> into a pissing contest again, like we had in the past regarding the >>>> opposing viewpoints on this. >>>> >>>> >>>>>> Also keep in mind that Moqui duplicates some of the problems I listed - >>>>> so by using Moqui, we keep the same problems instead of fixing them. >>>>> >>>>> Could you be more specific, other than the type conversion stuff you >>>>> mentioned many years ago (which I fully disagree with)? >>>>> >>>>> This is not about who is right or wrong, but where the community wants to >>>> go. >>>> >>>> I understand the reluctance of the community, because the impact will be >>>> huge. When looking at the data in OpenHub I see OFBiz having an estimate >>>> effort spend of 519 person years vs 6 for the combined >>>> Moqui-Mantle-HiveMindPM-PopCommerce suite. And one of the reasons behind >>>> it >>>> is simple: Many more have worked on OFBiz (from day 1) than on the Moqui >>>> suite. One could even argue that both directions took the same number of >>>> years in duration to get where they are now. Without all the experiences >>>> regarding the OFBiz product there couldn't have been an evolution called >>>> the Moqui suite. >>>> >>>> Coming back to opting for a new direction, as Scott has stated we can have >>>> this in a separate code repository (subproject, like many other Apache >>>> projects do their work) even combined with a new JIRA an Wiki under the >>>> umbrella of the OFBiz project. Based on the comments provided, this seems >>>> like a logical choice to ensure that adopters of the current solution will >>>> keep the support of the community while at the same time ensuring >>>> containment of the new approach. >>>> >>>> But these are mere technical, supportive aspects. The more important issue >>>> is what this new solution will encompass. There are talks of a rewrite, >>>> which sounds like reinvention of the wheel. But I guess it is not like >>>> that. Yet, taking decisions based on a few one-pagers (e.g. >>>> http://www.sandglass-software.com/products/sandglass/documents/Foundation_Brochure.pdf) >>>> >>>> are seldom done. Maybe it works for a single person, but I doubt it will >>>> make a community fly. >>>> >>>> Whether fix or rewrite, choices will be made regarding the supporting 3rd >>>> party libraries/solutions and the community needs to understand the impact >>>> to get behind it. So before we embark on the coding trip, let us get into >>>> trying to define a bit more what the new solution will encompass and get >>>> consensus on that. >>>> >>>> Another issue regarding getting the community behind behind this new >>>> effort >>>> is this: 'restrict access to the new code'. I guess this meant restrict >>>> write access. Though understandable from a avoidance of dilution/scope >>>> creep point of view, I see this as a wrong direction. This 'proposed' >>>> exclusion of contributors of the kind will bring us back to where this >>>> project came from: discrimination and favouritism. I even doubt that this >>>> is possible under the current principles of the ASF. >>>> Given that this is an enormous undertaking, we need to get as many on >>>> board >>>> as possible. Not only to ensure that the decisions (at each level) will >>>> get >>>> consensus, but also the ensure that every aspect down the line will get >>>> addressed (e.g. documentation, test definitions, marketing/promotions, >>>> etc) >>>> in order to get this kite flying. >>>> >>>> Best regards, >>>> >>>> Pierre Smits >>>> >>>> *OFBiz Extensions Marketplace* >>>> http://oem.ofbizci.net/oci-2/ >>>> >>> >>> -- >>> Ron Wheeler >>> President >>> Artifact Software Inc >>> email: rwhee...@artifact-software.com >>> skype: ronaldmwheeler >>> phone: 866-970-2435, ext 102 >>> >> > >