the gordian atlas
DESCRIPTION
The Gordian Atlas. Elaboration Phase #4. Vision. Unchanged since last iteration. Scope. Unchanged since last iteration. Domain Model. Unchanged since last iteration. Data Model / Schema. Unchanged since last iteration. Use Cases this iteration. - PowerPoint PPT PresentationTRANSCRIPT
The Gordian Atlas
Elaboration Phase #4
Vision
Unchanged since last iteration
Scope
Unchanged since last iteration
Domain Model
Unchanged since last iteration
Data Model / Schema
Unchanged since last iteration
Use Cases this iteration
Over the course of iteration 4, the following use cases have been implemented using Code Igniter models
• View Wiki page• Add location• View the Atlas• Edit Location• Edit Event• Delete Location• Delete Event
View Wiki PageName View a Wiki Page [VIEWWIKI01]
Scope Central to user experience
Level User Goal
Primary Actor Timeline Viewer
Stakeholders and Interests n/a
Preconditions1.
A user is already successfully within the “View Timeline” Use Case.
Postconditions n/a
Main Success Scenario1.
User clicks on a hot element on either the timeline, map or existing wiki page that is being displayed.
2. The system locates the relevant resource in the database3. The system prepares an appropriately templated wiki page and
displays it to the user.
Extensions2.
If the system is unable to locate the data...1. An error message is produced in the wikipage pane
indiciating an error,with further instructions.3. If the system cannot present the data.
1. Behave as described in 2a.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Frequently per visit.
Miscellaneous
View Wiki Page(SSD)
View Wiki Page(SD)
Add LocationName View the Gordian Atlas [ADDLOC01]
Scope Primary Application Function
Level User Goal
Primary Actor Timeline Editor
Stakeholders and Interests n/a
Preconditions1.
A timeline has been setup for editing2. The user has permissions to alter the timeline
Postconditions1.
The new location appears on the map2. A Wiki Page has been setup for the location3. All appropriate data linkages have been made in the
database.
Main Success Scenario1.
User clicks to add a location2. A UI is presented to input essential information.3. The system adds the entry into its database.4. The location shows up as an interactive item on the
map UI
Add LocationExtensions
1.
If the user isn’t an editor …1. The process is complete, as no UI is offered.
2. If the UI doesn’t appear …1. Javascript is likely disabled, or likely erroring
out while processing. The user will be unable to take further action.
3. If the information is duplicated or otherwise present...
1. An error notification appears upon attempt at input and the UI simply returns to step 2.
2. If an error occurs while attempting to write database entries, a message presents itself to the end user indicating so, and a site administrator will be notified via system scripts.
4. If the new location doesn’t appear...1. The browser window may need to be
reloaded to attempt to pull JSON again.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Frequently per visit.
Miscellaneous
Add Location(SSD)
Add Location(SD)
View TimelineName View the Gordian Atlas [VIEW01]
Scope Primary Application Function
Level User Goal
Primary Actor Timeline Viewer
Stakeholders and Interests n/a
Preconditions4.
The Setup Gordian Atlas Use Case has successfully occured.5. The application is not in maintenance mode.
PostconditionsMain Success Scenario
5.
User either directly accesses timeline screen, or is routed to it via raw domain URL.
6. Main UI is provided to the user7. Asychronously …
1. The map data is provided to the user.2. The timeline data is provided to the user.3. The textual data is provided to the user.
Extensions5.
If at any point Javascript fails to load data, each individual UI component is responsible for producing a meaningful error message for the user.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Frequently per visit.
Miscellaneous
View Timeline (SSD)
View Timeline (SD)
Edit LocationName Edit Map Location [EDTLOC01]
Scope Central to user experience
Level User Goal
Primary Actor Timeline Editor
Stakeholders and Interests Timeline Viewer, Owner
Preconditions1.
User is logged in.2. User has successfully completed the “View Wiki
Page” Use Case.
Postconditions1.
Database alterations have been successfully made to the Location record.
2. An additional revision has been made to the wiki page, if necessary.
3. The main user interface is updated with information, accordingly.
Main Success Scenario1.
User Selects “Edit Location” Link2. System affords editing UI, with data prepopulated.3. User alters information as they deem necessary
and submits it.4. System updates location and supporting wiki page
as necessary.5. System affords updated information.
Edit LocationExtensions
2.
If the data isn’t prepopulated, the user may opt to enter it manually or attempt to reload the data again.4.
If the system fails to update the data, the user is alerted and asked to attempt again.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Ranging from infrequently to often per visit.
Miscellaneous
Edit Location (SSD)
Edit Location (SD)
Edit Timeline EventName Edit Timeline Event [EDTEVT01]
Scope Central to user experience
Level User Goal
Primary Actor Timeline Editor
Stakeholders and Interests Timeline Viewer, Owner
Preconditions1.
User is logged in.2. User has successfully completed the “View Wiki
Page” Use Case.
Postconditions1.
Database alterations have been successfully made to the Location record.
2. An additional revision has been made to the wiki page, if necessary.
3. The main user interface is updated with information, accordingly.
Main Success Scenario1.
User Selects “Edit Event” Link2. System affords editing UI, with data prepopulated.3. User alters information as they deem necessary
and submits it.4. System updates event and supporting wiki page as
necessary.5. System affords updated information.
Edit Timeline EventExtensions
3.
If the data isn’t prepopulated, the user may opt to enter it manually or attempt to reload the data again.5.
If the system fails to update the data, the user is alerted and asked to attempt again.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Ranging from infrequently to often per visit.
Miscellaneous
Edit Timeline Event (SSD)
Edit Timeline Event (SD)
Remove Map Location Name Remove Map Location [DELLOC01]
Scope Central to user experience
Level User Goal
Primary Actor Timeline Editor
Stakeholders and Interests Timeline Viewer, Owner
Preconditions1.
A user is already successfully within the “View Timeline” Use Case.
2. Further, they have already successfully completed the “View Wiki” Use Case for the element desired to be deleted.
Postconditions n/a
Main Success Scenario1.
User clicks the “Remove Location” link on the Wiki Page.
2. System affords confirmation message.3. Upon confirmation, the element is removed
from the Timeline.4. Affected UI elements are redrawn minus the
deleted information.
Remove Map LocationExtensions
2.
If a confirmation isn’t afforded ...
1. Likely javascript has been disabled from the client computer somewhere following preconditions and the use case - this is HIGHLY anomalous behavior.
3. Regardless, the link attempt the element without confirmation via direct access of the URL.
4. The system will mutely deny the request as it was not made via AJAX.3.
If the system cannot remove the record, the WikiPage shouldn’t have drawn to begin with, violating a precondition of the use case.
4. If the record isn’t removed successfully, it will remain on the interface, and an administrator will need to be contacted to validate the integrity of the database.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Ranging from infrequently to often per visit.
Miscellaneous
Remove Map Location (SSD)
Remove Map Location (SD)
Remove Timeline EventName Remove Timeline Event [DELEVT01]
Scope Central to user experience
Level User Goal
Primary Actor Timeline Editor
Stakeholders and Interests Timeline Viewer, Owner
Preconditions1.
A user is already successfully within the “View Timeline” Use Case.
2. Further, they have already successfully completed the “View Wiki” Use Case for the element desired to be deleted.
Postconditions n/a
Main Success Scenario1.
User clicks the “Remove Event” link on the Wiki Page.
2. System affords confirmation message.3. Upon confirmation, the element is removed from
the Timeline.4. Affected UI elements are redrawn minus the
deleted information.
Remove Timeline EventExtensions
2.
If a confirmation isn’t afforded ...
1. Likely javascript has been disabled from the client computer somewhere following preconditions and the use case - this is HIGHLY anomalous behavior.
1. Regardless, the link attempt the element without confirmation via direct access of the URL.
2. The system will mutely deny the request as it was not made via AJAX.3.
If the system cannot remove the record, the WikiPage shouldn’t have drawn to begin with, violating a precondition of the use case.
4. If the record isn’t removed successfully, it will remain on the interface, and an administrator will need to be contacted to validate the integrity of the database.
Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.
Variations in Technology and Data Requires the use of JSON / AJAX since release 1.
Frequency of Occurrence Ranging from infrequently to often per visit.
Miscellaneous
Remove Timeline Event (SSD)
Remove Timeline Event (SD)
Test Cases
Click here to view full test case information
Test Case ID Test Case Name Pre-Conditions Post-Conditions
T-SETUP01 Verify Setup Routine Runs Correctly
Web server connected to a database; Software has been correctly deployed to a web accessible directory; Core configuration files of the library have been setup beforehand
The system is correctly configured with an initial timeline that can be edited by further users; System administrator has access to administrative components of the site; Aforementioned user is routed to the main view page
T-VIEW01 Successfully view the timelineThe atlas is installed and not set to maintenance mode n/a
T-MAINT01 Successfully access the maintenance screen
The atlas is installed and propery configured and the admin user is logged in and able to access the maintenance toggle UI
The atlas is made unavailable for non admin users, database interaction via the website has been disabled leaving the application stack safe for service
T-UREG01 User RegistrationThe atlas is installed and not set to maintenance mode
The new user is registered and has all needed access
T-LOGUA01 Login a User accountThe atlas is installed and not set to maintenance mode The user is logged in to the system
T-LOGUA02 Log out of a user account
The atlas is installed and not set to maintenance mode, and the user is logged in The user is logged out of the system
T-EDIT01 Edit an existing user account
The atlas is installed and not set to maintenance mode and the user is logged in
The users information is changed in the database
Test Cases Continued
Click here to view full test case information
Test Case ID Test Case Name Pre-Conditions Post-ConditionsT-EDTEVT01 Edit a timeline element The atlas is installed and not set to
maintenance mode. The user is logged in and has edit access for the timeline
The new information is saved in the database and displayed properly on the timeline.
T-ADDLOC01 Create a new location A timeline has been set up for editing and the user has permission to alter the timeline
An appropriately titled Wikipage is generated in addition to the main object. The new location appears on the map, and all appropriate data linkages have been made in the database
T-EDTLOC01 Edit a location The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline
The new information is saved in the database and displayed properly on the timeline.
Create Personality An appropriately titled Wikipage is generated in addition to the main object.
Edit a personality
Create Concept Page An appropriately titled Wikipage is generated in addition to the main object.
T-EDTEVT01 Edit a timeline element The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline
The new information is saved in the database and displayed properly on the timeline.
Test Cases Continued
Click here to view full test case information
Test Case ID Test Case Name Pre-Conditions Post-ConditionsEdit Concept Page
T-PAYPAL01 Donate to PayPal none user has donated to the website
T-DELLOC01 Delete Location from timeline The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline
The location is no longer displayed on the map
Delete Personality from timeline
T-DELEVT01 Delete Event from timeline The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline
The event is no longer displayed on the timeline
Delete Concept from timeline
T-VIEWWIKI01 View a Wiki Page The atals is installed and not set to maintenance mode
The user can view the appropriate Wiki page
Domain RulesRule ID Description Source Relevance
REQ_LATLNGAll locations to be stored as (lat,lng) touples Original Project
The Google Maps API makes use of this format, so the Gordian Atlas will as well.
REQ_UTC
All dates and times for the initial release will be stored as UTC / Gregorian Format Original Project
The SMILE Timeline Widget best handles this format. Until localization is heavily considered or another more desirable widget emerges, we will simply bow to the requirement.
GROUP_REQ_OWNER
A group requires a registered user as an Owner. Henceforth, that user is a "Timeline Owner" for that specific Group. Elaboration 2
In an effort to gracefully handle ownership and privacy concerns, groups were introduced. The result is Timelines are owned by Groups, but the Groups are henceforth owned by the initial "Timeline Creator"
VIEW_REQ_GROUPS
Views (at least one) belong to a Group and consist of at least one timeline belonging to that group. Elaboration 2
Timelines are queried by views, which are owned by groups. Initially each Group has one Timeline and View which work as a singular entity. Further timelines and custom views may be created later.
USER_REQ_GROUPSA registered user must belong to at least one group. Elaboration 2
Due to GROUP_PRIVACY, if a user is orphaned from all groups, they are effectively banned from viewing any information on an installed atlas.
TIMELINE_REQ_GROUP
Although created by a User, Timelines are owned by a Group object (which in turn is owned by the creating user) Elaboration 2
This allows for timelines to be owned by many users (Multiple Owners in one group) or easily reassign ownership for negligent or problematic end users.
GROUP_PRIVACY
ALL Groups (and consequentially, subsidiary components such as views and timelines) are private Elaboration 2
A User must automatically join any public groups, or are effectively banned from the system.
UUID_EVENT_TIME_TITLEAn event must be uniquely identifiable by it's date and title Elaboration 4
It will be nigh on impossible to distinguish between two events that occured on the same date with the same title. For sanity's sake, the system assumes there are no such collisions.
Software Architecture
Most of the iteration was spent constructing the website. There is nothing new for software architecture.
Glossary
No changes
Most current version always available via the project wiki.
Discussion
Thank you for your time. If you have any questions, please feel free to
ask.
Or see the project wiki and repository for additional information.
The currently developed Gordian Atlas is live at gordianatlas.com