The Onboarding module is designed to streamline various tasks related to user onboarding and customization within a WordPress environment. It provides functionalities to enhance user experience, configure settings, install plugins and themes dynamically, and interact with other modules seamlessly.
- Automatically upgrade WordPress versions for users running below version 6.2, ensuring security and performance improvements.
- Initialize WordPress options, permalinks, and configurations to ensure a consistent setup across users.
- Provide functions to redirect users after login, ensuring a smooth transition and a complete onboarding experience.
- Install various plugins and themes dynamically based on user requirements, enhancing customization options.
- Show a completely different experience to users based on the brands they are redirected from, enhancing brand consistency and personalization.
- Send various events according to user selections, enabling tracking and analytics for user behavior.
- Interact with the Onboarding Data Module for various operations and tasks, ensuring seamless user experience.
- Defines appropriate Primary and Secondary categories in the Site Classification section within the Data Module.
- Incorporate the title, description, and logo supplied by the user for their WordPress site.
- Transition to an ecommerce flow if the user selects "Selling" as the Top Priority Step.
- Produce themes featuring templates such as headers, homepages, and supplementary pages, tailored to the user's preferences, including selected colors and fonts.
- This flow has supplementary stages, including address input, tax particulars, and product configuration.
- User-provided address details are seamlessly integrated into the WooCommerce plugin, with the default currency adapted based on user selections.
- The Tax step facilitates the establishment of default tax calculation preferences.
- The Products step, users can define the type and quantity of products they intend to sell.
- Users are presented with the option to proceed through either the standard DIY process or the cutting-edge Sitegen Flow.
- Users have the capability to integrate their Facebook accounts to elevate the website creation experience.
- Many pivotal elements of the site are synthesized through AI calls.
- Users are presented with various iterations of their site and have the ability to generate multiple versions with distinct styles.
- They can personalize the visual aspects of the website, including color schemes, typography, and even the theme name.
- A customized child theme is created based on the user's preferences, accompanied by a live preview showcasing the website's appearance.
- Users should be automatically redirected to the onboarding process the first time they log in to wp-admin.
- Subsequent logins to WordPress should not display the onboarding process for users who have completed it previously.
- Users should be guided to upgrade the WordPress version if it is less than 6.2.
- Users should experience a brand-specific interface, displaying different brand logos and colors tailored to their brand affiliation.
- The child theme generated should reflect the choices made by the user during their onboarding experience.
- Primary and secondary classifications should be promptly established in the SiteClassification option upon the user's selection.
- The workflow should seamlessly switch when the user prioritizes "Selling" in the Top Priority step.
- Users should be presented with a choice between Wonder Blocks or YITH Wonder Live Previews options.
- The Live preview should vividly illustrate the user's selections, providing a visual depiction of the site's appearance.
- Ensure that all Site meta requests are executed concurrently and that data processing proceeds smoothly.
- Validate the functionality of all live previews, showcasing various iterations of the site.
- Generate and publish additional pages according to the user's instructions.
- Apply the chosen color schemes and fonts, allowing users to observe immediate updates reflected in their live previews.
- Upload large AI-generated images into WordPress media and incorporate the new WordPress links into their respective contexts.
- Generate screenshots tailored to the user's preferences and create a child theme using the provided name.
Run the Newfold Prepare Release
github action to automatically bump the version (either patch, minor or major version), and update build and language files all at once. It will create a PR with changed files for review. Using this workflow, we can skip all the manual steps below.
-
Checkout the trunk branch locally:
git checkout trunk
-
Ensure trunk is up to date with origin:
git pull origin trunk
-
Create release branch, where [x.y.z] is the new version (following Semantic Versioning):
git branch release/[x.y.z]
-
Test for any breaking changes and highlight concerns:
- Conduct thorough testing to ensure stability and functionality.
- Note any issues or concerns for further action.
-
Increment Version via script
- Update versions and rebuild manually:
- Increment version [x.y.z]
- Update version in:
bootstrap.php
package.json
- Run:
npm install npm run build
- Verify existence of
build/<new_version>
folder. - Remove previous release build files:
build/<old_version>
folder. - Update language files. Run:
composer run i18n
.
- Increment version [x.y.z]
- Update versions and rebuild manually:
-
Push changes to origin:
git push origin trunk
-
Create a new release on Github:
- Go to: New Release
- Tag number should match the updated version number.
- Title:
Version <tag_number>
- Generate release notes.
- Publish Release.
-
Make a branch in the Brand Plugin:
- Create a branch
update/onboarding
in the Brand plugin fromdevelop
.
- Create a branch
-
Update Onboarding version in:
composer.json
composer.lock
- Run:
composer update newfold-labs/wp-module-onboarding
-
Push changes to the branch and add a small release description in the PR Desc.
-
Wait for Cypress test workflow to run:
- Ensure all Onboarding tests pass.
-
If any tests fail, fix them in the module and tag a re-release by deleting the earlier release and tag.
-
Create a bump PR to the master branch of Brand Plugin.
-
Send release details notification on WordPress Pillar APAC channel.
-
Tag PRESS1 and share link in PRESS 1,2,4 Coordination Code Reviews channel:
- Include Release Tag and Bump PR links.
composer config repositories.newfold composer https://newfold-labs.github.io/satis
composer require newfold-labs/wp-module-onboarding