Search PreProcessor - perform actions based on search terms
Search needs to be flexible and intuitive. Search needs to have an array of options to leverage returning search results custom to your user and industry. In your Kodaris system, one of the ways you can customize your commerce search is by using search rules. You can boost various product fields, adjust the fuzziness, and much more to tailor the results to your customers.
In this release, we've added another type of search rule called preProcessing. These pre-processing rules run before the actual product search is performed and you can redirect the user to a relevant product category based on their search terms. For example, if you want to redirect all users who search on insulation to the Insulation product category, enter a pre-processing rule that looks for the insulation keyword and then redirects to category Insulation.
To view and manage your search rules, navigate to Operations > Search Tools > Search Rules. To add a pre-processing rule:
Ensure that the global setting Use Search Preprocessing is enabled
Add a newsearch rule with the following fields:
Query - the search query you want to intercept from the user
Search Type - set this to product
Active - set this to Yes
Minimum Match - this determines how lax the rule is when comparing the user's query to the query we are looking for. The more lax it is, the more typos and alternate spellings are accepted.
Action - set this to categoryRedirect
Action Data - set this to the category you'd like to re-redirect to
Rule Type - set this to preProcessing
Pattern - set this to matchSearchText
Calculate product quantity from square footage
In this release, we've developed a calculator to make it easy for users to order insulation, drywall, or any other product applied by the square foot. On the product page, users can open the calculator and enter either the dimensions of the areas they need to cover or the total square footage to cover. Once they finish and click continue, the calculator will automatically calculate the quantity they need to purchase. This allows your users to calculate and purchase the exact quantity they need quickly and without manual calculations. This feature is in the platform but would need to be set up in your specific implementation. Please reach out to your account manager for details if interested.
Customer Portal
View and download documents
We've added a new screen to your customer portal which displays all the files in your Kodaris Document Management System for the selected customer account at the Company level. Your customers can find, preview, and download these documents as needed. To view and upload documents that your customers can access here, navigate to Operations > Companies > Company > Customer Files. Any files attached here will also appear in your customers' Documents screen.
This is a powerful tool that allows your customers to self-serve. They can access their account 24/7 and check generated statements, pricing lists, or anything documents or files you share with them. This adds the Document Management feature which is already enabled for Orders and Quotes in the Customer Portal.
To enable this feature, navigate to Operations > System > Settings and find the Customer Customer Files Enabled setting. Then set the value to 1.
Operations Portal
Get notified when a ticket is assigned to you
In your Kodaris system, you can track, manage and assign tickets to your teams. In this release, we've added a new email notification that is sent when you assign an employee to a ticket. You can subscribe to these notifications by navigating to Account > Notifications and selecting Ticket is assigned to employee notification. You can also subscribe other employees to this notification by navigating to Operations > Employees > Employee > Notifications. If you are subscribed, anytime someone assigns you a ticket, you will receive an email notification with a link to the ticket.
Tickets
KOD-12746: Issues With Search Box
KOD-13788: Additional Updates to PDF
Choose an order
Generate file
Test PDF layout
KOD-14036: Send Automatic Notification to Newly Assigned Sales Rep to a Lead
In employee portal select any Company and assign to it an employee.
Check that the assigned employee received an email notification about the assignment.
KOD-14295: Check Blank Order Email
KOD-14314: BI
KOD-14420: Message when Password is Expired
Login to the operations portal and set your password expires date on your employee record to 50 days ago. Logout. Try to login. You should be automatically redirected to a password expiration screen. It should say your password has expired. Go through the change password process and make sure that works and you can login again.
Login to the operations portal and set your password expires date on your employee record to 50 days ago. Open a new tab. Logout in that new tab. Go back to your old tab. Navigate to a different operations portal screen. You should see a dialog box open prompting you to login again. Try to login. It should auto redirect you to the password expiration screen. Go through the change password process and make sure you can login again.
Regression:
Navigate to Employee portal -> Categories -> Category. Test updating English version of category. Tested for multiple languages.
Navigate to Employee portal -> Pages -> Page. Test updating English version of the page. Tested for multiple languages.
Navigate to Employee portal -> Products -> Product. Test updating English version of the product. Tested for multiple languages.
Login to the Operations portal and then let your session expire. Try to navigate to a new screen in the operations portal. A session expired dialog should open and should prompt you to login again. Login and make sure that works fine.
Navigate to Companies -> Company -> Catalog and test assigning products to a category. Also test assigning a product to the category that has already been assigned. It should not assign it twice and not show an error either.
Navigate to Operations portal -> PIM -> Products. Test bulk uploading product images for all three types. Also test triggering an error uploading all three types. The box should show you the error messages fine.
KOD-14461: QA - Customer App on ios
KOD-14540: QA - Customer App on ios
KOD-14566: Digital Credit App Validation UX Needed
Create a credit app account
Login to the site
Check the following fields according to criteria in the ticket:
Every Phone Number field - look for 10 digits
Every Email Address field - with correct format, ie @email.com
Federal Tax ID Number - look for 9 digits with format xxx-xx-xxxx
State Contractors License Number - alpha and numeric characters allowed, no special characters
Every Zip field - at least 5 numbers
Test for prompt for sign button
KOD-14653: Add Documents Section to Customer Portal
This feature requires customerCustomerFilesEnabled setting to be on.
Test that if customerCustomerFilesEnabled is turned off, you do not see that option in the navdrawer.
Flow 1:
Open Customer portal
Make sure there is a "Documents" section in the side menu.
Go to "Documents"
Case 1:
Make sure you see list on customer files.
Case 2:
Make sure search/filtering/pagination works properly for this grid.
Case 3:
Click on "View" button.
Make sure previewer is open and you can see valid document content.
Case 4:
Click on "Download" button.
Make sure you download a valid file.
Regression:
Tested for viewing, downloading documents under Orders -> Order -> Files in the Customer portal.
KOD-14686: Create Customer Side Catalogs
No need for regression tests, have only swagger endpoints and need to implement UX side.
KOD-14741: Sending Notification when Comment is Added to a Ticket
Log into employee portal.
Create Subscription for any other employee and subscribe to SubscriptionList with code creatingTicketNoteEventEmployee.
Find any Ticket without internal comment and add two assignees to it which are different from the employee you've added to SubscriptionList and employee logged in.
Make an internal comment for this Ticket.
Make sure that the subscribed employee, two ticket assignees, ticket owner, and author of comment get the email notification about new comment.
KOD-15005: Create a CompanyAddress Catalog
KOD-15042: Need to add order numbers to the Payment Notification Emails
Testing:
In Employee portal go to Orders -> Orders, select an order and add assignee to it.
Then go inside the order and on the top right corner button menu, click on Email Order button.
On the Configure Email screen under drop down 'Display payment link' select - Yes.
On the new email screen, specify email address to send.
Once you get email with payment request, go inside and click on button 'Review and Pay'.
On the newly appeared screen, populate all required payment info and click 'Pay'.
Wait for a while and check order assignee email box, they should get email about payments notification, and that Payment Details section contains Web Order # with value.
KOD-15044: Looking to see the field that is mapped to the Mode Of Delivery
KOD-15067: Update checkout call to updateRecentlyOrderedItems to deal with Addresses and Customers
QA tests added
KOD-15075: CRM - Enforce Activity Filters not in Component
Regression
Case 1:
Open Tickets
Check that all tickets are displayed
Open browser developer tools => network
Find request
Check that the request payload contains a filterFields as empty array
Case 2:
Open CRM - Activity
Check that Tickets are filtered by ticketType ‘Activity’:
Open browser developer tools - network
Find request
Check that the request payload contains:
filterFields: [{
name: 'ticketType',
operation: 'EXPRESSION',
value: '("Activity")',
fuzzy: null,
boost: null,
not: false,
tagged: false
}]
Case 3:
Open CRM - Activity Templates
Check that Tickets are filtered by ticketType ‘ActivityTemplate’
Open browser developer tools - network
Find request
Check that the request payload contains:
filterFields: [{
name: 'ticketType',
operation: 'EXPRESSION',
value: '("ActivityTemplate")',
fuzzy: null,
boost: null,
not: false,
tagged: false
}]
Case 4:
Open CRM/Customers - Companies
Company Details
Open Tickets tab
Observe that all tickets are displayed except tickets with type 'Activity'
Open browser developer tools - network
Find request
Check that the request payload contains:
filterFields: [{
name: 'ticketType',
operation: 'EXPRESSION',
value: '("Activity")',
fuzzy: null,
boost: null,
not: true,
tagged: false
}]
Case 5:
Open CRM/Customers - Companies
Company Details
Open Activities tab
Check that Tickets are filtered by ticketType ‘Activity’
Open browser developer tools - network
Find request
Check that the request payload contains:
filterFields: [{
name: 'ticketType',
operation: 'EXPRESSION',
value: '("Activity")',
fuzzy: null,
boost: null,
not: false,
tagged: false
}]
KOD-15119: Checkout updates
KOD-15128: Typo on reset password screen
KOD-15138: Fix some minor cross browser issues
When hitting the “Enter“ key to subscribe to updates, it is showing a successful response
Also test submitting the form via button click
For both tests, subscribe email notification received
KOD-15194: Quickorder updates
KOD-15196: WarehouseTransfer
Tested only on API level, lists of created endpoints:
KOD-15212: Make fields “Type“ and “Payment System“ on the Payment Methods page unfilterable
Tested Payment Methods in Operations Portal.
Columns Type and Payment System are unfilterable. Near the column names, there is an icon with the tooltip "Filtering Unsupported".
KOD-15222: Update Template for Email Alert to Assignee of a Task
Testing the template ticketAssignedToEmployeeNotification- EMAIL
Company permission:
The ticket should have entityID and entityType is 'Company'
Ticket permission:
The ticket should not have entityID or entityType is not 'Company'
Add a subscriber:
Open Subscriptions
Subscribe for the event creatingTicketEmployeeAssignmentEventEmployee.
Test cases with Tickets permissions:
Case 1:
Open Tickets
Select Ticket
Click Ticket details
Ticket permissions are set
Add email to assignees
Check email received
Click on the link {ticketId} in the email; it should redirect to the Ticket page.
Copy and paste the URL from the email into the browser and as a result, you should be redirected on the Ticket page.
Example of the email: Hello, Ticket number {ticketId} was assigned to you. If clicking the link is not working, copy and paste this URL into your browser URL window: Thank you.
Case 2:
Open Activities
Select Ticket
Click Ticket details
Check ticket permissions set
Add email to assignees
Check email
Click on the link {ticketId} in the email to be redirected to the Ticket page
Copy and paste the URL from the email into the browser and as a result, you should be redirected on the Ticket page
Example of the email: Hello, Ticket number {ticketId} was assigned to you. If clicking the link is not working, copy and paste this URL into your browser URL window: Thank you.
Case 3:
Open Activity Templates
Select Ticket
Click Ticket details
Check ticket permissions set
Add email to assignees
Check email
Click on the link {ticketId} in the email to be redirected to the Ticket page
Copy and paste the URL from the email into the browser and as a result, you should be redirected on the Ticket page
Example of the email: Hello, Ticket number {ticketId} was assigned to you. If clicking the link is not working, copy and paste this URL into your browser URL window. Thank you.
Test cases with Company permissions:
Case 1:
Open Companies
Select Company
Select Ticket
Click Ticket details
Check that ticket has Company permission.
Add email to assignees
Check email
Click on the link {ticketId} in the email to be redirected to the Ticket page
Copy and paste the URL from the email into the browser and as a result, you should be redirected on the Ticket page
Example of the email: Hello, Ticket number {ticketId} was assigned to you. If clicking the link is not working, copy and paste this URL into your browser URL window: Thank you.
Case 2:
Open Companies
Select Company
Select Activity
Click Ticket details
Check that ticket has Company permission.
Add email to assignees
Check email
Click on the link {ticketId} in the email to be redirected to the Ticket page
Copy and paste the URL from the email into the browser and as a result, you should be redirected on the Ticket page
Example of the email: Ticket number {ticketId} was assigned to you. If clicking the link is not working, copy and paste this URL into your browser URL window: Thank you.
Error cases:
Open Development - Logs
If ticket has no ticketID
There will be an error in Logs - ticketID is required
Open Development - Logs
No ticketId found.
There will be an error in Logs - ticketID not found.
KOD-15225: Credit App PDF Error when Viewing & Downloading
Navigate to credit application link. Enter your email address to sign up for credit.
Email will be received with a link to reset password
Reset password following the link
Login as prompted
Redirected to the credit application form
Fill out the credit application.
Through the credit application and ensure that the credit application generates fine, ensuring that all filled in data on your credit application shows up on the credit application pdf.
Once the form is valid and submitted, user will be redirected to a thank you page.
In Employee portal, look for the email registered under 'Companies'
In internal files, a PDF of your application should be in there.
KOD-15227: Error while adding order items in bulk to a vendor quote on a quote
KOD-15256: Enable punchout during checkout for templates
Flow 1:
Case 1:
Login as a user with punchout credentials
Add products to shopping cart
Go to checkout page
It contains "Pay with Punchout" block and "Place order" button
Redirected to Punchout payment page
Regression:
Login as user without punchout credentials
Add products to shopping cart
Go to checkout page
Making sure layout is not broken
All available payment methods are working as expected
KOD-15260: Add Select UX to Preprocessor Search Rule Screen
Tested if pattern, action, ruleType, and searchType has dropdown and updates it
KOD-15268: Checkout updates
KOD-15294: Fix date issues
Test on different sites with different extra3 and extra4 date formats.
Force an order to be indexed and tested that the extra3Date and extra4Date are properly filled in using the development tab under the solr document data. Tested for properly indexing different date formats like 06/21/23 or 2023-06-20T00:00:00Z
KOD-15302: Add New Square Footage Calculator Feature to the Demo Site
Check linked ticket how to setup calculator logic.
Test the calculator logic and ensure it works as expected.
Tested product pages on the demo site as both logged out and logged in customer.
KOD-15306: Products in Cart not Remembered when Closing App
KOD-15307: Error when choosing a delivery method
KOD-15308: Order Detail Updates
KOD-15314: Requests should not preserve sessions
KOD-15315: Remove Some Info Sections Displayed on Product Details Page
KOD-15335: Implement - Spin up system
KOD-15341: Order Release Updates
KOD-15342: Updating the insulation calculator disclaimer
Setup calculator if it not set
Go to product page with calculator
Click calculate button
Check disclaimer text
KOD-15357: Issue with Orders
KOD-15358: Pricing Issues
Regression tests:
Tested pricing runs fine when logged in as customer