Giter VIP home page Giter VIP logo

cleanchimp's Introduction

Ecommerce 360 for Magento

This module sends orders over the Mailchimp API version 2.0.

About

It batches the orders that it handles during each cron run, so it should be able to handle a large number of orders. The ecommerce 360 query string parameters are handled javascript-side, so it's compatible with full page caching.

At the moment it's not doing anything Mailchimp-related other than Ecommerce 360, but it may make sense to tack some things on.

Why

There is a very populare and feature-full extension called MageMonkey, which also has support for Mailchimp's Ecommerce 360. The reason I'm building this module is that I ran into some issues around handling larger order volume with MageMonkey. Also, from some brief testing and code review, it appears that it's handling of the Ecommerce 360 query string parameters isn't compatible with Varnish / full page cache, b/c it handles them in PHP as opposed to being client-side.

I probably could have submitted PRs for these things, but I think it would have taken longer to do that than building this.

Installation

  1. You can install using modman:

     modman clone [email protected]:kalenjordan/clean-mailchimp.git
    
  2. To configure it, drop your API key into System > Config > Newsletter > Mailchimp Settings

  3. The javascript setup is very non-trivial right now.

My apologies - this is mostly because I'm in the process of understanding how best to use require.js. There are a couple of javascript dependencies that cleanchimp.js has has - require.js, domReady.js, as well as a few utility require.js modules that I've built - util, prototype cookies, and query-string. I really wanted to avoid baking all of these into the module itself, but I haven't quite worked out how to make the installation process as easy as it should be. Perhaps a separate module that packages up these guys.

If anyone out there is interested in using this and has some ideas on how to deal with the require.js module dependency management, let me know - I'd love to figure it out.

To Do

  1. Javascript / cookie stuff to handle campaign ID (mc_cid) and email ID (mc_eid).

cleanchimp's People

Contributors

kalenjordan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

cleanchimp's Issues

Require.js dependencies

I'm trying to figure out the best way to manage javascript dependencies in this module. The way I've done it in the past is to simply bake in the various dependencies right into the module, so I wanted to avoid doing that.

I've been beginning to use require.js and it's pretty awesome and seems to be emerging as a standard, so I figured I'd use it.

But I still need to figure out how to manage some of the require.js modules that I'm using in here:

  • require.js
  • domReady.js
  • util - This is a simple utility module that right now just handles logging but I'm sure that I'll add to it as I go.
  • prototype-cookies - This is a nice Prototype wrapper for dealing with cookies so you can easily set() and get() them. Found this online and just wrapped it with the function definition business that require.js uses.
  • query-string - This is a little wrapper to put query string parameters into a nice little object. I found this online somewhere and just made some very minor tweaks to it.

So prototype-cookies and query-string could either be their own little repositories or maybe part of a utils repository. The clean util would probably be part of a clean-utils repository.

Right now, I'm letting the Magento instance itself setup require.js as well as all of the dependencies here.

Is there some kind of best practice around this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.