As most of us know that ADF by default is converting most of its containers to <div>, but sometimes there is a need to work with <table>, let us see how to do that:
It is very simple, we will use three styles table, table-row, and table-cell. Let us suppose that we have the following ADF faces code
<af:panelGroupLayout>
<!-- some controls goes here -->
</af:panelGroupLayout>
<af:panelGroupLayout>
<!-- some controls goes here -->
</af:panelGroupLayout>
</af:panelGroupLayout>
We need to convert it to a table with two rows and on column, so it will be
<af:panelGroupLayout inlineStyle="display:table;">
<af:panelGroupLayout inlineStyle="display:table-row;">
<af:panelGroupLayout inlineStyle="display:table-cell;">
<!-- some controls goes g -->
</af:panelGroupLayout>
</af:panelGroupLayout>
<af:panelGroupLayout inlineStyle="display:table-row;">
<af:panelGroupLayout inlineStyle="display:table-cell;">
<!-- some controls goes g -->
</af:panelGroupLayout>
</af:panelGroupLayout>
</af:panelGroupLayout>
Note if you used layout property for panelGroupLayout with value equal to Horizontal, it will be converted to able but you will not have full control over it where
cells will be generated automatically and you cannot add styles to them.
I am currently working on a portal project in Saudi Arabia using WebCenter. I have created my own skin and styles, and in the last days I was developing on Fedora linux so I tested my work on Firefox and Chrome. After deployment, I got surprised that images not displayed.
The issues was that I was using styles like the following:
background-image: url("../images/logo.png")repeat-x;
but while debugging on Internet Explorer, I found that the style is not existing within the css class (not being served to Internet Explorer). To fix it, you have switch to the following
background-image: url(../images3/Center.png);
background-repeat: repeat-x;
it took from me time, to find the problem, world of css :D
There is a study made about Management based on Somali Pirates and Taliban ( insurgents in Afghanistan), you can read more about it in the article from economist.
What is interesting for me is the comparison between Somali pirates strategy in attacking ships and strategy Nintendo in penetrating gaming market and competing companies like Microsoft.
Also Taliban strategies is very interesting for me in project management, and how companies can have small teams taking quick decisions without returning to management and doing micro-management. They don't wait for long-term approvals.
I liked it and I wanted to share it with you.
I forgot to mention two things about clustering in my previous post.
- After creating a domain on the first physical machine, and you want to transfer the configuration to the other physical machine, do the following:
On the first machine
$ cd /u01/oracle/middleware/user_projects/domains/
$ ../../wlserver_10.3/common/bin/pack.sh -managed=true -domain=my_domain -template=my_domain.jar template_name="my_domain"
$ scp my_domain.jar oracle@node2.mydomain.com:/u01/oracle/middleware/user_projects/domains
on the second machine
$ cd /u01/oracle/middleware/user_projects/domains/
$ ../../wlserver_10.3/common/bin/unpack.sh -domain=my_domain -template=my_domain.jar
Note, when configuring weblogic machine on linux, it is better to use Unix Machine (you can accept the defualts)
- Now you have UCM clustered on two machines, so what about load balancing? you have several options like using another weblogic instance to do load balancing, but in my case I used apache HTTP server for doing that (this was because I wanted to minimize licenses required)
To do load balancing
- Download weblogic plugin for Apache from http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html
- Ensure that Apache is up and working on the server
- Extract the plugin in a directory on your server
- add the following to httpd.conf (I assume here we are installing on linux)
#Weblogic Proxy Plugin
LoadModule weblogic_module /root/wlsplugin/lib/mod_wl.so
#Weblogic Proxy Plugin
SetHandler weblogic-handler
WebLogicCluster node1.mydomain.com:16200,node2.mydomain.com:16200
I hope you will have a good picture about how to accomplish that
One of the biggest advantages we got with UCM 11g is that it is being hosted inside Weblogic Application Server. That allows us to create a clustered UCM without big efforts and in my opinion it doesn't need any expert to do that.
I think most of you guys remember clustering with UCM 10g, it was really silly :)
In next lines I will explain to you how to do that, but I will assume that you installed Weblogic Server 10.3.3, Oracle ECM 11g, and middleware home is "/u01/oracle/middleware":
- $ cd /u01/oracle/middleware/Oracle_ECM1/common/bin
- $ ./config.sh
- Create new weblogic domain (or use an existing one if you have)
- Configure domain to support UCM, IBR, and Site Studio
- Name the new domain in this case I named it for demonstration my_domain
- Add the Weblogic admin password
- Choose Production environment
- Configure database connection information, if you are using Oracle database 11gR2 you will gain major feature which using one host name (scan name) and DNS will automatically will take care of load balancing and failover for RAC nodes.
- Next choose the following to configure clustered nodes for UCM and IBR
- Accept the default for the admin server
- In the managed servers page, you will have by default UCM_server1 and IBR_server1, we will add two other managed servers UCM_server2 and IBR_server2
- Next will create two clusters one for UCM and one for IBR
- Under UCM cluster we will add UCM managed servers and under IBR cluster we ill add IBR managed servers
- Next will add two Machines representing two physical machines, and they responsible for communicating with Node Managers on the two nodes we have here
- Add the managed servers and admin server to the Weblogic machines
- Next we can see the UCM cluster is automatically configured to support the required libraries and applications
- JDBC and the other required services is configured automatically
- At the end accept the configurations and you will have a ready UCM cluster on two nodes
The remaining part here is to have a shared storage like SAN for storing vault and weblayout repoistories, in this case also you need to have OS file system cluster. On linux you can use Oracle File System Cluster for doing that.
Guys I am really sorry for not posting from weeks in my blog.
I was searching for things in Oracle Website and I got my surprised that Oracle is referring to my blog WoW, I didn't how it was helpful for other, and this really is very big responsibility on me.
I read a book called "A leader who has no title", it explains an important thinking methodology which is "to lead, you don't need a title or a position or a company, start by yourself and work harder. Then everything you need will be in your hands, and everyone will appreciate your efforts and work."
If you are targeting money or a big position in a company, you will lose your focus and you will not be special. Myself, I am always asking myself If I am in the same long queue like others or I left the queue and trying to find some shortcut. By the way If I didn't find the shortcut, I will not be sad, earnings are always higher.
One last thing, I am not Oracle employee, or working in a multinational first class company. Currently I am freelancer trying to depend on myself.
Start by yourself,, don't look at others.
From days I was watching a TV program about history of the flush toilets and its contribution in civilization. I got surprised when they said that one of the first flush toilets invented in 1596 by Sir John Harington called Ajax :)
So Ajax has a big role in civilization advancement, but I don't know why he called the flush toilet Ajax.
I didn't blog from a long ti me and I am not happy about that. I have acquired a lot of experience last months, I have worked heavily with Weblogic, UCM 11g, Webcenter, Access Manager, and even Oracle DB RAC. Most of the time I didn't have time but this not an excuse, because anyone can always get time.
Anyway I am here to say that I will re-host and re-deign my blog (may be with typepad), I will enhance it to as much useful as I want.
Time to change has come.
A new book about Oracle UCM has been published by Packt, I have been asked by Packt to review this book. I found this book is very interesting especially if you are new to UCM or you didn't get the chance to review all UCM capabilities. I used to give UCM trainings with Oracle, I can admit that reading this book will give the same knowledge you may get from trainings.
But I was wishing that this book will cover Oracle UCM 11g, where it covers UCM 10g, however almost all information in that book can be applied to 11g too.
.
I am currently working in a project in Kuwait, they are using Star Names for naming servers' hostnames. For me it is the first time I work with stars :D now I am interested in meaning of star names because of this project thanks to Jasem who is owner of this idea.
I was searching for star names and I came across an interesting website WikiSky. I like it so much and I think it deserves a look, you can get which stars is above you right now, can you imagine?
Now I will list the stars (servers) which I am working with
Chara Joy
Chort Small rib
Electra Amber/Shining
Homam The high-minded man
Nunki "of Enki" (Sumerian god of waters & of most ancient city of Eridu)
Porrima Roman goddess of childbirth
Yildun Star
Lesath Sting
Matar Rain
By the way, after I saw the meaning of some stars, I am surprise, because some names are Arabic names like Matar. Anyway I liked the idea of using the star names for servers' hostnames.
|
I was facing an error after doing the integration between Oracle Identity Manager and Oracle Role Manager where OIM installed on Linux server and ORM in Windows server, here is a snapshot from the log
03:39:40,216 WARN [IntegrationUtilities] No plugin configuration files found in /oracle/idm-home/jboss-4.2.3/bin/c:\ORMINT_HOME\/config
03:39:40,217 ERROR [TASK] Class/Method: SchedulerBaseTask/run encounter some problems: {1}
java.lang.NullPointerException
at oracle.iam.rm.imframework.scheduledTasks.ScheduledIntegrationTask.init(ScheduledIntegrationTask.java:135)
at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.run(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper$TaskExecutionAction.run(Unknown Source)
at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
I faced this error before when I installed OIM on windows, but for a quick way to solve the problem I moved ORMINT_HOME (ORM Integration Library location on OIM server) to the default location C:\ORMINT_HOME but after we changed OIM server to be Linux server, I had to face that issue again.
I tried to find if someone faced that issue before or not I didn't find help, even I opened Service Request on Metalink but without any help. That's because ORM is a new product and there are only few implementations for it (by the way I am not a fan for that system).
The solution for this error is very simple but not mentioned in documentation, there is a system property that needs to be added to JBoss and it will be used by OIM for integration purposes with ORM. That property is ORMINT_ROOT_DIR and it will be added with a value to properties-service.xml file (you can find it under /server/default/deploy )
<attribute name="Properties">
ORMINT_ROOT_DIR=/oracle/idm-home/ORMINT_HOME
<\attribute>
I am working in Oracle IDM project currently, and I have to provision users to Hummingbird and Hummingbird in this case integrated with Active Directory. So I were in my mind making a comparison between Oracle UCM and OpentText Hummingbird and I want to share it here.
In Oracle UCM, it is a full integration why because user roles and accounts will be represented in AD as security groups, so I want to give an AD user the contributor role, just assign to him contributor security group form inside AD. Also you can make a custom user attributes from inside UCM to AD user attributes like user manager or any other attribute.
In OpenText Hummingbird especially with Document Management module and Records Management modules, the admin have to import users from AD manually and assign security groups and permissions from inside the system, which means it is not full integration, Hummingbird is just using AD as a repository of users info not a repository for security.
Another thing Oracle UCM is like an open source application it is open, you can change any functionality you want, its database schema is not sealed and the schema is very easy to be used and modified. But Hummingbird's database is not allowing that, if you tried to add new records or delete records, the system will throw exceptions and errors.
In my opinion, Oracle UCM is one of the best applications you can integrate with. So If I am a decision maker I will always choose UCM because of integrations easiness.
I was getting the following error when I try to create an Oracle Identity Manager user after integrating with Oracle Role Manager (both OIM and ORM are using JBoss as the application server). I took from me a lot of time to discover the cause of that error
ERROR [oracle.iam.rm.imframework.oimjavatasks.ReconcileEntityAdapter] General exception: JMS error sending message to queue/orm/IncomingEventQueue
java.lang.Exception: JMS error sending message to queue/orm/IncomingEventQueue
at oracle.iam.rm.imframework.util.JMSUtil.sendMessage(JMSUtil.java:96)
.......
Caused by: org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.NoRouteToHostException: No route to host: connect)
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:72)
.......
Caused by: java.net.NoRouteToHostException: No route to host: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
.......
The cause of the error is that in the test server where I installed Oracle Role Manager I have more than one IP address for the server and I was binding JBoss to all IP(s) by running it using the following command
run.bat -b 0.0.0.0
The solution is to bind JBoss to only one IP as the following
run.bat -b 192.168.220.1
As all of us know, Oracle bought Sun and the deal has been closed completely. I am currently working with Oracle Identity Management (as well as Oracle UCM) and I am interested to know Oracle's plan for IDM after merging. I found a blog post that talks in brief about that I recommend you to read it, click here.
The conclusion Oracle will keep its IDM solutions as a strategic solutions and it will re-brand Sun IDM solutions.
When I face frustrating bugs that comes because of the misleading exceptions, I go to the magic method which is decompiling the class that cause the error, and take a quick look there. But note I don't prefer going deeper to understand the class and the library I am decompiling.
I am using JD-GUI and I'd like to thank the people who created it and made it available for free.
The following brief steps explain rebranding of Oracle Identity Manager on JBoss application server:
- Get copy from XellerateFull.ear from [jboss_install_dir]/server/default/deploy
- Extract the file normally like a zip file (change extension from .ear to .zip)
- Inside the extracted directory, you will find a war file called xlWebApp.war
- Extract that file like a zip file (change extension from .war to .zip)
- If you want to change the application colors and styles, go to XellerateFull/xlWebApp/css/Xellerate.css
- If you want to change labels and messages, go to XellerateFull/xlWebApp/WEB-INF/classes/xlWebAdmin.properties (change the other localized files that you are using)
- If you want to change logo and application images, go to XellerateFull/xlWebApp/WEB-INF/classes/xlDefaultAdmin.properties
- After finishing recompress everything (compress it a .zip then change the extension), but after finishing open the archive you made and see if the structure of the archives ( XellerateFull.ear and xlWebApp.war) is correct like the old one
- At last replace XellerateFull.ear under JBoss with the new one you made.
Anyway, this application is built using Struts, and it can be customized as you want, nut I don't recommend that from a previous experience with other applications.
Note in documentation there is another for doing that, but it didn't work with me.
I will not be able to post right now the complete installation steps for Oracle Identity Manager with JBoss as the application server, because it will take a lot of time, but I will add some tips here to be be taken in consideration during OIM installation. - If you are using Sun JVM and JBoss, you need to make one more modification in run.bat (JBoss starting Batch) ro JAVA_OPTS parameter which is -XX:MaxPermSize=256mset JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m -XX:MaxPermSize=256m- When you start JBoss and you want it to listen (or bind) to any available IP, run JBoss starting batch like this run.bat -b 0.0.0.0- After installing OIM Design Console, take copy from log4j.jar from inside JBoss and rename it to log4j-1.2.8.jar then replace log4j-1.2.8.jar from inside OIM Design Console installation directory. - Take care when installing JBoss in your development or testing machine, some applications my be using JBoss ports like MS Exchange uses 1099 and 1098, Oracle UCM uses 4444 and 4445, and of course Apache Tomcat. So you need to change JBoss ports, to do that take a look at the following page which explains to you which files you will change http://www.thedance.net/~roth/TECHBLOG/jbossports.htmlIf you want to know which applications is using your machine's ports, download ActivePorts program from the following link http://download.cnet.com/Active-Ports/3000-2651_4-29653.html?tag=mncol
If you changed 1099 port after you have installed OIM, you should change it too in xlconfig.xml for OIM Server and OIM Design Console. Also If you changed 8080 port after you have installed OIM, you should change it too in xlconfig.xml for Design Console. - To deploy SMPL WebService, take a look at the following link http://download.oracle.com/docs/cd/E14899_01/doc.9102/e14763/spml.htm#BEIDGDGEAlso note you need in this case to download apache commons-discovery library and add it to [jboss_install_dir]/server/default/lib
|