• No results found

Magento Plugin for MIP

N/A
N/A
Protected

Academic year: 2021

Share "Magento Plugin for MIP"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

Magento Plugin for MIP

Engineering Requirements Documents

I.

Introduction

Purpose

The purpose of this document is to specify the engineering requirements and logical model of the Magento plugin for the Merchant Integration Platform in a clear and consistent manner.

Scope

The Magento Plugin allows any Merchant using Magento to easily and effortlessly expand their products’ market exposure. The introduction of the Magento plugin will require regular testing to ensure compatibility with Magento new releases as well as proper functionality. No customer support will be needed since the client is not expected to directly interact with the plugin.

II.

General Overview

1.

Plugin:

N

Merchant UI Product database Order Database

Plugin

Order Feed

Listener Product + Image feed

Order Ack + shipment feed

(2)

2.

System:

3.

Magento

Magento is organized into three main directories: Core:

The app/code/core directory contains all of the functionality for products, categories, customers, payments, etc. It is widely advised not to modify any of the files within this directory to ensure the plugin’s compatibility with the future versions of Magento. Magento is structured such that any functionality can be altered without modifying the core files, which ensures that the plugin remains upgrade-proof.

Community:

The directory app/code/community holds modules that have been provided by third parties (i.e. not Magento’s core team). MoneyBookers is one module which is an all in one payments solution that enables a merchant to accept debit and credit card payments,

Magento

MIP

Web App Product info (Name ,

Description, price, inventory, ..)

-Policies -Transformation Scripts

(3)

bank transfers and a larges range of local payments directly through the website. These modules are all available through Magento Connect, and installed in the ‘community’ directory through the built-in “Package Manager”.

Local:

Magento ships with an empty app/code/local directory. Originally empty, this is where we will implementing our module(s).

(4)

III.

Functional Requirements:

The following table shows the required fields to generate each type of feed as well as the Magento requirements for creating an item.

Product Image Inventory Order Ack Shipment Magento

SKU Y Y Y N N Y Name Y N N N N Y Category Name Y N N N N N Condition Y N N N N N Publisher (attribute) Y N N N N N Developer (attribute) Y N N N N N Description (short) Y N N N N Y Description (long) Y N N N N Y Free shipping Y N N N N N Current Price N N Y N N Y Quantity Available N N Y N N Y Image URL N Y N N N N OrderID N N N Y Y N OrderLineIt emID N N N Y Y N Carrier N N N N Y N Tracking number N N N N Y N

For the first version of the plugin, we will make assumptions on Category Name, Condition, Publisher, Developer and Free shipping, since these fields are not required by Magento.

(5)

IV.

System Description

Generating the merchant product and image feeds:

We can use Magento’s event-observer system to register changes with a queue. Anything inserted via save() will trigger the generic model_save_after event, however it will not catch all changes to the product Database, particularly the ones coming from internal processes to magento (ie : a client buying a product from the merchant’s website decreases the product’s inventory without triggering a save() event, so this would not update the corresponding eBay listing)

The best way to account for all changes, including changes arising from Magento’s interior configuration is to listen to any changes in the Magento items Database. Each time a change is detected in the items database, an event is fired to create product feeds XML files as well as image feeds XML files.

N.B: Separate inventory feeds will not be generated. Inventory count will be included in the product feeds.

Handling redundancy in merchant product and image feeds

1st approach: using Update Queue:

Each time a change is queued, we will generate a new entry (both product feed and image feed), if the item is not already in the queue, or update the item (both product feed and item feed), if it is already in the queue. By updating the queue, we are reducing the processing time required at MIP.

2nd approach (recommended): scanning the database every 30 min:

Every 30 min , scan the product Db and look for any items updated within the last 30 min and then generate a single XML product feed and a single XML image feed.

Generating the Order Acknowledgement Feed and shipment feed

We will listen to changes in the Magento order database and only generate order

(6)

Handling redundancy in eBay’s order feed

We will regularly update the order database every time MIP sends an order acknowledgement feed.

Uploading Policies and Scripts

This will be done through a separate web admin app that will allow the merchant to upload XML files for policies and Scripts.

(7)

V.

Appendix :

Appendix 1: Sample feeds XML files: Product Feed :

<Product>

<SKU>AMC59024</SKU>

<Name>BioShock Infinite (Xbox 360)</Name>

<CategoryName>Xbox Games</CategoryName>

<Condition>New</Condition>

-<Attributes>

<Publisher>2K Games</Publisher>

<Developer>Irrational Games</Developer>

</Attributes> -<Description>

-<Short>

- <![CDATA[

Welcome to the city of Columbia. Floating amongst the clouds, cruising far above sea level, this is a place unlike any you've ever seen. Please enjoy your voyage...

]]>

</Short> -<Long>

- <![CDATA[

The third game in the popular Bioshock series, BioShock Infinite breaks away from the underwater setting of the first two games to take players into a floating city held aloft by dirigibles. The game is set in 1912. You play as Booker DeWitt, a disgraced former private detective who's picked up a new case. Your goal is to find Elizabeth, a young woman who's gone missing and return her unharmed. The only problem is that she's being kept on this flying city. Columbia was once a symbol of America's success as a nation, floating around the world as a traveling World's Fair, a marvel of human innovation. But strange things have happened since Columbia's unveiling in 1900, and now the city has disappeared into the clouds. DeWitt knows how to find it, but over the years stories have been told about Columbia having unlawful heavy armament and deranged citizenry. Do not expect this to be a pleasure cruise.

]]>

(8)

</Description>

<FreeShipping>true</FreeShipping>

</Product>

Inventory Feed:

<Inventory>

<SKU>AMC59024</SKU>

<CurrentPrice>65.00</CurrentPrice>

<QuantityAvailable>12</QuantityAvailable>

</Inventory>

Image Feed:

<Image>

<SKU>AMC59024</SKU>

<URL>http://i.imgur.com/XjNsTet.jpg</URL> </Image>

Order Ack Feed : Single : <OrderAck> <OrderID>380998942951-361390533029</OrderID> <OrderLineItemID>380998942951-361390533029</OrderLineItemID> </OrderAck> Multiple: <OrderAck> <OrderID>83451330012</OrderID> <OrderLineItemID>370998942151-361390533038</OrderLineItemID> </OrderAck> -<OrderAck> <OrderID>83451330012</OrderID> <OrderLineItemID>350998952456-361390533043</OrderLineItemID> </OrderAck>

(9)

References

Related documents

The etracker Magento plugin is used to set up the etracker tracking code in your Magento online shop software.. The plugin offers many etracker

Sync new Order with line item from Magento to SuiteCRM   Sync updated order with new &amp; modify lines from Magento to SuiteCRM   Sync updated Order status from SuiteCRM

For more information, kindly visit Magento Commerce / Magento Connect / Site Management / Order Export Community... About

Simply Instagram feed is an expertly evolved extension for Magento that permits your       clients to Add your business Instagram feed to your Web

At the completion of the shipping process (and potentially at several points during the processing), the shipping program will write back to CounterPoint several pieces of

Balance billing is allowed: Balance billing is where a healthcare provider, who has already received payment from Medicare for a specific service or treatment, asserts a lien

In addition to systemic issues, however, this study sought to explore how professionals who work in the care and youth justice system in Ireland experience responding to the complex

This button allows customers to add a new searching line. Hence, they can search for the  desired products by SKUs or names. . A search box will appear