-
Why does the SiteVision server run in a Java 'Client VM'?
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.
-
Can I use the portlet caching mechanism i SiteVision on a customized portlet?
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).
-
Encoding problem using JSP in a portlet
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/...
-
Can I access the SiteVision Public API in my portlet?
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.
-
Which IDE should I use?
Use the Java IDE of your choice.The preferred IDE for Senselogic portlet developers is IntelliJ IDEA from Jetbrains, but we have on some occasions used the open sourced Eclipse.
-
What MVC framework should I use?
Senselogic portlet developers has used Struts2 as MVC framework in custom portlets.
-
What logging framework should I use?
SiteVision uses Log4j. It is an older version and it is at the top level in the Tomcat classloading hierarchy so it can unfortunately not be replaced by a custom portlet.Senselogic portlet developers has used Commons logging or slf4j for logging in custom portlets. In slf4j there are however some features that are not supported by the Log4j jar that SiteVision uses. 'Common' logging usage with slf4j is no poblem though.
-
What Web Services framework should I use?
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.)
-
Can JSF be used when implementing portlets?
No portlet developer at Senselogic has tried this out but there are a JSF Portlet Bridge project you can check out.