Hello,

Thank you for your answer.

I have tried your suggestion, but unfortunately it
seems not working in my case.

By script action in firt node ("start"), user is
assigned to wfstarter group and owner is set to blank.

But, even if next node ("PassageRU") is assigned to
admin, wfstarter user can go on and end the workflow
without problem.

I would like to prevent wfstarter user from access to
"PassageRU" and all other following nodes

Thank you in advance,

Alain. 
--- Thomas Schmidt <[EMAIL PROTECTED]> a écrit :

> Alain SARHADIAN schrieb:
> > Hello,
> > 
> > By default the person who starts an instance has
> all
> > access rights (Read and Write) on each workflow
> steps
> > 
> > Is it possible to limit owner's rights (just Read
> or
> > no Access) on one or more steps ?
> 
> The owner role always has admin rights on that
> workflow instance, that
> means it
> can do all tasks even if they are assigned to
> another role.
> You can revoke the owner role from the person who
> started the workflow
> and give him another role with
> a short scriptaction, included in the first workflow
> node, example:
> 
> ...
> <role name="owner" restricted="true">
>       <roledatabit>dataset.owner</roledatabit>
> </role>
> <role name="wfstarter" restricted="true">
>       <description>Starter of the workflow</description>
>       <roledatabit>dataset.wfstarter</roledatabit>
> </role>
> ...           
>                       
> <scriptaction name="change_starter_role">
>       <description>change_starter_role</description>
>       <script>
>       
> $wf.getDatabit("dataset.wfstarter").setValue($uname)
>               $wf.getDatabit("dataset.owner").setValue("")
>       </script>
> </scriptaction>
> ...
> 
> Greetings
> 
> -- 
> Thomas Schmidt (tschmidt [at] suse.de)
> SUSE Linux Products GmbH :: Research & Development
> :: Internal Tools
> "Don't Panic", Douglas Adams (1952 - 11.05.2001)
> 
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? 
> Stop.
> Now Search log events and configuration files using
> AJAX and a browser.
> Download your FREE copy of Splunk now >>
> http://get.splunk.com/
> _______________________________________________
> swamp-devel mailing list
> swamp-devel@lists.sourceforge.net
>
https://lists.sourceforge.net/lists/listinfo/swamp-devel
> http://swamp.sf.net 
> 



      
_____________________________________________________________________________ 
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE workflow SYSTEM "../../../dtds/workflow.dtd">
<workflow name="RemonteesDev" version="1.0" leastSWAMPVersion="1.4">

	<metadata>
		<templatedescription>
		Workflow pour validation de packaging 
		</templatedescription>
		<description>
		Workflow pour validation de packaging
		</description>

		<roles>
                       <role name="owner" restricted="true">
                          <roledatabit>workflow.roles.owner</roledatabit>
                        </role>

                        <role name="admin" restricted="true">
                                <description>Admins</description>
                                <rolevalue>swamp_admin</rolevalue>
                        </role>

                        <role name="starter" restricted="false">
                        <description>Who can start the workflow</description>
                        </role>

			<role name="wfstarter" restricted="true">
			<description>Starter of the workflow</description>
			<roledatabit>workflow.roles.wfstarter</roledatabit>
			</role>

			<role name="user" restricted="false">
                        </role>

                </roles>

	</metadata>

	<!-- Workflow starts here -->

	<node type="start" name="startnode">

		<description>Fiche de demande de remontée</description>

		<scriptaction name="change_starter_role">
		<description>change_starter_role</description>
		<script>
      		$wf.getDatabit("workflow.roles.wfstarter").setValue($uname)
      		$wf.getDatabit("workflow.roles.owner").setValue("")
		</script>
		</scriptaction>

		<dataedit name="initdata" role="wfstarter" 
		eventtype="INITDATA_CHANGED">

		<description>Fiche demande de remontée</description>
		<longdesc>
		Veuillez completer les informations suivantes
		</longdesc>
<!--		<field path="workflow.paquet.developpeur" mandatory="yes" />  -->
		<field path="workflow.paquet.nom" mandatory="yes" />
		<field path="workflow.paquet.ssprojet" mandatory="yes" />
		<field path="workflow.paquet.repertoire" mandatory="yes" />
		</dataedit>
		<edge to="MailRemonteeRU" event="INITDATA_CHANGED" />
		<edge to="Milestone_DemandeRemonteeOK" event="INITDATA_CHANGED" />
	</node>

 	<node name="Milestone_DemandeRemonteeOK">
      		<description>Demande Remontee en RU</description>
      		<milestone name="DemandeRemonteeOK" weight="5">
      			<description>Demande Remontee</description>
      		</milestone>
   	</node>

	<node name="MailRemonteeRU">
		<description>Demande de Remontee en RU</description>
		<notification name="mail_remontee_ru" msgtemplate="notifications/mail_remontee_ru">		 		
		<recipient recipientemail="[EMAIL PROTECTED]"/>
		</notification>

		<edge to="PassageRU" event="none" />

	</node>

     	<node name="PassageRU">
		<description>Remontée du paquet en RU</description>
		<dataedit name="initdata_2" role="admin"
		eventtype="INITDATA_CHANGED" >
		<description>Remontée du paquet en RU</description>	
		<longdesc>
		Veuillez completer les informations suivantes 
		</longdesc>
		<field path="workflow.ru.erreur_status" mandatory="yes" />
		<field path="workflow.ru.file1" mandatory="no" />
		<field path="workflow.ru.warning_status" mandatory="yes" />
		<field path="workflow.ru.file2" mandatory="no" />
		</dataedit>
		<edge to="MailRemonteeRUOK" event="INITDATA_CHANGED" />
		<edge to="Milestone_PassageRUOK" event="INITDATA_CHANGED" />
	</node>
				
 	<node name="Milestone_PassageRUOK">
      		<description>Passage en RU</description>
      		<milestone name="PassageRUOK" weight="15">
      			<description>Passage en RU</description>
      		</milestone>
    	</node>

	<node name="MailRemonteeRUOK">
		<description>Confirmation Remontee en RU</description>
		<notification name="mail_remontee_ru_ok" msgtemplate="notifications/mail_remontee_ru_ok">		 		
		<recipient recipientemail="[EMAIL PROTECTED]"/>
		</notification>
		<edge to="DemandeRemonteeProd" event="none" />
	</node>

	<node name="DemandeRemonteeProd">
		<description>Demande Remontee en Prod</description>
		<manualtask name="Demande_Remontee_Prod" eventtype="UNITE">
			<description>Demande Remontée du paquet en Prod</description>
		</manualtask>
		<edge to="MailRemonteeProd" event="UNITE" />
		<edge to="DemandeRemonteeProdOK" event="UNITE" />
	</node>

 	<node name="DemandeRemonteeProdOK">
      		<description>Demande Remontee en Prod OK</description>
      		<milestone name="Demande_Remontee_Prod_OK" weight="25">
      			<description>Demande Remontee en Prod</description>
      		</milestone>
    	</node>

	<node name="MailRemonteeProd">
		<description>Confirmation Remontee en RU</description>
		<notification name="mail_remontee_prod" msgtemplate="notifications/mail_remontee_prod">		 		
		<recipient recipientemail="[EMAIL PROTECTED]"/>
		</notification>
		<edge to="PassageProd" event="none" />
	</node>

	<node name="PassageProd">
		<description>Remontée du paquet en Prod</description>
		<dataedit name="initdata_3" role="admin"
		 eventtype="INITDATA_CHANGED">
		<description>Remontée du paquet en Prod</description>
		<longdesc>
		Veuillez completer les informations suivantes
		</longdesc>
		<field path="workflow.prod.erreur_status" mandatory="yes" />
                <field path="workflow.prod.file3" mandatory="no" />
                <field path="workflow.prod.warning_status" mandatory="yes" />
                <field path="workflow.prod.file4" mandatory="no" />
		</dataedit>
		<edge to="MailRemonteeProdOK" event="INITDATA_CHANGED" />
        	<edge to="Milestone_PassageProdOK" event="INITDATA_CHANGED" />
	</node>

 	<node name="Milestone_PassageProdOK">
      		<description>Passage en Prod</description>
      		<milestone name="PassageProdOK" weight="35">
      			<description>Passage en Prod</description>
      		</milestone>
    	</node>

	<node name="MailRemonteeProdOK">
		<description>Confirmation Remontee en Prod</description>
		<notification name="mail_remontee_prod_ok" msgtemplate="notifications/mail_remontee_prod_ok">		 		
		<recipient recipientemail="[EMAIL PROTECTED]"/>
		</notification>
		<edge to="end" event="none" />
	</node>

        <node type="end" name="end">
                <description>Endnode reached</description>
    </node>

        <!--  attached data of the workflow -->

    <dataset name="workflow" description="workflow pour packaging">

	<dataset name="roles" description="Roles">

               <databit name="owner" type="person" />
               <databit name="wfstarter" type="person" />

	</dataset>
		
	<dataset name="paquet" description="paquet" state="read-write">

<!--		<databit name="developpeur" description="developpeur du paquet" shortdesc="developpeur" type="enum" >
                        <defaultvalue>CPT</defaultvalue>
                        <value type="string">CPT</value>
                        <value type="string">MAR</value>
                        <value type="string">CRT</value>
                        <value type="string">FBE</value>
		</databit>	-->

		<databit name="nom" description="nom complet du paquet" shortdesc="nom" type="string"/>

		<databit name="repertoire" description="repertoire" shortdesc="repertoire" type="string"/>

                <databit name="ssprojet" description="sous-projet" shortdesc="ssprojet" type="enum" >
                        <defaultvalue>Pilote EEX</defaultvalue>
                        <value type="string">Pilote EEX</value>
                        <value type="string">Magnesium</value>
                        <value type="string">Pilotage Personnel</value>
                </databit>

	</dataset>

       <dataset name="ru" description="recette utilisateur" state="read-write">

                <databit name="erreur_status" description="statut erreur" shortdesc="statut" type="enum">
                        <value type="string">OK</value>
                        <value type="string">KO</value>
		</databit>

	        <databit name="file1" description="message d'erreur" shortdesc="message" type="fileref"/>

		<databit name="warning_status" description="statut du warning" shortdesc="statut" type="enum">
                        <value type="string">OK</value>
                        <value type="string">KO</value>
                </databit>

                <databit name="file2" description="detail du warning" shortdesc="message" type="fileref"/>

        </dataset>

	 <dataset name="prod" description="production" state="read-write">

                <databit name="erreur_status" description="statut erreur" shortdesc="statut" type="enum">
                        <value type="string">OK</value>
                        <value type="string">KO</value>
                </databit>

                <databit name="file3" description="detail erreur" shortdesc="message" type="fileref"/>

                <databit name="warning_status" description="statut du warning" shortdesc="statut" type="enum">
                        <value type="string">OK</value>
                        <value type="string">KO</value>
                </databit>

                <databit name="file4" description="detail warning" shortdesc="message" type="fileref"/>

        </dataset>

    </dataset>

</workflow>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
swamp-devel mailing list
swamp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/swamp-devel
http://swamp.sf.net 

Reply via email to