[gatein-dev] Favicon - Request for comments (and suggestions)
Patrice LAMARQUE
patrice.lamarque at exoplatform.com
Fri Nov 29 10:28:38 EST 2013
Well done! Happy to help!
On Fri, Nov 29, 2013 at 9:53 PM, Juraci Paixão Kröhling <
jpkroehling at redhat.com> wrote:
> Patrice,
>
> Cool, it seems to work. I've sent a pull request for GateIn to
> incorporate this: https://github.com/gatein/gatein-portal/pull/709
>
> You might notice that I did it only for the favicon.
>
> - Juca.
>
> On 11/29/2013 10:00 AM, Juraci Paixão Kröhling wrote:
> > Patrice,
> >
> > Thanks a lot! We indeed have RedefinableResourceFilter, but not this
> > specific component plugin.
> >
> > Would it be a problem if I implement this as a GateIn feature? Do you
> > foresee any possible conflicts with your implementation?
> >
> > - Juca.
> >
> >
> > On 11/29/2013 09:39 AM, Patrice LAMARQUE wrote:
> >> 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 <mailto: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>
> >> <mailto: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
> >
> >> <mailto: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 <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 <mailto:gatein-dev at lists.jboss.org>
> >> https://lists.jboss.org/mailman/listinfo/gatein-dev
> >>
> >>
> >>
> >>
> >> --
> >> *Patrice Lamarque
> >> eXo - VP Products
> >>
> >> *
> >>
> >>
> >> _______________________________________________
> >> 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
> >
>
>
>
> _______________________________________________
> 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/65c9d6e3/attachment-0001.html
More information about the gatein-dev
mailing list