EDB Automation

ritten By  

 

Revision 1 

Created  

 

5/10/2007

Last updated 

 

5/13/2007

Contributors 

  

Contact

Eric Baudouin

Tool Author

Drop Location 

\\sqlbufs\Data\LSSQL\Tools\EDB AUTOMATION 30

 

Source Depot Enlistment 

//depot/Tools_Main/sqluetools/source/Localization/EDBAUTOMATION_XML

I have saved the latest code in the uetools enlistment owned by the tools team. Trevor Carnahan is the manager. Here are the instruction to enlist:

Enlisting in Tools_Main (including SUBS) Source Depot Branch

  1. Request Read/Write access to the Tools in Source Depot via
    http://ramweb/RequestAccess.aspx?ProjectID=1604
  2. Once you receive approval then create a directory for the enlistment.
    md c:\source\Tools_Main
  3. Open a command prompt and change to the directory you just created.
    cd /d c:\source\Tools_Main
  4. Create the enlistment with enlistme.cmd
    \\sqluebld1\Tools\enlistme.cmd Tools_Main -all
  5. You now have a shortcut to SQLUETools on your desktop and after synchronizing the files to your local disk, you are now ready to build our tools.

 

 

 

Contents

Automation Tool    4

Introduction    4

Features    4

How to setup the tool    6

Variable Tab    8

Command tab    9

Resource tab    11

Filter Tab    12

Workflow creation\editing    13

Master EDB detection    14

XML-Excel Interoperability    15

Variable management    15

Modules    18

LANGUAGE SUPPORT    20

Appendix 1 Workflow samples    22

Appendix 2 - Language Sample    23

Appendix 3 - Family Sample    26

Appendix 4 - Entities Sample    26

Appendix 5 - Command Sample    28

 

 

 

 

 

 

 

Automation Tool

 

Introduction

 

 

The EDB Automation has been through many improvements but after intensive testing I am confident that this version can be released. This tool is used to centralize our processes and drive EDB Automation tasks.

We have fully converted the tool to XML so there is no Access store anymore. This document will list the current features, how to install the tool, how to use it and outline possible developments for the features

 

 

Features

 

 

Feature Name 

Description

Automatic file list generation

This tool scans a defined directory and list the EDBs that match a language and family

Target Command Generation

Once the commands and the resource are selected you can generate a "Trajectory" that represents the list of task with their respective variable

Master Definition detection

You can decide whether or not the file list will contain some pseudo related information, such as the path and name of the reference EDB.

File List Read-Only Attribute Refresh

This is a nice Feature that allows you to see whether or not the file is checked in or checkout using color code

Simplified Logging

We have simplified the Logging. We list the name of the running task and only displayed a message if an error has been detected.

XML Conversion

During the previous release only the Workflow was XML base. Now all our data are into separate file. It makes the architecture more open and more versatile. We have now the following files:

 

COMMANDS.XML

VARIABLES.XML

FAMILIES.XML

LANGUAGE.XML

ENTITIES.XML

LCL Generation

We have added a module to generate the LCL file and also to group them 

LCL to SQL

We have added a module to load the LCL file to a SQL Server Database

 

 

 

How to setup the tool

 

  1. Copy the EdbAutomation Executable and the XSD file on a folder on your machine. Those files are available from:

\\sqlbufs\Data\LSSQL\Tools\EDB AUTOMATION 30\latest\edbautomation_bin

You should have the following files:

COMMANDS.XML

EDBAutomation.EXE

ENTITIES.XSD

FAMILIES.XSD

LANGUAGES.XSD

MASTER_DEFINITION.XSD

 

 

  1. Copy the setting files, COMMANDS.XML,VARIABLES.XML, FAMILIES.XML, LANGUAGE.XML, ENTITIES.XML in a directory on your machine

 

If you just started working on a new project, use the following template file:

\\sqlbufs\Data\LSSQL\Tools\EDB AUTOMATION 30\latest\sample

  1. Create the following folder:

     

Folder name 

Description 

LOG 

Folder to backup the log files generated by the EDB Automation tool 

LSS 

Folder for the setting file, see the LSS section for further information

LCL 

Folder where the LCL files generated by the generatelclfiles modules are copied to

TGT 

Folder where the generatelocbinaries are copied to

LCI 

Folder that contains either LCI or LCG file. Those comments will be imported using the importinstructionsfromlci module, please make sure to check the LSS section to import the appropriate comment file

 

 

 

 

 

  1. Create a Workflow filter when you can save your workflow, please see the WorkFlow section for the further information. To start you might want to copy the examples that are on:

    \\sqlbufs\Data\LSSQL\Tools\EDB AUTOMATION 30\latest\workflow

  2. Edit the Attributes in the LANGUAGE.XML and FAMILY.XML accordingly, please refer to the LANGUAGE definition and FAMILY definition section for further information. You can Edit those file with notepad or by using Excel and opening the document as XML DATA.

     

  3. Enable or Disable the pseudo switch, read instructions in the MASTER_DEFINITION.XML file to know how to do this. For further information please read the Master Definition section
  4. Check the variable in the variable tab according to your machine setup, please refer to the section Variable Management for further information. You can Edit those after launching the tool from the UI or directly in Excel by the opening the VARIABLE.XML file as an XML DATA.
  5. Launch the tool by clicking on the EdbAutomation.exe or by running the following command:

    EDBAUTOMATION.EXE <PATH TO THE SETTTING FILE>

  6. From the resource selection click on the Generate File List button, if your setting are properly defined you should see the list of EDB that are on your machine. You can also select the choice of your selection from the Filter tab, just select a few families and few languages, click on the Save button and in the Resource tab you will see the selection based on the filter. Select the EDB of your choice
  7. Load the workflow of your choice. Select the Import Workflow command from the Workflow menu. You can also create a new workflow from the WorkFlow creation menu. Please refer to the WorkFlow section for further information. Once the Workflow is loaded you will see a subset of task to define the workflow in the Command tab
  8. If you want to test or verified that you have defined your variable properly just click on the Generate Script button, the commands displays, you can test it in a Dos Windows, or just run it by clicking on the Run button
  9. Check the log to see what happens, if you see a Red message, it means that an Error Occurred. The log are saved in the

     

 

 

Variable Tab

 

The variable Tab displays the variables in the variable.xml file. You can edit and save the variable. If you need to add a new variable, just add the new variable to the XML file directly.

 

 

 

 

 

 

 

 

 

 

Command tab

 

Those are the command that you can use, they are also define by the workflow that you have loaded.

You have a button to generate a script automatically. You can also run the overall process from the Run button.

 

 

 

 

Here is the bitmap that shows what happens when you run the tool, in this case we were trying to check out an EDB:

 

 

 

Here is another bitmaps that shows what happens when you have an error:

 

 

 

 

 

 

Resource tab

 

The resource tab is where you select the entities that you want to process. What you see here is the result of the Filter Tab. I have also added a file attribute detection. As you can see down below, in red are the files that are read-only and in green are the files that are writable. This is very useful, after running the checkout module, you can click on the Refresh button to see whether or not the edb file attribute was changed. If a file is missing you will see the file in Grey.

 

To summarize:

 

Red: The file is read-only

Green: The file is writable

Grey: The file is missing from the EDB Location folder

 

 

 

 

Filter Tab

 

The filter tab allows you to select the entities

 

 

 

 

 

Workflow creation\editing

 

The workflow definition is done from the worklow menu. You can Edit\Create a workflow and save it content into am XML file.

 

 

 

 

Master EDB detection

 

To enable the pseudo detection, you need to customize the MASTER_DEFINITION.xml file. Here are some explanation. I treat pseudo just as another language, however our Master EDB are not necessarily neutral, so as an example, lets say I want use an English EDB as another language, I would add the following entry in the language list:

 

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Pseudo</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>en-US</LANGUAGEISOCODE>

<EDBLANGUAGECODE>PSEUDO</EDBLANGUAGECODE>

<LCID>1033</LCID>

<FILTER>EN_</FILTER>

</LANGUAGE>

 

In the Master_Definition file I have the following xml fragment that I need to change accordingly

<PSEUDO>

<EDB_NAMING>PSEUDO</EDB_NAMING>

</PSEUDO>

 

If I want my system to generate the appropriate attribute for the pseudo, then preserve the PSEUDO entry that belong to the EDB_NAMING language.

 

If you don't need those metadata then you can remove the pseudo definition from the LANGUAGE.XML file and remove the PSEUDO entry in the MASTER_DEFINITION.XML.

 

When we enable PSEUDO, the Master Attribute will be set properly on each EDB and you will get the

EDBREFPAH

EDBREFNAME

EDBREFFULLPATH

Attributes updated properly in the ENTITY.XML file after refreshing the file list.

 

 

 

XML-Excel Interoperability

 

You can indeed open all the XML file we have with Excel since they all represent one table only. The way to do it is very simple, you just open the document as a XML Data file and save the file as a XML Data file.

 

 

 

 

 

Variable management

 

The tool was built in such a way that it passes the variables listed in the Variable tabs, please variables that are EDBs related and that are refreshed for any iterations. Those variables are then injected into the command template to build the final command. This one is then called via the shell.

 

Here is the list:

 

 

 

 

Variable Name 

Description 

Type 

BUILDNUMBER

Build number

Static

TOOLPATH

Tool Path, this should point to the module location on your machine

Static

EDBLOCATION

Path to the EDB genererally points to your source depot folder

Static

PROJECTNAME

Name of the project

Static

LOGPATH

Log Path

Static

HANDOFFSERVER

This is where we drop the EDB

Static

LOCBINARYLOCATION

Where the localized files are being generated

Static

LSSPATH

Path to the LSS file

Static

DATASERVERNAME

Server where we store the statistics

Static

STATISTICSREPORTPATH

Location for the CSV statistic Report

Static

Root_TARGET_PATH

Target where we generate loc file or LCL

Static

LSBUILDLOCATION

LSBUILD Tool Location

Static

LSBUILDLOCATION60

LSBUILD 60 Location

Static

LS60CONVERSIONWORKFOLDER 

Working folder for the EDB to Project and packing work

Static 

EDBNAME 

Edb name 

Dynamic

LANGUAGEISOCODE 

.Net code 

Dynamic

EDBPATH 

Edb Path 

Dynamic

EDBLANGUAGE 

Edb Language 

Dynamic

LCID 

LCID 

Dynamic

FAMILY 

EDB family

Dynamic

MASTER 

Boolean that says whether or not this is master EDBs or not

Dynamic

EDBSOURCEPATH 

Source path to the EDB

Dynamic

EDBREFPATH 

Edb Reference Edb

Dynamic

EDBREFNAME 

Edb Ref Name

Dynamic

EDBREFFULLPATH 

Edb Ref Full Path

Dynamic

 

 

Modules

 

Because we have some legacy issues we need to have two set of scripts:

\\varmints\PUBLIC\ericbaud\edbautomationtoolsetup\latestdrop\moduleLegacy

 

\\varmints\PUBLIC\ericbaud\edbautomationtoolsetup\latestdrop\newmodules

 

 

Changes were made in LocServices to support non neutral languages, historically speaking the request was made by the Exchange Team. We are now promoting the use of the new modules. For instance if you choose French, you should have French (France), if you work on a Lecacy project it is very likely that you will have French (Legacy ) entry instead. The issue is that the word count is read by LocService and because it relies on the Language name, the script is not agnostics.

 

Please note that we have added two more modules:

EDBtoLSProject

This module converts the EDB to LSPROJECT

Package Creation

This module packages the LSPROJECT

 

 

 

LSS management:

 

We have three types of setting files.

 

Type 

Description 

Master LSS 

The Master File contains setting that are related on how you handle the extension, for instance this is where we preserve the setting for the LCI, LCG file 

Default LSS 

Has all the default parser setting 

Family based LSS

Is related to family set, for instance the template for Orcas, or the UE file for Katmai 

 

Those files are specified in the lssmapping XML file placed in the LSS folder.

Here is an example that I am using for Orcas:

 

<LSSMAPPING>

<LSSMASTER NAME="Orcas_Master.lss" />

<LSSDEFAULT NAME="default.lss" />

<LSSEXCEPTIONS>

<LSSEXCEPTION FAMILY="SQL_REPORT_TEMPLATE" NAME="CommentOnly_SourceEncoding.lss"/>

<LSSEXCEPTION FAMILY="SQL_TEMPLATE" NAME="locxml_vstemplate.lss"/>

</LSSEXCEPTIONS>

</LSSMAPPING>

 

This file is very important because it will be used by the EDB to LCL conversion to make sure we can place the LCL setting reference accordingly in the LCL file. If we miss this generation we just break the build. Here is a bitmap that shows the directory structure after the LCL generation:

 

 

 

Parser setting are very important so it is crucial to understand how to use those files.

 

 

 

 

LANGUAGE SUPPORT

 

We decided to support more non-neutral culture to be standard so we need to look at the impact of those changes.

Since we are not using any Term Table name with Policheck we have killed the dependency on this modules for the other languages.

Here is the list of the function that we will be affected:

getlanguageacronyn(LCID)

getlanguageName(LCID) -> Dependency for the word count

 

To fix this I have decided to use the locculture.xml file and apply the two functions that are available in the helper.vbs file

 

Function getlanguageName(LCID)

Set XMLCulture= CreateObject("microsoft.XMLDOM")

XMLCulture.load("LocCultures.xml")

Set pNode= XMLCulture.selectSingleNode("/LocCultures/LocCulture/LocCulture[@LCID='"& LCID & "']")

GetLanguageName = pNode.Attributes.GetNamedItem("EnglishName").Value

End Function

 

 

Function getlanguageacronyn(LCID)

Set XMLCulture= CreateObject("microsoft.XMLDOM")

XMLCulture.load("LocCultures.xml")

Set pNode= XMLCulture.selectSingleNode("//LocCultures/LocCulture/LocCulture[@LCID='"& LCID & "']")

'Set pNode= XMLCulture.selectSingleNode("//LocCultures/LocCulture")

GetLanguageAcronym = pNode.Attributes.GetNamedItem("RFC3066Name").Value

End Function

 

 

 

Appendix 1 Workflow samples

 

Here are a couple of workflow sample so that you can look at the schema:

 

Handback Example

 

<Commands>

<Command COMMANDNAME="Checkout"></Command>

<Command COMMANDNAME="CopyLatestEDBtoLocalmachine"></Command>

<Command COMMANDNAME="Import the LSS setting"></Command>

<Command COMMANDNAME="CleanUserLock"></Command>

<Command COMMANDNAME="CleanInstructions"></Command>

<Command COMMANDNAME="UpdateEdb"></Command>

<Command COMMANDNAME="ImportCommentsFromLCI"></Command>

<Command COMMANDNAME="LocRuleEdb"></Command>

<Command COMMANDNAME="GenerateXMLStatistics"></Command>

<Command COMMANDNAME="ReportstatisticsCSV"></Command>

<Command COMMANDNAME="Generatelclfiles"></Command>

<Command COMMANDNAME="GroupLCLFile"></Command>

<Command COMMANDNAME="UpLoadLCLToServer"></Command>

<Command COMMANDNAME="PolicheckEdb"></Command>

<Command COMMANDNAME="BackupEdbsentbyVendor"></Command>

</Commands>

 

 

Handoff Example

 

<Commands>

<Command COMMANDNAME="Checkout"></Command>

<Command COMMANDNAME="Import the LSS setting"></Command>

<Command COMMANDNAME="CleanUserLock"></Command>

<Command COMMANDNAME="UpdateEdb"></Command>

<Command COMMANDNAME="CleanInstructions"></Command>

<Command COMMANDNAME="ImportCommentsFromLCI"></Command>

<Command COMMANDNAME="LocRuleEdb"></Command>

<Command COMMANDNAME="GenerateXMLStatistics"></Command>

<Command COMMANDNAME="ReportstatisticsCSV"></Command>

<Command COMMANDNAME="CopyHandoffEdbtoFromMSLatestFolder"></Command>

<Command COMMANDNAME="BackupEdbsentbymicrosoft"></Command>

</Commands>

 

 

Appendix 2 - Language Sample

<?xml version="1.0" encoding="UTF-8"?>

<LANGUAGES>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>French</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1036</LANGUAGEISOCODE>

<EDBLANGUAGECODE>FRN</EDBLANGUAGECODE>

<LCID>1036</LCID>

<FILTER>_FRN</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>German</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1031</LANGUAGEISOCODE>

<EDBLANGUAGECODE>GER</EDBLANGUAGECODE>

<LCID>1031</LCID>

<FILTER>_GER</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Spanish</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>3082</LANGUAGEISOCODE>

<EDBLANGUAGECODE>SPA</EDBLANGUAGECODE>

<LCID>3082</LCID>

<FILTER>_SPA</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Chinese Simplified</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>2052</LANGUAGEISOCODE>

<EDBLANGUAGECODE>CHS</EDBLANGUAGECODE>

<LCID>2052</LCID>

<FILTER>_CHS</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Russian</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1049</LANGUAGEISOCODE>

<EDBLANGUAGECODE>RUS</EDBLANGUAGECODE>

<LCID>1049</LCID>

<FILTER>_RUS</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Chinese Traditional</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1028</LANGUAGEISOCODE>

<EDBLANGUAGECODE>CHT</EDBLANGUAGECODE>

<LCID>1028</LCID>

<FILTER>_CHT</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Korean</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1042</LANGUAGEISOCODE>

<EDBLANGUAGECODE>KOR</EDBLANGUAGECODE>

<LCID>1042</LCID>

<FILTER>_KOR</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Italian</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1040</LANGUAGEISOCODE>

<EDBLANGUAGECODE>ITN</EDBLANGUAGECODE>

<LCID>1040</LCID>

<FILTER>_ITN</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Japanese</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1041</LANGUAGEISOCODE>

<EDBLANGUAGECODE>JPN</EDBLANGUAGECODE>

<LCID>1041</LCID>

<FILTER>JPN</FILTER>

</LANGUAGE>

<LANGUAGE>

<LANGUAGEDISPLAYNAME>Pseudo</LANGUAGEDISPLAYNAME>

<LANGUAGEISOCODE>1031</LANGUAGEISOCODE>

<EDBLANGUAGECODE>PSEUDO</EDBLANGUAGECODE>

<LCID>1031</LCID>

<FILTER>_PSEUDOS</FILTER>

</LANGUAGE>

</LANGUAGES>

Appendix 3 - Family Sample

 

<?xml version="1.0" encoding="UTF-8"?>

<FAMILIES>

<FAMILY>

<Familyname>SQL_DPGREENBIT</Familyname>

<Description>NDP EDB</Description>

<FILTER_FAMILY>SQL_DPGREENBIT_</FILTER_FAMILY>

<EDBSOURCEPATH>D:\Projects\Orcas\sqllocteambranch\src</EDBSOURCEPATH>

</FAMILY>

</FAMILIES>

Appendix 4 - Entities Sample

 

<?xml version="1.0" standalone="yes"?>

<ENTITIES>

<EDB>

<EDBNAME>SQL_DPGREENBIT_JPN.edb</EDBNAME>

<LANGUAGEISOCODE>1041</LANGUAGEISOCODE>

<EDBPATH>C:\dev\edbautomationcode\edb</EDBPATH>

<EDBLANGUAGE>JPN</EDBLANGUAGE>

<LCID>1041</LCID>

<FAMILY>SQL_DPGREENBIT</FAMILY>

<MASTER>false</MASTER>

<EDBSOURCEPATH>D:\Projects\Orcas\sqllocteambranch\src</EDBSOURCEPATH>

<EDBREFPATH>C:\dev\edbautomationcode\edb</EDBREFPATH>

<EDBREFNAME>SQL_DPGREENBIT_pseudos.edb</EDBREFNAME>

<EDBREFFULLPATH>C:\dev\edbautomationcode\edb\SQL_DPGREENBIT_pseudos.edb</EDBREFFULLPATH>

</EDB>

<EDB>

<EDBNAME>SQL_DPGREENBIT_pseudos.edb</EDBNAME>

<LANGUAGEISOCODE>1031</LANGUAGEISOCODE>

<EDBPATH>C:\dev\edbautomationcode\edb</EDBPATH>

<EDBLANGUAGE>PSEUDO</EDBLANGUAGE>

<LCID>1031</LCID>

<FAMILY>SQL_DPGREENBIT</FAMILY>

<MASTER>true</MASTER>

<EDBSOURCEPATH>D:\Projects\Orcas\sqllocteambranch\src</EDBSOURCEPATH>

<EDBREFPATH />

<EDBREFNAME />

<EDBREFFULLPATH />

</EDB>

</ENTITIES>

 

Appendix 5 - Command Sample

 

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<COMMANDS>

<COMMAND>

<COMMANDNAME>CopyLatestEDBtoLocalmachine</COMMANDNAME>

<DESCRIPTION>Copy Latest Edb from Vendor to Local machine</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\copyedbfromdropsharetolocalmachine.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /HANDOFFSERVER:&quot;%HANDOFFSERVER%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /BUILDNUMBER:&quot;%BUILDNUMBER%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>BackupEdbsentbyVendor</COMMANDNAME>

<DESCRIPTION>Backup Edb sent by Vendor</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\backupedbsentbyvendor.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /HANDOFFSERVER:&quot;%HANDOFFSERVER%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /BUILDNUMBER:&quot;%BUILDNUMBER%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;     /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>BackupEdbsentbymicrosoft</COMMANDNAME>

<DESCRIPTION>Backup the EDB sent by Microsoft</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\backupedbsentbymicrosoft.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /HANDOFFSERVER:&quot;%HANDOFFSERVER%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /BUILDNUMBER:&quot;%BUILDNUMBER%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;     /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>CleanUserLock</COMMANDNAME>

<DESCRIPTION>Clean the user Locks</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\cleanuserlock.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>CopyHandoffEdbtoFromMSLatestFolder</COMMANDNAME>

<DESCRIPTION>Copy Handoff Edbs to the FromMs latest folder</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\copyedbtotheFromMSlatestfolder.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /HANDOFFSERVER:&quot;%HANDOFFSERVER%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>UpdateEdb</COMMANDNAME>

<DESCRIPTION>Update the Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\update.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /USBINARYLOCATION:&quot;%EDBSOURCEPATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>Generate</COMMANDNAME>

<DESCRIPTION>Generate the localized binaries</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\generatelocalizedfile.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOCBINARYLOCATION:&quot;%LOCBINARYLOCATION%&quot; /USBINARYLOCATION:&quot;%EDBSOURCEPATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>ImportInstructions</COMMANDNAME>

<DESCRIPTION>Import the instructions in the from the master Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\importinstructions.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /EDBREFPATH:&quot;%EDBREFPATH%&quot; /EDBREFNAME:&quot;%EDBREFNAME%&quot; /EDBTYPE:&quot;%EDBTYPE%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>ImporttheLocks</COMMANDNAME>

<DESCRIPTION>Import the Locks from the Master Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\importlocks.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /EDBREFPATH:&quot;%EDBREFPATH%&quot; /EDBREFNAME:&quot;%EDBREFNAME%&quot; /EDBTYPE:&quot;%EDBTYPE%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>LocRuleEdb</COMMANDNAME>

<DESCRIPTION>Run the Localization Rule Extension</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\locver.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>OptimizeEdb</COMMANDNAME>

<DESCRIPTION>Optimize the Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\optimize.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>PruneEdb</COMMANDNAME>

<DESCRIPTION>Prune the Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\prune.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>ValidateEdb</COMMANDNAME>

<DESCRIPTION>Validate the Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\validate.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>SetStringStatusToLocalized</COMMANDNAME>

<DESCRIPTION>Set the string status to Loc</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\settolocalized.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>Setthebuildnumber</COMMANDNAME>

<DESCRIPTION>Set the build number</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\setbuildnumber.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /TOOLPATH:&quot;%TOOLPATH%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>Checkout</COMMANDNAME>

<DESCRIPTION>Checkout a file</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\checkout.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>CheckinEdb</COMMANDNAME>

<DESCRIPTION>Checkin the Edb</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\checkin.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>Import the LSS setting</COMMANDNAME>

<DESCRIPTION>Import the LSS setting</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\importlssetting.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LSSPATH:&quot;%LSSPATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /EDBFAMILY:&quot;%EDBFAMILY%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>SetInstructionToNo</COMMANDNAME>

<DESCRIPTION>Set the Instruction field to no</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\setinstructionstono.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>PolicheckEdb</COMMANDNAME>

<DESCRIPTION>Check the Edb against political sensitive issue</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\policheckedb.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LCID:&quot;%LCID%&quot; /PROJECTNAME:&quot;%PROJECTNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /HANDOFFSERVER:&quot;%HANDOFFSERVER%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>GenerateXMLStatistics</COMMANDNAME>

<DESCRIPTION>Generate a csv files and convert them to XML</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\statisticsXML.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LCID:&quot;%LCID%&quot; /COUNTER:&quot;%COUNTER%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>ReportstatisticsCSV</COMMANDNAME>

<DESCRIPTION>This file generate REPORT variable</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\ReportstatisticsCSV.wsf /PROJECTNAME:&quot;%PROJECTNAME%&quot; /STATISTICSREPORTPATH:&quot;%STATISTICSREPORTPATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /BUILDNUMBER:&quot;%BUILDNUMBER%&quot;</TEMPLATE>

<TRANSITION></TRANSITION>

<PROCESSMODE>1</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>ImportCommentsFromLCI</COMMANDNAME>

<DESCRIPTION>Imports the comments from the LCI file</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\importInstructionsFromLCI.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot;</TEMPLATE>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>CleanInstructions</COMMANDNAME>

<DESCRIPTION>Clean the Instruction in the Instructions field</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\cleaninstructions.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /TOOLPATH:&quot;%TOOLPATH%&quot;</TEMPLATE>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

<COMMAND>

<COMMANDNAME>Generatelclfiles</COMMANDNAME>

<DESCRIPTION>Generate the LCL file</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\generatelclfiles.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /LSBUILDLOCATION:&quot;%LSBUILDLOCATION%&quot; /Root_TARGET_PATH:&quot;%Root_TARGET_PATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

 

 

<COMMAND>

<COMMANDNAME>GroupLCLFile</COMMANDNAME>

<DESCRIPTION>Group the LCX file</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\grouplclfiles.wsf /EDBPATH:&quot;%EDBPATH%&quot; /EDBNAME:&quot;%EDBNAME%&quot; /Root_TARGET_PATH:&quot;%Root_TARGET_PATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

 

 

 

<COMMAND>

<COMMANDNAME>UpLoadLCLToServer</COMMANDNAME>

<DESCRIPTION>Uppload the LCL files to the LCXServer</DESCRIPTION>

<TEMPLATE>%TOOLPATH%\UploadLCLToServer.wsf /EDBNAME:&quot;%EDBNAME%&quot; /LSBUILDLOCATION:&quot;%LSBUILDLOCATION%&quot; /Root_TARGET_PATH:&quot;%Root_TARGET_PATH%&quot; /LOGPATH:&quot;%LOGPATH%&quot; /LOGNAME:&quot;%LOGNAME%&quot; /LCID:&quot;%LCID%&quot;</TEMPLATE>

<PROCESSMODE>2</PROCESSMODE>

</COMMAND>

 

 

 

 

 

</COMMANDS>

转载于:https://www.cnblogs.com/fan158/archive/2008/09/22/1295662.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值