Ajaqs is a Web application that organizes FAQs on a per-project basis. The UI is templatized, the content is internationalized, and the styles are highly configurable. Secure login is provided via webapp security constraints. The backend uses an O-R mapping tool to achieve independence of database-specific queries. RSS feeds provide subscribers continuous updates on a per-project or per-FAQ basis. FAQs are dynamically served up as HTML pages, and can optionally be streamed to clients as PDF content.
| Tags | Information Management Internet Web Dynamic Content Message Boards Software Development Documentation Office/Business groupware Indexing/Search |
|---|---|
| Licenses | GPL |
| Operating Systems | OS Independent |
| Implementation | Java SQL |
Recent releases


Changes: To facilitate a clustered deployment, objects stored in the HTTP session are now serialized. JSPs that do not persist session data now explicitly disallow HTTP session creation. The logout servlet has been re-positioned as a non-secured resource.


Changes: The Ant build process now utilizes Jasper to pre-compile JSPs into the war file.


Changes: The set of FAQs associated with a project is optionally served up as a single PDF resource. This is in contrast to the previous release, which just supported per-FAQ downloads as PDF resources (this feature still exists).


Changes: This version incorporates the iText package in order to transform FAQs into PDF resources that are streamed into a servlet response on the fly. Note that MSIE clients only work if compression-filtering is turned off on the PDF-generation servlet in the deployment descriptor web.xml.


Changes: RSS feeds are now supported on a per-project basis. Forms are now more robust with respect to input errors. Downloading attachments now works on IE, assuming the client has support for "private" caches as specified in the HTTP 1.1 specification.
- All comments
Recent commentsBug fix for creating projects from admin front-end.
In src/com/beardediris/ajaqs/util/NewProject.java,
just set the 'true' to 'false' in line 84, as so:
Collection all = query.getAllFaqUsers(false);
Porting to PostgreSQL
To get Ajaqs to work with PostgreSQL, you must
use the database.xml configuration because PoolMan
will not work with the PostgreSQL driver.