Previous Job
Java Developer Level II
Ref No.: 14-00603
Location: Monterey, California
Department of the Navy
Monterey, CA
one year


FAOweb is a distance learning and professional development portal supporting Foreign Area Officers (FAOs) worldwide. Developed and maintained by the Joint Foreign Area Officer Program at the Naval Postgraduate School (NPS), FAOweb provides self-paced, job-relevant education modules, unparalleled language resources and a joint communications and collaboration hub. The website provides features like discussion boards, video conferencing and collaboration, news feeds, and other documents and media. In addition, the portal also provides rich educational content including distance learning (DL) modules that build the knowledge base and skill-sets essential to the successful FAO. The FAOweb portal is built on the open source Liferay web portal platform. Many of the tools available on the FAOweb portal are custom built portlets and/or modified versions of open source portlets. The object of this contract is to provide a Liferay Java developer to perform ongoing maintenance and development of the Java portlets and other Java code that make up the FAOweb portal.


The contractor shall perform the following tasks as follows:
  • Develop a Liferay plugin to allow FAOweb users to subscribe to content updates based on tags. A user will then be able to subscribe to a tag such as "Africa or "Egypt . They will then receive an email update with every new web content, discussion forum, document, etc. that is added with the tag(s) to which they have subscribed.
  • Develop and support possible integration with the Sakai Learning Management System (LMS) including multimedia support, Certificate Program, and extended database tasks. This includes assisting the FAOweb functional team with creating tests, feedback forms and surveys.
  • Redesign the Liferay User Profile in both the Control Panel and Directory interfaces. Develop a Liferay plugin that customizes the user profile form where users update their information as well as the Directory portlet where user information is displayed.
  • 4. Develop code to extend the Discussion Board portlet to provide an updated functionality and user experience with integration of the customized user profile.
  • Create an integrated database of FAOweb user information that can be manipulated and is searchable.
  • Develop a Liferay plugin that modifies the documents and media portlet to have the file name link directly to the file. The preview image will show in the icon view, or on hover in the list view.
  • Develop Liferay hooks that customize the synchronization of users and groups to and from Active Directory through LDAP to ensure that changes are accurately reflected in both systems.
  • Provide a link checking solution that can identify broken links in FAOweb private pages.
  • Design and code enhancements to the FAOweb portal as specified in the NPS JIRA issue tracking system that have been approved by the PI (Principal Investigator) for the FAOweb project.
  • Troubleshoot and resolve FAOweb portal programming bugs as reported in the NPS JIRA issue tracking system.
  • Commit new and modified Java code to the NPS Git repository daily.
  • Provide status updates to and align goals with the FAOweb functional team weekly.
  • Prepare program documentation within the application code for all new and modified code.
  • Create a monthly report that provides update on status, work completed, work in progress, short term goals, and other relevant project information.

Technical Skills:

Java Developer Level II
  • At least 2 years Java Programming Language experience
  • At least 2 years of experience with Struts, OJB, Eclipse, Ant, Maven, Tomcat, Apache, and MySQL
  • Expert knowledge of XML, WSDL, SOAP
  • At least 2 years of experience using common Apache frameworks for Java development
  • Familiarity with Spring Framework
  • At least 2 years of experience with Subversion SVN or Git
  • At least 2 years of experience developing Liferay themes, hooks, and plugins.

Educational Requirements:

Bachelor's degree from an accredited college or university with a curriculum or major field of study which provides substantial knowledge useful in managing large, complex AIS projects, is closely related to the work to be automated, and/or in a computer science, information system, a physical science, engineering or a mathematics intensive discipline, or an applicable training certificate from an accredited training institution.

Important Information required:
  • Detailed resume, biography, or curriculum vitae (CV) of candidate,
  • Salary Information.