Liferay & Ontopia <ul><li>BouvetOne - Matthias Fischer </li></ul><ul><li>[email_address] </li></ul>
whoami <ul><li>Matthias Fischer </li></ul><ul><li>Undergrad cs student at HTW-Berlin, DE </li></ul><ul><li>Here for an int...
What is this about? <ul><li>Liferay Portal is an OpenSource Portal Sw </li></ul><ul><li>Ontopia is an OpenSource TM-Engine...
What‘s needed? <ul><li>A mapping from Liferay‘s concepts to topics. </li></ul><ul><li>An ontology for Liferay‘s concepts. ...
Integration Liferay Integration Ontopia Model Object Topic New
Advancements <ul><li>[x] Basic data integration (CRUD for things like WebContent, Wikis, Users, etc.). </li></ul><ul><li>[...
Liferay Portal <ul><ul><li>How do we learn news from the portal? </li></ul></ul><ul><ul><ul><li>Using the Plugins-SDK enab...
Liferay Portal <ul><li>Use „portal-ext.properties“ file to say to which changes in the model you listen to </li></ul><ul><...
Identity <ul><li>How do we identify Liferay‘s objects in tm? </li></ul><ul><ul><li>Most objects in Liferay can be identifi...
Ontology <ul><li>Represents Liferays structure in a topicmap </li></ul><ul><li>Contains classes for: </li></ul><ul><ul><li...
Ontology created by is about contains has workflow state WebContent Article WikiNode WikiPage User Group Community Categor...
Create/Update/Delete <ul><li>Using tolog to modify topicmaps </li></ul><ul><li>Datalog like language for querying and  upd...
Update with TmSync <ul><li>To be found in: </li></ul><ul><ul><li>net.ontopia.topicmaps.utils.TopicMapSynchronizer </li></u...
Screenshots Using liferay's control panel to add communities and content
Screenshots Using ontopoly to show the effects of things done in liferay to the topicmap
Screenshots create a community for our content
Screenshots and see the community showing up in ontopoly
Screenshots now we are switching to our community and add webcontent
Screenshots and see it showing up in ontopoly
Screenshots we can now add some more information if we wish (approval, expiry date etc.)
Screenshots and finally view it by clicking „edit“ and „Show in ontopoly“  (has become an embedded iFrame in the meantime)
Fin <ul><li>Thank you for attending this talk! </li></ul><ul><li>Have a nice day :-) </li></ul>
Upcoming SlideShare
Loading in …5
×

Ontopia / Liferay integration

2,646 views

Published on

Slides about the status of the integration and the approaches used.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,646
On SlideShare
0
From Embeds
0
Number of Embeds
590
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Ontopia / Liferay integration

  1. 1. Liferay & Ontopia <ul><li>BouvetOne - Matthias Fischer </li></ul><ul><li>[email_address] </li></ul>
  2. 2. whoami <ul><li>Matthias Fischer </li></ul><ul><li>Undergrad cs student at HTW-Berlin, DE </li></ul><ul><li>Here for an intership for 3 months in total </li></ul><ul><li>Thanks for having me here :) </li></ul>
  3. 3. What is this about? <ul><li>Liferay Portal is an OpenSource Portal Sw </li></ul><ul><li>Ontopia is an OpenSource TM-Engine </li></ul><ul><li>Benefit: Semantically annotated meta-data! </li></ul><ul><li>Having a Portal featuring Topic Maps </li></ul><ul><li>or Topic Maps featuring a Portal :) </li></ul>
  4. 4. What‘s needed? <ul><li>A mapping from Liferay‘s concepts to topics. </li></ul><ul><li>An ontology for Liferay‘s concepts. </li></ul><ul><li>Trigger insert/update/delete within the tm automagically whenever changes in liferay occur. </li></ul>
  5. 5. Integration Liferay Integration Ontopia Model Object Topic New
  6. 6. Advancements <ul><li>[x] Basic data integration (CRUD for things like WebContent, Wikis, Users, etc.). </li></ul><ul><li>[ ] Integration of Ontopoly as part of the liferay ui for creating and editing. </li></ul><ul><li>[ ] Integration of information from the topicmap into Liferay Portal (,related articles‘ etc.). </li></ul>
  7. 7. Liferay Portal <ul><ul><li>How do we learn news from the portal? </li></ul></ul><ul><ul><ul><li>Using the Plugins-SDK enables you to create hooks. </li></ul></ul></ul><ul><ul><ul><li>Hooks can listen to changes in the model of Liferay. </li></ul></ul></ul><ul><ul><ul><li>Implement ModelListener Interface or extend BaseModelListener. </li></ul></ul></ul>
  8. 8. Liferay Portal <ul><li>Use „portal-ext.properties“ file to say to which changes in the model you listen to </li></ul><ul><li>You are being provided w/ Java objects </li></ul>
  9. 9. Identity <ul><li>How do we identify Liferay‘s objects in tm? </li></ul><ul><ul><li>Most objects in Liferay can be identified by UUIDs. </li></ul></ul><ul><ul><li>These in turn can be transformed into URNs and can hence serve as SIs. </li></ul></ul><ul><ul><li>see RFC 4122 </li></ul></ul><ul><ul><li>The short story is: „urn:uuid:“ + uuid </li></ul></ul>
  10. 10. Ontology <ul><li>Represents Liferays structure in a topicmap </li></ul><ul><li>Contains classes for: </li></ul><ul><ul><li>WebContent, Users, Communities, Wikis ..... </li></ul></ul><ul><li>Contains appropriate association types for: </li></ul><ul><ul><li>parent-child, contains, created_by, has_workflow_state .... </li></ul></ul>
  11. 11. Ontology created by is about contains has workflow state WebContent Article WikiNode WikiPage User Group Community Category Workflow State contains Automatically created in Ontopia by the Liferay integration Site-specific ontology Person Project Company
  12. 12. Create/Update/Delete <ul><li>Using tolog to modify topicmaps </li></ul><ul><li>Datalog like language for querying and updating topicmaps </li></ul><ul><li>Faster (and shorter) than using the APIs </li></ul><ul><li>String query = &quot;using lr for i&quot;&quot; + PSI_PREFIX + &quot;&quot; &quot; + &quot;insert lr:parent-child( lr:parent : &quot; + parentUrn + &quot;, lr:child : &quot; + childUrn +&quot; )&quot;; </li></ul>
  13. 13. Update with TmSync <ul><li>To be found in: </li></ul><ul><ul><li>net.ontopia.topicmaps.utils.TopicMapSynchronizer </li></ul></ul><ul><li>Used to synchronize topicmaps </li></ul><ul><li>Used in updates in the integration </li></ul><ul><li>General idea: Create updated topic in empty tm, then sync it with existing tm. </li></ul>
  14. 14. Screenshots Using liferay's control panel to add communities and content
  15. 15. Screenshots Using ontopoly to show the effects of things done in liferay to the topicmap
  16. 16. Screenshots create a community for our content
  17. 17. Screenshots and see the community showing up in ontopoly
  18. 18. Screenshots now we are switching to our community and add webcontent
  19. 19. Screenshots and see it showing up in ontopoly
  20. 20. Screenshots we can now add some more information if we wish (approval, expiry date etc.)
  21. 21. Screenshots and finally view it by clicking „edit“ and „Show in ontopoly“ (has become an embedded iFrame in the meantime)
  22. 22. Fin <ul><li>Thank you for attending this talk! </li></ul><ul><li>Have a nice day :-) </li></ul>

×