Documentation

Ucommerce includes full API reference documentation and lots of helpful articles to help you build your e-commerce site as effortlessly as possible.

Topics Payment Providers
v7.18

Guidelines for Apps

The guidelines are to ensure high-quality apps and that they work in all the CMSs, which Ucommerce integrate with.

The points mentioned in this section will be verified during the curation of apps.

Ucommerce Sample App

To help you build your shiny new app, you can leverage the Ucommerce Sample App project. It contains examples of many of the most common extensions you might need and conventions you need to follow.

Component Ids

Unique component ids are important to avoid conflicts between apps unless you're specifically looking to override existing components of Ucommerce or others apps.

To avoid this your component ids should be prefixed with the app name, e.g. MyApp.MyComponent as opposed to MyComponent.

Ucommerce will pick up all the .config in the apps folder and therefore the ids of the components registered are very important, as you shouldn't override other app developer's components.

Dependencies

Ucommerce Dependencies

Your app package shouldn't contain any Ucommerce assemblies as they will already be present on the system when your package is installed.

CMS Dependencies

To make your app run across all CMSs supported by Ucommerce, your app must depend on the Ucommerce CMS abstractions instead of CMS's own implementations.

This also ensures that your app will work when additional CMS integrations are released.

Other Dependencies

To avoid dependency conflicts between your app and other apps, all of your app's dependencies must be signed. This is to ensure that .NET always pick the right assembly if the same assembly is present in multiple versions.

Installing Your App

Go to the Ucommerce backend and open "Settings" -> "Apps" -> "Install App" in the menu tree to the left. Upload your app nupkg file and click the upload button. In the details page for the app click the install button.

When your app is installed, views, binaries, and configuration will be added to the Apps folder, e.g. uCommmerce/Apps/MyApp. As Ucommerce starts it will load the dependencies of all the installed apps.

Your app may need to set up something for it to work, for this, there is an initialization pipeline, which is run when Ucommerce starts up.

Packaging Functionality

To make it easy for you to distribute your app, the sample app project can generate a NuGet package for you, by default the sample app project will generate a package everytime you build the project.

The reason that apps are distributed as NuGet packages is due to it being a well-established format.

Documentation

The documentation for your app can be added to the NuGet package that you upload to the Market and it will be hosted on our documentation site.

Support

Supporting your app is important because users will have questions about your app that won't be covered in your documentation, they will encounter bugs using your app and they will need your help, and Users will have suggestions to changes and extensions that you might not have thought about.