Sfoglia il codice sorgente

[docs] simplified docs home

version-14
Rushabh Mehta 7 anni fa
parent
commit
ece91d903c
100 ha cambiato i file con 232 aggiunte e 239 eliminazioni
  1. +1
    -1
      ISSUE_TEMPLATE.md
  2. +2
    -2
      README.md
  3. +1
    -1
      attributions.md
  4. +1
    -1
      frappe/change_log/v7/v7_2_0.md
  5. +3
    -4
      frappe/commands/docs.py
  6. +0
    -31
      frappe/config/docs.py
  7. +25
    -0
      frappe/docs/index.md
  8. +2
    -2
      frappe/docs/user/en/bench/guides/manual-setup.md
  9. +1
    -1
      frappe/docs/user/en/bench/guides/settings-limits.md
  10. +1
    -1
      frappe/docs/user/en/bench/guides/setup-production.md
  11. +3
    -3
      frappe/docs/user/en/bench/resources/background-services.md
  12. +2
    -2
      frappe/docs/user/en/guides/app-development/custom-module-icon.md
  13. +1
    -1
      frappe/docs/user/en/guides/app-development/dialogs-types.md
  14. +1
    -1
      frappe/docs/user/en/guides/app-development/generating-docs.md
  15. +1
    -1
      frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md
  16. +1
    -1
      frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md
  17. +1
    -1
      frappe/docs/user/en/guides/app-development/running-background-jobs.md
  18. +1
    -1
      frappe/docs/user/en/guides/app-development/single-type-doctype.md
  19. +2
    -2
      frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md
  20. +1
    -1
      frappe/docs/user/en/guides/automated-testing/qunit-testing.md
  21. +3
    -3
      frappe/docs/user/en/guides/automated-testing/unit-testing.md
  22. +5
    -5
      frappe/docs/user/en/guides/basics/apps.md
  23. +2
    -2
      frappe/docs/user/en/guides/basics/frappe_ajax_call.md
  24. +7
    -7
      frappe/docs/user/en/guides/basics/hooks.md
  25. +4
    -4
      frappe/docs/user/en/guides/basics/install.md
  26. +1
    -1
      frappe/docs/user/en/guides/basics/site_config.md
  27. +5
    -5
      frappe/docs/user/en/guides/basics/sites.md
  28. +1
    -1
      frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md
  29. +3
    -3
      frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md
  30. +4
    -4
      frappe/docs/user/en/guides/deployment/migrations.md
  31. +1
    -1
      frappe/docs/user/en/guides/desk/index.md
  32. +1
    -1
      frappe/docs/user/en/guides/desk/making_charts_in_c3js.md
  33. +1
    -1
      frappe/docs/user/en/guides/desk/making_graphs.md
  34. +1
    -1
      frappe/docs/user/en/guides/index.md
  35. +2
    -2
      frappe/docs/user/en/guides/integration/how_to_setup_oauth.md
  36. +11
    -11
      frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md
  37. +2
    -2
      frappe/docs/user/en/guides/integration/rest_api.md
  38. +1
    -1
      frappe/docs/user/en/guides/integration/using_oauth.md
  39. +1
    -1
      frappe/docs/user/en/guides/portal-development/index.md
  40. +1
    -1
      frappe/docs/user/en/index.md
  41. +3
    -3
      frappe/docs/user/en/tutorial/app.md
  42. +5
    -5
      frappe/docs/user/en/tutorial/before.md
  43. +3
    -3
      frappe/docs/user/en/tutorial/bench.md
  44. +1
    -1
      frappe/docs/user/en/tutorial/conclusion.md
  45. +1
    -1
      frappe/docs/user/en/tutorial/doctypes.md
  46. +5
    -5
      frappe/docs/user/en/tutorial/index.md
  47. +1
    -1
      frappe/docs/user/en/tutorial/models.md
  48. +1
    -1
      frappe/docs/user/en/tutorial/naming-and-linking.md
  49. +3
    -3
      frappe/docs/user/en/tutorial/new-app.md
  50. +1
    -1
      frappe/docs/user/en/tutorial/setting-up-the-site.md
  51. +1
    -1
      frappe/docs/user/en/tutorial/single-doctypes.md
  52. +1
    -1
      frappe/docs/user/en/tutorial/start.md
  53. +2
    -2
      frappe/docs/user/en/tutorial/task-runner.md
  54. +1
    -1
      frappe/docs/user/en/tutorial/users-and-records.md
  55. +3
    -3
      frappe/docs/user/en/tutorial/web-views.md
  56. +2
    -2
      frappe/docs/user/en/videos/index.md
  57. +3
    -3
      frappe/docs/user/es/bench/guides/manual-setup.md
  58. +1
    -1
      frappe/docs/user/es/bench/guides/settings-limits.md
  59. +1
    -1
      frappe/docs/user/es/bench/guides/setup-production.md
  60. +3
    -3
      frappe/docs/user/es/bench/resources/background-services.md
  61. +1
    -1
      frappe/docs/user/es/index.md
  62. +4
    -4
      frappe/docs/user/es/tutorial/app.md
  63. +4
    -4
      frappe/docs/user/es/tutorial/before.md
  64. +3
    -3
      frappe/docs/user/es/tutorial/bench.md
  65. +1
    -1
      frappe/docs/user/es/tutorial/conclusion.md
  66. +1
    -1
      frappe/docs/user/es/tutorial/doctypes.md
  67. +5
    -5
      frappe/docs/user/es/tutorial/index.md
  68. +1
    -1
      frappe/docs/user/es/tutorial/models.md
  69. +1
    -1
      frappe/docs/user/es/tutorial/naming-and-linking.md
  70. +4
    -4
      frappe/docs/user/es/tutorial/new-app.md
  71. +1
    -1
      frappe/docs/user/es/tutorial/setting-up-the-site.md
  72. +1
    -1
      frappe/docs/user/es/tutorial/single-doctypes.md
  73. +1
    -1
      frappe/docs/user/es/tutorial/start.md
  74. +2
    -2
      frappe/docs/user/es/tutorial/task-runner.md
  75. +1
    -1
      frappe/docs/user/es/tutorial/users-and-records.md
  76. +3
    -3
      frappe/docs/user/es/tutorial/web-views.md
  77. +2
    -2
      frappe/docs/user/es/videos/index.md
  78. +1
    -1
      frappe/docs/user/fr/index.md
  79. +4
    -4
      frappe/docs/user/fr/tutorial/app.md
  80. +3
    -3
      frappe/docs/user/fr/tutorial/before.md
  81. +3
    -3
      frappe/docs/user/fr/tutorial/bench.md
  82. +1
    -1
      frappe/docs/user/fr/tutorial/conclusion.md
  83. +1
    -1
      frappe/docs/user/fr/tutorial/doctypes.md
  84. +5
    -5
      frappe/docs/user/fr/tutorial/index.md
  85. +1
    -1
      frappe/docs/user/fr/tutorial/models.md
  86. +1
    -1
      frappe/docs/user/fr/tutorial/naming-and-linking.md
  87. +4
    -4
      frappe/docs/user/fr/tutorial/new-app.md
  88. +1
    -1
      frappe/docs/user/fr/tutorial/setting-up-the-site.md
  89. +1
    -1
      frappe/docs/user/fr/tutorial/single-doctypes.md
  90. +1
    -1
      frappe/docs/user/fr/tutorial/start.md
  91. +2
    -2
      frappe/docs/user/fr/tutorial/task-runner.md
  92. +1
    -1
      frappe/docs/user/fr/tutorial/users-and-records.md
  93. +3
    -3
      frappe/docs/user/fr/tutorial/web-views.md
  94. +1
    -1
      frappe/docs/user/index.md
  95. +1
    -1
      frappe/docs/user/pt/index.md
  96. +3
    -3
      frappe/docs/user/pt/tutorial/app.md
  97. +3
    -3
      frappe/docs/user/pt/tutorial/before.md
  98. +3
    -3
      frappe/docs/user/pt/tutorial/bench.md
  99. +1
    -1
      frappe/docs/user/pt/tutorial/conclusion.md
  100. +1
    -1
      frappe/docs/user/pt/tutorial/doctypes.md

+ 1
- 1
ISSUE_TEMPLATE.md Vedi File

@@ -6,4 +6,4 @@

1.

Frappe version:
Frappé version:

+ 2
- 2
README.md Vedi File

@@ -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



+ 1
- 1
attributions.md Vedi File

@@ -1,4 +1,4 @@
## Frappe framework includes these public works
## Frappé framework includes these public works

### Javascript / CSS



+ 1
- 1
frappe/change_log/v7/v7_2_0.md Vedi File

@@ -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


+ 3
- 4
frappe/commands/docs.py Vedi File

@@ -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)


+ 0
- 31
frappe/config/docs.py Vedi File

@@ -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 = ('<img class="brand-logo" src="'+context.docs_base_url
+'/assets/img/frappe-bird-white.png"> Frappé Framework</img>')
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}
]

+ 25
- 0
frappe/docs/index.md Vedi File

@@ -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).

+ 2
- 2
frappe/docs/user/en/bench/guides/manual-setup.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/bench/guides/settings-limits.md Vedi File

@@ -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.

{


+ 1
- 1
frappe/docs/user/en/bench/guides/setup-production.md Vedi File

@@ -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


+ 3
- 3
frappe/docs/user/en/bench/resources/background-services.md Vedi File

@@ -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.

+ 2
- 2
frappe/docs/user/en/guides/app-development/custom-module-icon.md Vedi File

@@ -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"
}
}


+ 1
- 1
frappe/docs/user/en/guides/app-development/dialogs-types.md Vedi File

@@ -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



+ 1
- 1
frappe/docs/user/en/guides/app-development/generating-docs.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/guides/app-development/how-enable-developer-mode-in-frappe.md Vedi File

@@ -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**.



+ 1
- 1
frappe/docs/user/en/guides/app-development/how-to-create-custom-fields-during-app-installation.md Vedi File

@@ -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"`



+ 1
- 1
frappe/docs/user/en/guides/app-development/running-background-jobs.md Vedi File

@@ -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,



+ 1
- 1
frappe/docs/user/en/guides/app-development/single-type-doctype.md Vedi File

@@ -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**
In Frappé, Single types are **System Settings** and **Customize Form**

+ 2
- 2
frappe/docs/user/en/guides/app-development/using-html-templates-in-javascript.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/guides/automated-testing/qunit-testing.md Vedi File

@@ -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/)



+ 3
- 3
frappe/docs/user/en/guides/automated-testing/unit-testing.md Vedi File

@@ -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


+ 5
- 5
frappe/docs/user/en/guides/basics/apps.md Vedi File

@@ -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


+ 2
- 2
frappe/docs/user/en/guides/basics/frappe_ajax_call.md Vedi File

@@ -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



+ 7
- 7
frappe/docs/user/en/guides/basics/hooks.md Vedi File

@@ -1,14 +1,14 @@
# Hooks
<!-- TODO: Add tables for quick reference -->

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


+ 4
- 4
frappe/docs/user/en/guides/basics/install.md Vedi File

@@ -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/)

+ 1
- 1
frappe/docs/user/en/guides/basics/site_config.md Vedi File

@@ -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"`.


+ 5
- 5
frappe/docs/user/en/guides/basics/sites.md Vedi File

@@ -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.


+ 1
- 1
frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md Vedi File

@@ -2,7 +2,7 @@

<!-- markdown -->

<p>Frappe handles failure of jobs in the following way,</p><p>1) If a job fails, (raises exception), it's logged in Scheduler Log and&nbsp; <code>logs/worker.error.log</code>.<br>2) Keeps a lock file and would not run anymore if lock file is there.<br>3) Raises LockTimeoutError in case the lock file is more than 10 minutes old.</p>
<p>Frappé handles failure of jobs in the following way,</p><p>1) If a job fails, (raises exception), it's logged in Scheduler Log and&nbsp; <code>logs/worker.error.log</code>.<br>2) Keeps a lock file and would not run anymore if lock file is there.<br>3) Raises LockTimeoutError in case the lock file is more than 10 minutes old.</p>

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



+ 3
- 3
frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md Vedi File

@@ -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
<img class="screenshot" alt="Login screen with Social Logins enabled" src="/docs/assets/img/social-logins.png">

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.



+ 4
- 4
frappe/docs/user/en/guides/deployment/migrations.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/en/guides/desk/index.md Vedi File

@@ -1,5 +1,5 @@
# Desk Customization

Articles related to customization of Frappe Desk
Articles related to customization of Frappé Desk

{index}

+ 1
- 1
frappe/docs/user/en/guides/desk/making_charts_in_c3js.md Vedi File

@@ -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



+ 1
- 1
frappe/docs/user/en/guides/desk/making_graphs.md Vedi File

@@ -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:


+ 1
- 1
frappe/docs/user/en/guides/index.md Vedi File

@@ -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.



+ 2
- 2
frappe/docs/user/en/guides/integration/how_to_setup_oauth.md Vedi File

@@ -1,6 +1,6 @@
# How to setup oauth?

<a href="https://tools.ietf.org/html/rfc6749">OAuth 2.0</a> provider based on <a href="https://github.com/idan/oauthlib">oauthlib</a> 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
<a href="https://tools.ietf.org/html/rfc6749">OAuth 2.0</a> provider based on <a href="https://github.com/idan/oauthlib">oauthlib</a> 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.



+ 11
- 11
frappe/docs/user/en/guides/integration/openid_connect_and_frappe_social_login.md Vedi File

@@ -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
<img class="screenshot" src="/docs/assets/img/00-login-to-idp.png">
@@ -48,12 +48,12 @@ Add OAuth Client on IDP
Set Server URL on IDP
<img class="screenshot" src="/docs/assets/img/02-set-server-url-on-idp.png">

### 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)
<img class="screenshot" src="/docs/assets/img/03-set-clientid-client-secret-server-on-app-server.png">

**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)
<img class="screenshot" src="/docs/assets/img/04-login-screen-on-app-server.png">


+ 2
- 2
frappe/docs/user/en/guides/integration/rest_api.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/en/guides/integration/using_oauth.md Vedi File

@@ -106,4 +106,4 @@ status : 400

### Accessing Resource

Add header `Authorizaton: Bearer <valid_bearer_token>` to Frappe's REST API endpoints to access user's resource
Add header `Authorizaton: Bearer <valid_bearer_token>` to Frappé's REST API endpoints to access user's resource

+ 1
- 1
frappe/docs/user/en/guides/portal-development/index.md Vedi File

@@ -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



+ 1
- 1
frappe/docs/user/en/index.md Vedi File

@@ -1,3 +1,3 @@
# Develop Apps with Frappe
# Develop Apps with Frappé

{index}

+ 3
- 3
frappe/docs/user/en/tutorial/app.md Vedi File

@@ -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}

+ 5
- 5
frappe/docs/user/en/tutorial/before.md Vedi File

@@ -1,12 +1,12 @@
# Before You Start

<p class="lead">A list of resources to help you get started with building apps using Frappe</p>
<p class="lead">A list of resources to help you get started with building apps using Frappé</p>

---

#### 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é.


+ 3
- 3
frappe/docs/user/en/tutorial/bench.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/tutorial/conclusion.md Vedi File

@@ -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)


+ 1
- 1
frappe/docs/user/en/tutorial/doctypes.md Vedi File

@@ -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**.

<img class="screenshot" alt="Adding Permissions" src="/docs/assets/img/doctype_adding_permission.png">



+ 5
- 5
frappe/docs/user/en/tutorial/index.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/tutorial/models.md Vedi File

@@ -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]`.



+ 1
- 1
frappe/docs/user/en/tutorial/naming-and-linking.md Vedi File

@@ -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.



+ 3
- 3
frappe/docs/user/en/tutorial/new-app.md Vedi File

@@ -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}

+ 1
- 1
frappe/docs/user/en/tutorial/setting-up-the-site.md Vedi File

@@ -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:


+ 1
- 1
frappe/docs/user/en/tutorial/single-doctypes.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/en/tutorial/start.md Vedi File

@@ -26,6 +26,6 @@ When you login, you should see the "Desk" home page

<img class="screenshot" alt="Desk" src="/docs/assets/img/desk.png">

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}

+ 2
- 2
frappe/docs/user/en/tutorial/task-runner.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/en/tutorial/users-and-records.md Vedi File

@@ -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



+ 3
- 3
frappe/docs/user/en/tutorial/web-views.md Vedi File

@@ -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"



+ 2
- 2
frappe/docs/user/en/videos/index.md Vedi File

@@ -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: <a href="/docs/user/en/tutorial/before.html" target="_blank">You must have some understanding of Python, Javascript and MySQL before you start this tutorial.</a>



+ 3
- 3
frappe/docs/user/es/bench/guides/manual-setup.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/es/bench/guides/settings-limits.md Vedi File

@@ -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.

{


+ 1
- 1
frappe/docs/user/es/bench/guides/setup-production.md Vedi File

@@ -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.


+ 3
- 3
frappe/docs/user/es/bench/resources/background-services.md Vedi File

@@ -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.

+ 1
- 1
frappe/docs/user/es/index.md Vedi File

@@ -1,3 +1,3 @@
# Desarrollo de aplicaciones con Frappe
# Desarrollo de aplicaciones con Frappé

{index}

+ 4
- 4
frappe/docs/user/es/tutorial/app.md Vedi File

@@ -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}

+ 4
- 4
frappe/docs/user/es/tutorial/before.md Vedi File

@@ -1,12 +1,12 @@
# Antes de empezar

<p class="lead">Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappe.</p>
<p class="lead">Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappé.</p>

---

#### 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é.

+ 3
- 3
frappe/docs/user/es/tutorial/bench.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/es/tutorial/conclusion.md Vedi File

@@ -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)

+ 1
- 1
frappe/docs/user/es/tutorial/doctypes.md Vedi File

@@ -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**.

<img class="screenshot" alt="Adding Permissions" src="/docs/assets/img/doctype_adding_permission.png">



+ 5
- 5
frappe/docs/user/es/tutorial/index.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/es/tutorial/models.md Vedi File

@@ -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]`.



+ 1
- 1
frappe/docs/user/es/tutorial/naming-and-linking.md Vedi File

@@ -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.



+ 4
- 4
frappe/docs/user/es/tutorial/new-app.md Vedi File

@@ -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}

+ 1
- 1
frappe/docs/user/es/tutorial/setting-up-the-site.md Vedi File

@@ -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:


+ 1
- 1
frappe/docs/user/es/tutorial/single-doctypes.md Vedi File

@@ -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**.



+ 1
- 1
frappe/docs/user/es/tutorial/start.md Vedi File

@@ -26,6 +26,6 @@ Cuando accedas, deberías poder ver la página de inicio (Desk).

<img class="screenshot" alt="Desk" src="/docs/assets/img/desk.png">

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}

+ 2
- 2
frappe/docs/user/es/tutorial/task-runner.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/es/tutorial/users-and-records.md Vedi File

@@ -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



+ 3
- 3
frappe/docs/user/es/tutorial/web-views.md Vedi File

@@ -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



+ 2
- 2
frappe/docs/user/es/videos/index.md Vedi File

@@ -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: <a href="/docs/user/es/tutorial/before.html" target="_blank">Debes tener conocimientos básicos de Python, Javascript y MySQl antes de empezar este tutorial.</a>



+ 1
- 1
frappe/docs/user/fr/index.md Vedi File

@@ -1,3 +1,3 @@
# Develop Apps with Frappe
# Develop Apps with Frappé

{index}

+ 4
- 4
frappe/docs/user/fr/tutorial/app.md Vedi File

@@ -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}

+ 3
- 3
frappe/docs/user/fr/tutorial/before.md Vedi File

@@ -1,6 +1,6 @@
# Avant de commencer

<p class="lead">Liste des outils et technologies utiles dans le développement d'applications avec Frappe.</p>
<p class="lead">Liste des outils et technologies utiles dans le développement d'applications avec Frappé.</p>

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)


+ 3
- 3
frappe/docs/user/fr/tutorial/bench.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/fr/tutorial/conclusion.md Vedi File

@@ -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.



+ 1
- 1
frappe/docs/user/fr/tutorial/doctypes.md Vedi File

@@ -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.



+ 5
- 5
frappe/docs/user/fr/tutorial/index.md Vedi File

@@ -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.


+ 1
- 1
frappe/docs/user/fr/tutorial/models.md Vedi File

@@ -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**.



+ 1
- 1
frappe/docs/user/fr/tutorial/naming-and-linking.md Vedi File

@@ -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`.


+ 4
- 4
frappe/docs/user/fr/tutorial/new-app.md Vedi File

@@ -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}

+ 1
- 1
frappe/docs/user/fr/tutorial/setting-up-the-site.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/fr/tutorial/single-doctypes.md Vedi File

@@ -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**.



+ 1
- 1
frappe/docs/user/fr/tutorial/start.md Vedi File

@@ -26,7 +26,7 @@ Une fois connecté, vous devriez voir le `Desk`, c'est à dire la page d'accueil

<img class="screenshot" alt="Desk" src="/docs/assets/img/desk.png">

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}

+ 2
- 2
frappe/docs/user/fr/tutorial/task-runner.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/fr/tutorial/users-and-records.md Vedi File

@@ -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



+ 3
- 3
frappe/docs/user/fr/tutorial/web-views.md Vedi File

@@ -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


+ 1
- 1
frappe/docs/user/index.md Vedi File

@@ -1,4 +1,4 @@
# Frappe Developer Tutorial
# Frappé Developer Tutorial

Select your language



+ 1
- 1
frappe/docs/user/pt/index.md Vedi File

@@ -1,3 +1,3 @@
# Develop Apps with Frappe
# Develop Apps with Frappé

{index}

+ 3
- 3
frappe/docs/user/pt/tutorial/app.md Vedi File

@@ -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}

+ 3
- 3
frappe/docs/user/pt/tutorial/before.md Vedi File

@@ -1,6 +1,6 @@
# Antes de começar

<p class="lead">Uma lista de ferramentas, tecnologias que serão muito úteis para a construção de aplicativos com Frappe.</p>
<p class="lead">Uma lista de ferramentas, tecnologias que serão muito úteis para a construção de aplicativos com Frappé.</p>

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)

+ 3
- 3
frappe/docs/user/pt/tutorial/bench.md Vedi File

@@ -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}

+ 1
- 1
frappe/docs/user/pt/tutorial/conclusion.md Vedi File

@@ -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)

+ 1
- 1
frappe/docs/user/pt/tutorial/doctypes.md Vedi File

@@ -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**.

<img class="screenshot" alt="Adding Permissions" src="/docs/assets/img/doctype_adding_permission.png">



Dato che sono stati cambiati molti file in questo diff, alcuni di essi non verranno mostrati

Caricamento…
Annulla
Salva