title: What makes a portlet JSR-286 compliant?
body: <p>Does anyone have a link to a concise summary of what makes a portlet "JSR-286 compliant" vs being only "JSR-168 compliant". I've got a copy of the spec and that's anything but concise so linking the spec is not a useful answer. I've searched the web for an hour now and I've found nothing that is clear (aside from the spec, which of course requires that you read the previous spec too, and then weed out the "new features" from the "required compliance".</p>
  
  <p>Particularly I've found that there's quite a bit of confusion out there on the necessity of web.xml, which appears to come from people using Liferay and not realizing that Liferay is dropping in a web.xml for them.</p>
  
  <p><a href="https://stackoverflow.com/questions/8749818/do-jsr-286-portlets-require-a-web-xml-file-in-their-war-files">Do JSR-286 portlets require a web.xml file in their WAR files?</a> </p>
  
  <p>What I'd really like is something that contains one or more of the following lists:</p>
  
  <ul>
  <li>Things you have to do to a JSR-168 to make it become JSR-286 compliant</li>
  <li>Things you must not do, that would cause an otherwise JSR-286 compliant portlet to be considered only JSR-168.</li>
  </ul>
  
  <p>You can leave "use the portlet-app_2_0.xsd" off the list, as I consider that part obvious.</p>
  
  <p>I'm open to the answer that both lists are empty aside from the DTD/xsd for portlet.xml, and the difference is only in what the portal supports, but please back that assertion up with a link or other reference.</p>
  
  <p>The reason I care is I see posts about Vaadin portlets in Liferay that imply that some features are not available for JSR-168 portlets... It may also be that some logic in Liferay switches based on which version of portlet.xml it sees, but I haven't confirmed that either so that would be interesting information too, but not the answer to my question.</p>