How to Contribute to Payara Server

12 Oct 2016

As you probably know, Payara Server was created as an effort to fill the gaps that Oracle left when they dropped commercial support offerings for Glassfish Open Source Edition 4.x versions. However, our goal at Payara Services is not only to fill these gaps in support, but to strengthen the Community around Payara and GlassFish as well. For this to happen, we encourage all Payara Server & Payara Micro users to contribute to the Community - and there are a couple of ways to do so.

 

Where to start

The best way to start contributing to the Payara Community is to use Payara Server / Payara Micro. Remember that the server can be used free of charge: just download the binaries, unzip them and run the server!

 

Although this is a very simple recommendation, please consider using Payara Server if you fall into the following list of scenarios:

  1. You are very familiar with developing Java EE applications and probably have been involved with GlassFish Application Server while using the NetBeans IDE (shipped with it by default).
  2. You are developing Java EE applications actively using GlasFish Open Source Edition and can benefit from Payara Server’s distinctive features and reliability.
  3. You work for a company that is using GlassFish Server Open Source edition and is considering transitioning to another server due to the lack of official support.
  4. Your company is using older versions of GlassFish Server, but you want to migrate to a newer version of the server and the Java EE platform easily without loosing the possibility to get commercial support.

After that, we encourage you to provide our support team with feedback by raising issues in the official Github repository in the following circumstances:

 

  1. You have encountered a bug or unwanted behavior while using Payara Server or Payara Micro
    This applies to all editions of the server (full, web, blue, micro, etc.). Raise the issue while providing a detailed explanation of how the bug was encountered, what version of Payara Server was used and any additional details that can help the support team reproduce or identify the specific circumstances around this bug.  Attaching code samples or even a Maven project can help in resolving this issue faster!

  2. You want to propose a new feature or enhancement
    Want to propose a new feature that you consider can bring benefits to you and other Payara’s users? Raise an issue describing what this feature should be, explaining why such a feature would be beneficial to Payara Server / Micro. Better yet, don’t limit yourself to new features - think about how some of the current features can be improved and propose an enhancement request for them! We encourage a healthy discussion in considering which features or enhancement request should be done, so submitting detailed explanations is always helpful.

  3. You have a question about specific details regarding Payara Server / Micro
    Raise an issue on GitHub and ask us! Be direct and phrase your question in a concrete manner, attaching code samples if it can help understand the question better. We strongly recommend going through the official Payara Documentation before raising a question if you think you can find the answer there first.

After raising your issue, the support team will take care of it. Please be patient, since the team prioritizes work requested by their customers first, so this means your issue could take some time to be handled. Nevertheless, it’s equally possible that your issue is handled fast and the team may require more information about the situation described, so be sure to check for notification updates!

 

The best way to help the support team to work quickly on your issue is to give as much detail as possible and provide a Short, Self Contained, Correct  Example (SSCCE) so that we can confirm a potential bug and get it to our developers to be fixed.

 

We are planning to release issue templates for the 3 scenarios described above to make contributing an easier task, so be sure to check them when they are out!

 

If you work for a company or have customers that are in need of regular and quick support services, check out the levels of commercial Payara Server/Micro support we are offering . 

 

Payara Support

 

Development Contributions

Remember that Payara Server is open source. This means nothing stops you from accessing the source code of the server to understand how it works. However, if you want to contribute code to the project, you must download and sign our Contributor License Agreement first and send it to this address: cla@payara.org. We know this can be a hassle, so every contributor who signs the agreement gets a bag full of Payara goodies as a little motivation!

 

Then follow this simple process (you must be familiar with Git and GitHub first):

  1. Fork the Payara Server GitHub repository to your GitHub account.

  2. Clone the forked repository to your development machine.

  3. Navigate to the cloned repository and add both the upstream and the forked repositories to your local configuration:

git remote add upstream https://github.com/payara/Payara
git remote add origin https://github.com/username/Payara

  1. Create a new branch for the feature, bug fix or enhancement to code:

git checkout -b <new_branch>

  1. Now, open the project in the IDE of your choice (NetBeans, Eclipse, IntellijIDEA) and start coding! We recommend to use NetBeans thanks to its native support of Maven projects.

  2. After coding the changes, build the project:

mvn -DskipTests clean install

  1. Commit your changes with a descriptive comment of what you implemented. I you’re implementing a change referenced by a Github issue, don’t forget to reference it as well:

git commit -m "Fixed issue #176"

  1. Before rebasing from master, ensure you have the latest upstream changes:

git checkout master

git pull upstream master

  1. Rebase and push your changes:

git checkout -b <new_branch>

git rebase master

git push origin new_branch:new_branch

  1. Finally, proceed to create a pull request on GitHub to bring your branch into the original repository! Remember that in order for us to approve your pull requests, your signed CLA must be sent and has to be already reviewed and approved by us. Also, pull requests can take some time to be approved in order for the Payara team and other members of the community to review the code changes, so be patient!

As usual, if you have any questions on how to tackle some challenges or if you want to address some issues with the Payara team first, feel free to contact us at info@payara.fish

 

Documentation        

The official Payara Server documentation is maintained using the Gitbook toolset. This means that the documentation is structured as a GitHub repository in order to make controlled changes and allow for a finer versioning of it. If you believe you can improve the documentation by providing specific fixes or expanding on some topics, feel free to do so.

See the Payara Server  Documentation

 

Since the source for the documentation is just another GitHub repository, you can follow up the process described for development contributions earlier and make contributions to the official documentation. These contributions also require singing the same CLA as code contributions.


However, there is also a much simpler option to contribute and help us improve the documentation. If you sign with your Gitbook account, you may add comments directly into the documentation pages. This is convenient, especially if you find spelling errors or you find that something is missing. The Payara Team will be notified of your comments and will improve the documentation based on your suggestions, so don’t be afraid to let us know!


The preferred way to suggest improvements is to raise issues in the GitHub repository for the documentation if you want to discuss such concerns with the team directly.

 

For a more detailed overview of the documentation, check out our blog post which explains some of the structure and what you can find there.

 

Spread the word!

Are you using Payara Server already and have something to say? Do you have a good story about a migration from GlassFish to Payara Server, or a story about implementing a challenging project where Payara Server or Payara Micro played a crucial role? Then please share your testimony with us! You can send us a short email to info@payara.fish with your story and experiences and we’ll share them with the community! You can also tweet about them mentioning @Payara_Fish .

How about something more detailed like a guest blog post? You can contribute to our blog by submitting an article about any topic related to Payara Server, Payara Micro or our recent Microprofile implementation. Check out our blog for the type of articles we regularly publish, and choose a topic that excites you (Payara Micro, integrations, Docker, etc.). We are encouraging users to write articles about integrating Payara Server with other development frameworks outside the Java EE APIs and third party tools, since these can help the community grow around more integrations. Once you have an idea about a blog post, or a ready article you'd like us to publish, please email us at info@payara.fish !

If you have already published a blog post or an article about a topic related to Payara or GlassFish, feel free to share it with us and we will help to spread the word! You can also share other forms of content with us: books, videos, screencasts, podcasts, presentation slides etc. Just email the links to us or post on Twitter mentioning @Payara_Fish 

To sum up

We aim to make contributing to Payara Server as easy as possible, and it’s something that we are actively encouraging our users to do. The Community around Payara is very vibrant and growing - it's thanks to your continued contributions that Payara Server has gained a strong position within the larger Java EE community.

We really appreciate your help and are looking forward to making Payara Server and Payara Micro better - together!

 

 

 

Comments

Subscribe