diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 4b9a7477c6..ceadd31319 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -6,4 +6,4 @@ 1. -Frappe version: +Frappé version: diff --git a/README.md b/README.md index 4b0ee23808..9621b58b46 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Frappe Framework +## Frappé Framework [![Build Status](https://travis-ci.org/frappe/frappe.png)](https://travis-ci.org/frappe/frappe) @@ -6,7 +6,7 @@ Full-stack web application framework that uses Python and MariaDB on the server ### Installation -[Install via Frappe Bench](https://github.com/frappe/bench) +[Install via Frappé Bench](https://github.com/frappe/bench) ## Contributing diff --git a/attributions.md b/attributions.md index b7c72912e4..5964c45ea4 100644 --- a/attributions.md +++ b/attributions.md @@ -1,4 +1,4 @@ -## Frappe framework includes these public works +## Frappé framework includes these public works ### Javascript / CSS diff --git a/frappe/change_log/v7/v7_2_0.md b/frappe/change_log/v7/v7_2_0.md index 1042b5db7e..d907a9df38 100644 --- a/frappe/change_log/v7/v7_2_0.md +++ b/frappe/change_log/v7/v7_2_0.md @@ -7,7 +7,7 @@ - Delete selected rows - Map selected rows from one document to another. - Show Totals button in report -- OpenID Connect for Frappe +- OpenID Connect for Frappé - Threading based on message id in Email Queue - New control object daterangepicker for filtering - Orientation selection in PDF diff --git a/frappe/commands/docs.py b/frappe/commands/docs.py index 9556c21270..6c73739478 100644 --- a/frappe/commands/docs.py +++ b/frappe/commands/docs.py @@ -28,10 +28,9 @@ def build_docs(context, app, docs_version="current", target=None, local=False, w shutil.copy(source_path, target_path) add_breadcrumbs_tag(target_path) - elif ("/docs.css" in source_path - or "/docs/" in source_path - or "docs.py" in source_path): - _build_docs_once(site, app, docs_version, target, local, only_content_updated=True) + if source_path.endswith('/docs/index.md'): + target_path = frappe.get_app_path(target, 'www', 'docs', 'index.md') + shutil.copy(source_path, target_path) apps_path = frappe.get_app_path(app) start_watch(apps_path, handler=trigger_make) diff --git a/frappe/config/docs.py b/frappe/config/docs.py index 11c03cccac..4d3178e3fd 100644 --- a/frappe/config/docs.py +++ b/frappe/config/docs.py @@ -4,34 +4,3 @@ from __future__ import unicode_literals source_link = "https://github.com/frappe/frappe" docs_base_url = "/docs" -headline = "Frappé Framework" -sub_heading = "Tutorials, API documentation and Model Reference" -hide_install = True -long_description = """Frappe is a full stack web application framework written in Python, -Javascript, HTML/CSS with MySQL as the backend. It was built for ERPNext -but is pretty generic and can be used to build database driven apps. - -The key differece in Frappe compared to other frameworks is that Frappe -is that meta-data is also treated as data and is used to build front-ends -very easily. Frappe comes with a full blown admin UI called the **Desk** -that handles forms, navigation, lists, menus, permissions, file attachment -and much more out of the box. - -Frappe also has a plug-in architecture that can be used to build plugins -to ERPNext. - -Frappe Framework was designed to build [ERPNext](https://erpnext.com), open source -ERP for managing small and medium sized businesses. - -[Get started with the Tutorial](/docs/user/) -""" -google_analytics_id = 'UA-8911157-23' - -def get_context(context): - context.brand_html = (' Frappé Framework') - context.top_bar_items = [ - {"label": "Tutorials", "url": context.docs_base_url + "/user", "right": 1}, - {"label": "API", "url": context.docs_base_url + "/current", "right": 1}, - {"label": "Forum", "url": 'https://discuss.erpnext.com', "right": 1} - ] diff --git a/frappe/docs/index.md b/frappe/docs/index.md new file mode 100644 index 0000000000..1a88720be9 --- /dev/null +++ b/frappe/docs/index.md @@ -0,0 +1,25 @@ +# Frappé Framework + +### Tutorials, API documentation and Model Reference + +Frappé is a full stack web application framework written in Python, +Javascript, HTML/CSS with MySQL as the backend. It was built for ERPNext +but is pretty generic and can be used to build database driven apps. + +The key differece in Frappé compared to other frameworks is that Frappé +is that meta-data is also treated as data and is used to build front-ends +very easily. Frappé comes with a full blown admin UI called the **Desk** +that handles forms, navigation, lists, menus, permissions, file attachment +and much more out of the box. + +Frappé also has a plug-in architecture that can be used to build plugins +to ERPNext. + +Frappé Framework was designed to build [ERPNext](https://erpnext.com), open source +ERP for managing small and medium sized businesses. + +[Get started with the Tutorial](/docs/user/) + +### Feedback + +You're encouraged to help improve the quality of this documentation, by sending a pull request on the [GitHub Repository](https://github.com/frappe/erpnext). If you would like to have a discussion regarding the documentation, you can do so [at the forum](https://discuss.erpnext.com). \ No newline at end of file diff --git a/frappe/docs/user/en/bench/guides/manual-setup.md b/frappe/docs/user/en/bench/guides/manual-setup.md index a9ee314650..bc9272b3b3 100755 --- a/frappe/docs/user/en/bench/guides/manual-setup.md +++ b/frappe/docs/user/en/bench/guides/manual-setup.md @@ -51,7 +51,7 @@ Basic Usage * Add site - Frappe apps are run by frappe sites and you will have to create at least one + Frappé apps are run by frappe sites and you will have to create at least one site. The new-site command allows you to do that. bench new-site site1.local @@ -62,7 +62,7 @@ Basic Usage bench start - To login to Frappe / ERPNext, open your browser and go to `localhost:8000` + To login to Frappé / ERPNext, open your browser and go to `localhost:8000` The default user name is "Administrator" and password is what you set when you created the new site. diff --git a/frappe/docs/user/en/bench/guides/settings-limits.md b/frappe/docs/user/en/bench/guides/settings-limits.md index b6ca06265c..0960b98843 100644 --- a/frappe/docs/user/en/bench/guides/settings-limits.md +++ b/frappe/docs/user/en/bench/guides/settings-limits.md @@ -1,6 +1,6 @@ # Setting Limits for your Site -Frappe v7 has added support for setting limits and restrictions for your site. +Frappé v7 has added support for setting limits and restrictions for your site. These restrictions are set in the `site_config.json` file inside the site's folder. { diff --git a/frappe/docs/user/en/bench/guides/setup-production.md b/frappe/docs/user/en/bench/guides/setup-production.md index 4c5e2a7dc2..171adc3b9f 100644 --- a/frappe/docs/user/en/bench/guides/setup-production.md +++ b/frappe/docs/user/en/bench/guides/setup-production.md @@ -10,7 +10,7 @@ These steps are automated if you run `sudo bench setup production` Supervisor ---------- -Supervisor makes sure that the process that power the Frappe system keep running +Supervisor makes sure that the process that power the Frappé system keep running and it restarts them if they happen to crash. You can generate the required configuration for supervisor using the command `bench setup supervisor`. The configuration will be available in `config/supervisor.conf` directory. You can diff --git a/frappe/docs/user/en/bench/resources/background-services.md b/frappe/docs/user/en/bench/resources/background-services.md index 6e7a20730b..253f858c19 100755 --- a/frappe/docs/user/en/bench/resources/background-services.md +++ b/frappe/docs/user/en/bench/resources/background-services.md @@ -8,7 +8,7 @@ External services * nginx (for production deployment) * supervisor (for production deployment) -Frappe Processes +Frappé Processes ---------------- @@ -21,12 +21,12 @@ Frappe Processes * Redis Worker Processes - * The Celery worker processes execute background jobs in the Frappe system. + * The Celery worker processes execute background jobs in the Frappé system. These processes are automatically started when `bench start` is run and for production are configured in supervisor configuration. * Scheduler Process * The Scheduler process schedules enqeueing of scheduled jobs in the - Frappe system. This process is automatically started when `bench start` is + Frappé system. This process is automatically started when `bench start` is run and for production are configured in supervisor configuration. \ No newline at end of file diff --git a/frappe/docs/user/en/guides/app-development/custom-module-icon.md b/frappe/docs/user/en/guides/app-development/custom-module-icon.md index 4a9903fbf7..4a001b9c2c 100755 --- a/frappe/docs/user/en/guides/app-development/custom-module-icon.md +++ b/frappe/docs/user/en/guides/app-development/custom-module-icon.md @@ -10,10 +10,10 @@ Example: def get_data(): return { - "Frappe Apps": { + "Frappé Apps": { "color": "orange", "icon": "assets/frappe/images/frappe.svg", - "label": _("Frappe.io Portal"), + "label": _("Frappé.io Portal"), "type": "module" } } diff --git a/frappe/docs/user/en/guides/app-development/dialogs-types.md b/frappe/docs/user/en/guides/app-development/dialogs-types.md index e511346823..99902aed71 100755 --- a/frappe/docs/user/en/guides/app-development/dialogs-types.md +++ b/frappe/docs/user/en/guides/app-development/dialogs-types.md @@ -1,6 +1,6 @@ # Dialogs Types -Frappe provide a group of standard dialogs that are very usefull while coding. +Frappé provide a group of standard dialogs that are very usefull while coding. ## Alert Dialog diff --git a/frappe/docs/user/en/guides/app-development/generating-docs.md b/frappe/docs/user/en/guides/app-development/generating-docs.md index 72db83324d..3f08c68ec9 100755 --- a/frappe/docs/user/en/guides/app-development/generating-docs.md +++ b/frappe/docs/user/en/guides/app-development/generating-docs.md @@ -1,6 +1,6 @@ # Generating Documentation Website for your App -Frappe version 6.7 onwards includes a full-blown documentation generator so that you can easily create a website for your app that has both user docs and developers docs (auto-generated). +Frappé version 6.7 onwards includes a full-blown documentation generator so that you can easily create a website for your app that has both user docs and developers docs (auto-generated). Version 8.7 onwards, these will be generated in a target app. diff --git a/frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md b/frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md index 8895fc7bec..b3c769828a 100755 --- a/frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md +++ b/frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md @@ -1,4 +1,4 @@ -# How Enable Developer Mode In Frappe +# How Enable Developer Mode In Frappé When you are in application design mode and you want the changes in your DocTypes, Reports etc to affect the app repository, you must be in **Developer Mode**. diff --git a/frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md b/frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md index 3169297850..0b71521116 100755 --- a/frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md +++ b/frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md @@ -2,7 +2,7 @@ Your custom app can automatically add **Custom Fields** to DocTypes outside of your app when it is installed to a new site. -To do this, add the new custom fields that your app requires, using the Frappe web application. +To do this, add the new custom fields that your app requires, using the Frappé web application. In your `hooks.py` file, add `"Custom Fields"` diff --git a/frappe/docs/user/en/guides/app-development/running-background-jobs.md b/frappe/docs/user/en/guides/app-development/running-background-jobs.md index d1823d1bb8..f46349d36f 100644 --- a/frappe/docs/user/en/guides/app-development/running-background-jobs.md +++ b/frappe/docs/user/en/guides/app-development/running-background-jobs.md @@ -2,7 +2,7 @@ Sometimes you may not want a user request to be executed immediately but added to a queue that will be executed by a background worker. The advantage of doing this is that your web workers remain free to execute other requests and longer jobs do not eat up all of your resources. -From version 7, Frappe uses Python RQ to run background jobs. +From version 7, Frappé uses Python RQ to run background jobs. To enqueue a job, diff --git a/frappe/docs/user/en/guides/app-development/single-type-doctype.md b/frappe/docs/user/en/guides/app-development/single-type-doctype.md index 560b2a1a6d..3565246506 100755 --- a/frappe/docs/user/en/guides/app-development/single-type-doctype.md +++ b/frappe/docs/user/en/guides/app-development/single-type-doctype.md @@ -8,4 +8,4 @@ The data in Single DocType is stored in `tabSingles` (`doctype`, `field`, `value #### Examples -In Frappe, Single types are **System Settings** and **Customize Form** \ No newline at end of file +In Frappé, Single types are **System Settings** and **Customize Form** \ No newline at end of file diff --git a/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md b/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md index 13f7073e4d..2de921551f 100755 --- a/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md +++ b/frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md @@ -1,8 +1,8 @@ # Using Html Templates In Javascript -Often while building javascript interfaces, there is a need to render DOM as an HTML template. Frappe Framework uses John Resig's Microtemplate script to render HTML templates in the Desk application. +Often while building javascript interfaces, there is a need to render DOM as an HTML template. Frappé Framework uses John Resig's Microtemplate script to render HTML templates in the Desk application. -> Note 1: In Frappe we use the Jinja-like `{% raw %}{%{% endraw %}` tags to embed code rather than the standard `<%` +> Note 1: In Frappé we use the Jinja-like `{% raw %}{%{% endraw %}` tags to embed code rather than the standard `<%` > Note 2: Never use single quotes `'` inside the HTML template. diff --git a/frappe/docs/user/en/guides/automated-testing/qunit-testing.md b/frappe/docs/user/en/guides/automated-testing/qunit-testing.md index b22c738876..55a1242e51 100644 --- a/frappe/docs/user/en/guides/automated-testing/qunit-testing.md +++ b/frappe/docs/user/en/guides/automated-testing/qunit-testing.md @@ -1,4 +1,4 @@ -# UI Testing with Frappe API +# UI Testing with Frappé API You can either write integration tests, or directly write tests in Javascript using [QUnit](http://api.qunitjs.com/) diff --git a/frappe/docs/user/en/guides/automated-testing/unit-testing.md b/frappe/docs/user/en/guides/automated-testing/unit-testing.md index 730ae792de..b5c2a8b8b2 100755 --- a/frappe/docs/user/en/guides/automated-testing/unit-testing.md +++ b/frappe/docs/user/en/guides/automated-testing/unit-testing.md @@ -2,12 +2,12 @@ ## 1.Introduction -Frappe provides some basic tooling to quickly write automated tests. There are some basic rules: +Frappé provides some basic tooling to quickly write automated tests. There are some basic rules: 1. Test can be anywhere in your repository but must begin with `test_` and should be a `.py` file. 1. Tests must run on a site that starts with `test_`. This is to prevent accidental loss of data. 1. Test stubs are automatically generated for new DocTypes. -1. Frappe test runner will automatically build test records for dependant DocTypes identified by the `Link` type field (Foreign Key) +1. Frappé test runner will automatically build test records for dependant DocTypes identified by the `Link` type field (Foreign Key) 1. Tests can be executed using `bench run-tests` 1. For non-DocType tests, you can write simple unittests and prefix your file names with `test_`. @@ -159,7 +159,7 @@ It’s designed for the CI Jenkins, but will work for anything else that underst #### Example (for `test_event.py`): - # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors + # Copyright (c) 2015, Frappé Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt import frappe diff --git a/frappe/docs/user/en/guides/basics/apps.md b/frappe/docs/user/en/guides/basics/apps.md index 5805ad38af..2498992172 100755 --- a/frappe/docs/user/en/guides/basics/apps.md +++ b/frappe/docs/user/en/guides/basics/apps.md @@ -1,6 +1,6 @@ -# Frappe Apps +# Frappé Apps -Frappe Apps are Python packages which use the Frappe platform. They can live +Frappé Apps are Python packages which use the Frappé platform. They can live anywhere on the [Python path](https://docs.python.org/2/tutorial/modules.html#the-module-search-path) and must have an entry in the `apps.txt` file. @@ -8,7 +8,7 @@ and must have an entry in the `apps.txt` file. ### Creating an app -Frappe ships with a boiler plate for a new app. The command `bench make-app +Frappé ships with a boiler plate for a new app. The command `bench make-app app-name` helps you start a new app by starting an interactive shell. @@ -58,7 +58,7 @@ The boiler plate contains just enough files to show your app icon on the [Desk]. #### `hooks.py` The `hooks.py` file defines the metadata of your app and integration points -with other parts of Frappe or Frappe apps. Examples of such parts include task +with other parts of Frappé or Frappé apps. Examples of such parts include task scheduling or listening to updates to different documents in the system. For now, it just contains the details you entered during app creation. @@ -75,7 +75,7 @@ now, it just contains the details you entered during app creation. #### `modules.txt` -Modules in Frappe help you organize Documents in Frappe and they are defined in +Modules in Frappé help you organize Documents in Frappé and they are defined in the `modules.txt` file in your app. It is necessary for every [DocType] to be attached to a module. By default a module by the name of your app is added. Also, each module gets an icon on the [Desk]. For example, the [ERPNext] app is diff --git a/frappe/docs/user/en/guides/basics/frappe_ajax_call.md b/frappe/docs/user/en/guides/basics/frappe_ajax_call.md index 657cd3e7f2..7f5294015e 100644 --- a/frappe/docs/user/en/guides/basics/frappe_ajax_call.md +++ b/frappe/docs/user/en/guides/basics/frappe_ajax_call.md @@ -1,6 +1,6 @@ -# Frappe Ajax Call +# Frappé Ajax Call -In Frappe Framework, you can manage ajax calls via frappe.call. The frappe.call works in asynchronous manner ie. send requests and handle response via callback mechanism. +In Frappé Framework, you can manage ajax calls via frappe.call. The frappe.call works in asynchronous manner ie. send requests and handle response via callback mechanism. ## frappe.call Structure diff --git a/frappe/docs/user/en/guides/basics/hooks.md b/frappe/docs/user/en/guides/basics/hooks.md index 5a3eabf419..9fb71f7800 100755 --- a/frappe/docs/user/en/guides/basics/hooks.md +++ b/frappe/docs/user/en/guides/basics/hooks.md @@ -1,14 +1,14 @@ # Hooks -Hooks are the duct tape of the Frappe system. Hooks allow you to "hook" in to -functionality and events of other parts of the Frappe system. Following are the -official hooks from Frappe. +Hooks are the duct tape of the Frappé system. Hooks allow you to "hook" in to +functionality and events of other parts of the Frappé system. Following are the +official hooks from Frappé. ### Application Name and Details 1. `app_name` - slugified name with underscores e.g. "shopping\_cart" -2. `app_title` - full title name e.g. "Frappe" +2. `app_title` - full title name e.g. "Frappé" 3. `app_publisher` 4. `app_description` 5. `app_version` @@ -31,7 +31,7 @@ Note, the `before_install` and `after_install` hooks are called with no argument ### Boot Session -After a successful login, the Frappe JS Client requests for a resource called +After a successful login, the Frappé JS Client requests for a resource called `bootinfo`. The `bootinfo` is available as a global in Javascript via `frappe.boot`. By default, the `bootinfo` contains @@ -123,7 +123,7 @@ which will be called with a context (dictionary) argument. ### Customizing Email footer -By default, for every email, a footer with content, "Sent via Frappe" is sent. +By default, for every email, a footer with content, "Sent via Frappé" is sent. You can customize this globally by adding a `mail_footer` hook. The hook should be a dotted path to a variable. @@ -144,7 +144,7 @@ Eg, ### Website Clear Cache If you cache values in your views, the `website_clear_cache` allows you to hook -methods that invalidate your caches when Frappe tries to clear cache for all +methods that invalidate your caches when Frappé tries to clear cache for all website related pages. ### Document hooks diff --git a/frappe/docs/user/en/guides/basics/install.md b/frappe/docs/user/en/guides/basics/install.md index 3afa43a37c..cf65752cf1 100755 --- a/frappe/docs/user/en/guides/basics/install.md +++ b/frappe/docs/user/en/guides/basics/install.md @@ -1,10 +1,10 @@ -# Installing Frappe +# Installing Frappé -## Frappe bench +## Frappé bench The following steps help you setup an isolated environment (bench) to run and -develop Frappe apps. A virtualenv is installed in the env directory. You can +develop Frappé apps. A virtualenv is installed in the env directory. You can activate it by running `source ./env/bin/activate` or use execute using absolute/relative path (eg, `./env/bin/frappe`). -For more info, see [Frappe Bench](https://github.com/frappe/bench/) +For more info, see [Frappé Bench](https://github.com/frappe/bench/) diff --git a/frappe/docs/user/en/guides/basics/site_config.md b/frappe/docs/user/en/guides/basics/site_config.md index cf56db9e9a..4f4407271e 100755 --- a/frappe/docs/user/en/guides/basics/site_config.md +++ b/frappe/docs/user/en/guides/basics/site_config.md @@ -28,7 +28,7 @@ Example: ### Remote Database Host Settings - `db_host`: Database host if not `localhost`. -To connect to a remote database server using ssl, you must first configure the database host to accept SSL connections. An example of how to do this is available at https://www.digitalocean.com/community/tutorials/how-to-configure-ssl-tls-for-mysql-on-ubuntu-16-04. After you do the configuration, set the following three options. All options must be set for Frappe to attempt to connect using SSL. +To connect to a remote database server using ssl, you must first configure the database host to accept SSL connections. An example of how to do this is available at https://www.digitalocean.com/community/tutorials/how-to-configure-ssl-tls-for-mysql-on-ubuntu-16-04. After you do the configuration, set the following three options. All options must be set for Frappé to attempt to connect using SSL. - `db_ssl_ca`: Full path to the ca.pem file used for connecting to a database host using ssl. Example value is `"/etc/mysql/ssl/ca.pem"`. - `db_ssl_cert`: Full path to the cert.pem file used for connecting to a database host using ssl. Example value is `"/etc/mysql/ssl/client-cert.pem"`. - `db_ssl_key`: Full path to the key.pem file used for connecting to a database host using ssl. Example value is `"/etc/mysql/ssl/client-key.pem"`. diff --git a/frappe/docs/user/en/guides/basics/sites.md b/frappe/docs/user/en/guides/basics/sites.md index 00b0007007..abf360cdf1 100755 --- a/frappe/docs/user/en/guides/basics/sites.md +++ b/frappe/docs/user/en/guides/basics/sites.md @@ -2,7 +2,7 @@ ## Sites Directory -Frappe is a multitenant platform and each tenant is called a site. Sites exist +Frappé is a multitenant platform and each tenant is called a site. Sites exist in a directory called `sites_dir`, assumed as the current working directory when running a frappe command or other services like Celery worker or a WSGI server. @@ -13,10 +13,10 @@ Apart from the sites, the `sites_dir` should contain the following. #### apps.txt -`apps.txt` contain a list of Python packages to treat as Frappe apps. Every +`apps.txt` contain a list of Python packages to treat as Frappé apps. Every frappe app that you intend to use in you site should have an entry in this file. Also, they should be in the `PYTHONPATH`. For more information, refer -[Frappe Apps](/help/apps). +[Frappé Apps](/help/apps). #### common\_site\_config.json @@ -35,7 +35,7 @@ generated using the `bench build` command. ## Site -A site is a directory in `sites_dir` which represents a tenant in Frappe Platform. +A site is a directory in `sites_dir` which represents a tenant in Frappé Platform. ### Directory Structure @@ -70,7 +70,7 @@ Presently, it is limited only to backups. While responding to an HTTP request, a site is automatically selected based on, * `Host` header in the HTTP request matches a site -* `X-Frappe-Site-Name` header in the HTTP request matches a site +* `X-Frappé-Site-Name` header in the HTTP request matches a site It is also possible to force the development server to serve a specific site by starting it with the following command. diff --git a/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md b/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md index cd9f18e1e1..b56c57891b 100755 --- a/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md +++ b/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md @@ -2,7 +2,7 @@ -

Frappe handles failure of jobs in the following way,

1) If a job fails, (raises exception), it's logged in Scheduler Log and  logs/worker.error.log.
2) Keeps a lock file and would not run anymore if lock file is there.
3) Raises LockTimeoutError in case the lock file is more than 10 minutes old.

+

Frappé handles failure of jobs in the following way,

1) If a job fails, (raises exception), it's logged in Scheduler Log and  logs/worker.error.log.
2) Keeps a lock file and would not run anymore if lock file is there.
3) Raises LockTimeoutError in case the lock file is more than 10 minutes old.

You can configure email notification for scheduler errors. By writing a file, sites/common_site_config.json with content

diff --git a/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md b/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md index 26d3de446a..bd16e88037 100755 --- a/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md +++ b/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md @@ -1,13 +1,13 @@ # How To Enable Social Logins -Use Facebook, Google or GitHub authentication to login to Frappe, and your users will be spared from remembering another password. +Use Facebook, Google or GitHub authentication to login to Frappé, and your users will be spared from remembering another password. -The system uses the **Email Address** supplied by these services to **match with an existing user** in Frappe. If no such user is found, **a new user is created** of the default type **Website User**, if Signup is not disabled in Website Settings. Any System Manager can later change the user type from **Website User** to **System User**, so that the user can access the Desktop. +The system uses the **Email Address** supplied by these services to **match with an existing user** in Frappé. If no such user is found, **a new user is created** of the default type **Website User**, if Signup is not disabled in Website Settings. Any System Manager can later change the user type from **Website User** to **System User**, so that the user can access the Desktop. #### Login screen with Social Logins enabled Login screen with Social Logins enabled -To enable these signups, you need to have **Client ID** and **Client Secret** from these authentication services for your Frappe site. The Client ID and Client Secret are to be set in Website > Setup > Social Login Keys. Here are the steps to obtain these credentials. +To enable these signups, you need to have **Client ID** and **Client Secret** from these authentication services for your Frappé site. The Client ID and Client Secret are to be set in Website > Setup > Social Login Keys. Here are the steps to obtain these credentials. > Use **https://{{ yoursite }}** if your site is HTTPS enabled. diff --git a/frappe/docs/user/en/guides/deployment/migrations.md b/frappe/docs/user/en/guides/deployment/migrations.md index c40a2a7c4b..e40f48f0be 100755 --- a/frappe/docs/user/en/guides/deployment/migrations.md +++ b/frappe/docs/user/en/guides/deployment/migrations.md @@ -1,10 +1,10 @@ # Migrations A project often undergoes changes related to database schema during course of -its life. It may also be required patch existing data. Frappe bundles tools to +its life. It may also be required patch existing data. Frappé bundles tools to handle these schenarios. -When you pull updates from any Frappe app (including Frappe), you should run +When you pull updates from any Frappé app (including Frappé), you should run `bench migrate` to apply schema changes and data migrations if any. ## Schema changes @@ -23,7 +23,7 @@ table and however, they will not be visible in the documents. This is done to avoid any potential data loss situations and to allow you write related data migrations which might need values from deleted fields. -Note: Frappe doesn't support reverse schema migrations. +Note: Frappé doesn't support reverse schema migrations. ## Data Migrations @@ -37,7 +37,7 @@ It is recommended to make a file with a patch number and name in its path and add it to a patches package (directory) in your app. You can then add a line with dotted path to the patch module to `patches.txt`. -The directory structure followed in Frappe is as below +The directory structure followed in Frappé is as below frappe diff --git a/frappe/docs/user/en/guides/desk/index.md b/frappe/docs/user/en/guides/desk/index.md index c32fa85913..47a3b43578 100755 --- a/frappe/docs/user/en/guides/desk/index.md +++ b/frappe/docs/user/en/guides/desk/index.md @@ -1,5 +1,5 @@ # Desk Customization -Articles related to customization of Frappe Desk +Articles related to customization of Frappé Desk {index} diff --git a/frappe/docs/user/en/guides/desk/making_charts_in_c3js.md b/frappe/docs/user/en/guides/desk/making_charts_in_c3js.md index 91a5d9438a..c8143590f2 100644 --- a/frappe/docs/user/en/guides/desk/making_charts_in_c3js.md +++ b/frappe/docs/user/en/guides/desk/making_charts_in_c3js.md @@ -1,6 +1,6 @@ # Making Charts using c3.js -Frappe bundles the c3.js libary to make charts inside the app and provides a wrapper class so that you can start using charts out of the box. To use chart, you need the x and y data, make a wrapper block and then just make the chart object. +Frappé bundles the c3.js libary to make charts inside the app and provides a wrapper class so that you can start using charts out of the box. To use chart, you need the x and y data, make a wrapper block and then just make the chart object. ### Time Series Example diff --git a/frappe/docs/user/en/guides/desk/making_graphs.md b/frappe/docs/user/en/guides/desk/making_graphs.md index aea5015261..d20f8b88d4 100644 --- a/frappe/docs/user/en/guides/desk/making_graphs.md +++ b/frappe/docs/user/en/guides/desk/making_graphs.md @@ -1,6 +1,6 @@ # Making Graphs -The Frappe UI **Graph** object enables you to render simple line, bar or percentage graphs for single or multiple discreet sets of data points. You can also set special checkpoint values and summary stats. +The Frappé UI **Graph** object enables you to render simple line, bar or percentage graphs for single or multiple discreet sets of data points. You can also set special checkpoint values and summary stats. ### Example: Line graph Here's an example of a simple sales graph: diff --git a/frappe/docs/user/en/guides/index.md b/frappe/docs/user/en/guides/index.md index 9eeed8baa8..765334be62 100755 --- a/frappe/docs/user/en/guides/index.md +++ b/frappe/docs/user/en/guides/index.md @@ -1,6 +1,6 @@ # Guides -The Frappe Framework is a server side and client side framework and is built with the philosophy make it a "battries included" framework. It has libraries and API for everything from authentication to reports. +The Frappé Framework is a server side and client side framework and is built with the philosophy make it a "battries included" framework. It has libraries and API for everything from authentication to reports. In this section we will try and cover the most commonly used API on client and server side that will be useful for app development. diff --git a/frappe/docs/user/en/guides/integration/how_to_setup_oauth.md b/frappe/docs/user/en/guides/integration/how_to_setup_oauth.md index 27f9746eae..6a4fc93650 100644 --- a/frappe/docs/user/en/guides/integration/how_to_setup_oauth.md +++ b/frappe/docs/user/en/guides/integration/how_to_setup_oauth.md @@ -1,6 +1,6 @@ # How to setup oauth? -OAuth 2.0 provider based on oauthlib is built into frappe. Third party apps can now access resources of users based on Frappe Role and User permission system. To setup an app to access +OAuth 2.0 provider based on oauthlib is built into frappe. Third party apps can now access resources of users based on Frappé Role and User permission system. To setup an app to access ## OAuth defines four roles @@ -30,7 +30,7 @@ Go to ### Add Primary Server -This is the main server hosting all the users. e.g. `https://frappe.io`. To setup this as the main server, go to *Setup* > *Integrations* > *Social Login Keys* and enter `https://frappe.io` in the field `Frappe Server URL`. This URL repeats in all other Frappe servers who connect to this server to authenticate. Effectively, this is the main Identity Provider (IDP). +This is the main server hosting all the users. e.g. `https://frappe.io`. To setup this as the main server, go to *Setup* > *Integrations* > *Social Login Keys* and enter `https://frappe.io` in the field `Frappé Server URL`. This URL repeats in all other Frappé servers who connect to this server to authenticate. Effectively, this is the main Identity Provider (IDP). Under this server add as many `OAuth Client`(s) as required. diff --git a/frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md b/frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md index 75f9086ee9..f9a4269ec7 100644 --- a/frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md +++ b/frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md @@ -1,8 +1,8 @@ -# OpenID Connect and Frappe social login +# OpenID Connect and Frappé social login ## OpenID Connect -Frappe also uses Open ID connect essential standard for authenticating users. To get `id_token` with `access_token`, pass `openid` as the value for the scope parameter during authorization request. +Frappé also uses Open ID connect essential standard for authenticating users. To get `id_token` with `access_token`, pass `openid` as the value for the scope parameter during authorization request. If the scope is `openid` the JSON response with `access_token` will also include a JSON Web Token (`id_token`) signed with `HS256` and `Client Secret`. The decoded `id_token` includes the `at_hash`. @@ -19,25 +19,25 @@ Example Bearer Token with scope `openid` } ``` -## Frappe social login setup +## Frappé social login setup In this example there are 2 servers, ### Primary Server -This is the main server hosting all the users. e.g. `https://frappe.io`. To setup this as the main server, go to *Setup* > *Integrations* > *Social Login Keys* and enter `https://frappe.io` in the field `Frappe Server URL`. This URL repeats in all other Frappe servers who connect to this server to authenticate. Effectively, this is the main Identity Provider (IDP). +This is the main server hosting all the users. e.g. `https://frappe.io`. To setup this as the main server, go to *Setup* > *Integrations* > *Social Login Keys* and enter `https://frappe.io` in the field `Frappé Server URL`. This URL repeats in all other Frappé servers who connect to this server to authenticate. Effectively, this is the main Identity Provider (IDP). Under this server add as many `OAuth Client`(s) as required. Because we are setting up one app server, add only one `OAuth Client` -### Frappe App Server -This is the client connecting to the IDP. Go to *Setup* > *Integrations* > *Social Login Keys* on this server and add appropriate values to `Frappe Client ID` and `Frappe Client Secret` (refer to client added in primary server). As mentioned before keep the `Frappe Server URL` as `https://frappe.io` +### Frappé App Server +This is the client connecting to the IDP. Go to *Setup* > *Integrations* > *Social Login Keys* on this server and add appropriate values to `Frappé Client ID` and `Frappé Client Secret` (refer to client added in primary server). As mentioned before keep the `Frappé Server URL` as `https://frappe.io` -Now you will see Frappe icon on the login page. Click on this icon to login with account created in primary server (IDP) `https://frappe.io` +Now you will see Frappé icon on the login page. Click on this icon to login with account created in primary server (IDP) `https://frappe.io` **Note**: If `Skip Authorization` is checked while registering a client, page to allow or deny the granting access to resource is not shown. This can be used if the apps are internal to one organization and seamless user experience is needed. ## Steps -### Part 1 : on Frappe Identity Provider (IDP) +### Part 1 : on Frappé Identity Provider (IDP) Login to IDP @@ -48,12 +48,12 @@ Add OAuth Client on IDP Set Server URL on IDP -### Part 2 : on Frappe App Server +### Part 2 : on Frappé App Server -Set `Frappe Client ID` and `Frappe Client Secret` on App server (refer the client set on IDP) +Set `Frappé Client ID` and `Frappé Client Secret` on App server (refer the client set on IDP) -**Note**: Frappe Server URL is the main server where identities from your organization are stored. +**Note**: Frappé Server URL is the main server where identities from your organization are stored. Login Screen on App Server (login with frappe) diff --git a/frappe/docs/user/en/guides/integration/rest_api.md b/frappe/docs/user/en/guides/integration/rest_api.md index 7f28f82b38..58e3815364 100755 --- a/frappe/docs/user/en/guides/integration/rest_api.md +++ b/frappe/docs/user/en/guides/integration/rest_api.md @@ -1,6 +1,6 @@ # REST API -Frappe ships with an HTTP API. There are two parts of this API. +Frappé ships with an HTTP API. There are two parts of this API. 1. Remote Procedure Calls (RPC) 2. REST @@ -28,7 +28,7 @@ _Response:_ ## 2. REST -All documents in Frappe are available via a RESTful API with prefix +All documents in Frappé are available via a RESTful API with prefix `/api/resource/`. ### Login diff --git a/frappe/docs/user/en/guides/integration/using_oauth.md b/frappe/docs/user/en/guides/integration/using_oauth.md index 208e07b452..d3db092905 100644 --- a/frappe/docs/user/en/guides/integration/using_oauth.md +++ b/frappe/docs/user/en/guides/integration/using_oauth.md @@ -106,4 +106,4 @@ status : 400 ### Accessing Resource -Add header `Authorizaton: Bearer ` to Frappe's REST API endpoints to access user's resource +Add header `Authorizaton: Bearer ` to Frappé's REST API endpoints to access user's resource diff --git a/frappe/docs/user/en/guides/portal-development/index.md b/frappe/docs/user/en/guides/portal-development/index.md index a9aaab4312..bba3ff1fb1 100755 --- a/frappe/docs/user/en/guides/portal-development/index.md +++ b/frappe/docs/user/en/guides/portal-development/index.md @@ -1,6 +1,6 @@ # Making Portals -Frappe has powerful tools to build portals where pages can be dynamically generated using templates (Jinja) and users can be shown records after login +Frappé has powerful tools to build portals where pages can be dynamically generated using templates (Jinja) and users can be shown records after login #### Adding Pages diff --git a/frappe/docs/user/en/index.md b/frappe/docs/user/en/index.md index a25785e59e..a68da6210b 100755 --- a/frappe/docs/user/en/index.md +++ b/frappe/docs/user/en/index.md @@ -1,3 +1,3 @@ -# Develop Apps with Frappe +# Develop Apps with Frappé {index} diff --git a/frappe/docs/user/en/tutorial/app.md b/frappe/docs/user/en/tutorial/app.md index e338ce8a17..4233b7cc1b 100755 --- a/frappe/docs/user/en/tutorial/app.md +++ b/frappe/docs/user/en/tutorial/app.md @@ -1,9 +1,9 @@ # What is an Application -An Application in Frappe is just a standard Python application. You can structure a Frappe Application the same way you structure a standard Python Application. For deployment, Frappe uses the standard Python Setuptools, so you can easily port and install the application on any machine. +An Application in Frappé is just a standard Python application. You can structure a Frappé Application the same way you structure a standard Python Application. For deployment, Frappé uses the standard Python Setuptools, so you can easily port and install the application on any machine. -Frappe Framework provides a WSGI interface and for development you can use the built-in Werkzeug server. For implementing in production, we recommend using nginx and gunicorn. +Frappé Framework provides a WSGI interface and for development you can use the built-in Werkzeug server. For implementing in production, we recommend using nginx and gunicorn. -Frappe also has a multi-tenant architecture, grounds up. This means that you can run multiple "sites" in your setup, each could be serving a different set of applications and users. The database for each site is separate. +Frappé also has a multi-tenant architecture, grounds up. This means that you can run multiple "sites" in your setup, each could be serving a different set of applications and users. The database for each site is separate. {next} diff --git a/frappe/docs/user/en/tutorial/before.md b/frappe/docs/user/en/tutorial/before.md index 705e8b8fab..48c6f968a3 100755 --- a/frappe/docs/user/en/tutorial/before.md +++ b/frappe/docs/user/en/tutorial/before.md @@ -1,12 +1,12 @@ # Before You Start -

A list of resources to help you get started with building apps using Frappe

+

A list of resources to help you get started with building apps using Frappé

--- #### 1. Python -Frappe uses Python (v2.7) for server-side programming. It is highly recommended to learn Python before you start building apps with Frappe. +Frappé uses Python (v2.7) for server-side programming. It is highly recommended to learn Python before you start building apps with Frappé. To write quality server-side code, you must also include automated tests. @@ -20,7 +20,7 @@ Resources: #### 2. MariaDB / MySQL -To create database-driven apps with Frappe, you must understand the basics of database management, like how to install, login, create new databases, and basic SQL queries. +To create database-driven apps with Frappé, you must understand the basics of database management, like how to install, login, create new databases, and basic SQL queries. Resources: @@ -32,7 +32,7 @@ Resources: #### 3. HTML / CSS -If you want to build user interfaces using Frappe, you will need to learn basic HTML / CSS and the Boostrap CSS Framework. +If you want to build user interfaces using Frappé, you will need to learn basic HTML / CSS and the Boostrap CSS Framework. Resources: @@ -74,5 +74,5 @@ Resources: --- -When you are ready, you can try [building a sample application](/docs/user/en/tutorial/app) using Frappe. +When you are ready, you can try [building a sample application](/docs/user/en/tutorial/app) using Frappé. diff --git a/frappe/docs/user/en/tutorial/bench.md b/frappe/docs/user/en/tutorial/bench.md index e720d9dc98..8772638265 100755 --- a/frappe/docs/user/en/tutorial/bench.md +++ b/frappe/docs/user/en/tutorial/bench.md @@ -1,10 +1,10 @@ -# Installing the Frappe Bench +# Installing the Frappé Bench -Easiest way to setup frappe on a Unix Like system is to use frappe-bench. Read the detailed instructions on how to install using Frappe Bench. +Easiest way to setup frappe on a Unix Like system is to use frappe-bench. Read the detailed instructions on how to install using Frappé Bench. > [https://github.com/frappe/bench](https://github.com/frappe/bench) -With Frappe Bench you will be able to setup and host multiple applications and sites and it will also setup a Python Virtualenv so that you can have an isolated environment to run your applications (and will not have version conflict with other development environments). +With Frappé Bench you will be able to setup and host multiple applications and sites and it will also setup a Python Virtualenv so that you can have an isolated environment to run your applications (and will not have version conflict with other development environments). The `bench` command line tool will also be installed that will help you in development and management of the installation. diff --git a/frappe/docs/user/en/tutorial/conclusion.md b/frappe/docs/user/en/tutorial/conclusion.md index f45b64ba23..bc254ba5d9 100755 --- a/frappe/docs/user/en/tutorial/conclusion.md +++ b/frappe/docs/user/en/tutorial/conclusion.md @@ -1,7 +1,7 @@ # Conclusion -We hope this will give you an overview of how applications are developed in Frappe. The objective was to briefly touch on the various aspects of application development and give a broad overview. To get help on specific issues, look at the API. +We hope this will give you an overview of how applications are developed in Frappé. The objective was to briefly touch on the various aspects of application development and give a broad overview. To get help on specific issues, look at the API. For help, join the community at the [chat channel on Gitter](https://gitter.im/frappe/erpnext) or the [developer forum](https://discuss.erpnext.com) diff --git a/frappe/docs/user/en/tutorial/doctypes.md b/frappe/docs/user/en/tutorial/doctypes.md index b57aca5afa..889f923b3f 100755 --- a/frappe/docs/user/en/tutorial/doctypes.md +++ b/frappe/docs/user/en/tutorial/doctypes.md @@ -45,7 +45,7 @@ We can add the following fields: #### Add Permissions -After adding the fields, hit done and add a new row in the Permission Rules section. For now, let us give Read, Write, Create, Delete and Report access to **Librarian**. Frappe has a finely grained Role based permission model. You can also change permissions later using the **Role Permissions Manager** from **Setup**. +After adding the fields, hit done and add a new row in the Permission Rules section. For now, let us give Read, Write, Create, Delete and Report access to **Librarian**. Frappé has a finely grained Role based permission model. You can also change permissions later using the **Role Permissions Manager** from **Setup**. Adding Permissions diff --git a/frappe/docs/user/en/tutorial/index.md b/frappe/docs/user/en/tutorial/index.md index 43f04583e9..69f276db10 100755 --- a/frappe/docs/user/en/tutorial/index.md +++ b/frappe/docs/user/en/tutorial/index.md @@ -1,6 +1,6 @@ -# Frappe Tutorial +# Frappé Tutorial -In this guide, we will show you how to create an application from scratch using **Frappe**. Using the example of a Library Management System, we will cover: +In this guide, we will show you how to create an application from scratch using **Frappé**. Using the example of a Library Management System, we will cover: 1. Installation 1. Making a New App @@ -12,9 +12,9 @@ In this guide, we will show you how to create an application from scratch using ## Who is This For? -This guide is intended for software developers who are familiar with how the web applications are built and served. Frappe Framework is built on Python and uses MariaDB database and for creating web views, HTML/CSS/Javascript is used. So it would be great if you are familiar with all these technologies. At the minimum, if you have never used Python before, you should take a quick tutorial before your use this Guide. +This guide is intended for software developers who are familiar with how the web applications are built and served. Frappé Framework is built on Python and uses MariaDB database and for creating web views, HTML/CSS/Javascript is used. So it would be great if you are familiar with all these technologies. At the minimum, if you have never used Python before, you should take a quick tutorial before your use this Guide. -Frappe uses the git version control system on GitHub. It is also important that you are familiar with basic git and have an account on GitHub to manage your applications. +Frappé uses the git version control system on GitHub. It is also important that you are familiar with basic git and have an account on GitHub to manage your applications. ## Example @@ -26,7 +26,7 @@ For this guide book, we will build a simple **Library Management** application. 1. Library Membership (A period in which a member is allowed to transact) 1. Library Management Setting (Global settings like period of loan) -The user interface (UI) for the librarian will be the **Frappe Desk**, a built-in browser based UI environment where forms are automatically generated from the models and roles and permissions are also applied. +The user interface (UI) for the librarian will be the **Frappé Desk**, a built-in browser based UI environment where forms are automatically generated from the models and roles and permissions are also applied. We will also create web views for library where users can browse articles from a website. diff --git a/frappe/docs/user/en/tutorial/models.md b/frappe/docs/user/en/tutorial/models.md index 04114e1369..0dbb1b1b32 100755 --- a/frappe/docs/user/en/tutorial/models.md +++ b/frappe/docs/user/en/tutorial/models.md @@ -1,6 +1,6 @@ # Making Models -The next step is to create the models as we discussed in the introduction. In Frappe, models are called **DocTypes**. You can create new DocTypes from the Desk UI. **DocTypes** are made of fields called **DocField** and role based permissions are integrated into the models, these are called **DocPerms**. +The next step is to create the models as we discussed in the introduction. In Frappé, models are called **DocTypes**. You can create new DocTypes from the Desk UI. **DocTypes** are made of fields called **DocField** and role based permissions are integrated into the models, these are called **DocPerms**. When a DocType is saved, a new table is created in the database. This table is named as `tab[doctype]`. diff --git a/frappe/docs/user/en/tutorial/naming-and-linking.md b/frappe/docs/user/en/tutorial/naming-and-linking.md index a3400ae527..546af3d50d 100755 --- a/frappe/docs/user/en/tutorial/naming-and-linking.md +++ b/frappe/docs/user/en/tutorial/naming-and-linking.md @@ -24,7 +24,7 @@ This can be set by entering the **Autoname** field. For controller, leave blank. #### Link and Select Fields -Foreign keys are specified in Frappe as **Link** type fields. The target DocType must be mentioned in the Options text area. +Foreign keys are specified in Frappé as **Link** type fields. The target DocType must be mentioned in the Options text area. In our example, in the Library Transaction DocType, we have to link both the Library Member and the Article. diff --git a/frappe/docs/user/en/tutorial/new-app.md b/frappe/docs/user/en/tutorial/new-app.md index cbb60cc3d3..94a3ad1f1e 100755 --- a/frappe/docs/user/en/tutorial/new-app.md +++ b/frappe/docs/user/en/tutorial/new-app.md @@ -7,7 +7,7 @@ To make a new application, go to your bench folder and run, `bench new-app {app_ $ bench new-app library_management App Title (defaut: Lib Mgt): Library Management App Description: App for managing Articles, Members, Memberships and Transactions for Libraries - App Publisher: Frappe + App Publisher: Frappé App Email: info@frappe.io App Icon (default 'octicon octicon-file-directory'): octicon octicon-book App Color (default 'grey'): #589494 @@ -44,11 +44,11 @@ The application will be created in a folder called `library_management` and will 1. `config` folder contains application configuration info 1. `desktop.py` is where desktop icons can be added to the Desk 1. `hooks.py` is where integrations with the environment and other applications is mentioned. -1. `library_management` (inner) is a **module** that is bootstrapped. In Frappe, a **module** is where model and controller files reside. +1. `library_management` (inner) is a **module** that is bootstrapped. In Frappé, a **module** is where model and controller files reside. 1. `modules.txt` contains list of **modules** in the app. When you create a new module, it is required that you update it in this file. 1. `patches.txt` is where migration patches are written. They are python module references using the dot notation. 1. `templates` is the folder where web view templates are maintained. Templates for **Login** and other standard pages are bootstrapped in frappe. -1. `generators` are where templates for models are maintained, where each model instance has a separte web route, for example a **Blog Post** where each post has its unique web url. In Frappe, the templating engine used is Jinja2 +1. `generators` are where templates for models are maintained, where each model instance has a separte web route, for example a **Blog Post** where each post has its unique web url. In Frappé, the templating engine used is Jinja2 1. `pages` is where single route templates are maintained. For example for a "/blog" type of page. {next} diff --git a/frappe/docs/user/en/tutorial/setting-up-the-site.md b/frappe/docs/user/en/tutorial/setting-up-the-site.md index 30f4b86d1f..2a823dc5f3 100755 --- a/frappe/docs/user/en/tutorial/setting-up-the-site.md +++ b/frappe/docs/user/en/tutorial/setting-up-the-site.md @@ -18,7 +18,7 @@ Let us create a new site and call it `library`. You can then install a new site, by the command `bench new-site library`. -This will create a new database and site folder and install `frappe` (which is also an application!) in the new site. The `frappe` application has two built-in modules **Core** and **Website**. The Core module contains the basic models for the application. Frappe is a batteries included framework and comes with a lot of built-in models. These models are called **DocTypes**. More on that later. +This will create a new database and site folder and install `frappe` (which is also an application!) in the new site. The `frappe` application has two built-in modules **Core** and **Website**. The Core module contains the basic models for the application. Frappé is a batteries included framework and comes with a lot of built-in models. These models are called **DocTypes**. More on that later. $ bench new-site library MySQL root password: diff --git a/frappe/docs/user/en/tutorial/single-doctypes.md b/frappe/docs/user/en/tutorial/single-doctypes.md index a9f1b853ad..d01f13d700 100755 --- a/frappe/docs/user/en/tutorial/single-doctypes.md +++ b/frappe/docs/user/en/tutorial/single-doctypes.md @@ -1,6 +1,6 @@ # Single DocTypes -A application will usually have a Settings page. In our application, we can define a page where we can set the loan period. We also need to save this property. In Frappe, this can be done using a **Single** type DocType. A Single DocType is like the Singleton pattern in Java. It is an object with only one instance. Let us call this as **Library Managment Settings**. +A application will usually have a Settings page. In our application, we can define a page where we can set the loan period. We also need to save this property. In Frappé, this can be done using a **Single** type DocType. A Single DocType is like the Singleton pattern in Java. It is an object with only one instance. Let us call this as **Library Managment Settings**. To create an new Single DocType, mark the **Is Single** property as checked. diff --git a/frappe/docs/user/en/tutorial/start.md b/frappe/docs/user/en/tutorial/start.md index 4b7f60db73..10c921a2f2 100755 --- a/frappe/docs/user/en/tutorial/start.md +++ b/frappe/docs/user/en/tutorial/start.md @@ -26,6 +26,6 @@ When you login, you should see the "Desk" home page Desk -As you can see, the Frappe basic system comes with several pre-loaded applications like To Do, File Manager etc. These apps can integrated in your app workflow as we progress. +As you can see, the Frappé basic system comes with several pre-loaded applications like To Do, File Manager etc. These apps can integrated in your app workflow as we progress. {next} diff --git a/frappe/docs/user/en/tutorial/task-runner.md b/frappe/docs/user/en/tutorial/task-runner.md index fcf520fedb..0afdfeaa1b 100755 --- a/frappe/docs/user/en/tutorial/task-runner.md +++ b/frappe/docs/user/en/tutorial/task-runner.md @@ -1,6 +1,6 @@ # Scheduled Tasks -Finally, an application also has to send email notifications and do other kind of scheduled tasks. In Frappe, if you have setup the bench, the task / scheduler is setup via Celery using Redis Queue. +Finally, an application also has to send email notifications and do other kind of scheduled tasks. In Frappé, if you have setup the bench, the task / scheduler is setup via Celery using Redis Queue. To add a new task handler, go to `hooks.py` and add a new handler. Default handlers are `all`, `daily`, `weekly`, `monthly`. The `all` handler is called every 3 minutes by default. @@ -15,7 +15,7 @@ To add a new task handler, go to `hooks.py` and add a new handler. Default handl Here we can point to a Python function and that function will be executed every day. Let us look what this function looks like: - # Copyright (c) 2013, Frappe + # Copyright (c) 2013, Frappé # For license information, please see license.txt from __future__ import unicode_literals diff --git a/frappe/docs/user/en/tutorial/users-and-records.md b/frappe/docs/user/en/tutorial/users-and-records.md index fd86030a40..4f0b0ad85d 100755 --- a/frappe/docs/user/en/tutorial/users-and-records.md +++ b/frappe/docs/user/en/tutorial/users-and-records.md @@ -1,6 +1,6 @@ # Making Users and Records -Now that we have created the models, we can directly start making records using Frappe Desk UI. You do not have to create views! Views in Frappe are automatically made based on the DocType properties. +Now that we have created the models, we can directly start making records using Frappé Desk UI. You do not have to create views! Views in Frappé are automatically made based on the DocType properties. ### 4.1 Creating User diff --git a/frappe/docs/user/en/tutorial/web-views.md b/frappe/docs/user/en/tutorial/web-views.md index 1affecea77..9eb36d48c7 100755 --- a/frappe/docs/user/en/tutorial/web-views.md +++ b/frappe/docs/user/en/tutorial/web-views.md @@ -1,8 +1,8 @@ # Web Views -Frappe has two main user environments, the Desk and Web. Desk is a controlled UI environment with a rich AJAX application and the web is more traditional HTML templates served for public consumption. Web views can also be generated to create more controlled views for users who may login but still do not have access to the Desk. +Frappé has two main user environments, the Desk and Web. Desk is a controlled UI environment with a rich AJAX application and the web is more traditional HTML templates served for public consumption. Web views can also be generated to create more controlled views for users who may login but still do not have access to the Desk. -In Frappe, Web Views are managed by templates and they are usually in the `templates` folder. There are 2 main types of templates. +In Frappé, Web Views are managed by templates and they are usually in the `templates` folder. There are 2 main types of templates. 1. Pages: These are Jinja templates where a single view exists for a single web route e.g. `/blog`. 2. Generators: These are templates where each instance of a DocType has a separate web route `/blog/a-blog`, `blog/b-blog` etc. @@ -50,7 +50,7 @@ The updated list view looks like this! #### Home Page -Frappe also has a built-in signup workflow which also includes 3rd party signups via Google, Facebook and GitHub. When a user signs up on the web, she does not have access to the desk interface by default. +Frappé also has a built-in signup workflow which also includes 3rd party signups via Google, Facebook and GitHub. When a user signs up on the web, she does not have access to the desk interface by default. > To allow user access into the Desk, open set the user from Setup > User and set the User Type as "System User" diff --git a/frappe/docs/user/en/videos/index.md b/frappe/docs/user/en/videos/index.md index e2c5948e37..f95904a615 100755 --- a/frappe/docs/user/en/videos/index.md +++ b/frappe/docs/user/en/videos/index.md @@ -1,6 +1,6 @@ -# Video Tutorials for Frappe Framework +# Video Tutorials for Frappé Framework -This 10-part video tutorial will teach you how to build complex apps in Frappe +This 10-part video tutorial will teach you how to build complex apps in Frappé Pre-requisites: You must have some understanding of Python, Javascript and MySQL before you start this tutorial. diff --git a/frappe/docs/user/es/bench/guides/manual-setup.md b/frappe/docs/user/es/bench/guides/manual-setup.md index aa60dc61a6..de314b1675 100644 --- a/frappe/docs/user/es/bench/guides/manual-setup.md +++ b/frappe/docs/user/es/bench/guides/manual-setup.md @@ -32,7 +32,7 @@ Uso básico * Crea un nuevo bench - El comando init va a crear un directorio conteniendo el framework Frappe instalado. + El comando init va a crear un directorio conteniendo el framework Frappé instalado. Va a ser configurado para copias de seguridad periódicas y actualizaciones automáticas una vez por día. bench init frappe-bench && cd frappe-bench @@ -49,7 +49,7 @@ Uso básico * Agregar Site - Las aplicaciones Frappe son montadas en los Sites y por tanto tendras que crear por lo menos un site. + Las aplicaciones Frappé son montadas en los Sites y por tanto tendras que crear por lo menos un site. El comando new-site te permite crearlos. bench new-site site1.local @@ -60,7 +60,7 @@ Uso básico bench start - Para acceder a Frappe / ERPNext, abra su navegador favorito y escriba la ruta `localhost:8000` + Para acceder a Frappé / ERPNext, abra su navegador favorito y escriba la ruta `localhost:8000` El usuario por defecto es "Administrator" y la contraseña es la que específicaste al momento de crear el nuevo site. diff --git a/frappe/docs/user/es/bench/guides/settings-limits.md b/frappe/docs/user/es/bench/guides/settings-limits.md index a481db66da..d918cd7c60 100644 --- a/frappe/docs/user/es/bench/guides/settings-limits.md +++ b/frappe/docs/user/es/bench/guides/settings-limits.md @@ -1,6 +1,6 @@ # Estableciendo límites para su sitio -La versión 7 de Frappe ha agregado soporte para la configuración de límites y restricciones para su site. +La versión 7 de Frappé ha agregado soporte para la configuración de límites y restricciones para su site. Estas restricciones están en el archivo `site_config.json` dentro de la carpeta del site. { diff --git a/frappe/docs/user/es/bench/guides/setup-production.md b/frappe/docs/user/es/bench/guides/setup-production.md index f97c582bd0..6ef279c84f 100644 --- a/frappe/docs/user/es/bench/guides/setup-production.md +++ b/frappe/docs/user/es/bench/guides/setup-production.md @@ -9,7 +9,7 @@ Estos pasos son automátizados si ejecutas `sudo bench setup production` ####Configuración manual para producción Supervisor ---------- -Supervisor se asegura de mantener el proceso que inició Frappe corriendo y lo reinicia en caso de cualquier inconveniente. +Supervisor se asegura de mantener el proceso que inició Frappé corriendo y lo reinicia en caso de cualquier inconveniente. Puedes generar la configuración necesaria para supervisor ejecutando el comando `bench setup supervisor`. La configuración va a estar disponible en la carpeta `config/supervisor.conf`. Luego puedes copiar/enlazar este archivo al directorio de configuración de supervisor y reiniciar el servicio para que tome efecto de los cambios realizados. diff --git a/frappe/docs/user/es/bench/resources/background-services.md b/frappe/docs/user/es/bench/resources/background-services.md index 5145897996..52294cc1f5 100644 --- a/frappe/docs/user/es/bench/resources/background-services.md +++ b/frappe/docs/user/es/bench/resources/background-services.md @@ -8,7 +8,7 @@ Servicios Externos * nginx (para producción) * supervisor (para producción) -Procesos de Frappe +Procesos de Frappé ---------------- @@ -20,12 +20,12 @@ Procesos de Frappe * Procesos de Redis Worker - * Los procesos de Celery se encargan de ejecutar tareas en background en Frappe. + * Los procesos de Celery se encargan de ejecutar tareas en background en Frappé. Estos procesos son iniciados automáticamente cuando se ejecuta el comando `bench start` y para producción se configuran en las configuraciones de supervisor. * Procesos Scheduler - * Los procesos del Scheduler programan la lista de tareas programadas en Frappe. + * Los procesos del Scheduler programan la lista de tareas programadas en Frappé. Este proceso es iniciado automáticamente cuando se ejecuta el comando `bench start` y para producción se configuran en las configuraciones de supervisor. diff --git a/frappe/docs/user/es/index.md b/frappe/docs/user/es/index.md index d483120e16..56c4acd3db 100644 --- a/frappe/docs/user/es/index.md +++ b/frappe/docs/user/es/index.md @@ -1,3 +1,3 @@ -# Desarrollo de aplicaciones con Frappe +# Desarrollo de aplicaciones con Frappé {index} diff --git a/frappe/docs/user/es/tutorial/app.md b/frappe/docs/user/es/tutorial/app.md index c7df575fbe..02122f510e 100644 --- a/frappe/docs/user/es/tutorial/app.md +++ b/frappe/docs/user/es/tutorial/app.md @@ -1,10 +1,10 @@ # Qué es una aplicación -Una aplicación en Frappe es una aplicación estandar en Python. Puedes estructurar una aplicación hecha en Frappe de la misma forma que estructuras una aplicación en Python. -Para implementación, Frappe usa los Python Setuptools, lo que nos permite facilmente instalar la aplicación en cualquier computadora. +Una aplicación en Frappé es una aplicación estandar en Python. Puedes estructurar una aplicación hecha en Frappé de la misma forma que estructuras una aplicación en Python. +Para implementación, Frappé usa los Python Setuptools, lo que nos permite facilmente instalar la aplicación en cualquier computadora. -El Framework Frappe provee una interfaz WSGI y para el desarrollo puedes usar el servidor interno de frappe llamado Werkzeug. Para implementación en producción, recomendamos usar nginx y gunicorn. +El Framework Frappé provee una interfaz WSGI y para el desarrollo puedes usar el servidor interno de frappe llamado Werkzeug. Para implementación en producción, recomendamos usar nginx y gunicorn. -Frappe tambien soporta la architectura multi-tenant. Esto significa que puedes correr varios "sitios" en su instalación, cada uno de ellos estará poniendo a disposición un conjunto de aplicaciones y usuarios. La base de datos para cada sitio es separada. +Frappé tambien soporta la architectura multi-tenant. Esto significa que puedes correr varios "sitios" en su instalación, cada uno de ellos estará poniendo a disposición un conjunto de aplicaciones y usuarios. La base de datos para cada sitio es separada. {next} diff --git a/frappe/docs/user/es/tutorial/before.md b/frappe/docs/user/es/tutorial/before.md index 77b7907f09..b9eeb84541 100644 --- a/frappe/docs/user/es/tutorial/before.md +++ b/frappe/docs/user/es/tutorial/before.md @@ -1,12 +1,12 @@ # Antes de empezar -

Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappe.

+

Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappé.

--- #### 1. Python -Frappe usa Python (v2.7) como lenguaje de parte del servidor. Es altamente recomendable aprender Python antes de iniciar a crear aplicaciones con Frappe. +Frappé usa Python (v2.7) como lenguaje de parte del servidor. Es altamente recomendable aprender Python antes de iniciar a crear aplicaciones con Frappé. Para escribir código de calidad del lado del servidor, también debes incluir pruebas automatizadas. @@ -30,7 +30,7 @@ Recursos: #### 3. HTML / CSS -Si quieres construir interfaces de usuario usando Frappe, necesitas aprender los conceptops básicos de HTML / CSS y el framework de CSS Bootstrap. +Si quieres construir interfaces de usuario usando Frappé, necesitas aprender los conceptops básicos de HTML / CSS y el framework de CSS Bootstrap. Recursos: 1. [Tutorial sobre HTML/CSS de Codecademy](https://www.codecademy.com/learn/learn-html-css) @@ -68,4 +68,4 @@ Recursos: --- -Cuando estes listo, puedes intentar [crear una aplicación simple](/docs/user/es/tutorial/app) usando Frappe. +Cuando estes listo, puedes intentar [crear una aplicación simple](/docs/user/es/tutorial/app) usando Frappé. diff --git a/frappe/docs/user/es/tutorial/bench.md b/frappe/docs/user/es/tutorial/bench.md index bc9e3ce215..5ce2f40c0f 100644 --- a/frappe/docs/user/es/tutorial/bench.md +++ b/frappe/docs/user/es/tutorial/bench.md @@ -1,10 +1,10 @@ -# Instalando el Frappe Bench +# Instalando el Frappé Bench -La forma más facíl de configurar frappe en un computador usando sitemas basados en Unix es usando frappe-bench. Lee las instrucciones detalladas acerca de como instalarlo usando Frappe Bench. +La forma más facíl de configurar frappe en un computador usando sitemas basados en Unix es usando frappe-bench. Lee las instrucciones detalladas acerca de como instalarlo usando Frappé Bench. > [https://github.com/frappe/bench](https://github.com/frappe/bench) -Con Frappe Bench vas a poder configurar y hostear multiples aplicaciones y sitios, también va a configurar un entorno virtual de Python por lo que vas a tener un entorno apartado para correr sus aplicaciones (y no va a tener conflictos de versiones con otros entornos de desarrollo). +Con Frappé Bench vas a poder configurar y hostear multiples aplicaciones y sitios, también va a configurar un entorno virtual de Python por lo que vas a tener un entorno apartado para correr sus aplicaciones (y no va a tener conflictos de versiones con otros entornos de desarrollo). El comando `bench` va a ser instalado en su sistema para ayudarlo en la fase de desarrollo y el manejo de la aplicación. diff --git a/frappe/docs/user/es/tutorial/conclusion.md b/frappe/docs/user/es/tutorial/conclusion.md index 05118d1b48..6f9a07fd1c 100644 --- a/frappe/docs/user/es/tutorial/conclusion.md +++ b/frappe/docs/user/es/tutorial/conclusion.md @@ -1,5 +1,5 @@ # Conclusión -Esperamos que esto te haya dado una idea de como son desarrolladas las aplicaicones en Frappe. El objetivo era de que de manera breve se tocaran varios de los aspectos del desarrollo de aplicaciones. Para obtener ayuda en inconvenientes o temas específicos, favor revisar el API. +Esperamos que esto te haya dado una idea de como son desarrolladas las aplicaicones en Frappé. El objetivo era de que de manera breve se tocaran varios de los aspectos del desarrollo de aplicaciones. Para obtener ayuda en inconvenientes o temas específicos, favor revisar el API. Para ayuda, únete a la comunidad en el [canal de chat en Gitter](https://gitter.im/frappe/erpnext) o el [foro de desarrollo](https://discuss.erpnext.com) diff --git a/frappe/docs/user/es/tutorial/doctypes.md b/frappe/docs/user/es/tutorial/doctypes.md index 3e0a9583f8..6a13bde650 100644 --- a/frappe/docs/user/es/tutorial/doctypes.md +++ b/frappe/docs/user/es/tutorial/doctypes.md @@ -46,7 +46,7 @@ Podemos agregar los siguientes campos: #### Agregar permisos -Despues de agregar los campos, dar click en hecho y agrega una nueva fila en la sección de Permission Roles. Por ahora, vamos a darle accesos Lectura, Escritura, Creación y Reportes al Role **Librarian**. Frappe cuenta con un sistema basados en el modelo de Roles finamente granulado. Puedes cambiar los permisos más adealante usando el **Role Permissions Manager** desde **Setup**. +Despues de agregar los campos, dar click en hecho y agrega una nueva fila en la sección de Permission Roles. Por ahora, vamos a darle accesos Lectura, Escritura, Creación y Reportes al Role **Librarian**. Frappé cuenta con un sistema basados en el modelo de Roles finamente granulado. Puedes cambiar los permisos más adealante usando el **Role Permissions Manager** desde **Setup**. Adding Permissions diff --git a/frappe/docs/user/es/tutorial/index.md b/frappe/docs/user/es/tutorial/index.md index 62d30a873c..652e7f9773 100644 --- a/frappe/docs/user/es/tutorial/index.md +++ b/frappe/docs/user/es/tutorial/index.md @@ -1,6 +1,6 @@ -# Tutorial sobre Frappe +# Tutorial sobre Frappé -En esta guía, vamos a mostrarte como crear una aplicación desde cero usando **Frappe**. Usando el ejemplo de un Sistema de Gestión de Librería. Vamos a cubrir: +En esta guía, vamos a mostrarte como crear una aplicación desde cero usando **Frappé**. Usando el ejemplo de un Sistema de Gestión de Librería. Vamos a cubrir: 1. Instalación 1. Creando una nueva App @@ -12,10 +12,10 @@ En esta guía, vamos a mostrarte como crear una aplicación desde cero usando ** ## Para Quién es este tutorial? -Esta guía esta orientada para desarrolladores de software que estan familiarizados con el proceso de como son creadas y servidas las aplicaciones web. El Framework Frappe está escrito en Python y usa MariaDB como base de datos y para la creación de las vistas web usa HTML/CSS/Javascript. Por lo que sería excelente si estas familiarizado con estas tecnologías. +Esta guía esta orientada para desarrolladores de software que estan familiarizados con el proceso de como son creadas y servidas las aplicaciones web. El Framework Frappé está escrito en Python y usa MariaDB como base de datos y para la creación de las vistas web usa HTML/CSS/Javascript. Por lo que sería excelente si estas familiarizado con estas tecnologías. Por lo menos, si nunca haz usado Python antes, deberías tomar un tutorial rápido antes de iniciar con este tutorial. -Frappe usa el sistema de gestión de versiones en GitHub. También, es importante estar familiarizado con los conceptos básicos de git y tener una cuenta en GitHub para manejar sus aplicaciones. +Frappé usa el sistema de gestión de versiones en GitHub. También, es importante estar familiarizado con los conceptos básicos de git y tener una cuenta en GitHub para manejar sus aplicaciones. ## Ejemplo @@ -27,7 +27,7 @@ Para esta guía, vamos a crear una aplicación simple llamada **Library Manageme 1. Library Membership (Un período en el que un miembro esta permitido hacer una trasacción) 1. Library Management Setting (Configuraciones generales, como el tiempo que dura el prestamo de un artículo) -La interfaz de usuario (UI) para la aplicación va a ser el **Frappe Desk**, un entorno para UI basado en el navegador y viene integrado en Frappe donde los formularios son generados automáticamente desde los modelos y los roles y permisos son aplicados. +La interfaz de usuario (UI) para la aplicación va a ser el **Frappé Desk**, un entorno para UI basado en el navegador y viene integrado en Frappé donde los formularios son generados automáticamente desde los modelos y los roles y permisos son aplicados. También, vamos a crear vistas webs para la librería donde los usuarios pueden buscar los artículos desde una página web. diff --git a/frappe/docs/user/es/tutorial/models.md b/frappe/docs/user/es/tutorial/models.md index 4951c55ec0..406558cae1 100644 --- a/frappe/docs/user/es/tutorial/models.md +++ b/frappe/docs/user/es/tutorial/models.md @@ -1,6 +1,6 @@ # Creando Modelos -El siguiente paso es crear los modelos que discutimos en la introducción. En Frappe, los modelos son llamados **DocTypes**. Puedes crear nuevos DocTypes desde el UI Escritorio de Frappe. **DocTypes** son creados de campos llamados **DocField** y los permisos basados en roles son integrados dentro de los modelos, estos son llamados **DocPerms**. +El siguiente paso es crear los modelos que discutimos en la introducción. En Frappé, los modelos son llamados **DocTypes**. Puedes crear nuevos DocTypes desde el UI Escritorio de Frappé. **DocTypes** son creados de campos llamados **DocField** y los permisos basados en roles son integrados dentro de los modelos, estos son llamados **DocPerms**. Cuando un DocType es guardado, se crea una nueva tabla en la base de datos. Esta tabla se nombra `tab[doctype]`. diff --git a/frappe/docs/user/es/tutorial/naming-and-linking.md b/frappe/docs/user/es/tutorial/naming-and-linking.md index be951f323c..52de06add7 100644 --- a/frappe/docs/user/es/tutorial/naming-and-linking.md +++ b/frappe/docs/user/es/tutorial/naming-and-linking.md @@ -24,7 +24,7 @@ Esto puede ser seteado a traves del campo **Autoname**. Para el controlador, dej #### Campo de Enlace y Campo Select -Las claves foraneas son específicadas en Frappe como campos **Link** (Enlace). El DocType debe ser mencionado en el area de texto de Options. +Las claves foraneas son específicadas en Frappé como campos **Link** (Enlace). El DocType debe ser mencionado en el area de texto de Options. En nuestro ejemplo, en el DocType de Library Transaction,tenemos que enlazar los dos DocTypes de Library Member and the Article. diff --git a/frappe/docs/user/es/tutorial/new-app.md b/frappe/docs/user/es/tutorial/new-app.md index 2978145db7..5591c9d997 100644 --- a/frappe/docs/user/es/tutorial/new-app.md +++ b/frappe/docs/user/es/tutorial/new-app.md @@ -7,7 +7,7 @@ Para crear una nueva aplicación, debes posicionarte en el directorio del bench $ bench new-app library_management App Title (defaut: Lib Mgt): Library Management App Description: App for managing Articles, Members, Memberships and Transactions for Libraries - App Publisher: Frappe + App Publisher: Frappé App Email: info@frappe.io App Icon (default 'octicon octicon-file-directory'): octicon octicon-book App Color (default 'grey'): #589494 @@ -44,11 +44,11 @@ La aplicación va a ser creada en el directorio llamado `library_management` y v 1. `config` contiene la información de configuración de la aplicación. 1. `desktop.py` es donde los íconos del escritorio pueden ser agregados al mismo. 1. `hooks.py` es donde se configuran las integraciones con el entorno y otras aplicaciones. -1. `library_management` (dentro) es un **módulo** que está contenido. En Frappe, un **módulo** es donde los modelos y controladores se almacenan. +1. `library_management` (dentro) es un **módulo** que está contenido. En Frappé, un **módulo** es donde los modelos y controladores se almacenan. 1. `modules.txt` contiene la lista de **módulos** en la aplicación. Cuando creas un nuevo módulo, es obligatorio que lo agregues a este archivo. 1. `patches.txt` es donde los patches para migraciones son establecidos. Son módulos de Python referenciados usando la nomenclatura de punto. -1. `templates` es el directorio donde son mantenidos las plantillas de vistas web. Plantillas para **Login** y otras páginas estandar estan contenidas en Frappe. -1. `generators` son donde las plantillas para los modelos son almacenadas, donde cada instancia de modelo tiene una ruta web separada, por ejemplo un **Blog Post** donde cada post tiene una url única. En Frappe, el manejador de plantillas utilizado es Jinja2. +1. `templates` es el directorio donde son mantenidos las plantillas de vistas web. Plantillas para **Login** y otras páginas estandar estan contenidas en Frappé. +1. `generators` son donde las plantillas para los modelos son almacenadas, donde cada instancia de modelo tiene una ruta web separada, por ejemplo un **Blog Post** donde cada post tiene una url única. En Frappé, el manejador de plantillas utilizado es Jinja2. 1. `pages` es donde las rutas simples son almacenadas. Por ejemplo para un tipo de página "/blog". {next} diff --git a/frappe/docs/user/es/tutorial/setting-up-the-site.md b/frappe/docs/user/es/tutorial/setting-up-the-site.md index 83c925d909..28a0dd7301 100644 --- a/frappe/docs/user/es/tutorial/setting-up-the-site.md +++ b/frappe/docs/user/es/tutorial/setting-up-the-site.md @@ -19,7 +19,7 @@ Vamos a crear un nuevo Site llamado `library`. Ahora puedes instalar un nuevo site, ejecutando el comando `bench new-site library`. La ejecución del comando anterior va a generar una nueva base de datos, un directorio en la carpeta sites y va a instalar `frappe` (el cual también es una aplicación!) en el nuevo site. - La aplicación `frappe` tiene dos módulos integrados que son **Core** y **Website**. El módulo Core contiene los modelos básicos para la aplicación. Frappe es un Framework con muchas funcionalidades incluidas y viene con muchos modelos integrados. Estos modelos son llamados **DocTypes**. Vamos a ver más de esto en lo adelante. + La aplicación `frappe` tiene dos módulos integrados que son **Core** y **Website**. El módulo Core contiene los modelos básicos para la aplicación. Frappé es un Framework con muchas funcionalidades incluidas y viene con muchos modelos integrados. Estos modelos son llamados **DocTypes**. Vamos a ver más de esto en lo adelante. $ bench new-site library MySQL root password: diff --git a/frappe/docs/user/es/tutorial/single-doctypes.md b/frappe/docs/user/es/tutorial/single-doctypes.md index a091a2a2ec..cb6d55644b 100644 --- a/frappe/docs/user/es/tutorial/single-doctypes.md +++ b/frappe/docs/user/es/tutorial/single-doctypes.md @@ -1,6 +1,6 @@ # DocTypes Simples -Una aplicación normalmente va a tener una página de configuración. En nuestra aplicación, podemos definir una página donde específiquemos el período de prestamos. Necesitaremos almacenar esta propiedad. En Frappe, esto puede lograrse usando los DocType de tipo **Simple**. Un DocType Simple es como el patrón Singleton en Java. Es un objeto con tan solo una instancia. Vamos a llamarlo **Library Managment Settings**. +Una aplicación normalmente va a tener una página de configuración. En nuestra aplicación, podemos definir una página donde específiquemos el período de prestamos. Necesitaremos almacenar esta propiedad. En Frappé, esto puede lograrse usando los DocType de tipo **Simple**. Un DocType Simple es como el patrón Singleton en Java. Es un objeto con tan solo una instancia. Vamos a llamarlo **Library Managment Settings**. Para crear un Single DocType, marca el checkbox **Is Single**. diff --git a/frappe/docs/user/es/tutorial/start.md b/frappe/docs/user/es/tutorial/start.md index f086371ccc..51f63b6acb 100644 --- a/frappe/docs/user/es/tutorial/start.md +++ b/frappe/docs/user/es/tutorial/start.md @@ -26,6 +26,6 @@ Cuando accedas, deberías poder ver la página de inicio (Desk). Desk -Como puedes ver, el sistema básico de Frappe viene con algunas aplicaciones preinstaladas como To Do, File Manager etc. Estas aplicaciones pueden integrarse en el flujo de trabajo de su aplicació a medida que avancemos. +Como puedes ver, el sistema básico de Frappé viene con algunas aplicaciones preinstaladas como To Do, File Manager etc. Estas aplicaciones pueden integrarse en el flujo de trabajo de su aplicació a medida que avancemos. {next} diff --git a/frappe/docs/user/es/tutorial/task-runner.md b/frappe/docs/user/es/tutorial/task-runner.md index 215bd6b46d..148ae61b00 100644 --- a/frappe/docs/user/es/tutorial/task-runner.md +++ b/frappe/docs/user/es/tutorial/task-runner.md @@ -1,6 +1,6 @@ # Tareas Programadas -Finalmente, una aplicación también tiene que mandar notificaciones de email y hacer otros tipos de tareas programadas. En Frappe, si tienes el bench configurado, el programador de tareas es configurado vía Celery usando Redis Queue. +Finalmente, una aplicación también tiene que mandar notificaciones de email y hacer otros tipos de tareas programadas. En Frappé, si tienes el bench configurado, el programador de tareas es configurado vía Celery usando Redis Queue. Para agregar un nuevo manejador(Handler) de tareas, ir a `hooks.py` y agrega un nuevo manejador. Los manejadores (Handlers) por defecto son `all`, `daily`, `weekly`, `monthly`. El manejador `all` es llamado cada 3 minutos por defecto. @@ -15,7 +15,7 @@ Para agregar un nuevo manejador(Handler) de tareas, ir a `hooks.py` y agrega un Aquí hacemos referencia a una función Python que va a ser ejecutada diariamente. Vamos a ver como se ve esta función: - # Copyright (c) 2013, Frappe + # Copyright (c) 2013, Frappé # For license information, please see license.txt from __future__ import unicode_literals diff --git a/frappe/docs/user/es/tutorial/users-and-records.md b/frappe/docs/user/es/tutorial/users-and-records.md index 6020e80fe7..2885c6bd5c 100644 --- a/frappe/docs/user/es/tutorial/users-and-records.md +++ b/frappe/docs/user/es/tutorial/users-and-records.md @@ -1,6 +1,6 @@ # Creando Usuarios y Registros -Teniendo los modelos creados, podemos empezar a crear registros usando la interfaz gráfica de usuario de Frappe. No necesitas crear vistas! Las vistas en Frappe son automáticamente creadas basadas en las propiedades del DocType. +Teniendo los modelos creados, podemos empezar a crear registros usando la interfaz gráfica de usuario de Frappé. No necesitas crear vistas! Las vistas en Frappé son automáticamente creadas basadas en las propiedades del DocType. ### 4.1 Creando Usuarios diff --git a/frappe/docs/user/es/tutorial/web-views.md b/frappe/docs/user/es/tutorial/web-views.md index 8556ed6308..79a311e7b5 100644 --- a/frappe/docs/user/es/tutorial/web-views.md +++ b/frappe/docs/user/es/tutorial/web-views.md @@ -1,8 +1,8 @@ # Vistas Web (Web Views) -Frappe tiene dos entornos principales, El escritorio y la Web. El escritorio es una interfaz de usuario controlada con una excelente aplicación AJAX y la web es mas plantillas de HTML tradicionales dispuestas para consumo público. Vistas Web pueden también ser generadas para crear vistas controladas para los usuarios que puedes acceder al sistema pero aún así no tener acceso al escritorio. +Frappé tiene dos entornos principales, El escritorio y la Web. El escritorio es una interfaz de usuario controlada con una excelente aplicación AJAX y la web es mas plantillas de HTML tradicionales dispuestas para consumo público. Vistas Web pueden también ser generadas para crear vistas controladas para los usuarios que puedes acceder al sistema pero aún así no tener acceso al escritorio. -En Frappe, Las vistas web son manejadas por plantillas que estan usualmente en el directorio `templates`. Hay dos tipos principales de plantillas. +En Frappé, Las vistas web son manejadas por plantillas que estan usualmente en el directorio `templates`. Hay dos tipos principales de plantillas. 1. Pages: Estos son plantillas Jinja donde una vista existe solo para una ruta. ejemplo. `/blog`. 2. Generators: Estas son plantiallas donde cada instancia de un DocType tiene una ruta diferente `/blog/a-blog`, `blog/b-blog` etc. @@ -49,7 +49,7 @@ La lista actualizada debe lucir de esta manera! #### Página de Inicio -Frappe también tiene vistas para el registro de usuarios que incluye opciones de registro usando Google, Facebook y GitHub. Cuando un usuario se registra vía la web, no tiene acceso a la interfaz del Escritorio por defecto. +Frappé también tiene vistas para el registro de usuarios que incluye opciones de registro usando Google, Facebook y GitHub. Cuando un usuario se registra vía la web, no tiene acceso a la interfaz del Escritorio por defecto. > Para permitirles a los usuarios acceso al Escritorio, debes especificar que el usuario es de tipo "System User" en Setup > User diff --git a/frappe/docs/user/es/videos/index.md b/frappe/docs/user/es/videos/index.md index 4beb76e7a9..ef190c1a14 100644 --- a/frappe/docs/user/es/videos/index.md +++ b/frappe/docs/user/es/videos/index.md @@ -1,6 +1,6 @@ -# Videos Tutoriales acerca del Framework Frappe +# Videos Tutoriales acerca del Framework Frappé -Este video tutorial de 10 videos va a enseñarte como crear aplicaciones complejas en Frappe. +Este video tutorial de 10 videos va a enseñarte como crear aplicaciones complejas en Frappé. Prerrequisitos: Debes tener conocimientos básicos de Python, Javascript y MySQl antes de empezar este tutorial. diff --git a/frappe/docs/user/fr/index.md b/frappe/docs/user/fr/index.md index a25785e59e..a68da6210b 100644 --- a/frappe/docs/user/fr/index.md +++ b/frappe/docs/user/fr/index.md @@ -1,3 +1,3 @@ -# Develop Apps with Frappe +# Develop Apps with Frappé {index} diff --git a/frappe/docs/user/fr/tutorial/app.md b/frappe/docs/user/fr/tutorial/app.md index 54c4fffd1e..9061e5348c 100644 --- a/frappe/docs/user/fr/tutorial/app.md +++ b/frappe/docs/user/fr/tutorial/app.md @@ -1,13 +1,13 @@ # Qu'est ce qu'une application ? -Dans Frappe, une application est juste une application Python standard. Vous pouvez structurer une application Frappe de -la même facon que vous structurez une application Python standard. Pour le déploiement, Frappe utilise Setuptools donc +Dans Frappé, une application est juste une application Python standard. Vous pouvez structurer une application Frappé de +la même facon que vous structurez une application Python standard. Pour le déploiement, Frappé utilise Setuptools donc vous pouvez facilement déployer votre application sur n'importe quelle machine. -Frappe fournit une interface WSGI et pendant vos développements vous pouvez utiliser le serveur Werkzeug embarqué. Pour le +Frappé fournit une interface WSGI et pendant vos développements vous pouvez utiliser le serveur Werkzeug embarqué. Pour le déploiement en production, nous recommandons d'utiliser nginx et gunicorn. -Frappe, c'est aussi une une architecture multi-tenant ce qui signifie que vous pouvez lancer plusieurs sites sur une même +Frappé, c'est aussi une une architecture multi-tenant ce qui signifie que vous pouvez lancer plusieurs sites sur une même configuration, chaque site utilisant ses propres applications et utilisateurs. La base de données de chaque site est indépendante. {next} diff --git a/frappe/docs/user/fr/tutorial/before.md b/frappe/docs/user/fr/tutorial/before.md index 12da08b512..b10e89c33d 100644 --- a/frappe/docs/user/fr/tutorial/before.md +++ b/frappe/docs/user/fr/tutorial/before.md @@ -1,6 +1,6 @@ # Avant de commencer -

Liste des outils et technologies utiles dans le développement d'applications avec Frappe.

+

Liste des outils et technologies utiles dans le développement d'applications avec Frappé.

Il y a un grand nombres de tutoriels en ligne et nous recommandons [CodeAcademy](http://www.codecademy.com/) ou vous trouverez beaucoup de ressources de qualité. @@ -8,7 +8,7 @@ Il y a un grand nombres de tutoriels en ligne et nous recommandons [CodeAcademy] #### 1. Python -La partie serveur de Frappe est codée en Python et c'est une bonne idée d'[apprendre rapidement Python](http://www.codecademy.com/tracks/python) avant de commencer à comprendre Frappe. [Le tutoriel sur docs.python.org](https://docs.python.org/2.7/tutorial/index.html) est aussi une excellente ressource pour apprendre Python. Notez que Frappe utilise Python 2.7. +La partie serveur de Frappé est codée en Python et c'est une bonne idée d'[apprendre rapidement Python](http://www.codecademy.com/tracks/python) avant de commencer à comprendre Frappé. [Le tutoriel sur docs.python.org](https://docs.python.org/2.7/tutorial/index.html) est aussi une excellente ressource pour apprendre Python. Notez que Frappé utilise Python 2.7. Pour produire une application de qualité, vous devez inclure des tests automatiques. Vous pouvez comprendre les bases du développement par les tests [ici](http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137). @@ -45,5 +45,5 @@ Si vous voulez modifier les affichages, vous devez apprendre le [language de tem --- -Quand vous êtes prêts, [essayez de développer une application simple avec Frappe](/docs/user/fr/tutorial/app) +Quand vous êtes prêts, [essayez de développer une application simple avec Frappé](/docs/user/fr/tutorial/app) diff --git a/frappe/docs/user/fr/tutorial/bench.md b/frappe/docs/user/fr/tutorial/bench.md index c2902b3a87..979202dfd5 100644 --- a/frappe/docs/user/fr/tutorial/bench.md +++ b/frappe/docs/user/fr/tutorial/bench.md @@ -1,8 +1,8 @@ -# Installer le bench de Frappe +# Installer le bench de Frappé -La façon la plus rapide d'installer Frappe sur un système Unix est d'utiliser frappe-bench. Lisez les instructions détaillées sur l'installation et l'utilisation de Frappe Bench : [https://github.com/frappe/bench](https://github.com/frappe/bench) +La façon la plus rapide d'installer Frappé sur un système Unix est d'utiliser frappe-bench. Lisez les instructions détaillées sur l'installation et l'utilisation de Frappé Bench : [https://github.com/frappe/bench](https://github.com/frappe/bench) -Avec Frappe Bench vous pourrez configurer et héberger plusieurs sites et applications. Frappe Bench configure aussi un environnement virtuel Python (Virtualenv), vos applications seront donc isolées les unes des autres et vous n'aurez pas de conflits avec d'autres environnements de développement. +Avec Frappé Bench vous pourrez configurer et héberger plusieurs sites et applications. Frappé Bench configure aussi un environnement virtuel Python (Virtualenv), vos applications seront donc isolées les unes des autres et vous n'aurez pas de conflits avec d'autres environnements de développement. La commande `bench` sera ajoutée pour vous aider dans le développement et la gestion de vos applications. diff --git a/frappe/docs/user/fr/tutorial/conclusion.md b/frappe/docs/user/fr/tutorial/conclusion.md index 8428b362b2..16929104c6 100644 --- a/frappe/docs/user/fr/tutorial/conclusion.md +++ b/frappe/docs/user/fr/tutorial/conclusion.md @@ -1,6 +1,6 @@ # Conclusion -Nous espérons vous avoir donné un apercu de comment les applications sont développées avec Frappe. L'ojectif était de vous +Nous espérons vous avoir donné un apercu de comment les applications sont développées avec Frappé. L'ojectif était de vous montrer brievement, les différents aspects du développement d'une application en vous donnant un apércu général. Pour aller plus loin dans les explications, consultez l'API. diff --git a/frappe/docs/user/fr/tutorial/doctypes.md b/frappe/docs/user/fr/tutorial/doctypes.md index c1810b140b..69dae3a41a 100644 --- a/frappe/docs/user/fr/tutorial/doctypes.md +++ b/frappe/docs/user/fr/tutorial/doctypes.md @@ -50,7 +50,7 @@ sur chacune des lignes comme ci-dessous #### Ajouter des permissins Après avoir ajouté les champs, validez et ajoutez un nouveau rôle dans la section des règles de permissions. Pour le moment -ajoutons les droits le lecture, écriture, création et suppression au modèle **Librarian**. Frappe à une gestion fine des +ajoutons les droits le lecture, écriture, création et suppression au modèle **Librarian**. Frappé à une gestion fine des permissions sur les modèles. Vous pouvez aussi changer les permissions plus tard en utilisant le gestionnaire de permissions dans la configuration. diff --git a/frappe/docs/user/fr/tutorial/index.md b/frappe/docs/user/fr/tutorial/index.md index b518478c72..3aa6ccb6ee 100644 --- a/frappe/docs/user/fr/tutorial/index.md +++ b/frappe/docs/user/fr/tutorial/index.md @@ -1,6 +1,6 @@ -# Tutoriel Frappe +# Tutoriel Frappé -Dans ce guide nous allons vous montrer comment créer une application de A à Z en utilisant **Frappe**. Avec un +Dans ce guide nous allons vous montrer comment créer une application de A à Z en utilisant **Frappé**. Avec un exemple de gestion de bibliothèque, nous allons aborder les sujets suivants: 1. Installation @@ -13,12 +13,12 @@ exemple de gestion de bibliothèque, nous allons aborder les sujets suivants: ## A qui s'adresse ce tutoriel ? -Ce guide est à destination des développeurs familiers avec la création d'applications web. Le framework Frappe est développé +Ce guide est à destination des développeurs familiers avec la création d'applications web. Le framework Frappé est développé avec Python, utilise le système de base de données MariaDB et HTML/CSS/Javascript pour le rendu des pages. Il est donc nécessaire d'être familier avec ces technologies. Si vous n'avez jamais utilisé Python auparavant, vous devriez suivre un tutoriel rapide avant de suivre ce guide. -Frappe utilise le système de gestion de version git sur Github. Il est donc important que vous connaissiez les bases de +Frappé utilise le système de gestion de version git sur Github. Il est donc important que vous connaissiez les bases de l'utilisation de git et que vous ayez un compte sur Github pour gérer vos applications. ## Exemple @@ -32,7 +32,7 @@ les modèles suivants: 1. Library Membership (période pendant laquelle un membre peut emprunter) 1. Library Management Setting (configuration générale) -L'interface utilisateur (UI) pour le bibliothécaire sera **Frappe Desk**, un système de rendu d'interface où les formulaires sont +L'interface utilisateur (UI) pour le bibliothécaire sera **Frappé Desk**, un système de rendu d'interface où les formulaires sont automatiquement générés depuis les modèles en appliquant rôles et permissions. Nous allons aussi créer des vues pour la bibliothèque afin que les utilisateurs puissent parcourir la liste des livres depuis un site internet. diff --git a/frappe/docs/user/fr/tutorial/models.md b/frappe/docs/user/fr/tutorial/models.md index f67d356bf6..3d69438512 100644 --- a/frappe/docs/user/fr/tutorial/models.md +++ b/frappe/docs/user/fr/tutorial/models.md @@ -1,6 +1,6 @@ # Définir des modèles -La prochaine étape est de définir les modèles que nous avons présenté en introduction. Dans **Frappe**, les modèles sont appelés +La prochaine étape est de définir les modèles que nous avons présenté en introduction. Dans **Frappé**, les modèles sont appelés des **DocTypes**. Vous pouvez définir de nouveaux **DocTypes** depuis l'interface. Les **DocTypes** sont faits de **DocField** et de permissions appelées **DocPerms**. diff --git a/frappe/docs/user/fr/tutorial/naming-and-linking.md b/frappe/docs/user/fr/tutorial/naming-and-linking.md index 7f71fc9dfe..0cb2be8bf0 100644 --- a/frappe/docs/user/fr/tutorial/naming-and-linking.md +++ b/frappe/docs/user/fr/tutorial/naming-and-linking.md @@ -25,7 +25,7 @@ Dans notre cas, l'arcicle peut etre cherché par un titre ou par l'auteur. Rempl #### Relation et champs select -Les clés étrangères sont, dans Frappe, traduits par un champs de type **Link**. Le **DocType** ciblé doit être mentionné +Les clés étrangères sont, dans Frappé, traduits par un champs de type **Link**. Le **DocType** ciblé doit être mentionné dans le champs **Options**. Dans notre exemple, pour le **doctype** `Library Transaction`, nous avons un lien vers `Library Member` et vers `Article`. diff --git a/frappe/docs/user/fr/tutorial/new-app.md b/frappe/docs/user/fr/tutorial/new-app.md index 418a1643be..c3db75226c 100644 --- a/frappe/docs/user/fr/tutorial/new-app.md +++ b/frappe/docs/user/fr/tutorial/new-app.md @@ -9,7 +9,7 @@ remplissez les informations à propos de votre application. Cela va créer un te $ bench new-app library_management App Title (defaut: Lib Mgt): Library Management App Description: App for managing Articles, Members, Memberships and Transactions for Libraries - App Publisher: Frappe + App Publisher: Frappé App Email: info@frappe.io App Icon (default 'octicon octicon-file-directory'): octicon octicon-book App Color (default 'grey'): #589494 @@ -46,11 +46,11 @@ L'application sera créée dans un répertoire appelé `library_management` et a 1. `config` contient les configurations de l'application 1. `desktop.py` est l'endroit ou les icones peuvent être ajoutées au bureau 1. `hooks.py` contient les définitions de la facon dont l'intégration avec l'environnement et les autres applications est faite. -1. `library_management` (interne) est un **module** bootstrappé. Dans Frappe, un **module** est l'endroit où sont les controlleurs et les modeles. +1. `library_management` (interne) est un **module** bootstrappé. Dans Frappé, un **module** est l'endroit où sont les controlleurs et les modeles. 1. `modules.txt` contient la liste des **modules** dans l'application. Quand vous créez un nouveau module, c'est obligatoire de l'ajouter dans ce fichier. 1. `patches.txt` contient les patchs de migration. Ce sont des références Python utilisant la notation par point. -1. `templates` est le repertoire qui contient les templates des vues. Les templates pour **Login** et autres pages par défaut sont déjà contenus dans Frappe. -1. `generators` est l'endroit où sont stockés les templates des modèles. Chaque instance du modèle a une route web comme par exemple les **articles de blog** ou chaque article a une adresse unique. Dans Frappe, Jinj2 est utilisé pour les templates. +1. `templates` est le repertoire qui contient les templates des vues. Les templates pour **Login** et autres pages par défaut sont déjà contenus dans Frappé. +1. `generators` est l'endroit où sont stockés les templates des modèles. Chaque instance du modèle a une route web comme par exemple les **articles de blog** ou chaque article a une adresse unique. Dans Frappé, Jinj2 est utilisé pour les templates. 1. `pages` contient les routes uniques pour les templates. Par exemple "/blog" ou "/article" {next} diff --git a/frappe/docs/user/fr/tutorial/setting-up-the-site.md b/frappe/docs/user/fr/tutorial/setting-up-the-site.md index 11b7aad611..2637bde1d4 100644 --- a/frappe/docs/user/fr/tutorial/setting-up-the-site.md +++ b/frappe/docs/user/fr/tutorial/setting-up-the-site.md @@ -21,7 +21,7 @@ Vous pouvez installer un nouveau site avec la commande `bench new-site library` Cette commande va créer une nouvelle base de données, un repertoire et installer `frappe` (qui est aussi une application!) dans le nouveau site. L'application `frappe` a deux modules par défaut, **Core** et **Website**. Le module **Core** -contient les modèles basiques pour l'application. En effet, Frappe contient des modèles par défaut qui sont appelés **DocTypes** +contient les modèles basiques pour l'application. En effet, Frappé contient des modèles par défaut qui sont appelés **DocTypes** mais nous en reparlerons plus tard. $ bench new-site library diff --git a/frappe/docs/user/fr/tutorial/single-doctypes.md b/frappe/docs/user/fr/tutorial/single-doctypes.md index 0351761950..8f06d09b02 100644 --- a/frappe/docs/user/fr/tutorial/single-doctypes.md +++ b/frappe/docs/user/fr/tutorial/single-doctypes.md @@ -1,7 +1,7 @@ # Les DocTypes de type Single Une application aura en générale une seule page de configuration. Dans notre application nous pouvons donc définir une page -ou nous définierons la période prêt. Nous avons aussi besoin de sauvegarder cette propriété. Dans Frappe, ceci est possible +ou nous définierons la période prêt. Nous avons aussi besoin de sauvegarder cette propriété. Dans Frappé, ceci est possible en utilisant un un Doctype de type **Single**. Un DocType **Single** est comme le pattern Singleton, une instance unique d'une classe. Appelons le **Library Managment Settings**. diff --git a/frappe/docs/user/fr/tutorial/start.md b/frappe/docs/user/fr/tutorial/start.md index 696e903aae..b5ba0d1e73 100644 --- a/frappe/docs/user/fr/tutorial/start.md +++ b/frappe/docs/user/fr/tutorial/start.md @@ -26,7 +26,7 @@ Une fois connecté, vous devriez voir le `Desk`, c'est à dire la page d'accueil Desk -Comme vous pouvez le voir, Frappe fournit quelques applications comme un To Do, un gestionnaire de fichiers etc. Ces applications +Comme vous pouvez le voir, Frappé fournit quelques applications comme un To Do, un gestionnaire de fichiers etc. Ces applications peuvent être intégrées par la suite. {next} diff --git a/frappe/docs/user/fr/tutorial/task-runner.md b/frappe/docs/user/fr/tutorial/task-runner.md index b455fb6af9..74d39f7de8 100644 --- a/frappe/docs/user/fr/tutorial/task-runner.md +++ b/frappe/docs/user/fr/tutorial/task-runner.md @@ -1,6 +1,6 @@ # Les tâches planifiées -Finalement, une application a aussi à envoyer des emails de notifications ou d'autres taches planifiées. Dans Frappe, si +Finalement, une application a aussi à envoyer des emails de notifications ou d'autres taches planifiées. Dans Frappé, si vous avez configuré le **bench**, la tâche / planificateur est configuré via Celery en utilisant les queues Redis. Pour ajouter un nouveau gestionnaire de tâches, ouvrez le fichier `hooks.py` et ajoutez un nouveau gestionnaire. Les gestionnaires @@ -18,7 +18,7 @@ Pour ajouter un nouveau gestionnaire de tâches, ouvrez le fichier `hooks.py` et Ici, nous pointons sur une fonction en Python et cette fonction sera appelée tous les jours. Voyons à quoi cette fonction ressemble: - # Copyright (c) 2013, Frappe + # Copyright (c) 2013, Frappé # For license information, please see license.txt from __future__ import unicode_literals diff --git a/frappe/docs/user/fr/tutorial/users-and-records.md b/frappe/docs/user/fr/tutorial/users-and-records.md index e259369a2b..a46ebf0fbb 100644 --- a/frappe/docs/user/fr/tutorial/users-and-records.md +++ b/frappe/docs/user/fr/tutorial/users-and-records.md @@ -1,7 +1,7 @@ # Créer des utilisateurs et des enregistrements Maintenant que nous avons définis des modèles, nous pouvons créér des enregistrements directement depuis l'interface. Vous -n'avez pas à créer des vues ! Les vues dans Frappe sont automatiquements créées à partir des propriétés de vos **DocTypes**. +n'avez pas à créer des vues ! Les vues dans Frappé sont automatiquements créées à partir des propriétés de vos **DocTypes**. ### 4.1 Créer des utilisateurs diff --git a/frappe/docs/user/fr/tutorial/web-views.md b/frappe/docs/user/fr/tutorial/web-views.md index 9fc6865a67..de7c0a2318 100644 --- a/frappe/docs/user/fr/tutorial/web-views.md +++ b/frappe/docs/user/fr/tutorial/web-views.md @@ -1,11 +1,11 @@ # Les vues web -Frappe a deux principaux environnements, le **bureau** et **le web**. Le **bureau** est un environnement riche AJAX alors +Frappé a deux principaux environnements, le **bureau** et **le web**. Le **bureau** est un environnement riche AJAX alors que **le web** est une collection plus traditionnelle de fichiers HTML pour la consultation publique. Les vues web peuvent aussi être générées pour créer des vues plus controllées pour les utilisateurs qui peuvent se connecter mais qui n'ont pas accès au desk. -Dans Frappe, les vues sont gérées par des templates et sont tout naturellement placés dans le repertoire `templates`. Il +Dans Frappé, les vues sont gérées par des templates et sont tout naturellement placés dans le repertoire `templates`. Il y a 2 principaux types de templates. 1. Pages: Ce sont des templates Jinja ou une vue unique existe pour une route (exemple:`/blog`). @@ -54,7 +54,7 @@ La mise à jour de la liste ressemble à ca ! #### La page d'accueil -Frappe permet l'inscription et inclut les inscriptions via Google, Facebook et Github. Quand un utilisateur s'inscrit via +Frappé permet l'inscription et inclut les inscriptions via Google, Facebook et Github. Quand un utilisateur s'inscrit via le web, il n'a pas accès à l'interface du desk par defaut. > Pour autoriser les utilisateurs à accéder au `Desk`, ouvrez la configuration de l'utilisateur (Setup > User) et définissez diff --git a/frappe/docs/user/index.md b/frappe/docs/user/index.md index b58863efc1..91ceae5836 100644 --- a/frappe/docs/user/index.md +++ b/frappe/docs/user/index.md @@ -1,4 +1,4 @@ -# Frappe Developer Tutorial +# Frappé Developer Tutorial Select your language diff --git a/frappe/docs/user/pt/index.md b/frappe/docs/user/pt/index.md index a25785e59e..a68da6210b 100755 --- a/frappe/docs/user/pt/index.md +++ b/frappe/docs/user/pt/index.md @@ -1,3 +1,3 @@ -# Develop Apps with Frappe +# Develop Apps with Frappé {index} diff --git a/frappe/docs/user/pt/tutorial/app.md b/frappe/docs/user/pt/tutorial/app.md index dd1a2597e3..3d0d327db1 100755 --- a/frappe/docs/user/pt/tutorial/app.md +++ b/frappe/docs/user/pt/tutorial/app.md @@ -1,9 +1,9 @@ # O que é uma aplicação -Uma Aplicação em Frappe é apenas uma aplicação padrão em Python. Você pode estruturar uma aplicação Frappe da mesma forma que estrutura uma aplicação padrão do Python. Para fazer o deploy, Frappe usa o padrão Setuptools do Python, assim você pode facilmente portar e instalar o aplicativo em qualquer máquina. +Uma Aplicação em Frappé é apenas uma aplicação padrão em Python. Você pode estruturar uma aplicação Frappé da mesma forma que estrutura uma aplicação padrão do Python. Para fazer o deploy, Frappé usa o padrão Setuptools do Python, assim você pode facilmente portar e instalar o aplicativo em qualquer máquina. -Frappe Framework fornece uma interface WSGI e para o desenvolvimento você pode usar o servidor embutido Werkzeug. Para a implementação em produção, recomendamos o uso do nginx e gunicorn. +Frappé Framework fornece uma interface WSGI e para o desenvolvimento você pode usar o servidor embutido Werkzeug. Para a implementação em produção, recomendamos o uso do nginx e gunicorn. -Frappe também tem uma arquitetura multi-tenant, a partir da base. Isso significa que você pode executar vários "sites" em sua configuração, cada um poderia estar servindo um conjunto diferente de aplicativos e usuários. O banco de dados de cada site é separado. +Frappé também tem uma arquitetura multi-tenant, a partir da base. Isso significa que você pode executar vários "sites" em sua configuração, cada um poderia estar servindo um conjunto diferente de aplicativos e usuários. O banco de dados de cada site é separado. {next} diff --git a/frappe/docs/user/pt/tutorial/before.md b/frappe/docs/user/pt/tutorial/before.md index 166b7b69f0..6d8cba9a12 100755 --- a/frappe/docs/user/pt/tutorial/before.md +++ b/frappe/docs/user/pt/tutorial/before.md @@ -1,6 +1,6 @@ # Antes de começar -

Uma lista de ferramentas, tecnologias que serão muito úteis para a construção de aplicativos com Frappe.

+

Uma lista de ferramentas, tecnologias que serão muito úteis para a construção de aplicativos com Frappé.

Há uma série de bons tutoriais on-line e encontramos [Codecademy] (http://www.codecademy.com/) como um dos mais bonitos tutoriais, aqui há um monte de lições que você pode aprender com Codecademy @@ -8,7 +8,7 @@ Há uma série de bons tutoriais on-line e encontramos [Codecademy] (http://www. #### 1. Python -O lado do servidor do Frappe é escrito em Python e é uma boa idéia para [aprender rapidamente Python] (http://www.codecademy.com/tracks/python) antes de começar a se aprofundar em Frappe. Outro bom lugar para aprender Pytohn é o [tutorial no docs.python.org](https://docs.python.org/2.7/tutorial/index.html). Note-se que o Frappe usa Python 2.7 +O lado do servidor do Frappé é escrito em Python e é uma boa idéia para [aprender rapidamente Python] (http://www.codecademy.com/tracks/python) antes de começar a se aprofundar em Frappé. Outro bom lugar para aprender Pytohn é o [tutorial no docs.python.org](https://docs.python.org/2.7/tutorial/index.html). Note-se que o Frappé usa Python 2.7 Para escrever código do lado do servidor de qualidade, você deve incluir testes automáticos. Você pode aprender as noções básicas de [test driven development (TDD) - aqui] (http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137). @@ -44,4 +44,4 @@ Se estiver personalizando modelos de impressão, você precisa aprender a [líng --- -Quando estiver pronto, [tente construir uma aplicação de exemplo em Frappe](/docs/user/pt/tutorial/app) +Quando estiver pronto, [tente construir uma aplicação de exemplo em Frappé](/docs/user/pt/tutorial/app) diff --git a/frappe/docs/user/pt/tutorial/bench.md b/frappe/docs/user/pt/tutorial/bench.md index 5b764d7a8e..0402dbe4c0 100755 --- a/frappe/docs/user/pt/tutorial/bench.md +++ b/frappe/docs/user/pt/tutorial/bench.md @@ -1,10 +1,10 @@ -# Instalando o Frappe Bench +# Instalando o Frappé Bench -A maneira mais fácil de instalar o frappe em um sistema baseado em Unix, é utilizando o frappe-bench. Leia as instruções detalhadas sobre como instalar usando o Frappe Bench. +A maneira mais fácil de instalar o frappe em um sistema baseado em Unix, é utilizando o frappe-bench. Leia as instruções detalhadas sobre como instalar usando o Frappé Bench. > [https://github.com/frappe/bench](https://github.com/frappe/bench) -Com Frappe Bench você será capaz de configurar e hospedar vários aplicativos e sites e vai também configurar um Virtualenv do Python de modo que você pode ter um ambiente isolado para executar seus aplicativos (e não terá conflito de versões com outros ambientes de desenvolvimento). +Com Frappé Bench você será capaz de configurar e hospedar vários aplicativos e sites e vai também configurar um Virtualenv do Python de modo que você pode ter um ambiente isolado para executar seus aplicativos (e não terá conflito de versões com outros ambientes de desenvolvimento). O `bench` ferramenta de linha de comando também será instalado, o que irá ajudá-lo no desenvolvimento e na gestão da instalação. {next} diff --git a/frappe/docs/user/pt/tutorial/conclusion.md b/frappe/docs/user/pt/tutorial/conclusion.md index 8163004eeb..a3b62d9a0d 100755 --- a/frappe/docs/user/pt/tutorial/conclusion.md +++ b/frappe/docs/user/pt/tutorial/conclusion.md @@ -1,6 +1,6 @@ # Conclusão -Esperamos que este tutorial lhe de uma visão geral de como as aplicações são desenvolvidas em Frappe. O objetivo era abordar brevemente os vários aspectos do desenvolvimento de aplicações e dar uma visão ampla. Para obter ajuda em questões específicas, olhe nossa API. +Esperamos que este tutorial lhe de uma visão geral de como as aplicações são desenvolvidas em Frappé. O objetivo era abordar brevemente os vários aspectos do desenvolvimento de aplicações e dar uma visão ampla. Para obter ajuda em questões específicas, olhe nossa API. Para obter ajuda, faça parte da comunidade no [canal de bate-papo no Gitter](https://gitter.im/frappe/erpnext) ou no [fórum de desenvolvedores](https://discuss.erpnext.com) diff --git a/frappe/docs/user/pt/tutorial/doctypes.md b/frappe/docs/user/pt/tutorial/doctypes.md index 666f550bca..5be3e534d4 100755 --- a/frappe/docs/user/pt/tutorial/doctypes.md +++ b/frappe/docs/user/pt/tutorial/doctypes.md @@ -45,7 +45,7 @@ Nós podemos adicionar os seguintes campos: #### Adicionando permissões -Depois de adicionar os campos, finalize e adicione uma nova linha na seção Regras de permissão. Por enquanto, vamos dar permissão de Read, Write, Create, Delete and Report, a **Librarian**. Frappe tem uma Role baseado nas permissões do modelo. Você também pode alterar as permissões posteriormente usando o **Role Permissions Manager** do **Setup**. +Depois de adicionar os campos, finalize e adicione uma nova linha na seção Regras de permissão. Por enquanto, vamos dar permissão de Read, Write, Create, Delete and Report, a **Librarian**. Frappé tem uma Role baseado nas permissões do modelo. Você também pode alterar as permissões posteriormente usando o **Role Permissions Manager** do **Setup**. Adding Permissions diff --git a/frappe/docs/user/pt/tutorial/index.md b/frappe/docs/user/pt/tutorial/index.md index 56f5817fc5..fad825afcf 100755 --- a/frappe/docs/user/pt/tutorial/index.md +++ b/frappe/docs/user/pt/tutorial/index.md @@ -1,6 +1,6 @@ -# Frappe Tutorial +# Frappé Tutorial -In this guide we will show you how to create an application from scratch using **Frappe**. Using the example of a Library Management System, we will cover: +In this guide we will show you how to create an application from scratch using **Frappé**. Using the example of a Library Management System, we will cover: 1. Installation 1. Making a New App @@ -12,9 +12,9 @@ In this guide we will show you how to create an application from scratch using * ## Who is This For? -This guide is intended for software developers who are familiar with how the web applications are built and served. Frappe Framework is built on Python and uses MariaDB database and for creating web views, HTML/CSS/Javascript is used. So it would be great if you are familiar with all these technologies. At minimum if you have never used Python before, you should take a quick tutorial before your use this Guide. +This guide is intended for software developers who are familiar with how the web applications are built and served. Frappé Framework is built on Python and uses MariaDB database and for creating web views, HTML/CSS/Javascript is used. So it would be great if you are familiar with all these technologies. At minimum if you have never used Python before, you should take a quick tutorial before your use this Guide. -Frappe uses the git version control system on GitHub. It is also important that you are familiar with basic git and have an account on GitHub to manage your applications. +Frappé uses the git version control system on GitHub. It is also important that you are familiar with basic git and have an account on GitHub to manage your applications. ## Example @@ -26,7 +26,7 @@ For this guide book, we will build a simple **Library Management** application. 1. Library Membership (A period in which a member is allowed to transact) 1. Library Management Setting (Global settings like period of loan) -The user interface (UI) for the librarian will be the **Frappe Desk**, a built-in browser based UI environment where forms are automatically generated from the models and roles and permissions are also applied. +The user interface (UI) for the librarian will be the **Frappé Desk**, a built-in browser based UI environment where forms are automatically generated from the models and roles and permissions are also applied. We will also create web views for library where users can browse articles from a website. diff --git a/frappe/docs/user/pt/tutorial/models.md b/frappe/docs/user/pt/tutorial/models.md index f31c5c9864..4b0d7ac9f0 100755 --- a/frappe/docs/user/pt/tutorial/models.md +++ b/frappe/docs/user/pt/tutorial/models.md @@ -1,6 +1,6 @@ # Criando modelos -O próximo passo é criar os modelos como discutimos na introdução. Em Frappe, os modelos são chamados **DocTypes**. Você pode criar novos doctypes atravez da interface do Desk. **DocTypes** são feitos de campos chamados **DocField** e de permissões com base nas permissões que são integrados nos modelos, estes são chamados **DocPerms**. +O próximo passo é criar os modelos como discutimos na introdução. Em Frappé, os modelos são chamados **DocTypes**. Você pode criar novos doctypes atravez da interface do Desk. **DocTypes** são feitos de campos chamados **DocField** e de permissões com base nas permissões que são integrados nos modelos, estes são chamados **DocPerms**. Quando um DocType é salvo, uma nova tabela é criada no banco de dados. Esta tabela é nomeado como `tab[doctype]`. diff --git a/frappe/docs/user/pt/tutorial/naming-and-linking.md b/frappe/docs/user/pt/tutorial/naming-and-linking.md index e92f656b55..b8a6dbe952 100755 --- a/frappe/docs/user/pt/tutorial/naming-and-linking.md +++ b/frappe/docs/user/pt/tutorial/naming-and-linking.md @@ -24,7 +24,7 @@ Isso pode ser definido através do preenchimento do campo **Autoname**. Para o c #### Vinculando e selecionando campos -As chaves estrangeiras são especificados no Frappe como um tipo de campo **Link**. O DocType alvo deve ser mencionado na área de Opções de texto. +As chaves estrangeiras são especificados no Frappé como um tipo de campo **Link**. O DocType alvo deve ser mencionado na área de Opções de texto. No nosso exemplo, na Library Transaction DocType, temos que ligar o Membro da Biblioteca e o artigo. diff --git a/frappe/docs/user/pt/tutorial/new-app.md b/frappe/docs/user/pt/tutorial/new-app.md index 1390f60766..56027e640a 100755 --- a/frappe/docs/user/pt/tutorial/new-app.md +++ b/frappe/docs/user/pt/tutorial/new-app.md @@ -7,7 +7,7 @@ Para criar uma nova aplicação, vá para a pasta do bench e execute, `bench new $ bench new-app library_management App Title (defaut: Lib Mgt): Library Management App Description: App for managing Articles, Members, Memberships and Transactions for Libraries - App Publisher: Frappe + App Publisher: Frappé App Email: info@frappe.io App Icon (default 'octicon octicon-file-directory'): octicon octicon-book App Color (default 'grey'): #589494 @@ -44,11 +44,11 @@ O aplicativo será criado em uma pasta chamada `library_management` e terá a se 1. `config` pasta que contém as informações de configuração do aplicativo 1. `desktop.py` é onde os ícones da área de trabalho pode ser adicionado ao Desk 1. `hooks.py` é onde integrações com o ambiente da aplicação e outras aplicações é mencionada. -1. `library_management` (Interior) é um **módulo** que foi criado. Em Frappe, um **módulo** é onde os arquivos do modelo e do controlador residem. +1. `library_management` (Interior) é um **módulo** que foi criado. Em Frappé, um **módulo** é onde os arquivos do modelo e do controlador residem. 1. `modules.txt` contém a lista dos **módulos** do aplicativo. Quando você cria um novo módulo, é necessário que você atualize este arquivo. 1. `patches.txt` é o lugar onde os patches de migração são escritos. Eles são referências de módulos Python utilizando a notação de ponto. 1. `templates` é a pasta onde os modelos de web view são mantidos. Modelos para **Login** e outras páginas padrão são criadas pelo frappe. -1. `generators` é onde os templates para os modelos são mantidas, onde cada instância de modelo tem uma rota web separada, por exemplo, um **Post de um Blog**, onde cada post tem a sua única url web. Em Frappe, o mecanismo de modelagem utilizada é o Jinja2 +1. `generators` é onde os templates para os modelos são mantidas, onde cada instância de modelo tem uma rota web separada, por exemplo, um **Post de um Blog**, onde cada post tem a sua única url web. Em Frappé, o mecanismo de modelagem utilizada é o Jinja2 1. `pages` É onde uma única rota para os modelos são mantidas. Por exemplo, para um "/blog" tipo da página. {next} diff --git a/frappe/docs/user/pt/tutorial/setting-up-the-site.md b/frappe/docs/user/pt/tutorial/setting-up-the-site.md index 90f499c9c7..e6fa9f40a4 100755 --- a/frappe/docs/user/pt/tutorial/setting-up-the-site.md +++ b/frappe/docs/user/pt/tutorial/setting-up-the-site.md @@ -19,7 +19,7 @@ Vamos criar um novo site e chamá-lo de `library`. Você pode instalar um novo site, pelo comando `bench new-site library` -Isto irá criar uma nova pasta para o site e um banco de dados e instalar o `frappe` (que também é uma aplicação!) No novo site. A aplicação `frappe` tem dois módulos embutidos **Core** e **WebSite**. O módulo de Core contém os modelos básicos para a aplicação. Frappe é uma estrutura como as pilhas e vem com um monte de modelos internos. Estes modelos são chamados doctypes **Mais sobre isso mais tarde**. +Isto irá criar uma nova pasta para o site e um banco de dados e instalar o `frappe` (que também é uma aplicação!) No novo site. A aplicação `frappe` tem dois módulos embutidos **Core** e **WebSite**. O módulo de Core contém os modelos básicos para a aplicação. Frappé é uma estrutura como as pilhas e vem com um monte de modelos internos. Estes modelos são chamados doctypes **Mais sobre isso mais tarde**. $ bench new-site library MySQL root password: diff --git a/frappe/docs/user/pt/tutorial/single-doctypes.md b/frappe/docs/user/pt/tutorial/single-doctypes.md index 3d1f869083..41f218e2b5 100755 --- a/frappe/docs/user/pt/tutorial/single-doctypes.md +++ b/frappe/docs/user/pt/tutorial/single-doctypes.md @@ -1,6 +1,6 @@ # Single DocTypes -A aplicação irá normalmente têm uma página de configurações. Em nossa aplicação, podemos definir uma página onde podemos definir o período de empréstimo. Também precisamos salvar esta propriedade. Em Frappe, isso pode ser feito usando um tipo DocType **Single** . Um DocType Single é como o padrão Singleton em Java. É um objecto com uma única instância. Vamos chamar isso de **Library Managment Settings**. +A aplicação irá normalmente têm uma página de configurações. Em nossa aplicação, podemos definir uma página onde podemos definir o período de empréstimo. Também precisamos salvar esta propriedade. Em Frappé, isso pode ser feito usando um tipo DocType **Single** . Um DocType Single é como o padrão Singleton em Java. É um objecto com uma única instância. Vamos chamar isso de **Library Managment Settings**. Para criar um DocType Single, marque a propriedade **Is Single** como verdadeira. diff --git a/frappe/docs/user/pt/tutorial/start.md b/frappe/docs/user/pt/tutorial/start.md index da3a81b6b7..80504b58f8 100755 --- a/frappe/docs/user/pt/tutorial/start.md +++ b/frappe/docs/user/pt/tutorial/start.md @@ -26,6 +26,6 @@ Quando voce logar, voce deverá ver o "Desk" da pagine home Desk -Como você pode ver, o básico do sistema Frappe vem com vários aplicativos pré-carregados como coisas a fazer, o Gerenciador de arquivos etc. Esses aplicativos podem ser integrados no fluxo de trabalho do app à medida que progredimos. +Como você pode ver, o básico do sistema Frappé vem com vários aplicativos pré-carregados como coisas a fazer, o Gerenciador de arquivos etc. Esses aplicativos podem ser integrados no fluxo de trabalho do app à medida que progredimos. {next} diff --git a/frappe/docs/user/pt/tutorial/task-runner.md b/frappe/docs/user/pt/tutorial/task-runner.md index c0f696410f..9d514eb151 100755 --- a/frappe/docs/user/pt/tutorial/task-runner.md +++ b/frappe/docs/user/pt/tutorial/task-runner.md @@ -1,6 +1,6 @@ # Tarefas agendadas -Finalmente, uma aplicação também tem que enviar notificações de e-mail e fazer outros tipos de tarefas agendadas. Em Frappe, se você instalou o bench, o task / scheduler foi instalado via Celery usando Redis Queue. +Finalmente, uma aplicação também tem que enviar notificações de e-mail e fazer outros tipos de tarefas agendadas. Em Frappé, se você instalou o bench, o task / scheduler foi instalado via Celery usando Redis Queue. Para adicionar um novo task handler, vá para `hooks.py` e adicione um novo handler. Handlers padrão são os `all`,` daily`, `weekly`,` monthly`. O handler `all` é chamado a cada 3 minutos por padrão. @@ -15,7 +15,7 @@ Para adicionar um novo task handler, vá para `hooks.py` e adicione um novo hand Aqui podemos apontar para uma função Python e esta função será executada todos os dias. Vejamos como é essa função: - # Copyright (c) 2013, Frappe + # Copyright (c) 2013, Frappé # For license information, please see license.txt from __future__ import unicode_literals diff --git a/frappe/docs/user/pt/tutorial/users-and-records.md b/frappe/docs/user/pt/tutorial/users-and-records.md index 8eb1052f3d..f581f13e59 100755 --- a/frappe/docs/user/pt/tutorial/users-and-records.md +++ b/frappe/docs/user/pt/tutorial/users-and-records.md @@ -1,6 +1,6 @@ # Fazendo Usuários e Registros -Agora que já criamos os modelos, podemos começar diretamente criando registros usando a interface Desk do Frappe. Você não precisa criar Views! Views no Frappe são geradas automaticamente com base nas propriedades do DocType. +Agora que já criamos os modelos, podemos começar diretamente criando registros usando a interface Desk do Frappé. Você não precisa criar Views! Views no Frappé são geradas automaticamente com base nas propriedades do DocType. ### 4.1 Criando Usuarios diff --git a/frappe/docs/user/pt/tutorial/web-views.md b/frappe/docs/user/pt/tutorial/web-views.md index 8547ec7204..ec1be924b6 100755 --- a/frappe/docs/user/pt/tutorial/web-views.md +++ b/frappe/docs/user/pt/tutorial/web-views.md @@ -1,8 +1,8 @@ # Web Views -Frappe tem dois ambientes de usuário principais, o Desk e o Web. Desk é um ambiente UI controlado com uma rica aplicação AJAX e a web usa template HTML tradicional que serve para consumo público. Web Views também podem ser gerados para criar views mais controladas para os usuários que pode fazer o login mas ainda não têm acesso à Desk. +Frappé tem dois ambientes de usuário principais, o Desk e o Web. Desk é um ambiente UI controlado com uma rica aplicação AJAX e a web usa template HTML tradicional que serve para consumo público. Web Views também podem ser gerados para criar views mais controladas para os usuários que pode fazer o login mas ainda não têm acesso à Desk. -Em Frappe, Web Views são geridas por modelos e eles geralmente estão na pasta `templates`. Existem 2 tipos principais de templates. +Em Frappé, Web Views são geridas por modelos e eles geralmente estão na pasta `templates`. Existem 2 tipos principais de templates. 1. Pages: Estes são Jinja Templates, onde existe uma única view para uma única rota web, por exemplo, `/blog`. 2. Generators: Estes são templates em que cada instância de um DocType tem uma rota web separada `/blog/a-blog`, `blog/b-blog` etc. @@ -50,7 +50,7 @@ A List View atualizada se parece com isso! #### Home Page -Frappe também tem um fluxo de trabalho de inscrição built-in que também inclui inscrições de terceiros via Google, Facebook e GitHub. Quando um usuário se inscreve na web, ele não tem acesso à interface Desk por padrão. +Frappé também tem um fluxo de trabalho de inscrição built-in que também inclui inscrições de terceiros via Google, Facebook e GitHub. Quando um usuário se inscreve na web, ele não tem acesso à interface Desk por padrão. > Para permitir o acesso do usuário ao Desk, abra as configurações pelo Setup > User e defina o usuário como "System User" diff --git a/frappe/templates/autodoc/docs_home.html b/frappe/templates/autodoc/docs_home.html deleted file mode 100644 index 9d38b0605b..0000000000 --- a/frappe/templates/autodoc/docs_home.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -{% if app.headline %} -

{{ app.headline }}

-{% endif %} -{% if app.sub_heading %} -

{{ app.sub_heading }}

-{% endif %} - -{% if app.long_description %} -{{ app.long_description|markdown }} -{% endif %} - - - diff --git a/frappe/templates/autodoc/install.md b/frappe/templates/autodoc/install.md index 63d2a17a38..f71b8d453d 100644 --- a/frappe/templates/autodoc/install.md +++ b/frappe/templates/autodoc/install.md @@ -2,11 +2,11 @@ # Installation -{{ app.title }} is based on the Frappe Framework, a full stack web framework based on Python, MariaDB, Redis, Node. +{{ app.title }} is based on the Frappé Framework, a full stack web framework based on Python, MariaDB, Redis, Node. -To intall {{ app.title }}, you will have to install the Frappe Bench, the command-line, package manager and site manager for Frappe Framework. For more details, read the Bench README. +To intall {{ app.title }}, you will have to install the Frappé Bench, the command-line, package manager and site manager for Frappé Framework. For more details, read the Bench README. -After you have installed Frappe Bench, go to you bench folder, which is `frappe.bench` by default and setup **{{ app.name }}**. +After you have installed Frappé Bench, go to you bench folder, which is `frappe.bench` by default and setup **{{ app.name }}**. bench get-app {{ app.name }} {{ source_link }} diff --git a/frappe/utils/setup_docs.py b/frappe/utils/setup_docs.py index 08092c472f..6575858939 100644 --- a/frappe/utils/setup_docs.py +++ b/frappe/utils/setup_docs.py @@ -7,10 +7,8 @@ Call from command line: """ from __future__ import unicode_literals, print_function -import os, json, frappe, shutil, re -from frappe.website.context import get_context +import os, json, frappe, shutil from frappe.utils import markdown -from six import iteritems class setup_docs(object): def __init__(self, app, target_app): @@ -39,16 +37,9 @@ class setup_docs(object): "publisher": self.hooks.get("app_publisher")[0], "icon": self.hooks.get("app_icon")[0], "email": self.hooks.get("app_email")[0], - "headline": self.docs_config.headline, - "brand_html": getattr(self.docs_config, 'brand_html', None), - "sub_heading": self.docs_config.sub_heading, "source_link": self.docs_config.source_link, - "hide_install": getattr(self.docs_config, "hide_install", False), - "long_description": markdown(getattr(self.docs_config, "long_description", "")), "license": self.hooks.get("app_license")[0], "branch": getattr(self.docs_config, "branch", None) or "develop", - "style": getattr(self.docs_config, "style", ""), - "google_analytics_id": getattr(self.docs_config, "google_analytics_id", "") }), "metatags": { "description": self.hooks.get("app_description")[0], @@ -135,15 +126,14 @@ class setup_docs(object): shutil.copytree(os.path.join(self.app_path, 'docs', 'assets'), frappe.get_app_path(self.target_app, 'www', 'docs', 'assets')) + # copy index + shutil.copy(os.path.join(self.app_path, 'docs', 'index.md'), + frappe.get_app_path(self.target_app, 'www', 'docs')) + def make_home_pages(self): """Make standard home pages for docs, developer docs, api and models from templates""" # make dev home page - with open(os.path.join(self.docs_path, "index.html"), "w") as home: - home.write(frappe.render_template("templates/autodoc/docs_home.html", - self.app_context)) - - # make dev home page with open(os.path.join(self.path, "index.html"), "w") as home: home.write(frappe.render_template("templates/autodoc/dev_home.html", self.app_context)) @@ -196,26 +186,6 @@ class setup_docs(object): self.update_index_txt(self.docs_path) - def make_docs(self, target, local = False): - self.target = target - self.local = local - - frappe.flags.local_docs = local - - if self.local: - self.docs_base_url = "" - else: - self.docs_base_url = self.docs_config.docs_base_url - - # add for processing static files (full-index) - frappe.local.docs_base_url = self.docs_base_url - - # write in target path - self.write_files() - - # copy assets/js, assets/css, assets/img - self.copy_assets() - def is_py_module(self, basepath, folders, files): return "__init__.py" in files \ and (not "/doctype" in basepath) \ @@ -312,175 +282,6 @@ class setup_docs(object): f.write(frappe.render_template("templates/autodoc/doctype.html", context).encode("utf-8")) - def write_files(self): - """render templates and write files to target folder""" - frappe.flags.home_page = "index" - - from frappe.website.router import get_pages, make_toc - pages = get_pages(self.app) - - # clear the user, current folder in target - shutil.rmtree(os.path.join(self.target, "user"), ignore_errors=True) - shutil.rmtree(os.path.join(self.target, "current"), ignore_errors=True) - - def raw_replacer(matchobj): - if '{% raw %}' in matchobj.group(0): - return matchobj.group(0) - else: - return '{% raw %}' + matchobj.group(0) + '{% endraw %}' - - cnt = 0 - for path, context in iteritems(pages): - print("Writing {0}".format(path)) - - # set this for get_context / website libs - frappe.local.path = path - - context.update({ - "page_links_with_extn": True, - "relative_links": True, - "docs_base_url": self.docs_base_url, - "url_prefix": self.docs_base_url, - }) - - context.update(self.app_context) - - context = get_context(path, context) - - if context.basename: - target_path_fragment = context.route + '.html' - else: - # index.html - target_path_fragment = context.route + '/index.html' - - target_filename = os.path.join(self.target, target_path_fragment.strip('/')) - - context.brand_html = context.app.brand_html - context.top_bar_items = context.favicon = None - - self.docs_config.get_context(context) - - if not context.brand_html: - if context.docs_icon: - context.brand_html = ' {1}'.format(context.docs_icon, context.app.title) - else: - context.brand_html = context.app.title - - if not context.top_bar_items: - context.top_bar_items = [ - # {"label": "Contents", "url": self.docs_base_url + "/contents.html", "right": 1}, - {"label": "User Guide", "url": self.docs_base_url + "/user", "right": 1}, - {"label": "Developer Docs", "url": self.docs_base_url + "/current", "right": 1}, - ] - - context.top_bar_items = [{"label": '', "url": "#", - "right": 1}] + context.top_bar_items - - context.parents = [] - parent_route = os.path.dirname(context.route) - if pages[parent_route]: - context.parents = [pages[parent_route]] - - context.only_static = True - context.base_template_path = "templates/autodoc/base_template.html" - - if '' in context.source: - context.source = re.sub('\(.*)\', raw_replacer, context.source) - - html = frappe.render_template(context.source, context) - - html = make_toc(context, html, self.app) - - if not "" in html: - html = html.replace('', - edit_link.format(\ - source_link = self.docs_config.source_link, - app_name = self.app, - branch = context.app.branch, - target = context.template)) - - if not os.path.exists(os.path.dirname(target_filename)): - os.makedirs(os.path.dirname(target_filename)) - - with open(target_filename, "w") as htmlfile: - htmlfile.write(html.encode("utf-8")) - - cnt += 1 - - print("Wrote {0} files".format(cnt)) - - - def copy_assets(self): - """Copy jquery, bootstrap and other assets to files""" - - print("Copying assets...") - assets_path = os.path.join(self.target, "assets") - - # copy assets from docs - source_assets = frappe.get_app_path(self.app, "docs", "assets") - if os.path.exists(source_assets): - for basepath, folders, files in os.walk(source_assets): - target_basepath = os.path.join(assets_path, os.path.relpath(basepath, source_assets)) - - # make the base folder - if not os.path.exists(target_basepath): - os.makedirs(target_basepath) - - # copy all files in the current folder - for f in files: - shutil.copy(os.path.join(basepath, f), os.path.join(target_basepath, f)) - - # make missing folders - for fname in ("js", "css", "img"): - path = os.path.join(assets_path, fname) - if not os.path.exists(path): - os.makedirs(path) - - copy_files = { - "js/lib/jquery/jquery.min.js": "js/jquery.min.js", - "js/lib/bootstrap.min.js": "js/bootstrap.min.js", - "js/lib/highlight.pack.js": "js/highlight.pack.js", - "js/docs.js": "js/docs.js", - "css/bootstrap.css": "css/bootstrap.css", - "css/font-awesome.css": "css/font-awesome.css", - "css/docs.css": "css/docs.css", - "css/hljs.css": "css/hljs.css", - "css/fonts": "css/fonts", - "css/octicons": "css/octicons", - # always overwrite octicons.css to fix the path - "css/octicons/octicons.css": "css/octicons/octicons.css", - "images/frappe-bird-grey.svg": "img/frappe-bird-grey.svg", - "images/favicon.png": "img/favicon.png", - "images/background.png": "img/background.png", - "images/smiley.png": "img/smiley.png", - "images/up.png": "img/up.png" - } - - for source, target in iteritems(copy_files): - source_path = frappe.get_app_path("frappe", "public", source) - if os.path.isdir(source_path): - if not os.path.exists(os.path.join(assets_path, target)): - shutil.copytree(source_path, os.path.join(assets_path, target)) - else: - shutil.copy(source_path, os.path.join(assets_path, target)) - - # fix path for font-files, background - files = ( - os.path.join(assets_path, "css", "octicons", "octicons.css"), - os.path.join(assets_path, "css", "font-awesome.css"), - os.path.join(assets_path, "css", "docs.css"), - ) - - for path in files: - with open(path, "r") as css_file: - text = unicode(css_file.read(), 'utf-8') - with open(path, "w") as css_file: - if "docs.css" in path: - css_file.write(text.replace("/assets/img/", - self.docs_base_url + '/assets/img/').encode('utf-8')) - else: - css_file.write(text.replace("/assets/frappe/", self.docs_base_url + '/assets/').encode('utf-8')) - def get_version(app="frappe"): try: return frappe.get_attr(app + ".__version__") diff --git a/hooks.md b/hooks.md index 5ff70471c9..3e394f68a1 100644 --- a/hooks.md +++ b/hooks.md @@ -3,7 +3,7 @@ #### Application Name and Details 1. `app_name` - slugified name e.g. "frappe" -1. `app_title` - full title name e.g. "Frappe" +1. `app_title` - full title name e.g. "Frappé" 1. `app_publisher` 1. `app_description` 1. `app_version`