Core functionality for the pressmind Web-Core SDK

Maintainers

Details

github.com/pressmind/sdk

Source

Issues

Installs: 2 686

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 1

Open Issues: 0

pkg:composer/pressmind/sdk

v1.2.7 2021-06-01 12:20 UTC

README

This library is meant to be used as a composer requirement and is not intended to be used as-is.

Install

composer require pressmind/sdk

Documentation

The complete documentation is in the documentation folder:

→ Documentation Index

Key Documentation Pages

Topic Link
Architecture & Design Patterns architecture.md
Configuration Reference configuration.md
Configuration Examples (Production) config-examples.md
Touristic Data Model Booking Package, Date, Option, Transport
MongoDB Search API search-mongodb-api.md
Import Process import-process.md
CheapestPrice Aggregation cheapest-price-aggregation.md
Template Interface template-interface.md
Real-World Examples real-world-examples.md
Troubleshooting troubleshooting-missing-products.md

Misc

If you are looking for an out-of-the-box working implementation, please have a look at the

pressmind web-core for a working implementation in vanilla PHP

or ask us for a complete WordPress based Travelshop Theme.

System Overview

The pressmind SDK is a caching layer for non-bookable (and extendable for bookable) content between pressmind® PIM and your application with a comfortable PHP and REST API.

+---------------------+          +-------------------------+
|                     |          |                         |
|   pressmind® PIM    |  REST    |     pressmind SDK       |
|                     | -------> |                         |
|   (Content &        |   API    |  +-------------------+  |
|    Touristic Data)  |          |  | Import Pipeline   |  |
|                     |          |  +--------+----------+  |
+---------------------+          |           |             |
                                 |           v             |
                                 |  +--------+----------+  |
                                 |  |   MySQL/MariaDB   |  |
                                 |  |                   |  |
                                 |  | - MediaObjects    |  |
                                 |  | - Touristic Data  |  |
                                 |  | - CheapestPrice   |  |
                                 |  +--------+----------+  |
                                 |           |             |
                                 |           v             |
                                 |  +--------+----------+  |
                                 |  |     MongoDB       |  |
                                 |  |                   |  |
                                 |  | - Search Index    |  |
                                 |  | - Self-contained  |  |
                                 |  |   Documents       |  |
                                 |  +--------+----------+  |
                                 |           |             |
                                 +-----------|--------+----+
                                             |        |
                                 +-----------v-+      | REST API
                                 |             |      |
                                 | Your App    |      +--------->  IBE / CRS
                                 |             |
                                 | - Search    |
                                 | - Templates |
                                 | - Booking   |
                                 +-------------+

Data Flow

1. PIM  ──REST──>  SDK Import  ──>  MySQL (MediaObjects, Touristic, Prices)
                                        │
2.                                      ├──>  Image Processor  ──>  Filesystem/S3
                                        │
3.                                      └──>  MongoDB Indexer   ──>  MongoDB (Search Docs)

4. User  ──HTTP──>  Your App   ──pm-*──>  SDK Search (Query)  ──>  MongoDB
                                                   │
5.                                                 └──>  Template Render  ──>  HTML