├── .github ├── ISSUE_TEMPLATE │ ├── docs-bug.md │ ├── new-topic-request.md │ └── update-existing-topic.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── pr.yml │ └── release.yml ├── .gitignore ├── .ruby-version ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYRIGHT ├── Dockerfile ├── Dockerfile-dev ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── _includes ├── _sidenav-gen.html ├── extensions │ ├── backwards-compatibility.md │ ├── extension-configuration.md │ ├── extension-manifest.md │ ├── quickstart.md │ └── views.md ├── head.html ├── header.html ├── pagebottom.html └── sidenav.html ├── _layouts ├── default.html ├── documentation.html └── search.html ├── _plugins ├── alert_block.rb ├── docs.rb ├── errors_tag.rb ├── filters_tag.rb ├── form_tag.rb ├── labels_tag.rb └── scenario_tag.rb ├── api ├── guides │ ├── access_tokens.md │ ├── delegate_descriptor_ids.md │ ├── encrypting_values.md │ ├── error_handling.md │ ├── filtering.md │ ├── paging.md │ ├── relationships.md │ ├── searching.md │ ├── secrets.md │ ├── sorting.md │ └── test_extensionpackages.md ├── index.md ├── reference │ └── 1.0 │ │ ├── app_configurations │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ ├── app_surfaces │ │ │ │ ├── app_configuration_add.md │ │ │ │ ├── app_configuration_list.md │ │ │ │ ├── app_configuration_list_relationship.md │ │ │ │ ├── app_configuration_remove.md │ │ │ │ └── app_configuration_replace.md │ │ │ └── company │ │ │ │ └── app_configuration_company.md │ │ └── update.md │ │ ├── app_surfaces │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ ├── app_configurations │ │ │ │ ├── app_surface_add.md │ │ │ │ ├── app_surface_list.md │ │ │ │ ├── app_surface_list_relationship.md │ │ │ │ ├── app_surface_remove.md │ │ │ │ └── app_surface_replace.md │ │ │ └── company │ │ │ │ └── app_surface_company.md │ │ └── update.md │ │ ├── audit_events │ │ ├── fetch.md │ │ ├── index.md │ │ └── list.md │ │ ├── builds │ │ ├── create.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ ├── data_elements │ │ │ │ └── build_data_elements.md │ │ │ ├── environment │ │ │ │ └── build_environment.md │ │ │ ├── extensions │ │ │ │ └── build_extensions.md │ │ │ ├── library │ │ │ │ └── build_library.md │ │ │ ├── property │ │ │ │ └── build_property.md │ │ │ └── rules │ │ │ │ └── build_rules.md │ │ └── republish.md │ │ ├── callbacks │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ └── property │ │ │ │ └── callback_property.md │ │ └── update.md │ │ ├── companies │ │ ├── fetch.md │ │ ├── index.md │ │ └── list.md │ │ ├── data_elements │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── relationships │ │ │ ├── extension │ │ │ │ └── data_element_extension.md │ │ │ ├── libraries │ │ │ │ └── data_element_libraries.md │ │ │ ├── origin │ │ │ │ └── data_element_origin.md │ │ │ ├── property │ │ │ │ └── data_element_property.md │ │ │ ├── revisions │ │ │ │ └── data_element_revisions.md │ │ │ ├── updated_with_extension │ │ │ │ └── data_element_updated_with_extension.md │ │ │ └── updated_with_extension_package │ │ │ │ └── data_element_updated_with_extension_package.md │ │ ├── revise.md │ │ └── update.md │ │ ├── environments │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ ├── builds │ │ │ │ └── environment_builds.md │ │ │ ├── host │ │ │ │ ├── environment_host.md │ │ │ │ └── environment_host_relationship.md │ │ │ ├── library │ │ │ │ └── environment_library.md │ │ │ └── property │ │ │ │ └── environment_property.md │ │ └── update.md │ │ ├── extension_packages │ │ ├── create.md │ │ ├── delete.md │ │ ├── discontinue.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── release_private.md │ │ ├── update.md │ │ └── versions.md │ │ ├── extensions │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── relationships │ │ │ ├── extension_package │ │ │ │ └── extension_extension_package.md │ │ │ ├── libraries │ │ │ │ └── extension_libraries.md │ │ │ ├── origin │ │ │ │ └── extension_origin.md │ │ │ ├── property │ │ │ │ └── extension_property.md │ │ │ ├── revisions │ │ │ │ └── extension_revisions.md │ │ │ └── updated_with_extension_package │ │ │ │ └── extension_updated_with_extension_package.md │ │ ├── revise.md │ │ └── update.md │ │ ├── hosts │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── relationships │ │ │ └── property │ │ │ │ └── host_property.md │ │ └── update.md │ │ ├── libraries │ │ ├── create.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── publish.md │ │ ├── relationships │ │ │ ├── data_elements │ │ │ │ ├── library_add_data_elements.md │ │ │ │ ├── library_data_elements.md │ │ │ │ ├── library_data_elements_relationship.md │ │ │ │ ├── library_remove_data_elements.md │ │ │ │ └── library_replace_data_elements.md │ │ │ ├── environment │ │ │ │ ├── library_environment.md │ │ │ │ ├── library_environment_relationship.md │ │ │ │ ├── library_remove_environment.md │ │ │ │ └── library_update_environment.md │ │ │ ├── extensions │ │ │ │ ├── library_add_extensions.md │ │ │ │ ├── library_extensions.md │ │ │ │ ├── library_extensions_relationship.md │ │ │ │ ├── library_remove_extensions.md │ │ │ │ └── library_replace_extensions.md │ │ │ ├── property │ │ │ │ └── library_property.md │ │ │ ├── rules │ │ │ │ ├── library_add_rules.md │ │ │ │ ├── library_remove_rules.md │ │ │ │ ├── library_replace_rules.md │ │ │ │ ├── library_rules.md │ │ │ │ └── library_rules_relationship.md │ │ │ └── upstream_library │ │ │ │ └── library_upstream_library.md │ │ ├── transition.md │ │ └── update.md │ │ ├── notes │ │ ├── create │ │ │ ├── note_.md │ │ │ ├── note_data_element.md │ │ │ ├── note_library.md │ │ │ ├── note_property.md │ │ │ ├── note_rule.md │ │ │ └── note_rule_component.md │ │ ├── fetch.md │ │ └── index.md │ │ ├── profiles │ │ ├── fetch.md │ │ └── index.md │ │ ├── properties │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── relationships │ │ │ ├── callbacks │ │ │ │ └── property_callbacks.md │ │ │ ├── company │ │ │ │ └── property_company.md │ │ │ ├── data_elements │ │ │ │ └── property_data_elements.md │ │ │ ├── environments │ │ │ │ └── property_environments.md │ │ │ ├── extensions │ │ │ │ └── property_extensions.md │ │ │ ├── hosts │ │ │ │ └── property_hosts.md │ │ │ └── rules │ │ │ │ └── property_rules.md │ │ └── update.md │ │ ├── rule_components │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── relationships │ │ │ ├── extension │ │ │ │ └── rule_component_extension.md │ │ │ ├── origin │ │ │ │ └── rule_component_origin.md │ │ │ ├── rules │ │ │ │ └── rule_component_rules.md │ │ │ ├── updated_with_extension │ │ │ │ └── rule_component_updated_with_extension.md │ │ │ └── updated_with_extension_package │ │ │ │ └── rule_component_updated_with_extension_package.md │ │ └── update.md │ │ ├── rules │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── list_rule_component_notes.md │ │ ├── relationships │ │ │ ├── libraries │ │ │ │ └── rule_libraries.md │ │ │ ├── origin │ │ │ │ └── rule_origin.md │ │ │ ├── property │ │ │ │ └── rule_property.md │ │ │ └── revisions │ │ │ │ └── rule_revisions.md │ │ ├── revise.md │ │ └── update.md │ │ ├── search │ │ ├── index.md │ │ └── perform.md │ │ └── secrets │ │ ├── _test.html │ │ ├── create.md │ │ ├── delete.md │ │ ├── fetch.md │ │ ├── index.md │ │ ├── list.md │ │ ├── list_notes.md │ │ ├── list_on_environment.md │ │ ├── relationships │ │ ├── data_elements │ │ │ └── secret_data_elements.md │ │ ├── environment │ │ │ └── secret_environment.md │ │ └── property │ │ │ └── secret_property.md │ │ ├── retry.md │ │ ├── test.md │ │ └── update.md └── release_notes │ ├── 2019-release-notes.md │ └── 2020-release-notes.md ├── api_specification.json ├── css ├── docs.css ├── hero.css ├── icons │ ├── loadIcons.js │ ├── spectrum-css-icons-large.svg │ ├── spectrum-css-icons-medium.svg │ ├── spectrum-css-icons.svg │ └── spectrum-icons.svg ├── pygments-dark.css ├── pygments.css ├── spectrum-core-diff.css ├── spectrum-core-lg.css ├── spectrum-core.css ├── spectrum-dark.css └── spectrum-light.css ├── docker └── docs.conf ├── extensions ├── edge_extensions │ ├── guides │ │ └── quickstart.md │ ├── index.md │ └── reference │ │ ├── action-types.md │ │ ├── backwards-compatibility.md │ │ ├── condition-types.md │ │ ├── data-element-types.md │ │ ├── extension-configuration.md │ │ ├── extension-flow.md │ │ ├── extension-manifest.md │ │ ├── glossary.md │ │ ├── library-module-context-parameter.md │ │ ├── library-module-format-edge.md │ │ └── views.md ├── guides │ └── third-party-libraries.md ├── index.md ├── submissions │ ├── company-setup.md │ ├── create-listing.md │ ├── develop-extension.md │ ├── grant-user-access.md │ ├── index.md │ ├── release.md │ └── upload-and-test.md └── web_extensions │ ├── guides │ └── quickstart.md │ ├── index.md │ ├── reference │ ├── action-types.md │ ├── backwards-compatibility.md │ ├── condition-types.md │ ├── core-modules.md │ ├── data-element-types.md │ ├── event-types.md │ ├── extension-configuration.md │ ├── extension-flow.md │ ├── extension-manifest.md │ ├── glossary.md │ ├── library-module-format.md │ ├── shared-modules.md │ ├── supported-browsers.md │ ├── turbine-free-variable.md │ └── views.md │ └── shared_modules │ ├── adobe-analytics.md │ └── index.md ├── favicon.ico ├── files ├── launch-gpg-prod.zip ├── launch-integration@adobe.com_pub.gpg ├── launch-integration@adobe.com_pub.gpg.sum ├── launch-test@adobe.com_pub.gpg ├── launch-test@adobe.com_pub.gpg.sum ├── launch@adobe.com_pub.gpg └── launch@adobe.com_pub.gpg.sum ├── images ├── access-token │ ├── access-creds.png │ ├── add-api-button.png │ ├── add-launch-api.png │ ├── api-added.png │ ├── auto-access-creds.png │ ├── create-jwt.png │ ├── generate-jwt.png │ ├── jwt-generated.png │ ├── keypair-generated.png │ ├── paste-private-key.png │ ├── select-product-profile.png │ └── token-generated.png ├── data-element-field.png ├── event-processing-flow-edge.png ├── extension-flow-edge.png ├── extension-flow.png ├── getting-started │ ├── action-configuration.jpg │ ├── adapter-success.jpg │ ├── adapters-link.jpg │ ├── add-new-library.jpg │ ├── admin-console-add-admin.jpg │ ├── admin-console-add-admin2.jpg │ ├── admin-console-add-all-rights.jpg │ ├── admin-console-add-launch-user.jpg │ ├── admin-console-add-user-profile.jpg │ ├── admin-console-add-user.jpg │ ├── admin-console-assign-rights.jpg │ ├── admin-console-choose-org.jpg │ ├── admin-console-create-a-new-profile.jpg │ ├── admin-console-launchCard.jpg │ ├── admin-console-overview.jpg │ ├── admin-console-products-launch.jpg │ ├── admin-console-profile-permissions.jpg │ ├── admin-console-profiles-add-user.jpg │ ├── admin_console_add_all_company_rights.png │ ├── admin_console_add_all_property_rights.png │ ├── admin_console_rights.png │ ├── app-mgr-link.png │ ├── build-for-dev.jpg │ ├── catalog.jpg │ ├── create-a-property.jpg │ ├── create-data-element.jpg │ ├── create-new-adapter-link.jpg │ ├── create-new-environment.jpg │ ├── create-new-library.jpg │ ├── create-new-rule.jpg │ ├── custom-tags.jpg │ ├── dev-adapter.jpg │ ├── embed-codes.jpg │ ├── extension-installed.jpg │ ├── extensions.jpg │ ├── fb-extension.jpg │ ├── i-o_overview.jpg │ ├── imsUserID.jpg │ ├── install-extension.jpg │ ├── keys.gif │ ├── launch-choose-org.jpg │ ├── launch_create_a_dev_property.png │ ├── launch_installation_instructions.png │ ├── launch_installation_instructions_copy.png │ ├── load-event.jpg │ ├── new-integration.gif │ ├── properties-screen.jpg │ ├── rules-link.jpg │ ├── select-development.jpg │ ├── successful-build.jpg │ ├── tech-accnt-id.jpg │ └── userData.imsAccessToken.jpg ├── launch.svg ├── rule-processing-flow-edge.png ├── rule-processing-flow.png └── secrets │ └── secret-data-element.png ├── index.html ├── js ├── docs.js ├── lunr.min.js ├── search.js └── vendor │ └── typekit.js ├── resources ├── example_projects.md ├── index.md └── tooling.md └── search └── index.html /.github/ISSUE_TEMPLATE/docs-bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Docs Bug 3 | about: 'Can be used to report a specific issue with the docs: broken links, incorrect 4 | info, etc' 5 | title: '' 6 | labels: '' 7 | assignees: '' 8 | 9 | --- 10 | 11 | # Documentation Bug 12 | 13 | ## Topic Link 14 | 15 | 16 | 17 | ## Description 18 | 19 | 20 | 21 | ## Additional information 22 | 23 | 24 | 25 | 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-topic-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: New Topic Request 3 | about: Can be used by a contributor to request adding information on the undocumented 4 | feature 5 | title: '' 6 | labels: '' 7 | assignees: '' 8 | 9 | --- 10 | 11 | # New topic request 12 | 13 | ## Description 14 | 15 | 16 | 17 | ## Content checklist 18 | 19 | 20 | 21 | 22 | 23 | - [ ] The topic provides an explanation of how ____ works. 24 | - [ ] The topic provides steps for ____. 25 | - [ ] The topic contains code samples that show ____. 26 | - [ ] Other (please specify) 27 | 28 | ## Additional information/resources 29 | 30 | 31 | 32 | 37 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/update-existing-topic.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Update Existing Topic 3 | about: Can be used to request an update or enhancement for existing documentation 4 | page. 5 | title: '' 6 | labels: '' 7 | assignees: '' 8 | 9 | --- 10 | 11 | # Topic update request 12 | 13 | ## Topic Link 14 | 15 | 16 | 17 | ## Description 18 | 19 | 20 | 21 | ## Additional information 22 | 23 | 24 | 25 | 30 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | #### Purpose 2 | 3 | 4 | #### Changes 5 | 6 | 7 | #### Caveats 8 | 9 | 10 | #### Additional helpful information 11 | 12 | 13 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: pr 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - main 7 | 8 | permissions: 9 | contents: read 10 | packages: write 11 | 12 | env: 13 | REGISTRY: ghcr.io 14 | IMAGE_NAME: "adobe/reactor-developer-docs" 15 | 16 | jobs: 17 | build: 18 | runs-on: ubuntu-latest 19 | 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@v2 23 | 24 | - name: Build 25 | uses: docker/build-push-action@v2 26 | with: 27 | context: . 28 | push: false 29 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | permissions: 9 | contents: read 10 | packages: write 11 | 12 | env: 13 | REGISTRY: ghcr.io 14 | IMAGE_NAME: "adobe/reactor-developer-docs" 15 | 16 | jobs: 17 | build-release: 18 | runs-on: ubuntu-latest 19 | 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@v2 23 | 24 | - name: Login to GitHub Container Registry 25 | uses: docker/login-action@v1 26 | with: 27 | registry: ${{ env.REGISTRY }} 28 | username: ${{ github.actor }} 29 | password: ${{ secrets.GITHUB_TOKEN }} 30 | 31 | - name: Extract metadata (tags, labels) for Docker 32 | id: meta 33 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 34 | with: 35 | images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} 36 | 37 | - name: Build and push 38 | uses: docker/build-push-action@v2 39 | with: 40 | context: . 41 | push: true 42 | tags: ${{ steps.meta.outputs.tags }} 43 | labels: ${{ steps.meta.outputs.labels }} 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bundle 2 | /_site 3 | /vendor 4 | .jekyll-cache 5 | 6 | *.un~ 7 | *.swp 8 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.0.2 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for choosing to contribute! 4 | 5 | The following are a set of guidelines to follow when contributing to this project. 6 | 7 | ## Code Of Conduct 8 | 9 | This project adheres to the Adobe [code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to Grp-opensourceoffice@adobe.com. 10 | 11 | ## Contributor License Agreement 12 | 13 | All third-party contributions to this project must be accompanied by a signed contributor license. This gives Adobe permission to redistribute your contributions as part of the project. Sign our [CLA](http://opensource.adobe.com/cla.html). You only need to submit an Adobe CLA one time, so if you have submitted one previously, you are probably good to go! 14 | 15 | ## Code Reviews 16 | 17 | All submissions should come in the form of pull requests and need to be reviewed by project committers. Read [GitHub's pull request documentation](https://help.github.com/articles/about-pull-requests/) for more information on sending pull requests. 18 | -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 2019 Adobe 2 | 3 | Adobe holds the copyright for all the files found in this repository. 4 | 5 | See the LICENSE file for licensing information. 6 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:3.0.2 as builder 2 | 3 | WORKDIR /srv/docs 4 | 5 | ADD . /srv/docs 6 | 7 | RUN bundle install --jobs 4 && \ 8 | JEKYLL_ENV=production bundle exec jekyll build && \ 9 | tar -czf /tmp/docs.tar.gz -C _site \ 10 | --exclude=*.un~ \ 11 | --exclude=.DS_Store \ 12 | --exclude=api_specification.json \ 13 | --exclude=LICENSE --exclude=README . 14 | 15 | 16 | FROM nginx:1.21.1 17 | 18 | WORKDIR /srv/docs 19 | 20 | ADD docker/docs.conf /etc/nginx/conf.d/docs.conf 21 | 22 | COPY --from=builder /tmp/docs.tar.gz /tmp/docs.tar.gz 23 | 24 | RUN tar xzf /tmp/docs.tar.gz -C /srv/docs && \ 25 | chown -R nginx:www-data /srv/docs && \ 26 | rm /etc/nginx/conf.d/default.conf 27 | -------------------------------------------------------------------------------- /Dockerfile-dev: -------------------------------------------------------------------------------- 1 | FROM ruby:3.0.2 2 | 3 | ENV GEM_HOME=/bundle 4 | ENV BUNDLE_PATH=/bundle 5 | ENV BUNDLE_APP_CONFIG=/bundle 6 | ENV BUNDLE_BIN=/bundle 7 | ENV BUNDLE_JOBS=4 8 | 9 | WORKDIR /srv/docs 10 | 11 | ADD Gemfile* ./ 12 | 13 | RUN bundle install && rm Gemfile* 14 | 15 | VOLUME /bundle 16 | VOLUME /srv/docs 17 | 18 | CMD bundle install && bundle exec jekyll serve --host=0.0.0.0 19 | 20 | EXPOSE 4000 21 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | ruby RUBY_VERSION 3 | 4 | # Hello! This is where you manage which Jekyll version is used to run. 5 | # When you want to use a different version, change it below, save the 6 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 7 | # 8 | # bundle exec jekyll serve 9 | # 10 | # This will help ensure the proper Jekyll version is running. 11 | # Happy Jekylling! 12 | gem 'jekyll', '4.2.0' 13 | gem 'webrick', '~> 1.7' 14 | 15 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 16 | # gem "minima" 17 | 18 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 19 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 20 | # gem "github-pages", group: :jekyll_plugins 21 | 22 | gem 'pry-byebug' 23 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.8.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | byebug (11.1.3) 7 | coderay (1.1.3) 8 | colorator (1.1.0) 9 | concurrent-ruby (1.1.9) 10 | em-websocket (0.5.2) 11 | eventmachine (>= 0.12.9) 12 | http_parser.rb (~> 0.6.0) 13 | eventmachine (1.2.7) 14 | ffi (1.15.3) 15 | forwardable-extended (2.6.0) 16 | http_parser.rb (0.6.0) 17 | i18n (1.8.10) 18 | concurrent-ruby (~> 1.0) 19 | jekyll (4.2.0) 20 | addressable (~> 2.4) 21 | colorator (~> 1.0) 22 | em-websocket (~> 0.5) 23 | i18n (~> 1.0) 24 | jekyll-sass-converter (~> 2.0) 25 | jekyll-watch (~> 2.0) 26 | kramdown (~> 2.3) 27 | kramdown-parser-gfm (~> 1.0) 28 | liquid (~> 4.0) 29 | mercenary (~> 0.4.0) 30 | pathutil (~> 0.9) 31 | rouge (~> 3.0) 32 | safe_yaml (~> 1.0) 33 | terminal-table (~> 2.0) 34 | jekyll-sass-converter (2.1.0) 35 | sassc (> 2.0.1, < 3.0) 36 | jekyll-watch (2.2.1) 37 | listen (~> 3.0) 38 | kramdown (2.3.1) 39 | rexml 40 | kramdown-parser-gfm (1.1.0) 41 | kramdown (~> 2.0) 42 | liquid (4.0.3) 43 | listen (3.7.0) 44 | rb-fsevent (~> 0.10, >= 0.10.3) 45 | rb-inotify (~> 0.9, >= 0.9.10) 46 | mercenary (0.4.0) 47 | method_source (1.0.0) 48 | pathutil (0.16.2) 49 | forwardable-extended (~> 2.6) 50 | pry (0.13.1) 51 | coderay (~> 1.1) 52 | method_source (~> 1.0) 53 | pry-byebug (3.9.0) 54 | byebug (~> 11.0) 55 | pry (~> 0.13.0) 56 | public_suffix (4.0.6) 57 | rb-fsevent (0.11.0) 58 | rb-inotify (0.10.1) 59 | ffi (~> 1.0) 60 | rexml (3.2.5) 61 | rouge (3.26.0) 62 | safe_yaml (1.0.5) 63 | sassc (2.4.0) 64 | ffi (~> 1.9) 65 | terminal-table (2.0.0) 66 | unicode-display_width (~> 1.1, >= 1.1.1) 67 | unicode-display_width (1.7.0) 68 | webrick (1.7.0) 69 | 70 | PLATFORMS 71 | ruby 72 | 73 | DEPENDENCIES 74 | jekyll (= 4.2.0) 75 | pry-byebug 76 | webrick (~> 1.7) 77 | 78 | RUBY VERSION 79 | ruby 2.7.2p137 80 | 81 | BUNDLED WITH 82 | 2.2.22 83 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | © Copyright 2019 Adobe. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reactor Developer Docs 2 | 3 | Developer documentation for Adobe Experience Platform Launch - https://developer.adobelaunch.com 4 | 5 | ## Issues 6 | 7 | Found something amiss with the documentation? Let us know via an 8 | [issue](https://github.com/adobe/reactor-developer-docs/issues). 9 | 10 | ## Contributing 11 | 12 | Contributions are welcomed! Read the [Contributing Guide](CONTRIBUTING.md) for more information. 13 | 14 | The documentation site is built using [Jekyll](https://jekyllrb.com), a static 15 | website generator. While many documentation changes can be simple and using a 16 | markdown editor is sufficient to review changes, sometimes it's easier to see 17 | how things look after being rendered. This can be achieved in one of two 18 | ways, developing locally, or developing using a Docker container. 19 | 20 | Fork and clone this reactor-developer-docs repository. After making and 21 | previewing changes, create a commit, and open a Pull Request. 22 | 23 | ## Developing 24 | 25 | ### Developing locally 26 | 27 | #### Prerequisites 28 | 29 | - Ruby 2.6.x 30 | 31 | #### Setup 32 | 33 | ```bash 34 | bundle install 35 | ``` 36 | 37 | #### Build and run 38 | 39 | Next, start Jekyll. 40 | 41 | ```bash 42 | bundle exec jekyll serve --port 4000 43 | ``` 44 | 45 | #### Preview 46 | 47 | Open a browser to http://localhost:4000. 48 | 49 | 50 | ### Developing using a Docker container 51 | 52 | For development environment convenience, a docker image is available from Docker 53 | Hub. 54 | 55 | #### Prerequisites 56 | 57 | - Docker 58 | 59 | #### Setup 60 | 61 | Pull the docker image. Be sure to do this step often to obtain updated versions. 62 | 63 | ```bash 64 | docker pull adobe/reactor-developer-docs-dev 65 | ``` 66 | 67 | #### Run the container 68 | 69 | Note the path to the reactor-developer-docs directory. Either export the path as 70 | `$REACTOR_DEVELOPER_DOCS_DIR` or replace it in the following command. 71 | 72 | If a port other than `8000` is desired, be sure to change it as well. 73 | 74 | ```bash 75 | docker run -d \ 76 | -p 8000:4000 \ 77 | -v $REACTOR_DEVELOPER_DOCS_DIR:/srv/docs \ 78 | --name reactor-developer-docs-dev \ 79 | adobe/reactor-developer-docs-dev:latest 80 | ``` 81 | 82 | As you make changes to the files and save them, Jekyll will automatically regenerate these pages so you can view the updates in your browser. Note that this can take 20-30 seconds. If you'd like to see the Jekyll output as this regeneration happens, you can use the following command in your console. 83 | 84 | ```bash 85 | docker logs -f reactor-developer-docs-dev 86 | ``` 87 | 88 | #### Preview 89 | 90 | Open a browser to http://localhost:8000. 91 | 92 | ## Licensing 93 | 94 | This project is licensed under the MIT License. See [LICENSE](LICENSE) for more information. 95 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Adobe Experience Platform Launch 2 | email: dtm@adobe.com 3 | description: > 4 | Documentation for the Adobe Launch platform. 5 | baseurl: "" 6 | url: "https://developer.adobelaunch.com" 7 | 8 | # Build settings 9 | markdown: kramdown 10 | permalink: pretty 11 | 12 | sections: 13 | - api 14 | - extensions 15 | - resources 16 | 17 | section_orders: 18 | extensions: 19 | - web_extensions 20 | - edge_extensions 21 | 22 | exclude: 23 | - Dockerfile 24 | - Gemfile* 25 | - README.md 26 | - videos 27 | - vendor 28 | 29 | defaults: 30 | - scope: 31 | path: "api" 32 | type: "pages" 33 | values: 34 | layout: "documentation" 35 | - scope: 36 | path: "api/1.0-Unstable" 37 | type: "pages" 38 | values: 39 | layout: "documentation" 40 | labels: 41 | - "unstable" 42 | - scope: 43 | path: "epages" 44 | type: "pages" 45 | values: 46 | layout: "documentation" 47 | - scope: 48 | path: "extensions" 49 | type: "pages" 50 | values: 51 | layout: "documentation" 52 | - scope: 53 | path: "resources" 54 | type: "pages" 55 | values: 56 | layout: "documentation" 57 | 58 | environment: external 59 | 60 | launch_library_url_dev: //assets.adobedtm.com/launch-ENb1b2a98396e04dd4a82cd790a4730546-development.min.js 61 | launch_library_url_stage: //assets.adobedtm.com/launch-ENb0fca57af3154292b7f0528bfad6b7af-staging.min.js 62 | launch_library_url_prod: //assets.adobedtm.com/launch-ENb8cf58511e7a4d6794fd92efd98d4044.min.js 63 | -------------------------------------------------------------------------------- /_includes/_sidenav-gen.html: -------------------------------------------------------------------------------- 1 | {% assign documents = collection['documents'] %} 2 | {% assign children = collection['children'] %} 3 | {% assign collection_name = collection['name'] %} 4 | 5 | -------------------------------------------------------------------------------- /_includes/extensions/extension-configuration.md: -------------------------------------------------------------------------------- 1 | # Extension Configuration 2 | 3 | Extension configuration is the manner by which an extension gathers global settings from a user. For example, consider an extension that allows the user to send a beacon using a Send Beacon action, and the beacon must always contain an account ID. We don't want to trouble users by asking them for the account ID each time they configure a Send Beacon action. Instead, the extension should ask for the account ID once from the extension configuration view. Each time a beacon is to be sent, the Send Beacon action library module can pull the account ID from the extension configuration and add it to the beacon. 4 | 5 | When users install an extension to a Launch property, they will be shown the extension configuration view which your extension will provide. They cannot complete installation of the extension without completing extension configuration. See [Views](../views) to learn how to create a view for extension configuration. 6 | 7 | After settings are saved from an extension configuration view, they will be emitted in the Launch runtime library. {% if page.platform == 'web' %}You can then access these settings from extension library modules by calling [`turbine.getExtensionSettings()`](../turbine-free-variable/#turbinegetextensionsettings--).{% else %}You can then access these settings from extension library modules by accessing the `extensionSettings` property from the [`Adobe Request Context (arc)`](../arc/#arcextensionsettings--) variable.{% endif %} 8 | 9 | Extension configuration is an optional feature that you may choose not to leverage. 10 | -------------------------------------------------------------------------------- /_includes/extensions/quickstart.md: -------------------------------------------------------------------------------- 1 | # Quickstart 2 | 3 | To get you up and running and building extensions, we will be using the open-source scaffolding tool, generously provided by Adobe's Launch engineers to create the necessary files and file structure for your extension package, so all you have left to do is the valuable part: actually write the code. 4 | 5 | ### Prerequisites 6 | 7 | - Install [Node.js](https://nodejs.org/en/download/). 8 | 9 | ### Extension Setup 10 | 11 | Create a directory where your extension files will live. 12 | 13 | ```bash 14 | mkdir example && cd example 15 | ``` 16 | 17 | This guide utilizes the extension scaffolding tool to build out the initial extension structure so developers can quickly begin coding. This process can be done manually without the scaffold tool, if desired. 18 | 19 | Run the scaffold tool. 20 | 21 | ```bash 22 | npx @adobe/reactor-scaffold 23 | ``` 24 | 25 | The scaffold tool will prompt for some initial configuration options as follows: 26 | 27 | - Display name - The visible name of the extension 28 | - Version - The version of the extension 29 | - Description - A short description of the extension's purpose 30 | - Author - The name of the extension's author 31 | 32 | The scaffold tool will then provide options for building the extension structure: 33 | 34 | - [Extension configuration view](../../reference/extension-configuration) - The view, HTML file, through which an extension gathers global settings from an user.{% if page.platform == 'web' %} 35 | - [Event type](../../reference/event-types) - Defines an activity for observation. For example, know when a user scrolls rapidly, or a user interacted with a page element. Events can then be utilized in rules to perform actions.{% endif %} 36 | - [Condition type](../../reference/condition-types) - Condition types evaluate whether something is true or false. 37 | For example, this can return if the user’s browser is Chrome, if they're using an iPad, or if the user is on a specific domain. 38 | - [Action type](../../reference/action-types) - The action to perform when an event occurs. For example, send an analytics beacon, show an offer, save a cookie, or open a support chat. 39 | - [Data element type](../../reference/data-element-types) - A data element type retrieves a piece of data. This data could be in local storage, in a cookie, in a DOM element, or in a custom location.{% if page.platform == 'web' %} 40 | - [Shared module](../../reference/shared-modules) - A shared module is a mechanism by which extensions may communicate with other extensions.{% endif %} 41 | - [Views](../../reference/views) - Each {% if page.platform == 'web' %}event, {% endif %}condition, action, or data element type may provide a view allowing a user to supply settings. 42 | 43 | {% alert info, Note %} 44 | - Subsequent runs of the scaffolding tool will skip over the initial configuration. 45 | - More than one of each {% if page.platform == 'web' %}event, {% endif %}condition, action, may be added. 46 | - Only one configuration view may exist. 47 | {% endalert %} 48 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ site.title }} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {% if jekyll.environment == 'production' %} 15 | 16 | {% elsif jekyll.environment == 'staging' %} 17 | 18 | {% else %} 19 | 20 | {% endif %} 21 | -------------------------------------------------------------------------------- /_includes/pagebottom.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /_includes/sidenav.html: -------------------------------------------------------------------------------- 1 | {% assign collection_name = url_parts[1] %} 2 | {% assign collection = site.hierarchy | where_exp:"item", "item['name'] == collection_name" | first %} 3 | 4 | 7 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | {{ content }} -------------------------------------------------------------------------------- /_layouts/documentation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 |
8 | {% include header.html %} 9 |
10 |
11 | {% include sidenav.html %} 12 |
13 |
14 |
15 | {{ content }} 16 |
17 |
18 |
19 |
20 |
21 | {% include pagebottom.html %} 22 | 23 | 24 | -------------------------------------------------------------------------------- /_layouts/search.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 |
8 | {% include header.html %} 9 |
10 |
11 | {{ content }} 12 |
13 |
14 |
15 |
16 | {% include pagebottom.html %} 17 | 18 | 19 | -------------------------------------------------------------------------------- /_plugins/alert_block.rb: -------------------------------------------------------------------------------- 1 | class Jekyll::AlertBlock < Liquid::Block 2 | def initialize(tag_name, markup, tokens) 3 | super 4 | args = markup.to_s.split(',') 5 | @alert_type = args.fetch(0, nil)&.strip 6 | @title = args.fetch(1, nil)&.strip 7 | end 8 | 9 | def render(content) 10 | text = super 11 | site = content.registers[:site] 12 | converter = site.find_converter_instance(::Jekyll::Converters::Markdown) 13 | formatted_content = converter.convert(text) 14 | buildAlertMarkup(formatted_content) 15 | end 16 | 17 | def alertTypeForColor(color) 18 | 19 | end 20 | 21 | def buildAlertMarkup(content) 22 | case @alert_type 23 | when 'success' then 24 | icon = 'Success' 25 | when 'info' then 26 | icon = 'Info' 27 | when 'warning' then 28 | icon = 'Alert' 29 | when 'help' then 30 | icon = 'Help' 31 | when 'error' then 32 | icon = 'Alert' 33 | else 34 | icon = 'Info' 35 | end 36 | 37 | markup = < 39 | 42 | EOT 43 | 44 | markup += "
#{@title}
" if @title 45 | markup += <#{content} 47 | 48 | EOT 49 | markup 50 | end 51 | end 52 | -------------------------------------------------------------------------------- /_plugins/errors_tag.rb: -------------------------------------------------------------------------------- 1 | class Jekyll::ErrorsTag < Liquid::Tag 2 | 3 | ERROR_SPEC_TEMPLATE =<{{code}} 5 |

{{description}}

6 | EOT 7 | 8 | def initialize(tag_name, markup, tokens) 9 | super 10 | @error_spec = ApiSpecification.instance.errors 11 | end 12 | 13 | def render(context) 14 | render_template =< 16 | {{error_spec}} 17 | 18 | EOT 19 | rendered_output = '' 20 | 21 | @error_spec.each do |err| 22 | error_spec = ERROR_SPEC_TEMPLATE.dup 23 | error_spec.sub!('{{title}}', err['title']) 24 | error_spec.sub!('{{code}}', err['code']) 25 | error_spec.sub!('{{description}}', err['description'] || '') 26 | rendered_output += error_spec + "\n" 27 | end 28 | 29 | render_template.sub('{{error_spec}}', rendered_output) 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /_plugins/filters_tag.rb: -------------------------------------------------------------------------------- 1 | class Jekyll::FiltersTag < Liquid::Tag 2 | 3 | FIELD_TEMPLATE =< 5 |
6 | {{field}} 7 |
8 | 9 | EOT 10 | 11 | def initialize(tag_name, resource, tokens) 12 | super 13 | @resource = resource.strip 14 | @filters = ApiSpecification.instance.filters.dig(@resource) 15 | end 16 | 17 | def render(context) 18 | render_template =< 20 | 42 | 43 | EOT 44 | rendered_output = '' 45 | 46 | @filters&.sort.each do |f| 47 | filter_spec = FIELD_TEMPLATE.dup 48 | filter_spec.sub!('{{field}}', f) 49 | rendered_output += filter_spec + "\n" 50 | end 51 | 52 | render_template.sub('{{filter_spec}}', rendered_output) 53 | end 54 | end 55 | -------------------------------------------------------------------------------- /_plugins/labels_tag.rb: -------------------------------------------------------------------------------- 1 | class Jekyll::LabelsTag < Liquid::Tag 2 | 3 | def initialize(tag_name, markup, tokens) 4 | super 5 | end 6 | 7 | def render(context) 8 | labels = context['page']['labels'] || [] 9 | markup = '' 10 | labels.each do |l| 11 | markup += markup_for_label(l) 12 | end 13 | "
#{markup}
" 14 | end 15 | 16 | def markup_for_label(label) 17 | color = 'grey' 18 | text = label 19 | 20 | case label 21 | when 'unstable' 22 | color = 'orange' 23 | text = 'Unstable' 24 | when 'alpha' 25 | color = 'fuchsia' 26 | text = 'Alpha' 27 | when 'beta' 28 | color = 'blue' 29 | text = 'Beta' 30 | end 31 | 32 | markup = <#{text} 34 | EOF 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /api/guides/error_handling.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Error Handling 3 | --- 4 | 5 | # Error Handling 6 | 7 | When a problem occurs in Launch, an error may be returned in one of the 8 | following ways: 9 | 10 | #### API response 11 | 12 | When performing an API request that results in an immediate error, an error 13 | response will be returned by the API, with the HTTP code reflecting the general 14 | type of error that occured. 15 | 16 | #### Resource `meta` 17 | 18 | When performing an API request that results in a delayed error, an asynchronous 19 | activity for example, an error may be returned by the API in the 20 | `{"meta": {"status_details": ... }}` of a related resource. 21 | 22 | ## Error Format 23 | 24 | Error responses aim to conform to the [JSONAPI Errors 25 | specification](http://jsonapi.org/format/#errors), and will 26 | generally adhere to the following structure: 27 | 28 | - `id`: a unique identifier for this particular occurrence of the problem. 29 | - `status`: the HTTP status code applicable to this problem, expressed as a string value. 30 | - `code`: an application-specific error code, expressed as a string value. 31 | - `title`: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. 32 | - `detail`: a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. 33 | - `source`: an object containing references to the source of the error, optionally including any of the following members: 34 | - `pointer`: a JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute]. 35 | - `meta`: a meta object containing non-standard meta-information about the error. 36 | 37 | For example: 38 | 39 | ```json 40 | { 41 | "errors": [ 42 | { 43 | "id": "8a5526da-ab12-4be9-b084-2efe537f388c", 44 | "status": "404", 45 | "code": "not-found", 46 | "title": "Record Not Found", 47 | "meta": { 48 | "request_id": "jfb0dQ2e0XVTkQ6AOfEJFfTDjguw9x3d" 49 | }, 50 | "source": { 51 | } 52 | } 53 | ] 54 | } 55 | ``` 56 | 57 | ## Errors 58 | 59 | {% errors %} 60 | -------------------------------------------------------------------------------- /api/guides/paging.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Paging 3 | --- 4 | 5 | # Paging 6 | 7 | APIs results are paged. The default page size is 25 elements. Details about the pagination are reported in the meta.pagination section of the API response. 8 | 9 | `"meta": {"pagination": {"current_page": 1, "next_page": 2, "prev_page": null, "total_pages": 4, "total_count": 90}}` 10 | 11 | It is possible to get a specific page and to modify the size of a page. 12 | 13 | ## Get a specific page 14 | 15 | To get a specific page. 16 | 17 | `GET /properties/:property_id/data_elements?page[number]=` 18 | 19 | ## Change the page size 20 | 21 | To change the page size. 22 | 23 | `GET /properties/:property_id/data_elements?page[size]=` 24 | 25 | The options can be combined together. 26 | 27 | `GET /properties/:property_id/data_elements?page[size]=&page[number]=` 28 | 29 | -------------------------------------------------------------------------------- /api/guides/sorting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sorting 3 | --- 4 | 5 | # Sorting 6 | 7 | Resources requested via index endpoints may be sorted by any attribute of the 8 | respective resource. All index endpoints support sorting. Sorting may be 9 | achieved by supplying a `sort` parameter in a request URL. 10 | 11 | ## Sort ascending 12 | 13 | Resources may be sorted by an attribute in ascending order by specifying the 14 | attribute by which to sort, and prefixing it with a `+`. 15 | 16 | `GET /companies/:company_id/properties?sort=+name` 17 | 18 | ## Sort descending 19 | 20 | Resources may be sorted by an attribute in descending order by specifying the 21 | attribute by which to sort, and prefixing it with a `-`. 22 | 23 | `GET /companies/:company_id/properties?sort=-name` 24 | 25 | ## Multiple sorts 26 | 27 | To sort by multiple values, supply the sort directives as a comma-separated 28 | list. 29 | 30 | `GET /companies/:company_id/properties?sort=+name,-org_id` 31 | -------------------------------------------------------------------------------- /api/guides/test_extensionpackages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test ExtensionPackages 3 | internal: true 4 | --- 5 | 6 | # Test ExtensionPackages 7 | 8 | To facilitate testing certain scenarios, some pre-configured ExtensionPackages 9 | are automatically made available in non-production environments. 10 | 11 | 12 | | ID | Status | Behavior | 13 | | --- | ------ | -------- | 14 | | `EP00000000000000000000000000000000` | `pending` | ExtensionPackage `status` is `pending` | 15 | | `EP00000000000000000000000000000001` | `succeeded` | ExtensionPackage `status` is `succeeded` * | 16 | | `EP00000000000000000000000000000002` | `failed` | ExtensionPackage `status` is `failed` | 17 | 18 | * Refer to [Retrieve an Extension](/api/extensions/#retrieve-an-extension>) for 19 | more information on which features are defined. 20 | 21 | 22 | -------------------------------------------------------------------------------- /api/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | layout: documentation 4 | --- 5 | 6 | # API First 7 | 8 | Launch, by Adobe is an entirely API-first application. All system functionality is accessible through the API. The UI at [https://experience.adobe.com/#/data-collection](https://experience.adobe.com/#/data-collection) is simply a friendly way to interact with them. 9 | 10 | This API - known as the Reactor API - uses the JSON API specification. We expect inputs to be compliant with this specification and all outputs are also compliant. You can read more at [jsonapi.org](http://jsonapi.org/). 11 | 12 | The full API specification is available under Reference > 1.0 in the navigation. 13 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create an App Configuration 8 | 9 | {% labels %} 10 | 11 | {% form app_configuration.post %} 12 | 13 | {% scenario app_configurations.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Delete an App Configuration 8 | 9 | {% labels %} 10 | 11 | {% scenario app_configurations.delete app_configurations.delete_an_app_configuration %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch an App Configuration 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for an existing AppConfiguration, based on its ID. 12 | 13 | {% scenario app_configurations.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # App Configurations 8 | 9 | {% labels %} 10 | 11 | **The implementation of `App Configurations` are in flux as features are added, removed, and reworked.** 12 | 13 | `App Configurations` allow credentials to be stored and retrieved for later use. As of this writing only Customer Journey Management (CJM) can read the decrypted `push_credential`. 14 | 15 | `platform` determines what messaging services are available. 16 | 17 | 18 | `messaging_service` such as Apple's `apns` and Google's `fcm` determines which key types can be used. 19 | 20 | 21 | `key_type` abstracts a protocol that a push service vendor supports and determines the definition of the `push_credential` object. As protocols evolve for the messaging services, new `key_types` are created to support the updated protocols. 22 | 23 | 24 | `push_credential` stores the credentials. The `push_credential` is encrypted at rest. This field is not normally decrypted or included in an API response. Only Adobe Services (only CJM currently, though more services may be allowed in the future) can get a response containing a decrypted `push_credential`. 25 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List App Configurations for a Company 8 | 9 | {% labels %} 10 | 11 | Retrieve the App Configurations owned by the specified Company. 12 | 13 | {% filters app_configuration %} 14 | 15 | {% scenario app_configurations.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/app_surfaces/app_configuration_add.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Add relationships 3 | --- 4 | 5 | # Add AppSurfaces to an AppConfiguration 6 | 7 | Insert AppSurfaces into the specified AppConfiguration. 8 | 9 | {% scenario app_configurations_relationships_app_surfaces.create app_configurations.add_app_surfaces_to_the_app_configuration %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/app_surfaces/app_configuration_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related AppSurfaces 6 | 7 | Retrieve the AppSurfaces related to the specified AppConfiguration. 8 | 9 | {% scenario app_configuration_relationship_app_surfaces.index app_configurations.list_the_app_surfaces_for_an_app_configuration %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/app_surfaces/app_configuration_list_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List relationships 3 | --- 4 | 5 | # List AppSurface relationships for an AppConfiguration 6 | 7 | Retrieve the relationship linkage for the AppSurfaces related to the specified AppConfiguration. 8 | 9 | {% scenario app_configurations_relationships_app_surfaces.show app_configurations.list_the_app_surfaces_relationships_for_an_app_configuration %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/app_surfaces/app_configuration_remove.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationships 3 | --- 4 | 5 | # Remove AppSurfaces from an AppConfiguration 6 | 7 | Remove AppSurfaces from the specified AppConfiguration. 8 | 9 | {% scenario app_configurations_relationships_app_surfaces.delete app_configurations.remove_app_surface_from_an_app_configuration %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/app_surfaces/app_configuration_replace.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Replace relationships 3 | --- 4 | 5 | # Replace AppSurfaces on an AppConfiguration 6 | 7 | Replace all existing AppSurfaces on a AppConfiguration with the specified AppSurfaces 8 | 9 | {% scenario app_configurations_relationships_app_surfaces.update app_configurations.replace_app_surfaces_on_an_app_configuration %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/relationships/company/app_configuration_company.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch the related Company 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for the Company that owns the specified App Configuration 12 | 13 | {% scenario app_configuration_relationship_company.show companies.get_the_company_for_an_app_configuration %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_configurations/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Update an App Configuration 8 | 9 | {% labels %} 10 | 11 | {% form app_configuration.patch %} 12 | 13 | {% scenario app_configurations.update %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create an App Surface 8 | 9 | {% labels %} 10 | 11 | {% form app_surface.post %} 12 | 13 | {% scenario app_surfaces.create app_surfaces.create_an_app_surface %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Delete an App Surface 8 | 9 | {% labels %} 10 | 11 | {% scenario app_surfaces.delete app_surfaces.delete_an_app_surface %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch an App Surface 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for an existing AppSurface, based on its ID. 12 | 13 | {% scenario app_surfaces.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # App Surfaces 8 | 9 | {% labels %} 10 | 11 | **The implementation of `App Surfaces` are in flux as features are added, removed, and reworked.** 12 | 13 | `App Surfaces` allow groupings of `App Configurations`. 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List App Surfaces for a Company 8 | 9 | {% labels %} 10 | 11 | Retrieve the App Surfaces owned by the specified Company. 12 | 13 | {% scenario app_surfaces.index %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/app_configurations/app_surface_add.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Add relationships 3 | --- 4 | 5 | # Add AppConfigurations to an AppSurface 6 | 7 | Insert AppConfigurations into the specified AppSurface. 8 | 9 | {% scenario app_surfaces_relationships_app_configurations.create app_surfaces.add_app_configurations_to_the_app_surface %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/app_configurations/app_surface_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related AppConfigurations 6 | 7 | Retrieve the AppConfigurations related to the specified AppSurface. 8 | 9 | {% scenario app_surface_relationship_app_configurations.index app_surfaces.list_the_app_configurations_for_an_app_surface %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/app_configurations/app_surface_list_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List relationships 3 | --- 4 | 5 | # List AppConfiguration relationships for an AppSurface 6 | 7 | Retrieve the relationship linkage for the AppConfigurations related to the specified AppSurface. 8 | 9 | {% scenario app_surfaces_relationships_app_configurations.show app_surfaces.list_the_app_configuration_relationships_for_an_app_surface %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/app_configurations/app_surface_remove.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationships 3 | --- 4 | 5 | # Remove AppConfigurations from an AppSurface 6 | 7 | Remove AppConfigurations from the specified AppSurface. 8 | 9 | {% scenario app_surfaces_relationships_app_configurations.delete app_surfaces.remove_app_configuration_from_an_app_surface %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/app_configurations/app_surface_replace.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Replace relationships 3 | --- 4 | 5 | # Replace AppConfigurations on an AppSurface 6 | 7 | Replace all existing AppConfigurations on a AppSurface with the specified AppConfigurations 8 | 9 | {% scenario app_surfaces_relationships_app_configurations.update app_surfaces.replace_app_configurations_on_an_app_surface %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/relationships/company/app_surface_company.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch the related Company 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for the Company that owns the specified AppSurface 12 | 13 | {% scenario app_surface_relationship_company.show companies.get_the_company_for_an_app_surface %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/app_surfaces/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Update an App Surface 8 | 9 | {% labels %} 10 | 11 | {% form app_surface.patch %} 12 | 13 | {% scenario app_surfaces.update app_surfaces.update_an_app_surface %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/audit_events/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch an AuditEvent 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for an existing AuditEvent, based on its ID. 12 | 13 | {% scenario audit_events.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/audit_events/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # AuditEvents 8 | 9 | {% labels %} 10 | 11 | An `AuditEvent` is a record of a specific change to another resource in Launch, generated at the time the change is made. These are system events which can be subscribed to through the use of a `Callback`. 12 | 13 | Audit events are structured in the form of: `[RESOURCE_TYPE.EVENT]`. For example: `build.created`. 14 | 15 | You can replace `RESOURCE_TYPE` with any of the following: 16 | 17 | 1. `property` 18 | 1. `extension` 19 | 1. `data_element` 20 | 1. `rule` 21 | 1. `rule_component` 22 | 1. `library` 23 | 1. `build` 24 | 1. `environment` 25 | 1. `host` 26 | 27 | You can replace `EVENT` with any of the following: 28 | 29 | 1. `created` 30 | 1. `updated` 31 | 1. `deleted` -------------------------------------------------------------------------------- /api/reference/1.0/audit_events/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List AuditEvents 8 | 9 | {% labels %} 10 | 11 | Retrieve the AuditEvents for all the Properties owned by your active organization. 12 | 13 | {% scenario audit_events.index %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Build for a Library 6 | 7 | {% form build.post %} 8 | 9 | {% scenario builds.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Build 6 | 7 | Retrieve the data for an existing Build, based on its ID. 8 | 9 | {% scenario builds.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Builds 6 | 7 | `Extensions`, `Rules`, and `DataElements` are building blocks. When you want to make your application do something, these building blocks are added to a `Library`. A `Library` is built into a `Build`. 8 | 9 | A `Build` is the actual file (or files) that are loaded within your web and mobile applications. The actual contents of a `Build` will vary based on: 10 | 1. The resources included in the `Library` 11 | 1. The configuration of the `Environment` to which the `Library` is built 12 | 1. The `platform` of the `Property` to which the `Build` belongs 13 | 14 | A `Build` belongs to exactly one `Library`. A `Library` can have many `Builds`. 15 | 16 | You can read more about `Builds` in the [Builds section](https://docs.adobe.com/content/help/en/launch/using/reference/publish/builds.html) of the Launch user docs. 17 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Builds for a Library 6 | 7 | Retrieve the Builds that belong to the specified Library. 8 | 9 | {% filters build %} 10 | 11 | {% scenario builds.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/data_elements/build_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related DataElements 6 | 7 | Retrieve the DataElements used in the specified Build. 8 | 9 | {% scenario build_relationship_data_elements.index builds.list_data_elements_of_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/environment/build_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Environment 6 | 7 | Retrieve the data for the Environment associated with the specified Build. 8 | 9 | {% scenario build_relationship_environment.show environments.get_the_environment_for_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/extensions/build_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Extensions 6 | 7 | Retrieve the Extensions used in the specified Build. 8 | 9 | {% scenario build_relationship_extensions.index builds.list_extensions_for_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/library/build_library.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Library 6 | 7 | Retrieve the data for the Library from which the specified Build was created. 8 | 9 | {% scenario build_relationship_library.show libraries.get_the_library_for_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/property/build_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property on which the specified Build was created. 8 | 9 | {% scenario build_relationship_property.show properties.get_the_property_for_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/relationships/rules/build_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Rules 6 | 7 | Retrieve the Rules used in the specified Build. 8 | 9 | {% scenario build_relationship_rules.index rules.list_rules_for_a_build %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/builds/republish.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Republish 3 | --- 4 | 5 | # Republish a build from a published Library 6 | 7 | {% form build.patch %} 8 | 9 | {% scenario builds.update %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Callback 6 | 7 | {% form callback.post %} 8 | 9 | {% scenario callbacks.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a Callback 6 | 7 | {% scenario callbacks.delete %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Callback 6 | 7 | Retrieve the data for an existing Callback, based on its ID. 8 | 9 | {% scenario callbacks.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Callbacks 6 | 7 | There are times where operations are not immediate, or sometimes you'd like your systems to be notified of activity in Launch. For these cases, Launch provides `AuditEvents` and `Callbacks`. 8 | 9 | An `AuditEvent` is a record of a specific change to a resource in Launch, generated at the time the change is made. A `Callback` is a message from Launch to a specific URL of your choice (usually hosted by you). 10 | 11 | The basic workflow is for you to subscribe to specific `AuditEvents`. Each time a new `AuditEvent` of that type is generated, a matching message will be sent to the URL specified by the `Callback`. 12 | 13 | `Callback` URLs must be HTTPS. 14 | 15 | Payloads are sent via `POST` to the URL specified in the `Callback`. 16 | 17 | `Callbacks` may subscribe to any `AuditEvent` `type`. 18 | 19 | The service behind the URL specified in the `Callback` must respond with a 20 | `200 OK` or `201 Created` status code. If the service does not respond with a 21 | `200 OK` or `201 Created` status code, the message delivery will be retried at 22 | the following intervals. 23 | 24 | - 1 min 25 | - 5 min 26 | - 30 min 27 | - 1 hr 28 | - 12 hr 29 | - 1 day 30 | - 3 days 31 | 32 | {% alert info, Note %} 33 | Retry intervals are relative to the previous interval. For example, if the retry 34 | at 1 minute fails, the next attempt will be scheduled for 5 minutes after the 35 | 1 minute attempt fails (6 minutes after the message was generated). 36 | {% endalert %} 37 | 38 | Once all delivery attempts have been exceeded, the message is discarded. 39 | 40 | A `Callback` belongs to exactly one `Property`. A `Property` can have many `Callbacks`. When you delete a `Property`, its `Callbacks` are also deleted. `Callbacks` can be created for all resources within a `Property`, but not for the `Property` itself. 41 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Callbacks for a Property 6 | 7 | Retrieve the Callbacks registered on the specified Property. 8 | 9 | {% filters callback %} 10 | 11 | {% scenario callbacks.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/relationships/property/callback_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified Callback. 8 | 9 | {% scenario callback_relationship_property.show properties.get_the_property_for_a_callback %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/callbacks/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a Callback 6 | 7 | {% form callback.patch %} 8 | 9 | {% scenario callbacks.update %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/companies/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Company 6 | 7 | Retrieve the data for an existing Company, based on its ID. 8 | 9 | {% scenario companies.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/companies/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Companies 6 | 7 | A `Company` represents a customer organization, typically a business. In Launch, these companies match 1:1 with Adobe Org ID. API users will only have visibility into the `Companies` to which they have access. 8 | 9 | Nearly all API usage is performed using an Integration in Adobe I/O which is scoped to a single Adobe Org, so most API users shouldn't expect to use the `Companies` resource as a major part of their workflow. For most use cases, you'll start with a `Property`. 10 | 11 | `Companies` may contain many `Properties`. A `Property` belongs to exactly one `Company`. -------------------------------------------------------------------------------- /api/reference/1.0/companies/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Companies 6 | 7 | Retrieve the Companies that you are authorized to see. Usually there is exactly one. 8 | 9 | {% filters company %} 10 | 11 | {% scenario companies.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a DataElement 6 | 7 | {% form data_element.post %} 8 | 9 | {% scenario data_elements.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a DataElement 6 | 7 | {% scenario data_elements.delete %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a DataElement 6 | 7 | Retrieve the data for an existing DataElement, based on its ID. 8 | 9 | {% alert info, Note %} 10 | When `DataElements` are deleted, they are marked as deleted but are not actually removed from system. 11 | Therefore, it is possible to retrieve a deleted `DataElement`. 12 | Deleted `DataElements` can be identified by the presence of `data.meta.deleted_at`. 13 | {% endalert %} 14 | 15 | {% scenario data_elements.show %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # DataElements 6 | 7 | A `DataElement` functions as a variable which points to an important piece of data within your application. The data element is used within `Rules` and `Extension` configurations. When the `Rule` is triggered at run-time in a browser or an application, the value of the `DataElement` is resolved and used within the `Rule`. They function the same for `Extension` configuration. 8 | 9 | Usage of many `DataElements` together make up a data dictionary or data map. This dictionary represents the data that Launch knows about and can make use of. 10 | 11 | A `DataElement` belongs to exactly one `Property`. A `Property` can have many `DataElements`. 12 | 13 | You can read more about `DataElements` in the [Data Elements section](https://docs.adobe.com/content/help/en/launch/using/reference/manage-resources/data-elements.html) of the Launch user docs. 14 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List DataElements for a Property 6 | 7 | Retrieve the DataElements used by the specified Property. 8 | 9 | {% filters data_element %} 10 | 11 | {% scenario data_elements.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a DataElement 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified DataElement. 12 | 13 | {% filters note %} 14 | 15 | {% scenario data_element_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/extension/data_element_extension.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Extension 6 | 7 | Retrieve the data for the Extension that provides the specified DataElement. 8 | 9 | {% scenario data_element_relationship_extension.show data_elements.get_the_extension_for_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/libraries/data_element_libraries.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Libraries 6 | 7 | Retrieve the Libraries that use the specified DataElement. 8 | 9 | {% scenario data_element_relationship_libraries.index libraries.list_the_libraries_for_a_data_element %} 10 | 11 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/origin/data_element_origin.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related origin 6 | 7 | Retrieve the data for the specified DataElement's origin. 8 | 9 | The origin of a DataElement is the DataElement that was revised to create this 10 | DataElement. 11 | 12 | {% scenario data_element_relationship_origin.show data_elements.get_the_origin_of_a_data_element %} 13 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/property/data_element_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified DataElement. 8 | 9 | {% scenario data_element_relationship_property.show properties.get_the_property_for_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/revisions/data_element_revisions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related revisions 6 | 7 | Retrieve the revisions of the specified DataElement. 8 | 9 | {% scenario data_element_relationship_revisions.index data_elements.list_the_revisions_of_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/updated_with_extension/data_element_updated_with_extension.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Updated With Extension 6 | 7 | Retrieve the data for the Extension revision that was used to update the DataElement. 8 | 9 | {% scenario data_element_relationship_updated_with_extension.show data_elements.get_the_updated_with_extension_of_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/relationships/updated_with_extension_package/data_element_updated_with_extension_package.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Updated With Extension Package 6 | 7 | Retrieve the data for the Extension Package that was used to update the DataElement. 8 | 9 | {% scenario data_element_relationship_updated_with_extension_package.show data_elements.get_the_updated_with_extension_package_of_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/revise.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Revise 3 | --- 4 | 5 | # Revise a DataElement 6 | 7 | Revising a DataElement is the action of creating a new revision of the 8 | DataElement with the current (`head`) revision. A revision of a DataElement will 9 | have its own Id. The original DataElement may be discovered via the `origin` 10 | link. 11 | 12 | Revising a DataElement is achieved by supplying an `action` with a value of 13 | `revise` in the `meta` of the request `data`. 14 | 15 | 16 | {% form data_element.patch %} 17 | 18 | {% scenario data_elements.update data_elements.revise_a_data_element %} 19 | -------------------------------------------------------------------------------- /api/reference/1.0/data_elements/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a DataElement 6 | 7 | {% form data_element.patch %} 8 | 9 | {% scenario data_elements.update data_elements.update_a_data_element %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create an Environment 6 | 7 | {% form environment.post %} 8 | 9 | {% scenario environments.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete an Environment 6 | 7 | {% scenario environments.delete %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch an Environment 6 | 7 | Retrieve the data for an existing Environment, based on its ID. 8 | 9 | {% scenario environments.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Environments 6 | 7 | `Extensions`, `Rules`, and `DataElements` are building blocks. When you want to make your application do something, these building blocks are added to a `Library`. A `Library` is built into a `Build`. The exact contents of the `Build` depend upon the `Environment` settings and the resources included in the `Library`. Specifically, the `Environment` determines: 8 | 9 | 1. Destination - This is the location where you want your build to be deployed. It is controlled by selecting a `Host` for the environment to use 10 | 1. Archive - You can get a deployable set of files or have it zipped up in an archive format. This is controlled by the archive setting on the `Environment`. 11 | 12 | The combination of destination and archive format will change how you reference the `Build` that Launch produces (that reference is often called an embed code). If you make any changes to destination or file format, you'll need to make a matching update to your application to use the new reference. 13 | 14 | You'll need to create a `Host` before you can create an `Environment`. 15 | 16 | `Environments` come in three types or `stages` and you can create the specified number of each: 17 | 18 | | Environment Type | Allowed Number | 19 | | ---------------- |:--------------:| 20 | | Development | Many | 21 | | Staging | 1 | 22 | | Production | 1 | 23 | 24 | These `Environment` types have similar behavior, but are used at different stages of the publishing workflow in Launch. 25 | 26 | An `Environment` belongs to exactly one `Property`. A `Property` can have one `Environment` of `stage = 'production'`, one `Environment` of `stage = 'staging'`, and many `Environments` of `stage = 'Development'` . 27 | 28 | You can read more about environments in the [Environments section](https://docs.adobe.com/content/help/en/launch/using/reference/publish/environments.html) of the Launch user docs. 29 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Environments for a Property 6 | 7 | Retrieve the Environments owned by the specified Property. 8 | 9 | {% filters environment %} 10 | 11 | {% scenario environments.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/relationships/builds/environment_builds.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Builds 6 | 7 | Retrieve the Builds that use the specified Environment. 8 | 9 | {% scenario environment_relationship_builds.index builds.list_builds_for_an_environment %} 10 | 11 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/relationships/host/environment_host.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Host 6 | 7 | Retrieve the data for the Host of the specified Environment. 8 | 9 | {% scenario environment_relationship_host.show hosts.get_the_host_for_an_environment %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/relationships/host/environment_host_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch relationship 3 | --- 4 | 5 | # Fetch the Host relationship for an Environment 6 | 7 | {% scenario environments_relationships_host.show hosts.get_the_host_relationship_for_an_environment %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/relationships/library/environment_library.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Library 6 | 7 | {% scenario environment_relationship_library.show libraries.get_the_library_for_an_environment %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/relationships/property/environment_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified Environment. 8 | 9 | {% scenario environment_relationship_property.show properties.get_the_property_for_an_environment %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/environments/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update an Environment 6 | 7 | {% form environment.patch %} 8 | 9 | {% scenario environments.update %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create an ExtensionPackage 8 | 9 | {% labels %} 10 | 11 | For an extension package to be available to the Launch platform, it must be added as an `ExtensionPackage`. 12 | 13 | Extension packages are processed asynchronously and have a `status` attribute representing the current status of the ExtensionPackage. 14 | 15 | {% alert info, Note %} 16 | This endpoint expects multipart requests. 17 | {% endalert %} 18 | 19 |
20 | 65 |
66 | 67 | {% scenario extension_packages.create extension_packages.create_an_extension_package %} 68 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Delete an Extension Package 8 | 9 | {% labels %} 10 | 11 | Only ExtensionPackages with development `availability` can be deleted. 12 | 13 | {% scenario extension_packages.delete %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/discontinue.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Discontinue 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Discontinue an ExtensionPackage 8 | 9 | {% labels %} 10 | 11 | Discontinue an ExtensionPackage. 12 | 13 | {% form extension_package.patch %} 14 | 15 | {% scenario extension_packages.update extension_packages.discontinue_an_extension_package %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch an ExtensionPackage 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for an existing ExtensionPackage, based on its ID. 12 | 13 | {% scenario extension_packages.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # ExtensionPackages 8 | 9 | {% labels %} 10 | 11 | An `ExtensionPackage` represents a packaged extension as authored by an extension developer. An extension package defines additional capabilities that can be made available to Launch users. Most commonly these capabilities come in the form of `RuleComponents` (events, conditions, and actions) and `DataElements`, but can also include main modules and shared modules. 12 | 13 | `ExtensionPackages` are displayed in the Launch catalog for users to install. Adding an `ExtensionPackage` to a property is accomplished by creating an `Extension` with a link to the `ExtensionPackage`. 14 | 15 | An extension package belongs to the `Company` of the developer who created it. 16 | 17 | ## Status 18 | 19 | An `ExtensionPackage` status may be one of the following values. 20 | 21 | #### `pending` 22 | 23 | When an `ExtensionPackage` is created, `status` is set to `pending`. This indicates that Launch received the information for the extension package and will begin processing. 24 | 25 | `ExtensionPackages` with a `status` of `pending` are not available for use. 26 | 27 | #### `succeeded` 28 | 29 | When processing of the `ExtensionPackage` has completed, if processing was successful, the status will change to `succeeded`. 30 | 31 | #### `failed` 32 | 33 | When processing of the `ExtensionPackage` has completed, if processing was unsuccessful, the status will change to `failed`. An `ExtensionPackage` with a `status` of `failed` may be updated until processing succeeds. 34 | 35 | `ExtensionPackages` with a `status` of `failed` are not available for use. 36 | 37 | ## Availability 38 | 39 | `ExtensionPackages` have an `availability` attribute that represents its visibility and availability for use. 40 | 41 | An `ExtensionPackage` `availability` may be one of the following values. 42 | 43 | #### `development` 44 | 45 | An extension package in `development` is only visible to, and available within, the `Company` that owns it, and `Properties` which are configured for extension development. 46 | 47 | #### `private` 48 | 49 | A `private` `ExtensionPackage` is only visible to, and available for installation on a `Property` within the `Company` that owns it. 50 | 51 | #### `public` 52 | 53 | A `public` `ExtensionPackage` is visible and available to all `Companies` and `Properties`. 54 | 55 | When an `ExtensionPackage` is created, `availability` is set to `development`. After testing has been completed, you can transition the `ExtensionPackage` to either `private` or `public`. 56 | 57 | ## Archive Url 58 | 59 | After an `ExtensionPackage` is transitioned to `public`, the archived source files are available at the `archive_url` location, inside the `meta` block. 60 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List ExtensionPackages 8 | 9 | {% labels %} 10 | 11 | Retrieve the available ExtensionPackages. 12 | 13 | {% filters extension_package %} 14 | 15 | There is a query parameter, `max_availability`, that has a custom filter behavior. 16 | 17 | Listing ExtensionPackages without this parameter, or with the `max_availability=development` query component, will return the latest versions of ExtensionPackages that are owned by the user\`s Org with `development`, `private` or `public` availability, and the latest `public` versions for the rest of the ExtensionPackages. 18 | 19 | Listing ExtensionPackages with the `max_availability=private` query component will return the latest versions of ExtensionPackages that are owned by the user\`s Org with `private` or `public` availability, and the latest `public` versions for the rest of the ExtensionPackages. 20 | 21 | Listing ExtensionPackages with the `max_availability=public` query component will return the latest `public` versions of ExtensionPackages. 22 | 23 | {% scenario extension_packages.index %} 24 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/release_private.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Private Release 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Private Release an ExtensionPackage 8 | 9 | {% labels %} 10 | 11 | Once you have completed testing your `ExtensionPackage` you can release it privately. This makes it available to any property within your company. 12 | 13 | After you have released privately, you can begin the public release process by filling out the [Public Release Request Form](https://adobe.allegiancetech.com/cgi-bin/qwebcorporate.dll?idx=7DRB5U). 14 | 15 | A Private release is achieved by supplying an `action` with a value of `release_private` in the `meta` of the request `data`. 16 | 17 | {% scenario extension_packages.update extension_packages.private_release_an_extension_package %} 18 | -------------------------------------------------------------------------------- /api/reference/1.0/extension_packages/versions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Versions 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # ExtensionPackage Versions 8 | 9 | {% labels %} 10 | 11 | Retrieve the versions of an ExtensionPackage. 12 | 13 | {% filters extension_package_versions %} 14 | 15 | {% scenario extension_packages.versions %} 16 | 17 | 18 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create an Extension 6 | 7 | Add an Extension to a Property. After performing a request to add an Extension to a 8 | Property, When the installation task has 9 | completed, the Extension response will be returned based on the success or 10 | failure of the task. 11 | 12 | Extensions are processed synchronously and return an `installation_status` 13 | attribute representing the final status of the Extension installation. 14 | There are two possible `installation_status` values: 15 | 16 | #### `succeeded` 17 | 18 | When processing of the installation request for the Extension has completed, 19 | if the installation was successful, the `installation_status` will be `succeeded`. 20 | 21 | #### `failed` 22 | 23 | When processing of the installation request for the Extension has completed, 24 | if the installation was not successful, the `installation_status` will 25 | be `failed`. 26 | 27 | Extensions with an `installation_status` of `failed` are not available 28 | for use. 29 | 30 | 31 | {% form extension.post %} 32 | 33 | {% scenario extensions.create %} 34 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete an Extension 6 | 7 | {% scenario extensions.delete extensions.delete_an_extension %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch an Extension 6 | 7 | Retrieve the data for an existing Extension, based on its ID. 8 | 9 | {% alert info, Note %} 10 | When `Extensions` are deleted, they are marked as deleted but are not actually removed from system. 11 | Therefore, it is possible to retrieve a deleted `Extension`. 12 | Deleted `Extensions` can be identified by the presence of `data.meta.deleted_at`. 13 | {% endalert %} 14 | 15 | {% scenario extensions.show %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Extensions 6 | 7 | An `Extension` represents the installed instance of an `ExtensionPackage`. An `Extension` makes the features defined by an `ExtensionPackage` available to the `Property`. These features are leveraged when creating `DataElements` and `RuleComponents`. 8 | 9 | An `Extension` belongs to exactly one `Property`. A `Property` can have many `Extensions`, but no more than one installed instance of a given `ExtensionPackage`. 10 | 11 | You can read more about `Extensions` in the [Extensions section](https://docs.adobe.com/content/help/en/launch/using/reference/manage-resources/extensions/overview.html) of the Launch user docs. 12 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Extensions for a Property 6 | 7 | Retrieve the Extensions used by the specified Property. 8 | 9 | {% filters extension %} 10 | 11 | {% scenario extensions.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for an Extension 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified Extension. 12 | 13 | {% filters note %} 14 | 15 | {% scenario extension_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/extension_package/extension_extension_package.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related ExtensionPackage 6 | 7 | Retrieve the data for the ExtensionPackage from which the specified Extension 8 | was created. 9 | 10 | {% scenario extension_relationship_extension_package.show extensions.get_the_extensionpackage_for_an_extension %} 11 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/libraries/extension_libraries.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Libraries 6 | 7 | Retrieve the Libraries that use the specified Extension. 8 | 9 | {% scenario extension_relationship_libraries.index extensions.list_libraries_for_an_extension %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/origin/extension_origin.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related origin 6 | 7 | {% scenario extension_relationship_origin.show extensions.show_the_origin_of_an_extension %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/property/extension_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified Extension. 8 | 9 | {% scenario extension_relationship_property.show properties.get_the_property_for_an_extension %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/revisions/extension_revisions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related revisions 6 | 7 | Retrieve the revisions of the specified Extension. 8 | 9 | {% scenario extension_relationship_revisions.index extensions.list_the_revisions_of_an_extension %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/relationships/updated_with_extension_package/extension_updated_with_extension_package.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Updated With Extension Package 6 | 7 | Retrieve the data for the Extension Package that was used when updating the Extension. 8 | 9 | {% scenario extension_relationship_updated_with_extension_package.show extensions.get_the_updated_with_extension_package_of_a_extension %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/revise.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Revise 3 | --- 4 | 5 | # Revise an Extension 6 | 7 | Revising an Extension is the action of creating a new revision of the extension 8 | with the current (`head`) revision. A revision of an Extension will have its own 9 | Id. The original Extension may be discovered via the `origin` link. 10 | 11 | Revising an Extension is achieved by supplying an `action` with a value of 12 | `revise` in the `meta` of the request `data`. 13 | 14 | 15 | {% scenario extensions.update extensions.revise_an_extension %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/extensions/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update an Extension 6 | 7 | {% form extension.patch %} 8 | 9 | {% scenario extensions.update extensions.update_an_extension %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Host 6 | 7 | {% labels %} 8 | 9 | {% form host.post %} 10 | 11 | {% scenario hosts.create hosts.create_a_host %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a Host 6 | 7 | {% labels %} 8 | 9 | {% scenario hosts.delete %} 10 | 11 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Host 6 | 7 | {% labels %} 8 | 9 | Retrieve the data for an existing Host, based on its ID. 10 | 11 | {% scenario hosts.show %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Hosts 6 | 7 | {% labels %} 8 | 9 | `Extensions`, `Rules`, and `DataElements` are building blocks. When you want to make your application do something, these building blocks are added to a `Library`. A `Library` is built into a `Build`. Those `Builds` are delivered to a hosted location. 10 | 11 | `Hosts` define available destinations where the `Builds` can be delivered. 12 | 13 | `Hosts` come in two types as defined by the `type_of` attribute: 14 | 1. `akamai` 15 | 1. `sftp` 16 | 17 | `SFTP` Hosts with `skip_symlinks: true` deliver file copies where symlinks would normally be used as not all `SFTP` hosts support symlinks. 18 | 19 | When a `Build` is requested by the Launch user, Launch will check the `Library` to determine which `Environment` the `Library` should be built to. The `Environment` has a relationship with the `Host` and that is how Launch knows which `Host` to use to deliver the `Build. 20 | 21 | A `Host` belongs to exactly one `Property`. A `Property` may have many `Hosts`. 22 | 23 | A `Host` can be used by more than one `Environment` within a `Property`. It is common to have a single `Host` on a `Property`, and have all `Environments` on that `Property` use the same `Host`. 24 | 25 | Each Launch `Property` must have at least one `Host` before you can publish. A host may only belong to a single property. 26 | 27 | You can read more about `Hosts` in the [Hosts section](https://docs.adobe.com/content/help/en/launch/using/reference/publish/hosts/hosts-overview.html) of the Launch User docs. 28 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Hosts for a Property 6 | 7 | {% labels %} 8 | 9 | Retrieve the Hosts used by the specified Property. 10 | 11 | {% filters host %} 12 | 13 | {% scenario hosts.index %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/relationships/property/host_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | {% labels %} 8 | 9 | Retrieve the data for the Property that owns the specified Host. 10 | 11 | {% scenario host_relationship_property.show properties.get_the_property_for_a_host %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/hosts/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a Host 6 | 7 | {% labels %} 8 | 9 | {% alert info, Note %} 10 | Only Hosts with `type_of: sftp` may be updated. 11 | {% endalert %} 12 | 13 | {% form host.patch %} 14 | 15 | {% scenario hosts.update %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Library 6 | 7 | {% form library.post %} 8 | 9 | {% scenario libraries.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Library 6 | 7 | Retrieve the data for an existing Library, based on its ID. 8 | 9 | {% scenario libraries.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Libraries 6 | 7 | A `Library` is a collection of resources (`Extensions`, `Rules`, and `DataElements` that represent the desired behavior of a `Property`. 8 | 9 | The publishing process in Launch consists of building a `Library`, testing the resulting `Build` in an `Environment`, and promoting that `Library` to the next stage of the process until it finally reaches the Production `Environment`. 10 | 11 | There are two basic things to think about: 12 | 1. Workflow state 13 | 1. Attached environment 14 | 15 | Every `Library` has a `state` that identifies what stage of the process it is at. The `state` also determines the available `actions` and assignable environments. 16 | 17 | The `Library` is transitioned to different `states` of the workflow by supplying an `action` in the `meta` of a request. 18 | 19 | Depending on the `state`, `Environments` of different types can then be assigned to the `Library`, the `Library` can be built and tested, and then moved to the next stage in the workflow. 20 | 21 | | Library State | Description | Can Add Resources | Available Actions | Assignable Environments | 22 | | ------------- | ----------- |:-----------------:| ----------------- | ----------------------- | 23 | | development | The `Library` is editable | Yes | `submit`, `approve` | Development 24 | | submitted | The `Library` has been submitted for review | No | `approve`, `reject` | Staging | 25 | | approved | The `Library` has been reviewed and approved for publishing | No | `reject` | n/a | 26 | | rejected | The `Library` has been rejected | No | `develop` | Development | 27 | | published | The `Library` has been published to Production | No | n/a | Production | 28 | 29 | You may only add resources to a `Library` which is `development`. `Submitted` and `Approved` `Libraries` may be transitioned to `rejected`. Rejected `Libraries` may be transitioned back to `development` for additional changes and submitted for another review. 30 | 31 | Putting this altogether, a sample publishing flow might look something like this: 32 | 1. Create a new `Library` (new `Libraries` are created in the `development `state`) 33 | 1. Assign `Library` to any available Development `Environment` 34 | 1. Build 35 | 1. Test 36 | 1. Submit `Library` (transition to `submitted` `state`) 37 | 1. Assign `Library` to the Staging `Environment` 38 | 1. Build 39 | 1. Test 40 | 1. Approve (transition to `approved` `state`) 41 | 1. Assign `Library` to the Production `Environment` 42 | 1. Build 43 | 44 | Note: Building to the Production environment will automatically transition the Library to `published` `state`, you do not have to transition it manually. 45 | 46 | A `Library` belongs to exactly one `Property`. A `Property` can have many `Libraries`. 47 | 48 | You can read more about `Libraries` and their `states` in the [Approval Workflow section](https://docs.adobe.com/content/help/en/launch/using/reference/publish/approval-workflow.html) of the Launch user docs. 49 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Libraries for a Property 6 | 7 | Retrieve the Libraries owned by the specified Property. 8 | 9 | {% filters library %} 10 | 11 | {% scenario libraries.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a Library 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified Library. 12 | 13 | {% filters note %} 14 | 15 | {% scenario library_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/publish.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Publish 3 | --- 4 | 5 | # Publish a Library 6 | 7 | Only approved libraries may be published to production. 8 | 9 | To publish a Library to production, ensure a production environment has been 10 | added to the Library, then create a Build. 11 | 12 | {% scenario builds.create libraries.publish_a_library %} 13 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/data_elements/library_add_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Add relationships 3 | --- 4 | 5 | # Add DataElements to a Library 6 | 7 | Insert DataElements into the specified library. 8 | 9 | {% scenario libraries_relationships_data_elements.create libraries.add_data_elements_to_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/data_elements/library_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related DataElements 6 | 7 | Retrieve the DataElements related to the specified Library. 8 | 9 | {% scenario library_relationship_data_elements.index libraries.list_the_data_elements_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/data_elements/library_data_elements_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List relationships 3 | --- 4 | 5 | # List DataElement relationships for a Library 6 | 7 | Retrieve the relationship linkage for the DataElements related to the specified Library. 8 | 9 | {% scenario libraries_relationships_data_elements.show libraries.list_the_data_element_relationships_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/data_elements/library_remove_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationships 3 | --- 4 | 5 | # Remove DataElements from a Library 6 | 7 | Remove DataElements from the specified Library. 8 | 9 | {% scenario libraries_relationships_data_elements.delete libraries.remove_data_elements_from_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/data_elements/library_replace_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Replace relationships 3 | --- 4 | 5 | # Replace DataElements on a Library 6 | 7 | Replace all existing DataElements on a Library with the specified DataElements 8 | 9 | {% scenario libraries_relationships_data_elements.update libraries.replace_data_elements_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/environment/library_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Environment 6 | 7 | Retrieve the data for the Environment associated with the specified Library. 8 | 9 | {% scenario library_relationship_environment.show environments.get_the_environment_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/environment/library_environment_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch relationship 3 | --- 4 | 5 | # Fetch the Environment Relationship for a Library 6 | 7 | Retrieve the Environment relationship data for the specified Library. 8 | 9 | {% scenario libraries_relationships_environment.show libraries.get_the_environment_relationship_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/environment/library_remove_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationship 3 | --- 4 | 5 | # Remove the Environment relationship from a Library 6 | 7 | {% scenario libraries_relationships_environment.show libraries.remove_the_environment_relationship_from_a_library %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/environment/library_update_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Set relationship 3 | --- 4 | 5 | # Set Environment Relationship for a Library 6 | 7 | {% form library.patch %} 8 | 9 | {% scenario libraries_relationships_environment.update libraries.set_environment_relationship_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/extensions/library_add_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Add relationships 3 | --- 4 | 5 | # Add Extensions to a Library 6 | 7 | Insert Extensions into the specified library. 8 | 9 | {% scenario libraries_relationships_extensions.create libraries.add_extensions_to_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/extensions/library_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Extensions 6 | 7 | Retrieve the Extensions related to the specified Library. 8 | 9 | {% scenario library_relationship_extensions.index libraries.list_the_extensions_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/extensions/library_extensions_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List relationships 3 | --- 4 | 5 | # List Extension relationships for a Library 6 | 7 | Retrieve the relationship linkage for the Extensions related to the specified Library. 8 | 9 | {% scenario libraries_relationships_extensions.show libraries.list_the_extension_relationships_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/extensions/library_remove_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationships 3 | --- 4 | 5 | # Remove Extensions from a Library 6 | 7 | Remove Extensions from the specified Library. 8 | 9 | {% scenario libraries_relationships_extensions.delete libraries.remove_extensions_from_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/extensions/library_replace_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Replace relationships 3 | --- 4 | 5 | # Replace Extensions on a Library 6 | 7 | Replace all existing Extensions on a Library with the specified Extensions 8 | 9 | {% scenario libraries_relationships_extensions.update libraries.replace_extensions_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/property/library_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified Library. 8 | 9 | {% scenario library_relationship_property.show properties.get_the_property_of_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/rules/library_add_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Add relationships 3 | --- 4 | 5 | # Add Rules to a Library 6 | 7 | Insert Rules into the specified library. 8 | 9 | {% scenario libraries_relationships_rules.create libraries.add_rules_to_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/rules/library_remove_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Remove relationships 3 | --- 4 | 5 | # Remove Rules from a Library 6 | 7 | Remove Rules from the specified Library. 8 | 9 | {% scenario libraries_relationships_rules.delete libraries.remove_rules_from_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/rules/library_replace_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Replace relationships 3 | --- 4 | 5 | # Replace Rules on a Library 6 | 7 | Replace all existing Rules on a Library with the specified Rules 8 | 9 | {% scenario libraries_relationships_rules.update libraries.replace_rules_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/rules/library_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Rules 6 | 7 | Retrieve the Rules related to the specified Library. 8 | 9 | {% scenario library_relationship_rules.index libraries.list_the_rules_on_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/rules/library_rules_relationship.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List relationships 3 | --- 4 | 5 | # List Rule relationships for a Library 6 | 7 | Retrieve the relationship linkage for the Rules related to the specified Library. 8 | 9 | {% scenario libraries_relationships_rules.show libraries.list_the_rule_relationships_for_a_library %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/relationships/upstream_library/library_upstream_library.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related upstream Library 6 | 7 | {% scenario library_relationship_upstream_library.show libraries.get_the_upstream_library_for_a_library %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/transition.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Transition 3 | --- 4 | 5 | # Transition a Library 6 | 7 | Libraries must progress through the publishing workflow to be properly tested 8 | and approved for publishing. This is achieved by transitioning the library state 9 | via an `action` supplied in the `meta` of a request. 10 | 11 | ### Library states: 12 |
13 | 14 | #### `development` 15 | 16 | The Library is editable. 17 | 18 | Available actions: `submit`, `approve` 19 | 20 | #### `submitted` 21 | 22 | The Library has been submitted for review. 23 | 24 | Available actions: `approve`, `reject` 25 | 26 | #### `approved` 27 | 28 | The Library has been approved for publishing. 29 | 30 | Available actions: `reject` 31 | 32 | #### `rejected` 33 | 34 | The Library was rejected. Rejected libraries may be transitioned back to 35 | `development` for additional changes and submitted for another review. 36 | 37 | Available actions: `develop` 38 | 39 | #### `published` 40 | 41 | The Library has been published. 42 | 43 | 44 | {% form libraries.patch %} 45 | 46 | {% scenario libraries.update libraries.transition_a_library %} 47 | -------------------------------------------------------------------------------- /api/reference/1.0/libraries/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a Library 6 | 7 | {% form library.patch %} 8 | 9 | {% scenario libraries.update %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on Extension 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on an Extension 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario extension_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_data_element.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on DataElement 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on a DataElement 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario data_element_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_library.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on Library 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on a Library 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario library_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on Property 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on a Property 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario property_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on Rule 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on a Rule 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario rule_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/create/note_rule_component.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create on RuleComponent 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Note on a RuleComponent 8 | 9 | {% labels %} 10 | 11 | {% form note.post %} 12 | 13 | {% scenario rule_component_notes.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch a Note 8 | 9 | {% labels %} 10 | 11 | Retrieve a specific Note, based on its ID. 12 | 13 | {% scenario notes.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/notes/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Notes 8 | 9 | {% labels %} 10 | 11 | `Notes` are textual annotations you can add to Launch resources of these types: 12 | - `DataElements` 13 | - `Extensions` 14 | - `Libraries` 15 | - `Properties` 16 | - `RuleComponents` 17 | - `Rules` 18 | 19 | Those six types are collectively known as the `Notable` resources. 20 | 21 | When a `Notable` resource is deleted, its associated `Notes` are also deleted. 22 | 23 | ## `Notes` are Comments 24 | The contents of `Notes` have no impact on the behavior of `Property` resources, 25 | so you are free to use them any way you want. 26 | 27 | You might use `Notes` to: 28 | - provide background information 29 | - function as to-do lists 30 | - pass along resource usage advice 31 | - give instructions to other team members 32 | - record historical context 33 | - remind yourself why this resource is built the way it is 34 | 35 | 36 | ## Revisable Notables 37 | 38 | In the case of revisable types 39 | (`DataElements`, `RuleComponents`, `Rules`, and `Libraries`), 40 | any `Notes` must be created on the current (`head`) 41 | revision. They may not be attached to other revisions. 42 | 43 | However, `Notes` may be _read_ from revisions. In such cases, the endpoints 44 | will return only the `Notes` that existed before the creation of the revision. 45 | They provide a snapshot of the annotations as they were when the revision was cut. 46 | In contrast, reading `Notes` from the current (`head`) revision will return all 47 | its `Notes`. 48 | 49 | ## Limitations 50 | 51 | Each `Note` is limited to 512 Unicode characters. 52 | 53 | `Notes` are not editable. 54 | The only way to delete them is to delete their corresponding `Notable`. 55 | 56 | `Notes` cannot be attached to non-`Notable` resources. Specifically, 57 | you cannot add `Notes` to 58 | `AuditEvents`, `Builds`, `Callbacks`, `Companies`, 59 | `Environments`, `ExtensionPackages`, `Hosts`, or `Profiles`. 60 | -------------------------------------------------------------------------------- /api/reference/1.0/profiles/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Profile 6 | 7 | Retrieve the data for an existing Profile, based on its ID. 8 | 9 | {% scenario profiles.show profiles.get_profile %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/profiles/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Profiles 6 | 7 | A `Profile` represents a user of the Launch system. Launch does not maintain it's own database of users and permissions, it instead relies on Adobe IDs managed by Adobe's company-wide Identity Management System (IMS). 8 | 9 | The `Profile` contains all the information about the logged in user, including all the Adobe Orgs to which they belong, the product profiles they belong to within each org, and the rights they have from each product profile. 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Property 6 | 7 | {% form property.post %} 8 | 9 | Some attributes marked as optional above, are required depending on the platform. For example, if you create a web property (a `Property` with `"platform": "web"`), then `domains` is a required attribute. If you create a mobile or an edge property (a `Property` with `"platform": "mobile"` or `"platform": "edge"`), then `domains` is a not required. 10 | 11 | {% scenario properties.create %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a Property 6 | 7 | {% scenario properties.delete properties.delete_a_property %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Property 6 | 7 | Retrieve the data for an existing Property, based on its ID. 8 | 9 | {% scenario properties.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Properties 6 | 7 | Within Launch, a `Property` is simply a container to hold most of the other resources available within the API. 8 | 9 | In the resource hierarchy, `Property` is the owner of: 10 | 1. `Builds` 11 | 1. `Callbacks` 12 | 1. `DataElements` 13 | 1. `Environments` 14 | 1. `Extensions` 15 | 1. `Hosts` 16 | 1. `Libraries` 17 | 1. `Rules` 18 | 1. `RuleComponents` 19 | 20 | Resources that are not owned by Property are: 21 | 1. `AuditEvents` 22 | 1. `Company` 23 | 1. `ExtensionPackages` 24 | 1. `Profiles` 25 | 26 | A `Property` belongs to exactly one `Company`. A `Company` can have many `Properties`. 27 | 28 | You can read more about Properties (including the logic of when you might want to create a new one instead of combining them) in the [Properties section](https://docs.adobe.com/content/help/en/launch/using/reference/admin/companies-and-properties.html) of the Launch user docs. 29 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Properties for a Company 6 | 7 | Retrieve the Properties owned by the specified Company. 8 | 9 | {% filters property %} 10 | 11 | {% scenario properties.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a Property 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified Property. 12 | 13 | {% filters note %} 14 | 15 | {% scenario property_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/callbacks/property_callbacks.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Callbacks 6 | 7 | Retrieve the Callbacks registered on the specified Property. 8 | 9 | {% scenario callbacks.index %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/company/property_company.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Company 6 | 7 | Retrieve the data for the Company that owns the specified Property. 8 | 9 | {% scenario property_relationship_company.show companies.get_the_company_for_a_property %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/data_elements/property_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related DataElements 6 | 7 | Retrieve the DataElements used by the specified Property. 8 | 9 | {% scenario data_elements.index %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/environments/property_environments.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Environments 6 | 7 | Retrieve the Environments owned by the specified Property. 8 | 9 | {% scenario environments.index %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/extensions/property_extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Extensions 6 | 7 | Retrieve the Extensions used by the specified Property. 8 | 9 | {% scenario extensions.index %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/hosts/property_hosts.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Hosts 6 | 7 | {% labels %} 8 | 9 | Retrieve the Hosts used by the specified Property. 10 | 11 | {% scenario hosts.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/relationships/rules/property_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Rules 6 | 7 | Retrieve the Rules used by the specified Property. 8 | 9 | {% scenario rules.index %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/properties/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a Property 6 | 7 | {% form property.patch %} 8 | 9 | {% scenario properties.update %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a RuleComponent 6 | 7 | {% alert info, Note %} 8 | Creating a `RuleComponent` will also update the parent Rule's `updated_at` timestamp. 9 | {% endalert %} 10 | 11 | {% form rule_component.post %} 12 | 13 | {% scenario rule_components.create %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a RuleComponent 6 | 7 | {% scenario rule_components.delete %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a RuleComponent 6 | 7 | Retrieve the data for an existing RuleComponent, based on its ID. 8 | 9 | {% scenario rule_components.show %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # RuleComponents 6 | 7 | `Extensions`, `Rules`, and `DataElements` are building blocks. When you want to make your application do something, these building blocks are added to a `Library`. 8 | 9 | `Rules` control the behavior of the resources in your deployed `Library`. 10 | 11 | `RuleComponents` are the individual items that make up a `Rule`. If a `Rule` is a recipe, then a `RuleComponent` is one of the ingredients. 12 | 13 | `RuleComponents` have 3 basic types: 14 | 15 | 1. Event - an event is the trigger for a rule. The rule starts when the event occurs at runtime on the client device. Library Load, Page Top, and Click are examples of Events. 16 | 1. Condition - a condition is an evaluation if certain criteria are met before the `Rule` actions are executed. Once an Event occurs, conditions are evaluated. The `Rule` actions will only execute if all conditions are met. 17 | 1. Actions - these are the actions you want the rule to actually perform such as sending an Adobe Analytics beacon, retrieving a custom visitor ID, or firing a particular mbox. 18 | 19 | Note: The Launch UI currently shows conditions and exceptions separately, but underneath they are identical. An exception is just a `NOT` condition. 20 | 21 | A `RuleComponent` belongs to exactly one `Rule`. A `Rule` can (should) have many `RuleComponents`. 22 | 23 | A `RuleComponent` is provided by exactly one `Extension`. `Extensions` can provide many `RuleComponent` types. 24 | 25 | Finally, `RuleComponents` are created by `POST`ing to a `Rule`, so before you can create `RuleComponents`, you must first create the `Rule` that they should belong to. 26 | 27 | You can read more about rules and rule components in the [Rules section](https://docs.adobe.com/content/help/en/launch/using/reference/manage-resources/rules.html) of the Launch user docs. 28 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List RuleComponents for a Rule 6 | 7 | Retrieve the RuleComponents used by the specified Rule. 8 | 9 | {% filters rule_component %} 10 | 11 | {% scenario rule_components.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a RuleComponent 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified RuleComponent. 12 | 13 | {% filters note %} 14 | 15 | {% scenario rule_component_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/relationships/extension/rule_component_extension.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Extension 6 | 7 | Retrieve the data for the Extension that provides the specified RuleComponent. 8 | 9 | {% scenario rule_component_relationship_extension.show rule_components.get_the_extension_of_a_rule_component %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/relationships/origin/rule_component_origin.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related origin 6 | 7 | Retrieve the data for the specified RuleComponent's origin. 8 | 9 | The origin of a RuleComponent is the RuleComponent that was revised to create 10 | this RuleComponent. 11 | 12 | {% scenario rule_component_relationship_origin.show rule_components.get_the_origin_of_a_rule_component %} 13 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/relationships/rules/rule_component_rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Rules 6 | 7 | Retrieve the data for the Rules related to the specified RuleComponent. 8 | 9 | 10 | {% scenario rule_component_relationship_rules.show rules.list_the_rules_of_a_rule_component %} 11 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/relationships/updated_with_extension/rule_component_updated_with_extension.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Updated With Extension 6 | 7 | Retrieve the data for the Extension revision that was used to update the RuleComponent. 8 | 9 | {% scenario rule_component_relationship_updated_with_extension.show rule_components.get_the_updated_with_extension_of_a_rule_component %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/relationships/updated_with_extension_package/rule_component_updated_with_extension_package.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Updated With Extension Package 6 | 7 | Retrieve the data for the Extension Package that was used to update the RuleComponent. 8 | 9 | {% scenario rule_component_relationship_updated_with_extension_package.show rule_components.get_the_updated_with_extension_package_of_a_rule_component %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rule_components/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a RuleComponent 6 | 7 | {% alert info, Note %} 8 | Updating a `RuleComponent` will also update the parent Rule's `updated_at` timestamp. 9 | {% endalert %} 10 | 11 | {% form rule_component.patch %} 12 | 13 | {% scenario rule_components.update %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | --- 4 | 5 | # Create a Rule 6 | 7 | {% form rule.post %} 8 | 9 | {% scenario rules.create %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | --- 4 | 5 | # Delete a Rule 6 | 7 | {% scenario rules.delete %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | --- 4 | 5 | # Fetch a Rule 6 | 7 | Retrieve the data for an existing Rule, based on its ID. 8 | 9 | {% alert info, Note %} 10 | When `Rules` are deleted, they are marked as deleted but are not actually removed from system. 11 | Therefore, it is possible to retrieve a deleted `Rule`. 12 | Deleted `Rules` can be identified by the presence of `data.meta.deleted_at`. 13 | {% endalert %} 14 | 15 | {% alert info, Note %} 16 | A Rule's `updated_at` timestamp will also reflect changes to it's child `RuleComponents`. 17 | {% endalert %} 18 | 19 | {% scenario rules.show %} 20 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Rules 6 | 7 | `Rules` control the behavior of the resources in your deployed `Library`. 8 | 9 | A `Rule` is really just a group of one or more `RuleComponents` which exists to tie the `RuleComponents` together in a logical way. 10 | 11 | A `Rule` belongs to exactly one `Property`. A `Property` can have many `Rules`. 12 | 13 | A `Rule` can have many `RuleComponents`. A `RuleComponent` belongs to exactly one `Rule`. 14 | 15 | You can read more about `Rules` in the [Rules section](https://docs.adobe.com/content/help/en/launch/using/reference/manage-resources/rules.html) of the Launch user docs. 16 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | --- 4 | 5 | # List Rules for a Property 6 | 7 | Retrieve the Rules used by the specified Property. 8 | 9 | {% filters rule %} 10 | 11 | {% scenario rules.index %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a Rule 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the specified Rule. 12 | 13 | {% filters note %} 14 | 15 | {% scenario rule_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/list_rule_component_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List RuleComponent Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for RuleComponents of a Rule 8 | 9 | {% labels %} 10 | 11 | Retrieve the Notes attached to the various RuleComponents of the specified 12 | Rule. Notes attached directly to the Rule itself are _not_ included. 13 | 14 | {% filters note %} 15 | 16 | {% scenario rule_rule_component_notes.index %} 17 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/relationships/libraries/rule_libraries.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related Libraries 6 | 7 | Retrieve the Libraries that use the specified Rule. 8 | 9 | {% scenario rule_relationship_libraries.index libraries.list_the_libraries_for_a_rule %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/relationships/origin/rule_origin.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related origin 6 | 7 | {% scenario rule_relationship_origin.show rules.show_the_origin_of_a_rule %} 8 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/relationships/property/rule_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | --- 4 | 5 | # Fetch the related Property 6 | 7 | Retrieve the data for the Property that owns the specified Rule. 8 | 9 | {% scenario rule_relationship_property.show properties.get_the_property_for_a_rule %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/relationships/revisions/rule_revisions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List related 3 | --- 4 | 5 | # List related revisions 6 | 7 | Retrieve the revisions of the specified Rule. 8 | 9 | {% scenario rule_relationship_revisions.index rules.list_the_revisions_of_a_rule %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/revise.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Revise 3 | --- 4 | 5 | # Revise a Rule 6 | 7 | Revising a Rule is the action of creating a new revision of the rule with the 8 | current (`head`) revision. A revision of a Rule will have its own Id. The 9 | original Rule may be discovered via the `origin` link. 10 | 11 | Revising a Rule will also revise each of its related RuleComponents. Each 12 | revision of a RuleComponent will also have its own unique Id and will link to 13 | the revision of the Rule. 14 | 15 | Revising a Rule is achieved by supplying an `action` with a value of `revise` 16 | in the `meta` of the request `data`. 17 | 18 | 19 | {% form rule.patch %} 20 | 21 | {% scenario rules.update rules.revise_a_rule %} 22 | -------------------------------------------------------------------------------- /api/reference/1.0/rules/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | --- 4 | 5 | # Update a Rule 6 | 7 | {% form rule.patch %} 8 | 9 | {% scenario rules.update rules.update_a_rule %} 10 | -------------------------------------------------------------------------------- /api/reference/1.0/search/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Search 8 | 9 | {% labels %} 10 | 11 | Search provides a way to find resources matching a desired criteria, expressed as a query. 12 | 13 | 14 | The following API resources types are searchable, utilizing the same data structure as the resource-based documents returned across the API. 15 | 16 | - `audit_events` 17 | - `builds` 18 | - `callbacks` 19 | - `data_elements` 20 | - `environments` 21 | - `extension_packages` 22 | - `extensions` 23 | - `hosts` 24 | - `libraries` 25 | - `properties` 26 | - `rule_components` 27 | - `rules` 28 | 29 | All queries will be scoped to the user's current `Company` and accessible `Properties`. 30 | 31 | {% alert warning, Caveats and Exceptions %} 32 | - `meta` is not searchable and not returned in search results. 33 | - `ExtensionPackage` delegate (`actions`, `conditions`, etc) `schema` fields are searchable as text, not as a nested data structure. 34 | - Range queries presently only support integers. 35 | {% endalert %} 36 | 37 | Refer to the [Searching guide](/api/guides/searching) for more in-depth information. 38 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Create a Secret 8 | 9 | {% labels %} 10 | 11 | Add a Secret to a Property. 12 | 13 | When you create a new secret, you will get an immediate response that contains information for that resource. 14 | 15 | At the same time, a secret exchange task is triggered to test that the credential exchange is functional. This task is processed asynchronously and updates the secret's `status` attribute with one of two possible values: 16 | 17 | #### `succeeded` 18 | 19 | This is the status when the exchange request for the secret completes successfully. 20 | 21 | #### `failed` 22 | 23 | This is the status when the exchange request for the secret is not successful. 24 | 25 | {% form secret.post %} 26 | 27 | ## Secret types 28 | 29 | ### "oauth2-client_credentials" `type_of` 30 | 31 | {% scenario secrets.create secrets.create_a_oauth2_client_credentials_secret %} 32 | 33 | ### "oauth2-jwt" `type_of` 34 | 35 | {% scenario secrets.create secrets.create_a_oauth2_jwt_secret %} 36 | 37 | ### "oauth2-google" `type_of` 38 | 39 | {% scenario secrets.create secrets.create_a_oauth2_google_secret %} 40 | 41 | ### "simple-http" `type_of` 42 | 43 | {% scenario secrets.create secrets.create_a_simple_http_secret %} 44 | 45 | ### "token" `type_of` 46 | 47 | {% scenario secrets.create secrets.create_a_secret %} 48 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delete 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Delete a Secret 8 | 9 | {% labels %} 10 | 11 | This is a hard delete with an immediate affect. It does not require a library publish. 12 | 13 | The secret resource is removed from the environment it is related to and the underlying resource is deleted. Any deployed rules that reference this secret will immediately cease to function correctly. 14 | 15 | Any data elements that reference this secret will need to be updated or removed afterward. 16 | 17 | {% scenario secrets.delete secrets.delete_a_secret %} 18 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/fetch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch a Secret 8 | 9 | {% labels %} 10 | 11 | Retrieve an existing secret by ID. 12 | 13 | {% scenario secrets.show %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Secrets 8 | 9 | {% labels %} 10 | 11 | A secret is a resource that exists only within event forwarding properties (properties with an attribute of `"platform": "edge"`). They allow event forwarding to authenticate to another system for secure data exchange. 12 | 13 | There are currently three supported secret types denoted in the `type_of` attribute. 14 | 15 | * `token` - this is a simple string of characters known by both systems 16 | * `simple-http` - username and password 17 | * `oauth2-client_credentials` - these secrets support the OAuth2 Client Credentials authentication spec. Event forwarding will ask you for the required information, then will handle the renewal of these tokens for you on a specified interval 18 | * `oauth2-google` - these secrets support the OAuth2 Google authentication with Adobe Real-Time CDP Event Forwarding app. Event forwarding will handle the renewal of these tokens for you every 30 minutes 19 | 20 | For a detailed explanation of the different secret types and how to use them, please refer to the (Secrets Guide)[/api/guides/secrets/]. 21 | 22 | ## Usage 23 | 24 | When you create a secret, you must specify the environment in which it will exist. Secrets are immediately deployed to the environment in which they are created. 25 | 26 | In order to reference a secret, you must create a data element of type Secret provided by the Core Extension. When configuring this data element, you will be asked which secret to use for each environment. Rules can then be created to reference a secret data element, often within the header for the HTTP call that you are making. 27 | 28 | Event forwarding makes a best attempt to prevent you from referencing secrets that don't exist in a given environment. 29 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Secrets for a Property 8 | 9 | {% labels %} 10 | 11 | Retrieve all secrets within a given property. 12 | 13 | {% filters secret %} 14 | 15 | {% scenario secrets.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/list_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Notes 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Notes for a Secret 8 | 9 | {% labels %} 10 | 11 | Retrieve all notes related to the specified Secret. 12 | 13 | {% filters note %} 14 | 15 | {% scenario secret_notes.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/list_on_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List Environment Secrets 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # List Secrets for an Environment 8 | 9 | {% labels %} 10 | 11 | Retrieve all secrets within a given environment. 12 | 13 | {% filters secret %} 14 | 15 | {% scenario environment_relationship_secrets.index %} 16 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/relationships/data_elements/secret_data_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch the related Data Elements 8 | 9 | {% labels %} 10 | 11 | Retrieve all the Head Data Elements that reference the specified Secret. 12 | 13 | {% filters data_element %} 14 | 15 | {% scenario secret_relationship_data_elements.index %} 16 | 17 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/relationships/environment/secret_environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch the related Environment 8 | 9 | {% labels %} 10 | 11 | {% scenario secret_relationship_environment.show environments.get_the_environment_for_a_secret %} 12 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/relationships/property/secret_property.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fetch related 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Fetch the related Property 8 | 9 | {% labels %} 10 | 11 | Retrieve the data for the Property that owns the specified Secret. 12 | 13 | {% scenario secret_relationship_property.show properties.get_the_property_for_a_secret %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/retry.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Retry 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Retry a Secret 8 | 9 | {% labels %} 10 | 11 | Retrying a secret is the action of manually triggering the secret exchange. 12 | 13 | {% scenario secrets.update secrets.retry_a_secret %} 14 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Test a Secret 8 | 9 | {% labels %} 10 | 11 | The test operation can only be performed on an `succeeded` `oauth2` Secret. The test operation performs an exchange and includes the authorization service response in the `test_exchange` attribute from the `meta` object. 12 | This operation does not update the secret. 13 | 14 | {% include_relative _test.html %} 15 | -------------------------------------------------------------------------------- /api/reference/1.0/secrets/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Update 3 | labels: 4 | - unstable 5 | --- 6 | 7 | # Update a Secret 8 | 9 | {% labels %} 10 | 11 | {% form secret.patch %} 12 | 13 | {% scenario secrets.update secrets.update_a_secret %} 14 | -------------------------------------------------------------------------------- /api/release_notes/2020-release-notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 2020 Release Notes 3 | --- 4 | 5 | # 2020 Reactor Release Notes 6 | 7 | ## 2020-04-13 8 | 9 |
10 | 11 | ### Support for Array Transforms in Extensions 12 | 13 | See [transforming settings objects](https://developer.adobelaunch.com/extensions/reference/extension-manifest/#transforming-settings-objects) for more info. 14 | 15 |
16 | 17 | ## 2020-03-23 18 | 19 |
20 | 21 | ### Extension Package Validation 22 | 23 | The exchange url validation for extension packages has been updated to include the `exchange.adobe.com` url. 24 | 25 |
26 | 27 | ## 2020-03-19 28 | 29 |
30 | 31 | ### Callback missing header 32 | 33 | The `content-type` header was missing from the request headers for callback deliveries, this has been fixed. 34 | 35 |
36 | 37 | ## 2020-03-18 38 | 39 |
40 | 41 | ### Rule updated_at 42 | 43 | When a `rule_component` (event, condition, action) is modified, the `updated_at` timestamp for the rule it is associated with is also updated. 44 | 45 |
46 | 47 | ## 2020-03-03 48 | 49 |
50 | 51 | ### Search 52 | 53 | Notes are now a searchable `resource_type`, see the [developer docs](https://developer.adobelaunch.com/api/reference/1.0/search/perform/) for more info. 54 | 55 |
56 | 57 | ## 2020-02-20 58 | 59 |
60 | 61 | ### Build Compilation Errors 62 | 63 | Context for code compilation errors is now returned as part of the error details within the `meta.status_details` block of the build response. 64 | 65 |
66 | -------------------------------------------------------------------------------- /css/hero.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 Adobe 3 | All Rights Reserved. 4 | 5 | NOTICE: Adobe permits you to use, modify, and distribute this file in 6 | accordance with the terms of the Adobe license agreement accompanying 7 | it. If you have received this file from a source other than Adobe, 8 | then your use, modification, or distribution of it requires the prior 9 | written permission of Adobe. 10 | */ 11 | 12 | body.landing { 13 | background-color: #222222; 14 | } 15 | .hero { 16 | width: 100%; 17 | min-height: 400px; 18 | text-align: center; 19 | } 20 | 21 | .hero-black { 22 | background-color: #222222; 23 | color: #ffffff !important; 24 | } 25 | 26 | .hero-black .spectrum-Heading1--display.spectrum-Heading1--quiet, 27 | .hero-black .spectrum-Heading4 { 28 | color: #ffffff !important; 29 | } 30 | 31 | .hero-black .spectrum-Button--primary { 32 | background-color: rgba(0, 0, 0, 0); 33 | border-color: rgb(227, 227, 227); 34 | color: rgb(227, 227, 227); 35 | } 36 | 37 | .hero-black .spectrum-Button--primary:hover { 38 | background-color: rgb(227, 227, 227); 39 | border-color: rgb(227, 227, 227); 40 | color: rgb(37, 37, 37); 41 | } -------------------------------------------------------------------------------- /css/icons/loadIcons.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 Adobe. All rights reserved. 3 | This file is licensed to you under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. You may obtain a copy 5 | of the License at http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software distributed under 8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS 9 | OF ANY KIND, either express or implied. See the License for the specific language 10 | governing permissions and limitations under the License. 11 | */ 12 | 13 | // UMD pattern via umdjs 14 | (function (root, factory) { 15 | if (typeof define === 'function' && define.amd) { 16 | // AMD 17 | define([], factory); 18 | } 19 | else if (typeof module === 'object' && module.exports) { 20 | // CommonJS-like 21 | module.exports = factory(); 22 | } 23 | else { 24 | // Browser 25 | root.loadIcons = factory(); 26 | } 27 | }(typeof self !== 'undefined' ? self : this, function() { 28 | function handleError(string) { 29 | string = 'loadIcons: '+string; 30 | var error = new Error(string); 31 | 32 | console.error(error.toString()); 33 | 34 | if (typeof callback === 'function') { 35 | callback(error); 36 | } 37 | } 38 | 39 | function injectSVG(svgURL, callback) { 40 | var error; 41 | // 200 for web servers, 0 for CEP panels 42 | if (this.status !== 200 && this.status !== 0) { 43 | handleError('Failed to fetch icons, server returned ' + this.status); 44 | return; 45 | } 46 | 47 | // Parse the SVG 48 | var parser = new DOMParser(); 49 | try { 50 | var doc = parser.parseFromString(this.responseText, 'image/svg+xml'); 51 | var svg = doc.firstChild; 52 | } 53 | catch (err) { 54 | handleError('Error parsing SVG: ' + err); 55 | return; 56 | } 57 | 58 | // Make sure a real SVG was returned 59 | if (svg && svg.tagName === 'svg') { 60 | // Hide the element 61 | svg.style.display = 'none'; 62 | 63 | svg.setAttribute('data-url', svgURL); 64 | 65 | // Insert it into the head 66 | document.head.insertBefore(svg, null); 67 | 68 | // Pass the SVG to the callback 69 | if (typeof callback === 'function') { 70 | callback(null, svg); 71 | } 72 | } 73 | else { 74 | handleError('Parsed SVG document contained something other than an SVG'); 75 | } 76 | } 77 | 78 | function loadIcons(svgURL, callback) { 79 | // Request the SVG sprite 80 | var req = new XMLHttpRequest(); 81 | req.open('GET', svgURL, true); 82 | req.addEventListener('load', injectSVG.bind(req, svgURL, callback)); 83 | req.addEventListener('error', function(event) { 84 | handleError('Request failed'); 85 | }); 86 | req.send(); 87 | } 88 | 89 | return loadIcons; 90 | })); 91 | -------------------------------------------------------------------------------- /docker/docs.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80 default_server; 3 | location / { 4 | if ($http_x_forwarded_proto != "https") { 5 | return 302 https://$host$uri; 6 | } 7 | root /srv/docs; 8 | index index.html; 9 | } 10 | } 11 | 12 | server { 13 | listen 80; 14 | server_name developer.adobedtm.com; 15 | location / { 16 | return 302 https://developer.adobelaunch.com$request_uri; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /extensions/edge_extensions/guides/quickstart.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Quickstart 3 | platform: edge 4 | --- 5 | 6 | # Quickstart 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Getting started with extension development](https://experienceleague.adobe.com/docs/launch/using/extension-dev/getting-started.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Extensions Overview 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Modules for edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/overview.html#edge-modules) 9 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/action-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Action Types 3 | order: 10 4 | --- 5 | 6 | # Action Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Action types in edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/action-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/backwards-compatibility.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Backwards Compatibility Standard 3 | order: 18 4 | --- 5 | 6 | # Backwards Compatibility Standard 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Backwards compatibility standard](https://experienceleague.adobe.com/docs/launch/using/extension-dev/backwards-compatibility.html) 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/condition-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Condition Types 3 | order: 9 4 | --- 5 | 6 | # Condition Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Condition types in edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/condition-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/data-element-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Data Element Types 3 | order: 11 4 | --- 5 | 6 | # Data Element Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Data element types in edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/data-element-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/extension-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Configuration 3 | order: 7 4 | platform: edge 5 | --- 6 | 7 | # Extension Configuration 8 | 9 | {% alert info, Note %} 10 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension configuration](https://experienceleague.adobe.com/docs/launch/using/extension-dev/configuration.html) 11 | {% endalert %} 12 | -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/extension-flow.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Flow 3 | order: 5 4 | --- 5 | 6 | # Extension Flow 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Edge extension flow](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/flow.html) 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/extension-manifest.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Manifest 3 | order: 14 4 | platform: edge 5 | --- 6 | 7 | # Extension Manifest 8 | 9 | {% alert info, Note %} 10 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension manifest](https://experienceleague.adobe.com/docs/launch/using/extension-dev/manifest.html) 11 | {% endalert %} 12 | -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Glossary 3 | order: 2 4 | --- 5 | 6 | # Glossary of Terms 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find Platform Launch term definitions in the [Adobe Experience Platform glossary](https://experienceleague.adobe.com/docs/experience-platform/landing/glossary.html). 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/library-module-context-parameter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Library Module Context Parameter 3 | order: 15 4 | --- 5 | 6 | # Library Module Context 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Context in edge extension modules](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/context.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/library-module-format-edge.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Library Module Format 3 | order: 6 4 | --- 5 | 6 | # Library Module Format 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Library module format for edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/format.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/edge_extensions/reference/views.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Views 3 | order: 13 4 | type: edge 5 | start_token: "{{" 6 | end_token: "}}" 7 | 8 | --- 9 | 10 | # Views 11 | 12 | {% alert info, Note %} 13 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Views in edge extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/edge/views.html) 14 | {% endalert %} 15 | -------------------------------------------------------------------------------- /extensions/guides/third-party-libraries.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Implementing third-party libraries 3 | --- 4 | 5 | # Implementing third-party libraries 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Implementing third-party libraries](https://experienceleague.adobe.com/docs/launch/using/extension-dev/third-party-libraries.html) 9 | {% endalert %} 10 | -------------------------------------------------------------------------------- /extensions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Extensions Overview 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension development overview](https://experienceleague.adobe.com/docs/launch/using/extension-dev/overview.html) 9 | {% endalert %} 10 | -------------------------------------------------------------------------------- /extensions/submissions/company-setup.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Company Setup 3 | order: 2 4 | --- 5 | 6 | # Company Setup 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Experience Cloud organization setup](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/setup.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/create-listing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Create Exchange Listing 3 | order: 5 4 | --- 5 | 6 | # Create a Listing 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Create an exchange listing](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/create-listing.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/develop-extension.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Develop an Extension 3 | order: 4 4 | --- 5 | 6 | # Develop an Extension 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Develop an extension](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/develop.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/grant-user-access.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Grant User Access 3 | order: 3 4 | --- 5 | 6 | # Grant User Access 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Grant user access](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/access.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | order: 1 4 | --- 5 | 6 | # Overview 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension submission process overview](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/overview.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/release.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Release an Extension 3 | order: 7 4 | --- 5 | 6 | # Release an Extension 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Release an extension](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/release.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/submissions/upload-and-test.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Upload and End-to-end Testing 3 | order: 6 4 | --- 5 | 6 | # Upload and End-to-end Testing 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Upload and implement end-to-end testing](https://experienceleague.adobe.com/docs/launch/using/extension-dev/submit/upload-and-test.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/guides/quickstart.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Quickstart 3 | platform: web 4 | --- 5 | 6 | # Quickstart 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Getting started with extension development](https://experienceleague.adobe.com/docs/launch/using/extension-dev/getting-started.html) 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/web_extensions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Web Extensions Overview 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension development overview](https://experienceleague.adobe.com/docs/launch/using/extension-dev/overview.html#web-modules) 9 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/action-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Action Types 3 | order: 10 4 | --- 5 | 6 | # Action Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Action types in web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/action-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/backwards-compatibility.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Backwards Compatibility Standard 3 | order: 18 4 | --- 5 | 6 | # Backwards Compatibility Standard 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Backwards compatibility standard](https://experienceleague.adobe.com/docs/launch/using/extension-dev/backwards-compatibility.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/condition-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Condition Types 3 | order: 9 4 | --- 5 | 6 | # Condition Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Condition types in web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/condition-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/core-modules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Core Modules 3 | order: 16 4 | --- 5 | 6 | # Core Modules 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Core modules](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/core.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/data-element-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Data Element Types 3 | order: 11 4 | --- 5 | 6 | # Data Element Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Data element types in web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/data-element-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/event-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Event Types 3 | order: 8 4 | --- 5 | 6 | # Event Types 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Event types in web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/event-types.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/extension-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Configuration 3 | order: 7 4 | platform: web 5 | --- 6 | 7 | # Extension Configuration 8 | 9 | {% alert info, Note %} 10 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension configuration](https://experienceleague.adobe.com/docs/launch/using/extension-dev/configuration.html) 11 | {% endalert %} 12 | -------------------------------------------------------------------------------- /extensions/web_extensions/reference/extension-flow.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Flow 3 | order: 5 4 | --- 5 | 6 | # Extension Flow 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Web extension flow](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/flow.html) 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/web_extensions/reference/extension-manifest.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Extension Manifest 3 | order: 14 4 | platform: web 5 | --- 6 | 7 | # Extension Manifest 8 | 9 | {% alert info, Note %} 10 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Extension manifest](https://experienceleague.adobe.com/docs/launch/using/extension-dev/manifest.html) 11 | {% endalert %} 12 | -------------------------------------------------------------------------------- /extensions/web_extensions/reference/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Glossary 3 | order: 2 4 | --- 5 | 6 | # Glossary of Terms 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find Platform Launch term definitions in the [Adobe Experience Platform glossary](https://experienceleague.adobe.com/docs/experience-platform/landing/glossary.html). 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/library-module-format.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Library Module Format 3 | order: 6 4 | --- 5 | 6 | # Library Module Format 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Library module format for web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/format.html) 10 | {% endalert %} 11 | -------------------------------------------------------------------------------- /extensions/web_extensions/reference/shared-modules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Shared Modules 3 | order: 12 4 | --- 5 | 6 | # Shared Modules 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Shared modules](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/shared.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/supported-browsers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Supported Browsers 3 | --- 4 | 5 | # Supported Browsers 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Supported browsers](https://experienceleague.adobe.com/docs/launch/using/extension-dev/browsers.html) 9 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/turbine-free-variable.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Turbine Free Variable 3 | order: 15 4 | --- 5 | 6 | # Turbine Free Variable 7 | 8 | {% alert info, Note %} 9 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Turbine free variable](https://experienceleague.adobe.com/docs/launch/using/extension-dev/turbine.html) 10 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/reference/views.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Views 3 | order: 13 4 | start_token: "%" 5 | end_token: "%" 6 | --- 7 | 8 | # Views 9 | 10 | {% alert info, Note %} 11 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Views in web extensions](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/views.html) 12 | {% endalert %} 13 | -------------------------------------------------------------------------------- /extensions/web_extensions/shared_modules/adobe-analytics.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Adobe Analytics 3 | --- 4 | 5 | # Adobe Analytics Shared Modules 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Shared modules for the Adobe Analytics extension](https://experienceleague.adobe.com/docs/launch/using/extensions-ref/adobe-extension/analytics-extension/shared-modules.html) 9 | {% endalert %} -------------------------------------------------------------------------------- /extensions/web_extensions/shared_modules/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Shared Modules 6 | 7 | {% alert info, Note %} 8 | The Platform Launch extension development docs have moved. You can now find this document on Experience League: [Shared modules](https://experienceleague.adobe.com/docs/launch/using/extension-dev/modules/web/shared.html) 9 | {% endalert %} -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/favicon.ico -------------------------------------------------------------------------------- /files/launch-gpg-prod.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/files/launch-gpg-prod.zip -------------------------------------------------------------------------------- /files/launch-integration@adobe.com_pub.gpg.sum: -------------------------------------------------------------------------------- 1 | e1925068dcc45bbf6760b5c8425b25dfe649a3c391186061a4b27682c4cb231e5518b76ab2733dd9b5b9d87e16941ce525358368db84f0c8bceb82672b6abede 2 | -------------------------------------------------------------------------------- /files/launch-test@adobe.com_pub.gpg: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mQINBFn7g4cBEADK1XUoJtsncaSy9s/iarSr/n523EXb0E8vY2Hqpp8wTySPFTzB 4 | nWpgNrjtCfrXkZMJhaz5ptoQo3puTqxX65FURbWiv6JVNo1TfMDGoyaqrYU9zB8V 5 | k4AFnvalu6dgjn9pRFtC5gtucxbRvnHtAcBqZf4dSEW+o76iRLAUdmahNPEZ6FsO 6 | yhB8DF+WqZWsUOdrHi+LL2PmqmSMS1R8JQM6YBHVqdTVbZ8mIJhOXgrJUmyxsesT 7 | bpRzhSEzdYKFrAt0IXPbB77c2hoNVBUUiCD+65jx/V+3Sfb/7C+JWbUc4z0Jv/Ck 8 | sg3kdZM5SvOxpzM7P/puQGzirvMpqxkCQHmmn42MU8N3RgsUH/Ktnj4C3c+2b7yK 9 | ide2zBIE21dYVKipLtK/aSxyqqmwuwMNtJHRl/mbPKrwype+dXnMZ3txefskULzi 10 | xhy3ck5YS2n3uVX/H/Zja+OU8kbVIVUvwiolWsltwk5gwkptz96+EKJ/Sj8r5R/I 11 | yi45BhlLIg8wRfU3ZfEZ2CTYticPq79NKJaofC2MUGeaV6ag+BITmmgngjM/izcq 12 | jEM0CrpoyOi2n0rTofdssk5Y5wt6qQQTnXN029pR4jqyZHi7dsuIIIcsxy7sfB79 13 | KEiKS2wlWgQMlB+6PbWOvS7JulSzSTMfPMwHGImBOLAmqYVPlrTZC/+XCwARAQAB 14 | tDZBZG9iZSBMYXVuY2ggRGF0YSBFbmNyeXB0aW9uIC0gVGVzdCA8bGF1bmNoQGFk 15 | b2JlLmNvbT6JAjkEEwEIACMFAln7g4cCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIe 16 | AQIXgAAKCRBKjMIZNiCUVhMzEACVTnSiiOoSnWzoaGwpOYAkmb88zl90wOZBa1/1 17 | U60at6USZlgk3tExl5J3RLvoBeCqFQ9kBwMTujRfMh7U4GrCwnjPZ4Ou9j/ruRex 18 | PhsOsYs7EnswzZdd9Wga1jYBsktF8+iKfm4XYjbyforiYwZ+CofD4vhlZk2VxyUD 19 | tvAbfaHkOq0CHPDgX+tLcBvXAMKU9BEOsVnMfMylPbG53eGcKEfPisfaMRaLVHsP 20 | Mz36xUXHLKIsuHdLPYAFQR/F7nXAwo6eqQyqPGrc0abHt72tbZIzhgQUyv7hKQMg 21 | mlpUJ8K8UKtiiy5UXPJgm6N2h7thhkdsKGEJt9IzMZj7QYReJNCPP16BqkFCeB8h 22 | EybGLxZOF7mNM2nFE8nRr3sZPAqCez9EB14qu4UztNPelEkAr9WjsN3SK0JQdKz3 23 | 2K7yqSjro27hphSoMAToLbSHBmEqvJTHHbu6P9URcN8c259WPpd89ljXkKOIDNCw 24 | uYJGScGB3LM1lvoNGAghyLB9Lir4OcRYABEWsMeMcEtg8uaI7851KqN/K+PrrTSt 25 | K+EJxZYGLB1AB7V0afM65zQH19vbm8kiZ5s4GekZ9MduBPmTycuIlL+VTcl6WiZ0 26 | mm3g6Eh2223ek16ODEU6t33rezAqhdBpfCeIEVr8tdTEsE1N6I5o1HjM5aa7oH7u 27 | XbpvMrkCDQRZ+4OHARAAzpQzRcSZci2VsLFCeXtX4sWy7Hiaa80hEt0yulah1dif 28 | VSEqSq9E0jyYk+xJzVch/OGZOYQdKt4ksOZ+tcb9vKaq/kbE4hhs7omHf3Il11Bq 29 | hPn5H78M0RrH1KtOxQw3YoC2s5GdtLehxsVNlhiKANuLkVrefa3eZDpPPANVCG8B 30 | bmHfQFgf/CbqujR72aveu8QGbiCLzqbABGYIqHygGTuWFRDaEY3BAkGXMXtyPf7F 31 | n+oABGrx7BG43MEGBKgfw6CmoULLuFaFlyDe9RwfH7Mhv1ILny5+vWo7O72QVwYJ 32 | woEUcYM2PPvM14245JPUEKCKbR0Myb91uqj4g5N1/DfjDXyXX6Vc8h2u/PdM+R72 33 | 1DdGZUufFW0ekMvTYB5qDTmk/zzf8bOQV5Ii3cqPd9G39UQuUTo+Pur+soJqgyH5 34 | ZwHrkiltJYMe/AsXdwk7tSCcfHCUUVYLWRQg97AEaLDRyram4sNrfJrLgKDMQ5BO 35 | KkNISYN4kNDj1zZsi3dKmpmYc4V0Y65cNWXNR4D2MPZkBh52/cGojjnTi2uZ9rJA 36 | qHtr3xFoLbnH37VKWk2/izbcaqhWzROLjRfu/FTB9vYzlyS7dK781GCH14xDRRML 37 | 3AlbWkUKKsBAwm1lPVGEZCgNAQutPkeRr6I6CBLc5Y6OC7gq3jK7F6AC/pVKdhMA 38 | EQEAAYkCHwQYAQgACQUCWfuDhwIbDAAKCRBKjMIZNiCUVvAjEAC93MSMWZSppPF+ 39 | u33NI4BqjQ7igU5/CIyVoUKufIM3qGKmiFxeE3MS+53Ok87s8yx8JLFmD16iH7Ck 40 | aUuAMzGUqHcUCgXMZ4sh1QmsfpjhC+GoKckjCms0suURMWdjmZyVlxkeGO7MPpWJ 41 | xiBKXr0MJNrpixgUlFNOIagkULrmOKINAF/B5kcB9UvV7Rl7AZf8WRbBrYo7fEKa 42 | BdzQW2Hw3LvVmclnhQPIZvZ/eilSXgEvOkfu//Qh0gn2c1Iz2aFk4Pd1aO6Y5W/M 43 | LZd6f16mRAyNdqRuWHIPBy6vWn0Zb3ilQAVf5oXBq3JTam1o+/+Pggl23ZY2M+fV 44 | aJ9G88rOz6TCQLVclHzdlYwqCUCcEEPujE37HD4LW6MpkazcL1qzJgwfR6S57VL7 45 | fEkpraen4CRmbc/4vOOC/nAG2+biWhLCtA1eJuQveDNV+u3sDL3f46iuy4SeD6IU 46 | iJzgVRMk5Tnza7pcsMvpODFDg1YS2h8DdMguoVEH6gYPWJA56fB121ke80PSkoGO 47 | uOpga56EymIQtbW0/yiFD2ZifLlyxYmz7lKft68Y2hrUIBtp0jKKT50xYw3JjdOv 48 | GSXYN8zMM+GDBLuuvX69WMszibjUHcvvT3r9KzMUtCW5q3HIWATP25te0jdkF0Yx 49 | sOqAcKfRWPFrx/MxnOeDqCEn1jXDzw== 50 | =hGyo 51 | -----END PGP PUBLIC KEY BLOCK----- 52 | -------------------------------------------------------------------------------- /files/launch-test@adobe.com_pub.gpg.sum: -------------------------------------------------------------------------------- 1 | a7a5cf6e5f1c09ea92faa5ae31b56ab2258cf92f602c3fae0d31cfa74e658a081e8aa2e2d5e31057f0108d804330817c3cd7219c22666e5ca69dfe29816223bd 2 | -------------------------------------------------------------------------------- /files/launch@adobe.com_pub.gpg: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mQINBFn7gfcBEADAEMApmPiTQRzqNysxjyhXBenyyCGbfgNgJBzA37fJbboQVPMl 4 | h+7bzLyEUTEzNPfmB0A+2vRfIbS5/zQB1MjBBNOXDSrXP/WxIi1rJ+cOdBu0IjuY 5 | eHG71tz/I5HcCtpvzPavxK4o0THTOuQtsRYbOB/l0+QraqCVXgfRx6rR8rWpKX17 6 | vWcl+ISFDy94GTCzYo3QnFGEoI6cDB5PGTV2tJUAKdzIYTPiN4D03w8U/qBlfxOO 7 | KmTbJ2WHx3mSVwatw8xuxiJd+46JgDiLAlT90AcDtP0dIhMnT6HLDXrSepMeOs4c 8 | NCCEA293uOzfDeVYK2PoAby2j7th/wFD4hgpe4hK1U+csZmwhBuPOZx+RbxwJwpn 9 | d7dgl8tcI0ecyOux3mh6qoq1PSjEFVCP9tDtTGwIBpNH7uyfXNO944b7emC/6EJe 10 | pNLRBvhFuIqUH7JZ0PHIT5a+dmDQtIvUWjosOxqQoi4dqVJJ1tcjRzbjXk+JZC6f 11 | LwURrdopDbUgfjfnduSI4kEx1MvMiPhThU9fGHKexFV0+xYU1EOP7TfES4kelS2x 12 | BZySiZC/Z5Eqtm3/Vg7+BroyBswaog+txetXY7KV2xXm7vHcr9ui+elxSgQwuJeN 13 | hctB7k7bTFNQDTdjCGYIdj7vYrHYJsVeHpSoNLec+oXpr9Vbj4pDVnRSYwARAQAB 14 | tC9BZG9iZSBMYXVuY2ggRGF0YSBFbmNyeXB0aW9uIDxsYXVuY2hAYWRvYmUuY29t 15 | PokCOQQTAQgAIwUCWfuB9wIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJ 16 | EI11dhb7OnhKCoAQALiOfswf/vZXsEWaUukwC9NYsUeTcR9iY12MjMlxKTqXflei 17 | zgUPhzadRqzJAPo6aWeHCX3MTO1XM9tq+wYOp6Dao/uPy6knlkbSySSeyeYOBY/R 18 | 8A385z0wiupByotjP4UgxmBldCEGhd3wUgOfw2IsY1A75ZD5Hh47c/Y7xyAPlT7w 19 | fqcSwxms5P0djrjctYNOPcKPW9gicTrfRx61crF9GvlZEvInOAnQOiBh1uCtvpWI 20 | AdxP6JE62Anb2H+PE/+f/yc1KMXdFyVW6ltKu3eMXJmn2q0DLvj3a62BRLvo5+zT 21 | imeZuIHmaoE82Vds+0wghBEjTcHon3W94jVcKrLJAf53BfpdqnYqZ6pR1vXGYj4d 22 | LiPve8mcmikPoHdlQ8h7vLkO1dTIDHRNGD7E2S0vSnZ/xZ8lowjNHxAlJuSIe7bP 23 | u7EFjEjf5fnZusAgXaiHLv7IdW7j1NXlrqx9NL/ZfZ9LO+kbWvMEfDUAB7yn694F 24 | dZS4TuVgGjiwd4kf/WL5fEprlfbaM0mcaZMKM8eE0QUzj3U0Dswf+vr7XKwDrERi 25 | dvivo0iBhzBeoK1KfVwcXqJ+IhihuIwW9I2fYVYxh3x8Qgv0HPoOGZi6KH3x3Zd5 26 | nLNy2AE9ZPatftqTCpARsb5GwhJna6kkOzZSF0+L+fLqr7gln4k+wnvRYoFJuQIN 27 | BFn7gfcBEADxuQe0snRFoNuiTK639U7NMPtq6Qgyi7egEDVXoHlfFWcEEKEwFh/R 28 | w11+sPRe5Ar00PYE9Se+jsCpuHHRWkvXSLArnkQnlpeADQTzHEWpLwcHIEAblxaq 29 | /KiZeDC5VvOZYRVeH6lFu6c+cY+RAfteSQgabzYTbmHzAM8WzqNA9LN6VhJmxbKy 30 | JvTsOBoeoe57s4vqjeniE2KPpMjbZt2BZJIzj8ehAE263pUpN/B2TDNy7TEb/08O 31 | oWJOokFXdjcnD6vfECWP08bclg1zRd0L9NE6Sw1d9iSUZIswO00mQqyHEDQBa93U 32 | qKp8yVQnCCFRBg+F3JUevOlxj8KZsJLwvm5UQ1V1ZKKAxIgAdN3Qt266/LRx0gtP 33 | hYtR59flHGMPL765I/nYR4bF6q1ozp3Zf6SOUS9c0rtbkUX8+rK13wHn0TmK/lC8 34 | JVeLv4CyuUd55jfZcPQkLxoAZwXcazRSbyShls56QScl8Z9daZeNFD+QU89J61U7 35 | 7fQaDY2wLfbj3cRESQ0UwRGGjIR5Fa5Ry+X4MDqx40tgBzWWeCecgYBhj/DnUj+t 36 | IYU+P9vI5/nuTLQ378XsRUeFmSrwSk/xy7QFu8WB7OaK6ztN3tKp88voizt4ySvC 37 | 62MNdt2+3reicCncDQQIvdrUfoMjWqu7MB8SbvXNEh05u/jATBvUoQARAQABiQIf 38 | BBgBCAAJBQJZ+4H3AhsMAAoJEI11dhb7OnhKgbMP/RxzuR7MJXURNHNY0RVAdx8w 39 | RoktWQWVVOjOPEnE/Lq64rvLZjAcAj5f2KpzuiGqUiz9hvTf0Hlt3ki9mEWaCo1i 40 | Ey/gRUlWThj5oYCMK/C/YKCLGP+3VMMRiyvGqHKxnCmsjxKxBQbR5otXsQd7sYlB 41 | LA1VtCXoXvQDuwZt9EptzryhH1gpeBEj9nxs+9KDp3vP+dViC82MBcZXS975yeMc 42 | TcAp6uMWsRS6isGBgDCKTKxmB9Rlx57mWbMrHWH2nYxYBFLnw5iyQNylkOunzS4K 43 | Py4+UwVT5mhbNv/ZZOvRXw3VKcfUc5o1OSKYK/DP1shZaSHPZ2vlpU6+PZv36UV/ 44 | ovldYpZlgUtKEmtbMYQt6Sjk5CwS0Gb9PWBAqz4yqc31MhISscNSsugMBGxpbvAL 45 | OwfUBOFN/mHXm5sWqkOO/klofTqhqw078eUhL7GeyGD300Dc6Ro4i0Y0NHfcT40R 46 | UR19PN9qbQwYo5LjZye2FdSsqy213z32ZIrGlX3eCLyZgdTjtUm4F0lAT5aC2jxh 47 | tCfwMpYLdlVcveDsGrPrg7TdWmKAfEZsBpOtUfx3AmxQCGxdK5bkFxA9NNpBhgJr 48 | b4h1GoPhrMGh7vcdHFr5cZ2d8n+pjwe+QNSkBwhpwQIpGMfSE9FiYxDaAC8VKf1l 49 | MrHgiXmzJaGV+u+5+AzY 50 | =293Q 51 | -----END PGP PUBLIC KEY BLOCK----- 52 | -------------------------------------------------------------------------------- /files/launch@adobe.com_pub.gpg.sum: -------------------------------------------------------------------------------- 1 | c68539d1939dc6a1937b360059f5c455a6c16a357a9ddaaedfab21b36c4e9b7bc95f07192deba1daa5c0d73ebd9a666968b0848dfcd63099a122b65d3db5b592 2 | -------------------------------------------------------------------------------- /images/access-token/access-creds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/access-creds.png -------------------------------------------------------------------------------- /images/access-token/add-api-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/add-api-button.png -------------------------------------------------------------------------------- /images/access-token/add-launch-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/add-launch-api.png -------------------------------------------------------------------------------- /images/access-token/api-added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/api-added.png -------------------------------------------------------------------------------- /images/access-token/auto-access-creds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/auto-access-creds.png -------------------------------------------------------------------------------- /images/access-token/create-jwt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/create-jwt.png -------------------------------------------------------------------------------- /images/access-token/generate-jwt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/generate-jwt.png -------------------------------------------------------------------------------- /images/access-token/jwt-generated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/jwt-generated.png -------------------------------------------------------------------------------- /images/access-token/keypair-generated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/keypair-generated.png -------------------------------------------------------------------------------- /images/access-token/paste-private-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/paste-private-key.png -------------------------------------------------------------------------------- /images/access-token/select-product-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/select-product-profile.png -------------------------------------------------------------------------------- /images/access-token/token-generated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/access-token/token-generated.png -------------------------------------------------------------------------------- /images/data-element-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/data-element-field.png -------------------------------------------------------------------------------- /images/event-processing-flow-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/event-processing-flow-edge.png -------------------------------------------------------------------------------- /images/extension-flow-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/extension-flow-edge.png -------------------------------------------------------------------------------- /images/extension-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/extension-flow.png -------------------------------------------------------------------------------- /images/getting-started/action-configuration.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/action-configuration.jpg -------------------------------------------------------------------------------- /images/getting-started/adapter-success.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/adapter-success.jpg -------------------------------------------------------------------------------- /images/getting-started/adapters-link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/adapters-link.jpg -------------------------------------------------------------------------------- /images/getting-started/add-new-library.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/add-new-library.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-admin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-admin.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-admin2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-admin2.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-all-rights.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-all-rights.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-launch-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-launch-user.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-user-profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-user-profile.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-add-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-add-user.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-assign-rights.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-assign-rights.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-choose-org.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-choose-org.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-create-a-new-profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-create-a-new-profile.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-launchCard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-launchCard.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-overview.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-products-launch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-products-launch.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-profile-permissions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-profile-permissions.jpg -------------------------------------------------------------------------------- /images/getting-started/admin-console-profiles-add-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin-console-profiles-add-user.jpg -------------------------------------------------------------------------------- /images/getting-started/admin_console_add_all_company_rights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin_console_add_all_company_rights.png -------------------------------------------------------------------------------- /images/getting-started/admin_console_add_all_property_rights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin_console_add_all_property_rights.png -------------------------------------------------------------------------------- /images/getting-started/admin_console_rights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/admin_console_rights.png -------------------------------------------------------------------------------- /images/getting-started/app-mgr-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/app-mgr-link.png -------------------------------------------------------------------------------- /images/getting-started/build-for-dev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/build-for-dev.jpg -------------------------------------------------------------------------------- /images/getting-started/catalog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/catalog.jpg -------------------------------------------------------------------------------- /images/getting-started/create-a-property.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-a-property.jpg -------------------------------------------------------------------------------- /images/getting-started/create-data-element.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-data-element.jpg -------------------------------------------------------------------------------- /images/getting-started/create-new-adapter-link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-new-adapter-link.jpg -------------------------------------------------------------------------------- /images/getting-started/create-new-environment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-new-environment.jpg -------------------------------------------------------------------------------- /images/getting-started/create-new-library.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-new-library.jpg -------------------------------------------------------------------------------- /images/getting-started/create-new-rule.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/create-new-rule.jpg -------------------------------------------------------------------------------- /images/getting-started/custom-tags.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/custom-tags.jpg -------------------------------------------------------------------------------- /images/getting-started/dev-adapter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/dev-adapter.jpg -------------------------------------------------------------------------------- /images/getting-started/embed-codes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/embed-codes.jpg -------------------------------------------------------------------------------- /images/getting-started/extension-installed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/extension-installed.jpg -------------------------------------------------------------------------------- /images/getting-started/extensions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/extensions.jpg -------------------------------------------------------------------------------- /images/getting-started/fb-extension.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/fb-extension.jpg -------------------------------------------------------------------------------- /images/getting-started/i-o_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/i-o_overview.jpg -------------------------------------------------------------------------------- /images/getting-started/imsUserID.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/imsUserID.jpg -------------------------------------------------------------------------------- /images/getting-started/install-extension.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/install-extension.jpg -------------------------------------------------------------------------------- /images/getting-started/keys.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/keys.gif -------------------------------------------------------------------------------- /images/getting-started/launch-choose-org.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/launch-choose-org.jpg -------------------------------------------------------------------------------- /images/getting-started/launch_create_a_dev_property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/launch_create_a_dev_property.png -------------------------------------------------------------------------------- /images/getting-started/launch_installation_instructions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/launch_installation_instructions.png -------------------------------------------------------------------------------- /images/getting-started/launch_installation_instructions_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/launch_installation_instructions_copy.png -------------------------------------------------------------------------------- /images/getting-started/load-event.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/load-event.jpg -------------------------------------------------------------------------------- /images/getting-started/new-integration.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/new-integration.gif -------------------------------------------------------------------------------- /images/getting-started/properties-screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/properties-screen.jpg -------------------------------------------------------------------------------- /images/getting-started/rules-link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/rules-link.jpg -------------------------------------------------------------------------------- /images/getting-started/select-development.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/select-development.jpg -------------------------------------------------------------------------------- /images/getting-started/successful-build.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/successful-build.jpg -------------------------------------------------------------------------------- /images/getting-started/tech-accnt-id.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/tech-accnt-id.jpg -------------------------------------------------------------------------------- /images/getting-started/userData.imsAccessToken.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/getting-started/userData.imsAccessToken.jpg -------------------------------------------------------------------------------- /images/launch.svg: -------------------------------------------------------------------------------- 1 | launch -------------------------------------------------------------------------------- /images/rule-processing-flow-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/rule-processing-flow-edge.png -------------------------------------------------------------------------------- /images/rule-processing-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/rule-processing-flow.png -------------------------------------------------------------------------------- /images/secrets/secret-data-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/reactor-developer-docs/5e515ff203eab272a06e74a08fa3ad2ee7f6fe9b/images/secrets/secret-data-element.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include head.html %} 7 | 8 | 9 | 10 | {% include header.html %} 11 |
12 | Launch Logo 13 |

14 | Deploy digital experiences faster 15 |

16 |

17 | Launch is a platform to develop and deploy tag management extensions into the Adobe ecosystem. 18 |

19 |
20 | 28 | 36 |
37 |
38 | {% include pagebottom.html %} 39 | 40 | 41 | -------------------------------------------------------------------------------- /js/search.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | function displaySearchResults(results, store) { 3 | var searchResults = document.getElementById('search-results'); 4 | 5 | if (results.length) { // Are there any results? 6 | var appendString = ''; 7 | 8 | for (var i = 0; i < results.length; i++) { // Iterate over the results 9 | var item = store[results[i].ref]; 10 | appendString += '

' + item.title + '

'; 11 | appendString += '

' + item.content.substring(0, 150) + '...

'; 12 | } 13 | 14 | searchResults.innerHTML = appendString; 15 | } else { 16 | searchResults.innerHTML = '

No results found

'; 17 | } 18 | } 19 | 20 | function getQueryVariable(variable) { 21 | var query = window.location.search.substring(1); 22 | var vars = query.split('&'); 23 | 24 | for (var i = 0; i < vars.length; i++) { 25 | var pair = vars[i].split('='); 26 | 27 | if (pair[0] === variable) { 28 | return decodeURIComponent(pair[1].replace(/\+/g, '%20')); 29 | } 30 | } 31 | } 32 | 33 | var searchTerm = getQueryVariable('query'); 34 | 35 | if (searchTerm) { 36 | document.getElementById('search-box').setAttribute("value", searchTerm); 37 | 38 | // Initalize lunr with the fields it will be searching on. I've given title 39 | // a boost of 10 to indicate matches on this field are more important. 40 | var idx = lunr(function() { 41 | this.field('id'); 42 | this.field('title', { 43 | boost: 10 44 | }); 45 | this.field('author'); 46 | this.field('category'); 47 | this.field('content'); 48 | }); 49 | 50 | for (var key in window.store) { // Add the data to lunr 51 | idx.add({ 52 | 'id': key, 53 | 'title': window.store[key].title, 54 | 'author': window.store[key].author, 55 | 'category': window.store[key].category, 56 | 'content': window.store[key].content 57 | }); 58 | 59 | var results = idx.search(searchTerm); // Get lunr to perform a search 60 | displaySearchResults(results, window.store); // We'll write this in the next section 61 | } 62 | } 63 | })(); 64 | -------------------------------------------------------------------------------- /js/vendor/typekit.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 Adobe 3 | All Rights Reserved. 4 | 5 | NOTICE: Adobe permits you to use, modify, and distribute this file in 6 | accordance with the terms of the Adobe license agreement accompanying 7 | it. If you have received this file from a source other than Adobe, 8 | then your use, modification, or distribution of it requires the prior 9 | written permission of Adobe. 10 | */ 11 | 12 | /* global Typekit, document */ 13 | /* jshint -W033,-W116 */ 14 | (function(window, undefined) { 15 | "use strict" 16 | 17 | var config = { 18 | kitId: 'wwo7pvd', 19 | scriptTimeout: 3000 20 | }; 21 | 22 | if (!window.Typekit) { // we load the typescript only once 23 | var h = document.getElementsByTagName("html")[0]; 24 | h.className += " wf-loading"; 25 | var t = setTimeout(function() { 26 | h.className = h.className.replace(/(\s|^)wf-loading(\s|$)/g, " "); 27 | h.className += " wf-inactive"; 28 | }, config.scriptTimeout); 29 | var tk = document.createElement("script"), 30 | d = false; 31 | 32 | // Always load over https 33 | tk.src = 'https://use.typekit.net/' + config.kitId + '.js' 34 | tk.type = "text/javascript"; 35 | tk.async = "true"; 36 | tk.onload = tk.onreadystatechange = function() { 37 | var a = this.readyState; 38 | if (d || a && a !== "complete" && a !== "loaded") { 39 | return; 40 | } 41 | d = true; 42 | clearTimeout(t); 43 | try { 44 | Typekit.load(config); 45 | } catch (b) {} 46 | }; 47 | var s = document.getElementsByTagName("script")[0]; 48 | s.parentNode.insertBefore(tk, s); 49 | } 50 | 51 | }(this)); 52 | -------------------------------------------------------------------------------- /resources/example_projects.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Example Projects 3 | --- 4 | 5 | # Example Projects 6 | 7 | [Hello World Extension](https://github.com/adobe/reactor-helloworld-extension) 8 | 9 | A simple example extension. -------------------------------------------------------------------------------- /resources/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Overview 3 | --- 4 | 5 | # Get in touch 6 | 7 | ## Slack 8 | 9 | [Launch Developers](http://join.launchdevelopers.chat) 10 | 11 | If you would like to develop extensions for Launch, [please join us](http://join.launchdevelopers.chat) in the community Slack workspace! Feel free to reach out and a member of the community will typically respond very quickly. The Adobe Launch team is also active in this workspace. 12 | 13 | 14 | ## Forum 15 | 16 | [Launch Forums](https://forums.adobe.com/community/experience-cloud/platform/launch) 17 | 18 | 19 | ## Blogs 20 | 21 | [Adobe Tech Blog](https://medium.com/adobetech/search?q=launch) 22 | 23 | 24 | ## Additonal Documentation 25 | 26 | [Launch User Docs](https://docs.adobe.com/content/help/en/launch/using/overview.html) -------------------------------------------------------------------------------- /resources/tooling.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Tooling 3 | --- 4 | 5 | # Tooling 6 | 7 | ## Library Switching 8 | 9 | [Adobe Experience Cloud Chrome Extension](https://chrome.google.com/webstore/detail/adobe-experience-cloud-de/ocdmogmohccmeicdhlhhgepeaijenapj?src=propaganda) 10 | 11 | We recommend installing the Adobe Experience Cloud Debugger Chrome extension to help with debugging. Under the "tools" section of the Debugger, you can toggle debug mode for both DTM and Launch in order to see more verbose output in the browser console. 12 | 13 | [Launch and DTM Switch](https://chrome.google.com/webstore/detail/adobe-dtm-switch/nlgdemkdapolikbjimjajpmonpbpmipk) 14 | 15 | While not developed by Adobe, you can also try the Launch and DTM Switch Chrome Extension. After enabling debugging through the extension, you should see messages logged to the console when running a DTM or Launch library on a website. 16 | 17 | 18 | ## Extension Development 19 | 20 | [Extension Scaffold Tool](https://www.npmjs.com/package/@adobe/reactor-scaffold) 21 | 22 | A command-line tool that's particularly helpful for setting up initial files when building a Reactor extension. 23 | 24 | [Extension Sandbox](https://www.npmjs.com/package/@adobe/reactor-sandbox) 25 | 26 | This project provides a sandbox that runs on your local computer in which you can manually test your extension. We highly recommend using this tool while developing your extension. 27 | 28 | [Extension Packager](https://www.npmjs.com/package/@adobe/reactor-packager) 29 | 30 | This project provides a command-line utility for packaging a Launch extension into a zip file. While using this utility is not necessary, it will validate your extension and make an effort to exclude anything from the zip file not necessary for the extension to run properly. 31 | 32 | [Extension Uploader](https://www.npmjs.com/package/@adobe/reactor-uploader) 33 | 34 | This project provides a command-line utility for uploading a Launch extension to the Launch extension marketplace. It can be used for uploading brand new extension packages or new versions of existing extension packages. 35 | 36 | [Extension Releaser](https://www.npmjs.com/package/@adobe/reactor-releaser) 37 | 38 | This project provides a command-line utility for changing a Launch extension availability from `development` to `private` in the Launch extension marketplace. 39 | -------------------------------------------------------------------------------- /search/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: search 3 | --- 4 | 14 |
15 | 16 | 30 | 31 | --------------------------------------------------------------------------------