[midPoint] How to cleanup Activiti tasks

Pavol Mederly mederly at evolveum.com
Thu Jan 17 17:08:03 CET 2019


Hello Arnošt, Petr,

no worries about upgrading: the "API" for the rest of midPoint should 
stay approximately the same. Depending on how deep the improvements will go.

These days the Activiti is "emulated" using:

 1. CaseType object instead of Activiti process instance,
 2. CaseWorkItemType objects instead of Activiti tasks.

The advantage is that the API for the rest of midPoint is unchanged, the 
disadvantage is that this approach is not much straightforward. The 
internal objects (cases and case work items) can be accessed by model 
and repository calls, but their direct modification is not suggested.

I hope to polish it further, although it would require more significant 
changes to the rest of midPoint.

Best regards,

Pavol Mederly
Software developer
evolveum.com

On 17.01.2019 10:47, Arnošt Starosta - AMI Praha a.s. wrote:
> Hi Pavol,
>
> no activity - will the workflow related objects become first class 
> citizens? Modifiable via model interface etc?
>
> arnost
>
> st 16. 1. 2019 v 17:31 odesílatel Pavol Mederly <mederly at evolveum.com 
> <mailto:mederly at evolveum.com>> napsal:
>
>     Devin,
>
>     fortunately, starting with 4.0 there will be no Activiti :)
>
>     Some consistency checks will still be needed, though. And,
>     currently, the About page is a place for such checks (for org
>     closure, repository objects, and for workflows). Maybe we should
>     really consider moving these to a separate menu section.
>
>     Best regards,
>
>     Pavol Mederly
>     Software developer
>     evolveum.com  <http://evolveum.com>
>
>     On 16.01.2019 17:12, Devin Rosenbauer wrote:
>>     What an odd place for that. Can that be moved in an upcoming
>>     release to somewhere more sensible?
>>
>>     On Wed, Jan 16, 2019 at 10:33 AM Nicolas Rossi
>>     <nrossi at identicum.com <mailto:nrossi at identicum.com>> wrote:
>>
>>         Hi Martin, you are right ! It worked !
>>
>>         Thanks a lot !
>>
>>
>>         Ing Nicolás Rossi
>>         Identicum S.A.
>>         Jorge Newbery 3226
>>         Oficina: +54 (11) 4552-3050
>>         Móvil: +54 (911) 6041-3920
>>         www.identicum.com <http://www.identicum.com>
>>
>>
>>         On Wed, Jan 16, 2019 at 12:11 PM Martin Lízner - AMI Praha
>>         a.s. <martin.lizner at ami.cz <mailto:martin.lizner at ami.cz>> wrote:
>>
>>             Hi, I believe its in About screen:
>>
>>             image.png
>>
>>             M.
>>
>>             *Martin Lízner*
>>             chief solution architect
>>
>>             gsm: [+420] 737 745 571
>>             e‑mail: martin.lizner at ami.cz <mailto:martin.lizner at ami.cz>
>>
>>             *AMI Praha a.s.*
>>             Pláničkova 11, 162 00 Praha 6
>>
>>             tel.: [+420] 274 783 239 | web: www.ami.cz
>>             <http://www.ami.cz>
>>
>>             AMI Praha a.s.
>>
>>             Textem tohoto e‑mailu podepisující neslibuje uzavřít
>>             ani neuzavírá za společnost AMI Praha a.s.
>>             jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena,
>>             musí mít výhradně písemnou formu.
>>
>>             Tento e‑mail je určen výhradně pro potřeby
>>             jeho adresáta/ů a může obsahovat důvěrné nebo osobní
>>             informace. Nejste‑li zamýšleným příjemcem, je zakázáno
>>             jakékoliv zveřejňování, zprostředkování
>>             nebo jiné použití těchto informací. Pokud jste obdrželi
>>             e‑mail neoprávněně, informujte o tom prosím
>>             odesílatele a vymažte neprodleně všechny kopie tohoto
>>             e‑mailu včetně všech jeho příloh. Nakládáním
>>             s neoprávněně získanými informacemi se vystavujete riziku
>>             právního postihu.
>>
>>
>>
>>             út 15. 1. 2019 v 22:19 odesílatel Nicolas Rossi
>>             <nrossi at identicum.com <mailto:nrossi at identicum.com>> napsal:
>>
>>                 Hi guys, we have a simple approval process with one
>>                 approver. It works fine but some days ago there were
>>                 removed some closed approval tasks by mistake and now
>>                 we are facing some errores when it tries to find
>>                 those tasks:
>>
>>                 2019-01-15 15:53:28,446 []
>>                 [https-jsse-nio-9291-exec-2] ERROR
>>                 (com.evolveum.midpoint.wf.impl.activiti.dao.WorkItemProvider):
>>                 Couldn't retrieve owning task for
>>                 PCV(null):[PP({.../common/common-3}externalId):[PPV(String:22956)],
>>                 PP({.../common/common-3}name):[PPV(String:Assigning
>>                 role "DSP XXXXX" to user "karina.xxxxx")],
>>                 PP({.../common/common-3}createTimestamp):[PPV(XMLGregorianCalendarImpl:2019-01-02T10:31:11.969-05:00)]].
>>                 com.evolveum.midpoint.util.exception.ObjectNotFoundException:
>>                 Object of type 'TaskType' with oid
>>                 '79bde260-20b7-4965-b8d5-03ff954d609a' was not found.
>>                 at
>>                 com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.throwObjectNotFoundException(ObjectRetriever.java:212)
>>                 at
>>                 com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.getObjectInternal(ObjectRetriever.java:186)
>>                 at
>>                 com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.getObjectAttempt(ObjectRetriever.java:94)
>>                 at
>>                 com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.lambda$getObject$0(SqlRepositoryServiceImpl.java:167)
>>                 at
>>                 com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.executeAttempts(SqlRepositoryServiceImpl.java:187)
>>                 at
>>                 com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.getObject(SqlRepositoryServiceImpl.java:166)
>>                 at
>>                 com.evolveum.midpoint.task.quartzimpl.TaskManagerQuartzImpl.getTask(TaskManagerQuartzImpl.java:591)
>>                 at
>>                 com.evolveum.midpoint.task.quartzimpl.TaskManagerQuartzImpl.getTask(TaskManagerQuartzImpl.java:578)
>>                 at
>>                 com.evolveum.midpoint.wf.impl.activiti.dao.WorkItemProvider.taskExtractToWorkItem(WorkItemProvider.java:423)
>>                 at
>>                 com.evolveum.midpoint.wf.impl.activiti.dao.WorkItemProvider.taskToWorkItem(WorkItemProvider.java:390)
>>                 at
>>                 com.evolveum.midpoint.wf.impl.activiti.dao.WorkItemProvider.tasksToWorkItems(WorkItemProvider.java:226)
>>                 at
>>                 com.evolveum.midpoint.wf.impl.activiti.dao.WorkItemProvider.searchWorkItems(WorkItemProvider.java:115)
>>                 at
>>                 com.evolveum.midpoint.wf.impl.WorkflowManagerImpl.searchContainers(WorkflowManagerImpl.java:129)
>>                 at
>>                 com.evolveum.midpoint.model.impl.controller.ModelController.searchContainers(ModelController.java:915)
>>                 at
>>                 com.evolveum.midpoint.web.page.admin.workflow.dto.WorkItemDtoProvider.internalIterator(WorkItemDtoProvider.java:140)
>>                 at
>>                 com.evolveum.midpoint.web.component.data.BaseSortableDataProvider.iterator(BaseSortableDataProvider.java:225)
>>                 at
>>                 com.evolveum.midpoint.web.page.admin.workflow.dto.WorkItemDtoProvider.iterator(WorkItemDtoProvider.java:97)
>>                 at
>>                 org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.<init>(DataViewBase.java:107)
>>                 at
>>                 org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:74)
>>                 at
>>                 org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
>>                 at
>>                 org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
>>                 at
>>                 org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:124)
>>                 at
>>                 org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at
>>                 org.apache.wicket.markup.html.form.Form.onBeforeRender(Form.java:1810)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1825)
>>                 at
>>                 org.apache.wicket.Component.onBeforeRender(Component.java:3916)
>>                 at org.apache.wicket.Page.onBeforeRender(Page.java:801)
>>                 at
>>                 com.evolveum.midpoint.gui.api.page.PageBase.onBeforeRender(PageBase.java:655)
>>                 at
>>                 org.apache.wicket.Component.internalBeforeRender(Component.java:950)
>>                 at
>>                 org.apache.wicket.Component.beforeRender(Component.java:1018)
>>                 at
>>                 org.apache.wicket.Component.internalPrepareForRender(Component.java:2236)
>>                 at
>>                 org.apache.wicket.Page.internalPrepareForRender(Page.java:242)
>>                 at
>>                 org.apache.wicket.Component.render(Component.java:2325)
>>                 at org.apache.wicket.Page.renderPage(Page.java:1018)
>>                 at
>>                 org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
>>                 at
>>                 org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:236)
>>                 at
>>                 org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
>>                 at
>>                 org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>>                 at
>>                 org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>>                 at
>>                 org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
>>                 at
>>                 org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>>                 at
>>                 org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>>                 at
>>                 org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>>                 at
>>                 org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>>                 at
>>                 org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>>                 at
>>                 org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>>                 at
>>                 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>>                 at
>>                 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>>                 at
>>                 com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:86)
>>                 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:317)
>>                 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:331)
>>                 at
>>                 org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:155)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100)
>>                 at
>>                 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 at
>>                 org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>>                 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:331)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
>>                 at
>>                 org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
>>                 at
>>                 org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
>>                 at
>>                 org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
>>                 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:108)
>>                 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:81)
>>                 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:199)
>>                 at
>>                 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>>                 at
>>                 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
>>                 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
>>                 com.evolveum.midpoint.web.boot.TomcatRootValve.invoke(TomcatRootValve.java:64)
>>                 at
>>                 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
>>                 at
>>                 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
>>                 at
>>                 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>>                 at
>>                 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
>>                 at
>>                 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
>>                 at
>>                 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>                 at
>>                 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>                 at
>>                 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>                 at
>>                 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>                 at java.lang.Thread.run(Thread.java:748)
>>
>>                 Is there any way to cleanup the Activity tasks ?
>>
>>                 Thanks in advance,
>>
>>
>>                 Ing Nicolás Rossi
>>                 Identicum S.A.
>>                 Jorge Newbery 3226
>>                 Oficina: +54 (11) 4552-3050
>>                 Móvil: +54 (911) 6041-3920
>>                 www.identicum.com <http://www.identicum.com>
>>                 _______________________________________________
>>                 midPoint mailing list
>>                 midPoint at lists.evolveum.com
>>                 <mailto:midPoint at lists.evolveum.com>
>>                 http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>             _______________________________________________
>>             midPoint mailing list
>>             midPoint at lists.evolveum.com
>>             <mailto:midPoint at lists.evolveum.com>
>>             http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>         _______________________________________________
>>         midPoint mailing list
>>         midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
>>         http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>>     -- 
>>     Devin Rosenbauer
>>     Principal Consultant
>>     Identity Works LLC
>>     +1 585 210 3201
>>
>>     _______________________________________________
>>     midPoint mailing list
>>     midPoint at lists.evolveum.com  <mailto:midPoint at lists.evolveum.com>
>>     http://lists.evolveum.com/mailman/listinfo/midpoint
>     _______________________________________________
>     midPoint mailing list
>     midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
>     http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
> -- 
>
> *Arnošt Starosta*
> solution architect
>
> gsm: [+420] 603 794 932
> e‑mail: arnost.starosta at ami.cz <mailto:arnost.starosta at ami.cz>
>
> *AMI Praha a.s.*
> Pláničkova 11, 162 00 Praha 6
>
> tel.: [+420] 274 783 239 | web: www.ami.cz <https://www.ami.cz>
>
> AMI Praha a.s.
>
> Textem tohoto e‑mailu podepisující neslibuje uzavřít ani neuzavírá 
> za společnost AMI Praha a.s.
> jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít 
> výhradně písemnou formu.
>
> Tento e‑mail je určen výhradně pro potřeby jeho adresáta/ů a může 
> obsahovat důvěrné nebo osobní
> informace. Nejste‑li zamýšleným příjemcem, je zakázáno jakékoliv 
> zveřejňování, zprostředkování
> nebo jiné použití těchto informací. Pokud jste obdrželi e‑mail 
> neoprávněně, informujte o tom prosím
> odesílatele a vymažte neprodleně všechny kopie tohoto e‑mailu včetně 
> všech jeho příloh. Nakládáním
> s neoprávněně získanými informacemi se vystavujete riziku právního 
> postihu.
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190117/a6f9b4a5/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 22761 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190117/a6f9b4a5/attachment.png>


More information about the midPoint mailing list