diff --git a/conf.py b/conf.py index 96970c883..7da063550 100644 --- a/conf.py +++ b/conf.py @@ -208,8 +208,8 @@ languages_names = { 'zh_CN': 'ZH', } -# The specifications of redirect rules used by the redirects extension. -redirects_file = 'redirects.txt' +# The directory in which files holding redirect rules used by the 'redirects' extension are listed. +redirects_dir = 'redirects/' sphinx_tabs_disable_tab_closing = True sphinx_tabs_disable_css_loading = True diff --git a/content/contributing/documentation.rst b/content/contributing/documentation.rst index da383f7f8..253a737e9 100644 --- a/content/contributing/documentation.rst +++ b/content/contributing/documentation.rst @@ -312,19 +312,22 @@ with :abbr:`RST (reStructuredText)` syntax (see :doc:`documentation/rst_cheat_sh guidelines. .. important:: - If your changes include the addition of a new image, for instance :file:`my_image.png`, proceed - as follows: + - If your changes include the addition of a new image, for instance :file:`my-image.png`, proceed + as follows: - #. Make sure that the image is in ``.png`` format. - #. Execute the following commands in a terminal: + #. Make sure that the image is in ``.png`` format. + #. Execute the following commands in a terminal: - .. code-block:: console + .. code-block:: console - $ cd path-to-the-directory-of-the-image/ - $ pngquant my_image.png + $ cd path/to/the/directory/of/the/image/ + $ pngquant my-image.png - #. Delete :file:`my_image.png`. - #. Rename :file:`my_image-fs8.png` to :file:`my_image.png`. + #. Delete :file:`my-image.png`. + #. Rename :file:`my-image-fs8.png` to :file:`my-image.png`. + - If your changes include renaming or moving an RST file to a new location, follow the `manual + for redirect rules `_ to + create the appropriate redirect rule(s). .. _contributing/preview-changes: diff --git a/extensions/redirects/__init__.py b/extensions/redirects/__init__.py index 054baf733..d186a855e 100644 --- a/extensions/redirects/__init__.py +++ b/extensions/redirects/__init__.py @@ -11,56 +11,60 @@ TEMPLATE = '< logger = logging.getLogger(__name__) -def generate_redirects(app): - path = os.path.join(app.confdir, app.config.redirects_file) - if not os.path.exists(path): - logger.warning("Could not find redirects file at '%s'", path) - return - source_suffix = next(iter(app.config.source_suffix)) +def generate_redirects(app): + redirects_dir = Path(app.confdir, app.config.redirects_dir) + if not redirects_dir.exists(): + logger.warning("Could not find redirects dir at '%s'", redirects_dir) + return if not type(app.builder) == builders.StandaloneHTMLBuilder: logger.info("Redirects are only supported by the 'html' builder. Skipping...") return - with open(path) as redirects: - escaped_source_suffix = source_suffix.replace('.', '\.') - pattern = re.compile( - r'^[ \t]*([\w\-/]+{0})[ \t]+([\w\-/]+{0})[ \t]*(#.*)?$'.format(escaped_source_suffix) - ) - for line in redirects.readlines(): - # Exclude comment or empty lines - if not line.rstrip() or line.startswith('#'): - continue + source_suffix = next(iter(app.config.source_suffix)) + escaped_source_suffix = source_suffix.replace('.', '\.') + pattern = re.compile( + r'^[ \t]*([\w\-/]+{0})[ \t]+([\w\-/]+{0})[ \t]*(?:#.*)?$'.format(escaped_source_suffix) + ) + for redirects_file in redirects_dir.iterdir(): + if redirects_file.is_dir() or redirects_file.suffix != '.txt': + continue - match_result = pattern.match(line) + with redirects_file.open(mode='r') as f: + for line in f.readlines(): + # Exclude comment or empty lines. + if not line.rstrip() or line.startswith('#'): + continue - # Log malformed rules - if not match_result: - logger.error( - "Ignoring malformed redirection: {0}" - "Please use this format: old_page{1} new_page{1} # optional comment".format( - line, source_suffix) - ) - continue + # Match a redirect rule in the line. + match_result = pattern.match(line) - # Parse the rule - from_file, to_file, _ = match_result.groups() - logger.debug("Redirecting '%s' to '%s'", from_file, to_file) + # Exclude malformed rules. + if not match_result: + logger.error( + "Ignoring malformed redirect rule: %s\n" + "See redirects/MANUAL.md to learn how to make redirect rules.", line + ) + continue - # Prepare source and destination paths - to_path_prefix = '../' * from_file.count('/') - from_html_file = from_file.replace(source_suffix, '.html') - to_html_file = to_path_prefix + to_file.replace(source_suffix, '.html') - absolute_from_path = Path(app.builder.outdir) / from_html_file + # Parse the rule. + from_file, to_file = match_result.groups() + logger.debug("Redirecting '%s' to '%s'", from_file, to_file) - # Create the redirection - absolute_from_path.parent.mkdir(parents=True, exist_ok=True) - absolute_from_path.write_text(TEMPLATE % to_html_file) + # Prepare the source and destination paths. + to_path_prefix = '../' * from_file.count('/') + from_html_file = from_file.replace(source_suffix, '.html') + to_html_file = to_path_prefix + to_file.replace(source_suffix, '.html') + absolute_from_path = Path(app.builder.outdir) / from_html_file + + # Create the redirection. + absolute_from_path.parent.mkdir(parents=True, exist_ok=True) + absolute_from_path.write_text(TEMPLATE % to_html_file) def setup(app): - app.add_config_value('redirects_file', 'redirects', 'env') + app.add_config_value('redirects_dir', 'redirects', 'env') app.connect('builder-inited', generate_redirects) return { diff --git a/redirects/11.0.txt b/redirects/11.0.txt new file mode 100644 index 000000000..021b9d932 --- /dev/null +++ b/redirects/11.0.txt @@ -0,0 +1,3 @@ +# contributing/ + +contributing/documentation/guidelines.rst contributing/documentation/rst_guidelines.rst # guidelines --> rst_guidelines \ No newline at end of file diff --git a/redirects/12.0.txt b/redirects/12.0.txt new file mode 100644 index 000000000..32318ea99 --- /dev/null +++ b/redirects/12.0.txt @@ -0,0 +1,16 @@ +# administration/ + +administration/odoo_sh/documentation.rst administration/odoo_sh.rst # moved during doc-apocalypse (#945) + +# contributing/ + +contributing/documentation/introduction_guide.rst contributing/documentation.rst # flatten hierarchy: introduction_guide --> ../ + +# developer/ + +developer/misc/api/upgrade.rst administration/upgrade/process.rst # removed incorrect page +developer/webservices/upgrade.rst administration/upgrade/process.rst # removed incorrect page + +# others + +support/user_doc.rst contributing/documentation/introduction_guide.rst # removed in forward-port of #544 (b109c3af) \ No newline at end of file diff --git a/redirects.txt b/redirects/13.0.txt similarity index 79% rename from redirects.txt rename to redirects/13.0.txt index 783c77c48..8a77a4ec2 100644 --- a/redirects.txt +++ b/redirects/13.0.txt @@ -1,55 +1,68 @@ -# REDIRECT RULES # +# applications/finance -# Each line in this file specifies a redirect rule that redirects users from one URL to another. -# -# Redirect rules must follow this pattern: old_file.rst new_file.rst # optional comment -# Both parts are file paths and must thus include the full path of the file starting from the root -# of the documentation to the file name, including the .rst extension. -# If you consider it necessary, add a comment after the symbol '#' to explain why the redirection is -# needed. -# -# A redirect rule must be added to this file in the following cases: -# -# 1. An RST file is moved from one location to another. -# Example: The documentation of the Sales app is moved from sale_app/ to sales/ . -# Rules: sale_app/send_quotations.rst sales/send_quotations.rst -# sale_app/send_quotations/quote_template.rst sales/send_quotations/quote_template.rst -# sale_app/invoicing.rst sales/invoicing.rst # ...and so on. -# -# 2. An RST file is renamed. -# Example: The file create_quotations.rst in sales/ is renamed to quotations.rst. -# Rule: sales/create_quotations.rst sales/quotations.rst # no longer limited to creating quotes -# -# Write your rules in the section below corresponding to your target version. All rules are active -# no matter the version. The section's only purpose is to help with the triage. -# Consider indicating the reference of the PR (#123) that made a rule necessary, if any. +applications/finance/accounting/overview/main_concepts/in_odoo.rst applications/finance/accounting.rst # finance/accounting/overview/main_concepts/in_odoo -> finance/accounting.rst +applications/finance/accounting/overview/main_concepts/memento.rst applications/finance/accounting/getting_started/memento.rst # overview/main_concepts/* -> getting_started/* +applications/finance/accounting/overview/getting_started/chart_of_accounts.rst applications/finance/accounting/getting_started/initial_configuration/chart_of_accounts.rst # overview/getting_started/* -> getting_started/initial_configuration/* +applications/finance/accounting/overview/getting_started/setup.rst applications/finance/accounting/getting_started/initial_configuration/setup.rst # overview/getting_started/* -> getting_started/initial_configuration/* +applications/finance/accounting/overview/process_overview/customer_invoice.rst applications/finance/accounting/getting_started/process_overview/customer_invoice.rst # overview/* -> getting_started/* +applications/finance/accounting/overview/process_overview/supplier_bill.rst applications/finance/accounting/getting_started/process_overview/supplier_bill.rst # overview/* -> getting_started/* -# Redirections introduced in 11.0 : +applications/finance/expense/expense.rst applications/finance/expenses.rst #expense/expense -> expenses -contributing/documentation/guidelines.rst contributing/documentation/rst_guidelines.rst # guidelines --> rst_guidelines +applications/finance/sign/overview/signature_validity.rst applications/finance/sign.rst # sign/overview/signature_validity -> sign/* -# Redirections introduced in 12.0 : +# applications/general -administration/odoo_sh/documentation.rst administration/odoo_sh.rst # moved during doc-apocalypse (#945) +applications/general/auth/google_spreadsheets.rst applications/sales/crm/performance/google_spreadsheets.rst # general/auth/* -> sales/crm/performance/ -developer/webservices/upgrade.rst administration/upgrade/process.rst # removed incorrect page -developer/misc/api/upgrade.rst administration/upgrade/process.rst # removed incorrect page +applications/general/base_import.rst applications/general/export_import_data.rst # base_import -> export_import_data +applications/general/base_import/import_faq.rst applications/general/export_import_data.rst +applications/general/base_import/adapt_template.rst applications/general/export_import_data.rst -support/user_doc.rst contributing/documentation/introduction_guide.rst # removed in forward-port of #544 (b109c3af) +applications/general/developer_mode/activate.rst applications/general/developer_mode.rst # developer_mode/activate -> developer_mode -contributing/documentation/introduction_guide.rst contributing/documentation.rst # flatten hierarchy: introduction_guide --> ../ +applications/general/in_app_purchase/in_app_purchase.rst applications/general/in_app_purchase.rst # in_app_purchase/in_app_purchase -> in_app_purchase -# Redirections introduced in 13.0 : +applications/general/mobile.rst applications/general.rst # general/mobile -> general -sales/sale_amazon.rst applications/sales/sales/amazon_connector.rst # sale_amazon -> amazon_connector (#524) -sales/sale_amazon/apply.rst applications/sales/sales/amazon_connector/apply.rst # sale_amazon/* -> amazon_connector/* (#524) -sales/sale_amazon/setup.rst applications/sales/sales/amazon_connector/setup.rst # sale_amazon/* -> amazon_connector/* (#524) -sales/sale_amazon/manage.rst applications/sales/sales/amazon_connector/manage.rst # sale_amazon/* -> amazon_connector/* (#524) -sales/amazon_connector/apply.rst applications/sales/sales/amazon_connector/update.rst # (#728) -sales/sale_ebay.rst applications/sales/sales/ebay_connector.rst # sale_ebay -> ebay_connector (#524) -sales/ebay/setup.rst applications/sales/sales/ebay_connector/setup.rst # ebay/* moved to ebay_connector/* (#524) -sales/ebay/manage.rst applications/sales/sales/ebay_connector/manage.rst # ebay/* moved to ebay_connector/* (#524) -sales/send_quotations/optional_items.rst applications/sales/sales/send_quotations/optional_products.rst # (#533) +applications/general/multi_companies/manage_multi_companies.rst applications/general/companies.rst # multi_companies/manage_multi_companies -> companies +applications/general/multi_companies.rst applications/general/users/companies.rst # multi_companies -> companies + +applications/general/odoo_basics/choose_language.rst applications/general/users/language.rst # odoo_basics/choose_language -> users/language +applications/general/odoo_basics/export-data.rst applications/general/export_import_data.rst # odoo_basics/export-data -> export_import_data +applications/general/odoo_basics/users.rst applications/general/users.rst # odoo_basics/users -> users + +applications/general/payment_acquirers/payment_acquirers.rst applications/finance/payment_acquirers.rst # general/payment_acquirers/payment_acquirers -> finance/payment_acquirers +applications/general/payment_acquirers.rst applications/finance/payment_acquirers.rst # general/payment_acquirers/* --> finance/payment_acquirers/* +applications/general/payment_acquirers/authorize.rst applications/finance/payment_acquirers/authorize.rst # general/payment_acquirers/* --> finance/payment_acquirers/* +applications/general/payment_acquirers/paypal.rst applications/finance/payment_acquirers/paypal.rst # general/payment_acquirers/* --> finance/payment_acquirers/* +applications/general/payment_acquirers/stripe.rst applications/finance/payment_acquirers/stripe.rst # general/payment_acquirers/* --> finance/payment_acquirers/* +applications/general/payment_acquirers/wire_transfer.rst applications/finance/payment_acquirers/wire_transfer.rst # general/payment_acquirers/* --> finance/payment_acquirers/* + +applications/general/unsplash/unsplash_access_key.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_access_key -> general/unsplash +applications/general/unsplash/unsplash_application_id.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_application_id -> general/unsplash +applications/general/unsplash.rst applications/websites/website/optimize/unsplash.rst # general/unsplash -> websites/website/optimize/unsplash + +# applications/marketing + +applications/marketing/survey/overview/create.rst applications/marketing/surveys/overview/create.rst # /survey/* -> /surveys/* +applications/marketing/survey/overview/scoring.rst applications/marketing/surveys/overview/scoring.rst # /survey/* -> /surveys/* +applications/marketing/survey/overview/time_random.rst applications/marketing/surveys/overview/time_random.rst # /survey/* -> /surveys/* + +# applications/productivity + +applications/productivity/discuss/advanced/email_servers.rst applications/general/email_communication/email_servers.rst # productivity/discuss/advanced/* -> general/email_communication/* +applications/productivity/discuss/advanced/email_template.rst applications/general/email_communication/email_template.rst # productivity/discuss/advanced/* -> general/email_communication/* + +# applications/settings + +applications/settings/users_and_features.rst applications/general.rst # settings/users_and_features -> general + +# services + +services/support/supported_versions.rst administration/maintain/supported_versions.rst # services/support/* -> administration/maintain/* + +# others accounting/localizations/nederlands.rst applications/finance/accounting/localizations/netherlands.rst # (#514) accounting/receivables/customer_invoices/refund.rst applications/finance/accounting/receivables/customer_invoices/credit_notes.rst # refund --> credit_notes (#475) @@ -106,52 +119,70 @@ accounting/fiscality/taxes/retention.rst applications/finance/accounting/taxatio accounting/fiscality/taxes/taxcloud.rst applications/finance/accounting/taxation/taxes/taxcloud.rst # fiscality/* -> taxation/* accounting/fiscality/taxes/taxes.rst applications/finance/accounting/taxation/taxes/taxes.rst # fiscality/* -> taxation/* accounting/fiscality/taxes/vat_validation.rst applications/finance/accounting/taxation/taxes/vat_validation.rst # fiscality/* -> taxation/* -applications/finance/accounting/overview/main_concepts/in_odoo.rst applications/finance/accounting.rst # finance/accounting/overview/main_concepts/in_odoo -> finance/accounting.rst -applications/finance/accounting/overview/main_concepts/memento.rst applications/finance/accounting/getting_started/memento.rst # overview/main_concepts/* -> getting_started/* -applications/finance/accounting/overview/getting_started/chart_of_accounts.rst applications/finance/accounting/getting_started/initial_configuration/chart_of_accounts.rst # overview/getting_started/* -> getting_started/initial_configuration/* -applications/finance/accounting/overview/getting_started/setup.rst applications/finance/accounting/getting_started/initial_configuration/setup.rst # overview/getting_started/* -> getting_started/initial_configuration/* -applications/finance/accounting/overview/process_overview/customer_invoice.rst applications/finance/accounting/getting_started/process_overview/customer_invoice.rst # overview/* -> getting_started/* -applications/finance/accounting/overview/process_overview/supplier_bill.rst applications/finance/accounting/getting_started/process_overview/supplier_bill.rst # overview/* -> getting_started/* -applications/finance/expense/expense.rst applications/finance/expenses.rst #expense/expense -> expenses +administration/db_management/db_online.rst administration/maintain/online.rst # /db_management/db_online -> /maintain/online +administration/db_management/db_premise.rst administration/maintain/db_premise.rst # /db_management/* -> /maintain/* +administration/db_management/hosting_changes.rst administration/maintain/hosting_changes.rst # /db_management/* -> /maintain/* +administration/db_upgrade.rst administration/upgrade/process.rst # db_upgrade -> /upgrade/process +administration/enterprise.rst administration/maintain/enterprise.rst # /* -> /maintain/* +administration/update.rst administration/maintain/update.rst # administration/* -> administration/maintain/* +administration/install.rst administration/install/install.rst # /* -> /install/* +administration/deployment/cdn.rst administration/install/cdn.rst # /deployment/* -> /install/* +administration/deployment/deploy.rst administration/install/deploy.rst # /deployment/* -> /install/* +administration/deployment/email_gateway.rst administration/install/email_gateway.rst # /deployment/* -> /install/* +administration/deployment/install.rst administration/install/install.rst # /deployment/* -> /install/* +administration/maintain/db_premise.rst administration/maintain/on_premise.rst # db_premise -> on_premise +administration/maintain/db_upgrade.rst administration/upgrade/process.rst # maintain/db_upgrade -> upgrade/process +administration/odoo_sh/advanced/upgrade_your_database.rst administration/upgrade/odoo_sh.rst # odoo_sh/advanced/upgrade_your_database -> upgrade/odoo_sh +applications/websites/website/publish/domain_name.rst administration/maintain/domain_names.rst # applications/[...]/domain_name -> administration/maintain/domain_names +administration/upgrade/process.rst administration/upgrade.rst # upgrade/process -> upgrade +administration/upgrade/service_level.rst administration/upgrade.rst # upgrade/service_level -> upgrade -social_marketing/social_marketing.rst applications/marketing/social_marketing/overview.rst # social_marketing/* -> overview/* (#578) +crm/optimize/onsip.rst applications/general/voip/onsip.rst # crm/optimize/* --> general/voip/* +crm/optimize/setup.rst applications/general/voip/asterisk.rst # crm/optimize/setup --> general/voip/asterisk -project/planning/assignments.rst applications/services/project/planning/forecast.rst # assignments/* -> forecast/* (#583) -project/overview/main_concepts/introduction.rst applications/services/project/overview/setup.rst # main_concepts/* -> overview/* (#581) -project/configuration/collaboration.rst applications/services/project/tasks/collaborate.rst # configuration/collaboration -> tasks/collaborate (#581) -project/application/intro.rst applications/services/project/record_and_invoice/time_record.rst # application/intro -> record_and_invoice/time_record (#581) -project/configuration/setup.rst applications/services/project/overview/setup.rst # configuration/setup -> overview/setup (#581) -project/configuration/visualization.rst applications/services/project/tasks/get_started.rst # configuration/visualization -> tasks/get_started (#581) -project/configuration/time_record.rst applications/services/project/record_and_invoice/time_record.rst # configuration/time_record -> record_and_invoice/time_record (#581) +developer/webservices/iap.rst developer/misc/api/iap.rst +developer/webservices/odoo.rst developer/misc/api/odoo.rst +developer/webservices/localizations.rst developer/misc/i18n/localization.rst +developer/reference/translations.rst developer/misc/i18n/translations.rst +developer/reference/cmdline.rst developer/misc/other/cmdline.rst +developer/reference/guidelines.rst developer/misc/other/guidelines.rst +developer/reference/iot.rst developer/misc/other/iot.rst +developer/reference/actions.rst developer/reference/addons/actions.rst +developer/reference/data.rst developer/reference/addons/data.rst +developer/reference/http.rst developer/reference/addons/http.rst +developer/reference/mixins.rst developer/reference/addons/mixins.rst +developer/reference/module.rst developer/reference/addons/module.rst +developer/reference/orm.rst developer/reference/addons/orm.rst +developer/reference/reports.rst developer/reference/addons/reports.rst +developer/reference/security.rst developer/reference/addons/security.rst +developer/reference/testing.rst developer/reference/addons/testing.rst +developer/reference/views.rst developer/reference/addons/views.rst +developer/reference/javascript_cheatsheet.rst developer/reference/javascript/javascript_cheatsheet.rst +developer/reference/javascript_reference.rst developer/reference/javascript/javascript_reference.rst +developer/reference/mobile.rst developer/reference/javascript/mobile.rst +developer/reference/qweb.rst developer/reference/javascript/qweb.rst -livechat/livechat.rst applications/websites/livechat/overview.rst # livechat/* -> overveiw/* (#601) +discuss/monitoring.rst applications/productivity/discuss/overview/get_started.rst # (#655) +discuss/mentions.rst applications/productivity/discuss/overview/get_started.rst # (#655) +discuss/tracking.rst applications/services/project/tasks/collaborate.rst # (#655) +discuss/email_servers.rst applications/general/email_communication/email_servers.rst # (#655) +discuss/plan_activities.rst applications/productivity/discuss/overview/plan_activities.rst # (#655) +discuss/team_communication.rst applications/productivity/discuss/overview/team_communication.rst # (#655) +discuss/overview.rst applications/productivity/discuss/overview/get_started.rst # (#655) -point_of_sale/advanced/barcode.rst applications/sales/point_of_sale/shop/barcode.rst # advanced/* --> shop/* (#612) -point_of_sale/advanced/multicashiers.rst applications/sales/point_of_sale/shop/multicashiers.rst # advanced/* --> shop/* (#612) -point_of_sale/advanced/reprint.rst applications/sales/point_of_sale/shop/reprint.rst # advanced/* --> shop/* (#612) -point_of_sale/advanced/cash_rounding.rst applications/sales/point_of_sale/shop/cash_rounding.rst # advanced/* --> shop/* (#612) -point_of_sale/overview/start.rst applications/sales/point_of_sale/overview/getting_started.rst # start --> getting_started (#600) -point_of_sale/shop/refund.rst applications/sales/point_of_sale/overview/getting_started.rst # shop/refund --> overview/getting_started (#600) -point_of_sale/analyze/statistics.rst applications/sales/point_of_sale/overview/getting_started.rst # analyze/statistics --> overview/getting_started (#600) -point_of_sale/advanced_pricing_features/manual_discount.rst applications/sales/point_of_sale/advanced_pricing_features/discounts.rst # manual_discount --> discounts (#611) -point_of_sale/advanced_pricing_features/seasonal_discount.rst applications/sales/point_of_sale/advanced_pricing_features/discounts.rst # seasonal_discount --> discounts (#611) -point_of_sale/restaurant/setup.rst applications/sales/point_of_sale/restaurant/restaurant.rst # setup --> restaurant (#610) -point_of_sale/restaurant/table.rst applications/sales/point_of_sale/restaurant/restaurant.rst # table --> restaurant (#610) -point_of_sale/restaurant/multi_orders.rst applications/sales/point_of_sale/restaurant/restaurant.rst # multi_orders --> restaurant (#610) -point_of_sale/restaurant/transfer.rst applications/sales/point_of_sale/restaurant/restaurant.rst # transfer --> restaurant (#610) +ecommerce/shopper_experience/payment.rst applications/finance/payment_acquirers.rst # ecommerce/shopper_experience/payment --> finance/payment_acquirers/payment_acquirers +ecommerce/shopper_experience/authorize.rst applications/finance/payment_acquirers/authorize.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* +ecommerce/shopper_experience/paypal.rst applications/finance/payment_acquirers/paypal.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* +ecommerce/shopper_experience/wire_transfer.rst applications/finance/payment_acquirers/wire_transfer.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* -quality/control_points.rst applications/inventory_and_mrp/quality/control/control_points.rst # /* --> control/* (#469) -quality/alert_mo.rst applications/inventory_and_mrp/quality/alert/alert_mo.rst # /* --> alert/* (#469) -quality/alert_transfer.rst applications/inventory_and_mrp/quality/alert/alert_transfer.rst # /* --> alert/* (#469) -quality/quality_mo.rst applications/inventory_and_mrp/quality/checks/quality_mo.rst # /* --> checks/* (#469) -quality/quality_transfers.rst applications/inventory_and_mrp/quality/checks/quality_transfers.rst # /* --> checks/* (#469) +general/odoo_basics/add_user.rst applications/general/odoo_basics/users.rst # add_user -> users -iot/connect.rst applications/productivity/iot/config/connect.rst # /* --> config/* (#446) -iot/pos.rst applications/productivity/iot/config/pos.rst # /* --> config/* (#446) -iot/iot_notfound.rst applications/productivity/iot/config/iot_notfound.rst # /* --> config/* (#446) -iot/flash_sdcard.rst applications/productivity/iot/config/flash_sdcard.rst # /* --> config/* (#446) -iot/devices/payment_terminal.rst applications/sales/point_of_sale/payment/ingenico.rst # iot/devices/payment_terminal --> applications/sales/point_of_sale/payment/ingenico (#446) +helpdesk/getting_started.rst applications/services/helpdesk/overview/getting_started.rst # (#565) +helpdesk/after_sales.rst applications/services/helpdesk/advanced/after_sales.rst # (#565) +helpdesk/close_tickets.rst applications/services/helpdesk/advanced/close_tickets.rst # (#565) +helpdesk/invoice_time.rst applications/services/helpdesk/timesheet_and_invoice/invoice_time.rst # (#565) +helpdesk/reinvoice_from_project.rst applications/services/helpdesk/timesheet_and_invoice/reinvoice_from_project.rst # (#565) inventory/barcode/operations/delivery.rst applications/inventory_and_mrp/inventory/barcode/operations/internal.rst # delivery --> internal (#436) inventory/barcode/operations/receipts.rst applications/inventory_and_mrp/inventory/barcode/operations/internal.rst # delivery --> internal (#436) @@ -176,178 +207,53 @@ inventory/routes/concept/procurement_rule.rst applications/inventory_and_mrp/inv inventory/routes/concept/push_rule.rst applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst # push_rule --> use-routes (#693) inventory/routes/concept/use_routes.rst applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst # use_routes --> use-routes (#693) -helpdesk/getting_started.rst applications/services/helpdesk/overview/getting_started.rst # (#565) -helpdesk/after_sales.rst applications/services/helpdesk/advanced/after_sales.rst # (#565) -helpdesk/close_tickets.rst applications/services/helpdesk/advanced/close_tickets.rst # (#565) -helpdesk/invoice_time.rst applications/services/helpdesk/timesheet_and_invoice/invoice_time.rst # (#565) -helpdesk/reinvoice_from_project.rst applications/services/helpdesk/timesheet_and_invoice/reinvoice_from_project.rst # (#565) +iot/connect.rst applications/productivity/iot/config/connect.rst # /* --> config/* (#446) +iot/pos.rst applications/productivity/iot/config/pos.rst # /* --> config/* (#446) +iot/iot_notfound.rst applications/productivity/iot/config/iot_notfound.rst # /* --> config/* (#446) +iot/flash_sdcard.rst applications/productivity/iot/config/flash_sdcard.rst # /* --> config/* (#446) +iot/devices/payment_terminal.rst applications/sales/point_of_sale/payment/ingenico.rst # iot/devices/payment_terminal --> applications/sales/point_of_sale/payment/ingenico (#446) + +livechat/livechat.rst applications/websites/livechat/overview.rst # livechat/* -> overveiw/* (#601) planning/duplicate_a_planning.rst applications/services/planning/overview/duplicate_a_planning.rst # (#567) planning/send_planned_shifts.rst applications/services/planning/overview/send_planned_shifts.rst # (#567) -# PAYMENT ACQUIRERS -ecommerce/shopper_experience/payment.rst applications/finance/payment_acquirers.rst # ecommerce/shopper_experience/payment --> finance/payment_acquirers/payment_acquirers -ecommerce/shopper_experience/authorize.rst applications/finance/payment_acquirers/authorize.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* -ecommerce/shopper_experience/paypal.rst applications/finance/payment_acquirers/paypal.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* -ecommerce/shopper_experience/wire_transfer.rst applications/finance/payment_acquirers/wire_transfer.rst # ecommerce/shopper_experience/* --> finance/payment_acquirers/* -applications/general/payment_acquirers/payment_acquirers.rst applications/finance/payment_acquirers.rst # general/payment_acquirers/payment_acquirers -> finance/payment_acquirers -applications/general/payment_acquirers.rst applications/finance/payment_acquirers.rst # general/payment_acquirers/* --> finance/payment_acquirers/* -applications/general/payment_acquirers/authorize.rst applications/finance/payment_acquirers/authorize.rst # general/payment_acquirers/* --> finance/payment_acquirers/* -applications/general/payment_acquirers/paypal.rst applications/finance/payment_acquirers/paypal.rst # general/payment_acquirers/* --> finance/payment_acquirers/* -applications/general/payment_acquirers/stripe.rst applications/finance/payment_acquirers/stripe.rst # general/payment_acquirers/* --> finance/payment_acquirers/* -applications/general/payment_acquirers/wire_transfer.rst applications/finance/payment_acquirers/wire_transfer.rst # general/payment_acquirers/* --> finance/payment_acquirers/* +point_of_sale/advanced/barcode.rst applications/sales/point_of_sale/shop/barcode.rst # advanced/* --> shop/* (#612) +point_of_sale/advanced/multicashiers.rst applications/sales/point_of_sale/shop/multicashiers.rst # advanced/* --> shop/* (#612) +point_of_sale/advanced/reprint.rst applications/sales/point_of_sale/shop/reprint.rst # advanced/* --> shop/* (#612) +point_of_sale/advanced/cash_rounding.rst applications/sales/point_of_sale/shop/cash_rounding.rst # advanced/* --> shop/* (#612) +point_of_sale/overview/start.rst applications/sales/point_of_sale/overview/getting_started.rst # start --> getting_started (#600) +point_of_sale/shop/refund.rst applications/sales/point_of_sale/overview/getting_started.rst # shop/refund --> overview/getting_started (#600) +point_of_sale/analyze/statistics.rst applications/sales/point_of_sale/overview/getting_started.rst # analyze/statistics --> overview/getting_started (#600) +point_of_sale/advanced_pricing_features/manual_discount.rst applications/sales/point_of_sale/advanced_pricing_features/discounts.rst # manual_discount --> discounts (#611) +point_of_sale/advanced_pricing_features/seasonal_discount.rst applications/sales/point_of_sale/advanced_pricing_features/discounts.rst # seasonal_discount --> discounts (#611) +point_of_sale/restaurant/setup.rst applications/sales/point_of_sale/restaurant/restaurant.rst # setup --> restaurant (#610) +point_of_sale/restaurant/table.rst applications/sales/point_of_sale/restaurant/restaurant.rst # table --> restaurant (#610) +point_of_sale/restaurant/multi_orders.rst applications/sales/point_of_sale/restaurant/restaurant.rst # multi_orders --> restaurant (#610) +point_of_sale/restaurant/transfer.rst applications/sales/point_of_sale/restaurant/restaurant.rst # transfer --> restaurant (#610) -discuss/monitoring.rst applications/productivity/discuss/overview/get_started.rst # (#655) -discuss/mentions.rst applications/productivity/discuss/overview/get_started.rst # (#655) -discuss/tracking.rst applications/services/project/tasks/collaborate.rst # (#655) -discuss/email_servers.rst applications/general/email_communication/email_servers.rst # (#655) -discuss/plan_activities.rst applications/productivity/discuss/overview/plan_activities.rst # (#655) -discuss/team_communication.rst applications/productivity/discuss/overview/team_communication.rst # (#655) -discuss/overview.rst applications/productivity/discuss/overview/get_started.rst # (#655) +project/planning/assignments.rst applications/services/project/planning/forecast.rst # assignments/* -> forecast/* (#583) +project/overview/main_concepts/introduction.rst applications/services/project/overview/setup.rst # main_concepts/* -> overview/* (#581) +project/configuration/collaboration.rst applications/services/project/tasks/collaborate.rst # configuration/collaboration -> tasks/collaborate (#581) +project/application/intro.rst applications/services/project/record_and_invoice/time_record.rst # application/intro -> record_and_invoice/time_record (#581) +project/configuration/setup.rst applications/services/project/overview/setup.rst # configuration/setup -> overview/setup (#581) +project/configuration/visualization.rst applications/services/project/tasks/get_started.rst # configuration/visualization -> tasks/get_started (#581) +project/configuration/time_record.rst applications/services/project/record_and_invoice/time_record.rst # configuration/time_record -> record_and_invoice/time_record (#581) -crm/optimize/onsip.rst applications/general/voip/onsip.rst # crm/optimize/* --> general/voip/* -crm/optimize/setup.rst applications/general/voip/asterisk.rst # crm/optimize/setup --> general/voip/asterisk +quality/control_points.rst applications/inventory_and_mrp/quality/control/control_points.rst # /* --> control/* (#469) +quality/alert_mo.rst applications/inventory_and_mrp/quality/alert/alert_mo.rst # /* --> alert/* (#469) +quality/alert_transfer.rst applications/inventory_and_mrp/quality/alert/alert_transfer.rst # /* --> alert/* (#469) +quality/quality_mo.rst applications/inventory_and_mrp/quality/checks/quality_mo.rst # /* --> checks/* (#469) +quality/quality_transfers.rst applications/inventory_and_mrp/quality/checks/quality_transfers.rst # /* --> checks/* (#469) -general/odoo_basics/add_user.rst applications/general/odoo_basics/users.rst # add_user -> users -applications/general/in_app_purchase/in_app_purchase.rst applications/general/in_app_purchase.rst # in_app_purchase/in_app_purchase -> in_app_purchase -applications/general/multi_companies/manage_multi_companies.rst applications/general/companies.rst # multi_companies/manage_multi_companies -> companies -applications/general/multi_companies.rst applications/general/users/companies.rst # multi_companies -> companies -applications/general/unsplash/unsplash_access_key.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_access_key -> general/unsplash -applications/general/unsplash/unsplash_application_id.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_application_id -> general/unsplash -applications/general/unsplash.rst applications/websites/website/optimize/unsplash.rst # general/unsplash -> websites/website/optimize/unsplash -applications/general/base_import.rst applications/general/export_import_data.rst # base_import -> export_import_data -applications/general/base_import/import_faq.rst applications/general/export_import_data.rst -applications/general/base_import/adapt_template.rst applications/general/export_import_data.rst -applications/general/odoo_basics/export-data.rst applications/general/export_import_data.rst # odoo_basics/export-data -> export_import_data -applications/settings/users_and_features.rst applications/general.rst # settings/users_and_features -> general -applications/general/mobile.rst applications/general.rst # general/mobile -> general -applications/general/developer_mode/activate.rst applications/general/developer_mode.rst # developer_mode/activate -> developer_mode -applications/general/odoo_basics/users.rst applications/general/users.rst # odoo_basics/users -> users -applications/general/odoo_basics/choose_language.rst applications/general/users/language.rst # odoo_basics/choose_language -> users/language -applications/general/auth/google_spreadsheets.rst applications/sales/crm/performance/google_spreadsheets.rst # general/auth/* -> sales/crm/performance/ -applications/productivity/discuss/advanced/email_servers.rst applications/general/email_communication/email_servers.rst # productivity/discuss/advanced/* -> general/email_communication/* -applications/productivity/discuss/advanced/email_template.rst applications/general/email_communication/email_template.rst # productivity/discuss/advanced/* -> general/email_communication/* +sales/sale_amazon.rst applications/sales/sales/amazon_connector.rst # sale_amazon -> amazon_connector (#524) +sales/sale_amazon/apply.rst applications/sales/sales/amazon_connector/apply.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/sale_amazon/setup.rst applications/sales/sales/amazon_connector/setup.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/sale_amazon/manage.rst applications/sales/sales/amazon_connector/manage.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/amazon_connector/apply.rst applications/sales/sales/amazon_connector/update.rst # (#728) +sales/sale_ebay.rst applications/sales/sales/ebay_connector.rst # sale_ebay -> ebay_connector (#524) +sales/ebay/setup.rst applications/sales/sales/ebay_connector/setup.rst # ebay/* moved to ebay_connector/* (#524) +sales/ebay/manage.rst applications/sales/sales/ebay_connector/manage.rst # ebay/* moved to ebay_connector/* (#524) +sales/send_quotations/optional_items.rst applications/sales/sales/send_quotations/optional_products.rst # (#533) -applications/finance/sign/overview/signature_validity.rst applications/finance/sign.rst # sign/overview/signature_validity -> sign/* - -applications/marketing/survey/overview/create.rst applications/marketing/surveys/overview/create.rst # /survey/* -> /surveys/* -applications/marketing/survey/overview/scoring.rst applications/marketing/surveys/overview/scoring.rst # /survey/* -> /surveys/* -applications/marketing/survey/overview/time_random.rst applications/marketing/surveys/overview/time_random.rst # /survey/* -> /surveys/* - -administration/db_management/db_online.rst administration/maintain/online.rst # /db_management/db_online -> /maintain/online -administration/db_management/db_premise.rst administration/maintain/db_premise.rst # /db_management/* -> /maintain/* -administration/db_management/hosting_changes.rst administration/maintain/hosting_changes.rst # /db_management/* -> /maintain/* -administration/db_upgrade.rst administration/upgrade/process.rst # db_upgrade -> /upgrade/process -administration/enterprise.rst administration/maintain/enterprise.rst # /* -> /maintain/* -administration/update.rst administration/maintain/update.rst # administration/* -> administration/maintain/* -administration/install.rst administration/install/install.rst # /* -> /install/* -administration/deployment/cdn.rst administration/install/cdn.rst # /deployment/* -> /install/* -administration/deployment/deploy.rst administration/install/deploy.rst # /deployment/* -> /install/* -administration/deployment/email_gateway.rst administration/install/email_gateway.rst # /deployment/* -> /install/* -administration/deployment/install.rst administration/install/install.rst # /deployment/* -> /install/* -administration/maintain/db_premise.rst administration/maintain/on_premise.rst # db_premise -> on_premise -administration/maintain/db_upgrade.rst administration/upgrade/process.rst # maintain/db_upgrade -> upgrade/process -administration/odoo_sh/advanced/upgrade_your_database.rst administration/upgrade/odoo_sh.rst # odoo_sh/advanced/upgrade_your_database -> upgrade/odoo_sh -applications/websites/website/publish/domain_name.rst administration/maintain/domain_names.rst # applications/[...]/domain_name -> administration/maintain/domain_names -administration/upgrade/process.rst administration/upgrade.rst # upgrade/process -> upgrade -administration/upgrade/service_level.rst administration/upgrade.rst # upgrade/service_level -> upgrade - -developer/webservices/iap.rst developer/misc/api/iap.rst -developer/webservices/odoo.rst developer/misc/api/external_api.rst -developer/webservices/localizations.rst developer/misc/i18n/localization.rst -developer/reference/translations.rst developer/misc/i18n/translations.rst -developer/reference/cmdline.rst developer/misc/other/cmdline.rst -developer/reference/guidelines.rst developer/misc/other/guidelines.rst -developer/reference/iot.rst developer/misc/other/iot.rst -developer/reference/actions.rst developer/reference/addons/actions.rst -developer/reference/data.rst developer/reference/addons/data.rst -developer/reference/http.rst developer/reference/addons/http.rst -developer/reference/mixins.rst developer/reference/addons/mixins.rst -developer/reference/module.rst developer/reference/addons/module.rst -developer/reference/orm.rst developer/reference/addons/orm.rst -developer/reference/reports.rst developer/reference/addons/reports.rst -developer/reference/security.rst developer/reference/addons/security.rst -developer/reference/testing.rst developer/reference/addons/testing.rst -developer/reference/views.rst developer/reference/addons/views.rst -developer/reference/javascript_cheatsheet.rst developer/reference/javascript/javascript_cheatsheet.rst -developer/reference/javascript_reference.rst developer/reference/javascript/javascript_reference.rst -developer/reference/mobile.rst developer/reference/javascript/mobile.rst -developer/reference/qweb.rst developer/reference/javascript/qweb.rst - -services/support/supported_versions.rst administration/maintain/supported_versions.rst # services/support/* -> administration/maintain/* - -# Redirections introduced in 14.0 : - -developer/misc/api/odoo.rst developer/misc/api/external_api.rst - -applications/sales/crm/acquire_leads/generate_from_email.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) -applications/sales/crm/acquire_leads/generate_from_website.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) - -legal/others/cla.rst legal/cla.rst -legal/licenses/licenses.rst legal/licenses.rst - -crm/optimize/mail_client_extension.rst applications/sales/crm/optimize/outlook_extension.rst # mail_client_extension -> outlook_extension | mail_client_extension is the first link provided as a tip in Odoo 14 but should be updated and point directly to outlook_extension -crm/optimize/google_calendar_credentials.rst applications/general/calendars/google/google_calendar_credentials.rst # (#765) - -purchase/purchases/tender/blanket_orders.rst applications/inventory_and_mrp/purchase/manage_deals/agreements.rst # (#823) -purchase/purchases/tender/call_for_tender.rst applications/inventory_and_mrp/purchase/manage_deals/agreements.rst # (#823) -purchase/purchases/rfq/3_way_matching.rst applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst # (#829) -purchase/purchases/rfq/bills.rst applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst # (#829) -purchase/purchases/master/uom.rst applications/inventory_and_mrp/purchase/products/uom.rst # (#814) -purchase/replenishment/flows/compute_date.rst applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst # (#814) -purchase/replenishment/flows/purchase_triggering.rst applications/inventory_and_mrp/purchase/products/reordering.rst # (#814) -purchase/replenishment/flows/setup_stock_rule.rst applications/inventory_and_mrp/purchase/products/reordering.rst # (#814) -purchase/replenishment/multicompany/setup.rst applications/general/multi_companies/manage_multi_companies.rst # (#814) - -# Redirections introduced in 15.0 : - -applications/general/product_images.rst applications/sales/sales/products_prices/products/product_images.rst # fix a wrong target hard-coded in Odoo - -applications/finance/accounting/payables/supplier_bills/ocr.rst applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst # ocr --> invoice_digitization - -applications/sales/crm/optimize/outlook_extension.rst applications/productivity/mail_plugins/outlook.rst - -applications/general/payment_acquirers/adyen.rst applications/finance/payment_acquirers/adyen.rst -applications/general/payment_acquirers/alipay.rst applications/finance/payment_acquirers/alipay.rst -applications/general/payment_acquirers/buckaroo.rst applications/finance/payment_acquirers/buckaroo.rst -applications/general/payment_acquirers/mollie.rst applications/finance/payment_acquirers/mollie.rst -applications/general/payment_acquirers/ogone.rst applications/finance/payment_acquirers/ogone.rst -applications/general/payment_acquirers/sips.rst applications/finance/payment_acquirers/sips.rst - -developer/reference/addons.rst developer/reference/backend.rst -developer/reference/addons/actions.rst developer/reference/backend/actions.rst -developer/reference/addons/assets.rst developer/reference/backend/assets.rst -developer/reference/addons/data.rst developer/reference/backend/data.rst -developer/reference/addons/http.rst developer/reference/backend/http.rst -developer/reference/addons/mixins.rst developer/reference/backend/mixins.rst -developer/reference/addons/module.rst developer/reference/backend/module.rst -developer/reference/addons/orm.rst developer/reference/backend/orm.rst -developer/reference/addons/reports.rst developer/reference/backend/reports.rst -developer/reference/addons/security.rst developer/reference/backend/security.rst -developer/reference/addons/testing.rst developer/reference/backend/testing.rst -developer/reference/addons/views.rst developer/reference/backend/views.rst - -developer/reference/javascript.rst developer/reference/frontend.rst -developer/reference/javascript/framework_overview.rst developer/reference/frontend/framework_overview.rst -developer/reference/javascript/javascript_modules.rst developer/reference/frontend/javascript_modules.rst -developer/reference/javascript/owl_component_system.rst developer/reference/frontend/owl_component_system.rst -developer/reference/javascript/registries.rst developer/reference/frontend/registries.rst -developer/reference/javascript/services.rst developer/reference/frontend/services.rst -developer/reference/javascript/generic_components.rst developer/reference/frontend/generic_components.rst -developer/reference/javascript/hooks.rst developer/reference/frontend/hooks.rst -developer/reference/javascript/javascript_cheatsheet.rst developer/reference/frontend/javascript_cheatsheet.rst -developer/reference/javascript/javascript_reference.rst developer/reference/frontend/javascript_reference.rst -developer/reference/javascript/mobile.rst developer/reference/frontend/mobile.rst -developer/reference/javascript/qweb.rst developer/reference/frontend/qweb.rst - -developer/reference/backend/assets.rst developer/reference/frontend/assets.rst - -developer/reference/frontend/owl_component_system.rst developer/reference/frontend/owl_components.rst -developer/reference/frontend/generic_components.rst developer/reference/frontend/owl_components.rst - -developer/misc/i18n/localization.rst developer/howtos/accounting_localization.rst -developer/misc/i18n/translations.rst developer/howtos/translations.rst - -# Redirections introduced in saas-15.1 : - -# Redirections introduced in saas-15.2 : +social_marketing/social_marketing.rst applications/marketing/social_marketing/overview.rst # social_marketing/* -> overview/* (#578) diff --git a/redirects/14.0.txt b/redirects/14.0.txt new file mode 100644 index 000000000..a687dd04c --- /dev/null +++ b/redirects/14.0.txt @@ -0,0 +1,28 @@ +# applications/sales + +applications/sales/crm/acquire_leads/generate_from_email.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) +applications/sales/crm/acquire_leads/generate_from_website.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) + +# developer/misc + +developer/misc/api/odoo.rst developer/misc/api/external_api.rst + +# legal + +legal/others/cla.rst legal/cla.rst +legal/licenses/licenses.rst legal/licenses.rst + +# others + +crm/optimize/mail_client_extension.rst applications/sales/crm/optimize/outlook_extension.rst # mail_client_extension -> outlook_extension | mail_client_extension is the first link provided as a tip in Odoo 14 but should be updated and point directly to outlook_extension +crm/optimize/google_calendar_credentials.rst applications/general/calendars/google/google_calendar_credentials.rst # (#765) + +purchase/purchases/tender/blanket_orders.rst applications/inventory_and_mrp/purchase/manage_deals/agreements.rst # (#823) +purchase/purchases/tender/call_for_tender.rst applications/inventory_and_mrp/purchase/manage_deals/agreements.rst # (#823) +purchase/purchases/rfq/3_way_matching.rst applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst # (#829) +purchase/purchases/rfq/bills.rst applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst # (#829) +purchase/purchases/master/uom.rst applications/inventory_and_mrp/purchase/products/uom.rst # (#814) +purchase/replenishment/flows/compute_date.rst applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst # (#814) +purchase/replenishment/flows/purchase_triggering.rst applications/inventory_and_mrp/purchase/products/reordering.rst # (#814) +purchase/replenishment/flows/setup_stock_rule.rst applications/inventory_and_mrp/purchase/products/reordering.rst # (#814) +purchase/replenishment/multicompany/setup.rst applications/general/multi_companies/manage_multi_companies.rst # (#814) diff --git a/redirects/15.0.txt b/redirects/15.0.txt new file mode 100644 index 000000000..2d23f68c9 --- /dev/null +++ b/redirects/15.0.txt @@ -0,0 +1,56 @@ +# applications/finance + +applications/finance/accounting/payables/supplier_bills/ocr.rst applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst # ocr --> invoice_digitization + +# applications/general + +applications/general/payment_acquirers/adyen.rst applications/finance/payment_acquirers/adyen.rst +applications/general/payment_acquirers/alipay.rst applications/finance/payment_acquirers/alipay.rst +applications/general/payment_acquirers/buckaroo.rst applications/finance/payment_acquirers/buckaroo.rst +applications/general/payment_acquirers/mollie.rst applications/finance/payment_acquirers/mollie.rst +applications/general/payment_acquirers/ogone.rst applications/finance/payment_acquirers/ogone.rst +applications/general/payment_acquirers/sips.rst applications/finance/payment_acquirers/sips.rst + +applications/general/product_images.rst applications/sales/sales/products_prices/products/product_images.rst # fix a wrong target hard-coded in Odoo + +# applications/sales + +applications/sales/crm/optimize/outlook_extension.rst applications/productivity/mail_plugins/outlook.rst + +# developer/misc + +developer/misc/i18n/localization.rst developer/howtos/accounting_localization.rst +developer/misc/i18n/translations.rst developer/howtos/translations.rst + +# developer/reference + +developer/reference/addons.rst developer/reference/backend.rst +developer/reference/addons/actions.rst developer/reference/backend/actions.rst +developer/reference/addons/assets.rst developer/reference/backend/assets.rst +developer/reference/addons/data.rst developer/reference/backend/data.rst +developer/reference/addons/http.rst developer/reference/backend/http.rst +developer/reference/addons/mixins.rst developer/reference/backend/mixins.rst +developer/reference/addons/module.rst developer/reference/backend/module.rst +developer/reference/addons/orm.rst developer/reference/backend/orm.rst +developer/reference/addons/reports.rst developer/reference/backend/reports.rst +developer/reference/addons/security.rst developer/reference/backend/security.rst +developer/reference/addons/testing.rst developer/reference/backend/testing.rst +developer/reference/addons/views.rst developer/reference/backend/views.rst + +developer/reference/backend/assets.rst developer/reference/frontend/assets.rst + +developer/reference/frontend/generic_components.rst developer/reference/frontend/owl_components.rst +developer/reference/frontend/owl_component_system.rst developer/reference/frontend/owl_components.rst + +developer/reference/javascript.rst developer/reference/frontend.rst +developer/reference/javascript/framework_overview.rst developer/reference/frontend/framework_overview.rst +developer/reference/javascript/javascript_modules.rst developer/reference/frontend/javascript_modules.rst +developer/reference/javascript/owl_component_system.rst developer/reference/frontend/owl_component_system.rst +developer/reference/javascript/registries.rst developer/reference/frontend/registries.rst +developer/reference/javascript/services.rst developer/reference/frontend/services.rst +developer/reference/javascript/generic_components.rst developer/reference/frontend/generic_components.rst +developer/reference/javascript/hooks.rst developer/reference/frontend/hooks.rst +developer/reference/javascript/javascript_cheatsheet.rst developer/reference/frontend/javascript_cheatsheet.rst +developer/reference/javascript/javascript_reference.rst developer/reference/frontend/javascript_reference.rst +developer/reference/javascript/mobile.rst developer/reference/frontend/mobile.rst +developer/reference/javascript/qweb.rst developer/reference/frontend/qweb.rst diff --git a/redirects/16.0.txt b/redirects/16.0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/redirects/MANUAL.md b/redirects/MANUAL.md new file mode 100644 index 000000000..ff46331a9 --- /dev/null +++ b/redirects/MANUAL.md @@ -0,0 +1,59 @@ +# Redirect rules manual + +## What are redirect rules? + +Redirect rules allow redirecting users to a new documentation page when they land on an old page +that was either renamed or moved elsewhere. They are specified in `.txt` files located in the +`redirects/` directory at the root of the documentation. Each line of these files specifies a single +rule that applies to a single documentation page. + +## How do redirect rules work? + +For each redirect rule, the redirects Sphinx extension creates a blank HTML file at the location of +the specified target with only the `meta http-equiv="refresh"` tag in the ``. When users +visit that HTML file, a client-side redirection is triggered and the browser loads the target +documentation page. + +See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv for more +information. + +## How do I create a redirect rule? + +1. Open the text file inside `redirects/` that matches the version you are currently working on. For + example, pick `redirects/13.0.txt` if you are moving/renaming the source file (`.rst` file) of a + documentation page in version 13.0 of the documentation. If the file does not exist yet, create + it. +2. Look for the block of redirect rules related to the one you want to add. For example, search for + a block of redirect rules that start with `applications/sales/sales` if you are adding a redirect + rule for a page in the Sales app. If the block does not exist yet, create it. Ideally, there + should be one block per app or scope and redirect rules should be sorted alphabetically. +3. Add a new line for your redirect rule at the end of the block. The line should follow this + pattern: + + `path/to/old/file.rst path/to/new/file.rst # optional comment` + +## When should I create a redirect rule? + +If you move or rename a source file, chances are you need to create a redirect rule for that file. A +redirect rule must be added in the following cases: +1. A source file is renamed. + + Example: `contributing/documentation/guidelines.rst` is renamed to + `contributing/documentation/rst_guidelines.rst` because you add a new `content_guidelines.rst` + file. The redirect rule should be: + + `contributing/documentation/guidelines.rst contributing/documentation/rst_guidelines.rst` +2. A source file is moved from one location to another. + + Example: The page for the developer guidelines is moved from `developer/misc/guidelines.rst` to + `contributing/develop/guidelines.rst`. The redirect rule should be: + + `developer/misc/guidelines.rst contributing/develop/guidelines.rst # Move all guidelines in contributing/` +3. Multiple source files are merged into one. + + Example: The entire content of `administation/install/odoo_sh.rst` is moved into + `administration/odoo_sh.rst` and the first file is deleted. The redirect rule should be: + + `administration/install/odoo_sh.rst administration/odoo_sh.rst # Move all information related to Odoo.sh on a single page` + +No redirect rule should be created when you delete a source file for which there is no alternative. diff --git a/redirects/saas-15.1.txt b/redirects/saas-15.1.txt new file mode 100644 index 000000000..e69de29bb diff --git a/redirects/saas-15.2.txt b/redirects/saas-15.2.txt new file mode 100644 index 000000000..e69de29bb diff --git a/redirects/saas-15.3.txt b/redirects/saas-15.3.txt new file mode 100644 index 000000000..e69de29bb diff --git a/redirects/saas-15.4.txt b/redirects/saas-15.4.txt new file mode 100644 index 000000000..e69de29bb