Work with FullStack projects (legacy server-side testing)
Understand how legacy Wingify FullStack differs from Feature Management, and manage FullStack projects, features, rollouts, A/B tests, webhooks and environment-specific reports until you migrate.
The Wingify Guide can move a cursor on your screen inside the app and walk you through this, click by click (6 steps).
#When to use this
Your engineering team set up server-side experiments years ago with Wingify FullStack (for example, two recommendation algorithms tested from the backend), and you now need to maintain them, understand the old concepts, or plan a move. FullStack has been upgraded into Feature Management and is deprecated for new users; the FullStack SDKs only receive critical bug fixes and security patches.
#Before you start
- Your account already has FullStack projects or campaigns. New accounts start directly in Feature Management; see Install a Feature Management SDK and evaluate your first flag.
- A development team: FullStack requires code changes to configure and run variations.
#Steps
#1. Know how FullStack maps to Feature Management
| FullStack | Feature Management |
|---|---|
| Campaign-centric: you activate users into a campaign and track goals per campaign | Feature-flag-centric: you evaluate flags and track events independently of campaigns |
| Project with languages and environments, registered before testing | Flags with environments (Production, Staging, Development); registering a server-side project isn't required |
| Feature Rollout, Feature Test and A/B campaigns | Rollout, Testing and Personalize rules on one flag |
getSettingsFile() + launch(), activate(), track() |
init(), getFlag(), trackEvent() |
Feature Management also adds JSON variables, rollout and rollback automation, impact analysis, tech debt detection and a Behavior Analytics connection.
#2. Find your FullStack projects
The help center describes a FullStack > Projects menu. In accounts with the Websites and Apps module, projects are listed under Configurations > Websites and Apps; select a project and open its Configuration tab. A project has a name, one or more languages (which choose the SDK), and environments such as Production, QA or Staging. Environments marked Default are preselected in new campaigns. Each environment has an Environment Key, and the SDK tab shows the SDK key used to initialize the client.
#3. Manage features
A feature groups the variables you test and roll out. Under FullStack > Features, click Create, enter a Feature Name, then a Variable Name, Type and Default Value for each variable (Add another variable), and click Create.
#4. Roll out a feature
Under FullStack > Feature Rollouts, click Create, select the Feature, enter a Campaign Key, choose the Project and Environment Name, turn the feature on with the toggle, set the Traffic Allocator percentage and click Create. A rollout captures no report data; it's a controlled release.
#5. Run a Feature Test or A/B test
Under FullStack > Feature Tests (or A/B), click Create, then set the Campaign Key, Project and environments. On Variations, adjust variable values or add variations; the code block at the bottom updates as you edit. Define Goals / Metrics, then set the Traffic Allocation. Under Advanced Options you can add the campaign to a mutually exclusive group, Enable campaign for a specific user group (targeting by custom variables), Force users in specific variations (whitelisting), Calculate the winner using data from a specific environment of a project, Enable Scheduling and Enable bucketing seed.
Note: If a user qualifies for both a Feature Test and a Feature Rollout of the same feature, the Feature Test takes precedence. FullStack allows one feature per Feature Test campaign.
#6. Keep settings fresh with webhooks
FullStack SDKs work from a cached settings file. Instead of polling, enable webhooks per environment: in the project's environment list, select Enable Webhooks, enter the Webhook URL and click Save. Wingify sends an HTTP POST with the payload "event": "settings_changed" whenever campaign settings change, and retries for one hour if your endpoint doesn't return 200. Validate the secret key sent in the x-vwo-auth header; use Regenerate Key to rotate it. Webhooks are available in the Node.js SDK.
#7. Read environment-specific reports
Open a Feature Test or A/B campaign and go to the Report tab. Select an environment (the selected one is highlighted); All is the default. Choose the project first if you have several. Environment tabs only appear for campaigns created after environment-specific reporting was activated on your workspace.
Warning: Flushing campaign data flushes all environments. The winner is computed from the environment selected for winner declaration, or from all environments if none was selected.
#8. Plan the migration
In code, replace vwo-node-sdk with wingify-fme-node-sdk, swap getSettingsFile() + launch() for init(), activate() for getFlag(), getFeatureVariableValue() for flag.getVariable(), and track() for trackEvent() (no campaign key). Move custom variables into the userContext. Drive behavior from variables rather than variation names.
#Check that it worked
- After a settings change, confirm your webhook endpoint logged the POST and fetched the new settings file.
- In the campaign Report tab, switch to your Production environment and check that staging traffic no longer appears.
#Common questions
Why don't Browser, OS or Device segments work in FullStack? Everything runs on your server, so these attributes aren't detected. Pass them as custom variables, or enable advanced post-segmentation by sending IP and user agent.
Can I use Data Platform segments in FullStack? No. Segments created in Data Platform > Segments can't be applied to FullStack campaigns.
How do I force my QA team into a variation? Enable Force users in specific variations in the campaign's Advanced Options and add users or custom variables per variation. It overrides all other targeting.
Can I switch from workspace-level to environment-level webhooks? Yes, contact support@wingify.com. Once you do, the workspace-level option is disabled.
#Learn more
- What is Wingify FullStack?
- Running an A/B Test in Wingify FullStack
- Configuring Webhooks in Wingify FullStack
- Environment-specific Reporting in Wingify FullStack
- Transitioning from FullStack to Feature Experimentation
Help-center sources (11)
- What is Wingify FullStack
- Capabilities Offered by Wingify FullStack
- Configuring Projects in Wingify FullStack
- Creating a Feature in Wingify FullStack
- Rolling Out a Feature Using Wingify FullStack
- Running an A B Test in Wingify FullStack
- Interaction Between Feature Rollout and Feature Test
- Configuring Webhooks in Wingify FullStack
- Environment specific Reporting in Wingify FullStack
- Getting Started with Wingify Feature Management
- fme moving from fullstack to feature experimentation