[Geoserver-users] Image mosaic and time series

Hi all,

I have a mosaic with granules identified by a timestamp. I have a granules each 15 minutes. I need to create an animated map with 24 hours of extension. It has 96 granules.The request have the field avalues with 96 timestamps and it looks like this.

http://vsrs-01:8080/geoserver/wms/animate?layers=srs%3AMS1&aparam=time&avalues=2016-03-05T00:00:00.000Z,2016-03-05T00:15:00.000Z,2016-03-05T00:30:00.000Z,2016-03-05T00:45:00.000Z,2016-03-05T01:00:00.000Z,2016-03-05T01:15:00.000Z,2016-03-05T01:30:00.000Z,2016-03-05T01:45:00.000Z,2016-03-05T02:00:00.000Z,2016-03-05T02:15:00.000Z,2016-03-05T02:30:00.000Z,2016-03-05T02:45:00.000Z,2016-03-05T03:00:00.000Z,2016-03-05T03:15:00.000Z,2016-03-05T03:30:00.000Z,2016-03-05T03:45:00.000Z,2016-03-05T04:00:00.000Z,2016-03-05T04:15:00.000Z,2016-03-05T04:30:00.000Z,2016-03-05T04:45:00.000Z,2016-03-05T05:00:00.000Z,2016-03-05T05:15:00.000Z,2016-03-05T05:30:00.000Z,2016-03-05T05:45:00.000Z,2016-03-05T06:00:00.000Z,2016-03-05T06:15:00.000Z,2016-03-05T06:30:00.000Z,2016-03-05T06:45:00.000Z,2016-03-05T07:00:00.000Z,2016-03-05T07:15:00.000Z,2016-03-05T07:30:00.000Z,2016-03-05T07:45:00.000Z,2016-03-05T08:00:00.000Z,2016-03-05T08:15:00.000Z,2016-03-05T08:30:00.000Z,2016-03-05T08:45:00.000Z

I tried with a more compact style

avalues=2016-03-05T00:00:00.000Z/22016-03-06T00:00:00.000Z/PT15M

but the resulting image is a single image kooking like the sum of the 96 granules.

Is there anothe way to pass the list of values?

Thanks

Franco

···

Franco Minutiello - darts engineering srl
Tel: +39 010 0980171 Fax:+39 010 0980184
s-mail: Piazza della Vittoria, 9/3 16121 Genova (Italy)
e-mail: franco.minutiello@…7132…
AVVERTENZE AI SENSI DEL D.LGS 196/2003

Ciao Franco,
turn the log to verbose, redo the request and then share the log.

This might be a bug but it's worh checking before opening a jira.
Regards,
Simone Giannecchini

GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate.
Il loro utilizzo è consentito esclusivamente al destinatario del
messaggio, per le finalità indicate nel messaggio stesso. Qualora
riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
cortesemente di darcene notizia via e-mail e di procedere alla
distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
diverse, costituisce comportamento contrario ai principi dettati dal
D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely
for the attention and use of the named addressee(s) and may be
confidential or proprietary in nature or covered by the provisions of
privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
Data Protection Code).Any use not in accord with its purpose, any
disclosure, reproduction, copying, distribution, or either
dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the
intended recipient, please contact immediately the sender by
telephone, fax or e-mail and delete the information in this message
that has been received in error. The sender does not give any warranty
or accept liability as the content, accuracy or completeness of sent
messages and accepts no responsibility for changes made after they
were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.

On Thu, May 5, 2016 at 2:58 PM, Franco Minutiello
<franco.minutiello@anonymised.com> wrote:

Hi all,

I have a mosaic with granules identified by a timestamp. I have a granules
each 15 minutes. I need to create an animated map with 24 hours of
extension. It has 96 granules.The request have the field avalues with 96
timestamps and it looks like this.

http://vsrs-01:8080/geoserver/wms/animate?layers=srs%3AMS1&aparam=time&avalues=2016-03-05T00:00:00.000Z,2016-03-05T00:15:00.000Z,2016-03-05T00:30:00.000Z,2016-03-05T00:45:00.000Z,2016-03-05T01:00:00.000Z,2016-03-05T01:15:00.000Z,2016-03-05T01:30:00.000Z,2016-03-05T01:45:00.000Z,2016-03-05T02:00:00.000Z,2016-03-05T02:15:00.000Z,2016-03-05T02:30:00.000Z,2016-03-05T02:45:00.000Z,2016-03-05T03:00:00.000Z,2016-03-05T03:15:00.000Z,2016-03-05T03:30:00.000Z,2016-03-05T03:45:00.000Z,2016-03-05T04:00:00.000Z,2016-03-05T04:15:00.000Z,2016-03-05T04:30:00.000Z,2016-03-05T04:45:00.000Z,2016-03-05T05:00:00.000Z,2016-03-05T05:15:00.000Z,2016-03-05T05:30:00.000Z,2016-03-05T05:45:00.000Z,2016-03-05T06:00:00.000Z,2016-03-05T06:15:00.000Z,2016-03-05T06:30:00.000Z,2016-03-05T06:45:00.000Z,2016-03-05T07:00:00.000Z,2016-03-05T07:15:00.000Z,2016-03-05T07:30:00.000Z,2016-03-05T07:45:00.000Z,2016-03-05T08:00:00.000Z,2016-03-05T08:15:00.000Z,2016-03-05T08:30:00.000Z,2016-03-05T08:45:00.000Z

I tried with a more compact style

avalues=2016-03-05T00:00:00.000Z/22016-03-06T00:00:00.000Z/PT15M

but the resulting image is a single image kooking like the sum of the 96
granules.

Is there anothe way to pass the list of values?

Thanks

Franco
--
Franco Minutiello - darts engineering srl
Tel: +39 010 0980171 Fax:+39 010 0980184
s-mail: Piazza della Vittoria, 9/3 16121 Genova (Italy)
e-mail: franco.minutiello@anonymised.com
AVVERTENZE AI SENSI DEL D.LGS 196/2003

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers
of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Thu, May 5, 2016 at 4:09 PM, Simone Giannecchini <
simone.giannecchini@anonymised.com> wrote:

Ciao Franco,
turn the log to verbose, redo the request and then share the log.

This might be a bug but it's worh checking before opening a jira.

Hi Simone and Franco,
the animator does not know what time is, it just blindly makes one wms
request per "avalue"
and aggregates the result in an animation (e..g, you can animate on bbox if
you want
and pan around the ma, or change the layer, or a cql filter, and so on).

I cannot remember fully, but did you try making a normal getmap request (no
animator) with that interval
definition, and set the output format to animated gif? What happens?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Ciao Andrea,

deleting only animate to URL, geoserver reject the request with this Exception

2016-05-05 15:20:18,813 DEBUG [security.IncludeQueryStringAntPathRequestMatcher] - Request matched by universal pattern '/**'
2016-05-05 15:20:18,813 DEBUG [security.IncludeQueryStringAntPathRequestMatcher] - Matched Path: /wms, QueryString: layers=srs%3ASRS_TS_GENOVA&aparam=time&avalues=2016-05-05T14:15:00.000Z/2016-05-05T15:45:00.000Z/PT15M&format=image/gif;subtype=animated&Transparent=true;&tiled=true with /**
2016-05-05 15:20:18,813 TRACE [ows.OWSHandlerMapping] - No handler mapping found for [/wms]
2016-05-05 15:20:18,814 TRACE [ows.OWSHandlerMapping] - No handler mapping found for [/wms]
2016-05-05 15:20:18,814 TRACE [ows.OWSHandlerMapping] - No handler mapping found for [/wms]
2016-05-05 15:20:18,814 TRACE [ows.OWSHandlerMapping] - No handler mapping found for [/wms]
2016-05-05 15:20:18,814 TRACE [ows.OWSHandlerMapping] - No handler mapping found for [/wms]
2016-05-05 15:20:18,814 DEBUG [ows.OWSHandlerMapping] - Mapping [/wms] to HandlerExecutionChain with handler [org.geoserver.ows.Dispatcher@anonymised.com] and 1 interceptor
2016-05-05 15:20:18,815 INFO [geoserver.wms] -
Request: getServiceInfo
2016-05-05 15:20:18,815 ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: Could not determine geoserver request from http request org.geoserver.platform.AdvancedDispatchFilter$AdvancedDispatchHttpRequest@anonymised.com..7588...

  at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:629)
         at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:265)
         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:923)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)
         at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)
         at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)
         at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
         at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
         at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
         at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
         at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
         at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
         at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
         at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
         at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
         at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:83)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
         at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
         at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
         at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
         at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
         at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
         at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
         at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)
         at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

         at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:87)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
         at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
         at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
         at java.lang.Thread.run(Thread.java:745)

probably I misunderstood your request

Thanks for your help

Franco

On 05/05/2016 17:14, Andrea Aime wrote:

On Thu, May 5, 2016 at 4:09 PM, Simone Giannecchini <simone.giannecchini@anonymised.com <mailto:simone.giannecchini@anonymised.com>> wrote:

    Ciao Franco,
    turn the log to verbose, redo the request and then share the log.

    This might be a bug but it's worh checking before opening a jira.

Hi Simone and Franco,
the animator does not know what time is, it just blindly makes one wms request per "avalue"
and aggregates the result in an animation (e..g, you can animate on bbox if you want
and pan around the ma, or change the layer, or a cql filter, and so on).

I cannot remember fully, but did you try making a normal getmap request (no animator) with that interval
definition, and set the output format to animated gif? What happens?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

-------------------------------------------------------

--
Franco Minutiello - dartsengineering srl
Tel: +39 010 0980171 Fax:+39 010 0980184
s-mail: Piazza della Vittoria, 9/3 16121 Genova (Italy)
e-mail: franco.minutiello@anonymised.com <mailto:franco.minutiello@anonymised.com>
AVVERTENZE AI SENSI DEL D.LGS 196/2003 <http://www.darts.it/DARTS-Mail-Disclaimer.html&gt;