-
Notifications
You must be signed in to change notification settings - Fork 86
Ibexa DXP editions > Ibexa Headless #2242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
67 commits
Select commit
Hold shift + click to select a range
575e112
main.py: Add external URL handling to cards()
adriendupuis db3b3d6
Start Ibexa products/Ibexa DXP editions
adriendupuis 73a7a16
Start Ibexa products/Ibexa DXP editions
adriendupuis a7fe626
main.py: Fix href slashes in cards
adriendupuis 57f290e
Merge branch 'enh-cards' into editions
adriendupuis 1e910a9
mkdocs.yml: Reword ToC about editions
adriendupuis 431b1a6
mkdocs.yml: Add connect_doc
adriendupuis 519b80c
headless.md: Start "Ibexa DXP Headless edition product guide"
adriendupuis b263a90
headless.md: Update Availability
adriendupuis 5c2c17e
main.py cards use og:
adriendupuis 09a7c6f
Merge branch 'enh-cards' into editions
adriendupuis ac190bf
main.py: `cards` accepts only external URLs to *.ibexa.co
adriendupuis b7c2b62
Merge branch 'enh-cards' into editions
adriendupuis 81a12b5
headless.md: Partially fix style w/ vale
adriendupuis c1f195e
headless.md: Ibexa.VariablesGlobal
adriendupuis 763d122
headless.md: Partially fix style w/ vale
adriendupuis b88006a
headless.md: Continue "Use cases"
adriendupuis 355ffb8
Headless product guide: Remove raw feature list
adriendupuis 3754632
headless.md: "back office" → "Back Office"
adriendupuis c54749f
headless.md: Fix Ibexa.VariablesGlobal
adriendupuis 813241f
headless.md: Fix Ibexa.DomainTermCapitalization
adriendupuis cb2a152
headless.md: Fix Microsoft.Terms
adriendupuis 6df32d0
headless.md: Illustrate headless
adriendupuis d7c30f8
headless.md: Illustrate headless
adriendupuis 204f143
headless.md: Illustrate headless
adriendupuis d5dee2e
headless.md: Illustrate headless
adriendupuis b83a836
Onion skin diagram version
dabrt 59b5e33
Add png
dabrt 46c506f
Headless Ibexa onion skin
adriendupuis c2183ba
Headless Ibexa onion skin
adriendupuis fc4be31
Headless Ibexa onion skin
adriendupuis c0f0aba
Headless Ibexa onion skin
adriendupuis 32a5082
headless.md: Rewording
adriendupuis 03dd362
Headless Ibexa onion skin
adriendupuis 8e4f04b
Headless Ibexa onion skin
adriendupuis 4cfecca
Headless Ibexa onion skin
adriendupuis c64689d
Headless Ibexa onion skin
adriendupuis e08e76a
Headless Ibexa onion skin
adriendupuis c5c9d6d
Headless Ibexa onion skin
adriendupuis 93156cc
Headless Ibexa onion skin
adriendupuis 400ccdc
Headless Ibexa onion skin
adriendupuis 90bb806
headless.md: Fix list indent
adriendupuis 51f4f3b
Headless Ibexa onion skin: remove inspiring counter-proposal
adriendupuis d0df4c2
Apply suggestions from code review
adriendupuis 981b31f
Apply suggestions from code review
adriendupuis 8030b4e
headless.md: Reorder "Technical backstage" section
adriendupuis baeed8e
Apply suggestions from code review
adriendupuis 6c0a2c2
Apply suggestions from code review
adriendupuis 403e581
Update docs/ibexa_products/headless.md
adriendupuis 7574aac
Change links to other product guides
adriendupuis d72fbd7
headless.md: Rework "Use cases"
adriendupuis f0d4381
headless.md: Fix style
adriendupuis 0397f9b
headless.md: Rm instruction manual phone app
adriendupuis c6c93b3
Headless Ibexa onion skin: Colorize, capitalize
adriendupuis 85f9cb8
headless.md: Add a section intro
adriendupuis 7ec9b4d
Update docs/ibexa_products/headless.md
adriendupuis 59d7458
headless.md: Add a section intro
adriendupuis 31964d7
headless.md: Fix meta-desc not displayed in card
adriendupuis fa5e4b0
headless.md: change sentence of links to other product guides.
adriendupuis 35c5024
Update docs/ibexa_products/headless.md
adriendupuis 33246f4
headless.md: Balance "Ibexa DXP Headless edition"/"Ibexa Headless" us…
adriendupuis 6b7ad15
headless.md: Balance "Ibexa DXP Headless edition"/"Ibexa Headless" us…
adriendupuis f9ce5c8
headless.md: Balance "Ibexa DXP Headless edition"/"Ibexa Headless" us…
adriendupuis 0154b42
headless.md: Balance "Ibexa DXP Headless edition"/"Ibexa Headless" us…
adriendupuis 82b90bd
Update docs/ibexa_products/headless.md
adriendupuis af9e4bd
Update Ibexa Headless schema
adriendupuis 6696497
Apply suggestions from code review
adriendupuis File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
description: Learn more about various Ibexa DXP editions' features to help yourself choose the right one for your project. | ||
page_type: landing_page | ||
--- | ||
|
||
# Ibexa DXP editions | ||
|
||
[[= cards([ | ||
"ibexa_products/headless", | ||
"https://www.ibexa.co/products/ibexa-experience", | ||
"https://www.ibexa.co/products/ibexa-commerce", | ||
], columns=4) =]] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
--- | ||
title: Ibexa Headless | ||
description: Explore Ibexa Headless' features, capabilities and benefits. | ||
--- | ||
|
||
# Ibexa DXP Headless edition product guide | ||
|
||
## What is [[= product_name_headless =]] | ||
|
||
The Headless edition of [[= product_name =]] focuses on content management. | ||
It provides tools to collaboratively create content, and interfaces (API) to distribute this content. | ||
|
||
Multilingual, multichannel, extensible, [[= product_name_headless =]] is an advanced Content Management Framework (CMF), a Product Information Management (PIM) platform, as well as a Digital Asset Management (DAM) repository. | ||
It's provided without a default front office, but with a complete Back Office and several APIs to manage and access content. | ||
|
||
## Availability | ||
|
||
To start using [[= product_name_headless =]] you must purchase a product license. | ||
For more information, see [[[= product_name_headless =]] license pricing](https://www.ibexa.co/products/pricing?tab=1). | ||
You can [contact us](https://www.ibexa.co/products/pricing) or [contact one of our partners](https://www.ibexa.co/partners). | ||
|
||
## How it works | ||
|
||
### Editorial stage | ||
|
||
You access with any web browser from any platform to a rich Back Office, the main place to | ||
|
||
- define users and their rights (customers, subscribers, editors, etc.), | ||
- organize content (content types, fields, tree, tags, languages, and more), | ||
- edit content in a collaborative workplace with versions and workflows. | ||
|
||
Then, content is available to end users through REST, GraphQL, or every output you can imagine like websites or apps. | ||
|
||
### Technical backstage | ||
|
||
When you have a license, you install [[= product_name_headless =]] through Composer | ||
on an architecture including at least a web server with PHP and a relational database server. | ||
For performance, several bricks can be added to your stack such as a reverse proxy or a search engine. | ||
|
||
[[= product_name_headless =]] is based on Symfony. Any Symfony developer, or even PHP developer, can quickly learn how to extend it with the help of an online documentation. | ||
|
||
By using a version control system and environment variables, you can deploy your configuration and extensions on several environments including [[= product_name_cloud =]]. | ||
|
||
Standard web APIs and [[= product_name_connect =]] help establish interoperability, even if you aren't an advanced developer. | ||
|
||
 | ||
|
||
APIs summary: | ||
|
||
- The REST and GraphQL APIs give access to access the content in standardized ways. | ||
- The OAuth 2 Client and Server allow to connect to an SSO or be the SSO. | ||
- The design engine and its theme templates mechanism allows to serve the content in several shapes. | ||
- The PHP API opens [[= product_name_headless =]] to extendability to fit your needs. | ||
For example, content can be computed, edited or served in specific ways such as | ||
scheduled/live imports/exports, automated edition tasks, or specific controllers to communicate with other applications. | ||
|
||
## Capabilities and benefits | ||
|
||
[[= product_name_headless =]] is a tool box with a Back Office. | ||
It comes without a default front office. | ||
You don't lose time to develop a theme for a provided front office before discovering it won't fit your needs. | ||
No distraction. | ||
[[= product_name_headless =]] helps you focus on the content, create and organize with its straightforward user interface (UI), | ||
imagine its inputs/outputs, and implement them with its various layers' APIs. | ||
|
||
### Core features | ||
|
||
The core of [[= product_name_headless =]] offers everything to structure your content repositories and access them. | ||
|
||
#### Content model | ||
|
||
Content modeling and management are the foundation of [[= product_name =]] with the following main layers: | ||
|
||
- Content items are organized as a tree in a repository. | ||
adriendupuis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- An item can have multiple locations in this tree. | ||
- Content items are typed. | ||
- Content types are sets of typed data fields, with eventually conditions on the possible values. | ||
- Rich Text Field Type comes with an [online editor](online_editor_guide.md). | ||
- Multilingual, it can store a content in several languages, the content model define which field must be translated, and which don't vary. | ||
|
||
For more information, see [Content management product guide](content_management_guide.md). | ||
|
||
#### User management | ||
|
||
User and user group rights are set by roles with thin granular limited permission policies in a safe deny-by-default security system. | ||
Users are content items as well, so your knowledge about content management is reused. | ||
|
||
For more information, see [User management product guide](user_management_guide.md). | ||
|
||
#### Content access | ||
|
||
adriendupuis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
There are many paths to access the content in many shapes: | ||
|
||
- The REST API and GraphQL API support access to, and edition of the content. | ||
- [[= product_name_headless =]] offers a complete PHP API to extend the ways to access content. | ||
- A design engine and a view controller offer to create plain text content views (such as HTML, JSON, XML, CSS, JS, CSV, or Markdown), | ||
and to factorize those views by using theme cascades. | ||
This design engine is used in the Back Office which is equally extendable. | ||
- Multichannel, content can be accessed through several channel configurations, | ||
such as the domain name it replies to, the sub-part of the content tree it starts from, the users rights, or the design theme. | ||
The Back Office itself is such a channel. | ||
- Multi-repository, the same platform can use separate databases if impermeability is needed between channel groups. | ||
|
||
### Advanced features | ||
|
||
On top of this strong core, [[= product_name_headless =]] brings tools to increase user experience, from final front users to Back Office contributors. | ||
|
||
#### Complete DXP | ||
|
||
[[= product_name_headless =]] is a complete Digital Experience Platform (DXP), which comes with the following components to enhance user's journey: | ||
|
||
- [Personalization](personalization_brochure.md) engine, which allows you to recommend content to end users according to their behavior, | ||
or, when authenticated, by matching with their segment/group. | ||
- Content scheduler, which allows you to establish the future of the content and use events to have a living front application, even when the editorial team is absent or reduced. | ||
This way, visitors can discover new content at midnight, during weekends or vacations. | ||
A calendar summarises those scheduled content events. | ||
Like everything in the Back Office, the calendar is extendable: you can add an event source to coordinate content events with other company events. | ||
|
||
#### Many ways to structure and organize content | ||
|
||
[Product Information Management](pim_guide.md) (PIM) helps organize complex products and their catalogs: | ||
- Product are organized per product types × variants × catalogs × categories × tags. | ||
- Product attributes are grouped and factorized among product types. For example, fabric + color + size can be shared by many clothing product types. | ||
- Product variants can rapidly be created by the automatic declination of attributes having a defined set of values. | ||
- With taxonomy, you can tag content items to organize them by topics in a much intuitive way for the editor than a content tree with multiple locations would. | ||
Tags themselves are organized in a tree, and synonyms are linked to a favorite terms. This tags organization can be the task of a supervisor who won't need to move content items around a corporate content tree. At search time, tags can be keywords with a high value in relevance score to help the end user having results closer to the searched topic. | ||
|
||
#### Collaboration | ||
|
||
Several features help end users collaborate on the content, such as: | ||
|
||
adriendupuis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Version comparison helps track changes and solve concurrent editing conflicts. | ||
- Workflows helps with collaborative editing chain. | ||
A built-in “Quick review“ workflow allows an editor to send a content draft to a colleague for review, and comment or publishing. | ||
But, as a framework, more complex workflows can be imagined, with several steps and paths, even some automated tasks. | ||
|
||
#### Accelerated content editing | ||
|
||
adriendupuis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [[= product_name_headless =]]'s content tree has several actions available directly on its items. For example, no need to open a content to hide it, you can do it directly from the content tree. | ||
- An Image Editor offers to crop and flip images. When serving the image in various context, you can even set a focal point to indicate to automated cropping which part of the image should be kept. | ||
- A Digital Asset Management (DAM) helps you crawl through your image resources to use and reuse them in your content. And a DAM connector allows you to search for images hosted on third party DAM servers. | ||
|
||
#### Network integration | ||
|
||
##### Intranets and extranets | ||
|
||
- [[= product_name_connect =]]'s role is to create application interconnections with low code and drag-and-drop, in a compelling visual interface. | ||
Complex data flows can be easily implemented with a huge library of connectors and actions for famous to specific applications. | ||
For more information, see [[[= product_name_connect =]] product guide]([[= connect_doc =]]/general/ibexa_connect/). | ||
- An OAuth 2 server offers the possibility to use the DXP as the authentication service for other applications. | ||
- An OAuth 2 client supports authentication with a third-party OAuth 2 server. | ||
- A DAM Connector, previously mentioned, helps to access any image repository when needing to illustrate a content. | ||
- [[= product_name_headless =]] supports Elasticsearch and Solr. | ||
It gives the choice between using Solr or Elasticsearch as a search engine, whether hosted on [[= product_name_cloud =]] or on-premises. | ||
This choice might be influenced by technology you already use, or you want to invest in for other internal projects. | ||
- [[= product_name_headless =]] offers to export and import from command line part of the content model or content items. | ||
For example, it can be used to move new content types and items from a staging instance to the production one. | ||
|
||
##### Internet, delivery, web search engines, and social networks | ||
|
||
- [[= product_name_headless =]] comes with the support of Fastly content delivery network (CDN). | ||
The HTTP cache varies on current user's role and is purged when content change. | ||
With is huge network of points of presence (POP) around the world, Fastly is quickly delivering cached content from nearest server for a better user experience. | ||
- A Search Engine Optimization (SEO) field implements best practices about web search engine indexing and social network sharing. | ||
It covers canonical URLs which are mandatory if multiple locations are used for a same Content item to avoid duplicate content, | ||
Open Graph protocol to better describe a Content item to social networks and search engine, and Twitter Cards. | ||
|
||
## Use cases | ||
|
||
adriendupuis marked this conversation as resolved.
Show resolved
Hide resolved
|
||
As a content repository with an omnipotent Back Office, | ||
many APIs to absorb, compute and distribute content, | ||
even a recommendation engine to deliver the right content to various readers, | ||
[[= product_name_headless =]] can be used in several cases. | ||
Here are few examples. | ||
|
||
### Brick and mortar, but with an online showcase | ||
|
||
If you prefer the human warmth of a retail store, | ||
if your products' numerous complex options should be discussed, | ||
or if you're simply not ready yet to sell online, | ||
[[= product_name_headless =]] helps to build an exposition of your product catalog and your philosophy, | ||
an online presence to keep earlier customers interested and gather new ones. | ||
It can be a structuring first step to test customer's adoption of your website, | ||
before increasing user experience with [[= product_name_exp =]], | ||
and finally becoming an online store with [[= product_name_com =]]. | ||
|
||
### Large network with multiple inputs and outputs | ||
|
||
Departments, subsidiaries, and even partners now produce content in the same repository from the same collaborative workspace. | ||
Thanks to migration feature and PHP API, existing content has been imported from previous repositories. | ||
Fine-tuned user rights and workflows ensure that each collaborator can focus on their own tasks without the risk to disturb the content model or content organization. | ||
Content is distributed on several websites and applications, some running on the [[= product_name_base =]] platform itself, some on third parties' servers, some as native mobile apps. | ||
Part of the content has multiple locations or is translated, and reused from place to place. | ||
While the Back Office offers to search into the whole repository, the front end apps have correctly circumscribed search capabilities. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.