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..
This project has the following dependencies:
The library is supported on AppEngine and Android platforms as well.
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.
Most of the methods of the API can be invoked without using any authentication. However some need the member to be authenticated.
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 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);
For more information see the following wiki pages.
- liquidfeedback-to-sqlite - dumps a LiquidFeedback v2 instance into a local SqLite3 database.
- LiquiDroid - LiquidFeedback v2 Android App.
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.
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.
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 :)
Copyright (c) 2011-2012 Jakob Flierl
This project is open source with Apache License, v.2.0.