Project: Sumitha Lex
STATUS Status: open Current Version: |
TEAM Lead: user Tech: sumithaprathap Tester: SANGEETH SUSEEL P |
BUG STATUS All Reported Issues: 2 All Open Issues: 1 Open High Issues: 0 |
OTHER DATA |
NEW BUILD NOTES |
A vTable is basically a component stored in ‘oxygencomponents’ table. The schema or the structure of vTable is stored in the ‘GlobalAttributes’. The structure includes information about the attributes and also the relationship between different vtables. The key attributes/columns are named using K1, K2, K3 and K4. The other attributes/columns are named as C1, C2,....etc. For every Key attribute there is a duplicate non-key attribute. The ‘GlobalAttributes’ holds vTable definition. The actual data is stored in ‘vTableHostSpoke1’ table.
An atomic vtable is independent table which shows details of various attributes of the table. Since atomic tables are not dependant on other tables, LVTableTemplate == RVTableTemplate.
[1] Soft Link to the repo : Server: /Code/github/GreenDeployForSumithaP_0011_0094/vTable/vTableConfigurationAndMaintenanceView/ServerSide/server.js
[2] In the home panel, enter value for "ParentTableTemplateID" as '_FFFFFFFFFFFFFF00001498500322168089_' or any other template of choice as base template. The display name of the vtable template is 'VTablesBasic-0061-0025-0044' .
A composite table shows a parent-child relation between several vtables, here the LVTableTemplate and the RVTableTemplate where LVTableTemplate composes one of the attributes from the RVTableTemplate. Unlike Atomic tables, in composite vtables, LVTableTemplate != RVTableTemplate due to the relation.
[1] Softlink to the repo : Server: /Code/github/GreenDeployForSumithaP_0011_0094/vTable/vTableConfigurationAndMaintenanceView/ServerSide
[2] In the home panel, enter value for "ParentTableTemplateID" as '_FFFFFFFFFFFFFF00001498500322168089_' or any other template of choice as base template. The display name of the vtable template is 'VTablesBasic-0061-0025-0044' . Adding attributes to vTable:
In case of composite tables, LVTableTemplate is the template which composes of the RVTableTemplate. There is a parent-child relation.
After adding attributes to the vtable template, any of the added attributes could be made as a ‘key’ attribute using the button “Make Column as Key-Column” and providing the vTable template ID in LVTableTemplate and the new and old LLocalAttribute. This would make the nonkey Attribute as Key if there is space for Keys and duplicates values of Attributes in the appropriate column of the vtable LVTableTemplate. In case a key attribute needs to be deleted, the button “Delete a Key-Column” could be used by providing LVTableTemplate which is the vTable in which the key is being deleted and LLocalAttribute which is the attribute which is being deleted.
Click on ‘Modify row’ button in home panel. A new panel ‘Modify VTable Data’ opens with following options: [a] create a record/row in a vTable
vTable View implements the functionality to display the rows of a given vtable: Repo:
Please refer sheet “SumithaVTable-GA” in spreadsheet
Sheet “SumithaVTable-GA” shows the details of attributes of each of the atomic vTables in GlobalAttributes table.
Following are the Atomic vTables: [Refer “LVTableTemplate”/”RVTableTemplate” column in sheet “SumithaVTable-GA” for details.]
Following is the Composite vTable: [Refer “LVTableTemplate”/”RVTableTemplate” column in sheet “SumithaVTable-GA” for details.]
VTable level APIs:
It creates a record in the 'oxygen components' table by maintaining the hierarchy of Family, Type, RootTemplate, Template by getting from parenttemplateid Owner, Org and Account be identical to the one who is creating the templateParameters: TableTemplateNamePrefix - Prefix name of the vtable that is to be created
creates a vTable template's tip
Parameters: Template OID - Template ID of the vTable whose tip is to be created. VTable Column level APIs:
Add a column/attribute for the table template that is created using API "createvTableTemplate"
Parameters: LVTableTemplate: Table template that this global attribute is created in.
Returns columns for the specified vTable. Parameters: TableID is the oxygen ID returned by the API addOxygenComponent.
Makes a current nonkey Attribute a Key if there is space for Keys and duplicates values of Attributes in the appropriate column of the vtable LVTableTemplate. Parameters: LVTableTemplate is the vTable in which key is being added.
Deletes a Key attribute specified as LLocalAttribute in the vTable LVTableTemplate Parameters: LVTableTemplate is the vTable in which key is being deleted. VTable Row level APIs:
Adds a row/record to the specified vTable Parameters: TableID is the oxygen ID returned by the API addOxygenComponent.
Returns the specified record/row from the vtable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Updates the specified record/row in a vTable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Deletes the specified record/row in a vTable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Retrieves all the rows in the vTable between the specified range in time Parameters: SearchQuery: Display name of the vTable returned by the API createvtableTemplate
Deletes a Non-Key attribute specified as LLocalAttribute in the vTable LVTableTemplate Parameters: LVTableTemplate is the vTable in which non-key attribute is being deleted.
A vTable is basically a component stored in ‘oxygencomponents’ table. The schema or the structure of vTable is stored in the ‘oxygen_globalAttributes’ in Aurora DB. The structure includes information about the attributes and also the relationship between different vtables. The ‘oxygen_globalAttributes’ table holds vTable definition. The actual data is stored in the specific relational vTable in Aurora.
An atomic vtable is independent table which shows details of various attributes of the table. Since atomic tables are not dependant on other tables, LVTableTemplate == RVTableTemplate.
[1] Soft Link to the repo : Server: /Code/github/GreenDeployForSumithaP_0011_0094/vTable/RestaurantServer/server.js
In the RelationalVTableTip’s main panel, in the Right Menu options, click on “Create vTable” option. The following panel is displayed:
[2] In the home panel, enter value for "ParentTableTemplateID" as '_FFFFFFFFFFFFFF00001573141528890334_' or any other template of choice as base template. The display name of the vtable template is 'RelationalVTablesBasic-0011' . In the RelationalVTableTip’s main panel, in the Right Menu options, click on “Add Global attribute” option. The following panel is displayed:
A composite table shows a parent-child relation between several vtables, here the LVTableTemplate and the RVTableTemplate where LVTableTemplate composes one of the attributes from the RVTableTemplate. Unlike Atomic tables, in composite vtables, LVTableTemplate != RVTableTemplate due to the relation.
[1] Softlink to the repo : Server: /Code/github/GreenDeployForSumithaP_0011_0094/vTable/RestaurantServer/server.js
[2] In the home panel, enter value for "ParentTableTemplateID" as '_FFFFFFFFFFFFFF00001573141528890334_' or any other template of choice as base template. The display name of the vtable template is 'RelationalVTablesBasic-0011' .
In case of composite tables, LVTableTemplate is the template which composes of the RVTableTemplate. There is a parent-child relation.
Click on ‘Modify row’ button in home panel. A new panel ‘Modify VTable Data’ opens with following options:
[a] create a record/row in a vTable
[b] update a record/row in a vTable
vTable View implements the functionality to display the rows of a given vtable: Repo:
People Table: _FFFFFFFFFFFFFF00001573828029456249_
VTable level APIs:
It creates a record in the 'oxygen components' table by maintaining the hierarchy of Family, Type, RootTemplate, Template by getting from parenttemplateid Owner, Org and Account be identical to the one who is creating the templateParameters: TableeNamePrefix - Prefix name of the vtable that is to be created . VTable Column level APIs:
Add a column/attribute for the table template that is created using API "createRelationalvTable"
Parameters: LVTableTemplate: Table template that this global attribute is created in.
Returns columns for the specified vTable. Parameters: TableID is the oxygen ID returned by the API addOxygenComponent.
VTable Row level APIs:
Adds a row/record to the specified vTable Parameters: TableID is the oxygen ID returned by the API addOxygenComponent.
Returns the specified record/row from the vtable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Updates the specified record/row in a vTable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Deletes the specified record/row in a vTable Parameters: TableID is the oxygen ID returned by the API 'addOxygenComponent'.
Retrieves all the rows in the vTable between the specified range in time Parameters: SearchQuery: Display name of the vTable returned by the API createRelationalvtable
OverviewAgent/poster posts a house for rent in craigslist.com on behalf of the house owner. People interested in the post contact poster via email or via website mentioned in the post. When the customer replies to the post via email, the simplia system is notified about the email. Then the poster is attributed with lead points which is later used to calculate the poster’s pay. If the customer responds to the post via the website mentioned in the post, the simplia system tracks that and attributes it as webLead to the poster. Simplia system also keeps track of all the posts done by the poster. Anytime poster’s manager could login to simplia and check performance of posters.
Creates a gmail account, a craigslist account. Available Domains are listed in https://console.aws.amazon.com/ses/home?region=us-east-1#verified-senders-domain: Sets email forwarding to the assigned domain. For example, if gmail id is lotusagent1000@gmail.com and his assigned domain is foru2find.com then sets the email forwarding to lotusagent1000@foru2find.com. Refer the slides under doc references section for detailed steps.
Note: To verify forwarding address(lotusagent1000@foru2find.com), go to https://s3.console.aws.amazon.com/s3/object/received-emails-ses/emails/senders/ and search for “forward”. In the googlemail folder, open the last folder( which is usually the latest one). Open the body.txt. Here the verification code is found.
Verifying Email forwarding[Needs aws platform400 access] : alternate way until the issue is investigated/fixed Set forwarding address as mentioned above. Send verification code. Refresh and open the link matching the timestamp when u sent the verification code. Check for entry similar to “email-subject: (#634769307) Gmail Forwarding Confirmation - Receive Emails from deepudharmajan1994@gmail.com”
“634769307” is the verification code. Note that the above email id and verification code is just for example.
Creates and publishes post in craigslist. Refer the slides under doc references section for detailed steps.
Registers the post in simplia using the AddPost panel in two steps.
this is set by the agent and domain in simplia (only done once)
this is what is submitted by poster for each ad(sample post only):
Manager checks following metrics to assess agent/poster’s performance: Leads, Quality Leads, Modem refresh count, Browser refresh count, Email Leads, Website Leads, Total time, Worked time, Not worked time, Total posts, Active posts, Not active posts. Clicking on “View History” right menu option and providing the agent’s simplia account id displays metrics as selected:
Clicking on “performance view” right menu option displays agent’s all metrics in table form.
Clicking on “chart view” right menu option displays agent’s all metrics as pie chart.
Clicking on “view timeline” right menu option displays all leads in timeline.
Soon after the poster registers the post in simplia, system starts tracking the post’s status every minute. When customer contacts poster via email, the system attributes it to the “Email Leads” metric for the agent/poster. When customer contacts poster via email, the system sends a welcome email to the customer. When customer contacts poster by registering on a website, the system attributes it to the “Web Leads” metric for the agent/poster.
Poster_Flows_181026 by Rick Omori (slides pasted here for ref.)
Overview:The app is used to perform the canonical CRUD operations on vtables. For more info about vtables, please refer the 1st section of this document. The app understands what operation user wants to perform and on which vtable through dialogue with the user. It then displays a form so that user could perform the operation he had requested. As mentioned, user can use the app to create a record, retrieve a record, update a record and delete a record from the desired vtable.
Please note: For simplicity, the app is designed to recognize only the following vtable: Cars0000-0098
App needs to be trained to include other vtables. Please contact the developer for this.
[1] Deploy app in test machine: Link a simplia Tip to the following components and refresh browser: /Code/github/GreenDeployForSumithaP_0011_0094/vTable/VueJsTestFormClient/ /Code/github/GreenDeployForSumithaP_0011_0094/vTable/VueJsTestFormSrv/server.js
[2] Open the newly configured tip.
[3] Console logs at https://<test server name>.laxroute53.com/outlog/simplia
[4] Error logs at https://<test server name>.laxroute53.com/errlog/simplia
Main panel:
User action: In the Main panel’s text box, input any one action to perform like create, retrieve, update, delete. Synonyms like add, put, remove, modify, read, write, etc must also be resolved to one of the CRUD operations. Expected behaviour: [a] App must resolve user’s intention by displaying list of operations as buttons to the user. [b] When user clicks on the desired action button, app must ask the name of the table.
User action: Input just first few characters from any of the following table name: Cars0000-0098
Expected behaviour: [a] App must display the vtables full names as buttons so that user could choose the desired table.
[b] Upon clicking the desired table button, its form must be displayed:
User action: Input details in respective attributes of the chosen vtable. Click on “Add row” button Expected behaviour: App must create a record in the desired vtable and return confirmation message to the user as shown below.
Note: Verify the same using the vtables view panel. Refer to section “View contents of a vTable” in this document. Alternatively use the “Retrieve a record” option in this app to verify the record is created.
User action: Click on desired table button to display the form with a textbox to enter the key value of the record. Input the key value of the record. Click on the “Get record” button. Expected behaviour: App must fetch the record details and display as table:
User action: Clicking the “update record in vtable” button and choosing the desired table, displays form to enter the key value of the record. [1] Input the key value of the record. Click on the “update record” button. [2] After modifying some field, click on “update details” button. Expected behaviour: [1] App must fetch the desired record details and display it as table with the attributes as editable fields. [2] The record must be updated in the vtable and confirmation message is displayed to the user:
User action: Clicking the “delete record in vtable” button and choosing the desired table, displays form to enter the key value of the record.
Input the key value of the record. Click on the “delete record” button. Expected behaviour: The record must be deleted from the vtable and confirmation message is displayed to the user:
Set-up instructions[for standalone app]:=========================================== [1] Deploy app in test machine from https://s3.console.aws.amazon.com/s3/buckets/oxygen-codebase/EFS/EFS01/Code/github/GreenDeployForSumithaP_0011_0094/vTable/LexVTableApp_0025/?region=us-east-1&tab=overview
[2] After deploying, the app could be accessed as http://<test server name>.laxroute53.com/LexVTableApp_0025/clientSide/main.html
[3] Console logs at https://<test server name>.laxroute53.com/outlog/LexVTableApp_0025
[4] Error logs at https://<test server name>.laxroute53.com/errlog/LexVTableApp_0025
Landing page:
User action: In the landing page’s text box, input any one action to perform like create, retrieve, update, delete. Synonyms like add, put, remove, modify, read, write, etc must also be resolved to one of the CRUD operations. Expected behaviour: [a] App must resolve user’s intention by displaying list of operations as buttons to the user. [b] When user clicks on the desired action button, app must ask the name of the table.
User action: Input just first few characters from any of the following table names: Cars0000-0098
Expected behaviour: [a] App must display the vtables full names as buttons so that user could choose the desired table.
[b] Upon clicking the desired table button, its form must be displayed:
User action: Input details in respective attributes of the chosen vtable. Click on “Add row” button Expected behaviour: App must create a record in the desired vtable and return confirmation message to the user. Note: Verify the same using the vtables view panel. Refer to section “View contents of a vTable” in this document. Alternatively use the “Retrieve a record” option in this app to verify the record is created.
User action: Click on desired table button to display the form with a textbox to enter the key value of the record. Input the key value of the record. Click on the “Get record” button. Expected behaviour: App must fetch the record details and display as table:
User action: Clicking the “update record in vtable” button and choosing the desired table, displays form to enter the key value of the record. [1] Input the key value of the record. Click on the “update record” button. [2] After modifying some field, click on “update details” button. Expected behaviour: [1] App must fetch the desired record details and display it as table with the attributes as editable fields. [2] The record must be updated in the vtable and confirmation message is displayed to the user:
User action: Clicking the “delete record in vtable” button and choosing the desired table, displays form to enter the key value of the record. Input the key value of the record. Click on the “delete record” button. Expected behaviour: The record must be deleted from the vtable and confirmation message is displayed to the user: |