@newfold/wp-module-ecommerce v1.7.8
wp-module-ecommerce
Next-generation WordPress eCommerce Experience for WordPress sites at Newfold Digital.
Module Responsibilities
- Ecommerce module displays
Home or Dashboardpage for Brand plugin, with below options:- Live site preview for both, live and coming soon mode for WordPress site with view & edit site options
- Next steps to setup your site helps customers to complete below tasks:
- To add store info
- Setup online payment options like PayPal, Stripe, RazorPay. Also choose offline payment options like, check payments, bank transfers & C.O.D
- Setup shipping options like Shippo.
- Configure tax settings
- Add/import products
- Customers who have selected
noviceas WordPress experience level will have access to Signup to BlueHost WP academy / Yoast academy for learning purpose. - There is also link for Customers to view list of
Completed tasks
- Ecommerce module also displays
Storeoption which gives snapshot of recent customer activity with details like total sales, net sales, recent orders, products sold, visitors, views and also a link to detailedAnalyticspage of Woocommerce plugin. Storepage also, allows customers to Purchase/Enable/Manage and learn more about YITH extended plugins like:- YITH Booking and Appointment for WooCommerce
- YITH WooCommerce AJAX Search
- YITH WooCommerce Gift Cards
- YITH WooCommerce Wishlist
- YITH WooCommerce Customize My Account Page
- YITH WooCommerce Ajax Product Filter.
- Under Store we have a
Products & Servicessubmenu option which provides following options:- Easy access to Add new product/Import CSV of products into your store.
- Option to setup bookings & appointments or offer gift cards on purchases via YITH extended plugins.
- Next submenu under Store is
Sales & Promotionswhere customer can setup different promotional offers on products in their store.- Here we display 13 different campaign setup options offered by
WonderCartplugin underAll Campaignstab. - There is also a
Settingstab where users can customize look & feel of how sales campaigns are displayed on their Store page.
- Here we display 13 different campaign setup options offered by
- Next submenu under Store is
Paymentswhere we store owner can setup payments option accepted on purchases at Store.- There 3 online payment options via payments gateways like PayPal, Stripe & RazorPay(only for India location).
- We also offer offline payments option via cheque, bank transfer or cash on delivery.
- Final submenu under Store is
Store detailswith following options:- Store location and complete address, email address of store owner and currency in which products/services are displayed on the store.
- Under
shipping optiontab on the store details page you can connect to Shipping partner like, Shippo (based on your store location). - Under
tax settingstab, store owner can choose to enable/disable sales tax.
Critical Paths
Storepage should give a brief overview ofrecent customer activityon Ecommerce website.Storepage displays section to setupEcommerce featureswhere users can purchase/enable/manage YITH extended plugins.- It is required to install & activate
WooCommerceplugin for below plugins to work,YITH PayPal Paymentplugin for - facilitating payments via PayPal,WonderCartplugin for - creating sales & promotional campaigns,YITH Stripe Paymentsplugin for - facilitating payments via StripeEcomdashplugin for - managing marketplace and ecommerce website sales.
Homepage should display warningsenabled but not effective, requires WooCommerce in order to work.for above YITH plugins, incase WooCommerce isn't setup.- If
WooCommerceplugin isn't setup,Storetab should ask users to first install & activateWooCommercetill then all the sub-menu options underStoremenu should be disabled. Products & Servicestab should provide customers access to purchase services offered by YITH extended plugins like: YITH Booking and Appointment for WooCommerce and YITH WooCommerce Gift Cards.Sales & Promotionssubmenu allows customers to installWonderCartplugin if it is not already installed & activated. OnceWonderCartis activated it offers option to setup different promotional campaigns.Paymentstab facilitates Customers to connect their accounts to receive payments via popular online payment options like PayPal, Stripe and RazorPay. Customers can also choose to accept offline payment via options like: check payments, bank transfers & C.O.D.Store detailstab facilitates setup ofShippothird party shipping software for e-commerce businesses.
Installation
1. Add the Newfold Satis to your composer.json.
composer config repositories.newfold composer https://newfold-labs.github.io/satis2. Require the newfold-labs/wp-module-ecommerce package.
composer require newfold-labs/wp-module-ecommerce3. Install the @newfold/wp-module-ecommerce npm package.
Previously, this module's package was hosted at github and these instructions were required GH Packages Setup. Now the package is hosted at npmjs and this referenced setup is no longer relevant. Find the npmjs package at https://www.npmjs.com/package/@newfold/wp-module-ecommerce and install just as any other public package. Note the newfold org namespace for npmjs and the newfold-labs org namespace for github and satis.
npm install @newfold/wp-module-ecommerceUsage
In your React component you can import the eCommerce module as so,
import { NewfoldECommerce } from "@newfold/wp-module-ecommerce";
function EcommercePage(props) {
return <NewfoldECommerce {...props} />;
}More on Newfold WordPress Modules
Steps to create new release for Ecommerce module
We have switched to npmjs packages for publishing newer versions of the ecommerce module.
If you're doing something that will not break anything or not adding any new dependency. But, only doing basic stuff like bug fixes, copy changes etc. Change which doesn't really impact the plugin in bigger way you can put them under the last number of versions.
If you're doing something, like adding a new library, or changing something in the way the plugin can use our module then it's better to upgrade the minor version which is the 2nd digit of version.
In rare scenarios, like UI redesign where the change is bigger or a major refactor, we update the 1st digit of version.
Changes to Ecommerce Module
Merge approved PRs into trunk branch
Run,
npm run set-version-bump(this will auto update version in package and bootstrap file, perform a build, and update translation files)Commit above change in separate commit (commit message: Bump to new version value)
Go to https://github.com/newfold-labs/wp-module-ecommerce/releases
Click on Draft a new release button (Note: Saving as draft, pipeline is not running.)
By default, you'll always create a release from target: trunk branch. In case we are making changes to crazydomains then we must switch to the legacy branch do the fixes there and create a release from target: legacy branch as it currently runs older version
Give V dot version that you want to release and click on create a new tag.
Click Generate release notes button it will basically collect all the pull requests that came in from the previous release to now and then just create a summary. (It won't track any direct comments to the trunk. It will just only track pull request)
Keep Set as the latest release checkbox
checkedas it is by default.Click Publish a release button.
Go to https://newfold-labs.github.io/satis/ Satis is a PHP registry for our packages.
We have set up an integration within our workflow itself so once workflow completes, we trigger alert to Satis that newer version of ecommerce module is released and rebuild Satis so that it can show newer version in packages (Repo: https://github.com/newfold-labs/satis/actions)
The newer version will appear in 5 to 10 minutes of rebuilding.
We do not have permission to rerun Satis build, so in case it fails PRESS1 team can help.
You can check the status of Statis build & Publish workflow here https://github.com/newfold-labs/wp-module-ecommerce/actions
On successful completion you can see latest js package here https://www.npmjs.com/package/@newfold/wp-module-ecommerce
Changes to Bluehost plugin repo
Note: if no plugin changes are required we can let dependabot create a PR for the php module and the js package. If any plugin changs are required, please do the following in a branch on the respective plugin repo:
In composer.json file, update version of
newfold-labs/wp-module-ecommerceto latestIn package.json file,
@newfold/wp-module-ecommerceversion number to latestRun command,
npm i --legacy-peer-depsPackage-lock.json should auto update.
Once Satis starts showing updated version run below command for composer update,
$ composer update newfold-labs/wp-module-ecommerce -WWe need to create a branch (naming convention: dependencies/newfold-labs/wp-module-ecommerce-version_number).
Currently we don't have the permission to publish directly to the BlueHost plugin so, we need to create a fork basically of the repo then push it to that fork and then create a pull request against the develop branch.
The new release process is thus completed.