VCP-Dest-vss.stml #9

  • //
  • guest/
  • perforce_software/
  • revml/
  • ui_machines/
  • VCP-Dest-vss.stml
  • View
  • Commits
  • Open Download .zip Download (4 KB)
<!DOCTYPE author [
  <!ENTITY non_empty_re "qr/./" >
]>

<machine id="VCP::Dest::vss" xmlns="http://slaysys.com/StateML/1.0">

  <!-- ================ TRANSITIONS =================== -->

  <state id="dest_vss_vssroot_prompt" class-ids="prompt_class">
    <name>Destination SSDIR</name>

    <description>

The directory that will contain the srcsafe.ini file for the
destination repostiory.

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->repo_server;
        $is_current_value = 1;
      }
  <!-- what would you want as default here? Would you want same
  environment variable that may have been used to find Source? -->
  <!--    else {
         $default = empty ( $ENV{SSDIR} ) ? undef : $ENV{SSDIR};
      } -->
    </entry-handler>

  

    <arc from="dest_type_prompt" guard="'vss'" >
      <description>vss</description>

      <handler>
        $ui->new_dest( $answer );
      </handler>
    </arc>

    <arc to="dest_vss_user_prompt" guard="&non_empty_re;">
      <handler>
        $ui->dest->repo_server( $answer )
            unless empty $answer;
      </handler>
    </arc>

  </state>

    <state id="dest_vss_user_prompt" class-ids="prompt_class">
    <name>Destination SSUSER</name>
    <description>

Enter the SSUSER value needed to access the destination server.  Defaults to
the current environment's SSUSER or 'Admin'.

    </description>
    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->repo_user;
        $is_current_value = 1;
      }
      else {
        $default = empty( $ENV{SSUSER} ) ? "Admin" : $ENV{SSUSER} ;
      }
    </entry-handler>

    <arc to="dest_vss_password_prompt" guard="&non_empty_re;">
      <handler>
        $ui->dest->repo_user( $answer )
            unless empty $answer;
      </handler>
    </arc>
  </state>


  <state id="dest_vss_password_prompt" class-ids="prompt_class">
    <name>Destination SSPWD</name>
    <description>

If a password (SSPWD) is needed to access the destination server, enter
it here.  Defaults to the current SSPWD if one is set.

WARNING: entering a password will cause it to be echoed in plain text 
to the terminal.

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        unless ( empty $ui->dest->repo_password ) {
          $default = "** current password **";
          $is_current_value = 1;
        }
      }
      else {
        $default = "** current SSPWD **"
          unless empty $ENV{SSPWD};
      }
    </entry-handler>
    
   <arc to="dest_vss_filespec_prompt">
      <handler>
        if ( $ui->in_edit_mode ) {
            $answer = $ui->dest->repo_password
                if $answer eq "** current password **";
        }
        else {
            $answer = $ENV{SSPWD}
                if $answer eq "** current SSPWD **";
        }
        $ui->dest->repo_password( $answer )
            unless empty $answer;
      </handler>
    </arc>
  </state>
    
<state id="dest_vss_filespec_prompt" class-ids="prompt_class">
    <name>Destination VSS filespec</name>
    <description>

Enter the vss filespec of the destination directory, with or
without a leading "$/" or "/" (all names are taken as
absolute).

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->repo_filespec ;
        $is_current_value = 1;
      }
<!--      else {
        $default = "vssdefaultdest" ;
      } -->
    </entry-handler>

    <arc to="dest_vss_mkss_prompt" guard="&non_empty_re;">
       <handler>
         $ui->dest->repo_filespec( $answer );
       </handler>
    </arc>
  </state>  

 
  <state id="dest_vss_mkss_prompt" class-ids="prompt_class">
    <name>'mkss' the destination SSDIR</name>
    <description>

If the destination SSDIR is a local directory, should VCP 
use mkss to initialize a vss repository in it?

    </description>

    <entry-handler>
      if ($ui->in_edit_mode ) {
        $default = $ui->dest->{VSS_MKSS_SSDIR} ? "yes" : "no" ;
        $is_current_value = 1;
      }
      else {
        $default = "no";
      }
    </entry-handler>  

    <arc to="wrapup" guard="'yes'">
      <description>yes</description>
      <handler>
        $ui->dest->{VSS_MKSS_SSDIR} = 1 ;
      </handler>
    </arc>

    <arc to="wrapup" guard="'no'">
      <description>no</description>
      <handler>
        $ui->dest->{VSS_MKSS_SSDIR} = 0 ;
      </handler>
    </arc>
    
  </state>


</machine>
# Change User Description Committed
#10 4581 Barrie Slaymaker - user prompts have been improved, but not tested
#9 4064 Barrie Slaymaker - RevML is no longer offered in the UI
- Sources and dests are given an id in the UI
- The .vcp file name defaulting now works
#8 3859 Barrie Slaymaker - New UI files
#7 3647 Barrie Slaymaker - All UI prompts & descriptions rewritten.
- Minor tweak to VCP::Dest::p4 P4USER defaulting
#6 3644 Barrie Slaymaker - Add Save & Run options to end of UI
#5 3640 Barrie Slaymaker - xmllint no longer require to build UI
- UI now offers multiple choices where appropriate
#4 3395 John Fetkovich various ui refinements
#3 3306 Barrie Slaymaker Add StateML namespace support
#2 3259 John Fetkovich Add VCP-Dest-vss.stml
#1 3258 John Fetkovich Added ui_machines/VCP-Dest-vss.stml