# Developing plugins, Pinegrow reference

**URL:** <https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965>\
**Category:** Third Party Plugins\
**Created:** [May 31, 2017, 2:19pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965 "2017-05-31T14:19:58Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabio\_beoni](https://avatars.discourse-cdn.com/v4/letter/f/f07891/32.png) [@fabio\_beoni](https://forum.pinegrow.com/u/fabio_beoni)\
**Post date:** [May 31, 2017, 2:19pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/1 "2017-05-31T14:19:58Z")

</div>

Hello,

looking at the source of some plugins, like the Revolution Slider, I see the code invoking methods on a `pinegrow` object instance, couple of examples:

```
pinegrow.addScriptToPage(page, ini_str);
pinegrow.showNotice

```

I’m wondering if there is any documentation about the pinegrow object, or any code that I can read to learn about it.

Many thanks, F.

---

<div class="post-metadata">

**Author:** ![Thomas](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/thomas/32/61_2.png) [@Thomas](https://forum.pinegrow.com/u/Thomas)\
**Post date:** [May 31, 2017, 2:34pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/2 "2017-05-31T14:34:47Z")

</div>

currently, the documentation is pretty “compact”. Those two links could make some sense:

[http://docs.pinegrow.com/misc/plugins-development/short-intro-to-plugin-api](http://docs.pinegrow.com/misc/plugins-development/short-intro-to-plugin-api)

[http://docs.pinegrow.com/misc/plugins-development/pinegrow-plugins](http://docs.pinegrow.com/misc/plugins-development/pinegrow-plugins)

Looking at examples is, as you already pointed out, obviously a well made choice.

Cheers

Thomas

---

<div class="post-metadata">

**Author:** ![fabio\_beoni](https://avatars.discourse-cdn.com/v4/letter/f/f07891/32.png) [@fabio\_beoni](https://forum.pinegrow.com/u/fabio_beoni)\
**Post date:** [June 6, 2017, 6:50am UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/3 "2017-06-06T06:50:28Z")

</div>

Hi Thomas,

thanks for answer…

I’m also wondering if you can debug your code by adding breakpoints to the devtools. When I do that (pinegrow for linux) pinegrow closes as soon as I interact with any UI element, including the standard one.

Do you have the same?

Thanks! F.

---

<div class="post-metadata">

**Author:** ![Pinegrow\_User](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/pinegrow_user/32/4919_2.png) [@Pinegrow\_User](https://forum.pinegrow.com/u/Pinegrow_User)\
**Post date:** [December 9, 2017, 3:22am UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/4 "2017-12-09T03:22:36Z")

</div>

> [@fabio\_beoni](#):
>
> I’m wondering if there is any documentation

> [@Thomas](#):
>
> currently, the documentation is pretty “compact”.

Sounds like more will eventually come, this was mentioned on the Slack Channel from **July, 17, 2017**

 ![plugin-dev-slack-channel-July-7th-2017](https://canada1.discourse-cdn.com/flex036/uploads/pinegrow/original/1X/7cc86fdbf9308f180fe5ebd6e2713b198905022e.png)

I think the docs are still being reworked for Pinegrow version 4+ , and added to further. So hopefully at some point the **Dev API** and **Plugins** get discussed and documented further also.

---

<div class="post-metadata">

**Author:** ![Thomas](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/thomas/32/61_2.png) [@Thomas](https://forum.pinegrow.com/u/Thomas)\
**Post date:** [December 11, 2017, 3:48pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/5 "2017-12-11T15:48:36Z")

</div>

That’s definitely my wish as well.

These days, 99% of users worldwide are working at least with one framework-grid, so the need of plugins as I am defining them is probably not very high.

But if someone is like me (two or three persons should even live somewhere) - preferring the start from scratch (or even develop your own grid) - it would be heavily cool to flavor this world with more micro-plugins (comparable to Freeway’s action e.g.).

So having a stand-alone carousel or slider - or a google map - or a google analytics or any other lil helper would be of really cool.

Currently it’s for me nearby impossible to extract them from the big frameworks - I’m simply not good enough.

Well - let’s wait and see.

Cheers

Thomas

---

<div class="post-metadata">

**Author:** ![Pinegrow\_User](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/pinegrow_user/32/4919_2.png) [@Pinegrow\_User](https://forum.pinegrow.com/u/Pinegrow_User)\
**Post date:** [August 22, 2018, 2:43pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/6 "2018-08-22T14:43:02Z")

</div>

@matjaz, @Emmanuel, @MhdAljuboori, @pinegrowteam @pinetreeseverywhere

> > [@Prevent Files from being overwritten](https://forum.pinegrow.com/t/prevent-files-from-being-overwritten/2128/4):
> >
> > **a lot of trial and error** and looking at the frameworks bundled with PG for tips as **not much info in the docs**. Constant loading and unloading of Plugin to test.

The above comment in a recent thread, once again brings into question when we might be able to expect proper documentation for the “Pinegrow Plugin / Developer API” ?

\*\* Surely there must reside somewhere internally documentation or at least full code comments from when it was initially developed and implemented? ;–)

Discussion of providing proper documentation has been mentioned for some time:

* * *

> > > More documentation will be available soon. —— February 15 2017
> 
> ![February%2015%202017](https://canada1.discourse-cdn.com/flex036/uploads/pinegrow/original/2X/b/bac1102456be2c877ae8dfa6bd5e0e28053cfcc4.png)
> 
> > > We’ll do more for plugin developers once we clear all the PG3 bugs. —— July 7th 2017
> 
> ![July%207th%202017](https://canada1.discourse-cdn.com/flex036/uploads/pinegrow/original/2X/1/1aa603b1b94a214fed1cf126f28186c5a6b36100.png)

* * *

Another year has passed, and PG5 is now on the horizon.

I’m sure many have looked through all the available information, plugins, along with the files in the Pinegrow App Bundle itself. Yet so much is still vague as you try to piece together and trace the purpose, all the available function calls, events, properties, etc.

Please provide us with a complete and proper API listing and documentation. No doubt many would love to develop and add more plugins and features to Pinegrow if they were only better equipped to do so.

\*\* Doesn’t something already reside internally?

**Thank you.**

🌲 ♥ 😉

---

<div class="post-metadata">

**Author:** ![Thomas](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/thomas/32/61_2.png) [@Thomas](https://forum.pinegrow.com/u/Thomas)\
**Post date:** [August 29, 2018, 1:17pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/7 "2018-08-29T13:17:12Z")

</div>

Hi guys,

documentation and API are always heavily agreed and welcome - sure.

Personally spoken, “Trial and Error 🙄” mostly sucks.

But there isn’t a better feeling figuring out something you fought for days. Hooray - it’s like being the 👑 of the 🌍.

Whatsoever! Another point to think about could be a (mainly) closed Slack discussion between manufacturer and plugin writers. Closed just because I think into another direction:

A plugin can be powerful. It can heavily extend PG and it could be even part of PG default. So on the one hand, a remote person is working on a task which is on developers plan anyway - so twice the work.

An example could be CSS-Grid. Recently, I tried to add a very basic version to my Reginald-Framework. Meanwhile @matjaz wrote a version thousands time better which is now part of to the APP core. Certainly a much better one - the greatest in market at the day of writing - just for the protocol, and thanks to @matjaz for wrapping its use with those nice video-screencasts.

Another thing could be the `<picture>` element I recently picked up (after years) once again as responsive images concept. It’s not part of the library so far. A basic version of it could be part of my framework as well. But it could be even part of the default lib - so twice the work again … or?

That’s why I tend not discussing all and everything on a public platform - keeping some smaller things kinda hidden. And who knows? Some of those discussion members even help building this API - or documentation or whatever job that needs to be done there (such as translating stuff 🇩🇪 or whatever).

Just a cent or two from my side.

Cheers

Thomas

---

<div class="post-metadata">

**Author:** ![Pinegrow\_User](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/pinegrow_user/32/4919_2.png) [@Pinegrow\_User](https://forum.pinegrow.com/u/Pinegrow_User)\
**Post date:** [March 3, 2020, 8:37pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/8 "2020-03-03T20:37:07Z")

</div>

A couple years down the road from the start of this thread but it now appears **good news** has finally emerged concerning this topic.

> > [@UIkit plugin for Pinegrow available!](https://forum.pinegrow.com/t/uikit-plugin-for-pinegrow-available/3524/9):
> >
> > I’m hoping that developer’s resources for Pinegrow will be getting better soon.
> 
> > [@UIkit plugin for Pinegrow available!](https://forum.pinegrow.com/t/uikit-plugin-for-pinegrow-available/3524/10):
> >
> > looking forward to improved developer docs

It looks like around the same time of those comments by by @RobM and @matjaz, that RobM was tasked by Matjaz to commence work on developing documentation for the Developer API.

> **[GitHub - Pinegrow/PinegrowDevelopersDocumentation: Private site for creation...](https://github.com/Pinegrow/PinegrowDevelopersDocumentation)**
>
> Private site for creation of Pinegrow Web Editor API documentation - GitHub - Pinegrow/PinegrowDevelopersDocumentation: Private site for creation of Pinegrow Web Editor API documentation

> **[GitHub - Pinegrow/PinegrowPluginQuickStartTemplate: Boilerplate code for a...](https://github.com/Pinegrow/PinegrowPluginQuickStartTemplate)**
>
> Boilerplate code for a Pinegrow Web Editor plugin. Use it to create your custom Pinegrow plugin. - GitHub - Pinegrow/PinegrowPluginQuickStartTemplate: Boilerplate code for a Pinegrow Web Editor plu...

So the forth coming Developer API documentation should end up being pretty comprehensive after seeing some of RobM’s previous work.

> - [Tutorials on building a plugin to integrate UIkit into Pinegrow](https://forum.pinegrow.com/t/tutorials-on-building-a-plugin-to-integrate-uikit-into-pinegrow/3121)
> - [SRCset and \<picture\> plugin for PG available!](https://forum.pinegrow.com/t/srcset-and-picture-plugin-for-pg-available/3619)

Thanks @RobM, looking forward to it.

---

<div class="post-metadata">

**Author:** ![RobM](https://avatars.discourse-cdn.com/v4/letter/r/278dde/32.png) [@RobM](https://forum.pinegrow.com/u/RobM)\
**Post date:** [March 4, 2020, 12:17pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/9 "2020-03-04T12:17:15Z")

</div>

😁 HeeHee - we have some people who like digging in the GitHub here on the forums!

---

<div class="post-metadata">

**Author:** ![Marf](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/marf/32/1799_2.png) [@Marf](https://forum.pinegrow.com/u/Marf)\
**Post date:** [March 4, 2020, 5:55pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/10 "2020-03-04T17:55:50Z")

</div>

@Pinegrow_User Well spotted!

* * *

Great to see that @RobM is involved with the **Developers API Documentation**!

And really nice that they joined forces with him. Robert has proven that he got a good knowledge and understanding of it all with his advanced UIKit Plugin and development tutorials about it. Smart move from Pinegrow to put him on the job. And this way it also doesn’t cost the Pinegrow Team valuable development time, which they now can spend and continue to work on other things (that they can only do).

---

<div class="post-metadata">

**Author:** ![red-rosefields](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/red-rosefields/32/5392_2.png) [@red-rosefields](https://forum.pinegrow.com/u/red-rosefields)\
**Post date:** [March 5, 2020, 8:34am UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/11 "2020-03-05T08:34:15Z")

</div>

Good move. Good to see PG team is growing and opening.

---

<div class="post-metadata">

**Author:** ![Pinegrow\_User](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/pinegrow_user/32/4919_2.png) [@Pinegrow\_User](https://forum.pinegrow.com/u/Pinegrow_User)\
**Post date:** [March 5, 2020, 2:56pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/12 "2020-03-05T14:56:51Z")

</div>

> [@RobM](#):
>
> 😁 HeeHee - we have some people who like digging in the GitHub here on the forums!

I excavate the entire web, hope that didn’t force things public before you had hoped. 😉

Congratulations on the Docs and joining the Pinegrow team.

> [@Marf](#):
>
> this way it also doesn’t cost the Pinegrow Team valuable development time, which they now can spend and continue to work on other things ( **that they can only do** ).

Interesting and ironic though wouldn’t you think that “[picture & srcset](https://forum.pinegrow.com/t/srcset-and-picture-plugin-for-pg-available/3619)” should have been part of the list that **they** would have done themselves long ago? Especailly since its been prevalent to the standard of web development and responsive design, with each being virtually are as old as the Pinegrow app itself. ;—)

By comparison its harder to quantify how many potential 3rd party developers, looked and then decided to walk away over the many years that the Dev API Doc’s were not in place. A solid documented API is one of many factors that go into choosing whether a person wants to invest time into extending other peoples products. The same could be said regarding general documentation and its upkeep regarding users deciding to use products. So perhaps @RobM will be tasked to assist there also to update and build out the general docs?

[Now that the API is officially being documented](https://forum.pinegrow.com/t/introducing-support-and-new-resources-for-pinegrow-plugin-developers/3841), your right @Marf I’m anxious to see what things the Pinegrow team will be able to accomplish now that this will no longer be a burden on the to-do list after so many years. ;—P

---

<div class="post-metadata">

**Author:** ![Marf](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/marf/32/1799_2.png) [@Marf](https://forum.pinegrow.com/u/Marf)\
**Post date:** [March 5, 2020, 11:43pm UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/13 "2020-03-05T23:43:06Z")

</div>

> [@Pinegrow\_User](#):
>
> > [@Marf](#):
> >
> > this way it also doesn’t cost the Pinegrow Team valuable development time, which they now can spend and continue to work on other things ( **that they can only do** ).
> 
> Interesting and ironic though wouldn’t you think that “[picture & srcset](https://forum.pinegrow.com/t/srcset-and-picture-plugin-for-pg-available/3619)” should have been part of the list that **they** would have done themselves long ago? Especailly since its been prevalent to the standard of web development and responsive design, with each being virtually are as old as the Pinegrow app itself. ;—)

Oh my! What did I say, sorry if I gave the wrong impression with my comment. But it was not meant to be ironic, sarcastic or whatever.

I’m not going to debate or find it useful to discuss about that specific feature, “Picture & Srcset”, and if it already had to be long ago be part of the Pinegrow Core or not. That is not relevant or important I think. And I have no opinion about that statement!

Simply said in general, it’s their app, they have their own to-do list, and it’s their decision what and in which order they release certain features!

They, Matjaz and the Pinegrow Team, know and oversee the “big picture” (internal roadmap), on which they act and choose when it’s the right moment for them to implement and release a certain feature. And sometimes a certain feature rely on other features, which they need to do first, before it can be implemented. Or a feature is too specific and only relevant for a small group, or the demand is not high enough (yet). Or there are other features that they find more important to implement and release first.

I’m certain they have a very long list of important and really impressive and relevant features and improvements on their to-do list, but they still have to do them one-by-one.

There is almost always a good reason (like the ones I mentioned above), why a certain feature is not implemented yet. **I can not imagine they wait or hold back features on purpose, just to annoy and irritate you!**

And what for one person is an essential or important feature is for somebody else not the case. Every person needs or want other things, and they simply can’t please always everybody!

I’m a positive person, and like more to focus on the things that are already available, or announced that are going to be released. Than rather put my time and energy in complaining about missing features, or even discussing about why certain features take that long!

For sure, there are features not implemented yet, that are already been requested multiple times by different people, I like to have also, but I don’t go complain about it or attack Matjaz and the Pinegrow Team. I wait patiently, and I’m happy with every new update and release they able to make available.

* * *

> [@Pinegrow\_User](#):
>
> I’m anxious to see what things the Pinegrow team will be able to accomplish now that this will no longer be a burden on the to-do list after so many years. ;—P

Me too, let’s wait and see, time will tell!

It’s also really nice to see that Matjaz is more active on the forum lately! And that he also announced some things they are working on, that we can expect later this year. They not did that before, being open about a roadmap.

> [@What's cooking in the Pinegrow pot?](https://forum.pinegrow.com/t/whats-cooking-in-the-pinegrow-pot/3679/1):
>
> **Long term**
> 
> The things we plan to do this year includes:
> 
> - New CSS editor with editable tree of rules and properties.
> - Support for responsive images.
> - Redesign of components and master pages to make them easier to use.
> - Redoing Blocks in wider context of library of reusable components.
> - Improving documentation and adding section for developers (more about this soon).
> 
> Will keep you posted.

* * *

---

<div class="post-metadata">

**Author:** ![Pinegrow\_User](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/pinegrow_user/32/4919_2.png) [@Pinegrow\_User](https://forum.pinegrow.com/u/Pinegrow_User)\
**Post date:** [March 6, 2020, 3:05am UTC](https://forum.pinegrow.com/t/developing-plugins-pinegrow-reference/965/14 "2020-03-06T03:05:55Z")

</div>

Amusing response, but …

> [@Marf](#):
>
> They, Matjaz and the Pinegrow Team, know and oversee the “big picture” (internal roadmap), on which they act and choose when it’s the right moment for them to implement and release a certain feature. And sometimes a certain feature rely on other features, which they need to do first, before it can be implemented. **Or a feature is too specific and only relevant for a small group, or the demand is not high enough (yet).** Or there are other features that they find more important to implement and release first.

That pretty much exemplifies the point of “picture & srcset” made above. :–)
