[gatein-dev] Favicon - Request for comments (and suggestions)

Patrice LAMARQUE patrice.lamarque at exoplatform.com
Fri Nov 29 03:39:18 EST 2013


We've done this in eXo Platform :
https://jira.exoplatform.org/browse/PLF-497

https://github.com/exoplatform/platform/commit/586e1b411c9a9509e3d415a9f0fcbb91bb76e1ba



        <external-component-plugins>

<target-component>org.exoplatform.web.filter.ExtensibleFilter</target-component>
                <component-plugin>
                        <name>JSP filter Plugin</name>
                        <set-method>addFilterDefinitions</set-method>


<type>org.exoplatform.web.filter.FilterDefinitionPlugin</type>

                        <init-params>
                                <object-param>
                                        <name>JSP Filter</name>

                                        <object
type="org.exoplatform.web.filter.FilterDefinition">
                                                <field
name="filter"><object
type="org.exoplatform.commons.platform.RedefinableResourceFilter"/></field>
                                                <field name="patterns">
                            <!-- WARNING: the mapping is expressed
with regular expressions -->
                                                        <collection
type="java.util.ArrayList" item-type="java.lang.String">
                                                                <value>


 <string>.*/.*\.jsp</string>

                                                                </value>
                                <value>
                                  <string>.*/favicon\.ico</string>

                                </value>
                                                        </collection>
                                                </field>
                                        </object>
                                </object-param>
                        </init-params>
                </component-plugin>
        </external-component-plugins>



It's leveraging a customized filter called :  RedefinableResourceFilter
that I'm not sure exists in Gatein (but should IMO) :


package org.exoplatform.web.filter;

import org.exoplatform.container.PortalContainer;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class RedefinableResourceFilter implements Filter {

  public void doFilter(ServletRequest request, ServletResponse
response, FilterChain chain) throws IOException,

                    ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    PortalContainer pContainer =
PortalContainer.getInstance(req.getSession().getServletContext());
    ServletContext context = pContainer.getPortalContext();
    String path = req.getRequestURI();
    String ctx = req.getContextPath();
    if (ctx != null && ctx.length() > 1 && path.startsWith(ctx)) {
      path = path.substring(ctx.length());
    }
    context.getRequestDispatcher(path).include(request, response);
  }

}





On Fri, Nov 29, 2013 at 3:23 PM, Juraci Paixão Kröhling <
jpkroehling at redhat.com> wrote:

> Nicolas,
>
> My goal is to change the favicon from /portal, without affecting custom
> modifications that might have been done at /sample-portal. I think we
> have already this behavior for templates via extensions, but it doesn't
> seem to work for other resources (like .ico files).
>
> The final solution could be anything (extensions, service, ...), hence
> the request for suggestions :-)
>
> - Juca.
>
> On 11/28/2013 05:07 PM, Nicolas Filotto wrote:
> > I'm not sure I understand what you want to do, you want to be able to
> > modify the favicon from an extension (like sample-extension) or from an
> > new portal (like sample-portal)?
> >
> >
> > On Thu, Nov 28, 2013 at 3:40 PM, Juraci Paixão Kröhling
> > <jpkroehling at redhat.com <mailto:jpkroehling at redhat.com>> wrote:
> >
> >     All,
> >
> >     We have a request to display a specific favicon for JBoss Portal,
> and it
> >     seems there's no "easy" (or correct) solution in place for that
> >     right now.
> >
> >     The first intuitive solution would be to override the templates, to
> make
> >     them link to the desired favicon. This doesn't scales, as the whole
> >     template is duplicated and it will only cause headaches in the
> future.
> >
> >     The second possible solution would be to incorporate the path to the
> >     favicon into the properties file, but this means having a fixed path
> to
> >     the favicon, which is a step backwards from what there is today: in
> one
> >     of the templates for /portal, it gets the favicon for the context
> path,
> >     so, if the current portal is /example-portal, it currently gets the
> >     favicon at /example-portal/favicon . With the favicon coming from the
> >     properties file, this would not be the case anymore, as all favicons
> >     would be coming from a fixed path.
> >
> >     The third solution would be to build a FaviconService, that would
> take
> >     care of determining the proper favicon path. It sounds to me that
> this
> >     is a bit of overkill, but would be a clean solution.
> >
> >     Of course, the best option would be to be possible to override the
> >     favicon from /portal, but this doesn't seems to be possible at the
> >     moment. It seems that only templates are overriden.
> >
> >     Before proceeding with the third solution (which seems the most
> >     desirable as of now), I would like to get your comments, opinions and
> >     suggestions on how this could be better handled.
> >
> >     Best Regards,
> >     Juca.
> >
> >
> >     _______________________________________________
> >     gatein-dev mailing list
> >     gatein-dev at lists.jboss.org <mailto:gatein-dev at lists.jboss.org>
> >     https://lists.jboss.org/mailman/listinfo/gatein-dev
> >
> >
> >
> >
> > _______________________________________________
> > gatein-dev mailing list
> > gatein-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/gatein-dev
> >
>
>
>
> _______________________________________________
> gatein-dev mailing list
> gatein-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/gatein-dev
>



-- 



*Patrice Lamarque eXo - VP Products  *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/gatein-dev/attachments/20131129/add416ec/attachment-0001.html 


More information about the gatein-dev mailing list