<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>RE: 10 ways to fail as a Liferay plugin developer</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=22178968" />
  <subtitle>RE: 10 ways to fail as a Liferay plugin developer</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=22178968</id>
  <updated>2026-04-04T10:04:45Z</updated>
  <dc:date>2026-04-04T10:04:45Z</dc:date>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=23018734" />
    <author>
      <name>David H Nebinger</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=23018734</id>
    <updated>2013-03-26T13:47:18Z</updated>
    <published>2013-03-26T13:47:18Z</published>
    <summary type="html">&lt;div class="quote-title"&gt;Ching Ice-creaming:&lt;/div&gt;&lt;blockquote&gt;&lt;div class="quote-title"&gt;David H Nebinger:&lt;/div&gt;&lt;blockquote&gt;Personally I advocate using Vaadin instead of jsp/struts&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Practically Liferay is depending on jsp/struts instead of Vaadin.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I surely know what Liferay portlets are based on, but that is beside the point.&lt;br /&gt;&lt;br /&gt;Liferay has different requirements than most other developers, so they take the road that meets their requirements, and that means jsp/struts.&lt;br /&gt;&lt;br /&gt;I have different requirements:&lt;br /&gt;1.  Short dev cycles, releases in days or weeks, not months or years.&lt;br /&gt;2.  Team of java devs, not js/ajax experts, but projects require responsiveness of a full Ajax solution.&lt;br /&gt;&lt;br /&gt;For these reasons vaadin is the best choice for my team.&lt;br /&gt;&lt;br /&gt;I would never base my tool choice on what Liferay uses. Just because they use a push mower to cut their lawn, I will still keep my riding lawn mower to cut mine.</summary>
    <dc:creator>David H Nebinger</dc:creator>
    <dc:date>2013-03-26T13:47:18Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22993623" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22993623</id>
    <updated>2013-03-25T23:06:16Z</updated>
    <published>2013-03-25T23:06:16Z</published>
    <summary type="html">&lt;blockquote&gt;It is a safe bet that I don&amp;#39;t put all my chips on one portal.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;We&amp;#39;re not either. We have a good relationship with Redhat with our president has given talk at their conference. In fact, we just installed their portal at one site. One of our member is now working at Redhat Japan too. :-)&lt;br /&gt;&lt;br /&gt;We also have several sites with Alfresco up and running and we&amp;#39;re doing pretty well with them too.&lt;br /&gt;&lt;br /&gt;I&amp;#39;m trying to create an open source market in Japan so I&amp;#39;m really trying to get ALL open source projects successful and not just one.&lt;br /&gt;&lt;br /&gt;Well, not just open source really. We handle several commercial portals and cms&amp;#39;  too.&lt;br /&gt;&lt;br /&gt;All in all, I have to say following JSR286 doesn&amp;#39;t make too much sense because most portals don&amp;#39;t support it and when they do, each portal have their additional &amp;#34;extras&amp;#34; to make it meaningless to just stick with the specification.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Similarly I am a gambler at Macau casinos&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Well, I really don&amp;#39;t gamble. I take &amp;#34;little&amp;#34; risk as I can. :-)</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-25T23:06:16Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22978150" />
    <author>
      <name>Ching Ice-creaming</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22978150</id>
    <updated>2013-03-25T14:33:52Z</updated>
    <published>2013-03-25T14:33:52Z</published>
    <summary type="html">&lt;div class="quote-title"&gt;David H Nebinger:&lt;/div&gt;&lt;blockquote&gt;Personally I advocate using Vaadin instead of jsp/struts&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Practically Liferay is depending on jsp/struts instead of Vaadin. &lt;br /&gt;See Liferay source: https://github.com/liferay/liferay-portal/blob/master/portal-web/docroot/WEB-INF/struts-config.xml&lt;br /&gt;&lt;br /&gt;At my first message to Florencia Gadea here, I suggested plugin developers starting from making independent portlets.&lt;br /&gt;&lt;div class="quote-title"&gt;Ching:&lt;/div&gt;&lt;blockquote&gt;Struts2 portlet plugin follows JSR286 standard, if you follows its examples, you can make one portlet to run Liferay, eXo, GateIn, Jetspeed, Pluto, uPortal.&lt;br /&gt;With the basic knowledge of struts2 portlet, you will have more confidence of developing more advanced Liferay or other portals.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;David H Nebinger, please do not take my above feedback as troll or flame bait. I feel that developers and end users should have their freedoms of choices.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote-title"&gt;Hitoshi Ozawa:&lt;/div&gt;&lt;blockquote&gt;I&amp;#39;ve already invested too much time on liferay that I can&amp;#39;t have liferay fail. &lt;/blockquote&gt;&lt;br /&gt;Hi, Hitoshi Ozawa,&lt;br /&gt;Similarly I am a gambler at Macau casinos but I am different from you. It is a safe bet that I don&amp;#39;t put all my chips on one portal.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hi, Jelmer Kuperus,&lt;br /&gt;Karōshi is also suitable for Hong Kongers and Taiwanese:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hi, Jack Bakker,&lt;br /&gt;Me too, I enjoy sun of a beach.</summary>
    <dc:creator>Ching Ice-creaming</dc:creator>
    <dc:date>2013-03-25T14:33:52Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22955293" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22955293</id>
    <updated>2013-03-24T21:45:59Z</updated>
    <published>2013-03-24T21:45:59Z</published>
    <summary type="html">&lt;blockquote&gt;Liferay basically doesn&amp;#39;t give a damn about being backwards compatible&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I think this is only partially true. The framework doesn&amp;#39;t change too much and doesn&amp;#39;t contain too many bugs. It&amp;#39;s the portlets that&amp;#39;s the main problem with compatibility and quality in liferay. Delete the ones you really don&amp;#39;t need and modify the ones you want to keep to your requirement and you&amp;#39;ll have a stable system.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-24T21:45:59Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22954245" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22954245</id>
    <updated>2013-03-24T21:34:02Z</updated>
    <published>2013-03-24T21:34:02Z</published>
    <summary type="html">I used to life in Azabu which is like Hollywood and Washington DC wrapped into one. Former president Bush came to a The Iikura Guest House, which is just few blocks  from where I lived, when he came to Japan to talk with the former prime minister of Japan. I used to jog around the Imperial Palace every morning before going to work. &lt;br /&gt;It used to be nice and quiet but unfortunately, it began to become crowded with people when public transportation became better when they built Roppongi Hills (http://en.wikipedia.org/wiki/Roppongi_Hills). So I just decided to rent out my condo room and moved to Kamakura.&lt;br /&gt;&lt;br /&gt;We have beaches in Kamakura (http://www.japan-guide.com/e/e3109.html) and Great Buddha too (http://www.japan-guide.com/e/e2166.html).&lt;br /&gt; President Obama came here when he visited Japan and this is where he ate the macha (green tea) ice cream which he associates often with Japan.&lt;br /&gt;&lt;br /&gt;The person who built my house used to be a real tea ceremony teacher so I actually have a real tea room in my house; unfortunately, I don&amp;#39;t practice tea ceremony so I&amp;#39;m just using as a storage.&lt;br /&gt;&lt;br /&gt;You can sit on a beach or go hiking for couple of days but I&amp;#39;m really sure that you&amp;#39;ll get tired out with boredom.&lt;br /&gt;&lt;br /&gt;BTW, I created a Facebook account last week. If interested, please look me up. I&amp;#39;m having trouble finding all the people.&lt;br /&gt;&lt;br /&gt;FYI,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Well you&amp;#39;re from the country that invented Karōshi (過労死) &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I think there&amp;#39;s actually more death from suicide than from karoshi in Japan. People nowadays don&amp;#39;t commit &amp;#34;harakiri&amp;#34; for failure, but there sure are many trains stopping because of &amp;#34;human accidents&amp;#34; here. Japan don&amp;#39;t have a caste system as is in India but there&amp;#39;s a hierarchical system and people have to know your own position and the position of other people. The practice of &amp;#34;一見さんお断り&amp;#34; which means &amp;#34;first time visitors are unwelcomed&amp;#34; (&amp;#34;people without introduction from a person who is already within the group are unwelcomed&amp;#34;) is common too to keep out people who are not socially acceptable to the group.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-24T21:34:02Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22952084" />
    <author>
      <name>Jelmer Kuperus</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22952084</id>
    <updated>2013-03-24T17:15:07Z</updated>
    <published>2013-03-24T17:15:07Z</published>
    <summary type="html">I disagree that sticking to the spec is a surefire way to fail and with some of the reasons people have brought up against it.&lt;br /&gt;&lt;br /&gt;You can extract away many of the liferay specific details behind a set of interfaces. For instance you might have a UserService interface that manages users, Then have a Liferay, JetSpeed and jboss implementation.&lt;br /&gt;&lt;br /&gt; If you need things like sharing code between different portlet wars then nothing is stopping you from exposing your services as rest / soap / rmi / thrift etc services&lt;br /&gt;&lt;br /&gt;If you want your portlet to be porttable across different containers you can get a long way without having to reinvent the wheel.&lt;br /&gt;&lt;br /&gt;Your code will  also be much easier to test.  Liferay was not designed with testability in mind (at all!) which makes it very difficult to deliver high quality solutions based on it. And you no longer have to worry about upgrading to a new version of liferay, because the jsr standards are stable whereas Liferay basically doesn&amp;#39;t give a damn about being backwards compatible&lt;br /&gt;&lt;br /&gt;Sure there are trade off&amp;#39;s and there is no right solution for every project type. But sticking with just jsr286 might be a more than ok solution in many cases imho!</summary>
    <dc:creator>Jelmer Kuperus</dc:creator>
    <dc:date>2013-03-24T17:15:07Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22951940" />
    <author>
      <name>Jelmer Kuperus</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22951940</id>
    <updated>2013-03-24T16:53:47Z</updated>
    <published>2013-03-24T16:53:47Z</published>
    <summary type="html">Well you&amp;#39;re from the country that invented Karōshi (過労死) &lt;br /&gt;&lt;br /&gt;I&amp;#39;ll take that beach side property thank you &lt;img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" &gt;</summary>
    <dc:creator>Jelmer Kuperus</dc:creator>
    <dc:date>2013-03-24T16:53:47Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22942474" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22942474</id>
    <updated>2013-03-24T01:49:15Z</updated>
    <published>2013-03-24T01:49:15Z</published>
    <summary type="html">Jack, good point!&lt;br /&gt;&lt;br /&gt;When we evaluate something and we only outline a good points, people aren&amp;#39;t going to take it. Even in the Gartner reports, there&amp;#39;s a strong point and weak points.&lt;br /&gt;&lt;br /&gt;There, also, has to be some conflicts sometime to spice up the forum once in a while to make things interesting. It&amp;#39;s especially true in something like these forum when most of the questions begins to get repetitious and people begins to lose interest. There&amp;#39;s some social difference and there&amp;#39;s also a problem with IT people taking everything too seriously - nobody is going to stop using liferay because someone posted something on this thread.&lt;br /&gt;&lt;br /&gt;We need more people talking about &amp;#34;liferay&amp;#34; - it&amp;#39;s not sufficient to have limited liferay.com employees sending several messages now and then. As the saying goes, &amp;#34;It better to be hated than to be forgottten&amp;#34;.&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve already invested too much time on liferay that I can&amp;#39;t have liferay fail.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-24T01:49:15Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22940556" />
    <author>
      <name>Jack Bakker</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22940556</id>
    <updated>2013-03-23T21:01:20Z</updated>
    <published>2013-03-23T21:01:20Z</published>
    <summary type="html">there some community &amp;#39;rap&amp;#39; threads like this one and a previously notable to me &amp;#39;liferay sucks&amp;#39; that to me has created some interesting &amp;#39;open&amp;#39; dialogue, more wrt to focus on people&lt;br /&gt;&lt;br /&gt;there is a seemingly successful LMS I researched recently where in blog they adverstised something like : jerks don&amp;#39;t stay here long ; I like that ; my point is +1 to smart/openHonest</summary>
    <dc:creator>Jack Bakker</dc:creator>
    <dc:date>2013-03-23T21:01:20Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22929326" />
    <author>
      <name>Jack Bakker</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22929326</id>
    <updated>2013-03-23T01:50:15Z</updated>
    <published>2013-03-23T01:50:15Z</published>
    <summary type="html">Uhmmm.. I like Struts2 a lot ; but also MVCPortlet and Vaadin... and also having developers with the right expertise ; and I like the beach because my kids do.&lt;br /&gt;&lt;br /&gt;Enjoy and thanks all. Good night.</summary>
    <dc:creator>Jack Bakker</dc:creator>
    <dc:date>2013-03-23T01:50:15Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22927043" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22927043</id>
    <updated>2013-03-23T00:18:16Z</updated>
    <published>2013-03-23T00:18:16Z</published>
    <summary type="html">&lt;blockquote&gt;Actually I am retired and I become retarded,&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Well, almost the same here. Enjoying my third business life now. It&amp;#39;s not in my habit to just sit in my home or at a beach. That&amp;#39;s actually more stressful for me - tried it and didn&amp;#39;t work out. I tell people that they should plan their life so they can retire by the time they reach 40 if they desire to.  :-)&lt;br /&gt;&lt;br /&gt;Take risk, work hard, don&amp;#39;t follow other people&amp;#39;s tracks. Thank God for giving opportunities and people around you for helping to realize on that opportunity.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-23T00:18:16Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22926865" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22926865</id>
    <updated>2013-03-23T00:02:55Z</updated>
    <published>2013-03-23T00:02:55Z</published>
    <summary type="html">&lt;blockquote&gt; each portal has their own extensions to access environment-specific stuff.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Agree with David on this. Also, think about the &amp;#34;why&amp;#34; you&amp;#39;ll want to make it just stick to the standard. I think it&amp;#39;s because to lower cost to move to a different environment. However, the cost to create a portlet is very low nowadays that it actually costs more to write a JSR286 alone portlet. Calculate the cost of making a portlet and projected sales. If you are going to write a simple portlet to sell as a hobby at Marketplace, you may not be able to charge for support so that may actually eat up for your time too.&lt;br /&gt;&lt;br /&gt;I like to calculate software in terms of time instead of something like license fee and subscription fee. By time, I mean the time it takes to develop and to maintain/support it. For example, it you&amp;#39;re able to sell a software for $100, it seems that you&amp;#39;ve done really well. However, it you think in terms of time, if it is possible to spend the time to develop the software in something else that can result to sell of $150, you&amp;#39;ve really lost a $50.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-23T00:02:55Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22922881" />
    <author>
      <name>David H Nebinger</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22922881</id>
    <updated>2013-03-22T19:23:04Z</updated>
    <published>2013-03-22T19:23:04Z</published>
    <summary type="html">&lt;div class="quote-title"&gt;Ching Ice-creaming:&lt;/div&gt;&lt;blockquote&gt;Actually I am promoting Apache Struts programming to all plugin developers because eveyone can write one single struts2 portlet running on different portals. Inventing one wheel to fit all Liferay, eXo, uPortal, Jetspeed, GateIn, blah, blah, blah, blah....  ... to fight GateIn lock-in, Jetspeed lock-in, uPortal lock-in, eXo lock-in... and ??????? lock-in &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Again, this is not very practical.  As I said before, each portal has their own extensions to access environment-specific stuff.  Want to get at the user portrait for example?  All of the jsp/struts stuff in the world is not going to get you there, you have to invoke portal-specific extensions to access the data.  How about showing some web content from the CMS?  Again, the same thing.  JSR-286 is not the be-all and end-all, it&amp;#39;s just a foundation to build from.  To get your portlets really snappy, you&amp;#39;re going to add JS/AJAX, hooks into the portal environments, theming considerations, etc.&lt;br /&gt;&lt;br /&gt;Personally I advocate using Vaadin instead of jsp/struts.  While you&amp;#39;re trying to get all of your javascript, AJAX, dom synchronization stuff working, I&amp;#39;ve finished my snazzy Vaadin portlet and have gone home for the day...</summary>
    <dc:creator>David H Nebinger</dc:creator>
    <dc:date>2013-03-22T19:23:04Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22916547" />
    <author>
      <name>Ching Ice-creaming</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22916547</id>
    <updated>2013-03-22T15:22:05Z</updated>
    <published>2013-03-22T15:22:05Z</published>
    <summary type="html">To Hitoshi Ozawa&lt;br /&gt;&lt;br /&gt;1. I have read your story http://www.liferay.com/community/forums/-/message_boards/message/22851073&lt;br /&gt;2. I do not disuss your five questions at public forum here. Some business tricks is mysterious. I have your email and I tell you privately.&lt;br /&gt;&lt;br /&gt;I recommend this blog http://www.liferay.com/web/paul.hinz/blog/-/blogs/open-source%3A-the-future-or-a-trend- There is many wisdom of words inside, for examples:&lt;br /&gt;&amp;#34;Vendors also design aggressively to lock customers onto their platform to ensure long term support revenue and to ensure a foothold for other product sales. &amp;#34;&lt;br /&gt;&amp;#34;Instead major vendors have looked to add features that either lock customers into their platforms or push product-chaining strategies.&amp;#34;&lt;br /&gt;&amp;#34;Open source must also support industry, defacto standards and simplify integration/interoperability or again they will not grow in popularity. This allows customers a broader capability to fight vendor lock in. &amp;#34;&lt;br /&gt;&lt;br /&gt;HItsohi Ozawa,&lt;br /&gt;As above blog saying: &amp;#34;This allows customers a broader capability to fight vendor lock in&amp;#34;&lt;br /&gt;Actually I am promoting Apache Struts programming to all plugin developers because eveyone can write one single struts2 portlet running on different portals. Inventing one wheel to fit all Liferay, eXo, uPortal, Jetspeed, GateIn, blah, blah, blah, blah....  ... to fight GateIn lock-in, Jetspeed lock-in, uPortal lock-in, eXo lock-in... and ??????? lock-in &lt;br /&gt;&lt;br /&gt;Actually I am retired and I become retarded, Please give me time to write an email about your five questions&lt;br /&gt;&lt;br /&gt;Ching</summary>
    <dc:creator>Ching Ice-creaming</dc:creator>
    <dc:date>2013-03-22T15:22:05Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22863969" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22863969</id>
    <updated>2013-03-21T09:21:53Z</updated>
    <published>2013-03-21T09:21:53Z</published>
    <summary type="html">Hi Ching,&lt;br /&gt;&lt;br /&gt;Can read the following thread too.&lt;br /&gt;http://www.liferay.com/community/forums/-/message_boards/message/22851073&lt;br /&gt;&lt;br /&gt;Before you create a software, should provide the answers to the following questions. I just love giving business advices too. :-)&lt;br /&gt;1. What exactly are you trying to sell?&lt;br /&gt;2. Who will be the target customers of the software&lt;br /&gt;3. Why would they want to buy it&lt;br /&gt;4. How are you going to reach your potential customers? (who is the sales contact - if you don&amp;#39;t have any, chances are very low that you&amp;#39;ll be able to sell)&lt;br /&gt;5. Where are you going to sell it? What&amp;#39;s the business custom there? (If you don&amp;#39;t know the business customs, you really should learn before you offend people)</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-21T09:21:53Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22863719" />
    <author>
      <name>Hitoshi Ozawa</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22863719</id>
    <updated>2013-03-21T09:08:51Z</updated>
    <published>2013-03-21T09:08:51Z</published>
    <summary type="html">That&amp;#39;s actually not a way for a developer to fail but more of a way for a plugin to fail. I think we actually made a distinction before.</summary>
    <dc:creator>Hitoshi Ozawa</dc:creator>
    <dc:date>2013-03-21T09:08:51Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22805848" />
    <author>
      <name>Jack Bakker</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22805848</id>
    <updated>2013-03-19T19:37:48Z</updated>
    <published>2013-03-19T19:37:48Z</published>
    <summary type="html">can&amp;#39;t please everyone so you have to&lt;br /&gt;&lt;br /&gt;on that note ; sure is code outside here in Canada</summary>
    <dc:creator>Jack Bakker</dc:creator>
    <dc:date>2013-03-19T19:37:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22788311" />
    <author>
      <name>Florencia Gadea</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22788311</id>
    <updated>2013-03-19T12:55:29Z</updated>
    <published>2013-03-19T12:55:29Z</published>
    <summary type="html">Well, at least we could add another way to fail: &lt;br /&gt;&lt;br /&gt;* Developing JSR286 compatible portlets.&lt;br /&gt;&lt;br /&gt;Thanks for your contribution Ching.</summary>
    <dc:creator>Florencia Gadea</dc:creator>
    <dc:date>2013-03-19T12:55:29Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22769528" />
    <author>
      <name>David H Nebinger</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22769528</id>
    <updated>2013-03-19T02:16:20Z</updated>
    <published>2013-03-19T02:16:20Z</published>
    <summary type="html">&lt;div class="quote-title"&gt;Ching Ice-creaming:&lt;/div&gt;&lt;blockquote&gt;For viewpoint of customers, this is the advantages if portal vendors following JSR286 standard:&lt;br /&gt;1. Outside developers will be happy for avoiding SDK lock-in provided by vendors.&lt;br /&gt;2. Customers will be happy for avoiding vendor lock-in.&lt;br /&gt;3. We shall be happy to watch portal vendors playing a fair game.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And these are the disadvantages:&lt;br /&gt;&lt;br /&gt;1. Re-inventing the wheel.  Since you&amp;#39;re just playing to the 286 standard, you cannot take advantage of any Liferay services.  As such, you&amp;#39;ll need to re-invent the wheel to provide your own services which mimic what Liferay provides.&lt;br /&gt;&lt;br /&gt;2. 286 does not provide a method for sharing code w/ portlets, such as Liferay&amp;#39;s Service Builder.  So all of your data-related portlets must be tightly coupled (shipped in one war file) or else you sacrifice runtime resources (duplicated jars loaded in separate wars, multiple database connections, data caching issues, etc.).&lt;br /&gt;&lt;br /&gt;3. Although 286 works, it is not always the optimal solution.  For example, loading js and css via Liferay&amp;#39;s liferay-portlet.xml, the portal can better optimize the loaded resources, optimizations that are not available to straight 286 portlets.&lt;br /&gt;&lt;br /&gt;4. Since you&amp;#39;re not building off of the SDK, you cannot directly access Liferay entities such as User, Group, etc.&lt;br /&gt;&lt;br /&gt;5. The Liferay SDK is used for more than building portlets.  The SDK is the only way to develop themes, hooks, layouts, etc.  All Liferay deployments are more than just portlets.  They usually include at least a theme and typically at least a hook or two.&lt;br /&gt;&lt;br /&gt;JSR 286 reflects the least common denominator for what the portal vendors could agree to at the time of it&amp;#39;s publication five years ago.  Each portal vendor at the time and even those in existence today offer extensions that go beyond the 286 standard to be able to customize the environment well beyond what the standard allowed for.&lt;br /&gt;&lt;br /&gt;Thinking that delivering only 286-compatible portlets is the answer to the world&amp;#39;s portal problems is, IMHO, totally misguided.</summary>
    <dc:creator>David H Nebinger</dc:creator>
    <dc:date>2013-03-19T02:16:20Z</dc:date>
  </entry>
  <entry>
    <title>RE: 10 ways to fail as a Liferay plugin developer</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22767094" />
    <author>
      <name>Ching Ice-creaming</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=22767094</id>
    <updated>2013-03-19T01:17:02Z</updated>
    <published>2013-03-19T01:17:02Z</published>
    <summary type="html">To Florencia Gadea and all plugin developers,&lt;br /&gt;&lt;br /&gt;I must thanks Jelmer Kuperus for his words of wisdoms &amp;#34;Stockholm syndrome&amp;#34;. Just two words inspire me to seek my way to make independent portlets&lt;br /&gt;&lt;br /&gt;I highly recommend an open source Apache Struts2 http://struts.apache.org (Maybe Spring MVC can do the same generic portlets but I don&amp;#39;t know it.)&lt;br /&gt;&lt;br /&gt;I figure out my way to request Liferay to improve its products: Just compare, no complain&lt;br /&gt;  I prove its problem by struts2 portlet to &lt;strong&gt;compare with its competitors&lt;/strong&gt;&lt;br /&gt;  http://code.google.com/p/jasperrocks/wiki/Problems#Liferay&lt;br /&gt;&lt;br /&gt;For viewpoint of customers, this is the advantages if portal vendors following JSR286 standard:&lt;br /&gt;1. Outside developers will be happy for avoiding SDK lock-in provided by vendors.&lt;br /&gt;2. Customers will be happy for avoiding vendor lock-in.&lt;br /&gt;3. We shall be happy to watch portal vendors playing a fair game.&lt;br /&gt;&lt;br /&gt;Hitoshi Ozawa is demanding for Liferay its own good because it is a portals war. &lt;br /&gt;&lt;br /&gt;Now I am busy with the comparison of the new beta eXo Platform 4.0 with Liferay 6.20&lt;br /&gt;Talk to Hitoshi Ozawa later.&lt;br /&gt;&lt;br /&gt;Ching</summary>
    <dc:creator>Ching Ice-creaming</dc:creator>
    <dc:date>2013-03-19T01:17:02Z</dc:date>
  </entry>
</feed>
