hyunsupul / aesop-core

Open-sourced suite of components that empower interactive storytelling in WordPress.
http://aesopstoryengine.com
GNU General Public License v2.0
244 stars 56 forks source link

Crossroads: standalone plugin or pull request? #180

Closed 0aveRyan closed 9 years ago

0aveRyan commented 9 years ago

Hope you could suggest direction.

Building advanced maps that have .geojson layers containing multicolor polylines and polygons, custom tooltips with title+description, heatmap layers based off points in a geojson, etc. At stage of building out backend.

Want to setup a repeatable group (hence CMB comment) that creates a layer. Media library uploader for geosjon, toggle to turn into heatmap, color-picker and opacity field.

For those reqs, mapbox.js makes more sense than just plain leaflet.js. Also need some sort of custom meta box for layer repeater. I can package as standalone plugin, loading mapbox.js and CMB2 separately but then there's two Maps in Aesop composer... Seems wasteful. If I implement as pull request on aesop-core benefit is a unified map supporting both your elegant, simple WordPress map builder and custom, styleable data layers. Also lets Sticky Maps take advantage of data layers. Can use a wp-customize setting to toggle "Advanced Map Controls" as separate meta box, so by default it's hidden unless users ask for more power.

Think pull offers best balance, but figured I should ask before building changes that would change libs from Leaflet to Mapbox. Similar development time, and isn't a large file size burden to aesop-core unless you aren't planning on bringing back CMB2. Need to build, so happy to contribute if you want.

bearded-avenger commented 9 years ago

That's a great idea! I honestly think this would be best served as an add-on. Just a heads up, the metabox library CMB was removed from Aesop in 1.4 just FYI. In addition, I think that we're just about wrapped up with features, for now.

We are brainstorming out the initial phase of moving everything to the front-end.

0aveRyan commented 9 years ago

Ok, it'll be an addon. CMB disappearing was the impetus behind this note. Exploring other ideas that wouldn't require CMB2 included in the plugin. Thanks!

michaelbeil commented 9 years ago

An add-on is probably the most viable solution as we move away from CMB.

etcook commented 9 years ago

@dryanmedia I've been working on the backend interface for maps, so I can tell you about some of our design and architecture decisions. I think the focus on using WP to backup the interface adds unnecessary complexity to the system. We've chosen to serialize map options into single fields. Unless you need to be able to pull an indexed query of specific elements, this is the quickest and lightest approach. We just handle everything in js.

I share Nick's intent in removing as many of the third party dependencies as we can from the code for a number of reasons: predictability, stability, efficiency, etc.

In your case, you could include CMB2, but unless there's a particular reason for adding the complexity of grouped or repeating fields, you may be want to consider not going that route.

Hit me up if you want to chat through it e -at- etc -dot- io

michaelbeil commented 9 years ago

:+1: