Weird behaviour with rights on content and custom workflow

26 weergaven
Naar het eerste ongelezen bericht

Bart Plasmans

ongelezen,
10 dec 2015, 07:46:2710-12-2015
aan dotCMS User Group
Hi All,

I have a weird error concerning a user who has edit rights on content which has a custom workflow.
We have 6 author roles, and one publisher role.

One of the author roles can see all content, but can only edit 1 type of content, "Payment Group".
I have put the rights on the "Payment Group" itself, see the added screenshot.
Also when I look at an existing content I see the correct "Edit" rights.







When I log in as the user who has the role I can edit the content, and if I click "Save" this goes ok.
However when I choose "Send for review" to send this to the publisher role I get the following error:



User: dotcms.org.2840 does not have Edit Permissions to lock content: 26626fa5-913d-4a04-8398-6246a5fe2443


The workflow step looks like this:



















Does anyone know whats going wrong??

greetings Bart Plasmans





Will Ezell

ongelezen,
10 dec 2015, 08:26:5310-12-2015
aan dot...@googlegroups.com
Do you see any errors in the log?   I am assuming dotcms.org.2840 has the "Product Mgt. Payments" role?

--
You received this message because you are subscribed to the Google Groups "dotCMS User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dotcms+un...@googlegroups.com.
To post to this group, send email to dot...@googlegroups.com.
Visit this group at http://groups.google.com/group/dotcms.
For more options, visit https://groups.google.com/d/optout.



--






3059 Grand Avenue
Suite 410-B
Miami FL 33133
Main: 
305-900-2001 | Direct: 978.294.9429

   

Bart Plasmans

ongelezen,
10 dec 2015, 08:40:2210-12-2015
aan dotCMS User Group
Hi Will,

The user 2840 has indeed the "Product Mgt. Payments" role
this is the stacktrace:

[10/12/15 14:09:44:102 CET] ERROR actionlet.CheckinContentActionlet: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

com.dotmarketing.portlets.contentlet.business.DotLockException: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.canLock(ESContentletAPIImpl.java:4786)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.canLock(ESContentletAPIImpl.java:4761)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.unlock(ESContentletAPIImpl.java:983)

            at com.dotmarketing.portlets.contentlet.business.ContentletAPIInterceptor.unlock(ContentletAPIInterceptor.java:1612)

            at com.dotmarketing.portlets.workflows.actionlet.CheckinContentActionlet.executeAction(CheckinContentActionlet.java:35)

            at com.dotmarketing.portlets.workflows.business.WorkflowAPIImpl.fireWorkflowPostCheckin(WorkflowAPIImpl.java:816)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2931)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2274)

            at com.dotmarketing.portlets.contentlet.business.ContentletAPIInterceptor.checkin(ContentletAPIInterceptor.java:167)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl._saveWebAsset(ContentletWebAPIImpl.java:583)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl.saveContent(ContentletWebAPIImpl.java:142)

            at com.dotmarketing.portlets.contentlet.ajax.ContentletAjax.saveContent(ContentletAjax.java:1402)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.lang.reflect.Method.invoke(Method.java:601)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule$1.doFilter(CreatorModule.java:229)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:241)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:379)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:332)

            at com.dotcms.repackage.org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:104)

            at com.dotcms.repackage.org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)

            at com.dotcms.repackage.org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotcms.repackage.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:404)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CMSFilter.doFilter(CMSFilter.java:208)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.AutoLoginFilter.doFilter(AutoLoginFilter.java:61)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CacheImagesFilter.doFilter(CacheImagesFilter.java:47)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.cms.urlmap.filters.URLMapFilter.doFilter(URLMapFilter.java:299)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.TimeMachineFilter.doFilter(TimeMachineFilter.java:174)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.ThreadNameFilter.doFilter(ThreadNameFilter.java:90)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CookiesFilter.doFilter(CookiesFilter.java:33)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:146)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)

            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

            at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

            at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)

            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)

            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)

            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)

            at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)

            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)

            at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

[10/12/15 14:09:44:105 CET] ERROR business.ESContentletAPIImpl: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

[10/12/15 14:09:44:105 CET] ERROR business.ESContentletAPIImpl: com.dotmarketing.portlets.workflows.business.DotWorkflowException: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

[10/12/15 14:09:44:105 CET]  WARN web.ContentletWebAPIImpl: com.dotmarketing.portlets.workflows.business.DotWorkflowException: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

com.dotmarketing.portlets.workflows.business.DotWorkflowException: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

            at com.dotmarketing.portlets.workflows.business.WorkflowAPIImpl.fireWorkflowPostCheckin(WorkflowAPIImpl.java:833)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2931)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2274)

            at com.dotmarketing.portlets.contentlet.business.ContentletAPIInterceptor.checkin(ContentletAPIInterceptor.java:167)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl._saveWebAsset(ContentletWebAPIImpl.java:583)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl.saveContent(ContentletWebAPIImpl.java:142)

            at com.dotmarketing.portlets.contentlet.ajax.ContentletAjax.saveContent(ContentletAjax.java:1402)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.lang.reflect.Method.invoke(Method.java:601)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule$1.doFilter(CreatorModule.java:229)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:241)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:379)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:332)

            at com.dotcms.repackage.org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:104)

            at com.dotcms.repackage.org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)

            at com.dotcms.repackage.org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotcms.repackage.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:404)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CMSFilter.doFilter(CMSFilter.java:208)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.AutoLoginFilter.doFilter(AutoLoginFilter.java:61)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CacheImagesFilter.doFilter(CacheImagesFilter.java:47)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.cms.urlmap.filters.URLMapFilter.doFilter(URLMapFilter.java:299)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.TimeMachineFilter.doFilter(TimeMachineFilter.java:174)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.ThreadNameFilter.doFilter(ThreadNameFilter.java:90)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CookiesFilter.doFilter(CookiesFilter.java:33)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:146)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)

            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

            at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

            at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)

            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)

            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)

            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)

            at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)

            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)

            at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

[10/12/15 14:09:44:105 CET] ERROR ajax.ContentletAjax: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

com.dotmarketing.portlets.workflows.business.DotWorkflowException: User: dotcms.org.2846 does not have Edit Permissions to lock content: 6f55189f-ab39-4d6c-b06a-0f19c4ed3a85

            at com.dotmarketing.portlets.workflows.business.WorkflowAPIImpl.fireWorkflowPostCheckin(WorkflowAPIImpl.java:833)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2931)

            at com.dotcms.content.elasticsearch.business.ESContentletAPIImpl.checkin(ESContentletAPIImpl.java:2274)

            at com.dotmarketing.portlets.contentlet.business.ContentletAPIInterceptor.checkin(ContentletAPIInterceptor.java:167)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl._saveWebAsset(ContentletWebAPIImpl.java:583)

            at com.dotmarketing.portlets.contentlet.business.web.ContentletWebAPIImpl.saveContent(ContentletWebAPIImpl.java:142)

            at com.dotmarketing.portlets.contentlet.ajax.ContentletAjax.saveContent(ContentletAjax.java:1402)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.lang.reflect.Method.invoke(Method.java:601)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule$1.doFilter(CreatorModule.java:229)

            at com.dotcms.repackage.org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:241)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:379)

            at com.dotcms.repackage.org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:332)

            at com.dotcms.repackage.org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:104)

            at com.dotcms.repackage.org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)

            at com.dotcms.repackage.org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotcms.repackage.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:404)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CMSFilter.doFilter(CMSFilter.java:208)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.AutoLoginFilter.doFilter(AutoLoginFilter.java:61)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CacheImagesFilter.doFilter(CacheImagesFilter.java:47)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.cms.urlmap.filters.URLMapFilter.doFilter(URLMapFilter.java:299)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.TimeMachineFilter.doFilter(TimeMachineFilter.java:174)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.ThreadNameFilter.doFilter(ThreadNameFilter.java:90)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CookiesFilter.doFilter(CookiesFilter.java:33)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at com.dotmarketing.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:146)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)

            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

            at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

            at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)

            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)

            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)

            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)

            at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)

            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)

            at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)




greetings Bart! 

Brent Griffin

ongelezen,
10 dec 2015, 09:16:2810-12-2015
aan dotCMS User Group
Does the content have a "Site or Folder" field?  If so, what is the value of that field for the content in question and does the user have the correct permissions on that site or folder?

Brent Griffin
Sr. Java Architect
dotCMS
...

Bart Plasmans

ongelezen,
10 dec 2015, 10:07:0410-12-2015
aan dotCMS User Group
Hi Brent,

it does indeed have  a host field, the rights on it are set to this:
This is because this role may not edit all content except the "Payment Group" content.


Brent Griffin

ongelezen,
10 dec 2015, 13:00:2610-12-2015
aan dotCMS User Group
Ok - based on the site permissions, I believe that you need to select "Edit" for "Content/Files" - When content has a "Site/Folder" field value, the permissions of that site or host are used - not the permissions defined on the content type.

Brent Griffin
Sr. Java Architect
dotCMS


Bart Plasmans

ongelezen,
11 dec 2015, 08:20:4811-12-2015
aan dotCMS User Group
Hi Brent,

that did the trick,thank you!

greetings Bart
Allen beantwoorden
Auteur beantwoorden
Doorsturen
0 nieuwe berichten