cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Share Customization Limitations

alejandrogarcia
Champ in-the-making
Champ in-the-making
Hi folks,

We have chosen Alfresco for our project because Alfresco meets most of the functional requirements we need.

Share is a great app, nevertheless it has too much functionality for our scenario, much more than we need in our project. This is the reason of posting this question, we don't know what's the best option: either customize Share creating custom pages, custom dashboard, custom actions and metadata etc. or create a new web application that interacts with the repository.

Roughly, we have these requirements:

    - Custom header with custom menu, disabling direct access to Repository (users only can collaborate using Sites)
    - Custom dashboard that contains:
    1. On the left, list of Sites
    2. On the center, custom dashlets which shows several content in different ways and formats
    - Custom document details page, with custom actions and custom metadata
I would like to know opinions based on experience, explaining when and why would be a good idea to create a new web app that interacts with the Alfresco repository or when to customize Share according to your needs. I'm highly interested on knowing Share customization limits.

Thanks.
4 REPLIES 4

ddraper
World-Class Innovator
World-Class Innovator
Hi,

I'm not sure if you've seen these blogs posts yet… but I'd recommend reading through them all (there's about 20) starting here: http://blogs.alfresco.com/wp/ddraper/2011/07/22/how-to-add-content-to-an-alfresco-share-page/

Share customization is very flexible at a coarse level, and as of version 4.2 provides a mechanism to let you make fine-grained changes at the JavaScript level. There are also specific customizations for the DocumentLibrary that you can read about here: http://blogs.alfresco.com/wp/mikeh/2011/09/26/share-document-library-extensions-in-v4-0/

If you wanted to create a brand new client then you could also leverage the Alfresco support in Surf (for authentication, remote requests, etc) and create a new project using the new Surf Maven archetype.

Regards,
Dave

alejandrogarcia
Champ in-the-making
Champ in-the-making
Hi Dave,

First of all, thank you very much for your answer.

I saw before the posts you have posted, I was trying hard to document myself and doing several customization exercises before asking; anyway, thanks for such useful posts.

I didn't want to create a brand new client from scratch, actually don't want and I think is not the right way but I wanted to know the opinion about every possible way to take. What do you think?

Now, according to replies to posts I have posted, questions on Stackoverflow, documentation and posts y was reading, I'm almost 100% sure that's not the best idea. I'm more concerned about the Share customization limits and how to customize. For example, for a dashboard with the characteristics I explained, I still don't know if it's better to customize the default dashboard or create my own dashboard.

Regards.

ddraper
World-Class Innovator
World-Class Innovator
I think in these sorts of situations its necessary to be realistic about what is truly a customization and what is actually something entirely different… for you specific dashboard requirements there are a couple of key issues:
1. You want to be able to render entire pages within the dashlet
2. You want to be able to maximise the dashlet.

Creating a custom dashlet is very straightforward as it's just a WebScript. You could achieve the maximise effect by using JavaScript to perform some kind of overlay so that it looks like its taking up the rest of the dashboard, but in terms of dashlet layout you're very much constrained to the basic grid provided by the dashboard.

For the rendering of entire pages I really think that the only option would be to render a page request in an iFrame and then use an extension module to remove all the parts you don't want to redisplay (for example the header, title bar & footer). You could make your module only apply when a certain request parameter is detected and you could add that parameter on the request you make within the iFrame.

All of this is possible and could be done using the current dashboard…. whether or not it would be better to create a whole new page is another question. Obviously I'm not aware of you long-term plans or even the complete specification for your requirements. But I'd certainly experiment with the approach I've described above.

Regards,
Dave

alejandrogarcia
Champ in-the-making
Champ in-the-making
Thanks again David.

I got the point, I understand what you say and it's very reasonable. Probably I'll bet for a custom page with my required dashlets, I believe it is more flexible both in the short and long term.

Best regards.