Discussion on design guidelines.
When configuring a workspace:
- Minimize the use of State and Activity wherever possible.
Quick Setup Guide:
Step 1: Define the State
Step 2: Create the Activity
Step 3: Create Information field
Step 4: Set up Automation
Step 5: Configure Authorization and Listing
This approach simplifies how to gather requirements from the customer and helps lay a strong foundation for configuring the workspace.
- The State is used to control the Activity in a module.
- All State should be changed through Activity.
- Most of the time, the State were named with Adjective, the Activity were named with Verb, and the Information were named with Nouns.
Guidelines when analysing the requirement:
- Pinpoint the State needed
- Identify/Define the Activity to link the State
- Identify the information needed in each Activity (Remarks: Should know where the information comes from, and what information is needed to generate during the Activity)
- (optional) Set up Automation to link the module/ to automate the process.
- Configure Listing, set up Authorization
- (optional) Configure Template (document template or report template).
When building a system in Inistate, development should always begin with basic logic.
At its core, every system revolves around the state of an entry (or item).
Imagine it like planning a train journey:
Each train station represents a state, and the train tracks are the activities—the actions that move an item from one state to another.
1. Start with Basic Logic – Identify the States (Train Stations)
Just like a railway line must know which stations the train will stop at, your system must first define its states.
Each state should answer:
- Where is the item in its process?
- Who is responsible at this stage?
- What can or should happen next?
Tip: Use adjectives to name states (e.g., Pending, Approved, Rejected).
2. Define Activities – Connect the States (Train Tracks)
Next, determine how an item moves from one state to another. These are your activities.
Think of each activity as sending the train to the next station.
Tip: Use verbs for activity names (e.g., Submit, Approve, Reject).
3. Determine the Required Information (The Tickets)
Before a train departs, passengers need tickets. Similarly, before an activity can proceed, certain information must be collected.
For each activity, define:
- What data the user needs to provide.
- Any validation rules required to proceed.
Tip: Use nouns for field names (e.g., Date, Amount, Remarks).
4. Define the Happy Flow – The Ideal Train Route
The happy flow is the ideal journey your item should take—smooth and uninterrupted from start to finish.
Design this first to ensure the system’s core functionality is clear and efficient.
Tip: Keep the number of states and activities to a minimum. Simplicity is key for maintainability and user experience.
5. Build Other Modules with the Same Logic
Each module is like a different train line—but they all follow the same concept:
- States = Stations
- Activities = Tracks
- Fields = Tickets
Repeat the same steps:
Define states → Set activities → Identify required fields → Map out the happy flow.
6.
Use Automation to Link Modules (Multi-Line Coordination)
Sometimes, a train in Line A should only move when a train in Line B reaches a specific station. This is where automation comes into play.
Rule: Only introduce automation after each module works properly on its own.
Example:
When Module B reaches the state Completed, trigger an activity in Module A to change its state to Ready.
7. Set Authorization – Access Control
Once your system runs smoothly, define who can:
- View specific information.
- Perform specific activities.
Guideline when do configuration in the workspace:
- Define State
- minimize the number of state used and in simple word (max 10)
- use to summarize the job state and control activity
- suggestion - state in adjective
- Activity
- thinking about what message that person will receive
- use to link the state
- allow update information without affecting other data
- suggestion - activity in verb
- Information in Activity
- think about what information is needed in the activity and extract important information
- confirm and create the flow
- Automation
- replace manual work
- Listing and Authorization
- extract key information for better clarity
- set permission to access