From 4f92042a3af1210af2f5e6d07cbf31ed54c5b9be Mon Sep 17 00:00:00 2001 From: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com> Date: Thu, 26 Oct 2023 14:44:22 +0530 Subject: [PATCH] Add Description for Data Insights and report app (#13714) * Add Description for Data Insights and report app * Add Default Empty value for after in logs * fix: description changes * fix: restrict to day schedule for external apps --------- Co-authored-by: karanh37 --- .../openmetadata/service/resources/apps/AppResource.java | 1 + .../appMarketPlaceDefinition/DataInsightsApplication.json | 2 +- .../DataInsightsReportApplication.json | 2 +- .../AddDataQualityTest/AddDataQualityTest.interface.ts | 1 + .../AddDataQualityTest/components/TestSuiteScheduler.tsx | 2 ++ .../AppRunsHistory/AppRunsHistory.component.tsx | 4 ++++ .../Applications/AppSchedule/AppSchedule.component.tsx | 3 +++ .../MarketPlaceAppDetails.component.tsx | 7 +++++-- .../ui/src/pages/AppInstall/AppInstall.component.tsx | 3 ++- 9 files changed, 20 insertions(+), 5 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/apps/AppResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/apps/AppResource.java index 2f99b315b08b..5337550175ff 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/apps/AppResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/apps/AppResource.java @@ -284,6 +284,7 @@ public Response getLastLogs( @Parameter(description = "Name of the App", schema = @Schema(type = "string")) @PathParam("name") String name, @Parameter(description = "Returns log chunk after this cursor", schema = @Schema(type = "string")) @QueryParam("after") + @DefaultValue("") String after) { App installation = repository.getByName(uriInfo, name, repository.getFields("id,pipelines")); if (installation.getAppType().equals(AppType.Internal)) { diff --git a/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsApplication.json b/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsApplication.json index 29b5e483aaca..b5474cd352c0 100644 --- a/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsApplication.json +++ b/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsApplication.json @@ -2,7 +2,7 @@ "name": "DataInsightsApplication", "fullyQualifiedName": "DataInsightsApplication", "displayName": "Data Insights", - "description": "OpenMetadata Data Insights Application runs a Data Insights Pipeline on the Ingestion Framework.", + "description": "**Data Insights: A Revolutionary Tool for Metadata Analysis and Data Management**\n\n**Comprehensive Data Analytics:** Dive deep into the world of data with our advanced analytics, crafted to transform raw metadata into valuable insights. The application meticulously processes collected metadata, ensuring every bit of information is utilized to its full potential.\n**Growth Trend Identification:** Stay ahead of the curve by tracking the expansion of your data assets over time. Our application provides a visual and quantitative analysis of your data’s growth rate, helping you make informed decisions for resource allocation and future planning.\n**Detailed Asset Descriptions and Ownership:** Gain clarity on your data landscape with extensive descriptions and clear ownership details for each data asset. Our tool not only lists the data assets but also enriches them with metadata, ensuring that you have a comprehensive understanding of what each dataset entails and who is responsible for it.\n**OpenMetadata Integration:** Experience seamless integration with OpenMetadata, one of the leading metadata platforms. Our application taps into the power of OpenMetadata to fetch, analyze, and visualize usage patterns, ensuring that you are leveraging OpenMetadata to its full potential.\n**User Interaction Tracking:** Discover which data assets are capturing the attention of your users. Our tool keeps track of user interactions, pinpointing the most viewed and utilized data assets. This feature is invaluable for identifying popular datasets, helping you to understand user preferences and trends.\n**Actionable Insights for Data Governance:** Beyond analytics, our application serves as a tool for robust data governance. By providing insights into data asset utilization, ownership, and growth, it empowers organizations to enforce better data management practices, ensuring data quality and integrity.\nUser-Friendly Interface: Navigate through a wealth of data with ease, thanks to our intuitive and user-friendly interface. Even if you are not a data expert, our application provides a straightforward experience, making data analytics accessible to everyone.\n**Real-Time Analytics:** Stay up-to-date with real-time analytics and insights. Our application ensures that you are always in the loop, providing timely and accurate data to support your decision-making processes.\n**Customizable Reports:** Tailor the analytics to suit your needs. With customizable reports, you can focus on the metrics that matter the most to your organization, ensuring that the insights you receive are relevant and actionable.\nSecure and Reliable: Trust in the reliability and security of our application. We prioritize the safety of your data, implementing robust security measures to protect your metadata and insights.\nData Insights stands out as a pivotal tool for organizations aiming to optimize their data management practices, ensuring that every piece of data is a stepping stone towards informed decisions and enhanced data governance.", "features": "Run Ingestion Framework Data Insight Module.", "appType": "external", "appScreenshots": ["DataInsightsPic1.png"], diff --git a/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsReportApplication.json b/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsReportApplication.json index f9a806825fc9..8b788c3ec6bb 100644 --- a/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsReportApplication.json +++ b/openmetadata-service/src/main/resources/json/data/appMarketPlaceDefinition/DataInsightsReportApplication.json @@ -2,7 +2,7 @@ "name": "DataInsightsReportApplication", "fullyQualifiedName": "DataInsightsReportApplication", "displayName": "Data Insights Report", - "description": "OpenMetadata Data Insights Report Application sends a data insight report.", + "description": "**Data Insights Reports: Enhancing Data Management through OpenMetadata**\n\n**Integration with OpenMetadata:** Data Insights Reports is designed to work seamlessly with OpenMetadata, providing organizations with the tools they need to set and track Key Performance Indicators (KPIs) such as Ownership and Description Coverage. These KPIs help establish clear goals for data management across the organization.\n\n**Focus on Ownership and Description Coverage:**\n **Ownership:** Knowing who is responsible for each data asset is crucial. By making Ownership a KPI, we help ensure that there is clear accountability for every piece of data, which in turn helps in its proper management.\n **Description Coverage:** It’s important for data to be easily understandable. Setting Description Coverage as a KPI ensures that all data assets are accompanied by clear descriptions, making them more accessible and useful to everyone in the organization.\n\n**Weekly Email Reminders to Stay on Track:**\n **Regular Updates:** Our weekly email reminders keep all teams in the loop, helping them stay aware of their progress in achieving the organization’s KPIs.\nVisual Progress Tracking: The emails include visual representations of progress, making it easy for teams to quickly understand where they stand in relation to the set goals.\n **Guidance for Action:** The updates are not just about tracking progress; they also provide insights and suggestions on what can be done to improve, ensuring that teams have the guidance they need to meet their goals.\n\n**Supporting Teams and Advancing Organizational Goals:**\n **Building a Data-Driven Culture:** By integrating KPI tracking into regular workflows, Data Insights Reports helps cultivate a culture that values and leverages data for better decision-making.\n **Tailored to Each Team:** While Ownership and Description Coverage are universal goals, our tool recognizes that each team is different. The weekly reports are customized to suit the specific needs and characteristics of each team, ensuring that the insights provided are always relevant.\nIn summary, Data Insights Reports provides a practical and effective solution for organizations looking to enhance their data management practices. Through integration with OpenMetadata, regular updates, and a focus on key data management goals, it supports teams in their efforts to maintain clear ownership and comprehensive descriptions of their data assets.", "features": "Data Insights Application. Send Email Reports.", "appType": "internal", "appScreenshots": ["DataInsightsReportPic1.png"], diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/AddDataQualityTest.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/AddDataQualityTest.interface.ts index d79bead9a3b7..d880a4b34bdd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/AddDataQualityTest.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/AddDataQualityTest.interface.ts @@ -50,6 +50,7 @@ export interface TestSuiteSchedulerProps { okText: string; cancelText: string; }; + includePeriodOptions?: string[]; } export interface RightPanelProps { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/components/TestSuiteScheduler.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/components/TestSuiteScheduler.tsx index 8785b1bbfbb0..15b791d0a109 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/components/TestSuiteScheduler.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddDataQualityTest/components/TestSuiteScheduler.tsx @@ -23,6 +23,7 @@ const TestSuiteScheduler: React.FC = ({ onCancel, onSubmit, isQuartzCron = false, + includePeriodOptions, }) => { const [repeatFrequency, setRepeatFrequency] = useState( initialData @@ -38,6 +39,7 @@ const TestSuiteScheduler: React.FC = ({ setRepeatFrequency(value)} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppRunsHistory/AppRunsHistory.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppRunsHistory/AppRunsHistory.component.tsx index 1e7a8232a575..d12f0f4c0f86 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppRunsHistory/AppRunsHistory.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppRunsHistory/AppRunsHistory.component.tsx @@ -109,6 +109,10 @@ const AppRunsHistory = forwardRef( ); const showLogAction = useCallback((record: AppRunRecordWithId): boolean => { + if (appData?.appType === AppType.External) { + return false; + } + if (record.status === Status.Success && isNull(record?.successContext)) { return true; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppSchedule/AppSchedule.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppSchedule/AppSchedule.component.tsx index b8a4bca8edbe..d349c1e0f249 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppSchedule/AppSchedule.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Applications/AppSchedule/AppSchedule.component.tsx @@ -197,6 +197,9 @@ const AppSchedule = ({ cancelText: t('label.cancel'), okText: t('label.save'), }} + includePeriodOptions={ + appData.appType === AppType.External ? ['Day'] : undefined + } initialData={getIngestionFrequency(PipelineType.Application)} onCancel={onDialogCancel} onSubmit={onDialogSave} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Applications/MarketPlaceAppDetails/MarketPlaceAppDetails.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Applications/MarketPlaceAppDetails/MarketPlaceAppDetails.component.tsx index 58e7acc14257..d7dbc476d60d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Applications/MarketPlaceAppDetails/MarketPlaceAppDetails.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Applications/MarketPlaceAppDetails/MarketPlaceAppDetails.component.tsx @@ -176,7 +176,7 @@ const MarketPlaceAppDetails = () => { pageTitle={t('label.application-plural')}> - + {getEntityName(appData)} @@ -202,7 +202,10 @@ const MarketPlaceAppDetails = () => {
- +
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AppInstall/AppInstall.component.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AppInstall/AppInstall.component.tsx index 0da9612b69c7..f88fb03f44db 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AppInstall/AppInstall.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AppInstall/AppInstall.component.tsx @@ -173,6 +173,7 @@ const AppInstall = () => { {t('label.schedule')} setActiveServiceStep(isExternalApp ? 1 : 2)} onSubmit={onSubmit} @@ -182,7 +183,7 @@ const AppInstall = () => { default: return <>; } - }, [activeServiceStep, appData, jsonSchema]); + }, [activeServiceStep, appData, jsonSchema, isExternalApp]); useEffect(() => { fetchAppDetails();