Visibility Redesign

From UG

(Difference between revisions)
Jump to: navigation, search
(Requirements)
(Data Migration)
 
(24 intermediate revisions not shown)
Line 1: Line 1:
-
[[Category:Projects]]
+
[[Category:Shipment Visibility]]
== About ==
== About ==
This is a project.
This is a project.
 +
 +
'''!!! See detailed designs / screens in history  !!!!'''
== Parent Mantis ==
== Parent Mantis ==
-
0002553: [*11 Alex] (SA and BA) Visibility groups  
+
0002553:[Visibility groups] Implement this
== Requirements ==
== Requirements ==
Line 24: Line 26:
'''Example 1.'''
'''Example 1.'''
-
Client Company A has users that may want to see more than only "their" company, however, they only need to see a "portion" of the other company based on some criteria (for example "only" ocean shipments from Europe).
+
Client Company A (E0 field on CT record) has users that may want to see more than only "their" company, however, they only need to see a "portion" of the other company based on some criteria (for example "only" ocean shipments from Europe).
'''Example 2.'''
'''Example 2.'''
Line 48: Line 50:
== Design Ideas ==
== Design Ideas ==
-
See Detailed Design.
 
-
== Detailed Technical Design and Architecture ==
+
== SA Notes ==
-
=== Scope ===
+
=== Visibility criteria ===
-
Visibility Management for the following types of users is out of scope of this project:
+
In order for user X to see CT record#Y specific '''Visibility criteria''' should be satisfied.
-
* Jaguar users
+
-
* Non-Jaguar users with Shipper and Planner roles
+
-
=== Main Idea ===
+
'''Visibility criteria'''  is a logical condition (Database Query String) expressed in terms of  constraints on values of specific CT fields. It is similar to defining some filters before generating report.
-
==== Option 1 Defining Visibility through Visibility Groups ====
+
'''Example.'''
-
* create visibility group (VG) with unique ID, Name and criteria
+
Business requirement:
-
* map one or more users to one or more selected VGs
+
: ''User A should only see shipments from Shipper "Multiplast" to Consignee "COTY" or Consignee  "Kolmar".''
-
VG criteria should include multiple filters to add flexibility
+
To satisfy this requirement Visibility criteria should be:
 +
: ''([[Ct#Shipper]] = "Multiplast" AND [[Ct#Consignee]] = "COTY"  ) OR''
 +
: ''([[Ct#Shipper]] = "Multiplast" AND [[Ct#Consignee]] = "Kolmar")''
-
VG criteria could be modified later which will affect all linked users.
+
=== 3 ways to define Visibility criteria for a user ===
-
==== Option 2 Defining Visibility through one time filter settings ====
+
I see 3 ways to define Visibility criteria for a user. All <strike>or just some could</strike> must be implemented.
-
See Figure
+
* '''Through User Profile.''' Visibility criteria could be defined right in the individual user profile.
 +
* '''For a group of users.''' Visibility Criteria could be defined for a group of users. First, group of users would be selected based on some set filters (user object attributes) and then Visibility Criteria could be applied to them.
-
==== Option 3 Defining Visibility through user profile ====
+
* '''Through Visibility Templates a.k.a. Visibility Groups.''' Visibility Criteria could be saved as a Visibility Template so that later it could be used to apply to other users with the same visibility. Visibility Template should have '''Name''' defined by user and unique '''Id''' generated by System.
-
See Figure
+
=== Scope ===
-
 
+
Visibility Management for the following types of users is out of scope of this project:
-
Should we allow it?
+
* Jaguar users
-
 
+
* Non-Jaguar users with Shipper and Planner roles
-
== Data Migration ==
+
-
 
+
-
After new model is deployed potentially we will need to fix existing user and shipment records.
+
-
 
+
-
== Remaining Questions ==
+
-
 
+
-
Client Company E0 entity should be clearly defined in a business sense. At the moment it seems to be used for several unrelated reasons: company that initiates order (CT), company that we bill for the order, company that has a visibility to the CT.
+
-
 
+
-
Shipper and Consignee should be also clearly defined.
+
-
 
+
-
How to deal with complexity of Shipper company defined multiple times in Company-City pairs?
+
-
== Figures ==
+
=== Data Migration ===
-
=== Figure 1 User List ===
+
After new model is deployed we need to make sure that existing visibility for existing users is preserved.
-
[[File:User list.JPG]]
+
-
=== Figure 2 Define visibility panel ===
+
=== Version of spec with mockups ===
-
[[File:Vg pop up.JPG]]
+
-
=== Figure 3 VG Management ===
+
See [[http://ct.jaguarfreight.com/mediawiki-1.15.0/index.php?title=Visibility_Redesign&oldid=16868]]
-
[[File:VG management.JPG]]
+
-
=== Figure 4 User profile ===
+
== Implementation Notes ==
-
[[File:User prof.JPG]]
+
== History ==
== History ==

Current revision as of 09:05, 31 August 2011


Contents

[edit] About

This is a project.

!!! See detailed designs / screens in history  !!!!

[edit] Parent Mantis

0002553:[Visibility groups] Implement this

[edit] Requirements

System re-design required in the area of Record Visibility to make it more flexible and convenient to use.

CT Record Visibility (definition). It is a set of criteria that allow or prohibit any given CT2 user to see (and potentially manage) any given CT2 shipment record.

Flexibility requirement. At the moment certain non trivial cases are hard or impossible to configure. This should be resolved.

Convenience requirement. Management of visibility should be easy and fast.

[edit] Examples

Example 1.

Client Company A (E0 field on CT record) has users that may want to see more than only "their" company, however, they only need to see a "portion" of the other company based on some criteria (for example "only" ocean shipments from Europe).

Example 2.

Maticplast Users (possible choices):

  • Client Maticplast
as defined by E0
  • From Maticplast "to COTY"
shipper (maticplast) AND consignee (COTY)
  • from Maticplast to "EA"
shipper (maticplast) AND consignee (Elizabeth Arden, CEI, Kolmar, Evergreen etc)
  • From "Maticplast" (to "client")
shipper (maticplast) AND E0 Client "Elizabeth Arden"
  • From "Maticplast" (to all)
shipper (maticplast)

Note: (maticplast) could be multiple addresses (one in Rome, one in Milan, one in Naples)

[edit] Design Ideas

[edit] SA Notes

[edit] Visibility criteria

In order for user X to see CT record#Y specific Visibility criteria should be satisfied.

Visibility criteria is a logical condition (Database Query String) expressed in terms of constraints on values of specific CT fields. It is similar to defining some filters before generating report.

Example.

Business requirement:

User A should only see shipments from Shipper "Multiplast" to Consignee "COTY" or Consignee "Kolmar".

To satisfy this requirement Visibility criteria should be:

(Ct#Shipper = "Multiplast" AND Ct#Consignee = "COTY" ) OR
(Ct#Shipper = "Multiplast" AND Ct#Consignee = "Kolmar")

[edit] 3 ways to define Visibility criteria for a user

I see 3 ways to define Visibility criteria for a user. All or just some could must be implemented.

  • Through User Profile. Visibility criteria could be defined right in the individual user profile.
  • For a group of users. Visibility Criteria could be defined for a group of users. First, group of users would be selected based on some set filters (user object attributes) and then Visibility Criteria could be applied to them.
  • Through Visibility Templates a.k.a. Visibility Groups. Visibility Criteria could be saved as a Visibility Template so that later it could be used to apply to other users with the same visibility. Visibility Template should have Name defined by user and unique Id generated by System.

[edit] Scope

Visibility Management for the following types of users is out of scope of this project:

  • Jaguar users
  • Non-Jaguar users with Shipper and Planner roles

[edit] Data Migration

After new model is deployed we need to make sure that existing visibility for existing users is preserved.

[edit] Version of spec with mockups

See [[1]]

[edit] Implementation Notes

[edit] History

Personal tools