Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Description for Data Insights and report app #13714

Merged
merged 4 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export interface TestSuiteSchedulerProps {
okText: string;
cancelText: string;
};
includePeriodOptions?: string[];
}

export interface RightPanelProps {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const TestSuiteScheduler: React.FC<TestSuiteSchedulerProps> = ({
onCancel,
onSubmit,
isQuartzCron = false,
includePeriodOptions,
}) => {
const [repeatFrequency, setRepeatFrequency] = useState<string | undefined>(
initialData
Expand All @@ -38,6 +39,7 @@ const TestSuiteScheduler: React.FC<TestSuiteSchedulerProps> = ({
<Row gutter={[16, 32]}>
<Col span={24}>
<CronEditor
includePeriodOptions={includePeriodOptions}
isQuartzCron={isQuartzCron}
value={repeatFrequency}
onChange={(value: string) => setRepeatFrequency(value)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ const MarketPlaceAppDetails = () => {
pageTitle={t('label.application-plural')}>
<Row>
<Col span={24}>
<Typography.Title className="p-md m-0" level={2}>
<Typography.Title className="p-md m-0 p-t-xss" level={2}>
{getEntityName(appData)}
</Typography.Title>
</Col>
Expand All @@ -202,7 +202,10 @@ const MarketPlaceAppDetails = () => {

<Col span={24}>
<div className="p-md">
<RichTextEditorPreviewer markdown={appData?.description ?? ''} />
<RichTextEditorPreviewer
enableSeeMoreVariant={false}
markdown={appData?.description ?? ''}
/>
</div>
</Col>
</Row>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ const AppInstall = () => {
<Typography.Title level={5}>{t('label.schedule')}</Typography.Title>
<TestSuiteScheduler
isQuartzCron
includePeriodOptions={isExternalApp ? ['Day'] : undefined}
initialData={getIngestionFrequency(PipelineType.Application)}
onCancel={() => setActiveServiceStep(isExternalApp ? 1 : 2)}
onSubmit={onSubmit}
Expand All @@ -182,7 +183,7 @@ const AppInstall = () => {
default:
return <></>;
}
}, [activeServiceStep, appData, jsonSchema]);
}, [activeServiceStep, appData, jsonSchema, isExternalApp]);

useEffect(() => {
fetchAppDetails();
Expand Down
Loading