All Releases
View all releases

August 10, 2023 release notes

Highlights

PIM

Export all attributes

In your Kodaris PIM, there are a few ways you can manage filter categories and attributes.

  1. Filter Categories Screen
    1. Navigate to PIM > Filter Categories
    2. Here you can see all the filter categories that are configured for your commerce website
    3. If you select a filter category, you can view its details along with the attributes within the filter category
    4. You can add, update, and remove attributes from the filter category using the embedded spreadsheet or via the import/export tools
  2. Attributes Screen
    1. Navigate to PIM > Attributes
    2. This screen displays all the attributes across all your filter categories in your Kodaris PIM
    3. You can manage these attributes using the embedded spreadsheet or by selecting an attribute and editing its details
    4. In this release, we've added an export that exports all the attributes from this screen. You can use this to add and edit attributes across all your filter categories via import/export.
516_export_PIM_attributes_1.png

516_export_PIM_attributes_2.png

Tickets

  1. KOD-13248: Silently Re-login After Employee's Session Expires Using Google Sign-in
    • Case 1:
      • We need to test that logging into the Employee Portal using username/password works fine.
        • As a logged out employee
        • Navigate to the operations portal
        • Sign in
        • You should be signed in and re-directed to the home screen
    • Case 2:
      • We need to make sure that the employee password reset flow works fine.
        • As a logged out employee
        • Navigate to the Operations Portal
        • Click "Forgot password?" link
        • You should be re-directed to the recover password screen
        • Enter your username
        • Click the "Send" button
        • Go to your email inbox.
        • You should see a lost password email
        • Open it
        • Click on the reset password link
        • Enter your new password and then confirm your password
        • Click the submit button
        • It should redirect you to the login page
        • Sign in
        • Sign in should be successful
    • Case 3:
      • We need to test that logging into the Employee Portal using Google works fine where Google sign-on is enabled.
        • As a logged out employee
        • Navigate to the Operations Portal on a site that has Google sign-in enabled
        • Click the Google sign-in button; you should automatically be logged in and directed to the home screen
    • Case 4:
      • We need to test that logging into the Employee Portal using Google gives you a valid error message if the Operations Portal is not setup to use Google sign-in.
        • As a logged out employee
        • Navigate to the Operations Portal on a site that has does not have Google sign-in enabled
        • Click the Google sign-in button; you should see an error message that tells you that Google sign-in is not configured
    • Case 5:
      • We need to test that when your session expires from logging into the Employee Portal using username/password, you get a session expired dialog and it works.
        • As a logged out employee
        • Navigate to the Operations Portal on a site that has does not have Google sign-in enabled.
        • Sign in
        • You should be signed in and re-directed to the home screen
        • Navigate to some screen like Orders
        • Open a new tab
        • Go the Operations Portal
        • Logout from that tab
        • Go back to your other tab with screen on Orders
        • Navigate to a different screen like Quotes
        • A dialog should open that says your session has expired, please login again
        • Login using this dialog
        • The dialog should disappear
        • Go to the Cash Quotes screen
        • It should load successfully
    • Case 6:
      • We need to test that the Operations Portal generally works. Suggested tests are viewing data in grids, filtering, assigning employees, adding order items, and other common activities you do.
    • Case 1:
      • We need to test that you are silently re-logged in behind the scenes after you’ve signed in with Google sign-in and your session expires.
        • As a logged out employee
        • Navigate to the Operations Portal on a site that has Google sign-in enabled
        • Click the Google sign-in button; you should automatically be logged in and directed to the home screen
        • Go to a screen like Tickets; make sure it loads fine
        • Now we need to expire your session
        • Open a new tab
        • Go to the Operations Portal and logout
        • Go back to your other tab with the Tickets screen
        • Apply a filter to your tickets screen
        • It should work
        • Open a new tab and go to the Operations Portal; you should now be logged in automatically
  2. KOD-14345: Port Order Statuses to a Setting
    • GET /api/user/employee/configuration
  3. KOD-14413: Order Notes Duplicated on Order Edit
    • Test 1: Make sure contact info is still populated into the order note upon placing the order without a note.
    • Test 2: Make sure contact info is still populated into the order note upon placing the order with a note.
    • Test 3: Confirm user story:
      • Make sure the setting to add the customer name and phone to the order notes is off
      • Setting name is {{doNotCopyShiptoContactToOrderNotes}}, if “1” - will not add notes, otherwise - will add; you need to make the setting to *add* notes
      • Set up order to test order approval
      • When order is placed, order approver should un-approve the order
      • Customer should have to pull up order in Customer Portal and hit "Edit" to test making changes
      • If delivery data wasn’t changed and the possible contact info note will look same as before - note should not be duplicated; if delivery data was changed - it will add another contact info note, so user should edit order notes to delete old data
  4. KOD-15116: Comment Out Company Category API in Swagger
    • Go to Swagger -> System tab
    • Make sure Company Category API is not there
  5. KOD-15241: Employee Portal: Set plainNote Field on Order Child Line Item
  6. KOD-15340: Identify Items in the Cart
  7. KOD-15477: Create Server Side Import/Export for Content Pages
    • 1) Export testing
      • Currently UX not using server-side export, but it is implemented
      • Use POST {{/api/system/contentPage/export}} endpoint
    • 2) Import
      • Important detail that import and export should be compatible, so you can use export file for import testing
        • POST {{/api/system/mapped/any/file/{mappingCode}/{importType}/{fileType}}} endpoint
        • {{mappingCode}}:
        • mapping-basicContentPageUpload - Create & Update
        • mapping-basicContentPageUploadUpdateOnly - Update only
        • mapping-basicContentPageUploadCreateOnly - Create Only
        • {{importType}}: direct
        • {{fileType}}: CSV
    • Identifier for this import is {{code}}, so Content Page will be identified by {{code}} field (if code already exists record will be processed as update import)
    • You can visit Pages data tab on admin portal to check imported Content Pages
  8. KOD-15493: View and Download Documents at the Company Address Level
    • Go to Swagger
      • Test new endpoint: GET /api/account/customerCompanyAddress/{companyID}/{companyAddressID}/customerFile/{customerFileID}/view
    • Should be able to download CustomerFile attached to Company Address
    • Please make sure that endpoint is secured; try to put companyID and companyAddressID which customer should not have access to and it should return an error
  9. KOD-15503: UX - Syncing New Tracking Number
    • Please check tracking information if added in all order layouts: Order Email, Order PDF and Order (customer portal/thank you page after checkout); make sure the order has available tracking info.
  10. KOD-15584: Add Log Time Dialog to the Employee Portal
    • Case 1:
      • Open Ticket page
      • Click "Log Time" button
      • Check that Log Time dialog was opened
      • Select Ticket or you can leave it empty
      • Select Date
      • Set Hours
      • Write Description for the ticket
      • Click "Log" button
      • Log Time dialog was closed
    • Case 2:
      • Open Ticket page
      • Click "Log Time" button
      • Check that Log Time dialog was opened
      • Select Ticket or you can leave it empty
      • Select Date
      • Set Hours
      • Write Description for the ticket
      • Click on checkbox Log more time
      • Click "Log" button
      • Check that time was logged successfully
      • Log Time dialog was not closed
      • User can fill form one more time (repeat steps from Case 1)
    • Case 3:
      • Open Ticket page
      • Click "Log Time" button
      • Check that Log Time dialog was opened
      • Select Ticket
      • Click "Cancel" button
      • Check that Log Time dialog was closed
    • Case 4:
      • Open Ticket page
      • Click "Log Time" button
      • Check that Log Time dialog was opened
      • Select Ticket
      • Select Date
      • Set field Hours as empty (click on it)
      • Write Description for the ticket
      • Click "Log" button
      • Observe that Hours field is invalid
      • Log Time dialog is still opened and request was not sent
    • Case 5:
      • Open Ticket page
      • Click "Log Time" button
      • Check that Log Time dialog was opened
      • Select Ticket
      • Select Date
      • Set Minutes
      • Click on Description and leave it empty
      • Click "Log" button
      • Observe that Description field is invalid
      • Log Time dialog is still opened and request was not sent
  11. KOD-15666: Add Files Endpoints to /api/system/email
    • Need to implement endpoints for UI side, added new endpoints on swagger side:
      • {{/api/system/email/{emailID}/customerFile/{customerFileID}/view}} ? get
      • {{/api/system/email/{emailID}/customerFile/{customerFileID}}} ? get
      • {{/api/system/email/{emailID}/customerFile/list}} ? post
      • {{/api/system/email/{emailID}/internalFile/{internalFileID}/view}} ? get
      • {{/api/system/email/{emailID}/internalFile/{internalFileID}}} ? get
      • {{/api/system/email/{emailID}/internalFile/list}} ? post
  12. KOD-15682: Approval Workflows for Customer: Models and Service for CustomerRule and CustomerAction
  13. KOD-15712: Troubleshoot Customer Account Dropdown filter/select
    • Login to the customer website
    • Go to the header company options in the window and open the dropdown
    • Test searching a company name in both uppercase and lowercase and the exact term of the name you are looking for
  14. KOD-15748: Add Quantity Price Breaks to Product Details Page
    • Case 1: Logged-in user
      • At the store find a product that is available (which has a price) and has available quantity price breaks
      • Open the product page
      • Below the product price in the next paragraph, the quantity price break should be displayed in the following format:
        • *Buy*
        • quantity at price$
    • Case 2: Not logged-in user
      • Test on the product page from Case 1 step 1 (since we know it has quantity price breaks available)
      • Open the product page
      • Below the product price, there shouldn’t be a paragraph with the quantity price breaks
    • Regression Tests:
      • Check that products that don’t have price breaks, won’t be displayed along with the word “Buy“ for both logged-in and not logged-in users
      • Test Case for logged-in and not logged-in users and for products that have price breaks and don’t have price breaks:
      • At the store find a product that is available (which has a price) and has (doesn’t have) available price breaks
      • Open the product page
      • Below the product price, there shouldn’t be a paragraph with the quantity price breaks
      • Make sure pricing still displays on products
  15. KOD-15754: Remove Nav OrderItem Settings
  16. KOD-15761: Update Site Templates to Respect the Site Palette
    • Case 1:
      • Test resetting your password as an employee; ensure the branding matches the site
    • Case 2:
      • Test resetting your password as a customer; ensure the branding matches the site
    • Case 3:
      • Test emailing a COD link from the employee portal; ensure the button branding matches the site
  17. KOD-15765: Check Why Quote Request for Logged-in Customers Is Not Working
    • Case 1:
      • Make sure the setting “{{enableCustomerQuoteRequestInCart}}" is turned on in the Operations Portal
    • Login on website
    • Go through checkout process
    • At the payment options screen, there should be the option to place a quote request
    • Go ahead and check out with quote request and make sure it works fine
  18. KOD-15824: Order/Invoice Document Updates
    • Please check order layout in Customer Portal/checkout thank you page, order email, and order PDF.
  19. KOD-15825: Add Convenience Fee to Account Payments
    • Regression test
      • Test paying open invoices in the Customer Portal; make sure you receive both the customer and employee payment made emails
      • Test making a COD payment; make sure you receive both the customer and employee payment made emails
      • Test checking out via credit card
    • Regression Tests
      • Make sure that global settings {{enableShortPayments}}, {{openInvoicePaymentsEnabled}}, {{paymentOnAccount}} are turned ON
      • Login as a customer and to Customer Portal ? Open Invoices
      • Select any invoice and click "Make Payment" ? "Pay Selected Invoices"
      • Make a payment using a credit card
      • Make sure that Total Amount is showing properly and whole payments process behaves normally, and you got success payments message
    • Feature tests
    • Case 1:
      • In Employee Portal set {{0.01}} value to global setting {{percentageCreditCardFee}}
      • Do the exact same steps as Regression Tests to pay any invoice.
      • In Employee Portal go to AR/AP ? Account Receivable and make sure two recently created payments match to paid invoice amount and its convenience fee (1% of invoice amount) and have depicted transaction types
    • Case 2:
      • In Employee Portal set {{3}} value to global setting {{dollarCreditCardFee}} and delete preset value for {{percentageCreditCardFee}}
      • Do the exact same steps as for Regression Tests to pay any invoice
      • In Employee Portal go to AR/AP ? Account Receivable and make sure two recently created payments match to paid invoice amount and its convenience fee ($3 - fixed amount) and have depicted transaction types
  20. KOD-15837: Fix PIM Attribute Export Only Allowing "First 1000 Rows" or "Current Page" in Portal
    • Case 1:
      • Go to Attributes page
      • Click on “File”
      • Click on “Export“
      • Click on “Save“
      • File should be downloaded
  21. KOD-15876: Update Endpoints for Editing Activities with Limited Permissions
    • Next endpoints were implemented on the backend side:
      • POST /api/system/company/{companyID}/ticket/{ticketID}/employeeAssignment
      • POST /api/system/company/{companyID}/ticket/{ticketID}/employeeAssignment/list
      • DELETE /api/system/company/{companyID}/ticket/{ticketID}/employeeAssignment/{employeeAssignmentID}
  22. KOD-15879: Need to Add More Store Info to the Themer
    • Case 1:
      • State or Province and Country drop-downs should be added in the Themer of the site
      • Ensure that as a public customer, logged-in customer, and a logged-in employee, you can go to the home and category pages
  23. KOD-15887: Product Details Page Extra Padding Around Description
  24. KOD-15906: Double Highlight Showing on Active Fields in Embedded Portal
    • The list of tests we should perform but are not limited to:
      • Go to every screen in the Customer Portal; test it throughly
        • If it is a grid screen, test:
        • Searching
        • Filtering
        • Pinning columns
        • Moving columns
        • Adding, removing, editing, selecting sticky filters
      • If it is a detail screen:
        • Test updating, viewing information, downloading files, etc.
        • Test clicking as many buttons as you can; test the popups if they open popups, test date pickers
        • Test assigning employees roles and removing roles
        • Test subscribing to notifications
  25. KOD-15908: Title of Recently Viewed Products Widget Needs to be Multilingual
    • Tests:
      • Go to the website
      • Visit five or more products for the recently viewed section on their product detail page
      • After this the recently viewed section should appear
      • Try switching the language
      • “Recently Viewed Products” should switch languages
      • Also make sure that switching back to English works
  26. KOD-15926: Page Sidebar Fix
    • In sidebar, pages without content should not redirect to the page link
      • If it has subcategories, it will toggle the dropdown and show subcategories, otherwise clicking on it will do nothing
      • The test only passed on the first level parent page; if the parent page has a subpage that's also a (blank) parent page, clicking its label on the sidebar redirects to the blank page link instead of just toggling the list of subpages under it
  27. KOD-15930: During SKU Sync in the Mapping Need to Use hostCode if it Exists in the Record When Creating a Warehouse
    • Go SKU page on admin portal and export data to have an import file template
    • Update “{{erpWareHouseCode}}" field with new warehouse code (this code should not be present in system
    • Add “hostCode” field to file and fill this field for some records
    • Do import at the same portal page
    • Check new SKU record warehouse ID
    • Go to Locations page and open data about new-created warehouse
      • Check host code of new warehouse, should be set with “hostCode” import record file
  28. KOD-15931: Company # Missing from Account Payment Notification Emails
    • Make sure you test COD payment, paying open invoices; make sure you get the notification emails
  29. KOD-15947: Different UOM Showing When You are a Guest/B2C User vs When You Are a Logged-in B2B User
    • Regression Tests
      • As both logged-in customer and a public customer, navigate to product pages and category pages in the commerce website and make sure you see pricing for the products
    • Case 1:
      • Search for product - unitSell and unitStock fields should be present for /api/user/product/pricesByCodes endpoint (/api/system/product/pricesByCodes isn’t being used)
  30. KOD-15952: Accounts Receivable Screen Filters Issue
    • Regression Test - Case 1:
      • Go to Accounts Receivable -> Search
      • Open any AR record internal comments
      • Leave 5+ comments so that you would be able to scroll this page
      • Scroll to the very bottom of the Internal Comments page
      • Open Customer Comments or Internal Files of Custom Records Tabs
      • Go back to Internal Comments page
      • Scroll position should remain the same (if you’ve scrolled to the bottom of this page on the step 4, you should see the same position)
    • Regression Test - Case 2:
      • Go to Accounts Receivable -> Search
      • Open any AR record internal comments
      • Leave 5+ comments so that you would be able to scroll this page
      • Scroll to the very bottom of the Internal Comments page
      • Open any global screen (you can open Accounts Receivable -> Search from the 1st step)
      • From Accounts Receivable -> Search, open AR record that you’ve edited in step 3
      • On Internal Comments page, scroll position should *not* remain the same as on the 4th step and you should be scrolled back to the top
    • Testing - Case 1:
      • Verify that Accounts Receivable Search screen in the Operations Portal is not losing any filters set when you navigate to Data tab and return to the Search screen
    • Testing - Case 2:
      • Verify that Accounts Receivable Search screen in the Operations Portal is not losing any filters set when you navigate to Accounts Payable tab and return to the Accounts Receivable screen
    • Testing - Case 3:
      • Verify that Accounts Receivable Search screen in the Operations Portal is not losing any filters set when you navigate to any global screen (for example Orders) tab and return to the Accounts Receivable screen
  31. KOD-15957: Update Line Items on Order, Not Updating on PDF
  32. KOD-15958: Stop Job Populating the Company Web Location Field / Delete Data
    • Make sure UpdateDefaultWebWarehouseJob is turned off
    • Make sure defaultWebWarehouse is blank on search/data company screens in portal