On 15/05/2018 12:43, Taher Alkhateeb wrote:
Interesting idea Nicolas. So we will have sort of multiple layers of
themes? NewTheme -> BaseThemeWithLibraries -> CommonTheme?
Exactly
That's actually not a bad idea, and would help with backwards
compatibility. The draw back is perhaps "too many themes" but I
suppose it won't bother people that much?
This isn't a problem if we define a correct rule for naming, or find an other way to organize/identify a theme

On Tue, May 15, 2018 at 11:06 AM, Nicolas Malin
<nicolas.ma...@nereide.fr> wrote:
Hi,

I have no objection to introduce bootstrap and Vue.js. I suggest to don't
introduce them on common-theme but create a new theme with the orientation
wanted.

If you thinks that it's difficult to extend the common-theme with bootstrap,
fork it completely this could be indicate what we need to have on
common-theme and what we need to migrate on a potential legacy-theme.

If you introduce a new base theme, you can commit it directly on trunk
without impact and after you can extend it with different other theme.

I don't know Vue.js but I think that we can use the screen engine to
transmit information with json without change in code base.

Currently I didn't plan time to work on it but I will try to help you if you
move forward :)

Nicolas



On 12/05/2018 20:02, Taher Alkhateeb wrote:
Hello Everyone,

Recently, we at Pythys had some interactions with clients, and the
user interface proved to be a sour point. It is functioning well, but
looks too classic, too rigid, too 2000s really :) We had many
discussion and attempts in the past like [1] [2] [3] [4] [5] [6] [7]
[8] [9] [10] just to name a few all of which seemed not to follow
through.

So what is the problem? Why is this hard to get right? I'm not sure I
have the magic answer, but it seems to me like part of the problem is
simply .. TOO BIG

So I was thinking about a possible solution, and after some initial
research, I think maybe the solution (like everything else) needs to
be slow, incremental and evolutionary rather than revolutionary. So I
am suggesting the following ideas to try and move forward:

- We include the assets for Bootstrap in the common theme. Bootstrap
will give us the Grid system which allows for a responsive website
that works on all devices, it will also give us beautiful widgets to
work with.
- We include Vue.js assets in the common theme. Vue.js is an excellent
framework for creating Single Page Applications (SPAs) to give dynamic
behavior to our pages and create ajax-heavy pages
- We slowly migrate our old CSS to bootstrap constructs. We can begin
for example by replacing our menus, then tables, then headers, then
buttons etc ..
- We slowly introduce dynamic screens using controller logic in Vue.js
- We slowly update our macro library to migrate to the above mentioned
libraries and widgets
- We do all of this live in Trunk, without branching. This means that
for some period of time, there will be transitional code (a little bit
of bootstrap and a little bit of our current code)

We can start with an initial proof of concept skeleton, and if that
gets consensus, then we can move forward with a full implementation in
trunk. I think this issue is many years over due. Our interface looks
oooooooooooooold and really needs a face lift.

What do you think? Ideas? Suggestions?

[1] https://s.apache.org/rf94
[2] https://s.apache.org/g5zr
[3] https://s.apache.org/XpBO
[4] https://s.apache.org/YIL1
[5] https://s.apache.org/836D
[6] https://s.apache.org/DhyB
[7] https://s.apache.org/Lv9E
[8] https://s.apache.org/zKIo
[9] https://s.apache.org/D6jx
[10] https://issues.apache.org/jira/browse/OFBIZ-5840


Reply via email to