Basic Steps in SageTea
1. Loading a File The first step in designing your application usually starts with updating an existing file. SageTea Inc. provides a number of live servers from its website to which you can connect SageTea. This gives you a quick start on designing a customized application. Along with an initial application downloaded from SageTea Inc’s website, you will also benefit from having at least a few of your own requirements for your IT system written down. These can be imported into your initial file and used to customize the resulting application in SageTea. 2. States States in SageTea are used to define the three fundamental parts of any computer program: User Interfaces, Data Models and Controllers. This view of software is generally known as Model-View-Controller (MVC). States in SageTea work in all three contexts in MVC, providing an efficient and reusable way to manage screens, data and logic. The highest-level component in SageTea, is the State. A State can also be thought of as a “Phase” or moment in time in which, work is being done. States are used to organize a workflow in SageTea and ultimately control the order of the screens which the end user will see. In SageTea, States have two views: System States – parts of the internal rules engines, which run on the client and server and can process real events in the system such as email Business States are shown as visuals and are used to organize the ordering of screens in the end user workflow 3. Elements When getting started, the best approach is to begin working with Elements. Elements are a single unit of data in your application. These can be anything and are the basic building blocks from which you will assemble and customize your application. An Element is created by highlighting a piece of text in the analysis window and pushing F1. Once you have the pieces, you have something you can assemble. Elements are the basic pieces from which you make a custom application. 4. Groups/Subgroups Once you are satisfied with your list of Elements in SageTea, you may go to make groups. Groups are simply collections of Elements and may also contain Subgroups. A Subgroup is a group also – it is simply a Group that is contained in another Group. Groups can also be thought of as forms in which users will enter data in the final end user application. In a similar way to creating Elements, all the Groups should be created before creating Subgroups. Groups are the basic building blocks for making forms and it is best to have all these in place, so you have what you need later on. 5. Activities Once all the Groups and Subgroups have been created, you can create your Activities. These can be thought of as tasks and are contained by States. Every Business State in a SageTea Application should contain at least one Activity. 6. Transitions Transitions represent a relationship between States and they work in three possible contexts in SageTea: 1) As part of a SageTea based user interface In a SageTea User Interface, a Transition is used to control the view which a user sees as they interact with the system. 2) As part of a SageTea data model In a SageTea data model (defined by Elements and Groups), a Transition provides the ability for one Group to be part of another different Group. When this is done it is called a SubGroup. 3) As part of a SageTea controller In a SageTea controller, a Transition is used to define a business rule that is triggered by an Event and causes an Action. SageTea controllers are FSMs which run on either the client or server for a SageTea application. 7. Events and Actions Events and Actions are commands which execute within a SageTea Application. These are defined by converting text into logic using SageTea’s Rules Wizard. 8. Repeat Putting it all together, your general workflow in SageTea is composed of Elements -> Groups/SubGroups -> Activities -> States. These form the data model for your SageTea Application. Data composition is done by linking States together with Transitions. This also provides the ability to add Events and Actions to client or server controllers.