1 person found this helpful
There of course multiple ways to attempt to integrate with a service like this, the approriate approach will vary based on your requirements.
The first question I would ask is what functionality are you trying to integrate into you CQ5 pages. Are you just trying list summaries of posts - say the 3 most recent posts on topic X, or are you attempting to display the complete forum functionality in a CQ 5 page.
If you doing a light weight integration - for example displaying the most recent posts then I would explore the possiblity of a client side integration using AJAX to pull the data from your PHP system in JSON or XML format. This avoids any caching related issues and keeps the integration loosely coupled. There are of course variations on these methods that use CQ as a proxy to the PHP application, but then you end up having to write a OSGI wrapper service that talks to your PHP app over web services.
If your integration is more complicated and you are looking to enable all the forum functionality. If your PHP app is visually the same as you CQ5 site you can make use of a iframe to include it in a CQ page. This obviously have potential issue (security, layout issues if sizes or CSS aren't consistent). CQ5 includes a foundation component to help with this - the External component which leverages an iframe.
If an iframe or client side approach won't work then you would need to look at creating a set of OSGI wrapper services that communicate with your PHP application via web services. This obvious would be a singificant development effort, and depending on the capabilities of you PHP application may be difficult to implement. In particular user management and security integrations be complex (you can avoid these sorts of issues with a client side or iframe approach, especially if you can sub-domain the PHP app, or use the same apache server to host both dispatcher and you PHP app).