IDM 6 defered task scanner problem

I have two taskdefinitions. "Taskone" and "Tasktwo". I set up two scheduler through defer task scanner to run these two tasks on different time a day. And there are two users, one is registed with Taskone, the other with Tasktwo with same date but different task name. Here is one of user's perperty in user object
<Properties>
<Property name='tasks'>
<List>
<Object name='Taskone'>
<Attribute name='date' value='05/18/2007'/>
<Attribute name='task' value='Taskone'/>
</Object>
</Property>
</Properties>
The problem is that when the first schuduler ran, it should just run all the user who has "Taskone" but it also ran the Tasktwo that were scheduler to run today. Is it IDM bug?

The deferred task scanner is time dependent rather than Taskname dependent. All it cares is that if your task date attribute matches the same system date, then it will execute the task.
The only variation you can make is to the Object Type under the Task Parameters which you can set to 'resource' rather than 'user', so that the scanner not go through your user objects.
I don't think it's a bug because the behaviour has been like this since v5.5 and v7.0

Similar Messages

  • Deferred Task Scanner Running - but not...

    All -
    Please advise - have deferred tasks sitting on users in IdM 7.1.1. I can manually "Run" the deferred task scanner, and the tasks are found and then subsequently run. When I schedule this scanner, via Manage Schedule, the scanner runs and increments (times run); but on these next runs, I do not see results on my users for subsequent deferred tasks. Basically it seems as though they are not being picked up passed the first run. Any thoughts on what needs to change so tasks are picked up automatically via the scheduled scanner on subsequent runs? For ref an example def task is provided below; as well as the settings for my schedule. The environment is not clustered...
    Example Task:
    <Properties>
    <Property name='tasks'>
    <List>
    <Object name='Client Update IDM Account'>
    <Attribute name='accountId' value='jDoe'/>
    <Attribute name='date'>
    <Date>2008-07-21T05:00:00.000Z</Date>
    </Attribute>
    <Attribute name='employeeno' value='001223456'/>
    <Attribute name='firstname' value='John'/>
    <Attribute name='futureEvent' value='true'/>
    <Attribute name='instanceName' value='Client Deferred Task: jDoe:001223456'/>
    <Attribute name='lastname' value='DOE'/>
    <Attribute name='task' value='Client Update IDM Account'/>
    <Attribute name='taskName' value='Client Deferred Task: jDoe:001223456'/>
    <Attribute name='taskname' value='Client Update IDM Account'/>
    </Object>
    </List>
    </Property>
    Schedule Settings:
    Repeat Every: 2 hours
    Result Options: Wait
    Allow Mult Occur: Not checked
    Servers: None Selected <-- Assuming don't need this as is not clustered
    Object Type: user
    Thanks in advance for any assistance.
    Edited by: Konabean1 on Jul 21, 2008 9:07 AM
    Edited by: Konabean1 on Jul 21, 2008 9:18 AM
    Edited by: Konabean1 on Jul 22, 2008 11:48 AM
    Identified solution - set the result options to rename or delete.
    Closed....

    Hi Konabean,
    was the deferred task executed wrt the specified Date (mainly Time)? If yes, can you please post the deferred task code?
    Thanks in Advance.

  • Deferred Task ----  what am I doing wrong?

    I am trying to configure a Deferred Task, which will send an Email Notification on a particular date.
    I included this Task in my Update User Workflow (I included it as an <Action> in the Activity "Notify").
    Here is the code :
    <Activity id='7' name='Notify'>
    <Action id='0' process='Provisioning Notification'>
    <Argument name='approvals' value='$(approvals)'/>
    <Argument name='notifications' value='$(notifications)'/>
    </Action>
    <Action id='1' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(accountId)'/>
    <Argument name='task' value='Send Email Task'/>
    <Argument name='date' value='$(user.global.parseddate)'/>
    <Argument name='accountId' value='$(accountId)'/>
    </Action>
    <Transition to='end'/>
    </Activity>
    The "Send Email Task" there is a Workflow which should send the Email Notification.
    Unfortunately, this didn't work.
    I don't know if the reason is because I made this an ACTION, and maybe it should be an ACTIVITY all by itself?
    Or, maybe the problem lies with the DATE ?

    Hi,
    I think the problem is in your Taskdefinition. Compare to mine as shown below and you will find a lot of differences.
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <TaskDefinition name='Sunset Delete User' primaryObjectClass='TaskDefinition' taskType='DeferredTaskScanner' executor='com.waveset.workflow.WorkflowExecutor' syncControlAllowed='true' execMode='async' execLimit='0' resultLimit='0' resultOption='rename' visibility='runschedule' progressInterval='0'>
      <Extension>
        <WFProcess name='Sunset Delete User' maxSteps='0'>
          <Variable name='id' input='true'>
            <Comments>Passed in by Deferred Task Scanner</Comments>
          </Variable>
          <Variable name='triggerName' input='true'>
            <Comments>Passed in by Deferred Task Scanner</Comments>
          </Variable>
          <Variable name='accountId' input='true'>
            <Comments>
              The accountId of the user to be updated.
            </Comments>
          </Variable>
          <Variable name='options'>
            <Comments>
              Contains provisioning options stored in a Map representation of a
              ProvisioningOptions object.  See the DeProvision subprocess
              for a description of the options.
            </Comments>
          </Variable>
          <Variable name='user' input='true'/>
          <Activity id='0' name='start'>
            <Transition to='Check ID'/>
          </Activity>
          <Activity id='1' name='Check ID'>
            <Transition to='end'>
              <isnull>
                <ref>id</ref>
              </isnull>
            </Transition>
            <Transition to='Delete User'/>
          </Activity>
          <Activity id='2' name='Delete User'>
            <Variable name='user'/>
            <Action id='0' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='getView'/>
              <Argument name='authorized' value='true'/>
              <Argument name='id' value='$(id)'/>
              <Argument name='type' value='User'/>
              <Return from='view' to='user'/>
            </Action>
            <Action id='1'>
              <expression>
                <block>
                  <set name='options.accountId'>
                    <ref>user.waveset.accountId</ref>
                  </set>
                  <set name='options.unlinkTargets'>
                    <list>
                      <s>app</s>
                    </list>
                  </set>
                  <set name='options.unassignTargets'>
                    <list>
                          <s>app</s>
                    </list>
                  </set>
                  <set name='options.targets'>
                    <remove>
                      <ref>user.accountInfo.assigned</ref>
                        <s>app</s>
                    </remove>
                  </set>
                  <set name='options.deleteUser'>
                    <s>true</s>
                  </set>
                  <set name='options.fetchAccounts'>
                    <s>false</s>
                  </set>
                  <set name='options.forceDelete'>
                    <s>false</s>
                  </set>
                  <set name='options.noCreate'>
                    <s>true</s>
                  </set>
                  <set name='options.noDelete'>
                    <s>false</s>
                  </set>
                  <set name='options.noLink'>
                    <s>false</s>
                  </set>
                  <set name='options.noUpdate'>
                    <s>true</s>
                  </set>
                  <set name='options.preserveChanges'>
                    <s>false</s>
                  </set>
                  <set name='options.fetchAccounts'>
                    <s>false</s>
                  </set>
                  <set name='options.selectAll'>
                    <s>true</s>
                  </set>
                </block>
              </expression>
            </Action>
            <Action id='2' process='DeProvision'>
              <Argument name='accountId' value='$(id)'/>
              <Argument name='options' value='$(options)'/>
            </Action>
            <Transition to='end'/>
          </Activity>
          <Activity id='3' name='end'>
          </Activity>
        </WFProcess>
      </Extension>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
      </MemberObjectGroups>
    </TaskDefinition>

  • Deferred task just for one organization

    Hi,
    Is there a way to configure deferred task to run on just one organization? We need to have a deferred task for contractors to notify the manager about the upcoming expiry date etc., Since the number of contractors are usually a small number, it would be much more efficient if we can let the scanner scan users objects just in contractor organization.
    Does anybody know what exactly the deferred task scanner does to find out that there is a task that needs to be executed. Does it go fetch the entire user object and then parse the user object xml for the list of tasks? Or does it do something more efficient?
    Just want to know some internal works to just get an idea of how efficient or inefficient the whole process is.
    Thanks
    -Kamal

    I actually run through all records with this
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='removeDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_WFP_DailyTerminateUserProcess'/>
    </Action>
    <Action id='1' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='removeDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_TerminateProcess'/>
    </Action>
    <Action id='2' application='com.waveset.session.WorkflowServices'>
    <Condition>
    <notnull>
    <ref>termdate</ref>
    </notnull>
    </Condition>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_TerminateProcess'/>
    <Argument name='date' value='$(termdate)'/>
    </Action>
    I thought this will delete all old tasks (SD_WFP_DailyTerminateUserProcess) and re-assign the new one (SD_TerminateProcess). But today I still see 'SD_WFP_DailyTerminateUserProcess' running. Is there a way to find all DeferredTask assignments, to make sure that SD_WFP_DailyTerminateUserProcess tasks have been removed and SD_TerminateProcess assigned?
    I can query database if needed. I need to figure this out asap, this is a production server. thanks

  • Bulk load to change deferred task date

    We initially loaded users with password expirations and a defered task we created to send them emails starting 15 days before the password expires. We want to move these dates out. Can we do a bulk load and change the dates?
    Thanks,
    Larry

    the deferred task scanner is expensive too. so much so in fact, that we dont use it. in fact, we keep a users "nextTaskDate" as a queriable attribute, which lets us get a result set of users that have tasks on that date. no more iterating through the users to find them. with this, its much easier to do what i had reccommended earlier.
    --Dana                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Deferred task date change problem

    Hi,
    Every user in IDM has a deferred task as shown below. The requirement is to change the 'Date' value to set the time as 23:59:59.00Z.
    At the moment different users have different times set for them. All need to be same as mentioned above. Please assist me in this with a faster way as there are more than 5K users.
    <Object name='WF - Expire Contractor'>
    <Attribute name='authorized' value='true'/>
    <Attribute name='date'>
    <Date>2011-04-14T06:00:00.000Z</Date>
    </Attribute>
    <Attribute name='executeOnce' value='true'/>
    <Attribute name='owner' value='C670635'/>
    <Attribute name='subject' value='ProxyAdmin'/>
    <Attribute name='task' value='WF - Expire Contractor'/>
    </Object>
    Thanks,
    Santoshanand

    A code in xpress would be of great help.But much more lines of code :-(
    I am not sure if we have any already existing java or need to write
    a new one. So, I think writing a custom workflow will be a good way.I avoid writing XPRESS code unless it is absolutely necessary, so here I cannot help you :-( I think a
    stand-alone Java program of ~20 lines would complete your task.
    Also, task.setStartDate(<the date>); requires a date object. Problem
    here is to set the time to 23:59 for the same date.
    (new SimpleDateFormat("yyyy-MM-dd hh:mm")).parse("2011-04-14 23:59", new ParsePosition(0));

  • Deferred Task --- Variables not displaying in "Email Notification"

    Hi,
    there have been quite a lot of postings here regarding the issue of Deferred Tasks.
    I created a Deferred Task, and it is working perfectly. My deferred task is supposed to send an email notification on a pre-set date.
    The Email is being sent as it should.
    Just one problem : the "variables" / "attributes" of the particular User are not being displayed in the body of the email.
    The "Email Notification" is supposed to say something like : "*This is to notify you that the account for user Michael Jackson has been updated. Next update will occur on blah-blah-blah"*
    In other words, the body of the email should display the attributes : FIRSTNAME, LASTNAME, NEXT-DATE, etc, etc
    I input these attributes in the body of the email as follows : $firstname, $lastname, etc, etc, etc
    Furthermore, I made sure to DECLARE these variables at the beginning of the Email Template, as follows :
    *<EmailTemplate name='Send Notification' displayName='Send Notification' creator='Configurator' createDate='1258045088776' lastModifier='Configurator' lastModDate='1259051622181' lastMod='1' repoMod='1259051624770' smtpHost='$(smtpHost)' fromAddress='[email protected]' toAddress='[email protected]' authEnabled='$(authEnabled)' userId='$(userId)' password='$(password)' ssl='$(ssl)' port='$(port)'>*
    *<Variable name='firstname'>*
    *<select>*
    *<ref>user.global.firstname</ref>*
    *</select>*
    *</Variable>*
    *<Variable name='lastname'>*
    *<select>*
    *<ref>user.global.lastname</ref>*
    *</select>*
    *</Variable>*
    Apparently, there is something I am not doing correctly. But, I can't figure out what it is.
    Any tips would be welcome.
    Thanks.

    Email templates are slightly different in how they reference variables. Here's what I do in one of my deferred tasks. Notice the arguments in the action and the way the email template references those arguments, specifically the eventDate, accountId, method and eventtime arguments. The other variables are either filled in by IDM's configuration or they resolve to blank or empty strings.
    Action to call the notify process from my deferred task:
    <Action id='1' process='Notify'>
        <Argument name='template' value='My Email Template'/>
        <Argument name='from' value='%%FROM_ADDRESS%%'/>
        <Argument name='to' value='%%TO_ADDRESS%%'/>
        <Argument name='eventDate'>
            <ref>eventdate</ref>
        </Argument>
        <Argument name='accountId'>
            <ref>accountId</ref>
        </Argument>
        <Argument name='method'>
            <s>create</s>
        </Argument>
        <Argument name='eventtime'>
            <ref>eventtime</ref>
        </Argument>
    </Action>The email template:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE EmailTemplate PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <EmailTemplate
    id="#ID#EmailTemplate:MyEmailTemplate"
    name='My Email Template' 
    smtpHost='$(smtpHost)' 
    htmlEnabled='false'
    authEnabled='$(authEnabled)'
    userId='$(userId)'
    password='$(password)'
    ssl='$(ssl)'
    ignoreCert='$(ignoreCert)'>
      <subject>Processing $(method) $(accountId)</subject>
      <body>
    Processing $(method) account $(accountId) on $(eventDate) $(eventtime) is complete.
      </body>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#All' name='All'/>
      </MemberObjectGroups>
    </EmailTemplate>

  • Deferred Tasks - Passing Variables into Workflow

    Hi everyone
    I am experiencing difficulties with deferred tasks in IDM 8.1. I have managed to create a deferred task on a user, with the task name being ‘Generate Email’. I also passed in an attribute ‘id’, and these can be seen in the user view under waveset.properties.tasks.
      <Activity id='1' name='Add Deferred Task'>
                    <Action id='1' application='com.waveset.session.WorkflowServices'>
                        <Argument name='op' value='addDeferredTask'/>
                        <Argument name='type' value='User'/>
                        <Argument name='name'>
                            <ref>accountId</ref>
                        </Argument>
                        <Argument name='authorized' value='true'/>
                        <Argument name='subject'>
                            <s>Configurator</s>
                        </Argument>
                        <Argument name='task'>
                            <ref>taskToAdd</ref>
                        </Argument>
                        <Argument name='date'>
                            <new class='java.util.Date'/>
                        </Argument>
                        <Argument name='owner'>
                            <ref>WF_CASE_OWNER</ref>
                        </Argument>
                        <Argument name='taskDefinition'>
                            <new class='com.waveset.object.GenericObject'>
                                <map>
                                    <s>id</s>
                                    <ref>accountId</ref>
                                </map>
                            </new>
                        </Argument>
                    </Action>
                </Activity>I have set up a scheduler that correctly scans all the user objects for this workflow name, and the ‘Generate Email’ workflow is periodically run.
    The problem is when it gets to the Generate Email workflow, all the variables that were set when the deferred task was created are gone. Both <ref>id</ref> and <Variable name=’id’ input=’true’/> return null.
    Setting the following in the TaskSchedule object did not help, as the string value $(id) is passed into the workflow instead of the id itself. I cannot debug the TaskSchedule as the Netbeans IDE does not allow me to put in breakpoints on this file.
    <Variables>
        <Object>
          <Attribute name='id' value='$(id)'/>
        </Object>
      </Variables>My question is, how do I pass variables into a workflow via a deferred task?

    Hi,
    Here is an example that I found that may assist.
    <Activity name='setDefTask'>
         <Action application='com.waveset.session.WorkflowServices'>
           <Argument name='op' value='addDeferredTask'/>
           <Argument name='name' value='$(user)'/>
           <Argument name='task' value='$(taskType)'/>
           <Argument name='date' value='$(date)'/>
           <Argument name='description' value='$(taskDescription)'/>
           <Argument name='taskDefinition'>
              <Object>
                  <Attribute name='Arg1' value='value1'/>
                  <Attribute name='Arg2' value='value2'/>
                  <Attribute name='Arg3' value='value3'/>
              </Object>
           </Argument>
         </Action>
         <Transition to='end'/>
    </Activity>Hope it helps

  • How to check if a user has a deferred task or not?

    Right now, I use getView and then check for the deferred task as below
    1)
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='getView'/>
    <Argument name='type' value='User'/>
    <Argument name='id' value='$(accountId)'/>
    </Action>
    2)
    <Transition to='Add Deferred Task'>
    <isnull>
    <ref>view.accounts[Lighthouse].properties.tasks[Task Name]</ref>
    </isnull>
    </Transition>
    Is there a quicker way to combine both steps 1 and 2 into one step?

    Here's my code
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='queryObjectNames'/>
    <Argument name='type' value='User'/>
    <Argument name='single' value='true'/>
    <Argument name='attributes'>
    <map>
    <s>accountId</s>
    <ref>accountId</ref>
    <s>deferredTaskDate</s>
    <s>Task 123</s>
    </map>
    </Argument>
    </Action>
    So I'll pass in 2 parameters, the accountId and a task name. I want to see if this user has that particular task name or not.
    In the WF trace, I see this
    Argument attributes = {accountId=ABC, deferredTaskDate=Task 123}
    queryResult is null because it could not find this user even though user ABC exists in IDM and has a deferred task named Task 123.
    Is my code wrong and how do I use AttributeCondition in the queryObjectNames above?

  • Dates appear different in log file vs. debug page for Deferred Task

    I added a deferred task and in the log file, the date appeared correctly as
    Mon Dec 15 16:34:11 PST 2008
    But when I viewed the user in the debug page, the date appeared as
    <Date>2008-12-16T00:34:11.430Z</Date>
    I called an external java class that return a Date object
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='date'>
    <invoke name='addWeekDays' class='MyDateUtil'/>
    </Argument>
    </Action>
    Do you have any ideas?

    IDM commonly stores dates in a Java or JDBC date format (which is what your debug date is) but often formats the date differently for log files and for web pages. It's annoying if you're trying to line two different outputs up.

  • Create a Task, for use in "Deferred Task"

    I am in the processing of creating Deferred Tasks for my Update-User workflow.
    I know how to create these easily. My problem is : the actual "Task" itself, which will be called upon from the Workflow.
    I don't know the proper syntax for it.
    For instance, below is the code I am using for my "Send Email Task". This task is supposed to send an automatic email notification.
    *<?xml version='1.0' encoding='UTF-8'?>*
    *<!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'>*
    *<!-- MemberObjectGroups="#ID#Top" authType="UserAdminTask" createDate="Thu Jul 16 15:22:08 EEST 2009" extensionClass="WFProcess" name="Send Email Task" visibility="invisible"-->*
    *<TaskDefinition name='Send Email Task' creator='%STARTUP%Configurator' createDate='1247746928617' lastModifier='%STARTUP%Configurator' lastModDate='1247746928617' repoMod='1247746928170' primaryObjectClass='TaskDefinition' wstype='ProvisioningTask' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='3600' resultOption='delete' visibility='invisible' progressInterval='0'>*
    *<Extension>*
    *<WFProcess maxSteps='0' audit='true'>*
    *<Variable name='user' input='true'>*
    *<Comments>&#xA; A user view. This is required.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='backgroundProvisioning' input='true'>*
    *</Variable>*
    *<Variable name='provisioningRetryButton' value='true' input='true'>*
    *<Comments>&#xA; Set to "true" to enable the inclusion of a Retry link&#xA; in the task result if the provisioning fails.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='approvals'>*
    *<Comments>&#xA; Returned from the Lighthouse Approval process. Contains the&#xA; approval structure. The approvals.approved variable set if&#xA; all approvals were successful. This is passed into the Notify&#xA; process later for post-provisioning notifications.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='userCreated'>*
    *<Comments>&#xA; Set to "true" from the Provision workflow when the&#xA; Lighthouse account has been created.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='sunset'>*
    *<Comments>&#xA; Object containing information for registering a sunset date/time.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='error'>*
    *<Comments>Set in the event of unusual processing errors.</Comments>*
    *</Variable>*
    *<Variable name='options'>*
    *<Comments>Options to pass to the provisioning task regarding resource&#xA; provisioning.&#xA; </Comments>*
    *</Variable>*
    *<Transition to='end'>*
    *<Comments>&#xA; Terminate if we encounter unusual errors (not provisioning errors).&#xA; </Comments>*
    *<ref>error</ref>*
    *</Transition>*
    *<Activity id='0' name='start'>*
    *<Transition to='Notify'/>*
    *</Activity>*
    *<Activity id='1' name='Notify'>*
    *<Action id='0' name='Email' application='com.waveset.provision.WorkflowServices'>*
    *<Argument name='op' value='notify'/>*
    *<Argument name='template' value='Send Email Now'/>*
    *</Action>*
    *<Transition to='End'/>*
    *</Activity>*
    *<Activity id='2' name='end'>*
    *<WorkflowEditor x='428' y='275'/>*
    *</Activity>*
    *</WFProcess>*
    *</Extension>*
    *<MemberObjectGroups>*
    *<ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>*
    *</MemberObjectGroups>*
    *</TaskDefinition>*
    I am not sure if my syntax is correct?
    Any tips?

    Thanks again, sbalu.
    I may have found the error (although, I don't understand what it means).
    Something about *"Missing View"*
    Catalog#format() Entry locale=null, key=SES_WORKITEM_MISSING_VIEW, defVal=SES_WORKITEM_MISSING_VIEW
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info parameters=null
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info tmp=null
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info pattern=Missing view id.
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info msg=Missing view id.
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Exit returned= Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#addTaskResult() Entry name=Send Email Task, ti=TaskInstance:Send Email Task tdalton
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Entry locale=null, key=SES_WORKITEM_MISSING_VIEW, defVal=SES_WORKITEM_MISSING_VIEW
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info parameters=null
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info tmp=null
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info pattern=Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info msg=Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Exit returned= Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#addTaskResult() Exit void
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data executeOnce= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#launchTask() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#endObject() Entry no args
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#endObject() Exit void
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processObject() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data idOrName== #ID#6BF7-:B3702F65421:491FD113-:D0E4376B71977D1D
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data nameOrId== ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data object lastMod= 24
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Entry obj=User:ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Data tasks= [ { accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 } ]
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Data task list object= { accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Entry obj=User:ukaila, trig={ accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data start= 11/25/09 11:15 AM
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data _now= 11/26/09 8:28 AM
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task definition= CSC Send Email Task
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Entry obj=User:ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Entry type=User, nameOrId=ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task template= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task definition= TaskDefinition:Send Email Task
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task template= TaskTemplate:null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Entry obj=User:ukaila, trig={ accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }, tt=TaskTemplate:null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data taskName= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data generated taskName= Send Email Task ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) TaskTemplate#setTaskName(String) Entry no args
    20091126 08:28:23.123 TaskThread(0x0052fecf) TaskTemplate#setTaskName(String) Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data orgName= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data owner= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data subjectLength= 29,650
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Entry element=[Map: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Entry element=[Map: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info elname=Map
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info regName=Map
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Exit returned= com.waveset.util.XmlObjectFactory$Registration@1edf84f
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Info handler=com.waveset.util.XmlHashMap@493dca
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Entry element=[Locale: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Entry element=[Locale: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info elname=Locale
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info regName=Locale
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Exit returned= com.waveset.util.XmlObjectFactory$Registration@77a748
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Info handler=com.waveset.util.XmlLocale@1876e5d
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Exit returned= en_US

  • ActiveSync:Deferred Task role provision

    Hello,
    During active sync I am trying to provision an IDM role in some future date (ex. 30 days)
    on the same date I will need to remove the current IDM role.
    What is the best way to accomplish this?
    1) Should be done using a Deferred Task?
    Where I use a work-flow that removes the current role and then adds the new role?
    If so is the done by executing a workflow using viewOptions.Process?
    <Field name='viewOptions.Process'>
      <Disable>
        <neq>
          <ref>activeSync.DeferredFlag</ref>
          <s>true</s>
        </neq>
      </Disable>
      <Expansion>
        <s>MyDeferredTaskWorkflow</s>
      </Expansion>
    </Field>2) Should this be done by manipulating the Role Date ?
    http://docs.sun.com/app/docs/doc/820-5822/byahf?l=en&a=view&q=role+date
    This is for IDM 8.1
    All input is welcome and appreciated.
    Thank you

    This is an example of a field at the end of your activeSync form to set the workflow that invokes a deferred task (ours is quite complicated)
    <Field name='viewOptions.Process'>
    <Comments> Define custom workflow to run for each feed operation. Use null if the standard workflow for that operation should be used.</Comments>
    <Expansion>
    <s>Your custom workflow</s>
    </Expansion>
    </Field>

  • Approval Action within a Deferred Task doesn't work

    Following is what I'm attempting to do :-
    1) Set a deferred task on the user to remove certain portion of his
    access on a particular date/time.
    2) The deferred task when executed has an activity for "approval" from
    a person after which the actual access removal happens.
    What happens is that workflow execution enters the approval activity and exits without creating the approval workitem. To eliminate any
    problems with the custom code for approval activity I substituted the custom deferred task with out-of-box approval activity in a simple
    TaskDefinition containing only the approval with approver's accountId hard-coded etc but even then the approval activity is skipped without
    creating the workitem that is to say that it proceeds to the next action without creating a workitem. If I run the same task directly via processLaunch.jsp it runs fine and creates workitem as expected. This suggests that approvals do not work inside deferred tasks. Is that true ? Has anyone created a working deferred task with an approval in it ?
    Please Help !

    Raoul,
    Thank you, I've had to do that with email specifically.  I guess I'm wondering if there's a distinction between external emailing, and tasks.  Based on the MS documentation, and the ability to configure tasks for external users in the web app configuration,
    I was hoping that tasks are different, but perhaps not.  I wonder if someone from MS could chime in on this?
    Thank you,
    Chad

  • How to Get a list of pending deferred tasks

    Hi all
    there is a bunch of unfinished threads here asking how to get a list/report of deferred tasks that are associated with user objects and scheduled for future execution.
    I need this list and I can't find out how to get it anyway.
    I don't care if it's a SJSIM report, a database query or a SJSIM log mining exercise.
    Does anyone know how to do this?
    My org has just gone live with SJSIM and I want to report on the number of legacy resource accounts that have had deferred tasks created against them for future disabling/deletion (our consultants added this workflow based on rules with an email warning, a disabling deferred task set for 2 weeks from now and a deleting deferred task for 6 months after that). Hopefully I can say "look, 5,000 legacy accounts are going to be cleaned up!
    Thanks in advance

    You can do it with a custom workflow, something like this:
         <Activity>
            <Action id='0' class='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='queryObjectNames'/>
              <Argument name='type' value='User'/>
              <Argument name='attributes'>
                 <list>
                        <new class='com.waveset.object.AttributeCondition'>
                           <s>deferredTaskDate</s>
                           <s>isPresent</s>
                        </new>
                  </list>
               </Argument>
            <Action id='1' process='Check User'>
              <Iterate for='currentUser' in='queryResult'/>
              <Argument name='accountId' value='$(currentUser)'/>
            </Action>
         </Activity>And:
           <WFProcess name='Check User'>
             <Variable name='accountId' input='true'/>
             <Activity id='0' name='start'>
               <Transition to='Check User'/>
             </Activity>
             <Activity id='1' name='Check User' hidden='true'>
               <Action id='1' name='Get User View' application='com.waveset.session.WorkflowServices'>
                 <Argument name='op' value='getView'/>
                 <Argument name='type' value='User'/>
                 <Argument name='id' value='$(accountId)'/>
                 <Argument name='authorized' value='true'/>
               </Action>
               <Transition to='Got One'>
                   <notnull>
                           <ref>view.accounts[Lighthouse].properties.tasks[Legacy Cleanup].date<ref>
                    </notnull>
                 </Transition>
                 <Transition to='end'/>
              </Activity>
              <Activity id='2 name='Got One'>
                 <ActionResult name='users' type='message' overwrite='false'>
                    <ref>accountId</ref>
                  </ActionResult>
              </Action>
              <Transition to='end'/>
            </Activity>
         </WFProcess>This just gives a rough idea of how it can be done. It might be best to bring your consultants back in to implement this.
    Edited by: PaulHilchey on Feb 25, 2009 10:35 AM

  • How to find out if a user has a deferred task

    In my WF, I will add a deferred task to a user. If that user already has a deferred task then i want to skip it. How do we find out if a user already has a deferred task? Thanks

    This should help you
    <notnull>
    <ref>view.accounts[Lighthouse].properties.tasks[taskname]</ref>
    </notnull>

Maybe you are looking for

  • How I can write a program with pythagoras?

    I have a problem. I�m a 14-kears old Java-beginner and I�ll write a program for school ( I will get a better mark when i write the program). This programm should multiply 3 letters 30-times. But how I can write the damn thing? I habe no idea, please

  • Please Help !  Exception in closing resultset,statement.

    In an application developed on , i am closing the resultsets and statements in finally block as finally {      if (resultset != null) resultset .close();      if (statement != null) statement.close(); the above block does not take care of exceptions

  • Problems with JTextPane line wrapping

    Hi to all. I'm using a code like this to make editable a figure that I paint with Java 2D. This JTextPane don't has a static size and for that, the text in it cannot be seen affected by the natural line wrap of the JTextPane component. The problem is

  • Slow query results for simple select statement on Exadata

    I have a table with 30+ million rows in it which I'm trying to develop a cube around. When the cube processes (sql analysis), it queries back 10k rows every 6 seconds or so. I ran the same query SQL Analysis runs to grab the data in toad and exported

  • When networking, iPhoto loses slideshow order and setting

    I am airport streaming iPhoto slideshows from my iMac to my Macbook Pro. The shared folders show up on my Macbook Pro, seemingly in a completely random order irrespective of the order in my iMac iPhoto where my library is kept. I have a couple of doz