JBoss 5.1.0.GA.
1. Change directory to server/default/conf and edit login-config.xml
2. Add a new block of application-policy, I put it before the "other" application-policy.
3.Under the WEB-INF directory, create jboss-web.xml and add a jboss-web definition.
4. Edit the web.xml file and add security configurations.
5. It is nice to see what is happening behind the door, so I enable the trace in the JBoss logging configuration. Edit server/default/conf/jboss-log4j.xml.
Friday, February 07, 2014
MyEclipse Enable Maven Dependencies in the Build Path
MyEclipse Enterprise Workbench
Version: 10.7
Of course, first disable the Maven4MyEclipse.
Then enable the WTP Deprecated. (as shown below).
Version: 10.7
Of course, first disable the Maven4MyEclipse.
Then enable the WTP Deprecated. (as shown below).
Thursday, December 12, 2013
Thursday, January 03, 2013
Install DocService to Enable Edit Locally
Here a note which describes a solution for a user account with restricted rights:
The Edit Locally ActiveX will be installed based on following installation steps:
The browser will recognize that the KM DocService ActiveX has to be started. In case of the ActiveX isn't installed on the the PC, it will be downloaded from the KM server (...etc/docservice/docservice.cab) The browser will extract two DLLs from the docservice.cab file (docservice.dll and sapkmprogressplayer.dll) and register them on the local PC.
To see if the installation succeed you can open within the browser following dialog: Tools/Internet Options/Settings/View Objects, look for program file SAP KM DocService Control.
Registry keys in following areas will be created:
HKEY_CLASSES_ROOT:
HKCR\AppID\{5F8983A6-347C-46B9-BA7A-1B87E5DAE0BC}
HKCR\ProgressPlayerMod.ProgressPlayer
HKCR\ProgressPlayerMod.ProgressPlayer.1
HKCR\CLSID HKCR\TypeLib
HKEY_LOCAL_MACHINE:
HKLM\Software\Microsoft\Windows\CurrentVersion\ModuleUsage\C:/WINNT/Down Downloaded Program Files/DocService.dll
HKLM\Software\Microsoft\Code Store Database\Distribution Units\
When finishing these steps successfully the installed version can be located within the browser dialog Tools/Internet Options/Settings/View Objects SAP KM DocService Control and the KM DocService will start loading the document content from the KM server and starting the corresponding application for editing.
With restricted user accounts e.g. no access rights to create registry keys in the area of HKCR or HKLM etc., which lets the described installation fail, following installation procedure leads to success: Register the needed DLLs manually on the PC (e.g. via a shell command script) with a user account having enough access rights.
1. Create an installation folder (don't use /windows/system32) on the PC and copy the DLLs (docservice.dll and sapkmprogressplayer.dll) to it (extract them from docservice.cab with a tool e.g. winzip).
2. Open a command shell on this installation folder.
3. Unregister possible existing versions with the following command: "regsvr32 docservice.dll /U " and "regsvr32 sapkmprogressplayer.dll /U "
4. Register the both DLLs with: "regsvr32 docservice.dll" and "regsvr32 sapkmprogressplayer.dll "
5. If the two registration steps fail check the permissions to write into the system registry.
6. The installation folder do not need special permissions, the linkage to the DLLs will be done via the system registry.
7. Additionally the following setting is mandatory to succeed the installation: Disable the "ActiveX Version Check" function within the KM Configuration SystemAdministration->SystemConfig->KnowledgeManagement-> ->Configuration->ContentManagement->Utilities->Editing->LocalEditing-> ActiveX Version Check (Uncheck the checkbox)
Setting a different TEMP directory: In cases that it is problematic to use the standard %TEMP% directory, setting the environment variable SAPKM_USER_TEMP pinpointing to a corresponding directory path (e.g. X:\SHARES\USERS\xxx\CheckedOutDocuments) will be also supported. If the access to that directory fails the standard %TEMP% directory will be used as fallback.
The Edit Locally ActiveX will be installed based on following installation steps:
The browser will recognize that the KM DocService ActiveX has to be started. In case of the ActiveX isn't installed on the the PC, it will be downloaded from the KM server (...etc/docservice/docservice.cab) The browser will extract two DLLs from the docservice.cab file (docservice.dll and sapkmprogressplayer.dll) and register them on the local PC.
To see if the installation succeed you can open within the browser following dialog: Tools/Internet Options/Settings/View Objects, look for program file SAP KM DocService Control.
Registry keys in following areas will be created:
HKEY_CLASSES_ROOT:
HKCR\AppID\{5F8983A6-347C-46B9-BA7A-1B87E5DAE0BC}
HKCR\ProgressPlayerMod.ProgressPlayer
HKCR\ProgressPlayerMod.ProgressPlayer.1
HKCR\CLSID HKCR\TypeLib
HKEY_LOCAL_MACHINE:
HKLM\Software\Microsoft\Windows\CurrentVersion\ModuleUsage\C:/WINNT/Down Downloaded Program Files/DocService.dll
HKLM\Software\Microsoft\Code Store Database\Distribution Units\
When finishing these steps successfully the installed version can be located within the browser dialog Tools/Internet Options/Settings/View Objects SAP KM DocService Control and the KM DocService will start loading the document content from the KM server and starting the corresponding application for editing.
With restricted user accounts e.g. no access rights to create registry keys in the area of HKCR or HKLM etc., which lets the described installation fail, following installation procedure leads to success: Register the needed DLLs manually on the PC (e.g. via a shell command script) with a user account having enough access rights.
1. Create an installation folder (don't use /windows/system32) on the PC and copy the DLLs (docservice.dll and sapkmprogressplayer.dll) to it (extract them from docservice.cab with a tool e.g. winzip).
2. Open a command shell on this installation folder.
3. Unregister possible existing versions with the following command: "regsvr32 docservice.dll /U " and "regsvr32 sapkmprogressplayer.dll /U "
4. Register the both DLLs with: "regsvr32 docservice.dll" and "regsvr32 sapkmprogressplayer.dll "
5. If the two registration steps fail check the permissions to write into the system registry.
6. The installation folder do not need special permissions, the linkage to the DLLs will be done via the system registry.
7. Additionally the following setting is mandatory to succeed the installation: Disable the "ActiveX Version Check" function within the KM Configuration SystemAdministration->SystemConfig->KnowledgeManagement-> ->Configuration->ContentManagement->Utilities->Editing->LocalEditing-> ActiveX Version Check (Uncheck the checkbox)
Setting a different TEMP directory: In cases that it is problematic to use the standard %TEMP% directory, setting the environment variable SAPKM_USER_TEMP pinpointing to a corresponding directory path (e.g. X:\SHARES\USERS\xxx\CheckedOutDocuments) will be also supported. If the access to that directory fails the standard %TEMP% directory will be used as fallback.
Wednesday, September 26, 2012
EP Version
There are official ways to obtain the version and release number of SAP portal. Here is a quick and dirty way.
View the source code of the logon page and check out the first line.
If it is 7.1.8.0.1, it means EP version 7.1, service pack 8, patch 1.
View the source code of the logon page and check out the first line.
If it is 7.1.8.0.1, it means EP version 7.1, service pack 8, patch 1.
Wednesday, July 11, 2012
Hibernate Polymorphism
ClassOne and its sub-class ClassOneDotOne.
If you only want ClassOne, not ClassOneDotOne in your Hibernate query results, you will need to define
If you only want ClassOne, not ClassOneDotOne in your Hibernate query results, you will need to define
- if hbm.xml,
- if annotation, @hibernate.class polymorphism="explicit"
Friday, June 22, 2012
Objective-C First Impression
I don't like the NS prefix. Ugly.
The Protocol is the Interface in Java. Here is the key sentence to understand it.
Java class has everything in one .java file. Objective-C class has its interface portion in a .h file, its implementation portion in a .m file. My understanding so far is that it is not possible to initialize any member variables in the .h file. Not mention any static final variables.
Type id is like the class Object in Java.
OK, if not a type id for a variable, it is so-called strongly typed, you need to have * at the head of the variable name. Ugly.
So the class method is the static in Java. Seems no concept of Constructor so one class method to create new instances is always necessary.
The Protocol is the Interface in Java. Here is the key sentence to understand it.
When you implement the methods of a protocol in one of your classes, your class is said to conform to that protocol.#import is to import a header file, not just a class or interface. Preferred over #include.
Java class has everything in one .java file. Objective-C class has its interface portion in a .h file, its implementation portion in a .m file. My understanding so far is that it is not possible to initialize any member variables in the .h file. Not mention any static final variables.
Type id is like the class Object in Java.
OK, if not a type id for a variable, it is so-called strongly typed, you need to have * at the head of the variable name. Ugly.
So the class method is the static in Java. Seems no concept of Constructor so one class method to create new instances is always necessary.
Friday, April 27, 2012
Let ApplicationContext Pick up Properties by Runtime Environment
In one of my recent projects, I needed to point to different data sources by run-time environment.
In the web container, we can define jndi data sources. But what about in the batch environment?
I have heard of something like dummy jndi but I have some problem trying to understand it. So I figured out another way.
In the applicationContext.xml file, I used propertyConfigure to define location at classpath:application.${runtime}.properties.
Then I created two properties file, application.development.properties and application.production.properties.
Then in the applicationContext.xml file, I just pick up the properties.
Then in the command line, I just need to specify the "runtime" variable by using -Druntime=development or -Druntime=production.
Done.
Note: if in applicationContext we need a value "\\abc\aaa", we need to define it in the properties file as "\\\\abc\\aaa".
In the web container, we can define jndi data sources. But what about in the batch environment?
I have heard of something like dummy jndi but I have some problem trying to understand it. So I figured out another way.
In the applicationContext.xml file, I used propertyConfigure to define location at classpath:application.${runtime}.properties.
Then I created two properties file, application.development.properties and application.production.properties.
Then in the applicationContext.xml file, I just pick up the properties.
Then in the command line, I just need to specify the "runtime" variable by using -Druntime=development or -Druntime=production.
Done.
Note: if in applicationContext we need a value "\\abc\aaa", we need to define it in the properties file as "\\\\abc\\aaa".
Tuesday, March 27, 2012
Portal Drive
A nice tool to map KM folders into Windows PC/server.
Download path:
SAP Software Download Center -> Support Packages and Patches -> N -> SAP NetWeaver -> (Your SAP Portal Version/Release) -> Entry by Component -> Frontend
I downloaded 4.4 and 4.5. I installed 4.5.
Check if WebDAV is enabled. System Administration -> System Configuration -> Knowledge Management -> Content Management -> Protocols -> WebDAV
The Enable WebDAV Server should be checked on.
Configuration url
http://:57100/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/
Done.
Download path:
SAP Software Download Center -> Support Packages and Patches -> N -> SAP NetWeaver -> (Your SAP Portal Version/Release) -> Entry by Component -> Frontend
I downloaded 4.4 and 4.5. I installed 4.5.
Check if WebDAV is enabled. System Administration -> System Configuration -> Knowledge Management -> Content Management -> Protocols -> WebDAV
The Enable WebDAV Server should be checked on.
Configuration url
http://
Done.
Thursday, February 02, 2012
Unlock a document in KM
Thursday, September 08, 2011
EP Upgrade from 7.0 SP 18 to 7.01 SP 8
After the upgrade, I found a new deployment would only be effective after the SAP reboot.
Download NetWeaver Developer Studio 7.0
To download NWDS 7.0 or 7.01, search by JIDE* on SAP support portal.
Wednesday, October 20, 2010
SAP - dist/PORTAL-INF/config
We are not using NWDI. We use a third-party source code management system.
The dist/PORTAL-INF/config folder was checked into the repository. Later when we did a quick PAR upload, NWDS complained not able to delete the folder.
Tried to find a way to prevent it being checked in, but found no solution.
Finally I found if I define this folder as Derived, it won't give me any trouble.
The dist/PORTAL-INF/config folder was checked into the repository. Later when we did a quick PAR upload, NWDS complained not able to delete the folder.
Tried to find a way to prevent it being checked in, but found no solution.
Finally I found if I define this folder as Derived, it won't give me any trouble.
Thursday, September 16, 2010
Java Write Text into a Image
graph = image.getGraphics();
graph.setColor(aColor);
graph.setFont(aFont);
graph.drawString(text, x-position, y-position);
graph.setColor(aColor);
graph.setFont(aFont);
graph.drawString(text, x-position, y-position);
Friday, September 10, 2010
Some small consideration when design web applications
Sometimes I think to myself, what makes web application different from others? I find a real case when I review a real application.
This application has an edit page, on which user can select "Y" or "N" from a drop list. It also define keys for "Y" and "N" in a message properties file and this application is designed for English only.
I think there are at least two small places that the designer can do better.
This application has an edit page, on which user can select "Y" or "N" from a drop list. It also define keys for "Y" and "N" in a message properties file and this application is designed for English only.
I think there are at least two small places that the designer can do better.
- use radio button instead of drop down list, this saves one click.
- still put real messages in properties files but no need to treat a "Y"/"N" choice as a real message
Monday, August 16, 2010
SAP Portal - Multiple Node Installation of a KM Scheduler Task
In an environment with more than one CM system, you must assign one (any) CM system in the cluster to each scheduler task.
Do not assign a scheduler task to more than one CM system at the same time. In the configuration of a scheduler task, there must be only one entry in the CM Systems parameter.
To balance the load, we recommend assigning all scheduler tasks to one dedicated CM system that runs separate from the load balancer. This separation removes the load caused by running the scheduler tasks from the other nodes and makes them available solely for your users.
Do not assign a scheduler task to more than one CM system at the same time. In the configuration of a scheduler task, there must be only one entry in the CM Systems parameter.
To balance the load, we recommend assigning all scheduler tasks to one dedicated CM system that runs separate from the load balancer. This separation removes the load caused by running the scheduler tasks from the other nodes and makes them available solely for your users.
Tuesday, July 27, 2010
Wednesday, June 23, 2010
Tips - How to Rename the Suffix of a Group Files on Windows
Very simple, use cmd and go to the directory,
rename *.abc *.xyz
DONE.
rename *.abc *.xyz
DONE.
Thursday, June 10, 2010
Have fun! World Cup is coming.
Last month a world wide telephone survey was conducted by the U.N.
There was only one question asked: "Would you please give your honest opinion about solutions to the food shortage in the rest of the world?"
This survey was a HUGE failure because of the followings,
1. In Eastern Europe they didn't know what "honest" meant.
2. In Western Europe they didn't know what "shortage" meant.
3. In Africa they didn't know what "food" meant.
4. In China they didn't know what "opinion" meant
5. In the Middle East they didn't know what "solution" meant
6. In South America they didn't know what "please" meant
7. In the USA they didn't know what "the rest of the world" meant
8. In Australia they hung up as soon as they heard the Indian accent.
There was only one question asked: "Would you please give your honest opinion about solutions to the food shortage in the rest of the world?"
This survey was a HUGE failure because of the followings,
1. In Eastern Europe they didn't know what "honest" meant.
2. In Western Europe they didn't know what "shortage" meant.
3. In Africa they didn't know what "food" meant.
4. In China they didn't know what "opinion" meant
5. In the Middle East they didn't know what "solution" meant
6. In South America they didn't know what "please" meant
7. In the USA they didn't know what "the rest of the world" meant
8. In Australia they hung up as soon as they heard the Indian accent.
Subscribe to:
Posts (Atom)