<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi,<br>
<br>
That's right. We usually say that approx. 95% of the functionality
is available using REST and SOAP. The workflow part was a slightly
unfortunate omission. We'll fix that. Access certification is a
new functionality so it is not yet in the remote interfaces. But
it will get there.<br>
<br>
When it comes to SOAP vs REST one has to consider that RESTful
interfaces are inherently limited by the REST architectural style.
SOAP and REST approaches are not 100% equivalent. RESTful
invocations are not RPCs. Therefore there is no simple and
convenient way how to directly invoke functionality that is
inherently RPC-based. The comprehensive executeChanges operation
is in this category. It works on several objects at once which is
not possible to do in REST. Also, directly invoking bulk actions
is inherently RPC-based operation. There are some (quite nasty)
tricks how to do that in REST. But that would somehow defeat the
idea of having a (clean) RESTful interface in the first place. If
there is a popular demand to ruin the REST interface with nasty
tricks we will do it. But I prefer a clean approach unless we are
forced to do otherwise.<br>
<br>
<pre class="moz-signature" cols="72">--
Radovan Semancik
Software Architect
evolveum.com
</pre>
<br>
<br>
On 02/24/2016 09:17 AM, Pavol Mederly wrote:<br>
</div>
<blockquote cite="mid:56CD6706.2010606@evolveum.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
Petr,<br>
<br>
I think that majority of functionality is accessible. Just looking
at ModelRestService I see that what is missing is:<br>
- workflow functionality (WorkflowService)<br>
- bulk actions functionality (ScriptingService) - see *1<br>
- certification functionality (AccessCertificationService) - see
*2<br>
- complex "executeChanges" method - see *3<br>
<br>
Maybe others would correct me, but this is all I know of at this
moment.<br>
<br>
As you can see, these are quite marginal pieces... the majority of
midPoint functions can be invoked remotely via SOAP or REST.<br>
<br>
Notes:<br>
*1) This is fully accessible via SOAP, and, moreover, can be
invoked also via REST in asynchronous way (by creating a task)<br>
*2) This is quite new feature (included as a prototype in 3.3); I
estimate we can put it into SOAP/REST API in 3.5 (sooner only if
really needed)<br>
*3) This is part of SOAP API. On REST API it can be simulated by
invoking a set of modifyObject calls.<br>
<br>
Back to workflows: they exist for quite a long time but I had a
feeling they are not used much. (Maybe because of the awkward
current GUI, that is being reworked for 3.4.) So I had very little
motivation in providing remote API for them. But we see increasing
interest in workflows among users of midPoint, so we pay
appropriate attention to workflow-related functionality now.<br>
<br>
And final note: all of these methods can be implemented in -
literally - few days.<br>
<br>
Best regards,<br>
Pavol<br>
<br>
<br>
<div class="moz-cite-prefix">On 24.02.2016 8:05, Petr Gašparík
wrote:<br>
</div>
<blockquote
cite="mid:CAFmDq47ZwoYfR1xQCh7o12hu6meqKBmx3e9Zwqtpsfx0y2N-JQ@mail.gmail.com"
type="cite">
<p dir="ltr">Hi Pavol, <br>
I have interesting question on my mind :<br>
What other functionality, accessible from GUI, is not
accessible via REST? </p>
<p dir="ltr">So far I used to tell to potential customers that
every functionality from GUI is also accessible from the REST
interface. </p>
<p dir="ltr">Best regards, Petr </p>
<br>
<div class="gmail_quote">
<div dir="ltr">Dne st 24. 2. 2016 0:52 uživatel Pavol Mederly
<<a moz-do-not-send="true"
href="mailto:pavol.mederly@gmail.com">pavol.mederly@gmail.com</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello Elijah,<br>
<br>
work item approval or rejection is currently possible only
via local Java API. (Implemented as WorkflowService
interface.)<br>
<br>
We plan to implement remote access to this functionality
in forthcoming version 3.4, along with some changes in
internal workflow data structures. It is feasible for you
to wait for this release, or you'd need it sooner?<br>
<br>
It could be implemented immediately by adding respective
wrapper methods to ModelRestService and ModelCrudService,
copying e.g. task-related methods (suspendTasks, etc). But
as I said, the respective data structures will slightly
change in 3.4, so the clients will have to be - very
probably - adapted as well.<br>
<br>
Best regards,<br>
Pavol</div>
<div bgcolor="#FFFFFF" text="#000000"><br>
<br>
<div>On 24.02.2016 0:43, Elijah Jones wrote:<br>
</div>
<blockquote type="cite">
<div>
<p class="MsoNormal">Hi,</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I am looking into managing
workflows via the REST API and have a couple of
questions:</p>
<p class="MsoNormal"> </p>
<p><span>1.<span style="font:7.0pt "Times New
Roman""> </span></span>Is it
currently possible to approve or reject workflow
items via the REST API?</p>
<p><span>2.<span style="font:7.0pt "Times New
Roman""> </span></span>If so, is
there a resource which would direct me on how to use
this?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I have done a bit of research but
have not been able to find anything. It seems that
the objects supported by the REST interface don’t
include workflows.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I did find however this quote
from the page below: “<span
style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#333333;background:white">After
some tweaking, the self-service application could
be notified as well; or it could query midPoint to
see the status of the request - this is not
implemented yet, but it's not that hard to
implement.”</span></p>
<p class="MsoNormal"><a moz-do-not-send="true"
href="https://wiki.evolveum.com/display/midPoint/How+to+use+workflows+in+a+self-service+scenario"
target="_blank">https://wiki.evolveum.com/display/midPoint/How+to+use+workflows+in+a+self-service+scenario</a></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">This seems to imply that you can
access current workflows via some kind of API, but I
can’t find where you would tweak to implement this</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Any help would be appreciated</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thanks,</p>
<p class="MsoNormal">Elijah</p>
<p class="MsoNormal"> </p>
</div>
<br>
<br>
<i>This email, and any attachment, is confidential and
also privileged. If you have received it in error,
please notify me immediately and delete it from your
system along with any attachments. You should not copy
or use it for any purpose, nor disclose its contents
to any other person. </i> <br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
midPoint mailing list
<a moz-do-not-send="true" href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a moz-do-not-send="true" href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
midPoint mailing list<br>
<a moz-do-not-send="true"
href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a moz-do-not-send="true"
href="http://lists.evolveum.com/mailman/listinfo/midpoint"
rel="noreferrer" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</blockquote>
</div>
<div dir="ltr">-- <br>
</div>
<div dir="ltr">--
<div>Petr G.</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
midPoint mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
midPoint mailing list
<a class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a class="moz-txt-link-freetext" href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
<br>
<br>
</body>
</html>