Product ideas | Community
Skip to main content

10000 Ideas

Implement "Anti Virus" (Anti Maleware) scans in AEM Cloud Service (AEMaaCS) - "Anti-Malware as a Cloud Service"Approved

Request for Feature Enhancement (RFE) Summary: Enterprise level applications with the option to be able to upload binaries require anti-malware protection. Also, most enterprise policies require "Anti-malware" to be implemented to be compliant. AEM does not provide any means of Anti-Virus OOTB, but there are solutions which can be used in "on-premise" and AMS (managed Service) scenarios.However, in AEMaaCS (Cloud Service) there is no option, and no way to create a "customization" to be able to implement anti-virus/malware-protection.   In the AdaptTo()-2020 several ways to implement "Anti-Malware in AEM" were proposed [0][2].   The solution by Oliver Lietz (Sling Contributor) has the charm, that the malware scanning would be implemented on SLING level using SlingJobs (which would work across the Author Cluster in AEMaaCS), with a "CloudService" which is used to scan the binaries outside of the AEM instances - which seems to be compatible with AEMaaCS and it's Cloud-Services (Cloud-Blob-Store, Asset Microservices etc, ... ) . This solution, if implemented, could likely use a very scaleable "Anti-Malware scanning Backend" within "Containerization", which would be massively scalable, and though HTTP-requests very loosely oupled to AEM. [0] https://adapt.to/2020/en/schedule/scanning-for-malware-in-apache-sling-and-aem.html  [1] https://github.com/apache/sling-org-apache-sling-clam  [2] https://adapt.to/2020/en/schedule/aem-virus-scan.html  Use-case: Cloud-based "OOTB Anti-Maleware Scanning as a Service" in AEM Cloud Service (similar to "Asset Microservice").Each larger customer is required to have "Anti-Malware-protection/scanning" for compliance as well as to be save to deliver "assets" to customers and users. Current/Experienced Behavior: NO solution to scan for Malware is available on AEM Cloud Service (AEMaaCS) - neither OOTB nor custom! Improved/Expected Behavior: AEM Cloud Service should can each binary (and possibly strings) for malware - best as "Service within AEM Cloud Service". Environment Details (AEM version/service pack, any other specifics if applicable): AEM Could Service Customer-name/Organization name: Many Cloud Service customers (really, many!)  Screenshot (if applicable):   Code package (if applicable):  

Urs_Boller
Urs_BollerNew Participant

Fully dynamic "Compare date range"New

Description: I would love to have a dashboard where you can both select the date range (as it is currently) and have a second date range picker for a "compare date range". this way, user can easely compare any date ranges they want just by select one of the date ranges.   Why is this feature important to you: almost in every dashboard the people would love to have more than just 1 date comparison, sometimes there are 4-6 different comparisons. currently we need to pre-build every different comparison in advance, wich is both a lot of work and makes the dashboard more complex   How would you like the feature to work: I would love to have an additional date range picker at the top of the panel. the second date range picker would be for the "compare date range". each "date range" can be relative either to the main date range (default) or to the "compare date range" (as a flag). or there are completely new date ranges just for comparison. however, the workspace would look like this (simple project, sorry for bad painting) at the top there are the 2 date range picker. whenever the user changes either the main date range or the compare date range, the corresponding fields get updated accordingly. means with this dashboard the user could compare whatever he wants - he is not restricted to the given comparisons and he does not need to "build something" (multiple times)   Current Behaviour: currently there are different approaches to solve business requirements, but all are not close to good. either we build the different comparisons (like "last week", "last month", "3 month ago", "12 month ago") directly in the dashboard. and you need to educate the users, that if he changes the date range, the comparison will most likely fail (even with relative date ranges). Or we make copies of the exact same dashboard with different comparisons (like have one dashboard for "short term view" and another for "long term trends"). 

SumitK4New Participant

Inclusion of Start and End Date Fields in Adobe Analytics API 2.0 ResponsesNew

Description:Enhance the Adobe Analytics API 2.0 to include the start date and end date fields as part of the API response payload. Currently, these fields are only present in the request body.Why is this feature important to you?Data Context and Completeness:Including the date range directly in the API response provides essential context for the data being retrieved.It ensures that the data is self-contained and complete, eliminating the need to cross-reference with the original request.Simplified Data Processing:Currently, users must extract the date range from the request body and manually add it to the processed data.This enhancement would automate this process, simplifying data processing and reducing the risk of errors.Improved Data Integration:When integrating Adobe Analytics data with other systems, having the date range readily available in the response facilitates seamless data integration.It eliminates the need for external data mapping and lookups.Increased Efficiency:By including the date range in the response, it will reduce the amount of processing needed on the user side, and make the data more readily available.How would you like the feature to work?Date Range Fields in Response Payload:The API response should include two new fields: "Start Date" and "End Date."These fields should contain the start and end dates of the data range used in the request.The date format should be a standard format, like ISO 8601.Consistent Inclusion:The start and end date fields should be included in all API responses that involve a date range filter.Current Behavior:Date Range in Request Only:Currently, the start and end date information is only present in the request body, within the "globalFilters" section.The API response payload does not include this information.Manual Data Processing:Users must manually extract the date range from the request and add it to the processed data, which is inefficient and error-prone.Desired Behavior:Date Range Fields in Response Payload:The API response should include two new fields: "Start Date" and "End Date."These fields should contain the start and end dates of the data range used in the request.In the image, the date range is present at the top right of the image, as "Jul 1, 2024-Jul 31, 2024". This date range should be present in the API response.Consistent Inclusion:The start and end date fields should be included in all API responses that involve a date range filter.   

SumitK4New Participant

Multi-Level Breakdowns with itemId Persistence in Adobe Analytics API 2.0 response.New

Description:Enhance the Adobe Analytics API 2.0 to include the itemId value from the parent request in subsequent multi-level breakdown responses. This will facilitate seamless data joining across API responses.Why is this feature important to you?Simplified Data Integration:Currently, multi-level breakdowns require external data management to link parent and child response data due to the absence of the parent itemId in child responses.This feature would enable direct and efficient data joining, reducing complexity and potential errors.Improved Data Analysis Efficiency:Many analytical use cases rely on combining data from multiple API responses.The proposed enhancement would streamline this process, enabling faster and more accurate data analysis.Enhanced API Usability:The lack of itemId persistence makes multi-level breakdowns cumbersome.This feature would make the API more intuitive and user-friendly.How would you like the feature to work?itemId Inclusion in Child Responses:When a breakdown request is made, the response should include the itemId from the parent request that triggered the breakdown.This itemId should be included as a field within the response payload, allowing for direct linking of data.Example Scenario:If a first-level request (Resp1) returns a list of page URLs with itemIds, and a second-level request (Resp2) breaks down a specific page URL by marketing channel, Resp2 should include the itemId from the corresponding row in Resp1.Current Behavior:itemId Absence in Child Responses:Currently, the itemId value from the parent request is not included in the child (breakdown) response, even though it is used in the child request's metricFilters.This necessitates external data mapping and lookup tables to link parent and child data.Data Joining Challenges:One has to manually store or track and associate itemIds across multiple API responses, increasing the risk of errors and complicating data integration.As shown in the image, 2nd level response, the marketing channel breakdown does not contain the first level information i.e. evar27, or the itemID that it is related to. -

SumitK4New Participant

change the structure and format of the API 2.0 responses. Improve Metric Column Naming.New

Description:Enhance the Adobe Analytics API 2.0 response structure to include actual metric names as column headers or labels instead of, or in addition to, numerical indices (0, 1, 2, 3, etc.) when requesting single or multi-level breakdowns. This will improve readability, usability, and automation capabilities.Why is this feature important to you?Readability and Usability: Currently, the numerical column names make it difficult to quickly understand the data without referencing the original request or external documentation. This adds unnecessary complexity and slows down analysis.Automation and Efficiency: Automating data processing and analysis is hindered by the need to map numerical indices to metric names. This requires additional logic and increases development time.Debugging and Maintainability: Debugging becomes more challenging as it's not immediately clear which metric corresponds to which column index. Code relying on these numerical indices is less maintainable and prone to errors when metric selections change.Data Clarity: Providing metric names directly in the response enhances data clarity and makes it easier to interpret the results.How would you like the feature to work?Include Metric Names as Column Headers: The API response should include the actual metric names (e.g., "Visits", "Page Views", "Revenue") as column headers or labels, either directly within the data structure or in a dedicated metadata section.Provide a Mapping (Optional): If maintaining numerical indices is necessary for backward compatibility, include a clear mapping between the numerical indices and the corresponding metric names within the response, possibly in a separate metadata section.Consistency: Ensure consistent naming conventions for metrics across the API.Current Behavior:Request:--{"rsid": "globalprod","metricContainer": {"metrics": [{ "columnId": "0", "id": "metrics/pageviews" },{ "columnId": "1", "id": "metrics/visits" },{ "columnId": "2", "id": "metrics/visitors" },{ "columnId": "3", "id": "cm538_5e65f9850a999d7b5aa3f26d" },{ "columnId": "4", "id": "cm_average_time_on_site_defaultmetric" },{ "columnId": "5", "id": "metrics/bouncerate" }]},"dimension": "variables/marketingchannel"} Current Response:--{"columns": {"columnIds": ["0", "1", "2", "3", "4", "5"]},"rows": [{"value": "Direct","data": [105.0, 92.0, 53.0, 0.0, 84, 0.70]},{"value": "Organic Search","data": [28, 21, 19, 0., 7, 0.2]},// ... other rows ...],"summaryData": {"filteredTotals": [15, 13, 85, 0, 82, 0]}}Key Issue: Notice that the columns.columnIds array contains numerical indices ("0", "1", "2", etc.). The rows.data array uses these indices to represent the metric values. You have to manually map the numerical index back to the metric ID from your original request.Desired Behavior:The columns section should include the actual metric names, not just the numerical indices. The rows.data array should ideally use metric names as keys, or the columns section should provide a mapping.Option 1: Metric Names as Keys in rows.data{"columns": {"columnIds": ["metrics/pageviews", "metrics/visits", "metrics/visitors", "cm538_5e65f98sdfghgfdsdf", "cm_average_time_on_site_defaultmetric", "metrics/bouncerate"]},"rows": [{"value": "Direct","data": {"metrics/pageviews": 10,"metrics/visits": 92,"metrics/visitors": 53,"cm538_5e65f9850a999d7b5aa3f26d": 0,"cm_average_time_on_site_defaultmetric": 84,"metrics/bouncerate": 0.7}},{"value": "Organic Search","data": {"metrics/pageviews": 28,"metrics/visits": 21,"metrics/visitors": 19,"cm538_5e65f9850a999d7b5aa3f26d": 0.04,"cm_average_time_on_site_defaultmetric": 77,"metrics/bouncerate": 0.26}},// ... other rows ...],"summaryData": {"filteredTotals": {"metrics/pageviews": 156,"metrics/visits": 130,"metrics/visitors": 857,"cm538_5e65f9850a999d7b5aa3f26d": 0.02,"cm_average_time_on_site_defaultmetric": 82,"metrics/bouncerate": 0.6}}}Option 2: Metric Names in columns with a Mapping{"columns": {"columnIds": ["0", "1", "2", "3", "4", "5"],"metricMapping": {"0": "metrics/pageviews","1": "metrics/visits","2": "metrics/visitors","3": "cm538_5e65f9850a999d7b5aa3f26d","4": "cm_average_time_on_site_defaultmetric","5": "metrics/bouncerate"}},"rows": [{"value": "Direct","data": [10, 92, 53, 0.0, 84, 0.7]},// ... other rows ...],"summaryData": {"filteredTotals": [156, 130, 857, 0.02, 82, 0.6]}}Option 1 is cleaner and more direct, while Option 2 maintains backward compatibility by keeping the numerical indices but adding a mapping.Key Point: The essence of the request is to eliminate the need for developers to manually map numerical column indices to metric IDs, improving the API's usability.

RobertDo1New Participant

Separate expenses between what was budgeted and what was plannedNew

Description / Why is this feature important to you / Current Behaviour - Workfront has the ability to separate labor costs between what was budgeted, what is planned, and what are actual labor costs. While there is an ability to separate expenses between what expenses are planned and what are the actual expense results, Workfront does not have the ability to separate expenses between what was budgeted and what was planned.  A project's baseline / approved budget in terms of expenses must be stored outside of Workfront.   Planned expenses entered on the Expenses dashboard tab and/or on Tasks get automatically updated on the Business Case. If a project manager adds planned expenses that weren't budgeted, how would we report a variance between budgeted and planned expenses?  Answer:  Workfront users are not able to report a variance between budgeted and planned expenses. How would you like the feature to work -Similar to how a budget is entered on the business case for labor, allow the expenses entered there to be the baseline budget separate from planned expenses.  Planned expenses would be separate and change to reflect what is expected to happen, whereas the budgeted expenses would remain equal to the baseline approved budgeted expenses.   Users would then be able to report between budgeted expenses, planned expenses, and actual expenses, similar to how users are able to report between budgeted labor, planned labor, and actual labor.