2013

Time for a fresh coat of paint...

After more than 5 years my blog Dutch tilt needed a fresh coat of paint. In all these years i used Rapidweaver to maintain this blog and therefore spent sometimes more hours to add some content in the correct format or adding functionality then actually writing an article. So i decided to make the change to Wordpress and at the same time continue blogging under the new name reddipped.com.
Cheers,
Peter
Comments

Backing up Virtual Machines (or other large files) on OS X

For my Oracle based lab configurations i use virtualization software on my Mac. I have used VMWare Fusion in the past, currently use Parallels Desktop and am considering to switch to Oracle Virtualbox in the near future. Since we have multiple Macs in our household an old mini running OS X server with a big external harddisk (WD MyBook Studio) serves as a Time Machine backup server. Time Machine which is part of OS X is a perfect tool for regular backups but for two reasons really useless for making backups of Virtual Machines. First, most of my virtual machines have virtual disks which are 10GB to 40GB in size. Most of them are not split in 2GB files, therefore starting a VM will immediately result in a new Time Machine backup of over 40GB if these virtual machines are not excluded from the backup. Secondly, for most virtualization software the VM consists of multiple configuration, disk and memory files. All these files are bundled in a Package, inconsistency between one or more of these files makes the whole VM corrupt, and since backing up all files of one VM can take a substantial amount of time the chance that you only have a partial backup of your VM using Time Machine is substantial. Therefore i excluded all my VirtualMachines from Time Machine and rely on RSync to sync my VMs to a destination folder on another Mac. In my case this is the same OS X server i use for the Time Machine backups, but you can use any other Mac with File Sharing enabled. I prefer to use the same account to access both Macs, but you could backup your VMs on your source machine under account 'a' to a folder owned by account 'b' on a destination machine. It takes a few simple steps to sync your VMs easely and much faster.


Read More...
Comments

Importing multiple reports in BI Publisher

When preparing the installation of OIM Suite Bundle Patch 6 i had to import the for supplied BI Publisher report artifacts. These supplied artifacts, reports and datamodels, are logically grouped in folders and sub-folders. For example; the "Access Policy Details" and "Access Policy List by Role" reports and reportmodels are grouped in the "Access Policy Reports". The BI Publisher catalog utility, BIPCatalogUtil.sh", has an import parameter, basedir, for importing a set of reports or data models. When importing the reports using the basedir, you probably will get, like me, a java.lang.StringIndexOutOfBoundException. Read More...
Comments

Adding Python logging module to WLST

When developing a WLST script i was looking for a standard way to implement logging for that script. Since any recent version of Python contains the logging module, i was somehow surprised that this module was not available in WLST. I found some nice workarounds using the log4j classes but still prefer the Pythonic way. Weblogic server 10.3.6.0 still contains version 2.2.1 of Python wherein the logging module is not by default available. I found a compatible version of the logging module here at red-dove.com, but failed miserably adding the module to the environment variable PYTHONPATH. After copying the logging folder from the downloaded tarball to a folder /u01/app/pymodules i added the directory to PYTHONPATH. Paths in this environment variable are normally reflected in sys.path but this seems not the case in WLST.

[wlsadmin@pvm0001 medrec]$ export PYTHONPATH=$PYTHONPATH:/u01/app/python
[wlsadmin@pvm0001 medrec]$ java weblogic.WLST

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

wls:/offline> print sys.path
['/u01/app/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar/Lib', '__classpath__', '/u01/app/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar', '/u01/app/Oracle/Middleware/wlserver_10.3/common/wlst/modules/jython-modules.jar/Lib', '/u01/app/Oracle/Middleware/wlserver_10.3/common/wlst', '/u01/app/Oracle/Middleware/wlserver_10.3/common/wlst/lib', '/u01/app/Oracle/Middleware/wlserver_10.3/common/wlst/modules', '.']
wls:/offline> import logging
Traceback (innermost last):
  File "<console>", line 1, in ?
ImportError: no module named logging
wls:/offline>


What can be made up from the output of sys.path is that there is a location for additional modules in ${WL_HOME}/common/wlst/modules. When copying the logging folder from the tarball to this location you can use the PYTHON logging module in WLST.

[wlsadmin@pvm0001 medrec]$ java weblogic.WLST

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

wls:/offline> import logging
wls:/offline> logging.basicConfig()
wls:/offline> log = logging.getLogger("MyFirstLogger")
wls:/offline> log.setLevel(logging.DEBUG)
wls:/offline> log.info("That does work =:-)")
INFO:MyFirstLogger:That does work =:-)
wls:/offline> 




Comments

Shutting down Jetty programmatically safely

When Googling the web for a flexible and secure way to shutdown an embedded Jetty server programmatically i found some examples. These examples were nor safe because the server could be shutdown by guessing the correct uri initiating the shutdown, or did require extra interfaces (sockets) listening on the loopback interface to initiate the shutdown. When writing my own embedded Jetty concept i had 4 requirements. First, it should be practically impossible to stop the Jetty server from outside the application (unless you have a special key). Secondly, it must be possible to stop the Jetty server from any servlet. No extra implementations of socket listeners. Last, when initiating a stop of Jetty anywhere in the code, is should be able to set the exit or return code to the underlying operating system.

Here in a nutshell how i realized all these requirements.


Read More...
Comments

Kerio Connect IMAP Exchange Download

I recently upgraded my OS X Server on 10.7 to 10.8 (Mountain Lion) and was left with a not so Mac feeling. In short, a lot of the functionality working perfectly under 10.7 now just stopped working. After a lot of frustrating hours i decided to replace most of the standard OS X functionality by Kerio Connect. Kerio Connect installed in minutes and was easy to configure due to its friendly administrative interface, so i was back online! On OS X i used fetchmail to download my e-mail from different POP and IMAP servers. Kerio disappointingly only supports POP3 downloads and is bearing IMAP downloads. Since i still wanted to download mail from a Exchange 2010 IMAP server using SSL i found out how to use fetchmail to download mail from an Exchange 2010 server and forward it to the Kerio Connect server.


Read More...
Comments