in version 4.0 the CMIS type was removed from DMS.
Will this option be available in future versions?
The DMS CMIS integration, starting from CMDBuild version 4.0, is available as an additional plugin. You can download it from this link:
Hey, @tecnoteca thanks for the plugin hint.
However, in v.4.0.0 all uploads (DMS, Plugin Manager) seem to fail with
2025-06-02T10:57:07.143Z [req:4098de] ERROR o.c.w.security.SessionTokenFilter - error retrieving session token from request
java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided
at org.apache.catalina.connector.Request.parseParts(Request.java:2427) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.doParseParameters(Request.java:2799) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.parseParameters(Request.java:2755) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.getParameter(Request.java:1044) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:152) ~[catalina.jar:11.0.2]
at org.cmdbuild.webapp.security.SessionTokenFilter.getSessionTokenFromRequest(SessionTokenFilter.java:183) ~[classes/:4.0.0]
at org.cmdbuild.webapp.filters.RequestTrackingFilter.lambda$doFilterInternal$2(RequestTrackingFilter.java:161) ~[classes/:4.0.0]
at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:181) ~[guava-33.0.0-jre.jar:na]
at org.cmdbuild.webapp.filters.RequestTrackingFilter.doFilterInternal(RequestTrackingFilter.java:181) ~[classes/:4.0.0]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109) ~[catalina.jar:11.0.2]
at org.cmdbuild.webapp.filters.BootCheckFilter.doFilterAfterBootCheck(BootCheckFilter.java:111) ~[classes/:4.0.0]
at org.cmdbuild.webapp.filters.BootCheckFilter.doFilterInternal(BootCheckFilter.java:70) ~[classes/:4.0.0]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:79) ~[catalina.jar:11.0.2]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[catalina.jar:11.0.2]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[catalina.jar:11.0.2]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[catalina.jar:11.0.2]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:395) ~[tomcat-coyote.jar:11.0.2]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote.jar:11.0.2]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1746) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1148) ~[tomcat-util.jar:11.0.2]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) ~[tomcat-util.jar:11.0.2]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-util.jar:11.0.2]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
2025-06-02T10:57:07.171Z [req:4098de] ERROR o.c.w.f.RequestTrackingFilter$$SpringCGLIB$$0 - error processing request = 4098decfab0340763c8904pw
java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided
at org.apache.catalina.connector.Request.parseParts(Request.java:2427) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.doParseParameters(Request.java:2799) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.parseParameters(Request.java:2755) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.Request.getParameter(Request.java:1044) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:152) ~[catalina.jar:11.0.2]
at org.cmdbuild.webapp.security.SessionTokenFilter.getSessionTokenFromRequest(SessionTokenFilter.java:183) ~[classes/:4.0.0]
at org.cmdbuild.webapp.filters.RequestTrackingFilter.lambda$doFilterInternal$2(RequestTrackingFilter.java:161) ~[classes/:4.0.0]
at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:181) ~[guava-33.0.0-jre.jar:na]
at org.cmdbuild.webapp.filters.RequestTrackingFilter.doFilterInternal(RequestTrackingFilter.java:181) ~[classes/:4.0.0]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109) ~[catalina.jar:11.0.2]
at org.cmdbuild.webapp.filters.BootCheckFilter.doFilterAfterBootCheck(BootCheckFilter.java:111) ~[classes/:4.0.0]
at org.cmdbuild.webapp.filters.BootCheckFilter.doFilterInternal(BootCheckFilter.java:70) ~[classes/:4.0.0]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:79) ~[catalina.jar:11.0.2]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[catalina.jar:11.0.2]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[catalina.jar:11.0.2]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) ~[catalina.jar:11.0.2]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:11.0.2]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[catalina.jar:11.0.2]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:395) ~[tomcat-coyote.jar:11.0.2]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote.jar:11.0.2]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1746) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:11.0.2]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1148) ~[tomcat-util.jar:11.0.2]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) ~[tomcat-util.jar:11.0.2]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-util.jar:11.0.2]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
how to install plugin? is there any instructions?
I didn’t find manual for version 4.0.0.
Please share the code of plugin cmdbuild-dms-cmis-1.0.0
@jaroslaw you could install it through Plugin Manager in Administrative module, but considering exception - it will fail. However, you can just drop cmdbuild-dms-cmis-1.0.0.jar into $CATALINA_HOME/conf/cmdbuild/WEB-INF/lib folder - this will make your plugin available for configuration in Administrative module.
But this wouldn’t help you much, due to the exception above - as attachment uploads would fail as well. Right now I’m trying to fall back to 3.4.4, until fix/workaround available.
Are you using Tomcat 10 or another version?