Testing JSP Changes In IBM WebSphere Without ReStarting The Service

This is a follow-up to my previous post “Restricting The EnterpriseOne Evironment On The JAS Server”.

While coming up with my solution to how to restrict users to an environment when logging on to a JAS server that hosted a path code with multiple environments attached to it, I wanted to be able to test my changes “on-the-fly”.  I didn’t want to restart the service every time.

So, that’s when I found the “temp” directory.

  • This is the “production” directory:
    C:\\AppServer\profiles\default\installedApps\Node01Cell\JPD811_HTML.ear\webclient.war\share
  • This is the “temp” directory:
    C:\\AppServer\profiles\default\temp\Node01\JPD811_84\JPD811_HTML\webclient.war\share

A file named “_html4env.class” will be placed in there when a user logs in.  It is a compiled version of the “html4env.jsp” file.  So, if you delete that file and make a change to the “html4env.jsp” file or the “_EnvRestriction.htm” file, when a user tries to login will compile the “html4env.jsp” file and create a new “_html4env.class” file with your changes.

Tags: , , , , , , , ,

Restricting The EnterpriseOne Evironment On The JAS Server

The organization has a requirement to have a user only login to a certain environment from a certain JAS server instance.

With a basic install of EnterpriseOne, this would be very easy. However, the 2 environments that are required to be separated are build on top of the same pathcode. Within the JAS settings there is a "Path Codes" parameter that allows you to specify which Path Code will be allowed to be accessed from that particular HTML Server instance.

As you can see from the image, there is also a setting for the "Default Environment". However, there is not a setting to specify which environments are allowed to be accessed.

So, I did a little JSP hacking and came up with a way to restrict the EnterpriseOne environments that can be accessed from a particular HTML Server instance on JAS:

The solution involves creating a file that gets "included" into another.

The first file is the one that we created. We called it "_EnvRestriction.htm":

<% String redirectTargetURL = "erp.mdu.com";       String mustHaveEnv = "JPDSS811"; if (!(environments.contains(mustHaveEnv))) { %>         <tr>                 <td colspan="3" style="font-size:larger;">                         <strong>YOU DO NOT HAVE ACCESS TO THIS ENVIRONMENT!</strong>                         <br /><br />                         You will be redirected to <a href="http://&lt;%=redirectTargetURL%&gt;"><%=redirectTargetURL%></a> in <span style="color:red" id="redirectSpan">10</span> seconds.                 </td>         </tr>         <script type="text/javascript">                 function redirect(url, msg)                 {                    var TARG_ID = "redirectSpan";                    var e = document.getElementById(TARG_ID);                    var cTicks = parseInt(e.innerHTML);                    var timer = setInterval(function()                    {                           if( cTicks )                           {                                  e.innerHTML = --cTicks;                           }                           else                           {                                  clearInterval(timer);                                  document.body.innerHTML = msg;                                  location = url;                                    }                    }, 1000);                 }                 redirect("http://<%=redirectTargetURL%>","")         </script>         <style>input{display:none;}label{display:none;}</style> <% } %>

Next we edit the file "html4env.jsp" to include our new file (_EnvRestriction.htm). At about line 172, we include the following right before the <tr> tag:

<%@ include file="_EnvRestriction.htm" %>

Please Note: this may not be the best way to restrict environments but it is what we are using. Also, this solution has been successfully used for EnterpriseOne Tools Release 8.97.2.0 & 8.97.2.6. If you are using a Tools Release other than those listed you may need to make adjustments for this solution to work or it may not work at all.

Is there another way to restrict the environment that a user is able to login to when accessing a JAS server if there are multiple environments built on top of the same path code?

Tags: , , , , , , , ,

Server Management Will Not Start After Update

We are updating our EnterpriseOne Tools Release to 8.98.2.2 and had an issue with updating the Server Manager Agent on our Windows web servers. After following the steps to do the update of the Server Manager Agent it would not restart. I was able to find a document (Doc ID 983043.1) on Support that fixed the issue.

To resolve this issue, Customers need to download the 8.98.2.2 (or newer) version of the Server Manager update component and proceed with the following steps:

Update your Server Manager console with the newer version of Server Manager.

Locate the “scfagent.jar” file in the following directory:
{jde_home}\targets\oc4j\j2ee\home\applications\ManagementConsole\ManagementConsole_WAR\scfagent
where {jde_home} is your Server Manager console install location.

Copy this file to the following directory on the machine where your Windows Server Manager agent is running:
{jde_agent_home}\lib\_staging
where {jde_agent_home is the Server Manager agent install location

Rename the “scfagent.jar” file that you have copied to “agentUpdate.jar”. If there is already a file with this name, it should be replaced with the new file you have copied.

Run the “startAgent.bat” command file twice from the {jde_agent_home}\bin directory. The first time will update the Server Manager agent JAR files with the newer version, but will likely fail to start the service. The second time should start the service successfully.

I hope that helps!

Tags: , , , , , , , , , , ,

EnterpriseOne Javascript Error Causing Errors In Internet Explorer

We recently went live with Employee Self-Service.  In doing so, we no longer send employees their direct deposit pay stub.  Over the last few days we were notified that some employees were unable to view the paycheck details. 

We began troubleshooting the issue with looking at the usually culprits:

However, nothing seemed suspect.

So, I put on the Web Developer Hat (dont tell Charlie) and started troubleshooting.  I found that there was a Javascript error in Internet Explorer.  I tracked down the offending file an commented out the code.

The Javascript file that I changed was /js/JDEDTA.js.

The specific line that was causing the problem was line 344.  I commented out the whole thing because who needs typeahead functionality in Employee Self-Service?

340:    this.saveAutoCompleteData = function(){
341:        //Hack to make typeahead work in IE
342:        /*if(document.all){
343:            var formToPost = document.forms[this.formName];
344:                  window.external.AutoCompleteSaveForm(formToPost);
345:        }else if (!this.isSafari){
346:            var formToPost = document.forms[this.formName];
347:              if (formToPost)
348:              {
349:                  var action = formToPost.action;
350:                  formToPost.action = "javascript:void(0)";
351:                  formToPost.submit();
352:                  formToPost.action = action;
353:              }
354:        }*/
355:    }
Tags: , , , , , , , , , , , ,

EnterpriseOne Tools Release Upgrade From 8.96 to 8.97 Rough Outline

  1. iSeries/AS400/
    1. Backup libraries and IFS directories
    2. Register Pristine Environment in Server Manager
    3. Create Server Manager Server Group for Pristine
    4. Upgrade Pristine
  2. Web Server
    1. Create Application Server in Server Manager
    2. Create HTTP Server in Server Manager
  3. General
    1. HTML landing page: update links and info
    2. Change DNS entries
    3. Copy the code used to restrict access to specified environment
    4. Copy images and code for custom backgrounds
    5. Modify the JAS.INI file to specify the correct logon logo
    6. Set web server to restart nightly and cleanup logs
    7. Verify that the server is being backed up and replicated to DR hot site
Tags: , , , , , , , , , , , , , , , ,

Simple E1 URLs

jeff stevenson Jeff Stevenson has a very good post on his blog about simplifying how users access EnterpriseOne using Apache virtual hosts, DNS mappings, host aliases and redirects.

Make a URL that looks like this:

http://server.company.com:82/jde/owhtml

Look like this:

http://.company.com or http://

Thanks, Jeff!

Tags: , , , , , , , ,

Handy eGen Tweak

In order to shorten the time that it takes to run the eGen process, I modify a couple settings in the gen.bat file.  They modify the memory that is used by the JVM.

  • ms128m > ms512m
  • mx512m > mx1024m

The full line in the gen.bat looks like the following:

  • %JAVA_PGM% -Xss1m -ms512m -mx1536m -Ddefault_path=%INI_DIR% -classpath %GEN_CLASSPATH% com.jdedwards.runtime.generator.Generator %1

NOTE: This is on a workstation with 2GB RAM running Tools Release 8.97 and the settings are what I use.  This is not a recommendation from .

Do you have any tweaks for the eGen process that you use?

Tags: , , , , , , , ,

Egen Process JDBJ Gotcha

When setting up a workstation to perform the eGen process, once in a while there is a step that I seem to forget.  It has to do with two settings in the JDBJ.INI file that need to be changed from their default values and JDBJ driver files:

  • [JDBj-SPEC DATA SOURCE] This whole stanza needs to be commented out.  If you dont, the eGen application will here for the location to which you want to generate your serialized objects, which is defaulted to the local MSDE database.
  • [JDBj-JDBC DRIVERS] The values in this stanza are commented out by default.  You will need to uncomment the drivers that are appropriate to your installation.  For me, that is:
    • AS400=com..as400.access.AS400JDBCDriver
    • SQLSERVER=com.microsoft.jdbc.sqlserver.SQLServerDriver
  • JDBJ Driver Files The four files below need to be copied to the C:\e811\MISC directory. 
    • jt400.jar
    • msbase.jar
    • mssqlserver.jar
    • msutil.jar

NOTE: This information is for Tools Release 8.97 and may be different for other .

Tags: , , , , , , , , , , , ,

The EnterpriseOne Session Timeout Two-Step…Ok, Three Step

We have several work areas that require a longer inactive timeout setting than the default 20 minutes (Payroll Time-entry, Fixed Asset Accounting, etc.).

Unfortunately, EnterpriseOnes architecture does not make the process of configuring a session timeout very easy.  There are three separate separate settings that need to configured correctly.  Depending on your architecture that could mean three separate machines using three separate platforms.  Whatever your architecture looks like there are at least three.

  1. The (JAS).  No matter what flavor of JAS you are running ( , , BEA, etc.) you will need to configure the applications user session timeout setting.  The screenshots for 6.0.2.13 are below:

    IBM Websphere 
    IBM Websphere

  2. The EnterpriseOne HTML Server.  This setting is in the JAS.INI under the [CACHE] stanza.  The setting is in milliseconds (3600000 = 1 hour).  If you are running the Server Manager for EnterpriseOne, you can find it in the Cache Configuration section under the Web Runtime configuration.
    Oracle Server Manager
     
    Oracle Server Manager
  3. The HTTP server.  The instructions for both Microsoft IIS and HTTP Server follows:
    • Microsoft IIS:
      • Display the properties of the website that is configured to host EnterpriseOne
      • On the Website tab, modify the Connection Timeout setting.  Please note that this value is in seconds, not milliseconds.
    • HTTP Server:
      • Edit the Timeout setting in the HTTPD.CONF file.  Please note that this value is in seconds, not milliseconds.

NOTE:  To avoid record locking specifies to configure the system so that the JAS server will timeout the users session.  To do that both the EnterpriseOne HTML Server and the HTTP server need to be set to great times than the JAS server.  For example:

  • To configure a timeout value of 30 minutes:
    • JAS Server: 30
    • EnterpriseOne HTML Server: 3600000
    • HTTP Server: 3600
Tags: , , , , , , , , , , , , , , ,

EnterpriseOne Tools Release 8.97 & 8.98 Not Compatible With FireFox 3

In doing some last minute testing with EnterpriseOne Tools Release 8.97.2.0, I found that the applications do not render in FireFox 3.  The error that I received in the WAS log is:

VTFormRenderAdaptee: renderHTML4: failed to render:
java.util.MissingResourceException:
Can't find bundle for base name nls.CPResource, locale

This issue is documented under MetaLink BUG 8917620 & 8917611.  The final disposition that is documented as:

Fixfox 3 does not work with due to build id length

change in user agent string, and fail to match it to

firefox pattern with shorter build date pattern.

The following is useragent string for

FF2: MOZILLA/5.0 (WINDOWS; U; WINDOWS NT 5.1; EN-US;

RV:1.8.1.17) GECKO/20080829 FIREFOX/2.0.0.17

FF3: MOZILLA/5.0 (WINDOWS; U; WINDOWS NT 5.2; EN-US;

RV:1.9.0.3) GECKO/2008092417 FIREFOX/3.0.3

Pattern in browsCap.ini for FF2

[*(Win*) Gecko/???????? Firefox/2.*]

Pattern in browsCap.ini for FF3

[*(Win*) Gecko/???????? Firefox/3.*]

With length of build id change from 8 digits to 10 digits

the matching does not work for firefox 3 and runtime fail

to render the form. The solution is to change the match

patter to more generic format without length limitation of

build id by using single wildcard.

[*(Win*) Gecko/* Firefox/3.*]

The change shall be applied to all version of firefox start

from 3. And we may need to check the fix into 897, since

the customer may alread begin to use FF3 instead of FF2.

Related Posts with Thumbnails Tags: , , , , , , ,

Next Page »