Projects:Select and Process UI Pattern Generation/Functional Specifications
Contents |
Select and Process UI Pattern - Functional Specifications
Overview
A typical pattern for process in Openbravo ERP consists in a window that allows to select a number of parameters and to pass them to a process, this process returns a message to be shown.
Currently these processes are manually implemented because Openbravo ERP platform does not support this pattern.
Purpose
The purpose of this project is to allow to define the process type described above within Openbravo ERP application dictionary making possible not to have to implement it as manual code.
Scope
The scope of this project is to allow the definition of "Select and Process" objects and its implementation.
There are some projects that will enhance select and process objects such as selectors, grid and processes but their purposes are out of the scope of this project.
Design Considerations
Dependencies
- Selector UI pattern in Application Dictionary (4191)
- "Select and Process" objects depend on Openbravo's grid, future enhancements on grid will enhance also these objects (3059).
- The way processes will be called depends on how they are implemented for Background process management project (4147)
Constraints
- Currently multiple selectors are not implemented as a reference but as a manual process, until they are not implemented as a reference it's not possible to allow multiple selections for the select and process objects.
- Some of the currently manually developed "Select and Process" processes allow to edit some of the data displayed in the grid they show. To be possible to port these elements to the new pattern it would be necessary that selectors include this feature.
Functional Requirements
User roles & profiles
- Consultant/Developer
- This type of users have a high level of professional education, have a deep knowledge of the business processes and some basis on programming. They will be able to create or modify "Select and Process" objects and use them.
- Final user
- The final user will only see small differences (if any) between the current approach and the new one.
Business process definition
Creation
Select and process objects are standard java processes which user interface is generated automatically by WAD.
They have a list of parameters and a java process. To define it:
- Create a java process
- Select whether it is going to be displayed as full-screen or pop-up.
- Create the list of parameters it will receive
Usage
For final users there will not be any difference between using this process and PL processes.
Functional requirements based on business processes
1st. Iteration: Implement Select and Process UI Pattern
Num | Requirement | Importance | Status | Estimated time | Comments |
---|---|---|---|---|---|
1.1 | Implement the communication between UI and java process | Must have | To be started | ?? | This implementation will depend on the process invokator (for background processes) implementation |
1.2 | Implement WAD management for this new element | Must have | To be started | 3d | This implementation should be very similar to current action buttons |
1.3 | Add to application dictionary support for pop-up/full-screen view in processes | Nice to have | To be started | 1h | |
1.4 | In case 1.4 is implemented, implement full-screen action buttons. | Nice to have (must in case 1.4 is done) | To be started | 5d |
2nd. Iteration: Move current manual process to the new pattern
Num | Requirement | Importance | Status | Estimated time | Comments |
---|---|---|---|---|---|
2.1 | Move the current manual "select and process" objects to the new pattern and deprecate old processes and classes. | Nice to have | To be started | 2w | This iteration should not be accomplished until selectors allow to have similar capacities than current manual processes have |
This implementation could be a good candidate not to generate WAD code but to having a generic servlet that composes the UI dynamically and performs the call to the process. Anyway before doing that it would be necessary to choose carefully the framework (JSF...). This also would generate dynamically different windows in case it is pop-up or fullscreen.
Closed Discussion Items
- ALO: Initially another completely different approach was designed for this project.