Skip to content
This repository
README.md

liquidfeedback-java-sdk

Description

Starting with LiquidFeedback Core 2.0.0 an application programming interface (API) was introduced. This API enables developers to create their own applications making use of LiquidFeedback in almost any programming environment.

Goal of the liquidfeedback-java-sdk project is a fully functional implementation of a Java wrapper API for LiquidFeedback based on Core 2.x.x and the API..

Requirements

This project has the following dependencies:

  • Gson which can be downloaded here.
  • Joda-Time v2.1 which can be downloaded here.

The library is supported on AppEngine and Android platforms as well.

Key Features

The library implements all the methods of LiquidFeedback API v.2.x.x. The library is divided into various services each implementing a specific portion of the API.

Schema: diagramm, markdown, javadoc, unit test results

Service: diagramm, markdown, javadoc, unit test results

Usage

Most of the methods of the API can be invoked without using any authentication. However some need the member to be authenticated.

Typical

The typical usage includes the creation of the appropriate service using a factory and invoking the methods of that service.

LiquidFeedbackServiceFactory factory = LiquidFeedbackServiceFactory.newInstance(TestConstants.TEST_API_BASE_URL);
LiquidFeedbackService.MemberService memberService = factory.createMemberService();
List<Member> info = memberService.getMembers();
printResult(info); 

List<Member> mSearched = memberService.searchMembers("test");
printResult(mSearched);

Authenticated

Authenticated usage is not very different from typical usage. Before calling any service method that requires authentication, you have to set the credentials on the service instance. Subsequent method calls from the same instance will not need further authentication.

LiquidFeedbackServiceFactory factory = LiquidFeedbackServiceFactory.newInstance(TestConstants.TEST_API_BASE_URL);
LiquidFeedbackService.MemberService memberService = factory.createMemberService();
LiquidFeedbackService.SessionService sessionService = factory.createSessionService();

Authentication auth = new SessionKeyAuthentication(sessionService.getSessionKey(TestConstants.TEST_API_KEY));
memberService.setAuthentication(auth);

memberService.updateMemberInfo(member);

More Information

For more information see the following wiki pages.

Usage Examples

Call for applications

Now all developers interested in creating own applications for LiquidFeedback are called. Create your own user interface, report generator, bot or whatever you get on your mind. Just register at the public alpha test and start coding.

Then please send a screenshot and details of your app to Jakob Flierl.

Contributions

Want to contribute?

GitHub has some great articles on how to get started with Git and GitHub and how to fork a project. Contributers are recommended to fork the app on GitHub (but don't have too). Create a feature branch, push the branch to git hub, press Pull Request and write a simple explanation. One fix per commit. If say a a commit closes the open issue 12. Just add closes #12 in your commit message to close that issue automagically. All code that is contributed must be compliant with Apache License 2.0.

Code Style Guidelines

Contributers are recommended to follow the Android Code Style Guidelines with exception for line length that I try to hold to 80 columns where possible.

In short that is:

  • Indentation: 4 spaces, no tabs.
  • Line length: 80 columns
  • Field names: camelCase.
  • Braces: Opening braces don't go on their own line.
  • Acronyms are words: Treat acronyms as words in names, yielding XmlHttpRequest, getUrl(), etc.
  • Consistency: Look at what's around you!

Have fun :)

License

Copyright (c) 2011-2012 Jakob Flierl

This project is open source with Apache License, v.2.0.

Something went wrong with that request. Please try again.