Recent Bloggers

Olaf Kock

Staff
85 Publications
23 novembre 2014

Nicholas Gaskill

Staff
1 Publications
21 novembre 2014

James Falkner

Staff
99 Publications
20 novembre 2014

Meera Prince

18 Publications
20 novembre 2014

Marcus Hjortzén

2 Publications
19 novembre 2014

priti parmar

7 Publications
19 novembre 2014

Miguel Ángel Pastor Olivar

Staff
20 Publications
18 novembre 2014

David Kubitza

1 Publications
17 novembre 2014

Ryan Schuhler

Staff
10 Publications
14 novembre 2014

Julian AFFAIRE

2 Publications
12 novembre 2014

Veranstaltungshinweis: Jena, 14.12.2011

Company Blogs 11 décembre 2011 Par Olaf Kock Staff

(apologies for the english-speaking audience: This is an announcement for a german event - doesn't make sense to have it in english)

Liferay (in Form meiner Person) kommt nach Jena: Am Mittwoch, 14.12. um 18 Uhr zur GI Veranstaltung "RG Ostthüringen/Jena: Portal-Entwicklungsmodelle". Thema wird sein, unter Ausnutzung einer Portalarchitektur eine Applikation aus vielen kleinen Bestandteilen zu komponieren anstatt auf einen monolithischen Block zu setzen.

Interessenten sind herzlich eingeladen.

Radio Liferay Episode 12: The Brians

Company Blogs 1 décembre 2011 Par Olaf Kock Staff

  Liferay for your ears - I had the opportunity to record a session with 3/4 of the founders, namely all the Brians (simplifying the "y" in Bryan to "i" for this pluralization): Brian Chan (Chief Software Architect), Brian Kim (Chief Operating Officer), Bryan Cheung (Chief Executive Officer).

Some of the topics we talked about:

  • How they met and started to work despite different music and food taste
  • How or if college grades (might) relate to real life
  • While they used to live on the same floor some time, now they are still on the same planet...
  • Crazy organic growth and the hardest year, Rooming arrangements and sacrifices during the startup phase
  • The honorary Brian (the fourth founder, who could not join the recording), Mike Young, and why he should use EJBs for his marriage, what risk he took
  • How Caris put up with Brian's activity after 10pm and got Liferay's invoices off of notepad
  • The long term plans, "no exit" strategy and how a business can help to do good
  • And at the end the microphone unexpectedly turned around, and I give away pieces of my history with Liferay

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Obligatory Twitter Links: Brian Chan, Brian Kim, Bryan Cheung, me and RadioLiferay

download audio file

Radio Liferay Episode 11: Alexander Chow and Sergio González about Document/Media Library

Company Blogs 24 novembre 2011 Par Olaf Kock Staff

Liferay for your ears - This time I sat together with Alexander Chow and Sergio González. Both are Liferay Core Engineers. Alex is "Employee number 8, UK employee number 1 (which gives away his location) and Liferay-Mac-User number 1".  Sergio is Spain's employee number 6. Both have extensively cooperated in the new Document Library for Liferay 6.1 - now called Media Library - and this provides the main topic for us to talk about:

podcast-logo My shownotes:

  • Their background and what they worked on in Liferay
  • How to pronounce names
  • Naturally: The work both did on Document/Media Library and related portlets through the last year: The document library got a good rewrite, Ajax-based UI and a new backend to use Liferay as entry-point into other external repository systems.
  • CMIS (short for Content Management Interoperability Something - see link)
  • A lot of the document library backend war developed with JUnit and worked within a few days of work with the independently created UI when they were first brought together.
  • Different Document types are now first class citizens, so that you have certain metadata as well as separate workflows for different types of content.
  • Document Library and Image Gallery changed to Document and Media Library (for storage) and Media Gallery Display (for presentation) - the data and permissions will be automatically migrated
  • Previews for many document types will be automatically generated.
  • Listing alternative interfaces to the backend: Browser, WebDAV, Sharepoint protocol, Liferay Sync
  • Sync will work offline and synchronize any change (bidirectionally) with Document & Media Library when it's online, available for Windows, Mac, Android, iOS. Sadly there's one OS missing...
  • Iliyan is now europe's resident AlloyUI/JS expert
  • Download Beta 4 (or whatever is current when you read/listen to this) and give feedback, report bugs before Alex 2.0 is released.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Obligatory Twitter Links: Alex, Sergio, me and RadioLiferay

download audio file

Radio Liferay Episode 10: Michael Han

Company Blogs 18 novembre 2011 Par Olaf Kock Staff

Liferay for your ears - Meeting Michael Han, Liferay's Vice President of Operations, at the european symposium, I used the opportunity to record an episode on some of his working areas, namely security and performance. He gives some good background on these issues.

podcast-logoAmong other topics, we spoke about:

  • His background, how he came to Liferay and what he's mainly working on
  • Mike is with Liferay since 4 years - helped setting up the international offices and business.
  • "Follow the sun" support: International offices required for support around the clock
  • Performance gains from version to version, sampling with logging in.
  • Mike's involvement in performance tuning, how the performance whitepaper is built and what you need to understand about your system in order to expect the correct results based on the performance whitepaper's numbers.
  • The different ways that the "number of users" can be interpreted and how to find out the required number of servers.
  • 3-4 man-years of effort go into performance-tuning enterprise edition
  • How to read security reports: Why 50 deep-red issues might show up to not be as bad as they look initially
  • Black-box and White-box testing for security issues
  • Circumstances under which a possible SQL-injection is not a problem
  • Security of Open Source software - with an example
  • How to report security issues: File an issue in Jira, set the component to "security" and the visibility to "private", so that only you and Liferay staff can see this issue. Enterprise customers just file an issue in their account and flag it as security issue.
  • How to set up a performing system, what parameters should you care for - along with some numbers we see on garbage collections etc. and why you can have too much memory.
  • There used to be a Sun/Oracle blog about every single JVM option since version 1.3, as we found out preparing these notes, this is no longer available. But there are alternative links
  • Other documentation for other vendor's JVMs
  • How we determine which server architecture to build the performance testing environment on.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

download audio file

Radio Liferay Episode 9: Community Contributors

Company Blogs 11 novembre 2011 Par Olaf Kock Staff

Liferay for your ears: Episode 9 of Radio Liferay is another premier: This marks the first recording with more than one interviewee, as well as the first non-Liferay Employees. I used the opportunity during the european symposium to get together with Corné Aussems, Maarten van Heiningen, Milen Dyankov and  Tomáš Polešovský, four Community Contributors.

podcast-logo Part of my original intent was to speak about their contributions and learn what Liferay can do better with regards to accepting contributions. Turns out that this was a handpicked crowd of notorious contributors that praised more than they criticized - well, so be it, it's good to hear this.

Among other topics, we spoke about

  • Naturally: The Symposium and what it's all about: Meeting people, the energy. All four of them work with/for Liferay Partner Companies. Stating also my personal recommendation: If you have any chance to make it to one of Liferay's symposium, make sure to go.
  • Tomáš best known contribution is the initial Extlet (now ext-plugin). This made it possible to move from the initial monolithic and huge ext-environment (singular) to very lightweight plugins (plural) in 6.0
  • Corné started with Liferay 3.x, is the Dutch translation leader.
  • Milen contributed the mobile device detection using WURFL, which he also demoed during the symposium.
  • Maarten is involved with themes, usability and accessibility. Also, he pushed "commenting as a guest", a new feature in 6.1
  • All of them contribute to many of the active community programs, Bugsquad, 100 paper cuts, etc. that James introduced.
  • Getting responses from core Liferay developers and personnell during the symposium and in the community.
  • Get knowledgable by learning from helping others:
  • Milen's and Tomasz's work on the Maven SDK

I hope that a lot of the enthusiasm that I've seen in this round as well as in any symposium I've been to can be transferred through the recording.

It was a great opportunity to get together with these guys, but sadly the episode is shorter than it could have been - we recorded this towards the end of the symposium, just before the community excellence awards were handed out - and as some of the participators were receiving them, I couldn't keep them busy for longer.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Obligatory twitter links: Corne, Maarten, Milen, Tomáš, me and (new) the announcements for Radio Liferay on twitter and on more places on the web.

No children were harmed during the recording of this podcast - at least not by us: There were a few playing outside, running around and screaming - and the hotel room was not too soundproof, so this got onto the recording.

download audio file

Radio Liferay Episode 8: Brian Chan

Company Blogs 4 novembre 2011 Par Olaf Kock Staff

Liferay for your ears: Episode 8 is a premiere in this program: Brian Chan, Liferay's founder and Chief Software Architect, is the first that I didn't record in a conversation: Instead this is a recording from Brian's closing keynote at the European Symposium. I had originally planned to record an episode with Brian, but during this keynote he already answered 80% of what I had on my list - and added another 80% that I did not have on my list. So for now I settled with the keynote, well worth listening to

podcast-logo The introduction is done by Bryan Cheung, another member of Liferay's founding team and the Chief Executive Officer. As this is the full keynote, I really recommend to listen to it in full, and for that reason don't provide a bullet point list of the topics here. Just this: You'll learn a lot about the setup of the company, the vision, the reason why you want to work with Liferay - the product as well as the company. And why the company will stay with this vision for the foreseeable future. And where the name "Liferay" comes from. And so many more things - Brian is a fast speaker.

One of the next episodes will be a follow-up to this episode, as I used the opportunity to sit down with 3/4 of the founder's team, namely all the Brians (This poses a spelling problem: What's the plural of "Brian, Brian and Bryan"? I'll make it "The Brians")

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

You can find Brian, me and (new) the announcements for Radio Liferay on twitter and on many more places on the web.

download audio file

Radio Liferay Episode 7: Julio Camarero

Company Blogs 30 octobre 2011 Par Olaf Kock Staff

Liferay for your ears: Episode 7 of Radio Liferay is out. I'm speaking with Julio Camarero, Software Engineer in Liferay's spanish office. As a certified Legend he's well known in the forums here, and with regards to this status the highest ranking Liferay-Employee recorded until today. We recorded this episode on very short notice when we met in our german office back in September. 

podcast-logo We spoke about these topics - and probably more:

  • User Interface
  • Accessibility
  • Localization (Translation Team, Forum, Process)
  • pootle on http://translate.liferay.com
  • Initial translation by babelfish
  • Translation workflow and how to find the context for translations
  • Visualize all translations and keys on a page (plugin)
  • The European Symposium (the recording was made prior to the symposium, release is after the event)
  • Accessibility Guidelines by W3C (WCAG 2.0), Screenreaders
  • Accessibility through using AlloyUI taglibs and the effect of themes on Accessibility
  • Guidelines for developent, How to make consistent UIs and how they are made in Liferay (shameless plug: referencing Aaron Delani and Nate Cavanaugh)
  • Getting from Photoshop to a UI
  • BugSquad
  • Different Kinds of Contribution: Just mentioning an issue somewhere does help. If you can help fix the problem, it might help even more, but don't keep any feedback for yourself..)

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

You can find Julio, me and (new) the announcements for Radio Liferay on twitter and on more places on the web.

download audio file

Radio Liferay Episode 6: Aaron Delani

Company Blogs 24 octobre 2011 Par Olaf Kock Staff

Episode 6 of Radio Liferay is out. I'm speaking with Aaron Delani, UI Software Engineer at Liferay. This is another episode recorded while I was in L.A for the annual Westcoast symposium. Thanks again to everybody there for the hospitality. 

podcast-logo We spoke about these topics - and probably more:

  • Photoshop, Gimp, InDesign and other graphical editing tools
  • Aaron's hiring procedures
  • Hints for "How to design a Theme"
  • ControlPanel "S" (and what the S stood for). In the mean time it's just the ordinary ControlPanel again, no fancy name, but lots of fancy functionality was added for version 6.1
  • Hidden Gems in ControlPanel
  • The new DocumentLibrary
  • User Interface Guide
  • Liferay's UI for Social Equity
  • Presenting mobile content in Liferay and the Roadmap for 6.1, mobile themes, "mobile-enabled" portlets

Find Aaron, me and Radio Liferay on twitter.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay with your favourite podcatcher. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

download audio file

Radio Liferay Episode 5: Cynthia Wilburn

Company Blogs 16 octobre 2011 Par Olaf Kock Staff

Episode 5 of Radio Liferay is out. I'm speaking with Cynthia Wilburn,  Project Manager at Liferay, the engineering group's professional nag (short: Catherder) and single wringable neck for release dates. We recorded this episode right after Liferay's Westcoast Symposium in the L.A. office in the same room as the last episode with Ray - so we'll have the same echo. I hope you don't mind.

podcast-logo We spoke about these topics - and probably more:

  • Cynthia was once mistaken as a Jira bot
  • The Product Backlog maintained in Liferay's Jira
  • Agile Plugin for Jira (formerly Greenhopper)
  • Recommendations on how to file issues in Liferay's Issuetracker, so that they are taken care of.
  • security issues and how to file them
  • fixpacks and the new patchtool
  • Marketplace
  • Sevencogs Hook
  • Social Office
  • The Definitive Release Date (sic!) for the next version (no link, you'll have to listen ;-)
  • The release philosophy
  • A Releasecandidate planned for 14. Oct. 2011 (Sadly, due to intense work preparing the upcoming european symposium, I didn't manage to publish this before the 14. Oct. So after the fact, this has been relabelled a beta)

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

And look Ma - a new Logo for the podcast. Isn't that nice?

Community Meeting in London

Company Blogs 1 octobre 2011 Par Olaf Kock Staff

Hey there,

I'll be in London on Tue, 11. Oct. and would like to test if there's some interest in getting together for a Liferay Community Meeting - no formal stuff, just chatting in a pub or similar.

I'd need help finding a location. Best (for me) would be walking distance to Tower Bridge (I'm staying at the southern end of London Bridge) and propose 19:00 as a starting time.

If you're interested in joining, please state so in the comments below. Also, if you have a suggestion for a pub, restaurant, place to meet in the suggested area: Name it. Please do so until Monday, 10. Oct, so that I can coordinate and announce if and where the meeting shall take place. Short term plan changes and other announcements either here or on twitter: @olafk.

Radio Liferay Episode 4: Raymond Augé

Company Blogs 28 septembre 2011 Par Olaf Kock Staff

Episode 4 of Radio Liferay is out. I'm speaking with Raymond Augé,  Sr. Software Architect at Liferay. We recorded this episode right after Liferay's Westcoast Symposium in the L.A. office. Unfortunately the room has some echo, but the content is well worth it.

podcast-logo We spoke about these topics - and probably more:

  • Internet coverage in Northern Ontario
  • Forums, IRC, Blog
  • The beauty of XML and XSLT (in 2004)
  • Bits of Liferay's history since 2004, e.g. the Sourceforge Mailinglist
  • Some Features Ray has been involved in: WCMS, Permissions, Document Repositories, Asset API, Service Builder, Staging, Search - basically most of what's somehow related to WCM.
  • The enjoyment of sharing information. Not disseminating information is counterproductive. (At this place I'd like to place a completely unrelated shoutout to JT - you know what for ;-) )
  • the benefits of keeping hands away from UI code.
  • (Learning english in this episode consists of my "inadvertently" stumbling across my tongue)
  • Feature talk: The new staging in 6.1, "site variations", how work on it was done.
  • The use of the different templating languages: Velocity, Freemarker, XSLT
  • WebContent and Templates can partly replace portlet & plugin development.  Documented on Ray's Blogpost Advanced Web Content Example with Ajax and Liferay Live presentation
  • OSGi, in Ray's Blog and on github

Find Ray and me on twitter

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Radio Liferay Episode 3: Nate Cavanaugh

Company Blogs 15 septembre 2011 Par Olaf Kock Staff

  Episode 3 of Radio Liferay is out. I'm speaking with Nate Cavanaugh,  Liferay's Director for UI Engineering about AlloyUI, the switch from jQuery

podcast-logo We spoke about these topics - and probably more:

Find Nate and me on twitter

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

download audio file

Last Chance: Lightning Talk for WCS

Company Blogs 8 septembre 2011 Par Olaf Kock Staff

If you are planning to come to the Westcoast Symposium, use your chance and present your favourite feature or project: You can still submit a Lightning Talk for the WCS!

The rules are simple: You get the stage for max. 7 minutes, then the next presenter will take over. It's also ok to finish early - this way we can fit even more talks into one session. 

This is a good way to present your brilliant idea, your project or gather attention for your plans, make yourself and your project known.

Please send your submission asap (Deadline: Monday, Sep 12) to community@liferay.com. We need title and a brief overview over the content, no finished work yet. Presentation only format is preferred - with or without slides: Setup-Time for your own computer would otherwise eat up your time.

Radio Liferay Episode 2: Rich Sezov

Company Blogs 1 septembre 2011 Par Olaf Kock Staff

Episode 2 of Radio Liferay is out. I'm speaking with Rich Sezov,  Liferay's Knowledge Manager, author of the upcoming book "Liferay in Action" and Alter Ego of "Rich Editor" for those of you who have seen the sevencogs demo setup of Liferay.

podcast-logo We've had a few audio quality issues, so please bear with some dropouts or cracks in there, it's only episode 2 and I'm learning the best setup for skype for these purposes.

We spoke about these topics - and probably more:

Find Rich and me on twitter

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Community Meeting in Hamburg/Germany - 5. Sep

Company Blogs 26 août 2011 Par Olaf Kock Staff

Let's have another community meeting - this time I'll be able to speak the local language: 5. September, 19:00 in Hamburg, "Abaton Kneipe", Grindelhof, close to the university. Please comment here if you'd like to come. Any short term emergency changes will also be communicated on twitter.

Und auf deutsch:

Das nächste Community-Treffen findet statt in der Abaton-Kneipe im Grindelhof im Univiertel. Beginn: 19:00, Ende offen.

Um einen Tisch in der richtigen Größe zu belegen, bitte ich um Zusage hier in den Kommentaren.

Radio Liferay Episode 1: James Falkner

Company Blogs 19 août 2011 Par Olaf Kock Staff

Episode 1 of Liferay Radio is out. I'm speaking with James Falkner, Liferay's community manager. We spoke about these Topics (and probably more):          

podcast-logo

Find James and me on twitter

In related news: We do have a feed now: http://feeds.feedburner.com/RadioLiferay so that you don't need to download manually any more. I'll let you know when Apple decided they find it worthy to have in their directory. (you might also want to publish a comment below if you find it - I'm not using itunes that much, so you probably will see it before me) And finally itunes approved it as well, so you iSomething users can find it there. Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

Liferay for your ears: Announcing Radio Liferay

Company Blogs 18 août 2011 Par Olaf Kock Staff

podcast-logoLet me introduce myself as the one who wants to be the resident german accent in your ears.

After a long time of "just intending" I finally went ahead and started recording a podcast about Liferay - the project, the product, the people and the company. Episode 0, a brief introduction with the intent and some generic information is available for manual download. It's only 4:12.

Episode 1 will be out within a day - I sat together with James Falkner, Liferay's community manager, who luckily agreed to be my guinea pig. Episode 2 is - contrary to what I say in episode 0 - already recorded and will need a bit of post-production. Stay tuned for this - I'm speaking with the Alter Ego of "Rich Editor".

You might have noticed that I said "manual download" - there's no feed yet. But as I had the content, and it's kind of timely because we talk about the symposiums, I wanted it out in public as soon as possible. So please bear with me while I create a feed that somehow contains what the typical feedreader - especially itunes - does expect. The whole setup, hosting etc. is temporary and will change soon.

So use this to practice manual download and listening to yours truly. Episode 1 will probably also predate the feed, but it should not be by far.

Edit: You can now subscribe to the podcast and find it on itunes.

Control content permissions based on the page the content is published on

Company Blogs 12 août 2011 Par Olaf Kock Staff


Shortcut: If you "just" want to know how to make different distinct sites (read: communities or organizations) appear as just one site, continue below the reasoning.

Problem space

Permissions are a sensitive area in any application. Quite often requirement documents can give the impression that it's more important what an application must not allow than the actual value proposition. Try to balance "increased communication" with "very strictly controlled access" and you see what I mean.


The content on the marked pages should be editable only by dedicated (different) users
This is not to say that those requirements are bogus - after all there are valid reasons to limit write access to various areas of the portal. However, such requirements should not lead to overly complex solutions. I'd like to go into more detail for one specific sample solution request(*): "Provide write access only for WebContent on a given set of pages of a site".

In Liferay we have sites (communities or organizations), pages and content - the content happens to be scoped to a site, as are all the permissions: Within a site users typically have the same permissions to all content.

Content can be shown on any number of pages on a site (or none at all). And the navigation shows the pages for only one site. For this reason, the solution given is not trivial (and not natural) to implement. But you'll see that the underlying hidden Feature Request can be easy to implement.

Solutions

1. Organizational: Assume the best, blame the rest

My first, simplest and favourite answer to this kind of request is: "Try to go with organizational (nontechnical) permissions - assume your authors are responsible people and know what they should and shouldn't change". This is underwritten by the possibility to audit: You can see who edited a given article - and if a change is not appropriate, you can hold them responsible for their changes. If this is not enough, you might want to consider workflow. You might be using workflow already, so you already have someone double checking each article. My assumption is that this level of control is adequate for a lot of applications out there.

But...

But then, there still are some conditions in which this does absolutely not apply. I'm seeing two different solutions proposed for these remaining applications: One requires lots of work, is almost impossible to get completely correct and will make upgrades a pain. The other is simple and imposes a bit of thinking or structuring, but has no notable effect on upgrading. Guess which one I prefer.

2. Custom Permission checking (You don't want this)

Naturally, many think about customizing Liferay's permission checking code to take the new criteria into account.

For many reasons this is hard:

  • The permission checker itself is a very abstract component when you want to extend it with code knowing about WebContent and the currently displayed page.
  • You need to take into account that this might break access to content through the API
  • How do you handle editing of articles that are not (yet) positioned on any page?
  • As you'll be working somewhere in the guts of Liferay, it's easy to break something completely unrelated.
  • Think about upgrading to the next service pack or major version - prepare to do everything again.
  • Oh - and think about the nightmare of a UI that you'd have to create to configure who has access to what content.

Conclusion: You most likely do not want to change the internal permission checking code.

3. Customize the presentation of the content (try this)

This is the easy route: For your application you know what kind of different content you have. Divide it up in communities or organizations (referred to as sites). This maps neatly to how Liferay allows you to provide permissions to users.

Done.

Well - almost.

You still want to display all the pages as if they were still in the same site. You can do that easily: Your theme is already tailored to your needs, you can use it to handle this aspect as well. Just add the following templates. Out of habit I'm using velocity here, the two different sites that are combined here are "public", "researchdevelopment" and "production".

(Edit: As Erik commented, I've made a debugging/copying mistake writing this post. I also fixed navigation.vm to show only the toplevel pages on the top level. The code is now corrected, version 2)

navigation.vm

#set ($layoutLS = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))
#set ($groupService = $serviceLocator.findService("com.liferay.portal.service.GroupService"))

<nav class="$nav_css_class" id="navigation">
    <h1>
        <span>#language("navigation")</span>
    </h1>

    <ul>
        #set ($current_group = $groupService.getGroup($company_id,"public"))
        #set ($current_nav_items = $layoutLS.getLayouts($current_group.getGroupId(), false, 0))
        #parse ("$full_templates_path/navigation_list.vm")

        #set ($current_group = $groupService.getGroup($company_id,"researchdevelopment"))
        #set ($current_nav_items = $layoutLS.getLayouts($current_group.getGroupId(), false, 0))
        #parse ("$full_templates_path/navigation_list.vm")

        #set ($current_group = $groupService.getGroup($company_id,"production"))
        #set ($current_nav_items = $layoutLS.getLayouts($current_group.getGroupId(), false, 0))
        #parse ("$full_templates_path/navigation_list.vm")
    </ul>
</nav>

 

navigation_list.vm

#foreach ($nav_item in $current_nav_items)
    #if($current_group.getGroupId() == $scopeGroupId && $nav_item.getLayoutId() == $layout.getLayoutId())
        <li class="selected">
    #else
        <li>
    #end
        <a href="/web$current_group.getFriendlyURL()$nav_item.getFriendlyURL()">

            <span>$nav_item.getName()</span>
        </a>

        #if ($nav_item.hasChildren())
            <ul class="child-menu">
            #foreach ($nav_child in $nav_item.getChildren())
                #if($current_group.getGroupId() == $scopeGroupId && $nav_child.getLayoutId() == $layout.getLayoutId())
                    <li class="selected">
                #else
                    <li>
                #end
                <a href="/web$current_group.getFriendlyURL()$nav_child.getFriendlyURL()">
                    $nav_child.getName()
                </a>
                </li>
            #end
        </ul>
        #end
    </li>
#end

 

What's the drawback?

Well - it's kind of hardcoded content. But on the other hand: You typically modify your theme - if you have one plugin deployed, it's most likely a theme. The theme contains everything that makes your site look like yours. I find that this is the perfect place to hardcode something that makes the site appear as yours.

Is there more?

Sure. Another solution to the same problem - without changing the theme - will be part of my symposium presentations at the upcoming US-Westcoast and European Symposiums. I hope you don't mind the teaser and shameless plug ;-)

 

(*) Some vocabulary definition might help, namely "Feature Request" vs. "Solution Request": A Feature Request typically describes a usecase that a system can cover once it's implemented. It typically states the problem space so that it's easy to check if the proposed business case is covered. In contrast to this, I refer to a Solution Request as what should be implemented (and how) without stating the original problem. The problem with this is that it's not easy to see if the proposed solution is an appropriate answer to the underlying problem. In fact, typically it's impossible.

Lightning Talks coming to WCS - Call for Participation

Company Blogs 10 août 2011 Par Olaf Kock Staff

If you are planning to come to the Westcoast Symposium  and have mourned about the announcement for Lightning talks being limited to the European Symposium, you can cheer up: We will have Lightning Talks at the WCS!

The rules are simple: Submit your idea, talk or presentation to get a slot - You get the stage for max. 7 minutes, then the next presenter will take over. It's also ok to finish early - this way we can fit even more talks into one session. 

This is a good way to present your brilliant idea, your project or gather attention for your plans. And it's perfect if that idea doesn't fill a full 45 minute slot.

Please send your submission asap to community@liferay.com. We need title and a brief overview over the content, no finished work yet. Presentation only format is preferred - with or without slides: Setup-Time for your own computer would otherwise eat up your time.

Call for Participation: Presentations and Lightning Talks at the European Symposium

Company Blogs 27 juillet 2011 Par Olaf Kock Staff

Registration for the 4th European Symposium is open. In addition to the formats known from the last years, we're planning to add Lightning Talks to the event - If you plan to come to the symposium, you might want to consider presenting your project, plugin, neat idea or business case (no plain commercials please) in a Lightning Talk. The rules are simple: You'll get 7 minutes on stage to present. You don't need to take all the time, but you can't take more, as the next one will follow immediately.

Lightning Talks are an ideal way to present your ideas if you feel that it doesn't fill a full session or you don't feel comfortable submitting a full 45 minutes presentation.

Full presentation

Presentation slots are 45 minutes long and typically contain a Q&A section as well. Go for this if your project (and you) can easily fill up this time and you believe that the topic is interesting for the participants.

Participate

No matter if you go for full presentations or for Lightning talks: Please participate in our Call For Paper and submit your topics and ideas to make this the best symposium ever. The deadline for submissions is 15. September, but you'll make us happy by submitting earlier.

Affichage des résultats 61 - 80 parmi 85.
Items 20
de 5