You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Bilgin Ibryam <bi...@gmail.com> on 2016/10/16 14:08:01 UTC

Hide and replace certain UI fragments

Hi all,

I've started using ISIS for a project and so far my experience has
been really good. With very little code, I've managed to achieve quite
a lot. Also adding the addons was quite straight forward.

Now I need few UI customizations and couldn't find an easy way.

I've already created an improvement ticket [1] but also wanted to
check what are other doing in this aread.  For example I want to
completely disable/hide the bookmarks panel that appear on hoover, it
is a little bit annoying. Also I'd like to customize the footer
content completly, but it seems it is hardcoded.

Cheers,


[1] https://issues.apache.org/jira/browse/ISIS-1518

-- 
Bilgin Ibryam
Camel Committer at ASF & Integration Architect at Red Hat
Blog: http://ofbizian.com | Twitter: @bibryam

Camel Design Patterns https://leanpub.com/camel-design-patterns
Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475

Re: Hide and replace certain UI fragments

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Good conversation... don't have much to add.

I've merged in the PR for disabling Amelia, and - as you say, Martin -
upgrading Wicket-Bootstrap is the longer-term solution.

Bilgin, thanks for the PR for disabling the breadcrumbs bit ... looks ok to
merge in, but could you also update the .adocs first?  See PR for details;
I've also updated the ticket [1] to reference this thread.

Thx
Dan



[1] https://issues.apache.org/jira/browse/ISIS-1518



On 17 October 2016 at 11:37, Bilgin Ibryam <bi...@gmail.com> wrote:

> >>
> >
> > As far as I remember all I had to do when I needed a custom footer was a
> > custom factory + a panel (java & html).
> > I didn't need to touch the application and the registrar.
>
> According to docs here https://isis.apache.org/guides/ugvw.html
> it is necessary to create a custom registart and add your factory
> there. Then you have to add your custom register to the app.
>
>
>
> >
> >
> >>
> >> I think if we give the users ability to customise the existing footer,
> >> it will be an easy win.
> >>
> >> It is already possible to disable the theme selector through
> >>
> >> isis.viewer.wicket.themes.showChooser=false
> >>
> >> and we can add similar features for the  breadcrumb and bookmarks too.
> >> I can do that for breadcrumbs, but the bookmark one is slightly more
> >> complicated for me.
> >>
> >> And last but not least, if I can provide my own html snippet for the
> >> footer text, it will be enough. Then the whole UI is customisable w/o
> >> touching 5-6 java classes.
> >>
> >> WDYT?
> >>
> >
> > IMO the current way is better because by providing your own FooterPanel
> you
> > decide where exactly to put the text (left, middle, right), what font to
> > use, etc.
> > If it is just a text then most probably won't look good enough for
> everyone.
>
> Agreed. I had to replace the whole fotter.
> But I've also PR ability to hide breadcrumbs similarly to themes.
>
> I still need a way to hide bookmarks panel though.
>
>
> >
> >
> >>
> >> PS: as for the broken theme, it is not giving a good first impression
> >> to new comers who would try the few options on the UI. And hiding the
> >> broken template will be easy though configuration. I'll do a PR for
> >> it.
> >>
> >
> > I think the proper way is to update Wicket-Bootstrap dependency. This
> will
> > remove Amelia from the list of available themes.
> > But the upgrade might break the current UI for some themes too...
> >
> > We have seen in the past that not all themes look perfect as is. That's
> why
> > there are overrides like
> > https://github.com/apache/isis/blob/d023786e74f4f16c57cb67e38c08c7
> e63f9036fe/core/viewer-wicket-ui/src/main/java/org/apache/
> isis/viewer/wicket/ui/pages/bootstrap-overrides-darkly.css
> > The list of themes is just to show that is relatively easy to customize
> the
> > UI for your needs. I guess the best we can do is to explain this in the
> > documentation.
>
>
> I still think we should avoid bad UX with a broken theme, considering
> there is a one line config change fix for it which we can use now.
>
> Thanks for your help,
>
> >
> >
> >> Cheers,
> >> B.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> >
> >> > About the Amelia theme - this has been reported several months ago.
> >> Amelia
> >> > theme has been deprecated in Bootswatch, and after that in
> >> > Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
> >> > Wicket-Bootstrap.
> >> > I believe also the problem (another ticket by Dan) with the
> three-state
> >> > checkbox (CheckboxX) is due to the old version of WB.
> >> >
> >> > Martin Grigorov
> >> > Wicket Training and Consulting
> >> > https://twitter.com/mtgrigorov
> >> >
> >> > On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bi...@gmail.com>
> >> wrote:
> >> >
> >> >> Hi all,
> >> >>
> >> >> I've started using ISIS for a project and so far my experience has
> >> >> been really good. With very little code, I've managed to achieve
> quite
> >> >> a lot. Also adding the addons was quite straight forward.
> >> >>
> >> >> Now I need few UI customizations and couldn't find an easy way.
> >> >>
> >> >> I've already created an improvement ticket [1] but also wanted to
> >> >> check what are other doing in this aread.  For example I want to
> >> >> completely disable/hide the bookmarks panel that appear on hoover, it
> >> >> is a little bit annoying. Also I'd like to customize the footer
> >> >> content completly, but it seems it is hardcoded.
> >> >>
> >> >> Cheers,
> >> >>
> >> >>
> >> >> [1] https://issues.apache.org/jira/browse/ISIS-1518
> >> >>
> >> >> --
> >> >> Bilgin Ibryam
> >> >> Camel Committer at ASF & Integration Architect at Red Hat
> >> >> Blog: http://ofbizian.com | Twitter: @bibryam
> >> >>
> >> >> Camel Design Patterns https://leanpub.com/camel-design-patterns
> >> >> Instant Apache Camel Message Routing http://www.amazon.com/dp/
> >> 1783283475
> >> >>
> >>
> >>
> >>
> >> --
> >> Bilgin Ibryam
> >> Camel Committer at ASF & Integration Architect at Red Hat
> >> Blog: http://ofbizian.com | Twitter: @bibryam
> >>
> >> Camel Design Patterns https://leanpub.com/camel-design-patterns
> >> Instant Apache Camel Message Routing http://www.amazon.com/dp/
> 1783283475
> >>
>
>
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>

Re: Hide and replace certain UI fragments

Posted by Bilgin Ibryam <bi...@gmail.com>.
>>
>
> As far as I remember all I had to do when I needed a custom footer was a
> custom factory + a panel (java & html).
> I didn't need to touch the application and the registrar.

According to docs here https://isis.apache.org/guides/ugvw.html
it is necessary to create a custom registart and add your factory
there. Then you have to add your custom register to the app.



>
>
>>
>> I think if we give the users ability to customise the existing footer,
>> it will be an easy win.
>>
>> It is already possible to disable the theme selector through
>>
>> isis.viewer.wicket.themes.showChooser=false
>>
>> and we can add similar features for the  breadcrumb and bookmarks too.
>> I can do that for breadcrumbs, but the bookmark one is slightly more
>> complicated for me.
>>
>> And last but not least, if I can provide my own html snippet for the
>> footer text, it will be enough. Then the whole UI is customisable w/o
>> touching 5-6 java classes.
>>
>> WDYT?
>>
>
> IMO the current way is better because by providing your own FooterPanel you
> decide where exactly to put the text (left, middle, right), what font to
> use, etc.
> If it is just a text then most probably won't look good enough for everyone.

Agreed. I had to replace the whole fotter.
But I've also PR ability to hide breadcrumbs similarly to themes.

I still need a way to hide bookmarks panel though.


>
>
>>
>> PS: as for the broken theme, it is not giving a good first impression
>> to new comers who would try the few options on the UI. And hiding the
>> broken template will be easy though configuration. I'll do a PR for
>> it.
>>
>
> I think the proper way is to update Wicket-Bootstrap dependency. This will
> remove Amelia from the list of available themes.
> But the upgrade might break the current UI for some themes too...
>
> We have seen in the past that not all themes look perfect as is. That's why
> there are overrides like
> https://github.com/apache/isis/blob/d023786e74f4f16c57cb67e38c08c7e63f9036fe/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-darkly.css
> The list of themes is just to show that is relatively easy to customize the
> UI for your needs. I guess the best we can do is to explain this in the
> documentation.


I still think we should avoid bad UX with a broken theme, considering
there is a one line config change fix for it which we can use now.

Thanks for your help,

>
>
>> Cheers,
>> B.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> >
>> > About the Amelia theme - this has been reported several months ago.
>> Amelia
>> > theme has been deprecated in Bootswatch, and after that in
>> > Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
>> > Wicket-Bootstrap.
>> > I believe also the problem (another ticket by Dan) with the three-state
>> > checkbox (CheckboxX) is due to the old version of WB.
>> >
>> > Martin Grigorov
>> > Wicket Training and Consulting
>> > https://twitter.com/mtgrigorov
>> >
>> > On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bi...@gmail.com>
>> wrote:
>> >
>> >> Hi all,
>> >>
>> >> I've started using ISIS for a project and so far my experience has
>> >> been really good. With very little code, I've managed to achieve quite
>> >> a lot. Also adding the addons was quite straight forward.
>> >>
>> >> Now I need few UI customizations and couldn't find an easy way.
>> >>
>> >> I've already created an improvement ticket [1] but also wanted to
>> >> check what are other doing in this aread.  For example I want to
>> >> completely disable/hide the bookmarks panel that appear on hoover, it
>> >> is a little bit annoying. Also I'd like to customize the footer
>> >> content completly, but it seems it is hardcoded.
>> >>
>> >> Cheers,
>> >>
>> >>
>> >> [1] https://issues.apache.org/jira/browse/ISIS-1518
>> >>
>> >> --
>> >> Bilgin Ibryam
>> >> Camel Committer at ASF & Integration Architect at Red Hat
>> >> Blog: http://ofbizian.com | Twitter: @bibryam
>> >>
>> >> Camel Design Patterns https://leanpub.com/camel-design-patterns
>> >> Instant Apache Camel Message Routing http://www.amazon.com/dp/
>> 1783283475
>> >>
>>
>>
>>
>> --
>> Bilgin Ibryam
>> Camel Committer at ASF & Integration Architect at Red Hat
>> Blog: http://ofbizian.com | Twitter: @bibryam
>>
>> Camel Design Patterns https://leanpub.com/camel-design-patterns
>> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>>



-- 
Bilgin Ibryam
Camel Committer at ASF & Integration Architect at Red Hat
Blog: http://ofbizian.com | Twitter: @bibryam

Camel Design Patterns https://leanpub.com/camel-design-patterns
Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475

Re: Hide and replace certain UI fragments

Posted by Martin Grigorov <mg...@apache.org>.
On Mon, Oct 17, 2016 at 11:03 AM, Bilgin Ibryam <bi...@gmail.com> wrote:

> Hi Martin,
>
> On 16 October 2016 at 15:52, Martin Grigorov <mg...@apache.org> wrote:
> > Hi Bilgin,
> >
> > The footer is replaceable, see https://github.com/apache/
> > isis/blob/master/core/viewer-wicket-ui/src/main/java/org/
> > apache/isis/viewer/wicket/ui/components/footer/FooterPanelFactory.java.
> > It uses ComponentType.FOOTER as a key.
> > Check the other ComponentTypes for what else is possible to be replaced
> > directly by providing your own factory.
> > Some other small things, like the logo and app name, are exposed in the
> > Guice config.
>
> I've seen component types, but to replace a footer I have to touch
>
> IsisWicketApplication
> ComponentFactoryRegistrarDefault
> ComponentFactoryAbstract
> create my panel, html, css...
>

As far as I remember all I had to do when I needed a custom footer was a
custom factory + a panel (java & html).
I didn't need to touch the application and the registrar.


>
> I think if we give the users ability to customise the existing footer,
> it will be an easy win.
>
> It is already possible to disable the theme selector through
>
> isis.viewer.wicket.themes.showChooser=false
>
> and we can add similar features for the  breadcrumb and bookmarks too.
> I can do that for breadcrumbs, but the bookmark one is slightly more
> complicated for me.
>
> And last but not least, if I can provide my own html snippet for the
> footer text, it will be enough. Then the whole UI is customisable w/o
> touching 5-6 java classes.
>
> WDYT?
>

IMO the current way is better because by providing your own FooterPanel you
decide where exactly to put the text (left, middle, right), what font to
use, etc.
If it is just a text then most probably won't look good enough for everyone.


>
> PS: as for the broken theme, it is not giving a good first impression
> to new comers who would try the few options on the UI. And hiding the
> broken template will be easy though configuration. I'll do a PR for
> it.
>

I think the proper way is to update Wicket-Bootstrap dependency. This will
remove Amelia from the list of available themes.
But the upgrade might break the current UI for some themes too...

We have seen in the past that not all themes look perfect as is. That's why
there are overrides like
https://github.com/apache/isis/blob/d023786e74f4f16c57cb67e38c08c7e63f9036fe/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-darkly.css
The list of themes is just to show that is relatively easy to customize the
UI for your needs. I guess the best we can do is to explain this in the
documentation.


> Cheers,
> B.
>
>
>
>
>
>
>
>
>
> >
> > About the Amelia theme - this has been reported several months ago.
> Amelia
> > theme has been deprecated in Bootswatch, and after that in
> > Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
> > Wicket-Bootstrap.
> > I believe also the problem (another ticket by Dan) with the three-state
> > checkbox (CheckboxX) is due to the old version of WB.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bi...@gmail.com>
> wrote:
> >
> >> Hi all,
> >>
> >> I've started using ISIS for a project and so far my experience has
> >> been really good. With very little code, I've managed to achieve quite
> >> a lot. Also adding the addons was quite straight forward.
> >>
> >> Now I need few UI customizations and couldn't find an easy way.
> >>
> >> I've already created an improvement ticket [1] but also wanted to
> >> check what are other doing in this aread.  For example I want to
> >> completely disable/hide the bookmarks panel that appear on hoover, it
> >> is a little bit annoying. Also I'd like to customize the footer
> >> content completly, but it seems it is hardcoded.
> >>
> >> Cheers,
> >>
> >>
> >> [1] https://issues.apache.org/jira/browse/ISIS-1518
> >>
> >> --
> >> Bilgin Ibryam
> >> Camel Committer at ASF & Integration Architect at Red Hat
> >> Blog: http://ofbizian.com | Twitter: @bibryam
> >>
> >> Camel Design Patterns https://leanpub.com/camel-design-patterns
> >> Instant Apache Camel Message Routing http://www.amazon.com/dp/
> 1783283475
> >>
>
>
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>

Re: Hide and replace certain UI fragments

Posted by Bilgin Ibryam <bi...@gmail.com>.
Hi Martin,

On 16 October 2016 at 15:52, Martin Grigorov <mg...@apache.org> wrote:
> Hi Bilgin,
>
> The footer is replaceable, see https://github.com/apache/
> isis/blob/master/core/viewer-wicket-ui/src/main/java/org/
> apache/isis/viewer/wicket/ui/components/footer/FooterPanelFactory.java.
> It uses ComponentType.FOOTER as a key.
> Check the other ComponentTypes for what else is possible to be replaced
> directly by providing your own factory.
> Some other small things, like the logo and app name, are exposed in the
> Guice config.

I've seen component types, but to replace a footer I have to touch

IsisWicketApplication
ComponentFactoryRegistrarDefault
ComponentFactoryAbstract
create my panel, html, css...

I think if we give the users ability to customise the existing footer,
it will be an easy win.

It is already possible to disable the theme selector through

isis.viewer.wicket.themes.showChooser=false

and we can add similar features for the  breadcrumb and bookmarks too.
I can do that for breadcrumbs, but the bookmark one is slightly more
complicated for me.

And last but not least, if I can provide my own html snippet for the
footer text, it will be enough. Then the whole UI is customisable w/o
touching 5-6 java classes.

WDYT?

PS: as for the broken theme, it is not giving a good first impression
to new comers who would try the few options on the UI. And hiding the
broken template will be easy though configuration. I'll do a PR for
it.

Cheers,
B.









>
> About the Amelia theme - this has been reported several months ago. Amelia
> theme has been deprecated in Bootswatch, and after that in
> Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
> Wicket-Bootstrap.
> I believe also the problem (another ticket by Dan) with the three-state
> checkbox (CheckboxX) is due to the old version of WB.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bi...@gmail.com> wrote:
>
>> Hi all,
>>
>> I've started using ISIS for a project and so far my experience has
>> been really good. With very little code, I've managed to achieve quite
>> a lot. Also adding the addons was quite straight forward.
>>
>> Now I need few UI customizations and couldn't find an easy way.
>>
>> I've already created an improvement ticket [1] but also wanted to
>> check what are other doing in this aread.  For example I want to
>> completely disable/hide the bookmarks panel that appear on hoover, it
>> is a little bit annoying. Also I'd like to customize the footer
>> content completly, but it seems it is hardcoded.
>>
>> Cheers,
>>
>>
>> [1] https://issues.apache.org/jira/browse/ISIS-1518
>>
>> --
>> Bilgin Ibryam
>> Camel Committer at ASF & Integration Architect at Red Hat
>> Blog: http://ofbizian.com | Twitter: @bibryam
>>
>> Camel Design Patterns https://leanpub.com/camel-design-patterns
>> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>>



-- 
Bilgin Ibryam
Camel Committer at ASF & Integration Architect at Red Hat
Blog: http://ofbizian.com | Twitter: @bibryam

Camel Design Patterns https://leanpub.com/camel-design-patterns
Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475

Re: Hide and replace certain UI fragments

Posted by Martin Grigorov <mg...@apache.org>.
Hi Bilgin,

The footer is replaceable, see https://github.com/apache/
isis/blob/master/core/viewer-wicket-ui/src/main/java/org/
apache/isis/viewer/wicket/ui/components/footer/FooterPanelFactory.java.
It uses ComponentType.FOOTER as a key.
Check the other ComponentTypes for what else is possible to be replaced
directly by providing your own factory.
Some other small things, like the logo and app name, are exposed in the
Guice config.

About the Amelia theme - this has been reported several months ago. Amelia
theme has been deprecated in Bootswatch, and after that in
Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
Wicket-Bootstrap.
I believe also the problem (another ticket by Dan) with the three-state
checkbox (CheckboxX) is due to the old version of WB.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bi...@gmail.com> wrote:

> Hi all,
>
> I've started using ISIS for a project and so far my experience has
> been really good. With very little code, I've managed to achieve quite
> a lot. Also adding the addons was quite straight forward.
>
> Now I need few UI customizations and couldn't find an easy way.
>
> I've already created an improvement ticket [1] but also wanted to
> check what are other doing in this aread.  For example I want to
> completely disable/hide the bookmarks panel that appear on hoover, it
> is a little bit annoying. Also I'd like to customize the footer
> content completly, but it seems it is hardcoded.
>
> Cheers,
>
>
> [1] https://issues.apache.org/jira/browse/ISIS-1518
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>