72 lines
6.2 KiB
Plaintext
72 lines
6.2 KiB
Plaintext
|
|
Alpha 0.01 Create couchdb/pouchdb databases as well as redux flow and access to django authentication/user management API (Status - WIP)
|
|
start
|
|
load index.html automatically into a login page
|
|
After login is succesful use security token to pull list of access and permissions information
|
|
From this point on to load to pouchdb any new database use project access id + user access token
|
|
Each project has an id which is required to find it in the couchdb and unexpired access id requried to read it
|
|
# I am not sure how I am going to synchronize security per project information with django server which has all the security
|
|
# information - most probably every 15 minutes django will contact couchdb and update the access tokens for each project
|
|
# since they are just certificates it should be pretty quick
|
|
# I will also investigate use of a common authenticator like oauth
|
|
Now user has their security paradigm loaded we need to load what they can see based on their clearance
|
|
play intro animation
|
|
While playing intro animation initiate pouchdb from couchdb and throw connection error if cannot pull from couchdb
|
|
From pouchdb initialize state and load redux
|
|
Check length of companies array in projects registry
|
|
This is a sanity check as each user should be part of at least one company and this list should not be empty
|
|
Else exit program and let user know that their security information could not be pulled (contact admin)
|
|
From redux check length of projects array in projects registry with filter for currentSelectedCompanyId
|
|
This is a sanity check as each user should be part of at least one project and this list should not be empty
|
|
Else exit program and let user know that their security information could not be pulled (contact admin)
|
|
Open project document using currentSelectedProjectId in dashboard
|
|
Load security tokens from API for project/company/tenant management django cloud app
|
|
Dashboard should contain a pull down for current company
|
|
Dashboard should contain a pull down for current project filtered based on company
|
|
Dashboard should have a new company button if they are cleared to created companies (otherwise don't show button)
|
|
Dashboard should contain a new project button based on company selected if they are cleared to create projects (otherwise don't show button)
|
|
Dashboard should contain a button for managing/viewing selected project
|
|
Dashboard should contain a button to manage company security if cleared (othewise no button)
|
|
Dashboard should contain a botton to manage PMO security if cleared (otherwise no button)
|
|
This concludes initial load - At this point user have following options
|
|
-Can select company or add a new company and activate it as selected company (if companyAdmin - otherwise new company is greyed out )
|
|
-Can select project or add a new project into company project registry for the company (if companyAdmin - otherwise new project is greyed out)
|
|
-If has permissions can initiate roles and responsibilties module for tenant adminitration to exit dasboard to go to tenant security module
|
|
-If has permissions can initiate roles and responsibilities module for company administration to exit dashboard to go to company security module
|
|
-Can chose to manage selected project and exits to that projects management module
|
|
Project Management Modules are dynamically created as each project has a different management
|
|
paradigm associated with project management model template. Each project has two different databases
|
|
meta-data database with contains relations based project management model as well as security. And another
|
|
unstructured document for each "leaf" in WBS structure. This allows flexibility to be managed on
|
|
schema created in metadata. That is to say each atomic work package at end of of WBS tree is a free form
|
|
document that can contain many data types including attachments, pictures,...
|
|
-Once in project management module we have different layout and options loaded based on management module template chosen during creation
|
|
-All KPIs and reporting of relations is built dynamically as each "object" of WBS tree only contains parents. Reason for multiple parents is that
|
|
an object can be related multiple objects. Objects are created based on project management model chosen.
|
|
|
|
|
|
Alpha 0.02 Use user profile model to load company/project dashboard as per user profile
|
|
Instead of writing to console, write to logs
|
|
Load with new project window a selector for template
|
|
Template will contain project schema for NoSQL for data that will be captured - Template will be versioned
|
|
Template will contain task definitions, relation definition, methodology and reporting framework
|
|
Template will also be mother of project specific workers, actioners, collectors and other artifacts
|
|
Create default template which is "DITSWBS instance configuration" project
|
|
Proces expected as follows:
|
|
-Since we don't have cloud instantiation defined yet user logs into dev DITSWBS environment
|
|
-User logs in
|
|
-If no company defined default admin will create the first company
|
|
-If no project is defined it will default to initial project which is configuration of DITSWBS
|
|
-If both company and project is defined user will default to last used company/project combination or to the default
|
|
-User presented with project dashboard defined as per template used
|
|
-User continues to work through drilling down this dashboard or selects different company/project pair (if user pulls down company change selector, upon selection project selector pops up. If user selects another project in same company this is only one step of selecting project. Cannot commit selections without both company and project being defined as selection)
|
|
Alpha 0.03 Create default project management model (PMP6) and couchdb database for PModels
|
|
Alpha 0.04 Synch django with couchdb for list of projects and security paradigm
|
|
Alpha 0.05 Create company form with upward sync
|
|
Alpha 0.06 Project creation form using PMP6 model as default with upward sync
|
|
Alpha 0.07 Create initial project management pages for a project created using PMP6 model
|
|
At this point admin can create users in django and projects created with PMP6 model will appear django as well as new database in couchdb (user has full rights to do everything)
|
|
...
|
|
Alpha 0.49 Create production build for react WBS app container
|
|
Alpha 0.50 Create container deployment scripts for kubernetes
|
|
Alpha 0.51 Create cton |