-
It doesn't! SiteVision always starts Java with the init parameter '-server'. Hence the JVM SiteVision runs in are always a Server VM, never a Client VM.Though, if you manually try to check the VM (i.e. execute 'java -version') of the JVM that SiteVision runs in you get different results ('Server VM' or 'Client VM') depending on the hardware of the machine. This is due to a feature introduced in Java 5.0 called Ergonomics.
-
Yes you can. The caching mechanism implemented in SiteVision caches the render response of a portlet and works regardless of the portlet is an internal SiteVision portlet or if it is a customized portlet deployed in custom/deploy.More information about how to enable portlet caching can be found here.
Note that caching is not used when you are editing (offline mode or editing mode). The cache is filled on the first request in the online mode (visitor mode).
-
You might experience problems with the encoding when developing JSP based portlets (this applies to both external portlets and the sitevision internal JSP portlet). The problem is that the tomcat JSP compiler jasper assumes that the portlet is ISO-8859-1. If you are using other encoding like UTF-8, make sure that you specify the contentTyping using the JSP page directive.<%@ page contentType="text/html;charset=UTF-8"%>
Note that any internal JSP portlet uses UTF-8 and must have this attribute set.
If your JSP portlet includes other resources like HTML jasper might behave strangely (sometimes assuming UTF-8 and sometimes ISO-8859-1) with resulting encoding problems. To solve this issue alter the extention of your HTML file to jsp and add the page directive specified above.
The java files generated by jasper are located in the working directory of sitevision.
.../data/temp/work/...
-
Yes, you can. The Public API is accessible via request attributes at all times (i.e. even in custom portlets). When you compile/build your portlet you'll need to add the SiteVision Public API jar file to your classpath.More information is available on the Public API page.
-
Use the Java IDE of your choice.The preferred IDE for SiteVision portlet developers is the free IntelliJ IDEA community Edition from Jetbrains or the open sourced Eclipse.
-
SiteVision portlet developers has used Struts2 as MVC framework in custom portlets.
-
SiteVision currently uses Log4j. Any logging framework can be used by a portlet application. Using log4j as logging frameworkThere are some considerations when using log4j since a portlet application is using another class loader than the ROOT application (i.e. SiteVision). - Your portlet application must contain the log4j.jar.
- A valid log4j configuration must be provided.
- The log4j framework must be aware of the configuration.
-
Use the Web Services framework of your choice.(SiteVision uses Axis for the XML import Web Service, but the Axis JAR can not be accessed/loaded from within a custom portlet.)
-
No portlet developer at SiteVision has tried this out but there are a JSF Portlet Bridge project you can check out.