Dashboard suggestion

May 26, 2011 at 3:51 PM

I noticed that you added a dashboard to the admin console area on version 2.0.2 but I have a wish list item that I think can satisfy real needs.

My project requires the use of a Dashboard area for separate clients.  Let's say there are 2 clients, I want to set up a default dashboard for each client upon registering.  Each should have the ability to customize their dashboard to their liking without changes affecting one another.  The URL path to the dashboard should remain the same for each client.

I know I can set up DotNetAge to allow for multiple users (using enablePersonalWeb=true), but each client should be able to go to the same "www.mydotnetagesite.com/dashboard" instead of having separate URLs per user "www.mydotnetagesite.com/client1-dashboard" and "www.mydotnetagesite.com/client2-dashboard".

Coordinator
May 26, 2011 at 4:12 PM

The needs of your design ideas may run counter to DNA, in DNA vision every thing must be have URI such as User,Article,Post,File and etc.

For your requirements i suggest you could implement it in another way:

  • You need a single Url for all users.
  • Your need a customizable area and it should be have default layouts.

Implementation:

  1. That is very clearly, Create an Action and use "SiteMapActionAttribute"  on it.
  2. Create View for this Action
  3. Define your default layout by using Html tags and Ajax.Dna().WidgetZone helper.
  4. If this dashboard page have permission required you could use "SecurityActionActtribute".
May 26, 2011 at 4:16 PM

Yes, I thought of doing it this way but let's say "client 1" adds some particular widgets to the page with the template, now "client 2" would see the changes as well.  The idea is for each to be able to customize their own widgets.  Is this possible within the constraints of the requirements I listed?

Coordinator
May 26, 2011 at 4:26 PM

That is why i said your needs run counter to DNA.

I have some questions we could discuss: 

1.How could you using same Url to explain different user's personalization data ? 

2.When Client3 wants to see the Client2 or Client1's page what have happend ?

3.When using one Uri to describe many resources is that possible ?

May 26, 2011 at 4:35 PM

Thanks for your quick response!

Those are valid questions.  Maybe I can explain with an example.  Let's take iGoogle (http://www.google.com/ig) for example.  Everyone visits the same URL, but has his own personalize widgets/data.  Users cannot see each others' pages because they all see their own version of the page.

So to answer you questions;

1. Same URL because the page should not be different, the data within the page is what is different.
2. Each client can only see their own personalized version of the data/widgets.  They cannot see into each other's pages.  The model is basically a private enterprise model, and not a public website model.
3. Going back to my iGoogle example, what I am describing is using a consistent URL path naming  convention, and not a unique URI per resource.  Another, more complex, example would be Salesforce.com, where each client can see their own dashboard with their own widgets accessing private data.

Coordinator
May 26, 2011 at 5:00 PM

You are right! Now there is one thing we need to know ,we are talking about different architectures.

The DNA is using an URI base and self describes architectures so when you deep in it will found DNA is support many Web2.0 features : RSS,Blogging,Atom,Opml, OSD(OpenSearch), in future DNA will support RSD, FOAF, OWL in another word DNA is going to be a Semantic Web. That's our goal.

I think you'd like to using SPS(SharePoint) personalization architecture, it's a very good architecture for intranet projects. To implement the Personalization architecture  you need design the personalization storage first. 

We not using this architecture because it's hard to share data and their URL is not user friendly so i am sorry about DNA could not match your required and it will not changes like that.