summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorHenri Muurimaa <henri.muurimaa@gmail.com>2017-08-30 15:35:53 +0300
committerHenri Sara <henri.sara@gmail.com>2017-08-30 15:35:53 +0300
commit0d944e6e8ea5963b94109401432814321add9068 (patch)
treee7b7586410b81d48096c126c6277c7e4fee30fdc /documentation
parent4ee3db95434518eb326da4f15670f7aa4dfe6687 (diff)
downloadvaadin-framework-0d944e6e8ea5963b94109401432814321add9068.tar.gz
vaadin-framework-0d944e6e8ea5963b94109401432814321add9068.zip
Migrate first Wiki article (#9902)
Created the folder "articles" under documentation, added img folder for article images and added one article.
Diffstat (limited to 'documentation')
-rw-r--r--documentation/articles/DevelopingPortletsForTheWebsherePortalServer.asciidoc95
-rw-r--r--documentation/articles/contents.asciidoc13
-rw-r--r--documentation/articles/img/Click_Me_2015-03-31_21-03-27.pngbin0 -> 12182 bytes
3 files changed, 108 insertions, 0 deletions
diff --git a/documentation/articles/DevelopingPortletsForTheWebsherePortalServer.asciidoc b/documentation/articles/DevelopingPortletsForTheWebsherePortalServer.asciidoc
new file mode 100644
index 0000000000..1edcd0bb71
--- /dev/null
+++ b/documentation/articles/DevelopingPortletsForTheWebsherePortalServer.asciidoc
@@ -0,0 +1,95 @@
+[[developing-portlets-for-the-websphere-portal-server]]
+Developing portlets for the Websphere Portal Server
+---------------------------------------------------
+
+When creating portlets for the Websphere Portal Server (aka WPS) you
+have the choice between different frameworks
+
+* JSF (2.0)
+* Spring Portlet MVC
+* Vaadin 6 / 7
+
+While using JSF seems to be a bit outdated, because WPS just supports an
+old JSF Version (MyFaces 2.0.2) Spring Portlet MVC is a good and valid
+options for developing portlets.
+
+On this page I will try to collect all information to
+develop Vaadin portlets in a fast and easy to use way. I will also
+handle topics like using CDI and the navigator in a portal environment
+as well as some architectural ideas like using the MVP pattern for a
+portlet project. As an example portlet I will use a simple master /
+detail portlet just like the Vaadin address book application. I have
+developed all code examples on this wiki pages with the current Vaadin
+version (7.4.2 as I am writing this) and tested the portlets on WPS 8.0
+and 8.5.
+
+I use Maven for dependency management and SLF4J for logging. You can
+download the small zipped project in the attachments section. Please,
+feel free to leave comments and / or questions on the bottom of the
+page.
+
+[[a-simple-portlet]]
+A simple Portlet
+~~~~~~~~~~~~~~~~
+
+Lets start with a "Click Me" (aka "Hello World") Vaading portlet.
+
+The UI class is identical to servlet development (create a button with a
+click listener and show a notification when clicking the button). The
+interesting part is the configuration of the portlet.xml file.
+
+[[portlet.xml]]
+Portlet.xml
+^^^^^^^^^^^
+
+[source]
+....
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" id="com.gisag.vaadin.ClickMeUI">     
+ <portlet>         
+ <description>Vaadin Click Me Portlet </description>         
+ <portlet-name>Vaadin Click Me Portlet</portlet-name>         
+ <display-name>Vaadin Click Me Portlet</display-name>        
+ <portlet-class>com.vaadin.server.VaadinPortlet</portlet-class>
+
+ <init-param>           
+ <name>UI</name>           
+ <value>com.gisag.vaadin.ClickMeUI</value>         
+ </init-param>         
+
+ <init-param>             
+ <name>productionMode</name>             
+ <value>false</value>         
+ </init-param>     
+     
+ <init-param>           
+ <description>Path of all static vaadin resources (configurable from context root)</description>             
+ <name>vaadin.resources.path</name>             
+ <value>PORTLET_CONTEXT</value>       
+ </init-param>
+
+ <!-- Supported portlet modes and content types. -->         
+ <supports>             
+ <mime-type>text/html</mime-type>             
+ <portlet-mode>view</portlet-mode>         
+ </supports>     
+ </portlet>
+</portlet-app>
+....
+
+In the `portlet` tag you have to set a value for the `portlet-class`. For
+this simple we can use the default Vaadin portlet class
+`com.vaadin.server.VaadinPortlet`; you also have to name you UI class as a
+portlet init parameter.
+
+To let WPS find the Vaadin javascript and theme resources you have to
+use the portlet init parameter `vaadin.resources.path`. The value
+`PORTLET_CONTEXT` is a Vaadin constant value that makes the vaadin
+resources available in the portlets resource path.
+
+Run the Maven build with `clean package` as goals and deploy the created
+war file in the portal administration. Create a blank portal page and
+add your portlet to the page. Your "Click me" portlet should look like
+this:
+
+image:img/Click_Me_2015-03-31_21-03-27.png[Your first portlet]
diff --git a/documentation/articles/contents.asciidoc b/documentation/articles/contents.asciidoc
new file mode 100644
index 0000000000..a1c126f432
--- /dev/null
+++ b/documentation/articles/contents.asciidoc
@@ -0,0 +1,13 @@
+= Community articles for Vaadin Framework
+
+Helpful articles about Vaadin Framework written by the users for the users. The
+articles are presented as written by the author. Vaadin does not edit or maintain them.
+Pull requests welcome!
+
+NOTE: All contributions are very welcome! Just write your article in link:asciidoctor.org/docs/asciidoc-writers-guide[AsciiDoc],
+put it in this directory and send us a pull request. Updates to existing articles
+are great, too.
+
+[discrete]
+== Articles
+- link:DevelopingPortletsForTheWebspherePortalServer.asciidoc[Developing Portlets for the Websphere Portal Server]
diff --git a/documentation/articles/img/Click_Me_2015-03-31_21-03-27.png b/documentation/articles/img/Click_Me_2015-03-31_21-03-27.png
new file mode 100644
index 0000000000..72f88a7d64
--- /dev/null
+++ b/documentation/articles/img/Click_Me_2015-03-31_21-03-27.png
Binary files differ