If you learned something
today, please

## Moving Time

August 25th, 2015

I will probably keep this URL as it has been here for so long, but I have a new domain and this blog has a new home as the center of it at http://www.portalsolutionist.com/

## Setting up an Eclipse Development Environment for WebCenter Sites

August 11th, 2015

Most Java developers are familiar with Eclipse. While the Content Server Developer Tools (CSDT) does not work the same as other application-specific Eclipse plug-ins, it does provide the ability to perform custom development more easily with WebCenter Sites (a.k.a. Fatwire prior to the Oracle acquisition) than other options if you are comfortable in Eclipse.

## Install the Jump Start Kit (JSK)

The first trick is finding the JSK. You must have an Oracle Support account to access it through normal channels. On the Oracle Support site, search for “webcenter sites JUMPSTARTKIT” in the Patch category.

Follow the JSK_readme.txt included in the download. The installation location is chosen during installation and is referred to as [JSK_HOME] in this blog. As the file paths can get rather long, try to use a location that is not too deep, i.e., as close to the root of your drive as is practical. C:\jsk works really well 🙂
The JSK is currently incompatible with Java 1.8, so you may need to install it from the command line to get the right Java version to run it. I open a command window where the JAR is and use the following command:
C:\Oracle\JDKs\7u79\jre\bin\java -jar JSK_Installer11.1.1.8.0.jar
The “C:\Oracle\JDKs\7u79” of the above you need to adjust for your Java 1.7 installation location.
Run [JSK_HOME]\run.bat, then click the Start button.

## Add Your WebCenter Sites Project Code

Replace the contents of [JSK_HOME]\Sites\11.1.1.8.0\export\envision\cs_workspace with your project data set.

To import your existing data set in to your JSK, open a command window in [JSK_HOME]\Sites\11.1.1.8.0\csdt\csdt-client and run the following:

set JAVA_HOME=[FULL PATH TO JRE JAVA.EXE, I.E., C:\Programs\7u79\jre\bin\java]
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@SITE:*" toSite="[SITE_NAME]" cmd="import"
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@ALL_NONASSETS:*" toSite="[SITE_NAME]" cmd="import"
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@ALL_ASSETS:*" toSite="[SITE_NAME]" cmd="import"

If you do not have a data set yet, that is OK, you can create one from your JSK later.

## Install the Eclipse CSDT

First you need an Eclipse distribution that will run on JDK 1.7. I recommend the Oracle distribution, Oracle Enterprise Pack for Eclipse (OEPE) simply because it is pre-configured to run WebLogic Server. If your Sites project is deploying in production to Tomcat, any Eclipse distro that is compatible with JDK 1.7 is fine.

It is recommended to turn Build Automatically off until your workspace is completely configured.
You import the plugin from the zip file found at [JSK_HOME]\Sites\11.1.1.8.0\csdt\csdt-eclipse. The following screens will walk you through those steps:

## Configure Your Eclipse with Your JSK

After you have completed the installation and Eclipse has restarted, open the Oracle WebCenter Sites perspective.

You will be prompted to provide values for your Sites instance. For the Instance value, enter [JSK_HOME]\Sites\11.1.1.8.0
The project name you provide will be the name of the generated project. If you imported a project earlier, this will be pre-filled for you.

The default credentials are fwadmin – xceladmin

### Congratulations!

You are now ready to use the Oracle WebCenter Sites Content Server Developer Tools in Eclipse.
Unfortunately, how to use the tools is beyond the scope of this post.
If you previously turned off Build Automatically you can turn it back on now.

## Sharing Your JSK

Once you have your JSK the way you like it, you can distribute it to your team. To make it shareable takes just two steps. First, open the .classpath file in the cs_workspace that was generated by Eclipse and remove all of the <attributes> nodes like the example one below:

<attributes>
<attribute name="javadoc_location" value="file:/C:/Users/ssnelson/Desktop/[SITE_NAME].com/jsk/Sites/11.1.1.8.0/developerdocs/javadoc/"/>
</attributes>

Then just zip up [JSK_HOME] and remove the temp folder from the [JSK_HOME] root of the resulting zip file. When your team-members run it for the first time on their machine they will be prompted that it will be configured for their machine.

They just need to click OK and continue from where you started after installing the JSK.
Exporting Data Sets
To extract all updates from your JSK (or from an existing site to use in your JSK) you can use the export commands below from a command window in [JSK_HOME]\Sites\11.1.1.8.0\csdt\csdt-client:

set JAVA_HOME=[FULL PATH TO JRE JAVA.EXE, I.E., C:\Programs\7u79\jre\bin\java]
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@SITE:*" toSite="[SITE_NAME]" cmd="export"
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@ALL_NONASSETS:*" toSite="[SITE_NAME]" cmd="export"
%JAVA_HOME% -cp "./csdt-client-11.1.1.8.0.jar;./lib/*" com.fatwire.csdt.client.main.CSDT http://localhost:9080/cs/ContentServer username=fwadmin password=xceladmin resources="@ALL_ASSETS:*" toSite="[SITE_NAME]" cmd="export"

## Retirement Notice: My Work Chair

August 3rd, 2015

The base of my home office chair bent beyond repair last week and I finally had to replace it today. It has supported my rear through the following:

Employers – netNumina (who gave it to me when they bought new furniture), FYW, Jupiter Media, Keane, Quin Street Publishing, BEA, Oracle, Primitive Logic

Locations – Charlestown, Cambridge, Manchest-by-the-Sea, Fort Mill, and Oceanside

Customers – CholesterolCare.com, Fidelity, Johnson & Johnson, Pfizer, Jonesco, Sullivan Real Estate, O’Neil Machinery, Dunkin’ Donuts,  Iron Mountain, US Government, Bank of America, VMWare, Northern Trust, GNMA, Sempra

## Linux, Firefox and WebCenter Sites, Oh No!

August 2nd, 2015

If you use WebCenter Sites on Linux with Firefox, you may have hit the nasty issue where the lastest Firefox update disabled your tools. These are the steps I followed to get it working again:

1. Locate your Mozilla installation plugins directory. In the example below, it is at /usr/lib64/mozilla/plugins
2. Locate your Java home. In the example below it has been set as the system variable JAVA_HOME
3. Go to the plugins directory and sudo as root
4. Create a symlink to the Java plug in
5. Important! Exit root before performing the next step or the plug-in will only be enabled for root.
6. Run jcontrol and sites you need to run the plugin to the security exception list

Example commands:

[myusername@ol6vm]$cd /usr/lib64/mozilla/plugins [myusername@ol6vm plugins]$ sudo su
[sudo] password for myusername:
[root@ol6vm plugins]# ln -fs $JAVA_HOME/jre/lib/amd64/libnpjp2.so libnpjp2.so exit [myusername@ol6vm plugins]$ $JAVA_HOME /jre/bin/jcontrol ## Port Forwarding from Windows 7 Host to Oracle Linux Guest with Virtualbox July 22nd, 2015 A link to my LinkedIn post to a blog with the how to is https://www.linkedin.com/pulse/blog-mash-up-virtualbox-port-forwards-windows-7-oracle-scott-nelson. In short, go to advanced networking and add the port to the Virtualbox instance settings then go to the Firewall control in Oracle Linux System Administration menu and add it there, too. One of those things that took hours to figure out and moments to explain. ## Self-Examination before Exaggeration July 21st, 2015 In nature, animals only puff themselves up when they feel threatened. While there are valid situations to exaggerate to make a point, ask yourself who you feel threatened by before you do. If the answer is “no one”, stick to the facts, or you may end up needing to defend your claims. ## What Does an Enterprise Portal Architect Do? July 13th, 2015 The Enterprise Portal Architect helps the business decide: “Do you want to adapt your organization to the vendor tools or adapt the tools for your enterprise?”™ ## Thinking about Key Drivers to Architecture Approaches June 21st, 2015 For a solution architecture to be of utmost value it must address the target business capabilities in a manner that is maintainable, extensible and scalable. Solution Architectures follow unstated core drivers that influence the focus of the approach. The most common of these drivers are (in order): Initial Cost, Vendor Capability, Total Cost and Business Capabilities. These drivers are not mutually exclusive, and the key driver will be what each of the other drivers are weighed against in the solution. Each driver has value to the project and the enterprise as a whole. In my opinion, Business Capabilities is the best key driver to have. Business Capabilities are what support growth and sustainability and contribute the most to the enterprise. The other drivers should not be completely sacrificed, but when they are given priority the result is frequently a gap between actual need and provided solution. They are driven by agendas that are secondary to the overall enterprise needs and better kept in the corresponding secondary priority. This is not to say that every business capability requested by an individual or group is valuable to the enterprise as a whole. The business capabilities to focus energy and resources on needs to be carefully chosen by the business, and once identified as a core need of the enterprise should take its place as the key driver. ## Compact Virtualbox VDI Image to Save Space June 15th, 2015 Takes me forever to find this StackExchange post every time I need it, so I’m copying it here for ease of reference: 1. Run defrag in the guest (Windows only) 2. Nullify free space: With a Linux Guest run this: sudo dd if=/dev/zero of=/bigemptyfile bs=4096k sudo rm -rf /bigemptyfile  With a Windows Guest, download SDelete from Sysinternals and run this: sdelete –z  3. Shutdown the guest VM 4. Now run VBoxManage’s modifyhd command with the --compact option: With a Linux Host run this: vboxmanage modifyhd /path/to/thedisk.vdi --compact  With a Windows Host run this: VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact  With a Mac Host run this: VBoxManage modifyhd /path/to/thedisk.vdi --compact  This reduces the vdi size. ## Creating the WebCenter Sites User Account on Oracle XE May 20th, 2015 The documentation uses OEM to do this, something that Oracle XE does not have. Has a non-DBA, I find installing Oracle EE tedious. Thanks to waslleysouza.com.br, I was able to find the right script to execute with XE. For the DB-disabled like myself, here are the full steps to do this on a Linux host: 1. login to linux as a member of the dba group or sudo as same 2. # echo$ORACLE_SID
3. # echo \$ORACLE_HOME

if either is blank:

# set ORACLE_SID=XE (or your service id)
# set ORACLE_HOME= (Eg: C:\oraclexe\app\oracle\product\10.2.0\server)
1. #locate sqlplus
2. run [RESULT FOUND PATH]sqlplus / as sysdba

i.e.,
# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus / as sysdba

1. execute the following (replace values inside [brackets]):
CREATE USER [csuser] IDENTIFIED BY [password] DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CREATE session, CREATE table, CREATE view TO [csuser];
GRANT UNLIMITED TABLESPACE TO [csuser];
COMMIT;