Skip to main content

Ideas

Filter by idea status

10000+ Ideas

giradoAdobe Employee

Canvas Dashboards: Support dashboard filters for embedded Classic Reports and enable cross-object reporting datasetsNew

Product area / feature areaAdobe Workfront > Reporting > Canvas DashboardsSub-areas: dashboard-level filters/prompts, Classic Report interoperability, cross-object reporting Current behaviorCanvas Dashboards can include existing Classic Reports, but dashboard-level filters/prompts do not apply to those embedded reports. Filtering only works consistently for Canvas-native reports.Canvas also has limited support for combining related-object data, making it difficult to build reports that bring together fields like Project + Task in one view. Desired behaviorDashboard-level filters/prompts should apply to eligible embedded Classic Reports so users can filter all dashboard blocks consistently.Canvas should also support stronger cross-object reporting so users can combine related data in a single dataset or visualization without duplicating logic or relying on external workarounds.At minimum, this could include:Full support for related-object fields, Supported join model for related objects, Another built-in option that delivers the same outcome.Clear messaging should also explain when a filter cannot apply to a report block.Business use caseOur customer needs Canvas Dashboards for operational and management reporting while still reusing existing reports and combining related work data.More broadly, this would help customers who are:Migrating from Classic Reporting to Canvas Standardizing executive or PMO dashboards Mixing Classic and Canvas reports during transition Needing one dashboard to show both parent- and child-level data.Business impactWithout this enhancement:Teams must rebuild report logic manually Dashboards behave inconsistently Adoption of Canvas slows Reporting views remain incomplete Users spend more time reconciling data manually Migration from Classic Reporting becomes harder Customer impact / scaleFor our customer, this is already limiting reporting capability and Canvas adoption.More broadly, it affects enterprises adopting Canvas Dashboards, especially those with a large investment in Classic Reports and shared dashboards used by PMO, operations, and leadership teams. Priority / urgencyHigh.This is important now because customers are actively evaluating Canvas Dashboards as the future reporting experience. If key reporting use cases are not supported, adoption and migration are delayed. WorkaroundCurrent workarounds include:Rebuilding reports as Canvas-native, Continuing to use Classic Dashboards, Splitting reporting across multiple dashboards, Recreating logic manually outside Canvas.These options are inefficient and do not fully solve the problem. Examples or scenariosScenario 1: operational dashboardA Classic Report is embedded in a Canvas Dashboard alongside Canvas-native widgets. A month filter updates the Canvas widgets, but not the Classic Report, creating inconsistent results. Scenario 2: Cross-object governance reportingA customer wants one dashboard showing project-level data together with task-level execution details. Canvas cannot fully support this, so the reporting experience becomes fragmented. Scenario 3: Phased migration from Classic to CanvasA customer wants to move to Canvas gradually by reusing trusted Classic Reports. Since embedded Classic Reports do not respond to dashboard filters, the transition becomes harder and less scalable.

partyush
Community Advisor
partyushCommunity Advisor

AEM Analyser Enhancement: Active Code Remediation (Automated PRs for Deprecated APIs)New

Hi Team,Last week, my team needed to deploy an urgent, time-sensitive hotfix. The fix itself was incredibly minor just a two-line null-check update inside a core OSGi service. We tested it locally against the latest SDK, the PR was approved, and we kicked off the Cloud Manager production pipeline.Twenty minutes later, the pipeline abruptly halted with a Hard Failure at the Code Quality step. I pulled the logs, expecting a missed unit test, but instead found this:[WARNING] [region-deprecated-api] ... Usage of deprecated package found: com.day.cq.commons.jcr.JcrConstants. For removal: 2026-06-11[ERROR] Rule region-deprecated-api failed. Build halted.Because of the strict API deprecation gates rolled out in the recent 2026 releases, what used to be a passive log warning had instantly become a deployment blocker.The frustrating part? The code that failed was not even part of our hotfix. It was an old legacy utility class deep in our core Java bundle that hadn't been modified in three years. Because Cloud Manager runs the aemanalyser-maven-plugin against the entire compiled codebase using the absolute latest cloud API surface, a background deprecation rule crossed the hard-fail threshold right as we were trying to deploy a critical backend fix.We all know why the recent AEMaaCS updates are strictly enforcing cloud-native standards. The move to hard-fail pipelines for deprecated API usage makes sense for platform stability you can't safely roll out zero-day patches if our custom code is still tethered to old, internal classes. But the current implementation is creating a massive bottleneck for development teams.Right now, when the AEM Analyser flags a legacy ResourceResolver method or an obsolete Day Commons import, it just kills the pipeline. For the dev team, this means dropping current sprint work, pulling the codebase locally, digging through Adobe docs to find the modern equivalent API, manually rewriting it, running local Maven builds, and pushing a new commit. It turns minor technical debt into a complete sprint-blocker, delaying critical user stories.The Idea:The AEM Analyser already has the exact context of what is broken, and it knows the modern API package required to fix it. My proposal is to expand the aemanalyser-maven-plugin from a passive linter into an active formatting and refactoring tool.Instead of just throwing an error and halting the ecosystem, let's give the plugin the ability to actively patch the deprecated APIs it finds. To make this practical and secure, we can handle this on two fronts:1. Locally via mvn aemanalyser:fixDevelopers shouldn't have to wait for a pipeline failure. We should be able to run a new target directly in our local terminal during active development:mvn clean install aemanalyser:fix -PautoInstallPackageThe plugin runs its standard scans, but instead of failing the build on deprecations, it applies the structural fix directly to the local source files. The developer instantly sees the git diff, verifies it, and commits clean code before it ever touches Git.2. Inside Cloud Manager (The "Secure PR" Fallback)If legacy code does slip through to Cloud Manager, we keep a strict Human-in-the-Loop model rather than blindly auto-merging code to the main branch: AST-Based Refactoring: For 80% of standard deprecations (like swapping com.day.cq.commons.jcr.JcrConstants for org.apache.jackrabbit.JcrConstants), the plugin uses an Abstract Syntax Tree (AST) engine like OpenRewrite under the hood. It refactors the Java structurally and deterministically without messing up custom formatting. Targeted AI Patching: For complex architectural shifts, an isolated, AEM-trained LLM drafts a scoped logic translation matching the current cloud API surface. The Sandbox Test: Before proposing anything, the engine runs the project's existing JUnit test suite against the refactored code inside the build container. If the tests fail, the engine safely aborts and defaults to a standard pipeline failure. The PR Handoff: If the unit tests pass, Cloud Manager pauses the pipeline, commits the fixes to an isolated branch, and automatically opens a Pull Request back to our repository (e.g., "aem-analyser-auto-fix/deprecation-cleanup"). Think About the Workflow Difference: How it works today: A custom Sling Model uses legacy Felix SCR annotations. Cloud Manager fails the build. The backend developer spends hours manually refactoring them to modern OSGi R7 Declarative Services annotations (@Component, @AttributeDefinition), rebuilding, and re-pushing. Sprint velocity takes a direct hit over unrelated legacy code. How it should work: The analyzer flags the Felix annotations. The plugin's remediation engine rewrites them to OSGi R7 standards inside the build container, runs the JUnit tests to confirm zero regression, and generates a PR. A senior architect reviews the diff, hits merge, and the pipeline resumes automatically. Quick ComparisonWhat Changes Today's Linter Approach Proposed "Fix" Feature Pipeline Action Abruptly kills the build on unrelated legacy code. Pauses, runs a test sandbox, and creates an isolated PR. Developer Effort Hours of manual context-switching and researching docs. A quick local terminal command or a 5-minute PR review. Upgrade Velocity Teams avoid cleaning tech debt because it breaks current sprints. Codebases modernize automatically, letting Adobe sunset old infrastructure faster. The Win-WinAdobe already has the DNA for this in its history, from the old AEM Modernization Tools (Classic-to-Touch UI) to the cloud migration CLI plugins (Repository Modernizer). Bringing this capability directly into the day-to-day lifecycle of the AEM Analyser is the next logical step.Adobe wants customers off legacy APIs so the underlying infrastructure can be upgraded seamlessly without breaking production environments. We want to deliver business features without fighting the CI/CD pipeline. By shifting the AEM Analyser from a tool that merely reports errors to a tool that actively generates secure, test-validated solutions, Adobe removes the final layer of friction in maintaining a truly evergreen cloud platform.Would love to hear the product team's thoughts on getting this added to the plugin roadmap!Thanks Partyush

Jennifer_Dungan
Adobe Champion and Community Advisor
Jennifer_DunganAdobe Champion and Community Advisor

Workspaces - Need more Visibility of Active Users / Ways to Prevent Overwriting ChangesNew

Teams who collaborate on Workspaces have a lot of potential issues to lose / overwrite work from others in their team. There is no “lock” feature to prevent multiple users from accessing and updating the same report at the same time, which can lead to lost efforts by the last person saving their version, and “wiping out” the other person’s work. There are lots of potential options to help mitigate this, and it may end up being a roll out of features, since there are definitely complications for designs. Options:At least show visually how many people (and maybe who) are actively on a Workspace at a given time… or at least showing how many people with Edit rights have access. This way there is some warning that you might be impacting someone else’s work when you are there. For multiple active users, if I make a change and try to save, there could be a warning that my changes aren’t the most recent… and maybe provide a way to merge the other recent save with my own? Implement a “Lock” that prevents someone from making changes? However… we must take into account that we still need to be able to do “adhoc” changes (that we have no intention of saving for quick insights, without having to make a copy)… but we also need a way for admins to unlock the file… let’s say someone opens it, and leaves it open and goes to meetings… if the report needs to be updated, an admin should be able to force the lock off to allow for updates.  Basically, at the end of the day, we need some quality of life improvements for cross collaboration.

RohitKumar_Adobe Employee

Adobe Journey Optimizer: Journeys New Simulation Mode — From Zero to Your First Quick Run in Under 5 MinutesNew

Simulation Mode lets you test draft journeys with Simulated Users—AJO-native test profiles that are quick to create, easy to reuse, and separate from AEP test profiles. This guide walks you from access setup through your first end-to-end run. GETTING ACCESSRequest your admin to grant the right permissions in Access control. Permissions can take a few minutes to appear on your account after they are saved.Journeys resourceRequest one of these high-level permissions on the Journeys resource:Approve And Publish Journeys Publish Journeys Simulate JourneysTo run simulations, Simulate Journeys is the permission you need. The publish-related permissions are listed because some orgs bundle journey testing with publish roles.Simulated Users resourceAlso request access to the Simulated Users resource:Manage Simulated Users View Simulated UsersFor a full quick-start, ask for both Manage and View on Simulated Users, plus Simulate Journeys on Journeys.Note for adminsUse Administration → Permissions, open or create a role (for example, a role named Simulation Mode), and on the Resources tab assign:Journeys → Simulate Journeys Simulated Users → Manage Simulated Users and View Simulated UsersApply the role to the appropriate sandboxes, then Save. COMPLETE WALKTHROUGH (ADMINS)How to grant Simulation Mode access (Admin) Step-by-step in Access control to assign Journeys and Simulated Users permissions: START SIMULATION MODE Go to the Journeys page. Open or create a simple journey to get familiar with the flow. Example journey used in this guide: An Optimize node with a Data source condition: two condition paths: City == London City == Chicago The journey fetches weather based on the user's city. Click Simulate, then choose Simulation. The journey moves to Draft (Test) status and Simulation Mode is active.  CREATE SIMULATED USERSBefore you can test, you need simulated users. They are not AEP profiles—they are created quickly in AJO and tailored to your journey.For the London / Chicago example, create two simulated users:User 1: City = London User 2: City = ChicagoFill any other fields your journey's attribute template requires (identity, display name, and so on). Save both users so they are available for the simulation run. EXECUTE AN END-TO-END WORKFLOWWith Simulation Mode running and your two users created: Selected users — Both created users appear in the panel and are auto-selected for you. Many users later — When your inventory grows, use the expand icon to open the full list of simulated users and pick who should be part of the current run. Configure the event — This example is a unitary event journey. Event setup is straightforward: no extra attributes are required beyond what you already defined on the users. Scope who receives the event — You can select or deselect users in the simulation run. Only selected users receive the event when you send. Send — Click the send icon for each user (or send per your UI flow) to trigger the journey for that profile. Each user should enter the path that matches their city (London vs Chicago). RESULTS AND SIMULATION LOGS Scroll up and open the Results tab. Wait a few seconds for the dropdown to load. Open the dropdown to see all users in this simulation run. One user at a time — Select a single user and watch the green line on the canvas. It shows the path that user took through the journey. Node-level details — Open step or node details to see timestamps, branch decisions, and context for each step. All users — If you select All, dark grey lines show every path covered by every user in the run, so you can compare coverage across profiles at a glance.  CLOSE SIMULATION MODEWhen you are done testing, stop Simulation Mode from the journey (same area where you started Simulate → Simulation). The journey returns from Draft (Test) to your normal draft state. You can start a new simulation run later; simulated users you created remain available for reuse. COMPLETE WALKTHROUGH (PRACTITIONERS)     RECAPFrom access to first quick run: create a simple branched journey, two simulated users, one send per user, then read the green line in Results. That is the full Simulation Mode loop in under five minutes once permissions are in place. REFERENCESSimulate your journey

abhay5683
Adobe Champion
abhay5683Adobe Champion

Progressive Modernization Blueprint for Adobe Commerce → App Builder → ACCS ReadinessNew

Many enterprise Adobe Commerce customers are interested in modernization, but a full immediate transition to composable or ACCS is often difficult because of existing customizations, integrations, operational dependencies, and business risk.A possible approach could be an officially documented “progressive modernization blueprint” that helps organizations move step-by-step instead of forcing a large transformation program.The idea would be to provide guidance around:introducing App Builder gradually alongside existing PaaS implementations identifying which customizations should move first to extensibility services preparing APIs and event-driven integrations early coexistence strategy between legacy modules and composable services phased operational governance and monitoring ACCS readiness assessment framework recommended migration sequence for enterprise implementationsThis could help customers:reduce migration risk modernize incrementally improve long-term maintainability align investments with Adobe’s future SaaS/composable direction avoid large “all-at-once” migration pressureIt would also be valuable if Adobe shared:reference architectures phased adoption patterns real implementation examples best practices for App Builder adoption guidance for handling heavily customized Commerce environmentsWould love to hear how others are approaching progressive modernization and whether a structured Adobe-led blueprint would help enterprise adoption.

abhay5683
Adobe Champion
abhay5683Adobe Champion

Adobe summit 2026 made this crystal clear: AI agents are actively shopping on behalf of consumers and most storefronts aren't built for them.New

Your storefront now has two audiences. Most architectures are built for only one.Adobe summit 2026 made this crystal clear: AI agents are actively shopping on behalf of consumers and most storefronts aren't built for them.During the 2025 holiday season, generative AI tools drove a 693% increase in traffic to retail sites year-over-year. And those AI-referred shoppers convert 31% higher and generate 254% more revenue per visit.The two audiences your storefront must now serve:HUMAN SHOPPERS (you know this one):Browse pages, use search, click through checkoutRespond to promotions and personalized recommendationsUX, Core Web Vitals, and page performance still matterAI AGENTS (new requirement):Query your catalog via API : they never see your homepageCompare products across multiple LLMs on behalf of usersExecute purchases autonomously using protocols like UCP and ACPNeed machine-readable product data: rich descriptions, structured specs, real-time pricing and inventoryWhat this means architecturally:GraphQL APIs must be production-grade, not an afterthoughtProduct catalog data must be semantically rich, not just SEO-optimizedAdobe Commerce now supports UCP (Universal Commerce Protocol) and ACP (Agentic Commerce Protocol) : your integration layer needs to support thesePDP Enrichment adds a hidden semantic layer for LLMs without changing the human UXThe brands that will win in 2026-27 aren't just building great storefronts. They're building great APIs.