Giter Site home page Giter Site logo

cosmo's Introduction

Cosmo

Introduction

Cosmo Calendar Server is part of an open source project called Chandler which provides calendaring features, task and note management. Cosmo implements CalDAV protocol. It is being used as Calendar Server solution for WEB.DE, GMX.net, GMX.com and mail.com brands.

This project contains only CalDAV core part from Chandler with its dependencies up to date (initial project being closed in 2008).

It also brings a new approach in such a way that Cosmo is a CalDAV runtime environment. The project provides an API that contains abstractions over CalDAV and iCal specific objects, services implemented in Cosmo Core but also accessible to developers and a plugin mechanism that allows developers to write custom logic without having to alter Cosmo Core code.

Main parts

There are two main logical components, each of them residing in its own artifact: cosmo-api and cosmo-core.

cosmo-api contains:

  • interfaces which are contracts between the CalDAV runtime environment and an implementation of such an interface
  • externalizable services definitions (interfaces) whose actual implementations are placed in cosmo-core and can be injected (externalized) into client components
  • POJOs and interfaces that are abstractions of CalDAV components
  • annotations that are used to specify that an implementation of some contract must be plugged into the CalDAV runtime environment
  • annotations that tells the runtime environment container that it should inject some (public) service implementation.

cosmo-core is the actual CalDAV server and runtime environment for developer custom components. It looks up for such components at application context startup and registers them in order to be called during requests. It also injects public services into developer components.

Technical requirements

The application that uses cosmo-api and cosmo-core must be Spring Boot application.

Setting up a CalDAV server with cosmo-api and cosmo-core.

To be able to run the application one needs to configure the following:

  • At least one (concrete) implementation of org.springframework.security.core.AuthenticationProvider annotated with @Component
  • Exactly one (concrete) implementation of org.unitedinternet.cosmo.db.DataSourceProvider
  • One Spring Boot application main class annotated with @SpringBootApplication

To be able to override one default implementation Spring @Primary annotation can be used.

Building and running the existing demo application

The cosmo-webapp application is just for demo purposes. To launch it, in the project's root directory (cosmo-webapp) just run mvn spring-boot:run. The calendar server will start using an in-memory database (data will be lost when the application stops). It will be available for CalDAV requests at http://localhost:8080/cosmo/dav/. The application simply creates a user if it does not exists and it does not check the password. To create a collection for a new user a MKCALENDAR request is needed like :

curl -X"MKCALENDAR" -H"Content-Type:application/xml" -u${your_email}:${your_passwd} http://localhost:8080/cosmo/dav/${your_email}/calendar

The newly created collection can be configured in Mozilla Lightning application for instance by using the URL: http://localhost:8080/cosmo/dav/${your_email}/calendar

cosmo's People

Contributors

alinaandreea14 avatar corneliudobrota avatar cosminh11 avatar danielgrigore avatar danielpopa1986 avatar eardeleanu-1and1 avatar eisler avatar jhermann avatar scovetta avatar stefanviorelpopescu avatar wsdwl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cosmo's Issues

Evolution connection not working

Hi,
If i connect Evolution calendar to a local cosmo caldav server it is not working.

It would be really helpful if you can give the example rest apis for fetching calendars of a users and add a event to that calendar...

The problem remains

I'm sorry I think that in my workspace maybe missing a properties file .first run mvn clean install then run mvn tomcat7:run-war.the problem remains,like that:
INFO: Initializing Spring root WebApplicationContext
Dec 16, 2015 5:52:54 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
Dec 16, 2015 5:52:54 AM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at org.unitedinternet.cosmo.servletcontext.ServletContextUtil.extractApplicationProperties(ServletContextUtil.java:31)
at org.unitedinternet.cosmo.servletcontext.CosmoApplicationContextInitializer.initialize(CosmoApplicationContextInitializer.java:21)
at org.unitedinternet.cosmo.servletcontext.CosmoApplicationContextInitializer.initialize(CosmoApplicationContextInitializer.java:13)
at org.springframework.web.context.ContextLoader.customizeContext(ContextLoader.java:450)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:402)

Can you give me a cosmo.war by Email ( the email address is [email protected] )? Thanks!

Event save in DB but not reflect or sync with Evolution calendar

I created new custom REST service in Web app to create user and insert event in system. User created and its access account by evolution client. but when I create event by REST service, its save in DB but same event not reflect or sync with Calender (Evolution).
is any missing to create event by custom REST service or something need extra to reflect event to calender. i compared DB entry when create event by evolution calendar and by my custom API. in item table , "itemname" save as 'note' instead of '...xxxxx.ics'..some thing wrong ? please help me.

cosmo not match Oracle

The database choose MySQL is OK , but when I run cosmo with Oracle have some problems.
for example : 'item' , 'users' , 'uid' and so on , These words are Oracle reserved keywords .
Do you run cosmo with Oracle ?

Regards.

Shared calendar

Hello team,
I would like to know if cosmo can support calendar sharing between users

Best Regards

is there a configuration option not to have to sign on with an email address

I am not sure if this caldav url is forced by standards, but I would like to use normal user accounts. Would this be easy to change?

curl -X"MKCALENDAR" -H"Content-Type:application/xml" -uusertest:testtest http://localhost:8080/cosmo/dav/usertest/calendar

rpolatedMessage='not a well-formed email address', propertyPath=email, rootBeanClass=class org.unitedinternet.cosmo.model.hibernate.HibUser, messageTemplate='{org.hibernate.validator.constraints.Email.message}'}

pom needs update in protocoll for jcenter repository

In the current version of the pom the repositoy is defined as:

<repositories>
		<!-- Embedded Maria DB. -->
		<repository>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<id>central</id>
			<name>bintray</name>
			<url>http://jcenter.bintray.com</url>
		</repository>
	</repositories>

Jcenter is only reachable via https though, thus maven fails to connect.
Please update repository URL to https protocol:

<url>https://jcenter.bintray.com</url>

Disabling hibernate statistics in webapp

It seems that setting hibernate.generate_statistics=false in application.properties or System properties has no effect. Is there a way to disable statistics currently?

Cosmo interfacing

Hello Team,
Can cosmo communicate with a tool like nextcloud.

Best Regards.

ClassCastException in DefaultItemPathTranslator and EntityConverter as JPA query returns proxied entities

While creating a ticket on a calendar resource, the call is failing with ClassCastException as JPA query returns proxied entities.
It fails in DefaultItemPathTranslator.findItemByParentAndName.

Also while trying to fetch a calendar resource using ticket, similar error occurs at EntityConverter.getCalendarFromEventStamp.

Cosmo version: 3.8.4
spring.boot.version: 2.2.13.RELEASE

I am working on building the application from the codebase hence reported this issue so that it gets fixed in the next SNAPSHOT version, if the spring version is upgraded.

Are there any options to share .ics links of an existing collection?

Hi @danielgrigore

In our team, we already implemented the subscriptions with the corresponding ticket to share calendar with a specific user, or just for creating a public link sending those tickets.

However, now we are working on a feature for sharing the collections that we have in Cosmo with another one who is outside from it and that is using a client which supports .ics instead of Caldav. We think we can achieve this turning the collection into a ICS file and expose it in a public link, so external people would be able to import it.

Is this behavior or something similar already implemented in Cosmo?.

Cheers,

Unable to MKCALENDAR with Timezone data

Steps to reproduce:

Version: latest / cosmo-webapp.

curl --request MKCALENDAR \
  --url http://localhost:8080/cosmo/dav/[email protected]/calendar2 \
  --header 'authorization: Basic cHppbmluQGdtYWlsLmNvbToxMjM0NQ==' \
  --header 'content-type: application/xml' \
  --cookie JSESSIONID=714B663778A5356FDF512E76AC8E0AB6 \
  --data-binary '<?xml version="1.0" encoding="utf-8" ?>
   <C:mkcalendar xmlns:D="DAV:"
                 xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:set>
       <D:prop>
         <D:displayname>Lisa'\''s Events</D:displayname>
         <C:calendar-description xml:lang="en"
   >Calendar restricted to events.</C:calendar-description>
         <C:supported-calendar-component-set>
           <C:comp name="VEVENT"/>
         </C:supported-calendar-component-set>
         <C:calendar-timezone><![CDATA[
	BEGIN:VCALENDAR
  PRODID:-//Example Corp.//CalDAV Client//EN
   	VERSION:2.0
   BEGIN:VTIMEZONE
   TZID:US-Eastern
   LAST-MODIFIED:19870101T000000Z
   BEGIN:STANDARD
   DTSTART:19671029T020000
   RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
   TZOFFSETFROM:-0400
   TZOFFSETTO:-0500
   TZNAME:Eastern Standard Time (US & Canada)
   END:STANDARD
   BEGIN:DAYLIGHT
   DTSTART:19870405T020000
   RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
   TZOFFSETFROM:-0500
   TZOFFSETTO:-0400
   TZNAME:Eastern Daylight Time (US & Canada)
   END:DAYLIGHT
   END:VTIMEZONE
   END:VCALENDAR
   ]]></C:calendar-timezone>
       </D:prop>
     </D:set>
   </C:mkcalendar>'

Answer:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><D:multistatus xmlns:D="DAV:"><D:response><D:href>/cosmo/dav/[email protected]/calendar2/</D:href><D:propstat><D:prop><C:calendar-timezone xmlns:C="urn:ietf:params:xml:ns:caldav"/></D:prop><D:status>HTTP/1.1 403 Forbidden</D:status></D:propstat><D:propstat><D:prop><D:displayname/><C:supported-calendar-component-set xmlns:C="urn:ietf:params:xml:ns:caldav"/><C:calendar-description xmlns:C="urn:ietf:params:xml:ns:caldav"/></D:prop><D:status>HTTP/1.1 424 Failed Dependency</D:status></D:propstat><D:responsedescription>Calendar object not parseable: Error at line 3:Expected [VCALENDAR], read [VCALENDAR PRODID]</D:responsedescription></D:response></D:multistatus>

Bug in AuthenticationProviderProxyFactory

In AuthenticationProviderProxyFactory Line 53:

52:                   UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(userDetails, authentication.getCredentials(), authentication.getAuthorities());

53:                   result.setAuthenticated(authentication.isAuthenticated());

a call of result.setAuthenticated(true) raises an exception:

	public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {
		if (isAuthenticated) {
			throw new IllegalArgumentException(
					"Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead");
		}

		super.setAuthenticated(false);
	}

the whole call of setAuthenticated is unnecessary as the property gets set directly within the constructor of UsernamePasswordAuthenticationToken.

So please remove the line that tries to set the authenticated property, otherwise it is not possible to use a UsernamePasswordAuthenticationToken which has authenticated set to true.

Owner is set as the user when I create a ticket.

Hello all. I wanted to create a ticket for another user. But I found in the sources that always the user is set as the owner. Shouldn't the owner be the user the ticket was given to?

Otherwise a ticket cannot be assigned to a specific person?

Here you find the used XML request:

<?xml version="1.0" encoding="UTF-8"?>
<X:ticketinfo xmlns:D="DAV:" 
              xmlns:X="http://www.xythos.com/namespaces/StorageServer">
<D:privilege>
  <D:read/>
  <D:write/>
</D:privilege>
<D:owner>
  <D:href>:SERVER/cosmo/dav/users/:USER</D:href>
</D:owner>
</X:ticketinfo>

As well as the snipped from the sources:

ticket.setOwner(getSecurityContext().getUser());

Shouldn't be this the assigned owner from xml request?

have a trubble

hi man when in cosmo-cosmo-multimodule-0.94 dir run "mvn tomcat7:run-war -Dmaven.test.skip=true" ,build seccess .like this:
[INFO] cosmo-multimodule .................................. SUCCESS [ 7.780 s]
[INFO] cosmo-api .......................................... SUCCESS [ 1.820 s]
[INFO] cosmo-core ......................................... SUCCESS [ 3.946 s]

BUT in cosmo-cosmo-multimodule-0.94/cosmo-webapp dir run "mvn tomcat7:run-war -Dmaven.test.skip=true" have a problem .like this :

Dec 15, 2015 11:40:32 PM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at org.unitedinternet.cosmo.servletcontext.ServletContextUtil.extractApplicationProperties(ServletContextUtil.java:31)
at org.unitedinternet.cosmo.servletcontext.CosmoApplicationContextInitializer.initialize(CosmoApplicationContextInitializer.java:21)
at org.unitedinternet.cosmo.servletcontext.CosmoApplicationContextInitializer.initialize(CosmoApplicationContextInitializer.java:13)
at org.springframework.web.context.ContextLoader.customizeContext(ContextLoader.java:450)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:402)

what happened? what can I do? can you help me , thanks!

Cosmo server timeout

Hello,
I have an unexplained connection loss problem with cosmo calendar server
How to increase connection timeout ?
Thanks

problems

Hi,
I have a few question about the functionality of cosmo. I am on macOS.
1_ Can I use mamp as a host? If I can how to connect the two things?
2_I never used spring, how it works?

is there a specific health check url for an instance

Sorry for harassing so much here, as you maybe noticed I am testing with your application. Looks promising!

Anyway for container deployments it is always nice to have some health check url to use. Is there a some endpoint I can use for this that does not require authentication? (sorry do not know to much about the caldav standard). If so, maybe nice to put in the readme

cosmo-api.jar

Hi Daniel

When I tried to run application (cosmo-core) I started with mvn clean package and I get very weird exception. I was looking for some information on the internet etc. but nothing works. Maybe you know how to deal with the .jar file.

Thank you for your help

Could not resolve dependencies for project net.oneandone.cosmo:cosmo-core:jar:5.0.1-SNAPSHOT: The following artifacts could not be resolved: net.oneandone.cosmo:cosmo-api:jar:5.0.1-SNAPSHOT (absent): Could not find artifact net.oneandone.cosmo:cosmo-api:jar:5.0.1-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project cosmo-core: Could not resolve dependencies for project net.oneandone.cosmo:cosmo-core:jar:5.0.1-SNAPSHOT: The following artifacts could not be resolved: net.oneandone.cosmo:cosmo-api:jar:5.0.1-SNAPSHOT (absent): Could not find artifact net.oneandone.cosmo:cosmo-api:jar:5.0.1-SNAPSHOT

performance testing script

Hi Daniel,

I was wondering if you have performance testing scripts available for caldav so I can test my environment and compare with other solutions..

Docker image

Hello Team,

Is there any public docker image for cosmo caldav server

Best Regards

Calendar sharing setup

Hi,
I have one question regarding the calendar sharing functionality. I already figured out that I should use the subscription stuff to share calendars. My question now is how to create such subscriptions.
I did a basic setup on my machine with a "modified" demo application. So I switched the backend to a persistent mysql database. I still use the demo authentification stuff because I am still in evaluation phase for a project.
Can you perhaps give me a hint how to create a subscription so userB can access the calendar of userA. If this is already possible with the cosmo-api

Best regards
Alex

When create new calendar via Mozilla Thunderbird Lightning, error occured.

Hi. i set up Cosmo calDAV server successfully.
When create new calendar via Mozilla Thunderbird Lightning, error occured.
At first. creating user and homecollection are succeed. But after that, finding parent path is always failed.

Mozilla version : 60.2.1
Url when create new calendar : http://localhost:1984/crCalDAV/dav/[email protected]/calendar

below is stack trace.

org.unitedinternet.cosmo.dav.NotFoundException: null
	at org.unitedinternet.cosmo.dav.StandardResourceFactory.resolve(StandardResourceFactory.java:141)
	at org.unitedinternet.cosmo.dav.servlet.StandardRequestHandler.resolveTarget(StandardRequestHandler.java:358)
	at org.unitedinternet.cosmo.dav.servlet.StandardRequestHandler.handleRequest(StandardRequestHandler.java:124)
	at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:53)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:848)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.unitedinternet.cosmo.filters.ClientICalendarFilter.doFilter(ClientICalendarFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.unitedinternet.cosmo.acegisecurity.providers.ticket.TicketProcessingFilter.doFilter(TicketProcessingFilter.java:102)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.unitedinternet.cosmo.filters.HttpOverrideFilter.doFilter(HttpOverrideFilter.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at org.unitedinternet.cosmo.filters.CosmoExceptionLoggerFilter.doFilter(CosmoExceptionLoggerFilter.java:34)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.unitedinternet.cosmo.acegisecurity.providers.ticket.TicketProcessingFilter.doFilter(TicketProcessingFilter.java:102)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.unitedinternet.cosmo.acegisecurity.providers.ticket.ExtraTicketProcessingFilter.doFilter(ExtraTicketProcessingFilter.java:136)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.zalando.logbook.servlet.NormalStrategy.doFilter(NormalStrategy.java:38)
	at org.zalando.logbook.servlet.LogbookFilter.doFilter(LogbookFilter.java:39)
	at org.zalando.logbook.servlet.HttpFilter.doFilter(HttpFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.zalando.logbook.servlet.SecurityStrategy.doFilter(SecurityStrategy.java:33)
	at org.zalando.logbook.servlet.LogbookFilter.doFilter(LogbookFilter.java:39)
	at org.zalando.logbook.servlet.HttpFilter.doFilter(HttpFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)

When i inspect the code, there is something weird.

createResourceLocatorByUri method in StandardResourceLocatorFactory class,

String path = url.getPath().substring(context.getPath().length()) + "/";
path = path.replaceAll("/{2,}", "/");

this code always returns "/".

Do i misunderstand CalDAV RFC specification or i made mistake?

building on centos9 stream fails

[WARNING]
[WARNING] Some problems were encountered while building the effective model for net.oneandone.cosmo:cosmo-webapp:war:3.7.4
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-war-plugin is missing. @ line 59, column 12
[WARNING] 'build.plugins.plugin.version' for org.springframework.boot:spring-boot-maven-plugin is missing. @ line 55, column 12
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.4:run (default-cli) on project cosmo-webapp: Application finished with exit code: 1 -> [Help 1]

When create new entity, error occurs

Hi. i set up Cosmo calDAV server successfully.
When i try to add new hibernate entity, the corresponding table is created in database
Next I create a new user in table users but when i try to get the user in java application the result is null

below is the added entity

@entity
@table(
name = "user_accretio"
)
public class HibAccretioUser implements Serializable {
private static final long serialVersionUID = 5144186861660046495L;
@id
@GeneratedValue(
strategy = GenerationType.AUTO
)
private int id;
@column(
name = "registration_number",
nullable = true,
length = 255
)
@Length(
min = 1,
max = 255
)
private String registrationNumber;
@column(
name = "calendar_id",
nullable = true,
length = 255
)
@Length(
min = 1,
max = 255
)
private String calendarId;
@column(
name = "admin",
nullable = true,
length = 4
)
@Length(
min = 1,
max = 4
)
private int admin;

public HibAccretioUser() {
}

public int getId() {
    return this.id;
}
public String getRegistrationNumber() {
    return this.registrationNumber;
}
public void setRegistrationNumber(String registrationNumber) {
    this.registrationNumber = registrationNumber;
}
public String getCalendarId() {
    return this.calendarId;
}
public void setCalendarId(String calendarId) {
    this.calendarId = calendarId;
}
public int getAdmin() {
    return this.admin;
}
public void setAdmin(int admin) {
    this.admin = admin;
}
public String toString() {
    return "HibAccretioUser [registrationNumber=" + this.registrationNumber + ", calendarId=" + this.calendarId + ", admin=" + this.admin + "]";
}

}

Do i misunderstand cosmo server specification or i made mistake?

mvn spring-boot:run does not work

in cosmos root folder, i ran:
mvn clean install
It went through just fine, and then

mvn spring-boot:run

Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 kB at 34 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (14 kB at 23 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] cosmo-multimodule .................................. SKIPPED
[INFO] cosmo-api .......................................... SKIPPED
[INFO] cosmo-core ......................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.548 s
[INFO] Finished at: 2019-03-10T20:24:29-04:00
[INFO] Final Memory: 23M/265M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'spring-boot' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/amr/.m2/repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundForPrefixException

Any suggestions to fix this? Thanks.

CosmoCalendarTypeDescriptor.deepCopyNotNull is not valid due to ical4j parser issues.

If we get the timezone.ics file from your unit tests:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
BEGIN:VTIMEZONE
TZID:US/Eastern
BEGIN:STANDARD
DTSTART:20001029T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:US/Eastern
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000402T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
TZNAME:US/Eastern
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
END:VCALENDAR

and parse it with cal = new CalendarBuilder().build(new StringReader(input));

Then cal.toString() returns:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
BEGIN:VTIMEZONE
TZID:US/Eastern
BEGIN:STANDARD
DTSTART:20001029T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZNAME:US/Eastern
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000402T010000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
TZNAME:US/Eastern
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
END:VCALENDAR

Notice that DTSTART:20000402T020000 != DTSTART:20000402T010000.

Thus the unittest testCalendarCollectionStamp fails.

https://github.com/pashazz/icstest - minimal working example.

apple calendar (mojave) client connection issue

With the demo application, I have problems connecting the apple calendar (mojave vm). The same connect url just works fine in thunderbird.

Is this something that should be corrected on the proxy, or should the cosmo server support this client?

This is the tcpdump of the apple calender connection request.

10:06:06.955689 IP 192.168.122.152.49342 > 192.168.122.22.webcache: Flags [SEW], seq 2795606809, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 483205156 ecr 0,sackOK,eol], length 0
E..@..@[email protected].............
.. $........
10:06:06.955800 IP 192.168.122.22.webcache > 192.168.122.152.49342: Flags [S.E], seq 2794007763, ack 2795606810, win 28960, options [mss 1460,sackOK,TS val 2646406745 ecr 483205156,nop,wscale 7], length 0
E..<..@[email protected].......,......Rq v..........
...Y.. $....
10:06:06.956338 IP 192.168.122.152.49342 > 192.168.122.22.webcache: Flags [.], ack 1, win 2058, options [nop,nop,TS val 483205156 ecr 2646406745], length 0
E..4..@[email protected]...........,....
:C.....
.. $...Y
10:06:06.958138 IP 192.168.122.152.49342 > 192.168.122.22.webcache: Flags [P.], seq 1:330, ack 1, win 2058, options [nop,nop,TS val 483205158 ecr 2646406745], length 329: HTTP: PROPFIND /cosmo/dav/test%40example.com/calendar/ HTTP/1.1
E..}..@[email protected]...........,....
.......
.. &...YPROPFIND /cosmo/dav/test%40example.com/calendar/ HTTP/1.1
Host: test2.local:8080
Content-Type: text/xml
Depth: 0
Brief: t
Accept: */*
Connection: keep-alive
Prefer: return=minimal
User-Agent: Mac+OS+X/10.14.6 (18G4032) CalendarAgent/416.5.1
Content-Length: 127
Accept-Language: en-us
Accept-Encoding: gzip, deflate


10:06:06.958211 IP 192.168.122.22.webcache > 192.168.122.152.49342: Flags [.], ack 330, win 235, options [nop,nop,TS val 2646406747 ecr 483205158], length 0
E..4..@[email protected].......,....c....v&.....
...[.. &
10:06:06.958286 IP 192.168.122.152.49342 > 192.168.122.22.webcache: Flags [P.], seq 330:457, ack 1, win 2058, options [nop,nop,TS val 483205158 ecr 2646406745], length 127: HTTP
E.....@[email protected]..,....
.#.....
.. &...Y<?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <A:principal-URL/>
  </A:prop>
</A:propfind>

10:06:06.958310 IP 192.168.122.22.webcache > 192.168.122.152.49342: Flags [.], ack 457, win 235, options [nop,nop,TS val 2646406747 ecr 483205158], length 0
E..4..@[email protected].......,.........v&.....
...[.. &
10:06:06.959999 IP 192.168.122.22.webcache > 192.168.122.152.49342: Flags [P.], seq 1:161, ack 457, win 235, options [nop,nop,TS val 2646406749 ecr 483205158], length 160: HTTP: HTTP/1.1 401
E.....@[email protected].......,.........v......
...].. &HTTP/1.1 401
WWW-Authenticate: Basic realm="Cosmo"
Content-Length: 0
Date: Wed, 07 Apr 2021 08:06:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive


10:06:06.960462 IP 192.168.122.152.49342 > 192.168.122.22.webcache: Flags [.], ack 161, win 2056, options [nop,nop,TS val 483205159 ecr 2646406749], length 0
E..4..@[email protected]......
.. '...]

Shared calendar

hello team,

For sharing a calendar between users I used org.unitedinternet.cosmo.model.CollectionSubscription interface and its implementation org.unitedinternet.cosmo.model.hibernateHibCollectionSubscription.

How can I test the result with a client like nextcloud or other

Best Regards

Does cosmo support event sharing

can i add invitee to a event in cosmo. also is there a client i can use cosmo with...i tried Evolution but it does not connect

I can not create events. DB connection is read only.

Hi @danielgrigore ,

I use current master branch of cosmo
Just wondering, why I can not create events.
I use a DerbyDB as Datastore.

Always get this error message:

<?xml version='1.0' encoding='UTF-8'?>
<D:error xmlns:cosmo="http://osafoundation.org/cosmo/DAV" xmlns:D="DAV:">
    <cosmo:internal-server-error>org.hibernate.exception.GenericJDBCException: could not execute statement</cosmo:internal-server-error>
</D:error>

Looking at the stack trace, I get this SQL Error:

13:52:05,083 WARN [org.jboss.logging.jboss-logging] - SQL Error: 20000, SQLState: 25502

This means, that the connection is read only. Then I checked the belonging class StandardContentService where events are created and I found, that annotation @Transactional(readOnly = true)

This sets the connection into read only mode so I have no write access anymore.

From my point of view and the experience I have made with transactional behaviour in Spring context, it seems to be not right, having a read only annotation on a class that adds, copies and removes content.

I checked with the Demo Application with MySQL and it works.

What are your thoughts?

Cheers,

Tom

/.well-known/caldav

Is there any example what the .well-known should return? I think it would be nice to have this in the server, but for now I would like to add it to the haproxy cfg

Currently auto detection of the apple calendar client fails with trying these urls.

Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.328] caldav~ caldav/test2 0/0/1/2/3 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND /.well-known/caldav HTTP/1.1"
Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.371] caldav~ caldav/test2 0/0/0/1/1 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND / HTTP/1.1"
Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.377] caldav~ caldav/test2 0/0/0/0/1 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND /caldav/v2 HTTP/1.1"
Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.418] caldav~ caldav/test2 0/0/0/1/1 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND /principals/users/test%40example.com/ HTTP/1.1"
Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.424] caldav~ caldav/test2 0/0/0/0/1 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND /principals/ HTTP/1.1"
Apr  7 11:45:11 xxxx haproxy[1183245]: xxxx:46078 [07/Apr/2021:09:45:11.465] caldav~ caldav/test2 0/0/0/1/1 404 571 - - ---- 19/1/0/0/0 0/0 "PROPFIND /dav/principals/ HTTP/1.1" 

how to use cosmo

I do not really understand how one can/should use this implementation of caldav. I have been testing a bit in the past with the calendar and carddav server of apple, but like many other implementations you can find, these are discontinued or not often updated.

(I am also a bit hesitant of using php implementations for something like this) When I saw that 1and1 is using this, and probably on a large scale clustered, it needs to be of some 'professional level'.

Say you have 10.000 users with an android/ios phone doing caldav syncing.
How would I setup this server of yours in production?

Does cosmo support event import

Hello, am using a cosmo caldav server and i want to add synchronization feature in order to import events from all my application users gmail account. Did you guys have an idea about to do it with cosmo

demo application not starting / maven issues

When trying to start the demo application using
mvn spring-boot:run

It fails with errors:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.202 s
[INFO] Finished at: 2020-08-31T13:56:40+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project cosmo-webapp: Could not resolve dependencies for project net.oneandone.cosmo:cosmo-webapp:war:3.7.1: Failed to collect dependencies at net.oneandone.cosmo:cosmo-core:jar:3.7.2: Failed to read artifact descriptor for net.oneandone.cosmo:cosmo-core:jar:3.7.2: Could not transfer artifact net.oneandone.cosmo:cosmo-core:pom:3.7.2 from/to central (http://jcenter.bintray.com): Authorization failed for http://jcenter.bintray.com/net/oneandone/cosmo/cosmo-core/3.7.2/cosmo-core-3.7.2.pom 403 Forbidden -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

Switch to an existing DB

Hi,
I setup the project successfully and its running fine. But when I close the application, it deletes the database.
How can I keep a consistent database so that even after closing the server, the data sustains?
Secondly, I want to keep the DB out of the application.
In this application, it creates a DB inside a target folder and then connects to it.
I want to create a DB outside the application and then it will just connect to that DB.

Embed into own application?

Hi there,

I am wondering if cosmo can be embedded as a "caldav frontend" to a custom calendar application. We would like to expose our contacts/ appointments via carddav and caldav, carddav being more of a "nice to have" thing.

If yes - is cosmo being actively maintained?

brgds

Papick

cosmo-webapp: Not able to perform mkcalendar with latest cosmo-core due to HTTP forbidden method

So i'm doing a MKCALENDAR request and unable to do that because it's not allowed by spring security:

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the HTTP method "MKCALENDAR" was not included within the whitelist [HEAD, DELETE, POST, GET, OPTIONS, PATCH, PUT]

As far as I'm concerned this happens with cosmo-core from git (not the release version) and it pulls spring-security-web 5.1.2-RELEASE as dependency.

I'm trying to add my own FilterChainProxy Bean, namely in cosmo-core/src/main/java/org/unitedinternet/cosmo/boot/SecurityFilterConfig I added a new Bean method:

    @Bean
    public FilterChainProxy filterChainProxy () {
        FilterChainProxy proxy = new FilterChainProxy();
        Set<String> httpMethods = new HashSet<>();
        
        httpMethods.add(HttpMethod.DELETE.name());
        httpMethods.add(HttpMethod.GET.name());
        httpMethods.add(HttpMethod.HEAD.name());
        httpMethods.add(HttpMethod.OPTIONS.name());
        httpMethods.add(HttpMethod.PATCH.name());
        httpMethods.add(HttpMethod.POST.name());
        httpMethods.add(HttpMethod.PUT.name());

        // Caldav methods go here
        httpMethods.add("PROPFIND");
        httpMethods.add("PROPPATCH");
        httpMethods.add("COPY");
        httpMethods.add("MOVE");
        httpMethods.add("REPORT");
        httpMethods.add("MKTICKET");
        httpMethods.add("DELTICKET");
        httpMethods.add("ACL");
        httpMethods.add("MKCOL");
        httpMethods.add("MKCALENDAR");

        StrictHttpFirewall firewall = new StrictHttpFirewall();
        firewall.setAllowedHttpMethods(httpMethods);
        proxy.setFirewall(firewall);
        return proxy;
    }
}

It was loaded but seems like it's ignored. How do I wire it?

Cannot run the application

Hi Daniel
I am not able to run application. I've created classes which are mentioned in ,,Technical requirements" and also changed .yaml file for my own MariaDB server.

Also /private/var/folders/2q/** is set 777 permission but still get error like that: shell> /private/var/folders/2q/190xvk2d6810kn6zwxljvtdc0000gn/T/MariaDB4j/base/bin/mysql -u root mysql

whole console log Is under the link: https://pastebin.com/BPQn6ANV

I tried to run cosmo-webaps package. Cosmo-api and cosmo-core with mvn clean spring-boot:run/mvn clean install doesn't run the application.

Maybe you have some steps how to finish configurating application to run it. I will be very thankful :)

Building version 0.99 fails

When doing as adviced:
"In the project's root directory just run mvn tomcat7:run-war."
..
[INFO] --- tomcat7-maven-plugin:2.2:run-war (default-cli) @ cosmo-core ---
[INFO] Skipping non-war project
..

Nothing happens due to the missing module reference to cosmo-webapp in the root pom. The following line needs to be added in the modules section:
cosmo-webapp

Furthermore the parent pom version in cosmo-webapp is invalid and needs to be:
0.99-SNAPSHOT

Furthermore the reference in cosmo-core to cosmo-webapp is not valid.

Hibernate Exception on deploy

Hi!
i did make a clone from master branch on Netbeans, after a 'clean and build' and 'run' i got this Exception:

org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.unitedinternet.cosmo.db.DbListener org.hibernate.HibernateException: Wrong column type in cosmo.event_stamp for column isfloating. Found: tinyint, expected: bit

And the deploy stop

  • Apache Tomcat 8.0.33
  • MySQL 5.6.28
  • MySQL connector 5.1.38

Thanks in advance for your help

How to deploy

Hi, sorry for open an issue to ask a question but i can not find any way to contact you.

I'm really interested in your project but until now i can not make it run on "my environment"

I need to use the Cosmo CalDAV server, connected to an independent MySQL (not embeded) and use the API to make calendar operations from other Java EE application (other server)

How can i configure/deploy Cosmo to get it running for that?

Thanks in advance and sorry again

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.