GithubHelp home page GithubHelp logo

demo-confluence-polyfills's Introduction

Logo

Demo project for others on the Marketplace

In the wake of Confluence 8.8, I hear that some people are in distress to manage the compatibility with all versions of Confluence. I'm providing here 2-3 examples that may help. My code is not the best, but it works with C7.19, C8.5.4 and C8.8.

The genius parts:

  • The Confluence Polyfills: Being able to program against Confluence 7.19 and 8.5 at compile-time, with real compile-time dependencies to actual methods of Confluence, and not using the Reflection API is awesome. Then we ship all of those classes into our final jar, and the bean initializer chooses the implementation depending on our detected version of Confluence.
  • The polyfills depend on AutowireCapableBeanFactory (here) to autowire components on-demand, it's convenient,
  • All plugins and libraries depend on libs/confluence-parent-pom.xml, so we set values once-for-all.

What to look at

Out of scope

What this repository doesn't have:

  • We don't publish our source code,
  • It clearly doesn't compile at all, those are just excerpts of files,
  • No compatibility with Confluence 9.0.
  • No usage of confluence-plugin-platform-pom, which is the new recommended thing. Instead we just rely on the direct confluence dependency (in other words, confluence.jar and its dependencies), which is supposed to be a malpractice but works really well, at least up to Confluence 8.8.
  • No Spring Scanner (I know I should, but the current system doesn't bother me),
  • No NPM Stack, because we don't have a good system. Please help us and show us your stack!
  • No, I'm serious, we need help to build our NPM stack, we don't have the Hot Module Reload, we use Atlassian WRM and it does strange things.

Other partners are also providing helping resources!

And, surprise, their code is much better prepared to go public! Go have a look at:

demo-confluence-polyfills's People

Contributors

aragot-yogi avatar

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.