[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JS frameworks & the future of the LSMB UI

Oh, ok, I can't help but comment on the second point too:

On 07/30/2013 03:14 PM, Erik Huelsmann wrote:

2. Longer term general direction for the development of the LedgerSMB UI
This point probably requires separate discussion, because the direction taken to develop a UI inherently affects the efforts required for the "back end". I.e. whether we from here on *only* develop services on the back end, with separate front-end developments, or that we develop along the current route which supports to build a rich front-end "eventually".

I think we should continue to maintain a plain-HTML front end as a fallback, at least for the near future.

I'd like to see some improvements in the JSON interface, both for integration with entirely outside applications and to simplify the work that needs to be done in the browser to make richer interfaces (assuming we're using things like Dojo stores to consume and update that data). The spec we developed that's described in rest_server.pl should work -- however the actual interface doesn't currently work with the one class that's defined (LedgerSMB::REST_Class::Contact), and I think there might be some easier ways to get broad coverage here -- perhaps hooking into the ORM model to return straight JSON from virtually any stored function? Or providing some REST methods on the LedgerSMB data object that everything else inherits...

But the biggest thing to me is not slowing down the release. The reason I haven't committed my changes (yet) to trunk is that I want to see 1.4 out and working, soon, and I don't want the UI discussions to slow that down. There's enough improvement going on that I don't want to distract you or Chris too much by adding a ton more that needs to be done before we declare a stable release.

So if you're amenable, I'd suggest let's go ahead with introducing Dojo as an included library, and let me, Brian, Herman, Mikkel, and anyone else who's comfortable plugging away at the JS side of things improve one screen/module at a time, with a goal of more complete coverage in 1.5, and then perhaps look at new UI paradigms for the release after that.

John Locke