Allowing the users a personal dashboard

90 views
Skip to first unread message

Yannick Ongena

unread,
Jan 22, 2011, 5:09:05 PM1/22/11
to WebCenter EMG
I made a few proof of concepts in the past for WebCenter and we always
got the same requirement but we never could implement this because we
didn't know how...

They always asked for a high level of personalization. The idea is
that each user should be able to create their own personal dashboard.
This means that they can create pages and manage the content of those
pages. Sounds very easy and possible in WebCenter. By using WebCenter
spaces, each user have their own "my space" were they can create pages
and manage the content.
Fairly easy to implement so we showed it to the customer with high
confidence. Unfortunately this was not really what they had in mind.
Different customers found this to difficult and thought their end-
users would find this too cumbersome and not user-friendly. They all
wanted to have a very easy interface to add content to the page. For
example just a simple button that shows a catalog were users can
select the portlet/taskflow/content that they want to add. No need to
go to edit mode or use the oracle composer.

For one customer, this was a very important feature so I even worked
together with an Oracle pre-sales for a while to figure out a solution
but no luck. We tried to find an API for the composer so we could add
portlets or taskflow from our custom code but their does not seem to
be a composer API.

Everything we tried didn't work. We had to go to edit mode and use the
composer.

Maybe this is intended and is the question/comment from the customer
to farfetched but because there are multiple customers with that
comment, then maybe, something is missing in WebCenter...

Maybe another question... How far do you guys go with the
personalization? Do you allow users to create a custom dashboard, if
so, how do you implement this? If not, what do you allow for
personalization?

I've also heard that in PS3 there is something called personalization
server. I haven't got the time to figure this out but as far as I
understand, this also does not solves the problem. As I see the
personalization server, it is more intended for showing personalized
content to the user but not really allowing the user to personalize
the page as I described above (adding portlets, taskflows without
needing to go to edit mode).

Regards
Yannick Ongena

Andrejus Baranovskis

unread,
Jan 23, 2011, 5:52:09 AM1/23/11
to webcen...@googlegroups.com
Hi,

Time ago I posted our approach for user dashboard - http://andrejusb.blogspot.com/2010/02/dynamic-dashboard-ui-shell.html

It can be done even without WebCenter, just ADF + MDS.

Regards,
Andrejus


--
You received this message because you are subscribed to the WebCenter Enterprise Methodology Group (http://groups.google.com/group/webcenter-emg). To unsubscribe send email to webcenter-em...@googlegroups.com

All content to the WebCenter EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/).  Any content sourced must be attributed back to the WebCenter EMG with a link to the Google Group (http://groups.google.com/group/webcenter-emg).



--
Oracle ACE Director

My Blog - http://andrejusb.blogspot.com/
My JDev/ADF Samples list - http://andrejusb-samples.blogspot.com/

Yannick Ongena

unread,
Jan 23, 2011, 6:50:07 AM1/23/11
to webcen...@googlegroups.com
Andrejus,
 
Your sample application seems very nice! 
We tried something similiar a while a got but we used dynamic regions and bind them to the correct taskflow when the user selects a component. 
An issue we saw with such an approach was that it was not easy or possible to store the dashboard in the MDS. I notice the same in your approach. When users select components rearrange them, this needs to be persisted so the dashboard is preserved for the users. 
 
We also had issues because the users can also add multiple instances of the same component to the dashboard. The use case for this is that we have multiple component that can show messages or task and based upon the preferences, a specific type of message or task is shown in the component. This way users can add the same portlet twice or more and by setting different preferences, they see different information in the portlet. This way also realy hard to achieve with an approach outside WebCenter. 
 
The ideal solution would be that we would have a component or taskflow in the component palette that will add the "Add Content" button to your page which opens the resource catalog. This way users don't need to go to edit mode. This is my wish for Larry... This would be such a nice feature to have...
 
Regards
Yannick

Andrejus Baranovskis

unread,
Jan 23, 2011, 10:10:09 AM1/23/11
to webcen...@googlegroups.com
Hi Yannick,

Yes, that exactly right about difficulties handling MDS. But still, its possible. You can override default behavior of MDS and extend it. Very useful document from Frank Nimphius and Duncan Mills - http://www.oracle.com/technetwork/developer-tools/jdev/adfmds-128339.pdf

We are configuring manually our custom dashboard for MDS persistence. Every resource needs to have unique identification, this could prevent from duplicate additions.

Of course would be nice to have such component out of the box.

Regards,
Andrejus

Maiko Rocha

unread,
Jan 23, 2011, 10:11:59 AM1/23/11
to webcen...@googlegroups.com
Yannick, Andejus, et al,

Composer's "Edit Mode" debate is being happening for a while, and most if not all customers are looking for a more end-user-targeted approach to support the customizations you're talking about. I still believe that Composer has its place, but I agree with your assertions that for the great majority of end-users (think about iGoogle users, for example), "Edit Mode" scares them away. This is still the case on 11g PS3. This kind of feedback is very important, and the more you voice your opinions by blogging, tweeting, sending email to WebCenter PMs, the better.
 
On the technical side though it is possible to get what you're talking about pieced together, let' see:

 - Both panelDashBoard and panelCustomizable have built-in support for MDS, storing any changes to contained items;
 - You can store whatever information you want on MDS. 
 - You can trap any events (move, add, remove) and save the document changes to MDS with a callback event handler method on a backingbean
 - Resource Catalog: I need to double check if/how we're exposing the APIs, but they're there. Need to confirm which ones are public.

Again, although all required pieces are there - if you think of it, Composer was written on top of RC and MDS - there's a lot of work involved. I've been toying with the idea of creating a sample app that would involve that; maybe it is time to put this in practice for 11g PS3. :-)

Notice that I haven't referred to any links either - this is on purpose. While writing this reply I was checking a staggering amount of disparate links scattered across different documentation sets (ADF,MDS,WebCenter). Adding the links would only lead to confusion now. Let me see if I can put then in context with a app.

[]s!
Maiko

Jan Vervecken

unread,
Jan 23, 2011, 10:58:42 AM1/23/11
to WebCenter EMG
hi Yannick

Your question reminded me of a seemingly related discussion on the OTN
forum, "Add taskflow at runtime"
at http://forums.oracle.com/forums/thread.jspa?threadID=1069782

Although it might not be a complete or ready-to-use answer to your
question, it might be something worth exploring.
To get an idea about possible behaviour, see the screencast at
http://screencast.com/t/51xm7221fkK5

success
Jan Vervecken

Yannick Ongena

unread,
Jan 23, 2011, 11:30:24 AM1/23/11
to webcen...@googlegroups.com
Jan,

Yes indeed, that question was about this topic. We looked for a solution
that involved adding taskflows during runtime without needing to use the
composer.
Although taskflows are great but for portals and especially personalization
they lack functionality. The biggest issue we had by only using taskflows
was that we lost the ability to have preferences on each taskflow. When
using portlets, you have the ability to add preferences to the portlets.
This is all handled by the portlet container. While this feature is not
available for taskflows, we tried to mimic this by creating our own
preference tables but we ran into an issue were we couldn't found a way to
identify a taskflow. If we would have two instances of the same taskflow we
could not find a way to match the preferences with the correct instance.

So the approach by adding taskflows at runtime did not work that well for
creating a personal dashboard...

Regards
Yannick

hi Yannick

success
Jan Vervecken

--

Andrejus Baranovskis

unread,
Jan 23, 2011, 11:39:51 AM1/23/11
to webcen...@googlegroups.com
Hi Yannick,

We have implemented framework to add and identify every ADF task flow uniqueness per each user. Its not that its not possible to do this with ADF task flows (just same as WC Composer is implemented). Its important to say - it is possible to implement it, just it is not out of the box functionality. Another point, yes - there might be limitations depending on customer requirements.

Regards,
Andrejus
Reply all
Reply to author
Forward
0 new messages