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

Doc/#1209 - #1250 - Add documentation page for each application and page template #1263

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

trgiangdo
Copy link
Member

@trgiangdo trgiangdo commented Jan 22, 2025

Resolves #1209

See temporary results on ReadTheDocs/doc-1209-application-templates.

TODO:

  • Add sections for page templates when ready

Sorry, something went wrong.

@trgiangdo trgiangdo added 📈 Improvement Improvement of a feature. 📄 Documentation Internal or public documentation labels Jan 22, 2025
@trgiangdo trgiangdo self-assigned this Jan 22, 2025
Copy link
Member

@FlorianJacta FlorianJacta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@jrobinAV jrobinAV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move the templates/ folder from docs/userman/ecosystem/ to docs/. I propose to expose the templates at the top level next to the tutorials. On the contrary, the cli/ folder remains unchanged, under docs/userman/ecosystem/ folder. Does it make sense?

I would also like to have a templates/index.md page that list all templates (for application and page).

What do you think?

docs/userman/ecosystem/cli/create.md Outdated Show resolved Hide resolved
docs/userman/ecosystem/cli/create.md Outdated Show resolved Hide resolved
docs/userman/ecosystem/cli/create.md Outdated Show resolved Hide resolved
docs/userman/ecosystem/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/userman/ecosystem/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/userman/ecosystem/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
mkdocs.yml_template Outdated Show resolved Hide resolved
trgiangdo and others added 2 commits February 5, 2025 09:15
Co-authored-by: Jean-Robin <[email protected]>
@trgiangdo trgiangdo requested a review from jrobinAV February 5, 2025 09:23
Copy link
Member

@jrobinAV jrobinAV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some suggestions are not real suggestions but just a proposal for some new sections and new titles.

docs/tutorials/articles/complete_application/index.md Outdated Show resolved Hide resolved
tools/postprocess.py Outdated Show resolved Hide resolved
mkdocs.yml_template Outdated Show resolved Hide resolved
docs/templates/index.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/index.md Outdated Show resolved Hide resolved
trgiangdo and others added 2 commits February 7, 2025 22:07
Co-authored-by: Jean-Robin <[email protected]>
…n description and customize the application sections
Copy link
Member Author

@trgiangdo trgiangdo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the sdm.md file with the new structure.

@jrobinAV Please review this page.

When it's ok, I will restructure the default.md with similar structure.

@trgiangdo trgiangdo requested a review from jrobinAV February 8, 2025 10:38
Copy link
Member

@jrobinAV jrobinAV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly max line length

docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
Co-authored-by: Jean-Robin <[email protected]>
Copy link
Member

@jrobinAV jrobinAV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also add UI screenshots to make the doc appealing and to quickly explain the features available for an end-user.

docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
docs/templates/applications/sdm_app.md Outdated Show resolved Hide resolved
…eginning of the doc page
@trgiangdo trgiangdo changed the title Doc/#1209 - Add documentation page for each application template Doc/#1209 - #1250 - Add documentation page for each application and page template Feb 17, 2025
docs/templates/applications/default_app.md Outdated Show resolved Hide resolved
docs/templates/applications/default_app.md Outdated Show resolved Hide resolved
@jrobinAV
Copy link
Member

I am getting 404 answers on the new templates chapter. I believe the folder name templates is not allowed by mkdocs. When I tried with tmplates, it worked like a charm.

trgiangdo and others added 2 commits February 18, 2025 21:17
Comment on lines +75 to +87
- "Templates":
- "Templates": tp_templates/index.md
- "Application templates":
- "Default application template": tp_templates/applications/default_app.md
- "Scenario management template": tp_templates/applications/sdm_app.md
- "Page templates":
- "Default page template": tp_templates/pages/default_page.md
- "Root page template": tp_templates/pages/root_page.md
- "Data management page template": tp_templates/pages/data_management_page.md
- "Scenario management page template": tp_templates/pages/sdm_page.md
- "Job management page template": tp_templates/pages/job_management_page.md
- "Login page template": tp_templates/pages/login_page.md

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would simplify the titles.

Suggested change
- "Templates":
- "Templates": tp_templates/index.md
- "Application templates":
- "Default application template": tp_templates/applications/default_app.md
- "Scenario management template": tp_templates/applications/sdm_app.md
- "Page templates":
- "Default page template": tp_templates/pages/default_page.md
- "Root page template": tp_templates/pages/root_page.md
- "Data management page template": tp_templates/pages/data_management_page.md
- "Scenario management page template": tp_templates/pages/sdm_page.md
- "Job management page template": tp_templates/pages/job_management_page.md
- "Login page template": tp_templates/pages/login_page.md
- "Templates":
- "Templates": tp_templates/index.md
- "Application templates":
- "Default application": tp_templates/applications/default_app.md
- "Scenario management application": tp_templates/applications/sdm_app.md
- "Page templates":
- "Default page": tp_templates/pages/default_page.md
- "Layout": tp_templates/pages/root_page.md
- "Data management": tp_templates/pages/data_management_page.md
- "Scenario management": tp_templates/pages/sdm_page.md
- "Job management": tp_templates/pages/job_management_page.md
- "Login": tp_templates/pages/login_page.md

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed!!

Comment on lines +1 to +5
Building a Taipy application can require a good amount of time and effort, in particular at the
beginning of a project. This can delay the time-to-market and increase development costs.

To reduce the development time, Taipy provides a simple and minimal application template which let
you create a custom application that just works out-of-the-box with a few questions.
Copy link
Member

@jrobinAV jrobinAV Feb 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These 5 lines are not specific to the default template. It is a motivation for using a template. Maybe we can move them to the tp_templates/index.md page.

Suggested change
Building a Taipy application can require a good amount of time and effort, in particular at the
beginning of a project. This can delay the time-to-market and increase development costs.
To reduce the development time, Taipy provides a simple and minimal application template which let
you create a custom application that just works out-of-the-box with a few questions.
The default template provides a minimalistic starting point for users to build upon,
offering a basic structure without additional features. It's a perfect template for users
who prefer to customize their applications from the ground up without predefined pages or
visual elements.

Comment on lines +13 to +26
This default template offers several key benefits:

- **Ease of Use**: The template is designed to be user-friendly, with a simple CLI
interface that guides developers through the application creation process.
- **Comprehensive Features**: The template supports a wide range of functionalities, including
multi-page support, authentication, scenario management, Rest API, Git and Docker support.
- **Accelerated Development**: By leveraging the wide range of features provided by the template,
developers can quickly bootstrap a standard application, saving significant development time to
focus on delivering business value more efficiently.
- **Customization**: The template provides high flexibility and customization options on application
creation. The resulting application is also highly customizable with placeholders, allowing
developers to tailor the application to meet specific requirements and use cases.
- **Deployment-Ready**: With support for Git and Docker, the template provides helpers for both
development and production environments.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit too verbose to me. In particular, I believe we can remove the parts that are not specific to this template. What about being more straight to the point as follows:

Suggested change
This default template offers several key benefits:
- **Ease of Use**: The template is designed to be user-friendly, with a simple CLI
interface that guides developers through the application creation process.
- **Comprehensive Features**: The template supports a wide range of functionalities, including
multi-page support, authentication, scenario management, Rest API, Git and Docker support.
- **Accelerated Development**: By leveraging the wide range of features provided by the template,
developers can quickly bootstrap a standard application, saving significant development time to
focus on delivering business value more efficiently.
- **Customization**: The template provides high flexibility and customization options on application
creation. The resulting application is also highly customizable with placeholders, allowing
developers to tailor the application to meet specific requirements and use cases.
- **Deployment-Ready**: With support for Git and Docker, the template provides helpers for both
development and production environments.
The template provides support for:
- Multi-pages
- Authentication
- scenario management
- Rest API
- gitignore setup
- Docker file setup

Comment on lines +74 to +143
## 1. Application root folder

- Specifies the root folder of the application.
- The default value is "taipy_application".

## 2. Application main Python file

- Sets the name of the main Python file (entry point) of the application.
- The default value is "main.py".

## 3. Application title

- Specifies the title displayed in the web application.
- The default value is "Taipy Application".

## 4. With multi-pages

- Specifies whether the application is a single-page or multi-page.
- For a multi-page application, enter the page names separated by spaces. If left blank, the
application will default to single page.
- The page names must be valid Python identifiers.
- Once the application is created, all pages will be created in the `pages` folder as empty
pages. You can add content to the pages as needed.
- The default value is an empty string, which creates a single-page application.

## 5. With Authentication

- Indicates whether the application includes authentication.
- If yes, a login page and a basic setup for for configuring authentication will be included
in the application.
- A login page will be created at `pages/login.py`, which uses the
[Taipy login control](../../refmans/gui/viselements/generic/login.md).
- A basic authentication configuration will be added to the `configuration/auth_config.py` file.
By default, the authentication will use the
[Taipy protocol](../../userman/advanced_features/auth/authentication.md#taipy-protocol).
You can customize the authentication method as needed.
- The default value is "No".

## 6. With scenario management

- Specifies whether the application uses scenario management.
- If yes:
- The Taipy `Orchestrator^` service will be included to handle job orchestration and version
management.
- A scaffold configuration file will be created at `configuration/config.py`. You can put your
application's configuration here and it will be imported to the main application file.
- A scaffold `algorithms/algorithms.py` file will be created, which is designed to contain the
various Python functions used to configure tasks. You can add your tasks' functions here and
they will be imported to the main application file.
- The default value is "No".

## 7. With a Rest API

- Specifies whether the application uses Taipy Rest.
- If yes, the Taipy `Rest^` service will be included in the application.
- The default value is "No".

## 8. With a new Git repository

- Specifies whether the application will be initialized as a new Git repository.
- The default value is "No".

## 9. With Docker deployment

- Specifies Docker support for the application.
- Options:
- "No": No Docker support.
- "For development": Add a minimal version of `Dockerfile` and `docker-compose.yml` for development.
- "For production": Add a production-ready `Dockerfile` and `docker-compose.yml`.
- The default value is "No".
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TOC is too heavy. I would not make each item a section.

Suggested change
## 1. Application root folder
- Specifies the root folder of the application.
- The default value is "taipy_application".
## 2. Application main Python file
- Sets the name of the main Python file (entry point) of the application.
- The default value is "main.py".
## 3. Application title
- Specifies the title displayed in the web application.
- The default value is "Taipy Application".
## 4. With multi-pages
- Specifies whether the application is a single-page or multi-page.
- For a multi-page application, enter the page names separated by spaces. If left blank, the
application will default to single page.
- The page names must be valid Python identifiers.
- Once the application is created, all pages will be created in the `pages` folder as empty
pages. You can add content to the pages as needed.
- The default value is an empty string, which creates a single-page application.
## 5. With Authentication
- Indicates whether the application includes authentication.
- If yes, a login page and a basic setup for for configuring authentication will be included
in the application.
- A login page will be created at `pages/login.py`, which uses the
[Taipy login control](../../refmans/gui/viselements/generic/login.md).
- A basic authentication configuration will be added to the `configuration/auth_config.py` file.
By default, the authentication will use the
[Taipy protocol](../../userman/advanced_features/auth/authentication.md#taipy-protocol).
You can customize the authentication method as needed.
- The default value is "No".
## 6. With scenario management
- Specifies whether the application uses scenario management.
- If yes:
- The Taipy `Orchestrator^` service will be included to handle job orchestration and version
management.
- A scaffold configuration file will be created at `configuration/config.py`. You can put your
application's configuration here and it will be imported to the main application file.
- A scaffold `algorithms/algorithms.py` file will be created, which is designed to contain the
various Python functions used to configure tasks. You can add your tasks' functions here and
they will be imported to the main application file.
- The default value is "No".
## 7. With a Rest API
- Specifies whether the application uses Taipy Rest.
- If yes, the Taipy `Rest^` service will be included in the application.
- The default value is "No".
## 8. With a new Git repository
- Specifies whether the application will be initialized as a new Git repository.
- The default value is "No".
## 9. With Docker deployment
- Specifies Docker support for the application.
- Options:
- "No": No Docker support.
- "For development": Add a minimal version of `Dockerfile` and `docker-compose.yml` for development.
- "For production": Add a production-ready `Dockerfile` and `docker-compose.yml`.
- The default value is "No".
1. Application root folder
- Specifies the root folder of the application.
- The default value is "taipy_application".
2. Application main Python file
- Sets the name of the main Python file (entry point) of the application.
- The default value is "main.py".
3. Application title
- Specifies the title displayed in the web application.
- The default value is "Taipy Application".
4. With multi-pages
- Specifies whether the application is a single-page or multi-page.
- For a multi-page application, enter the page names separated by spaces. If left blank, the
application will default to single page.
- The page names must be valid Python identifiers.
- Once the application is created, all pages will be created in the `pages` folder as empty
pages. You can add content to the pages as needed.
- The default value is an empty string, which creates a single-page application.
5. With Authentication
- Indicates whether the application includes authentication.
- If yes, a login page and a basic setup for configuring authentication will be included
in the application.
- A login page will be created at `pages/login.py`, which uses the
[Taipy login control](../../refmans/gui/viselements/generic/login.md).
- A basic authentication configuration will be added to the `configuration/auth_config.py` file.
By default, the authentication will use the
[Taipy protocol](../../userman/advanced_features/auth/authentication.md#taipy-protocol).
You can customize the authentication method as needed.
- The default value is "No".
6. With scenario management
- Specifies whether the application uses scenario management.
- If yes:
- The Taipy `Orchestrator^` service will be included to handle job orchestration and version
management.
- A scaffold configuration file will be created at `configuration/config.py`. You
can put your application's configuration here. It will be imported to the main
application file.
- A scaffold `algorithms/algorithms.py` file will be created, which is designed to
contain the various Python functions used to configure tasks. You can add your
tasks' functions here. They will be imported to the main application file.
- The default value is "No".
7. With a Rest API
- Specifies whether the application uses Taipy Rest.
- If yes, the Taipy `Rest^` service will be included in the application.
- The default value is "No".
8. With a new Git repository
- Specifies whether the application will be initialized as a new Git repository.
- The default value is "No".
9. With Docker deployment
- Specifies Docker support for the application.
- Options:
- "No": No Docker support.
- "For development": Add a minimal version of `Dockerfile` and `docker-compose.yml`
for development.
- "For production": Add a production-ready `Dockerfile` and `docker-compose.yml`.
- The default value is "No".

Everything in the generated application can be updated to precisely fit your needs. It includes
the Python code, the configuration files, placeholders, and any other resources.

## Customizing the scenario management feature
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customizing the scenario management feature
## Custom tasks and scenarios

# #############################################################################
```

## Customize the authentication feature
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customize the authentication feature
## Custom authentication

The role required to access the admin page is defined by the `admin_page_filter` variable by the
`AnyOf^` filter.

## Customizing the pages
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customizing the pages
## Custom pages

- *main.py*: The main Python file of the application.
- *requirements.txt*: Contains the Python dependencies required by the application.

# Customizing the application
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Customizing the application
# How to customize the application

Comment on lines +1 to +32
To simplify the process of starting a new Taipy application, Taipy offers a set of templates that
provides a comfortable developer-friendly environment through the `create` command.

With Taipy application templates, you can easily initiate a new Taipy application as a starting
point for your project with best practices for code organization. Available application templates:

[:material-arrow-right: Default application template](applications/default_app.md),

[:material-arrow-right: Scenario management application template](applications/sdm_app.md),

Taipy also provides page templates, which can be used to create new pages on top of the existing
application. Once generated, the pages can be easily customized and plugged into the application.

!!! note "Available in Taipy Enterprise edition"

The page templates are only available in the [Taipy Enterprise Edition](https://taipy.io/enterprise).

[Contact us](https://taipy.io/book-a-call){: .tp-btn .tp-btn--accent target='blank' }

Available page templates:

[:material-arrow-right: Default page template](pages/default_page.md),

[:material-arrow-right: Root page template](pages/root_page.md),

[:material-arrow-right: Data management page template](pages/data_management_page.md),

[:material-arrow-right: Scenario management page template](pages/sdm_page.md),

[:material-arrow-right: Job management page template](pages/job_management_page.md),

[:material-arrow-right: Login page template](pages/login_page.md),
Copy link
Member

@jrobinAV jrobinAV Feb 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose to have an index page similar to tutorials and gallery.

Suggested change
To simplify the process of starting a new Taipy application, Taipy offers a set of templates that
provides a comfortable developer-friendly environment through the `create` command.
With Taipy application templates, you can easily initiate a new Taipy application as a starting
point for your project with best practices for code organization. Available application templates:
[:material-arrow-right: Default application template](applications/default_app.md),
[:material-arrow-right: Scenario management application template](applications/sdm_app.md),
Taipy also provides page templates, which can be used to create new pages on top of the existing
application. Once generated, the pages can be easily customized and plugged into the application.
!!! note "Available in Taipy Enterprise edition"
The page templates are only available in the [Taipy Enterprise Edition](https://taipy.io/enterprise).
[Contact us](https://taipy.io/book-a-call){: .tp-btn .tp-btn--accent target='blank' }
Available page templates:
[:material-arrow-right: Default page template](pages/default_page.md),
[:material-arrow-right: Root page template](pages/root_page.md),
[:material-arrow-right: Data management page template](pages/data_management_page.md),
[:material-arrow-right: Scenario management page template](pages/sdm_page.md),
[:material-arrow-right: Job management page template](pages/job_management_page.md),
[:material-arrow-right: Login page template](pages/login_page.md),
To avoid spending too much time and effort creating an application, in particular at
the beginning of a project, Taipy offers a set of templates that provides a
comfortable developer-friendly environment through the `create` command.
It significantly reduces the time-to-market, increases developer efficiency, and enforces
Taipy good practices.
<!-- Quick accesses -->
<div class="tp-row tp-row--gutter-sm">
<div class="tp-col-12 tp-col-md-4 d-flex">
<a class="tp-content-card tp-content-card--primary" href="#application-templates">
<header class="tp-content-card-header">
<img class="tp-content-card-icon--small" src="img/visualize.svg">
<h3>Application templates</h3>
</header>
<div class="tp-content-card-body">
<p>
Initiate a new Taipy application as a starting point for your project.
</p>
</div>
</a>
</div>
<div class="tp-col-12 tp-col-md-4 d-flex">
<a class="tp-content-card tp-content-card--alpha" href="#page-templates">
<header class="tp-content-card-header">
<img class="tp-content-card-icon--small" src="img/visualize.svg">
<h3>Page templates</h3>
</header>
<div class="tp-content-card-body">
<p>
Creates new pages on top of existing applications.
</p>
</div>
</a>
</div>
</div>
# Application templates
With Taipy application templates, you can easily initiate a new Taipy application as a starting
point for your project with best practices for code organization. Available application templates:
[:material-arrow-right: Default application template](applications/default_app.md),
[:material-arrow-right: Scenario management application template](applications/sdm_app.md),
# Page templates
Taipy also provides page templates, which can be used to create new pages on top of the existing
application. Once generated, the pages can be easily customized and plugged into the application.
!!! note "Available in Taipy Enterprise edition"
The page templates are only available in the [Taipy Enterprise Edition](https://taipy.io/enterprise).
[Contact us](https://taipy.io/book-a-call){: .tp-btn .tp-btn--accent target='blank' }
Available page templates:
[:material-arrow-right: Default page template](pages/default_page.md),
[:material-arrow-right: Root page template](pages/root_page.md),
[:material-arrow-right: Data management page template](pages/data_management_page.md),
[:material-arrow-right: Scenario management page template](pages/sdm_page.md),
[:material-arrow-right: Job management page template](pages/job_management_page.md),
[:material-arrow-right: Login page template](pages/login_page.md),

docs/tp_templates/applications/sdm_app.md Outdated Show resolved Hide resolved

[Contact us](https://taipy.io/book-a-call){: .tp-btn .tp-btn--accent target='blank' }

## 1. Application root folder
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would turn the title into an enumeration to make the TOC lighter.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No authorization here?

[scenario_dag](../../refmans/gui/viselements/corelements/scenario_dag.md)
and the [data_node](../../refmans/gui/viselements/corelements/data_node.md)
visual elements.
- *.taipyignore*: Specifies files to be protected when running the web server. Please refer to the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are missing the .gitignore here.

[login](../../refmans/gui/viselements/generic/login.md) visual element.
- *admin/* contains an example admin page for the authentication feature that only authenticated
users with the "TAIPY_ADMIN" role can access.
- *docker-compose.yml* and *Dockerfile*: The Docker configuration for building and running the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are missing the .gitignore and the .taipyignore. No?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was afraid of making this section too long tbh.

Maybe we can add the .taipyignore back.
Documenting the .gitignore here is quite unnecessary.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, probably the .gitignore is unnecessary. If you don't feel like adding it, I am ok.
The .taipyignore is important, though, for security reasons.

Comment on lines +1 to +12
Building a Taipy application with multiple complex scenarios usually requires a
significant amount of time and effort, in particular at the beginning of a project
when the user interface requirements are not completely stable. This can delay the
time-to-market and increase development costs.

To reduce the development time, Taipy provides a scenario management application template,
which leverages Taipy visual elements to speed up bootstrapping a standard application.

Out-of-the-box, the scenario management application is a multi-page Taipy application
that allows the user to visualize and manage scenarios and data nodes. The user can select a
scenario, view its directed acyclic graph (DAG), manage its data nodes, upload data files,
and submit the scenario for execution.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Building a Taipy application with multiple complex scenarios usually requires a
significant amount of time and effort, in particular at the beginning of a project
when the user interface requirements are not completely stable. This can delay the
time-to-market and increase development costs.
To reduce the development time, Taipy provides a scenario management application template,
which leverages Taipy visual elements to speed up bootstrapping a standard application.
Out-of-the-box, the scenario management application is a multi-page Taipy application
that allows the user to visualize and manage scenarios and data nodes. The user can select a
scenario, view its directed acyclic graph (DAG), manage its data nodes, upload data files,
and submit the scenario for execution.
The scenario management template provides a foundational structure for applications
requiring scenario-based analysis and data management. It's designed to help users create,
manage, and compare different scenarios to facilitate decision-making and what-if
analyses. It is ideal for applications in forecasting, simulation, and optimization, where
multiple scenarios need to be evaluated and compared.
Out of the box, the template provides a multi-page application structure with two pages predefined:
- A scenario page to select, visualize, submit, analyze, and manage scenarios and data nodes.
- A job page to monitor and manage submissions and jobs.

Comment on lines +27 to +40
This template offers several key benefits:

- **Accelerated Development**: By leveraging scenario and data management visual elements,
developers can quickly bootstrap a standard application, saving significant
development time to focus on delivering business value more efficiently.
- **Comprehensive Features**: The template provides a best-practice folder scaffolding for a
scenario management application, which supports a wide range of functionalities, including
data and scenario visualization, job orchestration monitoring, providing a comprehensive
solution for various use cases.
- **Customization**: The generated application is highly customizable with pre-built
placeholders for various components, allowing developers to tailor the application
to meet specific requirements and use cases.
- **Deployment-Ready**: The template provides Docker deployment helpers for both development purpose
and production environment.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This template offers several key benefits:
- **Accelerated Development**: By leveraging scenario and data management visual elements,
developers can quickly bootstrap a standard application, saving significant
development time to focus on delivering business value more efficiently.
- **Comprehensive Features**: The template provides a best-practice folder scaffolding for a
scenario management application, which supports a wide range of functionalities, including
data and scenario visualization, job orchestration monitoring, providing a comprehensive
solution for various use cases.
- **Customization**: The generated application is highly customizable with pre-built
placeholders for various components, allowing developers to tailor the application
to meet specific requirements and use cases.
- **Deployment-Ready**: The template provides Docker deployment helpers for both development purpose
and production environment.
The template provides support for:
- Multi-pages structure
- Scenario and data management
- Job monitoring
- gitignore setup
- Docker file setup

│ ├──── scenario_page/
│ └──── root.py
├──── .taipyignore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing the gitignore, no?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No auth?

the **algos/** and **config/** folders, there are placeholders that you can customize
precisely to your use case.

## Customizing the tasks' functions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customizing the tasks' functions
## Custom tasks

update the import statements in the *algos/\_\_init\_\_.py* file and any other
import statements.

## Customizing the configuration
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customizing the configuration
## Custom configuration

If you have a different name for the TOML file, make sure to update the file name in the
`configure()` method.

## Customizing the pages
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Customizing the pages
## Custom pages

- *main.py*: The main Python file of the application.
- *requirements.txt*: Contains the Python dependencies required by the application.

# Customizing the application
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Customizing the application
# How to customize the application

Copy link
Member

@FabienLelaquais FabienLelaquais left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure that " binding variable" does not appear.
It is confusing.

@@ -0,0 +1,32 @@
To simplify the process of starting a new Taipy application, Taipy offers a set of templates that
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To simplify the process of starting a new Taipy application, Taipy offers a set of templates that
To simplify the process of starting to enjoy Taipy, we offers a set of application templates that


- Specifies whether the application is a single-page or multi-page.
- For a multi-page application, enter the page names separated by spaces. If left blank, the
application will default to single page.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
application will default to single page.
application will have a single page.

- For a multi-page application, enter the page names separated by spaces. If left blank, the
application will default to single page.
- The page names must be valid Python identifiers.
- Once the application is created, all pages will be created in the `pages` folder as empty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Once the application is created, all pages will be created in the `pages` folder as empty
- Once the application is created, all pages are created in the `pages` folder as empty

## 5. With Authentication

- Indicates whether the application includes authentication.
- If yes, a login page and a basic setup for for configuring authentication will be included
Copy link
Member

@FabienLelaquais FabienLelaquais Feb 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If yes, a login page and a basic setup for for configuring authentication will be included
- If yes, a login page and a basic setup for configuring authentication is included

- Indicates whether the application includes authentication.
- If yes, a login page and a basic setup for for configuring authentication will be included
in the application.
- A login page will be created at `pages/login.py`, which uses the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- A login page will be created at `pages/login.py`, which uses the
- A *login* page is created in `pages/login.py`, which uses the


For managing data nodes, you can customize the
[data_node_selector](../../refmans/gui/viselements/corelements/data_node_selector.md)
and [data_node](../../refmans/gui/viselements/corelements/data_node.md) visual elements which
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
and [data_node](../../refmans/gui/viselements/corelements/data_node.md) visual elements which
and [data_node](../../refmans/gui/viselements/corelements/data_node.md) controls which

gui.run()
```

You can also explicitly import the `selected_scenario` and `selected_data_node` binding variables
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can also explicitly import the `selected_scenario` and `selected_data_node` binding variables
You can also explicitly import the *selected_scenario* and *selected_data_node* variables


## List of application templates
# List the application templates
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# List the application templates
# Application templates list

- "Templates":
- "Templates": tp_templates/index.md
- "Application templates":
- "Default application template": tp_templates/applications/default_app.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- "Default application template": tp_templates/applications/default_app.md
- "Default application": tp_templates/applications/default_app.md

I would certainly remove those ' templates' everywhere: we' re in the ' templates' section

Comment on lines +75 to +87
- "Templates":
- "Templates": tp_templates/index.md
- "Application templates":
- "Default application template": tp_templates/applications/default_app.md
- "Scenario management template": tp_templates/applications/sdm_app.md
- "Page templates":
- "Default page template": tp_templates/pages/default_page.md
- "Root page template": tp_templates/pages/root_page.md
- "Data management page template": tp_templates/pages/data_management_page.md
- "Scenario management page template": tp_templates/pages/sdm_page.md
- "Job management page template": tp_templates/pages/job_management_page.md
- "Login page template": tp_templates/pages/login_page.md

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📄 Documentation Internal or public documentation 📈 Improvement Improvement of a feature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add user manual documentation on templates
4 participants