On Tue, Apr 15, 2014 at 4:54 PM, vincent(a)massol.net <vincent(a)massol.net> wrote:
Hi Marius,
On 10 Apr 2014 at 21:07:13, Marius Dumitru Florea
(mariusdumitru.florea@xwiki.com(mailto:mariusdumitru.florea@xwiki.com)) wrote:
On Thu, Apr 10, 2014 at 6:08 PM, Guillaume
"Louis-Marie" Delhumeau
wrote:
But developers already needs to create a UI
Extension, why not a panel?
Because for the panel you'd have to write code.. Moreover, we
discussed about the fact that the non-typed parameters of the UI
Extension are not always a good idea and that for the application
panel a dedicated class would have been better (with typed
properties). There is a big difference between having:
icon: myIcon.png
and
content:
#if ($panelWidth == "small")
[[image:myIcon.png]]
#else
## Display stuff as a list
#end
The first is semantic (data) and can be reused in other places. The
second would have to take the image from a property in order to not
duplicate the application icon, so more code.. The first is clear to
the developer: he has to specify the application icon. The second is
not, without reading documentation about what to write in the panel
content in order to have the application icon available for the
application bar.
Maybe we should provide a template for this kind
of panels so it would be
very easy to create a new one, or a wizard that generates it easily?
I find it awkward to ask the dev to create a panel in order to display
an icon on the application bar.
It would be awkward if that was the goal but it’s not :)
There’s no notion of AppBar!
Think as a user, you always ask me to do so :). A user that sees the
flamingo skin for the first time will notice a vertical bar on the
left side that has icons on it, most of which seem to correspond to
applications (features). He will never think those are panels! The
fact that the left thin vertical bar (to not call it AppBar) is a
panel bar is just an implementation detail for me.
It just means that if an app wants to have a panel on
the side, it needs to define it as they have always done (see blog app for ex) :)
We're talking about the left side, the thin vertical bar. The app will
want to put an icon on it, not a panel. A panel is just the means by
which the app is going to make the icon available for the user.
So if an App wants that its users to display a panel
to link to them, then they do the users a favour by creating such a panel for the users to
use.
Again, the App doesn't want "to display a panel". The App wants to
allow the users to have a shortcut. In flamingo we display app
shortcuts on the left side. So apps will want to have their shortcuts
displayed on the left side. If what it takes to display a shortcut on
the left side is to create a panel then the App will provide a panel,
but we should make app devs a favor by simplifying this as mush as
possible (eliminating the need of creating the panel and copy-pasting
code is possible).
Autogenerating panel would make this a special case
and I’m not sure we need a special case here.
While discussing with Guillaume in private, I end up realising that
what we are missing is the ability to 'configure' the panels. Right
now you can add a panel only once (and even if you add it twice it's
going to display the same thing). But what if I create a generic
panel, that has some parameters, and I would like to add this panel
twice, with different values for the parameters. I can't. But if you
think, you can do this with wiki macros. I can call the same macro
with different parameters in the document content. Moreover, most of
the current panels are not easily reusable, for instance if I want to
display the same thing inside the document content or in a dashboard
widget I have to either copy the panel content or write some Velocity
code. For the future I think we should investigate implementing panels
as wiki macros. With this, we can use directly the wiki macro that
Guillaume is going to use right now in a panel.
Thanks,
Marius
> Thanks
> -Vincent
>> The dev should just fill an
>> application descriptor and then the App Bar manager (panel wizard or
>> whatever) should create a panel on the fly (if that is needed for the
>> underlying implementation) to display the icon/shortcut on the
>> application bar.
>
>> Thanks,
>> Marius
>
>>
>>
>> >
2014-04-10 16:09 GMT+02:00 Marius Dumitru Florea <
>> > mariusdumitru.florea(a)xwiki.com>gt;:
>>
>> >> To
be clear, I'm not against reusing the left panels bar for the app
>> >> bar. What I don't like is asking application developers to write a
>> >> panel (boilerplate code) in order to have their application listed
>> >> somewhere.
>> >
>> >>
Thanks,
>> >> Marius
>> >
>> >> On
Thu, Apr 10, 2014 at 4:41 PM, Marius Dumitru Florea
>> >> wrote:
>> >> > I don't like it very much. Instead of writing code like this:
>> >>
>> >>
> #if ($panelWidth == "small")
>> >> > ## Display stuff as icons
>> >> > #else
>> >> > ## Display stuff as a list
>> >> > #end
>> >>
>> >>
> in a panel, I would prefer to describe my application using an XClass
>> >> > (with properties for app name and icon). Then the system (XWiki,
Panel
>> >> > Wizard, whatever) should use these data (app name and icon) to
build
>> >> > and UI that lets the user put shortcuts to his favourite app to a
bar.
>> >> > If you want, the system should create this "panel".
Asking app
>> >> > developers to write this boilerplate code to have their app listed
is
>> >> > not nice.
>> >>
>> >>
> Thanks,
>> >> > Marius
>> >>
>> >>
> On Thu, Apr 10, 2014 at 4:17 PM, Guillaume "Louis-Marie" Delhumeau
>> >> > wrote:
>> >> >> Hi.
>> >> >
>> >>
>> After some discussions with Caty and Vincent, we would like to propose
>> >> you
>> >> >> new ideas about the panels technology, that replaces our
previous
>> >> >> propositions about the Flamingo Applications Bar.
>> >> >
>> >>
>> The proposal is there, with more explanations and screenshots:
>> >> >>
http://design.xwiki.org/xwiki/bin/view/Proposal/PanelsImprovements
>> >> >
>> >>
>> Here is my +1.
>> >> >
>> >>
>> Louis-Marie
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
>
http://lists.xwiki.org/mailman/listinfo/devs