Skip to content

Commit 1037a78

Browse files
Merge pull request #626 from akeneo/quick-start-apps
Quick start apps
2 parents 90b20ea + 5ccdac9 commit 1037a78

File tree

7 files changed

+106
-95
lines changed

7 files changed

+106
-95
lines changed

content/apps/apps-getting-started.md

Lines changed: 14 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,4 @@
1-
# Getting started
2-
3-
## Overview
4-
5-
Before you start planning and developing your App, it's essential to understand what Akeneo apps do and how they fit into Akeneo PIM.
6-
7-
### What's an Akeneo app?
8-
9-
An Akeneo App connects Akeneo PIM with third-party solutions. They can be easily connected directly from within PIM, with a streamlined process of activation and configuration.
10-
11-
Most Akeneo apps are built by third-party developers, not by Akeneo.
12-
13-
You can build an app to pull Akeneo data into your App to adapt and distribute it to external services, like e-commerce platforms or marketplaces. You can also push data to enrich the Akeneo PIM with translations, ERP data, assets, data pool content, or other sources.
14-
15-
To tailor experiences to their specific needs, Akeneo users connect Akeneo apps to integrate with external services and improve how they collect, enrich and distribute their data.
16-
17-
<img class="img-responsive in-article" alt="What's an app schema" src="../img/apps/whats-an-app.png" style="width: 500px;">
18-
19-
20-
### How apps fit into Akeneo PXM Studio?
21-
22-
Apps integrate with Akeneo in the following ways:
23-
24-
- using OAuth2.0 protocol to connect with Akeneo
25-
- using app catalogs to provide a consistent experience to users
26-
- connecting with our REST API to read and write Akeneo data
27-
28-
![App in Akeneo PXM Studio](../img/apps/apps-fit-akeneo.png)
29-
30-
::: info
31-
For more information on Apps usage, please read our help center articles
32-
[How to connect Akeneo PIM with third parties](https://help.akeneo.com/pim/serenity/articles/how-to-connect-my-pim-with-apps.html)
33-
and [Manage your Apps](https://help.akeneo.com/pim/serenity/articles/manage-your-apps.html).
34-
::::
35-
36-
37-
### Why apps over connectors?
38-
39-
Both connectors and Apps use the OAuth standard. However, there are some significant differences.
40-
41-
**AUTOMATIC CONFIGURATION INSTEAD OF MANUAL CONFIGURATION**
42-
43-
***Connectors use Akeneo PIM connections to get credentials***
44-
45-
The user who connects Akeneo PIM with a connector must create a connection and manually configure authorizations and permissions. Then, they copy/paste generated API credentials from the PIM UI to the connector.
46-
47-
***Apps use the Connect feature***
48-
49-
When a user connects Akeneo PIM with an App, they click on Connect then follow the step-by-step activation process to accept requested authorizations and set up permissions. The App receives everything it needs to interact with Akeneo PIM at the end of this process. No more manual configuration issues and more transparency!
50-
51-
**HIGH VISIBILITY**
52-
53-
We give your App high visibility when you publish an App on the [Akeneo App Store](https://apps.akeneo.com/). Your App is displayed ***above all connectors***. We also give high visibility to Apps to our Akeneo PIM users. To do so, we created a ***dedicated section*** to highlight them in the PIM App Store.
54-
55-
![PIM App Store](../img/apps/pim-marketplace-with-apps.png)
56-
57-
58-
**THIS IS JUST THE BEGINNING!**
59-
60-
Akeneo promotes Apps and will communicate about new Apps published on the Akeneo App Store.
61-
62-
Akeneo teams are also investing in Apps by developing new features for you to ease and accelerate App development and publication in the coming years.
63-
64-
And we are going to need your input so get ready to hear about us! 🎙️
65-
66-
### Next steps
67-
68-
- Learn how to [create an app](/apps/apps-getting-started.html#create-an-app)
69-
- Read our documentation about [authorization and authentication](/apps/authentication-and-authorization.html)
70-
- Learn how to use [catalogs](/apps/catalogs.html) to retrieve product data
71-
72-
<!------------------------------ end of the Overview ------------------------------------>
73-
74-
## Create an app
1+
# Create an app
752

763
You're ready to create a new app. You want to set up your development environment so that you can start coding.
774

@@ -83,7 +10,7 @@ At the end of this tutorial, your App will receive an Access Token and will be a
8310
Please go to our [REST API Reference page](/api-reference-index.html) to learn more about our REST API endpoints. And if you want to know more about response codes, pagination, filters, or get troubleshooting information, go to the REST API basics page.
8411
:::
8512

86-
### What you will learn
13+
## What you will learn
8714
In this tutorial, we provide a guide on how to implement the required parts of your App for the activation process based on OAuth 2.0 with Authorization Code.
8815
At the end of this tutorial, your App will receive an Access Token and will be able to call the REST API of a PXM Studio.
8916

@@ -93,15 +20,15 @@ We strongly encourage you to adapt those examples with the framework or library
9320
:::
9421

9522
::: tips
96-
Reminder: our documentation is [open-source](https://github.com/akeneo/pim-api-docs).
23+
Reminder: our documentation is [open-sourced](https://github.com/akeneo/pim-api-docs).
9724
Feel free to contribute with languages we're not experts at.
9825
:::
9926

100-
### Requirements
101-
- You have a [Partner account](https://www.akeneo.com/technology-partners/) and a developer sandbox [contact us](https://www.akeneo.com/contact/)
27+
## Requirements
28+
- You have your [App developer starter kit](/apps/overview.html#app-developer-starter-kit)
10229
- You understand [what's an Akeneo App](/apps/apps-getting-started.html#whats-an-akeneo-app) and [how they fit into Akeneo PXM Studio](/apps/apps-getting-started.html#how-apps-fit-into-akeneo-pxm-studio)
10330

104-
### Step 1: Expose your activation and callback URLs
31+
## Step 1: Expose your activation and callback URLs
10532

10633
First, your application must expose an **activation URL**.
10734

@@ -125,13 +52,13 @@ You can find more information about the authorization process and code challenge
12552
- [What's the code challenge?](/apps/authentication-and-authorization.html#whats-the-code-challenge)
12653
:::
12754

128-
### Step 2: Get a public URL for your in development App
55+
## Step 2: Get a public URL for your in development App
12956

13057
Before proceeding to step 4 create a test App in your developer sandbox, you will need valid URLs to your App. This can be easily resolved with a tunnel to your localhost.
13158

13259
There are several ways to create a tunnel to your localhost such as **localhost.run** or **ngrok**. We will use [localhost.run](https://localhost.run/) for its free and easy setup.
13360

134-
#### Initiate localhost tunnel
61+
### Initiate localhost tunnel
13562

13663
Initiate localhost tunnel using the following command:
13764

@@ -143,7 +70,7 @@ ssh -R 80:localhost:8080 localhost.run
14370
The command above assumes that your local App is available on port 8080 but you can specify any port you want.
14471

14572

146-
#### Extract URL from the output
73+
### Extract URL from the output
14774

14875
If everything goes well the command will output your public URL for your local app:
14976

@@ -154,7 +81,7 @@ If everything goes well the command will output your public URL for your local a
15481

15582
Your local app is now available at `https://46672a93dd64.lhrtunnel.link`. You may now use it for your development.
15683

157-
### Step 3: Get your test app credentials
84+
## Step 3: Get your test app credentials
15885

15986
To get credentials for your app, you need to create a test app on your developer sandbox.
16087

@@ -181,7 +108,7 @@ To do so, you need to:
181108
5. Don't forget to save your modifications
182109

183110

184-
### Step 4: Connect your test App and access its settings
111+
## Step 4: Connect your test App and access its settings
185112

186113
![Test app on the App Store](../img/apps/marketplace-with-test-app.png)
187114

@@ -205,7 +132,7 @@ To know more about the step-by-step activation process, please read our article:
205132
[How to connect an App?](https://help.akeneo.com/pim/serenity/articles/how-to-connect-my-pim-with-apps.html#how-to-connect-an-app)
206133
:::
207134

208-
### Step 5: Use your access token to call the API
135+
## Step 5: Use your access token to call the API
209136

210137
At the end of this process, you receive the following response with an `access_token`:
211138

@@ -219,10 +146,9 @@ At the end of this process, you receive the following response with an `access_t
219146

220147
You can use this token to call the Akeneo PIM REST API.
221148

222-
223-
### Next steps
149+
## Next steps
224150

225151
- Explore the [REST API reference](/api-reference-index.html)
226152
- Discover how to [synchronize product data with your app](/getting-started/synchronize-pim-products-6x/welcome.html)
227153
- Start building your app by populating data to test your app against, designing your user interface, and interacting with the Akeneo REST API so that your app stays in sync with changing data
228-
- Publish your app on the [Akeneo App Store](https://apps.akeneo.com/how-submit-extension-akeneo-app-store)
154+
- [Publish your app](/apps/overview.html#publish-your-app) on the [Akeneo App Store](https://apps.akeneo.com/how-submit-extension-akeneo-app-store)

content/apps/authentication-and-authorization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ After you've completed this tutorial, you'll be able to authorize an app created
5151

5252
### Requirements
5353

54-
- You have a [Partner account](https://www.akeneo.com/technology-partners/) and a developer sandbox [contact us](https://www.akeneo.com/contact/).
54+
- You have your [App developer starter kit](/apps/overview.html#app-developer-starter-kit)
5555
- You're familiar with the [OAuth 2.0 flow](/apps/authentication-and-authorization.html#oauth-20) in Akeneo
5656

5757
### Step 1: Generate API credentials
@@ -253,7 +253,7 @@ After you've completed this tutorial, you'll be able to authenticate users comin
253253

254254
### Requirements
255255

256-
- You have a [Partner account](https://www.akeneo.com/technology-partners/) and a developer sandbox [contact us](https://www.akeneo.com/contact/).
256+
- You have your [App developer starter kit](/apps/overview.html#app-developer-starter-kit)
257257
- You're familiar with [OpenID connect](https://openid.net/connect/)
258258
- You're familiar with the [app authentication process](/apps/authentication-and-authorization.html#getting-started-with-oauth-20)
259259

content/apps/catalogs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ After completing this tutorial, you'll be able to create and use catalogs to ret
4646

4747
### Requirements
4848

49-
- You have a [Partner account](https://www.akeneo.com/technology-partners/) and a developer sandbox [contact us](https://www.akeneo.com/contact/).
50-
- Your app already manages the authorization process.
49+
- You have your [App developer starter kit](/apps/overview.html#app-developer-starter-kit)
50+
- Your app already manages the authorization process
5151

5252
### Step 1: Ask for catalog scopes
5353

content/apps/overview.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Overview
2+
3+
Before you start planning and developing your app, it's essential to understand what Akeneo apps do and how they fit into Akeneo PIM.
4+
5+
## What's an Akeneo app?
6+
7+
An Akeneo App connects Akeneo PIM with third-party solutions. They can be easily connected directly from within PIM, with a **streamlined process of activation and configuration**.
8+
9+
Most Akeneo apps are built by third-party developers, not by Akeneo.
10+
11+
You can build an app to pull Akeneo data into your App to adapt and distribute it to external services, like e-commerce platforms or marketplaces. You can also push data to enrich the Akeneo PIM with translations, ERP data, assets, data pool content, or other sources.
12+
13+
To tailor experiences to their specific needs, Akeneo users connect Akeneo apps to integrate with external services and improve how they collect, enrich and distribute their data.
14+
15+
<img class="img-responsive in-article" alt="What's an app schema" src="../img/apps/whats-an-app.png" style="width: 500px;">
16+
17+
::: tips
18+
Want to know more about apps?
19+
Discover the [Akeneo App Store and apps fundamentals course](https://akademy.akeneo.com/akeneo-app-store-apps-fundamentals) through our [Akeneo Academy](https://akademy.akeneo.com/).
20+
:::
21+
22+
## How apps fit into Akeneo PXM Studio?
23+
24+
Apps integrate with Akeneo in the following ways:
25+
26+
- using **OAuth2.0 protocol** to connect with Akeneo
27+
- using app catalogs to provide a **consistent experience** to users
28+
- connecting with our **REST API** to read and write Akeneo data
29+
30+
![App in Akeneo PXM Studio](../img/apps/apps-fit-akeneo.png)
31+
32+
::: info
33+
For more information on apps usage, please read our help center articles
34+
[How to connect Akeneo PIM with third parties](https://help.akeneo.com/pim/serenity/articles/how-to-connect-my-pim-with-apps.html)
35+
and [Manage your apps](https://help.akeneo.com/pim/serenity/articles/manage-your-apps.html).
36+
::::
37+
38+
39+
## Why apps over connectors?
40+
41+
Both connectors and apps are SaaS compatible and use API.
42+
However, there are some significant differences.
43+
44+
- **Automatic configuration instead of manual configuration**: connectors use Akeneo PIM connections to get credentials, apps use the OAuth 2.0. When a user connects Akeneo PIM with an app, they click on Connect then follow the step-by-step activation process to accept requested authorizations and set up permissions. The app receives everything it needs to interact with Akeneo PIM at the end of this process. No more manual configuration issues and more transparency!
45+
- **High visibility**: we give your app high visibility when you publish an app on the [Akeneo App Store](https://apps.akeneo.com/). Your app is displayed ***above all connectors***. We also give high visibility to apps to our Akeneo PIM users. To do so, we created a ***dedicated section*** to highlight them in the Akeneo PXM Studio embedded App Store.
46+
- **Greater level of support**: we provide support to app developers to help them design, build, and test their app before publishing it on [Akeneo App Store](https://apps.akeneo.com/).
47+
- **Increase co-marketing opportunities**: Akeneo promotes apps and will communicate about new apps published on the Akeneo App Store, especially about certified apps.
48+
- **Benefit from all the future features & improvements**: Akeneo teams are also investing in apps by developing new features for you to ease and accelerate app development and publication in the coming years.
49+
50+
![PIM App Store](../img/apps/pim-marketplace-with-apps.png)
51+
52+
::: info
53+
Want to know more about the app certification? [Contact us](https://www.akeneo.com/contact/).
54+
:::
55+
56+
57+
## App developer starter kit
58+
59+
Before starting to develop your app, we advise you to:
60+
- Learn [how users connect their PIM with apps](https://help.akeneo.com/pim/serenity/articles/how-to-connect-my-pim-with-apps.html) and [how they manage their connected apps](https://help.akeneo.com/pim/serenity/articles/manage-your-apps.html)
61+
- Read our [guides](https://api.akeneo.com/guides-index.html) to better understand Akeneo and be aware of best pratices
62+
- Check our REST API [Reference](https://api.akeneo.com/api-reference-index.html) & [basics](https://api.akeneo.com/documentation/introduction.html)
63+
- Use our [developer tools](https://api.akeneo.com/apps/app-developer-tools.html)
64+
65+
Then, you can [contact us](https://www.akeneo.com/contact/) to get your **App developer starter kit**:
66+
- A developer sandbox with our [Serenity Enterprise version](https://help.akeneo.com/pim/serenity/versions-in-detail.html)
67+
- An access to our [support portal](https://apps-support.akeneo.com/) to easily ask questions, send suggestions or report a bug
68+
69+
## Publish your app
70+
71+
Your app is good to go?
72+
73+
- Discover our [extension approval requirements](https://apps.akeneo.com/extensions-approval-requirements)
74+
- [Contact us](https://www.akeneo.com/contact/) to demonstrate your app
75+
- Read our [how to publish your app](https://apps.akeneo.com/how-submit-extension-akeneo-app-store) guide
76+
- Consult our recommendations about [how to write your app information](https://apps.akeneo.com/how-write-akeneo-app-store-extension-information)
77+
78+
## Next steps
79+
80+
- Learn more about how to [create an app](/apps/apps-getting-started.html#create-an-app)
81+
- Read our documentation about [authorization and authentication](/apps/authentication-and-authorization.html)
82+
- Learn how to use [catalogs](/apps/catalogs.html) to retrieve product data
61.3 KB
Loading

src/partials/layout.handlebars

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242

4343
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
4444
<ul class="nav navbar-nav navbar-right">
45+
<li class="{{#if active_apps}}active{{/if}}">
46+
<a href="/apps/overview.html">Apps</a>
47+
</li>
4548
<li class="{{#if active_guides}}active{{/if}}">
4649
<a href="/guides-index.html">Guides</a>
4750
</li>
@@ -53,7 +56,6 @@
5356
<li><a href="/documentation/introduction.html">The REST API basics</a></li>
5457
<li><a href="/events-documentation/overview.html">The Events API basics</a></li>
5558
<li><a href="/php-client/introduction.html">The PHP API client</a></li>
56-
<li><a href="/apps/apps-getting-started.html">Apps</a></li>
5759
</ul>
5860
</li>
5961
<li class="dropdown{{#if active_api_reference}} active{{/if}}">

tasks/build-doc.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,8 @@ gulp.task('build-events-api', ['clean-dist','less'], function () {
577577

578578
gulp.task('build-apps', ['clean-dist','less'], function () {
579579
var pages = {
580-
'apps-getting-started.md': 'Getting started',
580+
'overview.md': 'Overview',
581+
'apps-getting-started.md': 'Create an app',
581582
'authentication-and-authorization.md': 'Authentication and authorization',
582583
'catalogs.md': 'Catalogs for Apps (beta)',
583584
'app-developer-tools.md': 'Developer tools'
@@ -595,7 +596,7 @@ gulp.task('build-apps', ['clean-dist','less'], function () {
595596
.on('end', function () {
596597
return gulp.src('src/partials/apps.handlebars')
597598
.pipe(gulpHandlebars({
598-
active_documentation: true,
599+
active_apps: true,
599600
title: 'Apps',
600601
mainContent: fs.readFileSync('tmp/apps/' + path.basename(file.path).replace(/\.md/, '.html'))
601602
}, {

0 commit comments

Comments
 (0)