Geography (component)

From UG

(Difference between revisions)
Jump to: navigation, search
(Summary)
(Implementation Notes)
 
(64 intermediate revisions not shown)
Line 1: Line 1:
[[Category:OpsAdmin]]
[[Category:OpsAdmin]]
   
   
 +
== Info ==
-
== General Info and Scope ==
+
=== Parent Mantis ===
 +
0000605: (Admin:Geography) .... (Countries, Regions, Ports, Airports)
-
* Classified As:  [[component]] 
+
=== Scope of this wiki ===
-
* Parent Mantis: [http://mantis.jaguarfreight.com/mantis/view.php?id=605 605]
+
This is a list of all Countries, Airports, Ports/Terminals according to the accepted industry standards. It also contains an area for Admin users to create and define a list of Regions, as well as keep record of Busiest Ports/Terminals according to their business processes.
-
* Prerequisites: ''any articles that must be read before to understand this?''
+
-
=== Scope ===
+
== Solution ver 1 ==
-
* ''List what it covers and what it does not''
+
-
== Business Requirements ==
+
=== SOW 1 ===
-
* ''This section is defined by [[Business Analyst]]''
+
-
* '' In this section this component/feature is defined from the business standpoint. All important points are listed. It could include some design details if business insists on specific design.''
+
-
 
+
-
== Notes from Systems Architect ==
+
-
* ''This section is defined by [[Systems Architect]]. It is written after [[#Business Requirements]] are defined.''
+
-
* ''The purpose of this section is to give direction to System Analysts who will write detailed specification.''
+
-
 
+
-
== Rapid Design ==
+
-
* '' In some cases (component is non standard) we need to do ''preliminary'' not so detailed design before detailed final. And maybe even code it to create [[Prototype]]''
+
-
* ''This section does not have to be too detailed or too formalized. We shall not spend too much time on Prototypes - they can change many times.''
+
-
 
+
-
== Detailed Design ==
+
-
* ''This section is defined by [[Systems Analyst]]. ''
+
-
* ''It contains detailed technical design is written after [[#Business Requirements]] and [[#Technical Requirements]] are defined.''
+
=== Summary ===
=== Summary ===
-
Geography is a part of Admin component of CT2.
+
Geography component is a part of Admin component of CT2.
-
Geography stores information what divided to five groups:
+
In the Internal application Geography component presents as the Geography section.
 +
 
 +
The Geography section stores information what divided to five groups:
* Regions
* Regions
* Countries
* Countries
Line 37: Line 25:
* Busiest Ports/Terminals.
* Busiest Ports/Terminals.
-
Info of each group located in separate tab in Geography section. Tab names are the same as group names.
+
=== User Interface ===
-
=== User Interface ===
+
Info of each group located in the separate tab of Geography section. The tab names are the same as the group names.  See [[#Figure_1]]
=== Functionality / Use Cases ===
=== Functionality / Use Cases ===
-
* '' This section you could spit into two. But often it is hard to do since often most of functionality is UI related''
+
 
 +
*User has [[CRUD]] abilities:
 +
**Add
 +
**Edit
 +
**Remove
 +
**Archive
 +
**Restore
=== Special Cases and Misc ===
=== Special Cases and Misc ===
-
* '' If any exist''
+
<!-- * '' If any exist'' -->
 +
==== Relationships between Country and Region ====
 +
* In the CT2 is used the following rules of relations between Countries and Regions:
 +
: 1) '''One''' Region can to include '''many''' Countries ''(rule 1: one region -> many countries)''.
 +
: 2) '''One''' Country can only belong to '''one''' Region ''(rule 2: one country -> one region)''.
 +
* As confirmed in mantis [http://mantis.jaguarfreight.com/mantis/view.php?id=2040 #0002040], CT2 functionality must to provide a needed validation and prevent the existing of several countries with the same name:
 +
: 1) validation executes on the Countries Tab upon saving data in "Add Country" window.
 +
: 2) when Country with Printable Name already exists in DB:
 +
:: - System shows warning message window with text ''"Country with this Printable Name already exists"''
 +
:: - and doesn't save data.
 +
: 3) user ought to correct the entered name or stop adding this country.
 +
 
 +
=== Figure 1 ===
 +
[[File:Admin Geo.JPG]]
 +
 
 +
== Ver 2 ==
 +
 
 +
=== SOW 2 ===
 +
 
 +
* '''0003117: (Admin:Geography) Switch to universally accepted codes for airports, ports, country names'''
 +
 
 +
=== Requirements ver 2 ===
 +
 
 +
Rather than just ensure there are no duplications, we need to upload, and be working from, universally accepted airport codes (from IATA), as well as Country names (United Nations), Sea Port Codes (International Maritime Organization).
 +
 
 +
=== Solution ver 2 ===
 +
 
 +
Currently in our system on prod server there are:
 +
 
 +
241 Countries
 +
 
 +
196 Airports
 +
 
 +
284 Port/terminals
 +
 
 +
In lists attached to this mantis (ISO/IATA lists):
 +
 
 +
251 Countries
 +
 
 +
2030 Airports
 +
 
 +
2358 Port/terminals
 +
 
 +
So I see that we have all (almost) countries in the system and we need only review countries in our prod server database and add/correct several countries.
 +
 
 +
As to the airports (and Port/terminals as well) there are two possibilities:
 +
 
 +
1) have all 2030 airports from your lists in the database.
 +
 
 +
To make sure it is not slow please implement "US Airways model" for selector. See http://www.usairways.com/ and [[#US Airways model]].
 +
 
 +
2) define subset of airports that you really need and have in the system only these airports. Currently I see you are using only 10% of all airports in the world. In this case search will be faster
 +
 
 +
Of course we need to review our database list and add/correct some airports.
 +
 
 +
Port/terminals - similarly to airports.
 +
 
 +
==== Future updates ====
 +
 
 +
It is suggested that future updates to these lists are done manually only by ihelp (CT2 Support group in NY).
 +
 
 +
==== US Airways model ====
 +
 
 +
<font color="red" size="6"> Not necessary to implement this, list didn't slow down DB. </font>
 +
 
 +
Per Kostya if we use our standard "selector" for new expanded list then it will be very slow.
 +
 
 +
To address that Simon suggested the following design.
 +
 
 +
Feel free to Implement alternative design if it addresses the issue.
 +
 
 +
[[File:US Airways.JPG]]
 +
 
 +
== SOW 3 ==
 +
 
 +
* '''0003293: (Admin:Geography) (Admin:Geography) Add mechanism to remove & replace archived countries, regions, airports, ports/terminals'''
 +
 
 +
=== Core Requirements ===
 +
 
 +
Provide a mechanism to "merge" 2 or more items that are the same.
 +
 
 +
Example: "Arfika" and "Africa" has been created and used.
 +
 
 +
In this case after we discover that we tell system : leave "Africa" and remove "Afrika". All records in DB that were linked to "Afrika" will be linked to "Africa".
 +
 
 +
Please note that exact UI design is left out for developer to define.
 +
 
 +
=== Implementation Notes ===
 +
 
 +
Misha: "Replace" button was add to Geography tab. To delete entity which is used in the system, first replace it using "Replace" button
 +
 
 +
Denise: Misha advised that when user selects "Replace" its an open option for the user to select to "Remove" and/or "Archive" it, should the name need to be reserved/reused. As this seems '''counter intuitive''' I asked if possible to make the "Replace" option when selected to automatically remove the one, user sets to "replace".
 +
 
 +
Therefore Misha has implemented - with removal of replaced items.
 +
 
 +
== SOW 4 ==
 +
 
 +
* 0003329: (Admin:Geography) Finish archiving feature; add hide archived filter (SOW 4)
 +
 
 +
=== Finish archiving feature ===
 +
 
 +
Archiving feature has the following:
 +
 
 +
* For every list in Admin (where entity is managed):
 +
** archive/restore buttons
 +
** column with a garbage can
 +
 
 +
* For every list in the system (where entity is appearing, such as report filters, etc):
 +
** if item is tagged as archived then it should not appear on the list
 +
 
 +
Please make sure that this functionality works everywhere in the system for these entities.
 +
 
 +
=== Hide archived filter ===
 +
 
 +
New functionality:
 +
* For every list in Admin (where entity is managed) pls add filter (check box) "Hide archived". Checked by default. Reason: most of the times we do not need to see archived items.
 +
 
 +
== User Guide ==
 +
 
 +
=== Admin >> Geography ===
 +
[[File:Admin Menu Geo.JPG]]
 +
 
 +
 
 +
=== Regions Tab ===
 +
[[File:Admin Geo.JPG]]
-
== QA ==
 
-
''This section is to be written by [[QA Engineer]] or [[QA Manager]] or [[Systems Analyst]].
+
=== Add Region ===
 +
[[File:Add Region.JPG]]
-
=== Test Cases ===
 
-
* '' List unusual scenarios - things that user most of the time would not do but system must handle well ''
 
-
* '' Do not list [[Common Test Cases]] - link to them
 
-
== Look and Feel ==
+
=== Countries Tab ===
 +
[[File:Countries Tab.JPG]]
-
* ''This section is to be written / defined by [[Graphic Designer]] and [[UI Designer]].
 
-
* '' This includes: final graphics, final layout''
 
-
* '' Layout defined here should refine, provide more detials to "functional definitions" of UI as defined in [[#Functionality / Use Cases ]] section above''
 
-
== Figures ==
+
=== Add Countries ===
-
=== Figure 1:   ===
+
[[File:Add Country.JPG]]
-
+
-
== Misc ==
+
-
=== Link to User Guide ===
 
-
=== Questions  ===
+
=== Airports Tab ===
 +
[[File:Airports Tab.JPG]]
-
=== Request For Comments (Suggestions and Ideas) ===
 
-
=== Known Non Critical Bugs ===
+
=== Add Airports ===
 +
[[File:Add Airport.JPG]]
-
* ''Critical bugs must be posted into Mantis''
 
-
=== Implementation: Link To DB ===
+
=== Ports/Terminals Tab ===
-
=== Implementation: Link To Front End Code ===
+
[[File:Ports Term Tab.JPG]]
-
=== Implementation: Link To Back End Code ===
+
-
== History of Updates ==
 
-
=== Links to Archived / Old specs ===
+
=== Add Ports/Terminals ===
 +
[[File:Add Port-Term.JPG]]
-
=== <Update type>:<Update Summary> ===
 
-
==== Update General Info ====
 
-
* mantis: <link> ''if applicable''
 
-
*  If Y then remove this link from here --> [[BR to be updated]]
+
=== Busiest Port/Terminals Tab ===
-
*  If Y then remove this link from here --> [[Design to be updated]]
+
[[File:Busiest Tab.JPG]]
-
*  If Y then remove this link from here --> [[QA to be updated]]
+
-
* ''Update types: [[Re-design]] / [[Tweak]] / Etc ''
 
-
* ''Ideally update all sections of spec (see above) right away. If you have no time to update spec now or multiple people have to be involved then define task here and come back to update later. In this case add links from here to "TBU wiki tag articles" - see above.
 
-
==== Update Description ====
+
=== Add Busiest Port/Terminal ===
-
* ''Briefly explain what was done and list links to updated sections.''
+
[[File:Add Busy.JPG]]

Current revision as of 16:13, 12 March 2012


Contents

[edit] Info

[edit] Parent Mantis

0000605: (Admin:Geography) .... (Countries, Regions, Ports, Airports)

[edit] Scope of this wiki

This is a list of all Countries, Airports, Ports/Terminals according to the accepted industry standards. It also contains an area for Admin users to create and define a list of Regions, as well as keep record of Busiest Ports/Terminals according to their business processes.

[edit] Solution ver 1

[edit] SOW 1

[edit] Summary

Geography component is a part of Admin component of CT2.

In the Internal application Geography component presents as the Geography section.

The Geography section stores information what divided to five groups:

  • Regions
  • Countries
  • Airports
  • Ports/Terminals
  • Busiest Ports/Terminals.

[edit] User Interface

Info of each group located in the separate tab of Geography section. The tab names are the same as the group names. See #Figure_1

[edit] Functionality / Use Cases

  • User has CRUD abilities:
    • Add
    • Edit
    • Remove
    • Archive
    • Restore

[edit] Special Cases and Misc

[edit] Relationships between Country and Region

  • In the CT2 is used the following rules of relations between Countries and Regions:
1) One Region can to include many Countries (rule 1: one region -> many countries).
2) One Country can only belong to one Region (rule 2: one country -> one region).
  • As confirmed in mantis #0002040, CT2 functionality must to provide a needed validation and prevent the existing of several countries with the same name:
1) validation executes on the Countries Tab upon saving data in "Add Country" window.
2) when Country with Printable Name already exists in DB:
- System shows warning message window with text "Country with this Printable Name already exists"
- and doesn't save data.
3) user ought to correct the entered name or stop adding this country.

[edit] Figure 1

File:Admin Geo.JPG

[edit] Ver 2

[edit] SOW 2

  • 0003117: (Admin:Geography) Switch to universally accepted codes for airports, ports, country names

[edit] Requirements ver 2

Rather than just ensure there are no duplications, we need to upload, and be working from, universally accepted airport codes (from IATA), as well as Country names (United Nations), Sea Port Codes (International Maritime Organization).

[edit] Solution ver 2

Currently in our system on prod server there are:

241 Countries

196 Airports

284 Port/terminals

In lists attached to this mantis (ISO/IATA lists):

251 Countries

2030 Airports

2358 Port/terminals

So I see that we have all (almost) countries in the system and we need only review countries in our prod server database and add/correct several countries.

As to the airports (and Port/terminals as well) there are two possibilities:

1) have all 2030 airports from your lists in the database.

To make sure it is not slow please implement "US Airways model" for selector. See http://www.usairways.com/ and #US Airways model.

2) define subset of airports that you really need and have in the system only these airports. Currently I see you are using only 10% of all airports in the world. In this case search will be faster

Of course we need to review our database list and add/correct some airports.

Port/terminals - similarly to airports.

[edit] Future updates

It is suggested that future updates to these lists are done manually only by ihelp (CT2 Support group in NY).

[edit] US Airways model

Not necessary to implement this, list didn't slow down DB.

Per Kostya if we use our standard "selector" for new expanded list then it will be very slow.

To address that Simon suggested the following design.

Feel free to Implement alternative design if it addresses the issue.

File:US Airways.JPG

[edit] SOW 3

  • 0003293: (Admin:Geography) (Admin:Geography) Add mechanism to remove & replace archived countries, regions, airports, ports/terminals

[edit] Core Requirements

Provide a mechanism to "merge" 2 or more items that are the same.

Example: "Arfika" and "Africa" has been created and used.

In this case after we discover that we tell system : leave "Africa" and remove "Afrika". All records in DB that were linked to "Afrika" will be linked to "Africa".

Please note that exact UI design is left out for developer to define.

[edit] Implementation Notes

Misha: "Replace" button was add to Geography tab. To delete entity which is used in the system, first replace it using "Replace" button

Denise: Misha advised that when user selects "Replace" its an open option for the user to select to "Remove" and/or "Archive" it, should the name need to be reserved/reused. As this seems counter intuitive I asked if possible to make the "Replace" option when selected to automatically remove the one, user sets to "replace".

Therefore Misha has implemented - with removal of replaced items.

[edit] SOW 4

  • 0003329: (Admin:Geography) Finish archiving feature; add hide archived filter (SOW 4)

[edit] Finish archiving feature

Archiving feature has the following:

  • For every list in Admin (where entity is managed):
    • archive/restore buttons
    • column with a garbage can
  • For every list in the system (where entity is appearing, such as report filters, etc):
    • if item is tagged as archived then it should not appear on the list

Please make sure that this functionality works everywhere in the system for these entities.

[edit] Hide archived filter

New functionality:

  • For every list in Admin (where entity is managed) pls add filter (check box) "Hide archived". Checked by default. Reason: most of the times we do not need to see archived items.

[edit] User Guide

[edit] Admin >> Geography

File:Admin Menu Geo.JPG


[edit] Regions Tab

File:Admin Geo.JPG


[edit] Add Region

File:Add Region.JPG


[edit] Countries Tab

File:Countries Tab.JPG


[edit] Add Countries

File:Add Country.JPG


[edit] Airports Tab

File:Airports Tab.JPG


[edit] Add Airports

File:Add Airport.JPG


[edit] Ports/Terminals Tab

File:Ports Term Tab.JPG


[edit] Add Ports/Terminals

File:Add Port-Term.JPG


[edit] Busiest Port/Terminals Tab

File:Busiest Tab.JPG


[edit] Add Busiest Port/Terminal

File:Add Busy.JPG

Personal tools