Hi
On Thu, Dec 17, 2009 at 11:32 AM, Anamaria Stoica <anam.stoica(a)gmail.com>wrote;wrote:
On Thu, Dec 17, 2009 at 9:52 AM, Marius Dumitru Florea
<
mariusdumitru.florea(a)xwiki.com> wrote:
Guillaume Lerouge wrote:
Hi,
On Wed, Dec 16, 2009 at 10:24 PM, Marius Dumitru Florea <
mariusdumitru.florea(a)xwiki.com> wrote:
> Guillaume Lerouge wrote:
>> Hi,
>>
>> On Wed, Dec 16, 2009 at 11:16 AM, Anamaria Stoica <
anam.stoica(a)gmail.com
>>> wrote:
>>>
>>>> Hi devs,
>>>>
>>>> I restructured a bit the Design page for Gadgets Integration [0]. I
>>>> introduced 2 new sections called 'Main Elements' and 'Full
Proposals'.
>>>>
>>>> The 'Main Elements' section describes the general elements which
would
>>>> be needed/affected by the
integration like the Dashboard, Gadgets
>>>> Directory, Gadget Macros and Panel Wizard, providing several
>>>> implementation options for each of them.
>>>>
>>>> The next section 'Full Proposals' describes entire solutions
for
>>>> Gadgets integration (the full story), by combining implementation
>>>> options for each element defined in the 'Main Elements'
section.
>>>>
>>>> Right now there are only 2 Proposals:
>>>> * Proposal 1 - Gadgets added on Dashboards through Gadgets
Directory,
>>>> and not WYSIWYG Insert Macro
Dialog [1]
>>>> * Proposal 2 - Multiple Macros - each XWiki&Google Gadget as its
own
>> Macro
>>>> [2]
>>>> , but other may be proposed by mixing other element options in the
>>>> 'Main Elements' section or introducing new ones. For example,
Proposal
>>> 1 could be modified to also use an extended WYSIWYG Insert Macro
>>> dialog for gadgets.
>>>
>> I think an important bit of information that we're missing here is an
>> evaluation of how long would either way take to implement. I'd be in
> favor
>> of going for Proposal 2 if the WYSIWYG dialog boxes were easier to
> extend.
>> However I'm afraid this is going to be a daunting task if done today.
>>
>> Thus for now I'm +1 for Proposal 1 (the downside being that we
introduce
>>> some duplication between macros and gadgets).
>> Hmm, IMO it is exactly the opposite. If gadgets are imported as macros
>> then the WYSIWYG editor doesn't have to know about gadgets and doesn't
>> have to be extended. If we implement a single generic gadget-macro
then
>> it will require special handling from
the WYSIWYG editor.
>>
>> I'm more for unifying the notion of gadget, panel or macro, thus I'm
>> more for proposal 2.
>>
>
> Ideally that's also what I would go for. I just want to be sure we're
not
launching
ourselves into a daunting initiative.
Marius, if there's one macro per gadget, how
do you create a dashboard
(dashboard macro + a macro for every gadget) through the WYSIWYG?
I see what you mean. So gadgets are supposed to work only inside a
dashboard? The idea of importing gadgets as macros was, I think, to be
able to use gadgets anywhere.
For Proposal 2, Gadgets are macros, and the Dashboard is also a macro.
Gadgets should
work anywhere AND inside dashboards, if added that way. You would either
have (more or less):
{{dashboard}} {{gadgetName1 .../}} {{gadgetName2 .../}} {{/dashboard}} -
when inserted inside dashboards
or directly:
{{gadgetName1 .../}} - inserted anywhere
The dashboard macro would only group the gadgets, on columns and support
drag&drop for them. (like a
more advanced container)
Marius, to see what Guillaume is saying about extending the WYSIWYG Insert
Macro Dialog, can
you look at: ?
* Insert any Macro-Gadget:
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegrationPropo…
- here I put a Preview for the Macro-Gadget on the left, while editing
the macro properties
and
* Insert Dashboard Macro:
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegrationPropo…
- here the preview of the Dashboard displays a mini preview with small
boxes for where the gadgets would go (but no content rendered), and an 'Add
Gadgets' button, which would open yet another 'Insert Macro Dialog'
Another option would be to drop the part with extending the WYSIWYG editor
(pretty as it is in the Mockups) and simply insert the Macro-Gadgets like
it's done now (no preview). Then the user would go in view mode, and edit
the user preferences for the gadget (from here:
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegration#HGoo…
).
But this should evolve into the proposal above, as I think it's not user
friendly at all...
Now, my question is how would Inserting Macro-Gadgets inside a Dashboard
Macro would work in this case (no WYSIWYG extended)? (from the user's point
of view)
I think the correct option for now is a mix of stuff that was said before:
- Gadgets are created as macros
- The wiki admin can select a gadget, click on "turn it into a macro" and
the gadget "magically" becomes a XWiki macro
- If the whole Google gadget repository is available for users, it means
that any user can turn a gadget into a XWiki macro
- We rewrite existing panels to use macros to generate their output
- We create a macro repository at .../bin/view/Macros/WebHome
- We add a "Create macro" form in the repository where the user can
choose between:
- Create a wiki macro
- Create a macro from a Google gadget
- Gadgets are thus usable through macros and can be added from the
WYSIWYG
- The {{dashboard}} macro has the following parameters: "how many boxes
to display?" "personal or public dashboard?"
- When the {{dashboard}} macro is used into a page, each display box
has an "edit" link
- Clicking on that link send the user to a special dialog box where
she selects which macro to use in the box (through the macro
repository and
not through the WYSIWYG)
- Since panels are individual documents, choosing which macros to put in
them can be done through the WYSIWYG
This has all the advantages and few of the problems of various other
implementations:
- All the data is generated through macros (be it a list of XWiki pages
or a Google World Clock)
- All macros get grouped together in a repository
- Macro creation is easier and centralized
- Panels are only here for display purposes
- {{dashboard}} macro is a specific displayer only
WDYT?
Guillaume
If we have a
dashboard macro containing multiple gadget macros then we
hit the same problem as with any other nested macros (e.g. HTML inside
velocity). The WYSIWYG editor needs to be improved so that macro content
is edited also in rich text mode (if supported). But this is not going
to happen too soon, unless we raise its priority.
>
> An option is to have the following behavior: as soon as one gadget
macro
is
> added to a page, a dashboard is implicitly created. The WYSIWYG
actually
also
becomes a dashboard creator. However I'm not sure we could have
gadget
drag & drop reordering right in the WYSIWYG
editor, could we?
I don't think so. Sounds too complicated.
Marius
Guillaume
> Thanks,
> Marius
>
>> Guillaume
>>
>>
>>> The mockups page has been divided into 3:
>>> * Mockups for GadgetsIntegration - General [3]
>>> * Mockups for GadgetsIntegration - Proposal 1 [4]
>>> * Mockups for GadgetsIntegration - Proposal 2 [5]
>>>
>>> Feedback and new ideas are very welcome
>>>
>>> Thanks!
>>> Anamaria
>>>
>>> [0] -
http://dev.xwiki.org/xwiki/bin/view/Design/GadgetIntegration
>>> [1] -
>>>
>
http://dev.xwiki.org/xwiki/bin/view/Design/GadgetIntegration#HProposal1Gadg…
http://dev.xwiki.org/xwiki/bin/view/Design/GadgetIntegration#HProposal2Mult…
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegrationPropo…
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegrationPropo…
>>>
>>>
>>> On Tue, Dec 8, 2009 at 12:04 PM, Jerome Velociter <jerome(a)xwiki.com
>>>> wrote:
>>>>> On 12/8/09 10:02 AM, Anamaria Stoica wrote:
>>>>>> On Tue, Dec 8, 2009 at 10:08 AM, Vincent Massol<
vincent(a)massol.net>
>>> wrote:
>>>>>> On Dec 7, 2009, at 11:21 PM, Anamaria Stoica wrote:
>>>>>>
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> To address Caty's feedback on
>>>>>>>
>>>>>>>
>
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegration(than…
<
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegration%28th…
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegration%28th…
>>>>>>>> Caty!):
>>>>>>>>
>>>>>>>> 1. Should Google Gadgets also be able to add on the side
menus?
>>>>>>>> (where the
>>>>>>>> Panels currently are)
>>>>>>>>
>>>>>>>> I think users should be able to do this also.
>>>>>>>>
>>>>>>>> If so, it would make sense to also have a Gadgets macro
(not
only
a
>>>>>>>> dashboard macro). But how would it be connected to the
dashboard
>>>>>>>> macro? Can
>>>>>>>> the content of a macro be other macros? Something like:
>>>>>>>> {{dashboard}}
>>>>>>>> {{gadget ../}}{{gadget ../}}{{gadget ../}}
>>>>>>>> {{gadget ../}}
>>>>>>>> {{gadget ../}}
>>>>>>>> {{/dashboard}}
>>>>>>>> , where each row is a stack(column) of the dashboard.
>>>>>>>>
>>>>>>> Yes that's very easy to do technically. One simple way
is to
allow
>>>>>>> wiki content inside
the dashboard macro. Then it's a one liner to
>>>>>>> support it.
>>>>>>>
>>>>>>> Question: What would the dashboard macro do? Is it just for
layout?
>> In
>>>>>>> which case I'd rather have a more generic {{layout}}
macro that
can
>> be
>>>>>>> used or not be used at will. Or even use the {{column}}
macro
that
we
>>>>>> need to write in 2.0
syntax. See:
>>>>>> -
http://code.xwiki.org/xwiki/bin/view/Macros/ColumnMacro
>>>>>> -
>
http://code.xwiki.org/xwiki/bin/view/Macros/DisplayPanelLayoutMacro
>>>>>>
>>>>> The dashboard should contain the gadgets on 3 columns, and support
>>> drag&drop
>>>>> for them, like here:
>>>>>
>
http://gsoc.myxwiki.org/xwiki/bin/view/Google+Gadget+and+OpenSocial+Integra…
>>>>>> or on iGoogle.
>>>>>>
>>>>>> Now, it's not clear whether the window of the gadget should
be
part
of
>>>> the
>>>>>> Dashboard or the Gadget's macro.
>>>>>>
>>>>>> Supporting drag&drop, the windows must be subclasses of
isc.Window,
>>> placed
>>>>> inside a isc.VStack subclass,
>>>>> which are placed inside a isc.HLayout subclass. (the last 2
obviously
>>>> being
>>>>>> part of the Layout of the Dashboard)
>>>>>> (isc.Window, isc.VStack, isc.HLayout are classes in the
SmartClient
>>>>>> library).
>>>>>>
>>>>> Question: are we sure we want to implement it with SmartClient?
Isn't
> it
>>>> overkill ?
>>>>> But the Gadgets outside of a Dashboard don't need to be placed
inside
>>>>>> isc.Window's, as they don't need drag&drop.
>>>>>>
>>>>>> How can the container of a Gadget be chosen depending on where
it's
>>>> placed
>>>>>> (into a Dashboard, on a side menu Panel),
>>>>>> if the window is not part of the Layout?
>>>>>>
>>>>>> About DisplayPanelLayoutMacro&Column macros:
>>>>>> I think that a kind of DisplayPanelLayoutMacro in combination
with
a
>>> kind of
>>>>> ColumnMacro would work just fine.
>>>>>
>>>> for the record, I wrote a first draft of a column macro for syntax
2.0
>>>> in the contrib sandbox :
>>>>
>>>>
>
http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/xwiki-rendering-macro-co…
>>>> (it's actually two macro, {{section}} and {{column}} that work
> together,
>>>> you can read it as an example).
>>>>
>>>> Jerome.
>>>>> I say a kind of, because the DisplayPanelLayoutMacro would have to
>>> create a
>>>>> isc.HLayout object and the ColumnMacro
>>>>> a isc.VLayout object.
>>>>>
>>>>> But I'd rather use just one simple macro using the combination of
the
>> 2
>>>>>> mentioned above called dashboard.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>> 2. "The thing is that we need to think about the
functional
>>>>>>>> duplication of
>>>>>>>> the Panel Wizard and the new Dashboard." Caty
>>>>>>>>
>>>>>>>> <
http://incubator.myxwiki.org/xwiki/bin/view/XWiki/AnamariaStoica
>>>>>>> Yes, we need to think about the interface for
(Gadgets&XWiki)
>>> Gadgets
>>>>>>> Directory and Panel Wizard.
>>>>>>>
>>>>>>> What would their roles be? Their content? (One would add
Google
>>>>>>> Gadgets/Panels to Dashboard macros, the other to side
menus...?)
>>>>>>>
>>>>>>> Is one interface enough for Dashboard Gadgets and Panels? If
so,
how
>>>>>>> would
>>>>>>> it look like? (where to put it, Panel Wizard is in Admin
interface)
>>>>>>>
>>>>>>> Also, should the Gadgets Directory support adding gadgets to
any
>>>>>>> Dashboard
>>>>>>> macro in any page, or just to personal dashboard?
>>>>>>>
>>>>>> I think Gadgets and Panels should be one and the same, unless
there's
>>>>>>> a difference I don't see. The only difference I can
think of is
the
>>>>>>> source of the
content but it's easy to make that generic.
>>>>>>>
>>>>>>> Another idea is to consider the panel as only the outside
shell/box
>>>>>> and inside the panel it should be possible to put wiki syntax,
>>>>>> including a gadget representation. Thus everything would be a
panel.
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Vincent
>>>>>>>
>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Anamaria
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Dec 5, 2009 at 10:56 PM, Anamaria Stoica<
>>>> anam.stoica(a)gmail.com
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> On Thu, Dec 3, 2009 at 3:57 PM, Ludovic Dubost<
ludovic(a)xwiki.org
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>> This should go beyond user profiles. Space home pages
but any
page
>>>>>>>>>> should be able to be dashboard pages.
>>>>>>>>>> For these pages we would need a way to make them
display as
>>>>>>>>>> dashboard
>>>>>>>>>> pages by default.
>>>>>>>>>>
>>>>>>>>>> We should also make it easy to make these pages
dashboard
pages
>>>>>>>>>> when in
>>>>>>>>>> the wysiwyg. Like include a
"dashboard" macro.
>>>>>>>>>>
>>>>>>>>>> I view it like that:
>>>>>>>>>>
>>>>>>>>>> 1/ Open a page in wysiwyg
>>>>>>>>>> 2/ Type some text, include a dashboard macro
>>>>>>>>>> 3/ Save
>>>>>>>>>>
>>>>>>>>>> When in view the dashboard macro renders the
dashboard
settings
>>>>>>>>> saved in
>>>>>>>>> the content field of the dashboard macro or in XWiki
objects
save
>>>>>>>>>> in the
>>>>>>>>>> page.
>>>>>>>>>> It adds JS tools to allow to move and change
your gadgets and
>> panels
>>>>>>>>>> used in your dashboard.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Gadgets on the iGoogle panel also have an Edit
Settings action
on
>>>>>>>>> the top
>>>>>>>>> right
>>>>>>>>> corner of every gadget, which opens a form with
settings for
that
>>>>>>>>> gadget.
>>>>>>>>>
>>>>>>>>> Question:
>>>>>>>>> If one user changes these settings, should they be
visible to
>>>>>>>>> everyone, or
>>>>>>>>> just to the
>>>>>>>>> user editing them? (this way different users will
see the
gadgets
>>>>>>>>> with
>>>>>>>>> different settings
>>>>>>>>> for the same dashboard)
>>>>>>>>>
>>>>>>>>> On the personal dashboard is obvious that only you
get to
change
>>>>>>>>> them, and
>>>>>>>>> maybe view
>>>>>>>>> the dashboard,
>>>>>>>>> but what about any dashboard added as a macro on a
regular
page?
>>>>>>>>
>>>>>>>> I think the changes should be visible to everyone with
view
rights
>>>>>>>>> on the
>>>>>>>>> page, and
>>>>>>>>> the settings editable for everyone with edit rights
on the same
>> page.
>>>>>>>>> WDYT?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> With this method we might not need the
xpage=dashboard
template,
>>>>>>>>>> as you
>>>>>>>>>> could just have an #if in the XWikiUserSheet
which displays
the
>>>>>>>>> dashboard based on URL params.
>>>>>>>>> The #if would make a call to the XWiki {{dashboard}}
macro
>>>>>>>>>
>>>>>>>>> Ludovic
>>>>>>>>>
>>>>>>>>> Anamaria Stoica a écrit :
>>>>>>>>>
>>>>>>>>>> Hi devs,
>>>>>>>>>>
>>>>>>>>>> I'd like to start working on Gadgets
Integration. (this is a
new
>>>>>>>>>>>
>>>>>>>>>> feature)
>>>>>>>>>>
>>>>>>>>>>> I've been working on the specs with
Guillaume, and you can
see
> the
>>>>>>>>> Design
>>>>>>>>>
>>>>>>>>>> page here:
>>>>>>>>>>
>>>>>>
http://dev.xwiki.org/xwiki/bin/view/Design/GadgetIntegration
>>>>>>
>>>>>>>>>> The aim of the gadget integration is to provide
XWiki users
with
>> a
>>>>>>>>>>> dashboard-like page that will display a list
of gadgets.
These
>>>>>>>>>> gadgets
>>>>>>>>>>
>>>>>>>>> can
>>>>>>>>>
>>>>>>>>>> be either internal gadgets (similar to XWiki
panels) or
external
>>>>>>>>>>> gadgets
>>>>>>>>>>> (coming from the Google Gadget repository
for instance).
Users
> can
>>>>>>>>> select
>>>>>>>>>
>>>>>>>>>> which gadgets to display on their dashboard from
a gadget
> directory
>>>>>>>>> located
>>>>>>>>>
>>>>>>>>>> on the wiki.
>>>>>>>>>>
>>>>>>>>>> I've also created a few Mockups here
>>>>>>>>>>
>>>>>>>>>>
>
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/GadgetsIntegrationfor
>>>>>>>>>>> the
Dashboard, Gadget Windows and Gadgets Directory.
>>>>>>>>>>>
>>>>>>>>>>> List of features:
>>>>>>>>>>> Dashboard
>>>>>>>>>>> - Dashboard for each user with drag&drop
for Gadget Windows
>>>>>>>>>>> - Display both Google Gadgets and XWiki
Gadgets (Panels)
>>>>>>>>>>> Directory
>>>>>>>>>>> - An internal directory with Gadgets in the
wiki divided in 3
>>>>>>>>>>> parts:
>>>>>>>>>>> * XWiki Gadgets defined in the wiki
/ in the farm
>> (current
>>>>>>>>>> Panels)
>>>>>>>>>>
>>>>>>>>>>> * Google Gadgets selected out of the
global Google
>>>>>>>>>>> Directory by
>>>>>>>>>>>
>>>>>>>>>> wiki
>>>>>>>>>>
>>>>>>>>>>> admins
>>>>>>>>>>> * If allowed by wiki admins: full
Google Gadgets
>> Directory
>>>>>>>>>>> I'd like to include all of the above
with basic
functionalities
>>>>>>>>>> into
>>>>>>>>>>
>>>>>>>>> 2.2M1.
>>>>>>>>>
>>>>>>>>>> One thing is not clear at this point>> The
relationship
between
>>>>>>>>>>> XWiki
>>>>>>>>>>> Gadgets and current Panels:
>>>>>>>>>>>
>>>>>>>>>>> They are basically the same thing (same
content), but they
will
>>>>>>>>>>>
have
>>>>>>>>>>> different containers (drag&drop window
with edit settings on
>>>>>>>>>>> Dashboard
>>>>>>>>>>>
>>>>>>>>>> and
>>>>>>>>>>
>>>>>>>>>>> present containers for the side menu
Panels).
>>>>>>>>>>>
>>>>>>>>>>> Will all Panels make sense as XWiki Gadgets?
If no, when a
new
>>>>>>>>>> Panel is
>>>>>>>>>> created, how do you know it's meant to be
only a side menu
Panel
>>>>>>>>>> and not
>>>>>>>>>> also a XWikiGadget? (this applies for current
Panels as well)
>>>>>>>>>>
>>>>>>>>>> Also, very important: where should the interface
for the
Gadgets
>>>>>>>>>>>
>>>>>>>>>> Directory
>>>>>>>>>>
>>>>>>>>>>> be placed? Appended to Panels.WebHome or new
directory
>>>>>>>>>>> Gadgets.WebHome?
>>>>>>>>>>>
>>>>>>>>>> In
>>>>>>>>>>
>>>>>>>>>>> my opinion it needs a different interface
from the Panel
Wizard
>>>>>>>>>
>>>>>>>> Interface.
>>>>>>>>
>>>>>>>>> The Panel Wizard is in the Wiki Preferences
(administration
>>>>>>>>> space) open
>>>>>>>>>
>>>>>>>> only
>>>>>>>>
>>>>>>>>> to Admins, but the Directory will have to be
available to all
users
>>>>>>>> (even
>>>>>>>>
>>>>>>>>> browsable by everyone).
>>>>>>>>>
>>>>>>>>> An admin interface for picking Google Gadgets from
iGoogle
>>>>>>>>> Directory
>>>>>>>>>
>>>>>>>> and/or
>>>>>>>>
>>>>>>>>> XWiki Panels for the Gadgets Directory might be
needed.
>>>>>>>>>
>>>>>>>>> How should I treat the 2 of them (XWiki Gadgets vs
side menu
>>>>>>>>> Panels)?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Anamaria
>>>>>>>>>
>>>>> _______________________________________________
>>>>> devs mailing list
>>>>> devs(a)xwiki.org
>>>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>>>
>>>>>
>>>> _______________________________________________
>>>> devs mailing list
>>>> devs(a)xwiki.org
>>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>>
>>> _______________________________________________
>>> devs mailing list
>>> devs(a)xwiki.org
>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>
>> _______________________________________________
>> devs mailing list
>> devs(a)xwiki.org
>>
http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Guillaume Lerouge
Product Manager - XWiki SAS
Skype: wikibc
Twitter: glerouge