FastLane 1.13.0

Welcome to FastLane - created and maintained by Sascha Wildgrube.

This app was built to help organizing the shipment of medical supplies to the Ukraine during the full-scale invation that started in February 2022.

It is dedicated to the people of Ukraine, their resistance and to everyone who invests their time and resources to help.

Overview

A simple shop and order management process.

Features

Manage multiple shops with separate product catalogs.

Place and process orders with multiple line items of countable products.

Agents and Managers can see and filter for orders that require attention.

Use parcels to track the shipping of the orders.

Agents can only work on active orders that are assigned to them.

The maximum amount of a single product in an order can be limited.

Disclaimer

FastLane is NOT an officially supported ServiceNow product.

FastLane does NOT come with any kind of warranty. If you use it, you own it!

System Requirements

Installation

  1. Create an account on GitHub - if not done already.
  2. Create a personal access token for your GitHub account.
  3. Add credentials to access GitHub - use "Basic Auth".
  4. Fork the repository https://github.com/saschawildgrube/servicenow-devtools.
  5. Go to Studio and import the DevTools application from source control.
  6. Perform all installation steps for the DevTools application documented here: https://www.wildgrube.com/servicenow-devtools/ 
  7. Fork the repository https://github.com/saschawildgrube/servicenow-parcel.
  8. Go to Studio and import the Parcel application from source control.
  9. Perform all installation steps for the Parcel application documented here: https://www.wildgrube.com/servicenow-parcel/ 
  10. Fork the repository https://github.com/saschawildgrube/servicenow-fastlane.
  11. Go to Studio and import the FastLane application from source control.
  12. Execute installation scripts.
    Run the following script as a background script in scope x_snc_fastlane:
  13. x_snc_devtools.InstallApp("x_snc_fastlane");
  14. Configure parcel profile.
  15. Configure a shop.
  16. Configure the product catalog.

Reference

Configuration Options

Roles

Tables

UI Actions

Extension Points

  • FastLane

    The FastLane extension point allows hook into the compilation of shop data. When calling the GetShopData() function, the vConfig parameter is passed down to the GetCategory() and GetProduct() functions. This allows to apply additional filters or data modifications when the GetShopData() functions returns the categories and products offered in a a shop.

    var FastLane = Class.create();
    FastLane.prototype = {
    	initialize: function()
    	{	
    	},
    
    	GetCategory: function(category,vConfig)
    	{
    		var IsValidFunction = x_snc_devtools.IsValidFunction;
    		if (IsValidFunction(x_this_app_scope.FastLaneGetCategory))
    		{
    			return FastLaneGetCategory(category,vConfig);
    		}
    		return category;
    	},	
    	
    	GetProduct: function(product,vConfig)
    	{
    		var IsValidFunction = x_snc_devtools.IsValidFunction;
    		if (IsValidFunction(x_this_app_scope.FastLaneGetProduct))
    		{
    			return FastLaneGetProduct(product,vConfig);
    		}
    		return product;
    	},		
    
    	type: 'FastLane'
    };

Dependencies

Technical Debts

No technical debt has been documented for this application.

License

Copyright 2023-2024 by Sascha Wildgrube

Licensed under the Apache License, Version 2.0 (the "License")

You may not use FastLane except in compliance with the License.

You may obtain a copy of the License at: https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release Notes

1.13.0 - 2024-12-07

  1. Fastlane Agents can now cancel orders.

1.12.0 - 2024-08-02

  1. DevTools 1.97.0 is now required due to new DocumentationAPI functions.
  2. A maximum amount per order can now be configured for each product. If the value is set the function CreateOrUpdateOrder() will NOT update the order if at least one line item specifies more units of a product than allowed for this product's maximum amount per order.
  3. Added business rule "Order Line Item: Check maximum amount" to validate the specified amount.

1.11.0 - 2024-07-01

  1. CreateOrUpdateOrder() now also accepts an array of objects for aProducts where each object contains the "sys_id" of the product and the "amount".

1.10.0 - 2024-06-09

  1. The business rule "Order - Update: Set Requires Attention" now uses an error message to inform that the "Required Attention" flag is set because the order has not yet been assigned to anyone.
  2. The message "This order requires attention by an agent because it is not yet assigned to anyone!" is now only displayed if the current user has the x_snc_fastlane.manager role to prevent the message from being displayed to orderers.

1.9.0 - 2024-03-23

  1. The business rule "Order - Update: Set Requires Attention" now displays a message if the "Requires Attention" flag is set because the order is not yet assigned to anyone.
  2. Added documentation on the FastLane extension point to the manual.

1.8.0 - 2024-03-15

  1. GetShopData(), GetCategoryData() and the corresponding extension point functions now support the "vConfig" parameter that allows to pass through data from the top level function down to the extension point implementation.

1.7.0 - 2024-03-10

  1. Utah and Tokyo are no longer actively supported.
  2. Fastlane has been fully tested with Vancouver and Washington.
  3. DevTools 1.83.0 is now required due to the introduced InstallerAPI::DocumentationSetValue() function.
  4. Added German translations for "Order" and "Order Line Item".

1.6.0 - 2024-01-07

  1. Orderers can only make changes to active orders they opened.
  2. The "Up" button on the Order form leads to the company associated to the order.

1.5.0 - 2023-11-05

  1. Order line items now have the "Amount" field to specify the number of products ordered.
  2. The new flag "Requires Attention (by agent)" indicates if an order requires attention (because it is not yet assigned to an agent, the status has changed, or the orderer has added a comment).
  3. The product description is now displayed on the line item form.

1.4.1 - 2023-10-23

  1. DevTools 1.71.0 is now required.
  2. Fastlane Managers were not able to access core_company records and could not set the company when creating an order. This has been fixed.
  3. Fastlane Managers were not to change the state of an order. This has been fixed.

1.4.0 - 2023-09-23

  1. The order of categories in a shop can now be configured and is considered in GetShopData().
  2. The order of products in a category can now be configured and is considered in GetCategoryData() and GetShopData().
  3. CreateOrUpdateOrder() now filters duplicate products and creates only ONE order line item per product.
  4. Users with the x_snc_fastlane.orderer role now only gain read access to their own core_company.
  5. The category related list is now displayed on the product form.

1.3.1 - 2023-09-11

  1. Order active state did not work properly. This has been fixed. The old state id "complete" was still used in several places.

1.3.0 - 2023-09-09

  1. On the Category form the related list for Shops is now displayed.
  2. CreateOrUpdateOrder() is now also updating the Parcel categories.
  3. The button "Add Order Line Item" was visible for completed orders. This has been fixed.

1.2.0 - 2023-09-03

  1. DevTools 1.67.0 is now required.
  2. Product list view now also shows parcel categories.
  3. The parcel categories are now also displayed on the order form and list view.

1.1.0 - 2023-08-27

  1. Introduced the x_snc_fastlane.orderer role to reflect the correct privileges for an orderer.
  2. Added module "My Orders" (for orders that have been raised by the user).
  3. The module "My Assigned Orders" now leads to the list of the assigned orders of the user.
  4. If only one active shop is configured, the shop is set for a new order.
  5. CreateOrUpdateOrder() did not set the shop Sys Id on the order. This has been fixed.

1.0.0 - 2023-08-20

First baselined version