Morten Skjoldager
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Ucommerce 9.0.0.20106 =================== ### GENERAL NEW: Faster querying of order properties due to newly created index. NEW: Faster querying of purchase orders due to newly created index. NEW: Faster querying of payments due to newly created index. NEW: Faster querying of product prices due to newly created index. NEW: Product SKU and VariantSku character limit increased from 30 to 400. NEW: Default Product Catalog Definition and product catalogs must have a definition when created. NEW: Default Product Catalog Group Definition and product catalog groups must have a definition when created. FIX: "Content Picker Multi Select" no longer throws a server error. FIX: Potential maximum SQL parameter limit exception when using either "IProductPriceCalculationService" or "ProductPriceQuery". FIX: When using the Default Payment Method for development, the Purchase Order GUID will now be available as a query string parameter in the callback URL from the payment gateway just like all other implementations. FIX: Changed size of change order status dialog within the order editor to better accommodate for smaller screens. FIX: Free Award discount was wrongly removed when using the Save Order button in the back-office. REMOVE: Catalog Search widget and search from the product picker in preparation for them being replaced by Project Kondo. ### SEARCH DRIVEN API NEW: Search driven API aka Bolt, for massive speed increase on front-end with 1M+ products (Ucommerce.Search.IIndex<T>). NEW: Unified query API for static queries, full-text search, and faceted search. Combine any type of query into one. NEW: Multilingual indexes, each index holds only common values across all languages and values specific to configured languages, e.g. "products_en_us" and "products_de_de" indexes. NEW: Multi price group support in product indexes, e.g. all configured prices are stored within the index for facets and search purposes. NEW: Support for strongly typed return models from indexes, e.g. get a ProductCatalogGroup, ProductCatalog, Category, or Product as opposed to a weakly typed result. NEW: Support for weakly typed records (Ucommerce.Search.Models.Model). NEW: Support for weakly and strongly typed fields (Ucommerce.Search.Models.Model) NEW: Out of the box indexes for common catalog listing scenarios for ProductGroupGroup, ProductCatalogs, Categories, and Products. NEW: High performance, reusable fetchers for ProductCatalogGroup, ProductCatalog, Category, Product, and PriceGroup to populate catalog related indexes as rapidly as possible. Use these for your custom indexes to set up faster. NEW: Ability to facet on and list product families, products, and variants in any combination using out-of-the-box product index, e.g. variants for B2B cases and product families for B2C cases (Ucommerce.Search.Models.Product.ProductType member) NEW: Ability to configure new indexes for BOLT tailored to specific use-cases on front-end to further speed up performance on front-end (IIndexDefinition). NEW: Ability to define facets on any indexed data including ProductCatalog, Categories, Products, Variants and custom data. NEW: Lucene provider for search-driven API (Ucommerce.Search.Lucene.dll) NEW: Dynamic price facets calculated at runtime to support scenarios where prices vary from very low to very high in the same product listing, e.g. selling a "pen" and a "supertanker" in the same product listing. NEW: Ability to include or exclude ProductCatalogGroup, ProductCatalog, Category, or Product from index via "Display on website"-flag. NEW: Indexing of full URLs for CMS media and content. No need to look up URLs at runtime anymore. ### SEARCH DRIVEN API EXTENSIBILITY NEW: Search provider support in Ucommerce.Search. Build a provider for your favorite search engine for BOLT. NEW: Transparent search provider support in search-driven APIs, e.g. use switch between Lucene or Elastic Search seamlessly, no changes required in your website code. NEW: Populate BOLT indexes from any source via pluggable fetchers (IFetcher<T>), e.g. index data from your DAM system to BOLT. NEW: Support for custom models in search-driven API, e.g. use your own ProductCatalogGroup, ProductCatalog, Category, Product models or inherited versions. Or any model at all. NEW: Ability to precalculate values once at index time and reuse those for every request as opposed to every time at run-time. NEW: Start full indexing and get feedback on the ongoing progress in the search UI in Settings. ### SLUG-BASED URL ENGINE NEW: Multilingual slug-based catalog URL scheme to avoid id based payload in URLs, e.g. /demo-store/c/accessories/ties, /demo-store/p/accessories/ties/hugo-boss-black-pink-white-flower-pattern-silk-woven-tie NEW: Generate a slug for a Catalog, Catego ry, and Product at index time (ISlugService). NEW: Generate a full slug-based URL for a Catalog, Category, and Product at run-time (IUrlService). NEW: Catalog context populated based on slug-based URLs in (Ucommerce.Api.ICatalogContext). ### COMMERCE LIBRARY API POWERED BY BOLT NEW: API separated into own assembly (Ucommerce.Api.dll). NEW: CatalogLibrary powered by BOLT API for super-fast performance (Ucommerce.Api.ICatalogLibrary). NEW: Catalog context powered by BOLT and slug-based URLs (Ucommerce.Api.ICatalogContext). NEW: TransactionLibary moved to new API assembly and refactored to leverage BOLT where necessary (Ucommerce.Api.ITransactionLibrary). NEW: MarketingLibrary moved to new API assembly and refactored to leverage BOLT where necessary (Ucommerce.Api.IMarketingLibrary). NEW: ProductPriceCalculationService powered by BOLT API. BRK: SearchLibrary removed. It's functionality consolidated to Ucommerce.Api.ICatalogLibrary. BRK: Old versions of Commerce Library APIs and supporting types removed from UCommerce.dll including CatalogLibrary, CatalogLibraryInternal TransactionLibrary, TransactionLibraryInternal, MarketingLibrary, MarketingLibraryInternal, SearchLibrary, SearchLibraryInternal, ICatalogContext, CatalogContext, IOrderContext, OrderContext, SiteContext, IClientContext, ClientContext, and the full UCommerce.Api and UCommerce.Xslt namespace. ### MARKETING FOUNDATION NEW: Leverage TargetingContext in targets and awards for richer targeting possibilities. BRK: ITarget, IPurchaseOrderTarget, IOrderLineTaget, IOrderLinesTarget, IAward require for TargetingContext as a new argument. BRK: Single product discount simulation removed price API to ensure the fastest possible performance. The capability will be re-introduced as an index time operation. ### RAVENDB REPLACED BY BOLT BRK: RavenDB removed from the platform and replaced by BOLT search API and the Lucene search provider for BOLT. BRK: UCommerce.RavenDB25.dll has been removed BRK: UCommerce.RavenDB30.dll has been removed ### SETTINGS BRK: Configuring a definition field as a facet is replaced by index definition defined in code. ### CONSISTENT NAMING OF UCOMMERCE BRK: All assemblies and namespaces renamed from UCommerce.***.dll to Ucommerce.***.dll. Client code must be recompiled against the new assemblies to function. ### KONDO NEW: E-commerce first look and feel for Ucommerce apps. NEW: Single page application architecture based on Vue.js for faster and smoother UI response times. NEW: Support for large data sets, e.g. 1,000,000 products in the back-end. NEW: Support for a large number of configured languages scales without overburdening the UI. NEW: Secondary actions such as renaming, changing the definition, changing SKU moved to a separate menu to keep UI focused on primary actions. NEW: Scrollable and clickable section based navigation in all apps. NEW: Adaptive UI components scales with data set, e.g. a definition picker will adapt from a multi checkbox list to an expandable, fuzzy searchable dialog depending on how many definitions are set up. NEW: Undo capability for most actions within the UI, not happy with the change you just did, hit undo and get right back to where you were. NEW: Action indicators everywhere in KONDO sparks joy, e.g. "Loading...", "Updating..." :) ### KONDO: LISTS NEW: A single list component used throughout Ucommerce for all lists. NEW: Asynchronous load of list data for faster response times. NEW: Lists powered by definitions to support custom fields. NEW: Search for available definition fields by name to add as a column. NEW: Infinitely scrollable lists to support massive amounts of rows in the list. NEW: Selecting multiple rows and performing bulk actions, such as removing multiple products from a category. NEW: Clear user actions on multiple selected rows, e.g. remove many products from a category. NEW: User-configurable columns based on definitions. NEW: Every user sees their own version of the list and configured columns across browser sessions. NEW: Drag and drop rearrangement of columns. NEW: Sort list by columns. NEW: Image support in lists. NEW: Price field support in lists. ### KONDO UI: MEDIA PICKER NEW: Streamlined media picker integrated with CMS for consistent user experience across all CMS support by Ucommerce. NEW: Single media picker. NEW: Multi media picker. NEW: Folder based navigation. NEW: Breadcrumb navigation to show current location within media picker. ### CATALOGS APP: CATALOG BUILDER NEW: Quick set up of categories and catalogs and their structure. NEW: Create catalogs and categories from within the catalog builder. NEW: Horizontal navigation of catalog structures. NEW: Drag and drop sorting of catalogs and categories. NEW: Drag and drop to move a category to a different location within the catalog. NEW: Keyboard shortcut, use arrow keys to navigate catalog structure. NEW: Keyboard shortcut, use "c" to create a new catalog or category. NEW: Keyboard shortcut, use "esc" to cancel a dialog.catalog or category. ### CATALOGS APP NEW: Edit catalogs and categories details including custom definition fields. NEW: Price group, single property editor. NEW: Price group, multi property editor. NEW: True/false property editor. NEW: Media property editor. NEW: Product list with configurable columns. ### PRODUCTS APP NEW: Dedicated app for working with products. NEW: Create and edit products including custom fields. NEW: Create and edit variants. NEW: Product list with configurable columns. NEW: Variant list with configurable columns. NEW: Display multiple price groups in a product listing. NEW: Display custom product fields in a list.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully