Forums de discussion

Architectural challenge - RESTful mashup portal

Dan Mendes, modifié il y a 15 années.

Architectural challenge - RESTful mashup portal

New Member Publications: 5 Date d'inscription: 31/01/09 Publications récentes
Hello,

I have the need to create a RESTful web application that is integrated into a portal system, however the other components of the portal, may of may not be JSP based, some are php application like phpBB, SMF, some other forum software (yes the admin can pick which of the forums he wants to use) or portlets for that matter. I need to integrate other components like document repositories DSpace, Fedora Repository, Learning Management Systems (LMS) like moodle, etc... basically the portal serves as a meta-web services builder, where each student community can pick the components that make up their specific platform (mashup) kind of netvibes/pageflakes style. Or kind of like facebook applications. However there are a few extra requirements...

Usually a wrapper solution would work fine, However, this can't be the case for this project, because we need it to be RESTful, i.e. if we send someone to a forum post, it has to keep all of the portal functionality, but display the post, in a "integrated" way. I have yet to find a way to do this using Liferay or any other portal software.

Case in point: http://www.webaps.net/liferay/web/guest/2 as you can see this is a wrapped php gallery, however if i wanted someone to check out this image, i would HAVE to send the following link: http://www.webaps.net/foto/main.php?g2_itemId=6948 as you can see, this sends the users to the unwrapped forum, losing all of the portal functionality. This is exactly what i don't want it to do. If i want to send someone a resource, in this case a link to a picture, i need all of the portal functionality to stay intact.

One possible hack that i have been pondering is the introduction of javascript hooks that will render the portal a CSS layer with a header and footer, into every page, but this solution is a bit clumsy, requires constant maintenance if we add more components and i would like to avoid it. An example of this: I point you to the Alfresco website http://www.alfresco.com/ (if you navigate the upper tab you can see how they are using mediawiki, phpBB forum, etc... they are just embedding the upper div "companynav" on every component. Probably not even using Javascript to do that). I would really like to have something more advanced and integrated that can be managed, and not just hard coded.

. Basically what i am trying to get to is the concept of a smart wrapper. For instance if i wanted to show someone a picture that is on my portal powered by php Gallary 2, i would email/send them something like this URI: http://www.webaps.net/liferay/web/guest/2/-/foto/main.php?g2_itemId=6948 and the public user would be able to see the picture integrated into my portal and if he wanted register and join the student community. Conceptually, what i am trying to describe is Aggregation of components using a unified graphical and functional interface

So he can start using and contributing content to that community using that community specific components (i.e.: History Students group created a phpBB forum, a mediawiki wiki, a DSpace repository, and use Moodle - these are the application that appear in the facebook-style application menu for that particular community group; The Math Student group picked: SMF, JSP Wiki (bogus reason: because it has a visual mathml editor), Fedora Repository (because it's simpler than DSpace), Blackboard (because they already used it separately and just want to migrate to the new platform without loosing 5 years of content): The Arts Student group decides to have no forum, just php Gallery with comments, and a Wiki.... as you can see there is no way to predict what combination of components each group will pick and since we don't want to force them to use any particular LMS or any other system. there may be several reasons for this. They may already have many years worth of content, or have no need for a complex solution.

Liferay is so close to being the solution, i just need the smartwrapper/RESTful mashup functionality, that will allow me to create something like facebook application model but without the social characteristics. I am wiling to collaborate with Liferay developers to create and contribute these features to the Liferay community.

Any tips to how to do this with Liferay or any other software would be highly appreciated.
Cheers!
Dan Mendes, modifié il y a 15 années.

RE: Architectural challenge - RESTful mashup portal

New Member Publications: 5 Date d'inscription: 31/01/09 Publications récentes
Found this Liferay project: http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Liferay+Web+Application+Integrator/

Does anyone have further information? I think this project goals have much of the functionality that i require. TIA
Dan Mendes, modifié il y a 15 années.

RE: Architectural challenge - RESTful mashup portal

New Member Publications: 5 Date d'inscription: 31/01/09 Publications récentes
On the website i found this as a feature bulet point but have been unable to find any further information on how to acheive this goal.
How is it possible to run my php application along side my portlets?
Run your other applications in Liferay too.
Tools written in other popular programming languages (PHP, Ruby, Python) can run in Liferay, right along side Liferay's own applications.

And also how can i add widgets and mashups to Liferay? Does Liferay support OpenSocial?
thumbnail
Jorge Ferrer, modifié il y a 15 années.

RE: Architectural challenge - RESTful mashup portal

Liferay Legend Publications: 2871 Date d'inscription: 31/08/06 Publications récentes
Hi Dan,
The integration strategy you describe sounds very interesting. I've done a quick read and I think everything you want to do should be doable. But note that like most integration projects there are several specific aspects to it so it won't be easy to find exact instructions for how to do it.
As you've found the Web Application Integrator was an initiative that I started to collect the best practices from application integration projects and provide the tools to allow applying the as easily as possible. Note though that this is a huge task and for now there is only an initial implementation based on iframes (other implementations based on native deployment and webproxy are in the readmap). This is an initiative that I plan to keep working in but right now it's not a top priority.
Of course, if you have the knowledge to work on it or would like to sponsor its development that would make me very happy emoticon
If that's the case feel free to contact us through http://www.liferay.com/web/guest/services/contact_us