Interesting ideas David,

I work with css and html every day so I'm interesting in CSS because it's a
good technology for style purposes. Another really cool project is
http://lesscss.org/. I like the idea of a combination of CSS and LESSCSS
into one plugin (or 2) for GeoServer because I guess it's a really good way
to develop styles in a fast and maintainable way.

My idea is to preprocess the CSS files and to generate one big SLD. Do we
have any way to isolate the css plugin and run it in batch mode?

Regards

2010/12/30 David Winslow <[email protected]>

> To my knowledge, the CSS plugin provides the only alternative to SLD for
> styling languages in GeoServer.  There are a few GUI SLD editors out there -
> OpenGeo's Styler is web-based, udig includes one, atlas styler is a
> standalone style editing tool, I believe qgis has a plugin available for
> generating SLD.  You could investigate these; OpenGeo's Styler can save
> straight to GeoServer and Atlas Styler is working on similar functionality.
>
> Using CSS for "big" styles is interesting to me, while I've been working on
> CSS for quite some time I don't usually write complex styles with it because
> I am not usually styling.  I hope that it would work quite well for large
> styles, but I am also sure if you start using it in anger you'll find some
> bugs.  I'm interested in fixing those bugs if they're reported, but I can't
> make any guarantees about quick resolution. However, it's worth noting that
> the CSS plugin generates normal SLD files which can be transferred to
> another datadir and used without the CSS plugin (for example, you could have
> a 'staging server' where the CSS files are stored, and only post known-good
> SLD files to your production server.)
>
> Another option, if you have some programming skills, would be to work on a
> tool of your own for maintaining your stylesheets.  Perhaps you could model
> it after http://wiki.openstreetmap.org/wiki/Spreadnik , or simply base it
> on your own needs.  In mapnik-land there is also a common pattern of using
> DTD (http://en.wikipedia.org/wiki/Document_Type_Definition) to define
> constants and break large styles up into multiple files.  I don't know how
> well this sort of thing would work with GeoServer, but you can see it in
> action in the Open MapQuest styles (
> https://github.com/MapQuest/MapQuest-Mapnik-Style).
>
> I hope now you have some ideas to investigate :)
>
> --
> David Winslow
> OpenGeo - http://opengeo.org/
>
> On Thu, Dec 30, 2010 at 1:52 PM, Emilio Facundo Cabrera <
> [email protected]> wrote:
>
>> Hi David,
>>
>> Thanks for your fast response. I'm building a system over 2.0.2 for
>> stability reasons but I guess that I can try updating to 2.0.3.
>>
>> Do you have any recommendation in order to handle big sld styles?
>>
>> I guess that css is a good option in order to create a maintainable style
>> source.
>>
>> What do you think?
>>
>> Regards and Happy new year!
>>
>> 2010/12/30 David Winslow <[email protected]>
>>
>>> I would not expect compatibility issues between 2.0.3 and 2.0.2, but it
>>> is definitely possible.  I'll try look into this error sometime soon.
>>>  Unfortunately, we don't maintain 'release' builds of community modules such
>>> as the CSS module, but in the meantime you could try using the latest build
>>> of the css module with the latest build of 2.0.x (see
>>> http://gridlock.openplans.org/geoserver/2.0.x/)
>>>
>>> It should also be possible for you to check out the sources from the
>>> 2.0.2 tag and build with maven, if you really need the 2.0.2 release.
>>>
>>> --
>>> David Winslow
>>> OpenGeo - http://opengeo.org/
>>>
>>>
>>> On Thu, Dec 30, 2010 at 11:24 AM, Emilio Facundo Cabrera <
>>> [email protected]> wrote:
>>>
>>>> Hi David,
>>>>
>>>> I use GeoServer 2.0.2 and I have installed the css extension version
>>>> 2.0.3 from here
>>>> http://gridlock.openplans.org/geoserver/2.0.x/community-latest/ .
>>>>
>>>> is the problem the css version? where can I find the last version for
>>>> GeoServer 2.0.2?
>>>>
>>>> Regards,
>>>> Emilio
>>>>
>>>> 2010/12/30 David Winslow <[email protected]>
>>>>
>>>> A NoSuchMethodException usually indicates that you are mixing and
>>>>> matching library versions.  Could you double-check that the extension
>>>>> you installed is of the same version as the GeoServer you installed it
>>>>> in?
>>>>>
>>>>> --
>>>>> David Winslow
>>>>> OpenGeo - http://opengeo.org/
>>>>>
>>>>> On Wednesday, December 29, 2010, Emilio Facundo Cabrera
>>>>> <[email protected]> wrote:
>>>>> > Hi people,
>>>>> > I want to work with css extension but I can't figure out where is the
>>>>> problem ... can anyone give me a hand with this?
>>>>> >
>>>>> >
>>>>> > When I click on "Map CSS Demo <
>>>>> http://mapear:8080/geoserver/web/?wicket:bookmarkablePage=:org.geoserver.community.css.web.CssDemoPage>"
>>>>> menu element I get this error:
>>>>> >
>>>>> >
>>>>> > org.apache.wicket.WicketRuntimeException: Can't instantiate page
>>>>> using
>>>>> > constructor public org.geoserver.community.css.web.CssDemoPage()
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:206)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:57)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:272)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:293)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1239)
>>>>> >
>>>>> >       at org.apache.wicket.RequestCycle.step(RequestCycle.java:1316)
>>>>> >       at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1418)
>>>>> >       at
>>>>> org.apache.wicket.RequestCycle.request(RequestCycle.java:532)
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
>>>>> >
>>>>> >       at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>> >       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>>>>> >
>>>>> >       at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>> >       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>>>>> >       at java.lang.Thread.run(Thread.java:662)
>>>>> > Caused by: java.lang.reflect.InvocationTargetException
>>>>> >       at
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>> > Method)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>> >
>>>>> >       at
>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>> >       at
>>>>> >
>>>>> org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:186)
>>>>> >
>>>>> >       ... 68 more
>>>>> > Caused by: java.lang.NoSuchMethodError:
>>>>> >
>>>>> org.apache.wicket.markup.html.form.Form.add([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.geoserver.community.css.web.CssDemoPage$$anon$7.<init>(CssDemoPage.scala:277)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.geoserver.community.css.web.CssDemoPage.<init>(CssDemoPage.scala:266)
>>>>> >
>>>>> >       at
>>>>> >
>>>>> org.geoserver.community.css.web.CssDemoPage.<init>(CssDemoPage.scala:112)
>>>>> >
>>>>> >       ... 73 more
>>>>> > Any idea?
>>>>> > Regards and Happy new year
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to