soflyy / oxygen-bugs-and-features

Bug Reports & Feature Requests for Oxygen
https://oxygenbuilder.com/
314 stars 31 forks source link

DONE: More API's please :) (adding components) #353

Closed wplit closed 3 years ago

wplit commented 5 years ago

Describe the feature you'd like to see included in Oxygen.

Loving the extendability of the conditionals feature. I would love to see an official API for creating new components...

What are the use cases for this feature?

Building more dynamic elements that can be used across sites (in a future proof way). eg a related posts slider using swiper.js, a new type of responsive menu element.. more niche focused components that wouldn't make sense to build in Oxygen.

Design sets aren't good for these types of things because there isn't a sensible way of including the swiper.js into the set for eg, and even if we did squeeze the JS in somewhere, there's no way to push updates to the code if there is a conflict in the future.

Also, if we make a plugin to manually enqueue the assets, then we need to know which pages to enqueue in advance or we have no choice other than to load on every page. Good for one-off client sites, where we know where we are using the elements (and can manually add our own conditionals for enqueuing), but not good for having elements intended to be used across sites/shared.

The best way i can see going forward, is to be able to add new components ourselves (via plugin), and use design sets for styling those components in different ways. This way the logic/functionality stays inside a plugin (and we can use the component logic to ensure assets are only loaded where they are used like with the current AOS, and Modal features.) Design sets can just be for styles only.

Much more future proof as we can push updates to the core functionality of the component if needed. Also much easier for users to get access to building more complex things without worrying about learning the JS behind it.

As we don't know what you guys & gals are updating Oxygen in the future, I'm reluctant to dive into that part of the code to start creating my own components without an official API. I'm sure others are the same.

Examples of this feature

The obvious one is Elementor where they have their developer documentation on building new widgets. The other one is Gutenberg where devs can build custom blocks.

mgpub commented 5 years ago

I concur with the comments from WPlit - I too would like the ability to start developing add-on functionality that is natively integrated with Oxygen. Documentation would be nice, however, my biggest concern is functional continuity going forward. I am definitely one developer who wants to develop to add to the Oxygen ecosphere, but if I code to specific functions (and specific call parameters) and specific class names, I really want the assurance that these won't be suddenly changed or removed from one version to the next.

Deanphillips commented 4 years ago

This would be huge. Would also lighten the load from the O2 team too as they wouldn't have to create everything themselves anymore

alpabuz commented 4 years ago

We can't breathe without it.

ivanjuras commented 4 years ago

Yes, we need the API. That would launch Oxygen into stratosphere.

greenyboy commented 4 years ago

+1. This feature would be awesome

Hanleymade commented 4 years ago

Elementor is as big as it is because of 3rd party plugins. I'd like to see Oxygen continue building core features but allow other Developers to be Oxygen compatible so it speeds up development and site features.

verioussmith commented 4 years ago

Yes this would definitely push Oxygen into the runnings of the big dogs.

Thotti79 commented 4 years ago

Yes, we need this feature in Oxygen to have a great variety of additional widgets like in Elementor but with the lightweightness of the Oxygen environment.

deckerweb commented 4 years ago

This is needed to strengthen the Oxygen ecosystem (and to make it one actually), very important for organic future growth.

Additionally, strong API's help also for special use cases. So it will be a win-win situation for all involved.

BaronVonPerko commented 4 years ago

Definitely +1 this. Would be cool if we could write php to create a custom query (more flexible than the query string we have now) and pass it into the easy posts. Power of custom php with the ease of designing with easy posts!

steve-goldberg commented 4 years ago

+1 for this. It's unrealistic to assume the Oxygen team, as great as they are, are going to create every addon/extension it's customers want, hence the need for third party addons like Elementor Addons for example. Oxygen is a powerful platform and being able to build on top of it would make it even more powerful.

Oxymaniac commented 4 years ago

+1 Hoping for it.

wpdoit commented 4 years ago

+1

ivanjuras commented 4 years ago

Definitely need this one. It would also take the burden off of Oxy developers. The whole community and ecosystem around Oxygen would flourish, especially if the API is good :)

wpdevlab commented 4 years ago

👍 It's time to move this thread to popular requests!

reuhno commented 4 years ago

+1 It seems essential !

wpsumo commented 4 years ago

+1 Totally agree users would be able to see more features and be able to create more feature-rich applications. Oxygen core would benefit and offload features.

I hope we can control it, so oxygen with addons doesn't become another Elementor. Meaning oxygen somehow control and force performance and no bloat. Meaning the API should be built so if an element is not in a catch all template it should not load globally.

perrelet commented 4 years ago

+1 Boom boom - We really need this. You can only do so much with a shortcode wrapper lol... Saying this, I totally agree with @mgpub - the devs among us would much prefer a solid API that'll last than something that's quick, dirty and will likely undergo continuous development and refactoring.

Spellhammer commented 4 years ago

Just updating this to say that there is an elements API, but I'm leaving this issue as a pending feature request until we're able to fully document the API for public usage.

mrkenng commented 4 years ago

Can't wait! I've seen somepeople are able to create custom element. Is there a guide for it already?

KittenCodes commented 3 years ago

Can't wait! I've seen somepeople are able to create custom element. Is there a guide for it already?

There's a third-party guide here: https://codewriteups.com/build-custom-oxygenbuilder-elements-in-wordpress.html.

ezosher commented 2 years ago

Hey all,

Any idea if this was really implemented? it says it does, but couldn't find any resource anywhere.