aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Content/Welcome.aml
blob: eb51fa37fc7c46ddbdbca16e8de3688a6f311092 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?xml version="1.0" encoding="utf-8"?>
<topic id="0f61f11a-7ea4-4d45-b34a-1f31a2c77a5a" revisionNumber="1">
	<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    
    <section>
      <title>Welcome</title>
      <content>
        <para>Welcome to the Tango FSE Procedures API documentation.</para>
        <para>This document contains a detailed description of each part of the API with some examples.</para>

        <para>
          The best way to start exploring the main capabilities of a procedure is the <codeEntityReference>T:Tango.FSE.Procedures.IProcedureContext</codeEntityReference> interface.
        </para>
      </content>
    </section>

    <section>
      <title>What is a Procedure ?</title>
      <content>
        <list class="bullet">
          <listItem>
            <para>
              A procedure is a sequence of a pre-programmed actions/commands.
            </para>
          </listItem>

          <listItem>
            <para>
              A procedure can have one or more user input parameters.
            </para>
          </listItem>

          <listItem>
            <para>
              A procedure can have one or more output values.
            </para>
          </listItem>
        </list>

        <para>
          Procedures are not legacy “stubs”. They are a completely different creature.
          <lineBreak/>
          Procedures are a way for providing immediate and dynamic response for almost any scenario or issue that is being raised by customers/technicians.
          <lineBreak/>
          Procedure programmers can leverage an intuitive and extensive API and accomplish almost any requirement.
          <lineBreak/>
          Programming and managing Procedures is done through the “Procedure Designer” module.
        </para>
      </content>
    </section>

    <section>
      <title>The Procedure Designer</title>
      <content>
        <para>
          The procedure designer module can be seen as a fully fledged IDE (Integrated Development Environment), designed to provide the best development experience for the “procedure programmer”.
        </para>
        <para>
          The procedure designer is basically a project editor. In the technical sense, a “Procedure” is basically a project.
        </para>
        <para>
          A project can be composed of one or more script files that are automatically linked together.
        </para>
        <para>
          A project, is represented as a single file (.pproj) and is designed to encapsulate all the files and information about the project.
        </para>
        <para>
          A project can have multiple assembly references and make use of them. An assembly reference can be any DLL file from the entire .NET framework, or from Twine’s libraries.
        </para>
        <para>
          A “Procedure” in the “Procedures Module” is actually a single published procedure project.
          <lineBreak/>
          A published procedure is a project that is saved on Twine’s global database (per environment).
          <lineBreak/>
          Each published project has a name, description and version, while preserving the history of the last 10 versions.
          <lineBreak/>
          When the user navigates to the Procedures Module, Tango FSE will retrieves all published projects from the server.
        </para>
        <para>
          Accessing the procedure designer module requires the “Run Procedure Designer” permission.
          <lineBreak/>
          Publishing a procedure project requires the “Publish Procedure Projects” permission.
        </para>

        <legacyBold>
          <legacyUnderline>
            Summery:
          </legacyUnderline>
        </legacyBold>

        <list class="bullet">
          <listItem>
            <para>
              Published procedure projects are intended for all users and can be executed using the Procedures Module.
            </para>
          </listItem>

          <listItem>
            <para>
              Procedure Project files are intended for Twine’s programmers and technicians and can be executed/edited using the Procedure Designer.
            </para>
          </listItem>
        </list>

        <para>
          We can say that once a procedure project that is being designed for end-users, is well-tested and optimized, it can be published and be available as a “Procedure” for end-users.
        </para>
      </content>
    </section>
	</developerConceptualDocument>
</topic>