This page is go give you a bit of an overview of what the different modules the Little Portal Gizmo consists of do and why they are there. Some of them you absolutely need for the Gizmo to work. Others are optional, and offer either example code or features the basic Gizmo can work without.
Developing web apps with the Gizmo means developing one or more Eclipse plug-ins, based on the Gizmo base plug-ins. You need to set up an Eclipse workspace containing the Gizmo base plug-ins to start with. Here are the plug-ins making up the project with a bit of a (very brief) description of what they do.
Plug-in | Description |
---|---|
net.heilancoo.portal | The core portal code. The web server/web application container. |
net.heilancoo.portal.test | JUnit tests for net.heilancoo.portal. |
net.heilancoo.portal.admin | A mini web app (actually a "request handler") that shows a directory of all web apps installed. You get this, when requesting the root URI ("/"). |
net.heilancoo.portal.freemarker | A response generator using the Freemarker template engine. |
net.heilancoo.portal.json | A response generator for generating JSON responses. |
net.heilancoo.portal.testutils | Utility classes to set up and run automatic unit tests with JUnit/HtmlUnit for Gizmo based web applications. |
net.heilancoo.utils | Utility classes not strictly related to the portal related functionality. |
org.apache.httpcore | The Apache HttpComponents jar files, just packaged up as an Eclipse plug-in. |
org.freemarker | The Freemarker template engine jar file, just packaged up as an Eclipse plug-in. |
org.json | The JSON Java sources (as taken from the JSON web site), just packaged up as an Eclipse plug-in. |
com.gargoylesoftware.htmlunit | The jar files that make up the HtmlUnit binary delivery, just packaged up as an Eclipse plug-in. |
net.heilancoo.portal.documentation | The project documentation, including this file here. When installed along with the rest of the portal, it should be reachable via the URI "/portaldocs". Strictly speaking, not technically needed for development. |
net.heilancoo.portal.examples | A number of examples. Useful to see how things are intended to be used. Not needed for development. |
net.heilancoo.portal.examples.test | HtmlUnit examples testing the example web apps in net.heilancoo.portal.examples. Not needed for development. |
net.heilancoo.portal.bingo | The bingo web app used as example in the tutorials. Not needed for development. |
net.heilancoo.portal.bingo.test | The bingo web app tests used as example in the tutorials. Not needed for development. |
org.dojotoolkit | The Dojo JavaScript library files packaged in an Eclipse plug-in. This is not necessary on a technical level for the Gizmo to work. I have used it in a web app I have written in the Gizmo. So I just include it here. It also gives an example of how non-Java (static) content can be packaged in an Eclipse plug-in to be used with (or served from) the Gizmo. Probably, this will eventually go away here as it is not really integral element of the Gizmo. |
There is standard SF info on CVS access telling you how to connect to the Gizmo CVS repository. Create a new empty workspace and check out the plug-ins above.
An empty workspace:
Use the import "Projects from CVS" option:
Connect as anonymous user to the Gizmo repository:
Click the "configure connection preferences..." link to enable connection compression. After changing the necessary settings, leave this preferences dialog by clicking OK.
In the "Select Module" dialog, click the "User existing module" radio button. This will bring up the list of existing modules. Select all but the "CVSROOT" one. Then click "Finish" to kick off the checkout.
Your workspace will be populated with the Gizmo plug-ins. It should then look a bit like this here:
That's it, you're ready to go.
Go to the Gizmo downloads page and get the packages of the release you want to use.
Unpack the packages to a temporary location.
In Eclipse, create a new empty workspace and import the plug-ins using the Eclipse import "Existing Projects into Workspace" function.