Giter Club home page Giter Club logo

liferay-code-samples's Introduction

Liferay Code Samples

What this is

This repository holds code samples demonstrating how to

  • build applications for
  • extend and enhance
  • configure
  • style and change the UI of
  • consume services from

Liferay Portal and other Liferay products based on Liferay Portal.

It's is an updated and re-organized version of liferay-blade-samples repository. It is maintained by Liferay's Developer Relations Team in collaboration with Liferay's engineers who started and maintained the liferay-blade-samples project.

How it is organized

The repository has several levels deep hierarchy:

  • product
    • product version
      • java version
        • code samples

which we explain below.

Product

We first separate code samples per product. At the time of writing there are 3 products in this repository:

Product version

Then we divide the samples in each product by product version.

APIs, extension points, configuration keys, frameworks, ... may differ significantly between product versions. It is crucial that developers can lean from a sample that is developed for and tested with the product version they use.

Java version

On the next level we divide the samples by Java versions.

This is to ensure the code samples are build and tested with all Java versions supported by given product version. It also allows do demonstrate the use of new features brought by newer Java versions.

List of Code Samples

On this level developers can find the actual code samples. However each sample can be build using different build systems (Maven, Gradle, ...). To avoid duplicating the source code for each build system, the following structure is in place:

  • code
    • sample 1
      • source code
      • other common files
    • sample 2
      • source code
      • other common files
    • sample ...
  • build system A
    • sample 1
      • files specific to build system A
      • symlinks to the respective files in code/sample 1
    • sample 2
      • files specific to build system A
      • symlinks to the respective files in code/sample 1
    • sample ...
  • build system B
    • sample 1
      • files specific to build system B
      • symlinks to the respective files in code/sample 1
    • sample 2
      • files specific to build system B
      • symlinks to the respective files in code/sample 2
    • sample ...
  • build system ...

This way developers can study the sample in the context of their build system of choice and ignore the others. As the same time maintainers and contributors can write code once and test it with multiple build systems.

Contributions

We try our best to build, test and maintain useful code samples for the leading Liferay Portal based products but that is time and resource consuming process. We would gladly accept contributions to this repository that provide

  • new code samples
  • bug fixes in existing samples
  • optimizations an improvements
  • documentation

If you can, and you are willing to contribute to this repository, please do not hesitate to contact the Developer Relations Team ([email protected])

liferay-code-samples's People

Contributors

milendyankov avatar dgomezg avatar gamerson avatar lawrence-lee avatar wesleygong avatar

Watchers

James Cloos 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.