Identity/EngPlan: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
[[https://wiki.mozilla.org/Identity|Identity]] Engineering plan.  
[[https://wiki.mozilla.org/Identity|Identity]] Engineering plan.  


This document addresses the build portions of the Identity service, including the Verified Email Protocol (VEP), Verified Email Service (VES), Web Based Verified Email Client (wVEC), Firefox Native Verified Email Client (fVEC)
This document addresses the build portions of the Identity service, including the Verified Email Protocol (VEP), [[VESEngPlan|Verified Email Service] (VES), [[wVEC|Web Based Verified Email Client]] (wVEC), [[fVEC|Firefox Native Verified Email Client]] (fVEC)


= Key People =
= Key People =
Line 24: Line 24:
|bug=663276
|bug=663276
|assumes=Finalization of the internal Certificate format
|assumes=Finalization of the internal Certificate format
|workingEst=Code Complete (as of 2011Jun13)
|workingEst=*code complete as of 2011Jun13*
|bestCase=
|bestCase=
|worstCase=
|worstCase=
Line 45: Line 45:
|workItemDesc=Complete work on server admin page (address registration)
|workItemDesc=Complete work on server admin page (address registration)
|assignee=jrconlin
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Completion of UX designs, Completion of core server
|assumes=Completion of UX designs, Completion of core server
|workingEst=4 days
|workingEst=*code complete as of 2011Jun13*
|bestCase=3 days
|bestCase=3 days
|worstCase=4 days
|worstCase=4 days
Line 56: Line 56:
|workItemDesc=Long term data storage for VES
|workItemDesc=Long term data storage for VES
|assignee=jrconlin
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=finalization of the VES data requirements
|assumes=finalization of the VES data requirements
|workingEst=*code complete as of 2011Jun13*
|workingEst=*code complete as of 2011Jun13*
Line 67: Line 67:
|workItemDesc=Performance testing for VES
|workItemDesc=Performance testing for VES
|assignee=jrconlin
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Working VES
|assumes=Working VES
|workingEst=4 days
|workingEst=4 days
Line 78: Line 78:
|workItemDesc=Validating unit test coverage for QA
|workItemDesc=Validating unit test coverage for QA
|assignee=jrconlin
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Working VES
|assumes=Working VES
|workingEst=4 days
|workingEst=4 days
Line 89: Line 89:
|workItemDesc=Misc. server deployment tasks and checks (LDAP connection, Mail server, etc.)
|workItemDesc=Misc. server deployment tasks and checks (LDAP connection, Mail server, etc.)
|assignee=jrconlin
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Working VES
|assumes=Working VES
|workingEst=2 days
|workingEst=*code complete as of 2011Jun14*
|bestCase=1 day
|bestCase=1 day
|worstCase=5 days
|worstCase=5 days
Line 102: Line 102:
|workItemDesc=Security Review
|workItemDesc=Security Review
|assignee=jrconlin, opsec-TBD
|assignee=jrconlin, opsec-TBD
|bug=_*TBD*_
|bug='''TBD'''
|assumes=
|assumes=
|workingEst=_*REQUIRES SCHEDULING*_
|workingEst='''REQUIRES SCHEDULING'''
|bestCase=
|bestCase=
|worstCase=
|worstCase=
Line 111: Line 111:


{{WorkItem
{{WorkItem
|workItemDesc=Package and Deploy server to Test
|workItemDesc=Package and Deploy server to Beta
|assignee=TBD
|assignee=jrconlin
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Working service
|assumes=Working service, Available beta platform
|workingEst=TBD
|workingEst='''TBD'''
|bestCase=
|bestCase=
|worstCase=
|worstCase=
Line 123: Line 123:
{{WorkItem
{{WorkItem
|workItemDesc=Q.A. testing
|workItemDesc=Q.A. testing
|assignee=TBD
|assignee='''TBD'''
|bug=_*TBD*_
|bug='''TBD'''
|assumes=Working Service; jrconlin provides proper testing architecture
|assumes=Working Service; jrconlin provides proper testing architecture
|workingEst=11 days
|workingEst=11 days
Line 131: Line 131:
|mostLikely=10 days  
|mostLikely=10 days  
}}
}}
== Web Verified Email Client (wVEC) ==
{{WorkItem
|workItemDesc=Local crypto implementation, (notably Random Number Generator)
|assignee=rmiller
|bug=_*TBD*_
|assumes=InfraSec sign off on secure javascript crypto library
|workingEst=TBD
|bestCase=1 day
|worstCase=Unknown
|mostLikely=2 days (provided InfraSec sign off)
}}
{{WorkItem
|workItemDesc=UI responsibilities (IOW: what UI elements live on the server vs. what are presented from inside the library)
|assignee=rmiller
|bug=_*TBD*_
|assumes=UX fully defined.
|workingEst=2 days
|bestCase=.5 days
|worstCase=4 days
|mostLikely=2 days
}}
{{WorkItem
|workItemDesc=create 'navigator.id' client wrapper and inter-frame communications
|assignee=rmiller
|bug=_*TBD*_
|assumes=
|workingEst=1 day
|bestCase=1 day
|worstCase=2 days
|mostLikely=1 day
}}
{{WorkItem
|workItemDesc=Create iframe containing actual client implementation, along with RP handshake
|assignee=rmiller
|bug=_*TBD*_
|assumes=
|workingEst=3 days
|bestCase=2 days
|worstCase=6 days
|mostLikely=2 days
}}
{{WorkItem
|workItemDesc=UI for displaying / selecting verified email addresses
|assignee=rmiller
|bug=_*TBD*_
|assumes=UI finalized
|workingEst=2 days
|bestCase=1 days
|worstCase=5 days
|mostLikely=2 days
}}
{{WorkItem
|workItemDesc=Jasmine test coverage
|assignee=rmiller
|bug=_*TBD*_
|assumes=
|workingEst=3 days
|bestCase=2 days
|worstCase=5 days
|mostLikely=3 days
}}
{{WorkItem
|workItemDesc=Documentation
|assignee=rmiller
|bug=_*TBD*_
|assumes=
|workingEst=2 days
|bestCase=1 day
|worstCase=4 days
|mostLikely=2 days
}}
=== External Dependencies ===
{{WorkItem
|workItemDesc=Security Review
|assignee=rmiller
|bug=_*TBD*_
|assumes=requires InfraSec
|workingEst=_*TBD*_
|bestCase=
|worstCase=
|mostLikely=
}}
{{WorkItem
|workItemDesc=Packaging and Deployment
|assignee=rmiller
|bug=_*TBD*_
|assumes=
|workingEst=_*TBD*_
|bestCase=
|worstCase=
|mostLikely=
}}
== Firefox Verified Email Client (fVEC) ==
{{WorkItem
|workItemDesc=Design Docs
|assignee=ddahl
|bug=_*TBD*_
|assumes=Completed protocol specifications
|workingEst=2 days
|bestCase=1 day
|worstCase=3 days
|mostLikely=2 days
}}
{{WorkItem
|workItemDesc=Browser level API
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=3 days
|bestCase=2 days
|worstCase=5 days
|mostLikely=3 days
}}
{{WorkItem
|workItemDesc=Identity Registration
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=2 days
|bestCase=5 days
|worstCase=20 days
|mostLikely=10 days
}}
{{WorkItem
|workItemDesc=Identity Assertion Generation
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=9 days
|bestCase=5 days
|worstCase=15 days
|mostLikely=9 days
}}
{{WorkItem
|workItemDesc=Certificate Refresh
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=4 days
|bestCase=2 days
|worstCase=6 days
|mostLikely=4 days
}}
{{WorkItem
|workItemDesc=Internal Crypto API
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=3
|bestCase=1 day
|worstCase=7 days
|mostLikely=3 days
}}
{{WorkItem
|workItemDesc=UI (front-end, 'login to browser')
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=12 days
|bestCase=8 days
|worstCase=15 days
|mostLikely=20 days
}}
=== External Dependencies ===
{{WorkItem
|workItemDesc=Platform NSS Wraper API
|assignee=ddahl
|bug=_*TBD*_
|assumes=need coordination with bsmith
|workingEst=TBD
|bestCase=
|worstCase=
|mostLikely=
}}
{{WorkItem
|workItemDesc=Platform NSS Wraper API
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=11 days
|bestCase=5 days
|worstCase=20 days
|mostLikely=10 days
}}
{{WorkItem
|workItemDesc=Code Review
|assignee=ddahl
|bug=_*TBD*_
|assumes=
|workingEst=13 days
|bestCase=10 days
|worstCase=25 days
|mostLikely=13 days
}}
{{WorkItem
|workItemDesc=Security Review
|assignee=ddahl
|bug=_*TBD*_
|assumes=Scheduling with InfraSec
|workingEst=1 day
|bestCase=1 day
|worstCase=2 days
|mostLikely=1 day
}}


= Timeline =
= Timeline =
Line 368: Line 141:


== Milestones ==
== Milestones ==
Milestone 1: Completion of the Identity Server
===Milestone 1: Completion of the Identity Server===
* server should be deployed to a test configuration with access to test LDAP and some level of backend storage.
* server should be deployed to a test configuration with access to test LDAP and some level of backend storage.
* user should be able to perform minimal account related actions
* user should be able to perform minimal account related actions
** Expected completion: Done


Milestone 2: Completion of the Web Client
* Working Estimate: Done
* Expected completion: Done
 
 
===Milestone 2: Working integration of server and client code===
* client should be able to work with the existing server
* client should be able to work with the existing server
* client should be able to provide basic VEP service to a demo 3rd party site
* client should be able to provide basic VEP service to a demo 3rd party site
* Working Estimate: 4 days
* Target Completion: Jun 21


Milestone 3: Completion of the Firefox Native client
===Milestone 3: Security and QA signoff===
* client should be able to work with existing server
* server code passes QA and InfraSec reviews.
* client should be able to provide basic VEP service to a demo 3rd party site
 
Milestone 4: UI and UX cleanup
* rough placeholders and layout removed in favor of better designed.
* some packaging and base documentation in place.
 
Milestone 5: Security and QA signoff
* site passes QA and InfraSec reviews.
* base set of scriptable QA tests in place for maintenance.
* base set of scriptable QA tests in place for maintenance.
* Pending Issues: Need to schedule time with InfraSec
* Working Estimate: '''TBD'''
* Target Completion: '''TBD'''


Milestone 6: Deployment
===Milestone 4: Deployment to Beta server===
* Code is deployed to a public accessible server (beta) for preliminary testing and user feedback.
* Code is deployed to a public accessible server (beta) for preliminary testing and user feedback.
 
* Pending Issues: Beta Server configuration.
=== M1 (Completion of the Identity Server) ===
* Working Estimate: '''TBD'''
 
* Target Completion: '''TBD'''
Working Estimate: 0 days
 
Target Completion (ready for infra) is Jun 14th
 
=== M2 (Completion of wVEC) ===
 
Working Estimate: TBD
 
Target Completion:
 
=== M3 (Completion of fVEC) ===
 
Working Estimate: TBD
 
Target Completion:
 
=== M4 (UX/UI complete) ===
 
Working Estimate: TBD
 
Target Completion:
 
=== M5 (Sec / QA signoff) ===
 
Working Estimate: TBD
 
Target Completion:
 
=== M6 (Deployment) ===
 
Working Estimate: TBD
 
Target Completion:

Revision as of 20:40, 15 June 2011

Overview

[[1]] Engineering plan.

This document addresses the build portions of the Identity service, including the Verified Email Protocol (VEP), [[VESEngPlan|Verified Email Service] (VES), Web Based Verified Email Client (wVEC), Firefox Native Verified Email Client (fVEC)

Key People

Technical Lead: JR Conlin (VES)
Additional Developers: Rob Miller (wVEC), Dave Dahl (fVEC)
Project Manager: Dan Mills
Product Manager: Dan Mills
UX: TBD

Work Items

Verified Email Server

Top-level tracking bug: Template:Https://bugzilla.mozilla.org/show bug.cgi?id=663887

Port existing code to new VEP specifications

Assigned to: jrconlin
Bug: 663276
Assumes/Depends On: Finalization of the internal Certificate format
Working Estimate: *code complete as of 2011Jun13*

Best case:
Worst case:
Most Likely:

Integrate to Clients

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: completion of baseline server and client
Working Estimate: 4 days

Best case: 2 days
Worst case: 6 days
Most Likely: 4 days

Complete work on server admin page (address registration)

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: Completion of UX designs, Completion of core server
Working Estimate: *code complete as of 2011Jun13*

Best case: 3 days
Worst case: 4 days
Most Likely: 6 days

Long term data storage for VES

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: finalization of the VES data requirements
Working Estimate: *code complete as of 2011Jun13*

Best case:
Worst case:
Most Likely:

Performance testing for VES

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: Working VES
Working Estimate: 4 days

Best case: 1 day
Worst case: 6 days
Most Likely: 4 days

Validating unit test coverage for QA

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: Working VES
Working Estimate: 4 days

Best case: 1 day
Worst case: 6 days
Most Likely: 4 days

Misc. server deployment tasks and checks (LDAP connection, Mail server, etc.)

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: Working VES
Working Estimate: *code complete as of 2011Jun14*

Best case: 1 day
Worst case: 5 days
Most Likely: 1 days

External Dependencies

Security Review

Assigned to: jrconlin, opsec-TBD
Bug: TBD
Assumes/Depends On:
Working Estimate: 'REQUIRES SCHEDULING'

Best case:
Worst case:
Most Likely:

Package and Deploy server to Beta

Assigned to: jrconlin
Bug: TBD
Assumes/Depends On: Working service, Available beta platform
Working Estimate: 'TBD'

Best case:
Worst case:
Most Likely:

Q.A. testing

Assigned to: TBD
Bug: TBD
Assumes/Depends On: Working Service; jrconlin provides proper testing architecture
Working Estimate: 11 days

Best case: 5 days
Worst case: 20 days
Most Likely: 10 days

Timeline

Expected Completion

Most tasks can be parallelized with clients working off of the base server. There is some imperative in getting the base server operational on a test platform in order to provide the clients with a baseline to work from.

Working Estimate: 58 days

Milestones

Milestone 1: Completion of the Identity Server

  • server should be deployed to a test configuration with access to test LDAP and some level of backend storage.
  • user should be able to perform minimal account related actions
  • Working Estimate: Done
  • Expected completion: Done


Milestone 2: Working integration of server and client code

  • client should be able to work with the existing server
  • client should be able to provide basic VEP service to a demo 3rd party site
  • Working Estimate: 4 days
  • Target Completion: Jun 21

Milestone 3: Security and QA signoff

  • server code passes QA and InfraSec reviews.
  • base set of scriptable QA tests in place for maintenance.
  • Pending Issues: Need to schedule time with InfraSec
  • Working Estimate: TBD
  • Target Completion: TBD

Milestone 4: Deployment to Beta server

  • Code is deployed to a public accessible server (beta) for preliminary testing and user feedback.
  • Pending Issues: Beta Server configuration.
  • Working Estimate: TBD
  • Target Completion: TBD