Status: Draft

Project Structure and Organization


Desktop Studio allows you to develop your projects entirely using JavaScript.
Desktop Agent uses the native Microsoft JS engine named 'JScript' (used in Windows Scripting and Internet Explorer).

Desktop Studio contains the Desktop SDK (Software Development Kit), which includes:

  • The Desktop SDK itself and its extensions
  • A set of JavaScript Libraries: file management, Office integration, CTI, …
  • Different project templates used to create projects
  • Different resources files: HTML templates to be reused (such as popups, panels, and composite pages), bitmaps, and so on


A project in SAP Intelligent Robotic Process Automation contains a set of files:

  • A main project file (.PSCP)
  • Application declaration files (.PSCP) (also captures bitmaps and structures)
  • A set of JavaScript files to implement the scenarios and optimizations
  • Language framework files, extensions, and libraries (copied from SDK)
  • HTML resources (HTML, JS, bitmaps, and so on) to display custom/generated user interfaces


Desktop Studio File Extensions

Some file extensions are normalized for tools:

  • .PSCP Main project script:
    • This file contains all of the instructions and declarations used by Desktop Agent to execute automations and interactions (scenario, event management, context declarations, and so on).
    • Optionally, a project can be split into two parts, “coding” and “resources”.
      • In this case, the .PSCP file is the master file and the resources are declared in a .PSCR file, which is included in the master file
      • Desktop Studio merges files in an assembled XML tree respecting the standard structure.
  • .PSCR Resource script when “split mode” is chosen (optional):
    • “Resource” part contains declarations for application / page / object:
      • This part is edited and maintained by Studio Explorer; it should not be directly edited by the user
    • Splitting a project between resources and coding is optional - both can be managed in the same file.
    • For projects in language v2: Splitting is generally recommended. It allows you to develop functionalities in a .PSCP file while editing resources in parallel with Studio Explorer.
    • For projects in language v3: Splitting is not usually beneficial because the code is stored in JavaScript files, and so it is not fixed with application declarations.
  • .PSC:
    • Target project script: This file is generated by Desktop Studio when a project is launched for test, or when the solution is exported. This file is optimized to reduce its size (content such as superfluous verbs and attributes, comments, and carriage returns are removed).
    • If the project is split into several scripts (resources files, and applications that are split into several included files), the target script is a single file that resolves all inclusions


When you create a new project, Desktop Studio automatically generates the following set of folders, which contain the different files of the solution:

<root folder>
    <project name>
        <project name>.pscp
        <project name>.pscr
        app
            app1.pscp
            <app1>_Screens
                *.html
                *.png
                *.xml
            app2.pscp
            ...
        archive
            archive_<project name>_<version>_<date>_<time>.zip
            ...
        bin
            <project name>.psc
            <project name>.debug.psc
            <project name>.js
            <project name>.min.js
            html
                *.html, *.js
            ...
        export
            <project name>_<version>
                <project name>.zip
            ...
            <project name>_<version>.zip
        local
            <project name>.js
            html
                *.htm
            ...
        log
            ...
        <project name>_Screens
        server
            html
                *.htm
	updatepkg
            ...


File or Folder Name Description
<project>.pscp Main project file
<project>.pscr Resource project file (optional file, only if you use the option “split resources”)
archive Archive folder - contains ZIP files generated by Studio to archive all files necessary for development:
• Source script files (.PSCP, .PSCR, and so on),
• HTML, JS files,
• Studio Explorer capture files (bitmaps and structures),
• …

Archive files have the name: archive_<project name>_<version>_<date>_<time>.zip

For example:
Testproject 
  archive 
    archive_testProject_1.0_29092012_183725.zip
bin Folder containing all JS, XML, and resource files used for execution when testing the project with Studio.
This folder is used to generate the project-export archive
export Export folder - contains files generated by Studio to archive all of the files necessary for deployment:
• generated script file (.PSC, …)
• HTML, JS files,
• …

The export is saved in a folder named <project name>_<version> that contains:
•- Export file named <project name>.zip
•- A markup file named key.xml: this file is mandatory for update mechanism
• …

The content of the folder is also saved in an archived file named <project name>_<version>.zip

For example:
Testproject
    export
        testProject_1.0
            testProject.zip
            key.xml
        testProject_1.0.zip
         ...
localContains all files that will be locally deployed on the workstation.
These files are saved to an archive when the project is exported.
In particular, the target project file (<project name>.psc) is generated in this folder.
logFolder used as a working directory when the project is tested with Desktop Studio. This folder contains log files that are generated by Desktop Agent (named “LogCtxt.000” and so on) .
<project>_ScreensContains the captured screens for the declared application(s).
Each capture consists of three files:
• *.png: page snapshot,
• *.xml: page internal structure,
• *.htm: html source code (for web pages).
serverContains all files that will be deployed on the server.
It typically contains “mash-up” Web pages that are located on the server and launched using a Web browser.
These files are saved “as is” (without compression) when the project is exported.
updatepkgContains a list of subfolders associated with the <UpdatePackages> section.

Note:

  • “archive”, “bin”, “export”, “local”, “log”, and “server” folders are mandatory folders.
    Users can add other folders to organize their project files.