Introducing the Cloud Elements Community! A new place to share integrations.

By David Honan in Product Updates, GET/technical Posted Mar 5, 2019

One of the most powerful features found within the Cloud Elements integration platform is our Elements. As complete, pre-built cloud integrations in themselves, Elements have all the goods ready to go to realize your integration use cases without all the complexity and fuss.

We also include tooling to make it simpler to create new or modify existing Elements, i.e. our Element Builder.

Until now, you had to start from scratch when creating a new Element, unless of course, you have a few of them laying around from earlier builds as I do. While our documentation is great and there are plenty of instructional videos for how to build an Element from scratch, our customers were asking us, “Is there a place where I can go to find examples and contribute to a community of example Elements?”

Yes, there is!

GitHub Repository

We’ve created an Elements GitHub repo as a way for community members to share Elements:https://github.com/CloudElementsOpenLabs/elements

After importing/exporting the Element, Community Members are able to enhance the Element to suit their individual use cases and, if they want, can give back the additions they have made to the Community for others to share.

Before I get into the How2, let's cover the rules, disclaimers, tips, and tricks so that we can ensure a great experience for everyone.

  1. Thanks to you in advance for contributing - your fellow and future Community Members appreciate you!
  2. Cloud Elements provides this repo with the understanding that Cloud Elements does not maintain the integrity of the code for the Elements herein.
    1. If endpoints change, these Elements and changes are not necessarily known, monitored, or supported by Cloud Elements.
    2. Cloud Elements also does not guarantee the stability or usability of these Elements.
  3. Community Members should not add anything to this repo they do not want to be publicly shared.

Contributing Guidelines

If you would like to contribute to the community Elements github repo:

  1. Fork and Clone the repo
  2. Make a new branch
  3. Add or update the code you are contributing (please note: if it is a new Element, see Basic Element standards below)
  4. Push your branch back to the repo and make a pull request

In addition to the file containing the Element JSON, we ask that you:

  1. Include a short README.md file with a description of what you built (endpoint name and resources available so people can see them without importing the Element)
  2. A link to the documentation you used when creating the Element
  3. Any known endpoint limitations or nuances that might affect how your Element works

For your own security, please make sure to remove any API keys and secrets or hard-coded personal data prior to uploading Elements. In the event that you accidentally leave these in the Element, your PR will be rejected. Keep in mind that even if you remove these on a later commit unless you hard-delete your previous commit, these are forever stored in Git and hackers can obtain them.

If you would like to use the Elements in the repo:

  • Either Clone the repo or simply grab the JSON using the Raw tab for the example Element
  • In the Cloud Elements UI: under Elements, click the Build a new element button
  • Select Import
  • Navigate to the cloned folder and to the file of the Element JSON you are interested in using

 

 

Basic Element Standards:

While we are happy to provide a central place for developers to contribute and share and we welcome a wide array of contributions, we do need to set a basic standard for Element contributions in order to set proper expectations. If your Element does not meet these and you are interested in getting it working so you can contribute, please consider reaching out to implementation@cloud-elements.com - we are happy to help you get your Element up to standard prior to contributing!

Contributed Elements should include at a minimum:

  1. Working authentication
  2. At least 1 working resource

We encourage you to include but your Element is not required to have:

  1. Events
  2. Querying via where parameter
  3. Paging via page, pageSize query parameters
  4. Bulk
  5. Refresh authorization
  6. Commented JavaScript when required for hook(s)

Please see our Element builder documentation: https://docs.cloud-elements.com/home/element-builder-overview

 

Enjoy and Happy Element Sharing!!

Aloha