diff --git a/extend/component/deployment/index.md b/extend/component/deployment/index.md index 9128b125..4409b645 100644 --- a/extend/component/deployment/index.md +++ b/extend/component/deployment/index.md @@ -186,7 +186,7 @@ component repository and tag were automatically set: The component is now runnable in Keboola. You can view all settings in our [example repository](https://github.com/keboola/ex-docs-tutorial). You can also -review [Travis Configuration](https://travis-ci.org/keboola/ex-docs-tutorial/). +review [Travis Configuration](https://app.travis-ci.com/keboola/ex-docs-tutorial). *Note that it takes up to **5 minutes** before the changes in the Developer Portal propagate to all Keboola instances in all regions.* diff --git a/extend/component/implementation/python.md b/extend/component/implementation/python.md index 65d339c0..2aaa61fe 100644 --- a/extend/component/implementation/python.md +++ b/extend/component/implementation/python.md @@ -67,7 +67,7 @@ locally with `pip3 install keboola.component`. A generated [API documentation](https://htmlpreview.github.io/?https://raw.githubusercontent.com/keboola/python-component/main/docs/api-html/component/interface.html) is available for the package, and an actual working example can be found in our -[Python template](https://bitbucket.org/kds_consulting_team/kbc-python-template/src/master/src/component.py). +[Python template](https://github.com/keboola/cookiecutter-python-component). ### Initialization @@ -114,7 +114,7 @@ ci = CommonInterface() # A ValueError error is raised if the config.json file does not exists in the data dir. # Checks for required parameters and throws ValueError if any is missing. -ci.validate_configuration(REQUIRED_PARAMETERS) +ci.validate_configuration_parameters(REQUIRED_PARAMETERS) # print Keboola Project ID from the environment variable if present: logging.info(ci.environment_variables.project_id) @@ -124,7 +124,7 @@ logging.info(ci.configuration.parameters[SOME_PARAMETER]) ``` -The above would read the `somemyParameter_user_parameter` parameter from the user-supplied configuration: +The above would read the `myParameter` parameter from the user-supplied configuration: {% highlight json %} { diff --git a/extend/component/index.md b/extend/component/index.md index bd2f5c39..d42e3a7e 100644 --- a/extend/component/index.md +++ b/extend/component/index.md @@ -20,7 +20,7 @@ As a developer, you implement the application logic in a language of your choice git repository. The component must adhere to our [common interface](/extend/common-interface/). To start quickly, use our component generators for [Python](https://github.com/keboola/cookiecutter-python-component) or [PHP, CI pipelines](https://github.com/keboola/component-generator) that can generate a skeleton of the component for you. We also provide libraries to help you with implementation in [Python](https://github.com/keboola/python-component) and -[PHP](https://github.com/keboola/php-docker-application). +[PHP](https://github.com/keboola/php-component). Check our example component in [Python](https://github.com/keboola/cookiecutter-python-component/tree/main/%7B%7Bcookiecutter.repository_folder_name%7D%7D). The main part of the [common interface](/extend/common-interface/) is the specification how diff --git a/extend/component/tutorial/configuration.md b/extend/component/tutorial/configuration.md index 0cb9888c..b486ce63 100644 --- a/extend/component/tutorial/configuration.md +++ b/extend/component/tutorial/configuration.md @@ -81,7 +81,7 @@ initialized by reading the `data` directory (`CommonInterface()`). Its property configuration parameters as a dictionary. Apart from that the [Python library](https://github.com/keboola/python-component) provides methods to handle input / output files and many more (see [here](/extend/component/implementation/python/) for more information). -Similar library is currently available also for the [R language](https://github.com/keboola/r-docker-application). +A similar library is available for the [R language](https://github.com/keboola/r-docker-application). It does no magic or rocket science, so you can read the [config file](/extend/common-interface/config-file/) directly if you wish. Commit and push the code in your repository and tag it with a [normal version tag](https://semver.org/#spec-item-2). @@ -139,7 +139,7 @@ configuration, the following schema can be created: In the schema the two properties `sound` and `repeat` are declared along with the specification of their form input fields. -You can test the above schema [online](http://jeremydorn.com/json-editor/) ([alternative](https://mozilla-services.github.io/react-jsonschema-form/)) and verify that the +You can test the above schema [online](https://www.jeremydorn.com/json-editor/) ([alternative](https://mozilla-services.github.io/react-jsonschema-form/)) and verify that the form generated from it produces the desired JSON structure. Once satisfied with the result, simply paste the schema into the **Configuration schema** in your component properties in the [Developer Portal](https://components.keboola.com/). diff --git a/extend/component/tutorial/debugging.md b/extend/component/tutorial/debugging.md index 76c2d699..6f0438eb 100644 --- a/extend/component/tutorial/debugging.md +++ b/extend/component/tutorial/debugging.md @@ -154,7 +154,7 @@ to launch [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) instead. The [ ensure that the container runs in an interactive mode. You can then inspect the container contents: 'ls /data/'. -### Step 4 -- Modify +### Step 5 -- Modify Chances are that you want to modify the component code often. If you modify the component code, you have to rebuild the docker image. To avoid the slow and tedious work, run the image with the following command: diff --git a/extend/component/tutorial/index.md b/extend/component/tutorial/index.md index 91dfcb5f..bfa01033 100644 --- a/extend/component/tutorial/index.md +++ b/extend/component/tutorial/index.md @@ -48,7 +48,7 @@ Before you continue with this tutorial, make sure you - can log in to one of the Keboola [stacks](https://help.keboola.com/overview/#stacks) - have a [Github](https://github.com/) account. -*Note: Even though the tutorial assumes using [GitHub](https://github.com/) + [Travis](https://travis-ci.org/) services, they are not required for extending Keboola. +*Note: Even though the tutorial assumes using [GitHub](https://github.com/) + [Travis](https://www.travis-ci.com/) services, they are not required for extending Keboola. We use them because we like them the most. The [deployment documentation](/extend/component/deployment/) shows how to configure, for example, [Bitbucket](/extend/component/deployment/#bitbucket-integration) and [GitLab](/extend/component/deployment/#gitlab-integration) integrations.* @@ -125,7 +125,7 @@ cookiecutter gh:keboola/cookiecutter-python-component``` - You can execute the component via normal local environment without docker installed. - Set any additional dependencies for your project in `requirements.txt` - More information on the template [here](https://bitbucket.org/kds_consulting_team/kbc-python-template/src/master/README.md) + More information on the template [here](https://github.com/keboola/cookiecutter-python-component) ## CI Setup - Bitbucket: Enable [pipelines](https://confluence.atlassian.com/bitbucket/get-started-with-bitbucket-pipelines-792298921.html) in the repository. @@ -141,7 +141,7 @@ cookiecutter gh:keboola/cookiecutter-python-component``` - `KBC_STORAGE_TOKEN` - (optional) in case you wish to run KBC automated tests -[https://github.com/keboola/cookiecutter-python-component]() +[https://github.com/keboola/cookiecutter-python-component](https://github.com/keboola/cookiecutter-python-component) ### PHP, R or just CI pipeline for GitHub or Bitbucket diff --git a/extend/component/tutorial/output-mapping.md b/extend/component/tutorial/output-mapping.md index f2847616..156deeaf 100644 --- a/extend/component/tutorial/output-mapping.md +++ b/extend/component/tutorial/output-mapping.md @@ -13,7 +13,7 @@ write data to the project [Storage](https://help.keboola.com/storage/); the produced data are stored in the end users' project when the component [finishes](/extend/job-queue/). Output mapping is therefore used when your application needs to send data to the customer -project -- these are typically **extractors** and **applications**. Implementing the input mapping requires three steps: +project -- these are typically **extractors** and **applications**. Implementing the output mapping requires three steps: - turning on the default bucket option (or adding output mapping to the component UI) - adding output mapping to the component source code