AnsweredAssumed Answered

Existing users Dashboard customization

Question asked by catar4 on Mar 18, 2014
Latest reply on Mar 19, 2014 by catar4
Greetings Alfresco Share 4.2 gurus,

I know there is a lot of informations out there concerning "dashboard customization" and lots of possibilities to achieve it, but I have been looking for and testing solutions for a while now, to no avail … so I'll resort on the combined knowledge of this forum's users in the hope someone can show me what I did wrong or point me to a better/working solution.

I have modified our presets.xml so that new users get the dashboard we want them to have, but now I'd need to change the dashboard for existing users.

Here are some informations I found that seemed more interesting to me than others, solutions that I've tried:

http://stackoverflow.com/questions/17476124/how-to-effect-new-changes-to-user-dashboards-in-alfresco-share/17484102#17484102
or
http://forums.alfresco.com/forum/developer-discussions/alfresco-share-development/how-change-default-user-dashboard-layout-and

Ideally, we wouldn't have to do create any web script or AMP module to be able to achieve this which is why what Krups and Dark Star1 propose would be ideal for me, if it worked.I thought either using the repository explorer and/or an extension would do the trick so here's what I've tried:

The first thing I tried was Dark Star1's method found on stackoverflow.com, ie going to the Alfresco Explorer's navigator, finding the Sites -> surf-config -> components and deleting the XML files for a user (eg. page.component-1-1.user~cttest~dashboard.xml and the others associated to that user) where "cttest" is the name of an user.

The solution then mentions using "the surf console tool to refresh all components and it worked." so I went to the surf console (this is found at http://localhost:8080/share/service/console on my local installation). Refreshing apparently doesn't work from there, tried refreshing everything even if it didn't make sense to refresh web scripts ;)

Now for this user all I see is a blank page instead of his dashboard. Is there a way to flag this user as needing a refresh for his dashboard ? I'd like to be able to re-generate the user's dashboard so that it picks up the user-dashboard presets I've put in my presets.xml file.

I thought maybe this wasn't possible so I thought an extension could do the trick, as seems to be suggested by the Alfresco forum post I linked above. So I went ahead and created a "dashboard-extensions.xml file which (after a while) I ended up copying a bit everywhere:

tomcat/shared/classes/alfresco/web-extension/site-data/extensions (had to create the folder)
tomcat/webapps/share/WEB-INF/classes/alfresco/site-data/extensions
tomcat/shared/classes/alfresco/extension/
tomcat/shared/classes/alfresco/web-extension/

Here'S the content of my dashboard-extensions.xml file


<extension>
    <modules>
        <module>
            <id>Personalisation des Dashboard d'usagers existants</id>
            <auto-deploy>true</auto-deploy>
            <components>
         <!– title –>
         <component>
            <scope>page</scope>
            <region-id>title</region-id>
            <source-id>user/${userid}/dashboard</source-id>
            <url>/components/title/user-dashboard-title</url>
         </component>
         <!– dashboard components –>
         <component>
            <scope>page</scope>
            <region-id>full-width-dashlet</region-id>
            <source-id>user/${userid}/dashboard</source-id>
            <url>/components/dashlets/dynamic-welcome</url>
            <properties>
               <dashboardType>user</dashboardType>
            </properties>
         </component>
         <component>
            <scope>page</scope>
            <region-id>component-1-1</region-id>
            <source-id>user/${userid}/dashboard</source-id>
            <url>/components/dashlets/my-sites</url>
         </component>
            </components>
       </module>
    </modules>
</extension>


The version I have installed is alfresco community 4.2.e and it's pretty much a vanilla installation and we want to keep it as close to vanilla as we can (except for this dashboard thing, where want to minimize the time invested in this solution).

If you need any other information just let me know.

Thanks in advance.

Outcomes