Undefined in browsing path
Hi,
on tools 8.53.04, FSCM92 on Win 2008,
I have undefined in browsing path when browsing in Peoplesoft Web interface. Being on any page it is the same. As you can see in this picture :
Where does it come and how to delete it ?
Thanks.
And also, have a look here :
E-PIA: Null or Undefined received On Navigation Breadcrumbs on PT 8.53 (Doc ID 1550692.1)
Nicolas.
Similar Messages
-
Something similar to browse path control, but not quite
Hi all,
in my VI there is a 2D listbox. When I click on a line, in a subpanel a VI is loaded and data from listbox is written into controls in this subpanel. The VI in the subpanel then is finished.
A "browse path" control in the subpanel can be pressed, a new window is opened and I can choose a path, even though the subpanel VI is not running.
Is there an option to have a custom control, where I can open e.g. a new VI when a button is pressed? XControls don't seem to work or I am too stupid.
Thx in advanceHi Tesla,
customize a boolean button to show the same image as the browse button of the path control. Then you can call your own subVI when that button is pressed…
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Publisher: Changing transfer/browser path? [Kaboom]
Hello -
We've been having a bit of a time with changing Publisher's transfer and browser path(s).
* ALUI 6.0
* Publisher 6.2
- one master publishing node
- 3 "read only" published content nodes
* All content written to a Windows share
* Publisher service(s) all execute as a Windows user with writes to the share
Works great, but...We need to change path Publisher is referencing to write to / read from.
EX: today it writes to "SERVER\OldShare\" - we want it to instead map to "SERVER\NewShare\"
I'm not sure the appropriate way to go about this and the support team seems as stumped as we are.
Steps we're going through now:
* Open Publisher Administration portlet
* Right-click on the top-level "Plumtree" folder so the context menu opens up
* Choose "Publishing Target..."
* We're using "Transfer Using: File Path" (Windows share)
* Transfer path is set to "file://localhost///MyFileServer/publishedcontent/publish"
* Browser path is set to "http://publisher.mycompany.com:7087/publishedcontent/publish"
We want to modify this to be...
* Transfer path is set to "file://localhost///MyFileServer/newpublishedcontent/publish"
* Browser path is set to "http://publisher.mycompany.com:7087/newpublishedcontent/publish"
Kaboom.
Once I update these settings and click "Test Publish Target" I get the following:
"Site specified by browser path does not match transfer path location."
I don't get it. Not saying it doesn't make sense, but I certainly don't get why or what to do ;)
Not even sure where to look on this one in terms of exceptions. I'm not seeing any exceptions in PTSpy (actually, I'm not seeing anything in PTSpy) and the logs only seem to contain basic info and no explicit "this was bad" messages.
Any ideas on how to pursue this would be most appreciated :)
Thanks,
EricThank you for your reply :) You inspired me to validate everything and kind of revisit this from scratch. Instead of trusting the system I busted out Textpad and scanned ALL of Publisher's appilcation files for instances of my publishing path. That did the trick and I found where the little bugger seems to get some of its less obvious configuration values.
* First I found...
\\MyPublisherServer\d$\Program Files\Plumtree\ptcs\6.2\container\conf\jboss.web\localhost\publishedcontent.xml
This looked promising, but it wasn't, really. This file will be rewritten by the jboss service startup, but it was an indicator of the issue as it contained the pesky (old) physical publishing path I wanted to replace.
* Finally we hit gold
\\MyPublisherServer\d$\Program Files\Plumtree\ptcs\6.2\container\deploy\jbossweb-tomcat50.sar\server.xml
This file contains...
<Context path="/publishedcontent" appBase=""
docBase="//MyFileServer/publishedcontent" debug="99" reloadable="true">
</Context>
We changed it to something on the order of...
<Context path="/publishedcontent" appBase=""
docBase="//MyOtherFileServer/newpublishedcontentpath" debug="99" reloadable="true">
</Context>
OK - that actually seemed to help a LOT. Now I can get at the old content and Publisher seemed way, way happier. Cool!
* Next we hit issues creating folders/portlets in Publisher -
"Error: Portlet creation failed: Error accessing file in database ("Document not found: id=F046C0A1/D31E34DD.ACT"). "
This is indicating that Publisher cannot find/access the files or folders from the document repository associated with the (original) Publisher folder structure. To get past this, find your new document repository and copy/restore the files to it from the old document repository.
EX:
FROM \\MyOldDRServer\H$\Plumtree\ptdr\documents\PTContent\Active
TO \\MyNewDRServer\D$\Program Files\Plumtree\ptdr\documents\PTContent\Active
That should do it :)
For those needing to change paths, do a disaster recovery exercise or just find a less obtrusive way to move some things around environments (EX: prod->dev refresh) I hope this helps. -
Validating File Browse path is valid
I'm sure some other people ran into this same problem...
I need a way to validate the file entered into the File Browse item is a valid file path. I've created an obvious "not null" validation so the item has a value when the page is submitted. I also created a validation to check the size of the file if a path was given. I noticed if there is something resembling a file path but the file name is not correct APEX will upload an empty blob.
DECLARE
v_file_id APEX_APPLICATION_FILES.ID%TYPE;
v_file_filename APEX_APPLICATION_FILES.FILENAME%TYPE;
v_file_doc_size APEX_APPLICATION_FILES.DOC_SIZE%TYPE;
v_file_blob_content APEX_APPLICATION_FILES.BLOB_CONTENT%TYPE;
v_file_mime_type APEX_APPLICATION_FILES.MIME_TYPE%TYPE;
BEGIN
SELECT ID,FILENAME,DOC_SIZE,BLOB_CONTENT,MIME_TYPE
INTO v_file_id, v_file_filename, v_file_doc_size, v_file_blob_content, v_file_mime_type
FROM (
SELECT ID,FILENAME,DOC_SIZE,BLOB_CONTENT,MIME_TYPE
FROM APEX_APPLICATION_FILES
WHERE UPDATED_BY = UPPER(:APP_USER)
ORDER BY UPDATED_ON DESC
WHERE ROWNUM = 1;
IF v_file_doc_size = 0 THEN
DELETE FROM APEX_APPLICATION_FILES WHERE ID = v_file_id;
RETURN FALSE;
END IF;
RETURN TRUE;
END;Now the problem is when a user enters some random text like "abc.pdf" into the file browse item. Is there a way to validate that this doesn't happen. In our current application it appears that the page is never submitted when a button is clicked. I put up an application on apex.oracle.com and I receive a javascript error when I try to submit a page with a relative file path like "abc.pdf".
If I can't create a validation is there a way to make the file browse item read only so they have to use the button and can't type the file path?
Thanks!
Jonathan
APEX 4.0Hi,
Tried it, here is what happened
IE 8 in Browser Mode : IE 8, Document Mode: IE8 Standards
- I am unable to enter any text in the item
IE 8 in Browser Mode : IE 8 Compatibilty, Document Mode : IE7 Standards
- I am unable to enter any text in the item
IE 8 in Browser Mode : IE 7 Compatibilty, Document Mode : IE7 Standards
- I am unable to enter any text in the item
FF 3.5.7
- As soon as I key in text it automatically opens the File Browser Dialog box.
So, there is some issue with either IE7 or something else.
If someone from Oracel does not look at this thread then I suggest you post another query with the words bug? in it.
Regards, -
Browse Path Control: Selections Not Found or Displayed
Selecting the multiple Pattern: *.xls:*.xlsx below from Path Properties does not produce the required files I am looking for, can someone point me in the right direction? As you can see from the attached, Only selecting 'All Files (".") delivers the result I am looking for. I have already pursued the following link with the same results. http://forums.ni.com/t5/LabVIEW/Add-multiple-selections-for-pattern-label-in-file-path-control/m-p/2.... I have also tried using the File Dialog Express.vi and Open/Create/Replace File.vi.
Thank you for helping me address this issue.
Solved!
Go to Solution.Using a semicolon instead of a colon works for me.
-
How Can i open Html file in a Browser from Jar file
Hi
i am having Html help files inside my Jar file ... if i use
getclass().getRource("\lib\start.html");
it is not opening ... so i have to ship seperate folders for html files along with jar files.... can anyone give the solution to have(open) html files inside the jar file and to open then in a default browser of any OS
Regards
Ganesan Sthe follwing method i have used to open html file ...
so to access html file i am shipping resources folder with jar file ..
private void openHtmlPages(String pageName) {
String cmd[] = new String[2];
String browser = null;
File file = null;
if(System.getProperty("os.name").indexOf("Linux")>-1) {
file = new File("/usr/bin/mozilla");
if(!file.exists() ) {
}else {
browser = "mozilla";
}else {
browser = "<path of iexplore>";
cmd[0] = browser;
File files = new File("");
String metaData = "/resources/Help/Files/"+pageName+".html"; // folder inside jar file
java.net.URL url = this.getClass().getResource(metaData);
String fileName = url.getFile();
fileName = fileName.replaceAll("file:/","");
fileName = fileName.replaceAll("%2520"," ");
fileName = fileName.replaceAll("%20"," ");
fileName = fileName.replaceAll("jarfilename.jar!"," ").trim();
cmd[1] = fileName;
try{
Process p = Runtime.getRuntime().exec(cmd);
}catch(java.io.IOException io){
//Ignore
can anyone give me the solution..???
Regards
Ganesan S -
Forms 11g with Webutil don´t show in browser IE 9
Hi people,
I have a problem with Webutil. I installed th Oracle Forms/Reports 11g in Red Hat 5.5 x86_64, and when is necessary run a pure Forms, it´s works.
Now, when I will try run a Forms with Webutil, don´t show in browser IE 9 - Win 7 64bits - Java Plug-in 1.6.0_25 Using JRE version 1.6.0_25-b04 Java HotSpot(TM) Client.
What can be to show only a gray screen and dont show my Forms ? In java console don´t showed any error, neither in WLS_FORMS.log and forms-diagnost.log.
My files (cfg and env) configuration is below (sorry by excess of information, but I believe the more information better):
=========================================
File Located
=========================================
webutil.pll in $FORMS_PATH
webutil.plx in $FORMS_PATH
webutil.olb in $FORMS_PATH
frmwebutil.jar $ORACLE_HOME/forms/java
frmall.jar $ORACLE_HOME/forms/java
jacob.jar $ORACLE_HOME/forms/java
forms_base_ie.js $ORACLE_HOME/forms/java
forms_ie.js $ORACLE_HOME/forms/java
jacob.dll $ORACLE_HOME/forms/webutil/
ffisamp.dll $ORACLE_HOME/forms/webutil/
d2kwut60.dll $ORACLE_HOME/forms/webutil/
JNIsharedstubs.dll $ORACLE_HOME/forms/webutil/
webutil.cfg $ORACLE_INSTANCE/config/FormsComponent/forms/server/
webutilbase.htm $ORACLE_INSTANCE/config/FormsComponent/forms/server
webutiljini.htm $ORACLE_INSTANCE/config/FormsComponent/forms/server
webutiljpi.htm $ORACLE_INSTANCE/config/FormsComponent/forms/server
=========================================
Java Console Information
=========================================
basic: Starting applet teardown
basic: Finished applet teardown
basic: Starting applet teardown
basic: Finished applet teardown
basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@88d319
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/frmall.jar
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/frmwebutil.jar
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/jacob.jar
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Internet Explorer TrustedPublisher certificate store
security: Loaded certificates from Internet Explorer TrustedPublisher certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Start to check whether root CA is replaced
security: The root CA hasnt been replaced
security: No timestamping info available
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 270461 us, pluginInit dt 1187686126 us, TotalTime: 1187956587 us
RegisterWebUtil - Loading WebUtil Version 11.1.1.4
basic: Applet initialized
basic: Removed progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@88d319
basic: Applet made visible
basic: Starting applet
basic: completed perf rollup
basic: Applet started
basic: Told clients applet is started
basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@1b06a21
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/frmall.jar
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/frmall.jar
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/frmwebutil.jar
basic: Plugin2ClassLoader.addURL parent called for http://machine01.br.job.com:8002/forms/java/jacob.jar
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Internet Explorer TrustedPublisher certificate store
security: Loaded certificates from Internet Explorer TrustedPublisher certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Start to check whether root CA is replaced
security: The root CA hasnt been replaced
security: No timestamping info available
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 270461 us, pluginInit dt 1187728773 us, TotalTime: 1187999234 us
basic: Applet initialized
basic: Removed progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@1b06a21
basic: Applet made visible
basic: Starting applet
basic: completed perf rollup
basic: Loaded image: jar:http://machine01.br.job.com:8002/forms/java/frmall.jar!/oracle/forms/icons/splash.gif
basic: Loaded image: jar:http://machine01.br.job.com:8002/forms/java/frmall.jar!/oracle/forms/icons/oracle_logo.gif
basic: Loaded image: jar:http://machine01.br.job.com:8002/forms/java/frmall.jar!/oracle/forms/icons/bgnd.gif
Forms Session ID is formsapp.14
network: Cache entry not found [url: http://machine01.br.job.com:8002/forms/registry/oracle/forms/registry/default.dat, version: null]
network: Connecting http://machine01.br.job.com:8002/forms/registry/oracle/forms/registry/default.dat with proxy=DIRECT
network: Connecting http://machine01.br.job.com:8002/ with proxy=DIRECT
The proxy host is null, and the proxy port is 0.
Native HTTP implementation is being used for the connection.
The connection mode is HTTP.
network: Connecting http://machine01.br.job.com:8002/forms/frmservlet?config=flash&ifsessid=formsapp.14&acceptLanguage=en-US&ifcmd=startsession&iflocale=en-US with proxy=DIRECT
network: Connecting http://machine01.br.job.com:8002/forms/lservlet;jsessionid=1scsTYJcjSTg2LR7JTqXv9gq9bWvRJbLzWt1FTFrk2rcp2qrGNHL!1640610756?ifcmd=getinfo&ifhost=Mxxxx&ifip=10.xx.xx.xxx with proxy=DIRECT
network: Connecting http://machine01.br.job.com:8002/forms/lservlet;jsessionid=1scsTYJcjSTg2LR7JTqXv9gq9bWvRJbLzWt1FTFrk2rcp2qrGNHL!1640610756 with proxy=DIRECT
Forms Applet version is 11.1.1.4
network: Connecting http://machine01.br.job.com:8002/forms/lservlet;jsessionid=1scsTYJcjSTg2LR7JTqXv9gq9bWvRJbLzWt1FTFrk2rcp2qrGNHL!1640610756 with proxy=DIRECT
2011-Aug-26 18:00:31.823 WUI[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.832 WUF[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.837 WUH[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.841 WUS[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.849 WUT[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.854 WUO[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.858 WUL[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.864 WUB[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2011-Aug-26 18:00:31.869 WUI[VBeanCommon.destroy()] WebUtil GetClientInfo Utility being removed..
2011-Aug-26 18:00:31.870 WUF[VBeanCommon.destroy()] WebUtil Client Side File Functions being removed..
2011-Aug-26 18:00:31.870 WUH[VBeanCommon.destroy()] WebUtil Client Side Host Commands being removed..
2011-Aug-26 18:00:31.871 WUS[VBeanCommon.destroy()] WebUtil Session Monitoring Facilities being removed..
2011-Aug-26 18:00:31.872 WUT[VBeanCommon.destroy()] WebUtil File Transfer Bean being removed..
2011-Aug-26 18:00:31.872 WUO[VBeanCommon.destroy()] WebUtil Client Side Ole Functions being removed..
2011-Aug-26 18:00:31.872 WUL[VBeanCommon.destroy()] WebUtil C API Functions being removed..
2011-Aug-26 18:00:32.16 WUB[VBeanCommon.destroy()] WebUtil Browser Functions being removed..
network: Connecting http://machine01.br.job.com:8002/forms/lservlet;jsessionid=1scsTYJcjSTg2LR7JTqXv9gq9bWvRJbLzWt1FTFrk2rcp2qrGNHL!1640610756 with proxy=DIRECT
basic: Applet started
basic: Told clients applet is started
Dumping class loader cache...
Live entry: key=http://machine01.br.job.com:8002/forms/java/,frmall.jar,frmwebutil.jar,jacob.jar, refCount=1, threadGroup=sun.plugin2.applet.Applet2ThreadGroup[name=http://machine01.br.job.com:8002/forms/java/-threadGroup,maxpri=4]
Live entry: key=http://machine01.br.job.com:8002/forms/java/,frmall.jar,frmall.jar,frmwebutil.jar,jacob.jar, refCount=1, threadGroup=sun.plugin2.applet.Applet2ThreadGroup[name=http://machine01.br.job.com:8002/forms/java/-threadGroup,maxpri=4]
Done.
! ======== This information above is show when I execute the forms in IE 9 ======== !
! ========Below information about the JRE Plugin ======== !
Dump system properties ...
======== ======== ======== ========
__jvm_launched = 109763333269
acl.read = +
acl.read.default =
acl.write = +
acl.write.default =
awt.toolkit = sun.awt.windows.WToolkit
browser = sun.plugin
browser.vendor = Sun Microsystems, Inc.
browser.version = 1.1
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
file.separator.applet = true
http.agent = Mozilla/4.0 (Windows 7 6.1)
http.auth.serializeRequests = true
https.protocols = TLSv1,SSLv3
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = C:\\PROGRA~2\\Java\\jre6\\classes
java.class.version = 50.0
java.class.version.applet = true
java.endorsed.dirs = C:\Program Files (x86)\Java\jre6\lib\endorsed
java.ext.dirs = C:\Program Files (x86)\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext
java.home = C:\Program Files (x86)\Java\jre6
java.io.tmpdir = C:\Users\users-dir\AppData\Local\Temp\
java.library.path = C:\Program Files (x86)\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Internet Explorer;;C:\Program Files (x86)\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_27\bin;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol
java.rmi.server.RMIClassLoaderSpi = sun.plugin2.applet.JNLP2RMIClassLoaderSpi
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.6.0_25-b04
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.6
java.vendor = Sun Microsystems Inc.
java.vendor.applet = true
java.vendor.url = http://java.sun.com/
java.vendor.url.applet = true
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.6.0_25
java.version.applet = true
java.vm.info = mixed mode, sharing
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 20.0-b11
javaplugin.nodotversion = 160_25
javaplugin.version = 1.6.0_25
javaplugin.vm.options =
javawebstart.version = javaws-1.6.0_25
line.separator = \r\n
line.separator.applet = true
os.arch = x86
os.arch.applet = true
os.name = Windows 7
os.name.applet = true
os.version = 6.1
os.version.applet = true
package.restrict.access.com.sun.deploy = true
package.restrict.access.netscape = false
package.restrict.access.org.mozilla.jss = true
package.restrict.access.sun = true
package.restrict.definition.com.sun.deploy = true
package.restrict.definition.java = true
package.restrict.definition.netscape = true
package.restrict.definition.org.mozilla.jss = true
package.restrict.definition.sun = true
path.separator = ;
path.separator.applet = true
sun.arch.data.model = 32
sun.awt.warmup = true
sun.boot.class.path = C:\Program Files (x86)\Java\jre6\lib\resources.jar;C:\Program Files (x86)\Java\jre6\lib\rt.jar;C:\Program Files (x86)\Java\jre6\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jre6\lib\jsse.jar;C:\Program Files (x86)\Java\jre6\lib\jce.jar;C:\Program Files (x86)\Java\jre6\lib\charsets.jar;C:\Program Files (x86)\Java\jre6\lib\modules\jdk.boot.jar;C:\Program Files (x86)\Java\jre6\classes;C:\\PROGRA~2\\Java\\jre6\\lib\\deploy.jar;C:\\PROGRA~2\\Java\\jre6\\lib\\javaws.jar;C:\\PROGRA~2\\Java\\jre6\\lib\\plugin.jar
sun.boot.library.path = C:\Program Files (x86)\Java\jre6\bin
sun.cpu.endian = little
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.java.command = sun.plugin2.main.client.PluginMain write_pipe_name=jpi2_pid2480_pipe4,read_pipe_name=jpi2_pid2480_pipe3
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = Cp1252
sun.management.compiler = HotSpot Client Compiler
sun.net.client.defaultConnectTimeout = 120000
sun.net.http.errorstream.enableBuffering = true
sun.os.patch.level = Service Pack 1
sun.plugin2.jvm.args = -D__jvm_launched=109763333269 "-Xbootclasspath/a:C:\\\\PROGRA~2\\\\Java\\\\jre6\\\\lib\\\\deploy.jar;C:\\\\PROGRA~2\\\\Java\\\\jre6\\\\lib\\\\javaws.jar;C:\\\\PROGRA~2\\\\Java\\\\jre6\\\\lib\\\\plugin.jar" "-Djava.class.path=C:\\\\PROGRA~2\\\\Java\\\\jre6\\\\classes" -Dsun.awt.warmup=true --- --
trustProxy = true
user.country = US
user.dir = \\machine-desktop\USERS$\users-dir\Desktop
user.home = C:\Users\users-dir
user.language = en
user.name = users-dir
user.timezone = America/Sao_Paulo
user.variant =
================================
Dump deployment properties ...
================================
deployment.browser.path = C:\Program Files (x86)\Internet Explorer\iexplore.exe
deployment.browser.vm.iexplorer = true
deployment.browser.vm.mozilla = true
deployment.cache.enabled = true
deployment.cache.jarcompression = 0
deployment.cache.max.size = -1
deployment.capture.mime.types = true
deployment.console.startup.mode = SHOW
deployment.control.panel.log = false
deployment.javapi.cache.update = false
deployment.javapi.lifecycle.exception = true
deployment.javapi.log.filename =
deployment.javapi.runtime.type = 0
deployment.javapi.stop.timeout = 200
deployment.javapi.trace.filename =
deployment.javaws.associations = ASK_USER
deployment.javaws.autodownload = PROMPT
deployment.javaws.cache.update = false
deployment.javaws.concurrentDownloads = 4
deployment.javaws.home.jnlp.url = http://java.sun.com/products/javawebstart
deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
deployment.javaws.logFileName =
deployment.javaws.muffin.max = 256
deployment.javaws.shortcut = ASK_IF_HINTED
deployment.javaws.ssv.enabled = true
deployment.javaws.traceFileName =
deployment.javaws.uninstall.shortcut = false
deployment.javaws.update.timeout = 1500
deployment.javaws.viewer.bounds = 280,272,720,360
deployment.jpi.mode.new = true
deployment.log = true
deployment.max.output.file.size = 10
deployment.max.output.files = 5
deployment.mime.types.use.default = true
deployment.proxy.bypass.local = false
deployment.proxy.override.hosts =
deployment.proxy.same = false
deployment.proxy.type = 3
deployment.repository.askdownloaddialog.show = true
deployment.repository.enabled = true
deployment.security.SSLv2Hello = false
deployment.security.SSLv3 = true
deployment.security.TLSv1 = true
deployment.security.askgrantdialog.notinca = true
deployment.security.askgrantdialog.show = true
deployment.security.authenticator = true
deployment.security.blacklist.check = true
deployment.security.browser.keystore.use = true
deployment.security.clientauth.keystore.auto = true
deployment.security.expired.warning = true
deployment.security.https.warning.show = true
deployment.security.jsse.hostmismatch.warning = true
deployment.security.mixcode = ENABLE
deployment.security.notinca.warning = true
deployment.security.password.cache = true
deployment.security.pretrust.list = true
deployment.security.sandbox.awtwarningwindow = true
deployment.security.sandbox.jnlp.enhanced = true
deployment.security.trusted.policy =
deployment.security.validation.crl = false
deployment.security.validation.ocsp = false
deployment.security.validation.ocsp.publisher = false
deployment.system.cachedir = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\SystemCache
deployment.system.security.blacklist = C:\Program Files (x86)\Java\jre6\lib\security\blacklist
deployment.system.security.cacerts = C:\Program Files (x86)\Java\jre6\lib\security\cacerts
deployment.system.security.jssecacerts = C:\Program Files (x86)\Java\jre6\lib\security\jssecacerts
deployment.system.security.oldcacerts = C:\Program Files (x86)\Java\jre6\lib\security\cacerts
deployment.system.security.oldjssecacerts = C:\Program Files (x86)\Java\jre6\lib\security\jssecacerts
deployment.system.security.trusted.certs = C:\Program Files (x86)\Java\jre6\lib\security\trusted.certs
deployment.system.security.trusted.clientauthcerts = C:\Program Files (x86)\Java\jre6\lib\security\trusted.clientcerts
deployment.system.security.trusted.jssecerts = C:\Program Files (x86)\Java\jre6\lib\security\trusted.jssecerts
deployment.system.security.trusted.libraries = C:\Program Files (x86)\Java\jre6\lib\security\trusted.libraries
deployment.system.security.trusted.publishers = C:\Program Files (x86)\Java\jre6\lib\security\trusted.publishers
deployment.system.tray.icon = true
deployment.trace = true
deployment.update.mime.types = true
deployment.user.cachedir = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\cache
deployment.user.extdir = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\ext
deployment.user.logdir = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\log
deployment.user.security.blacklist = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\blacklist
deployment.user.security.policy = file://C:/Users/users-dir/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
deployment.user.security.saved.credentials = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\auth.dat
deployment.user.security.trusted.cacerts = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts
deployment.user.security.trusted.certs = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
deployment.user.security.trusted.clientauthcerts = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.clientcerts
deployment.user.security.trusted.jssecacerts = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts
deployment.user.security.trusted.jssecerts = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecerts
deployment.user.security.trusted.libraries = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.libraries
deployment.user.security.trusted.publishers = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\security\trusted.publishers
deployment.user.tmp = C:\Users\users-dir\AppData\LocalLow\Sun\Java\Deployment\tmp
deployment.version = 6.0
java.quick.starter = false
================================
# ================================
# formsweb.cfg -
# ================================
[default]
baseHTML=base.htm
baseHTMLjpi=basejpi.htm
HTMLdelimiter=%
envFile=default.env
escapeparams=true
form=test.fmx
userid=
debug=no
host=
port=
digitSubstitution=context
otherparams=obr=%obr% record=%record% tracegroup=%tracegroup% log=%log% term=%term% ssoProxyConnect=%ssoProxyConnect%
obr=no
record=
tracegroup=
log=
term=
pageTitle=Oracle Fusion Middleware Forms Services
HTMLbodyAttrs=
HTMLbeforeForm=
HTMLafterForm=
serverURL=/forms/lservlet
codebase=/forms/java
imageBase=codebase
width=750
height=600
separateFrame=false
splashScreen=
allowAlertClipboard=true
disableValidateClipboard=false
highContrast=false
background=
lookAndFeel=Oracle
colorScheme=teal
logo=
restrictedURLparams=pageTitle,HTMLbodyAttrs,HTMLbeforeForm,HTMLafterForm,log
formsMessageListener=
recordFileName=
serverApp=default
archive=frmall.jar
networkRetries=0
jpi_download_page=http://java.sun.com/products/archive/j2se/6u12/index.html
jpi_classid=clsid:CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA
jpi_codebase=http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab#Version=1,6,0,12
jpi_mimetype=application/x-java-applet;jpi-version=1.6.0_12
legacy_lifecycle=false
ssoDynamicResourceCreate=false
ssoErrorUrl=
ssoCancelUrl=
ssoMode=false
ssoProxyConnect=no
allow_debug=false
allowNewConnections=true
EndUserMonitoringEnabled=false
EndUserMonitoringURL=
applet_name=
enableJavascriptEvent=true
JavaScriptBlocksHeartBeat=false
[webutil]
allow_debug=false
debug=false
form=WU_TEST_106.fmx
allowNewConnections=false
userid=webutil/webutil@des_tcp.world
WebUtilArchive=frmwebutil.jar,jacob.jar,frmall.jar
WebUtilLogging=on
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTML=webutilbase.htm
baseHTMLjpi=webutiljpi.htm
archive=
lookAndFeel=oracle
[flash]
HTMLdelimiter=%
envFile=flashwebn.env
escapeparams=true
form=flash/FLASHWEB.fmx
userid=user/password/tns_names
debug=no
host=
port=
digitSubstitution=context
otherparams=obr=%obr% record=%record% tracegroup=%tracegroup% log=%log% term=%term% ssoProxyConnect=%ssoProxyConnect%
obr=no
record=
tracegroup=
log=/tmp/flashweb.log
term=
pageTitle=Oracle Fusion Middleware Forms Services
HTMLbodyAttrs=
HTMLbeforeForm=
HTMLafterForm=
serverURL=/forms/lservlet
codebase=/forms/java
imageBase=codebase
width=750
height=600
separateFrame=false
splashScreen=
allowAlertClipboard=true
disableValidateClipboard=false
highContrast=false
background=
colorScheme=teal
logo=
restrictedURLparams=pageTitle,HTMLbodyAttrs,HTMLbeforeForm,HTMLafterForm,log
formsMessageListener=
recordFileName=
serverApp=default
archive=frmall.jar
networkRetries=0
jpi_download_page=http://java.sun.com/products/archive/j2se/6u12/index.html
jpi_classid=clsid:CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA
jpi_codebase=http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab#Version=1,6,0,12
jpi_mimetype=application/x-java-applet;jpi-version=1.6.0_12
legacy_lifecycle=false
ssoDynamicResourceCreate=false
ssoErrorUrl=
ssoCancelUrl=
ssoMode=false
ssoProxyConnect=no
allow_debug=false
allowNewConnections=true
EndUserMonitoringEnabled=false
EndUserMonitoringURL=
applet_name=
enableJavascriptEvent=true
JavaScriptBlocksHeartBeat=false
WebUtilArchive=frmall.jar,frmwebutil.jar,jacob.jar
WebUtilLogging=all
WebUtilLoggingDetail=CONSOLE
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTML=webutilbase.htm
baseHTMLjpi=webutiljpi.htm
lookAndFeel=oracle
# ================================
# webutil.cfg - WebUtil default configuration file
# ================================
logging.file=/tmp/webutil.log
logging.enabled=TRUE
logging.errorsonly=TRUE
logging.connections=TRUE
install.syslib.location=/webutil
install.syslib.0.7.1=jacob.dll|106496|1.10.1|true
install.syslib.0.9.1=JNIsharedstubs.dll|65582|1.0|true
install.syslib.0.9.2=d2kwut60.dll|192512|1.0|true
install.syslib.0.user.1=ffisamp.dll|40960|1.0|true
transfer.database.enabled=TRUE
transfer.appsrv.enabled=TRUE
transfer.appsrv.workAreaRoot=/tmp
transfer.appsrv.accessControl=TRUE
transfer.appsrv.read.1=/tmp
transfer.appsrv.write.1=/tmp
BlockAllowHeartBeat=False
# ================================
# default.env - default Forms environment file, Linux version
# ================================
ORACLE_HOME=/usr/lic/oracle/home/Oracle/Middleware/as
ORACLE_INSTANCE=/usr/lic/oracle/home/Oracle/Middleware/asinst
TNS_ADMIN=/usr/lic/oracle/home/Oracle/Middleware/asinst/config
FORMS_PATH=/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash:/usr/lic/oracle/home/Oracle/Middleware/as/forms:/usr/lic/oracle/home/Oracle/Middleware/asinst/FormsComponent/forms:/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash/tool
WEBUTIL_CONFIG=/usr/lic/oracle/home/Oracle/Middleware/asinst/config/FormsComponent/forms/server/webutil.cfg
FORMS_RESTRICT_ENTER_QUERY=TRUE
CLASSPATH=/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/frmall.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/frmwebutil.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/jacob.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/j2ee/frmsrv.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/ldapjclnt11.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/debugger.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/ewt3.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/share.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/utj.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/zrclient.jar:/usr/lic/oracle/home/Oracle/Middleware/as/reports/jlib/rwrun.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/start_dejvm.jar:/usr/lic/oracle/home/Oracle/Middleware/as/opmn/lib/optic.jar
PATH=/usr/lic/oracle/home/Oracle/Middleware/as/bin:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/bin
LD_LIBRARY_PATH=/usr/lic/oracle/home/Oracle/Middleware/as/lib:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/server:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/native_threads
LD_PRELOAD=/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/libjsig.so
# ================================
# flashwebn.env - default Forms environment file, Linux version
# ================================
ORACLE_HOME=/usr/lic/oracle/home/Oracle/Middleware/as
ORACLE_INSTANCE=/usr/lic/oracle/home/Oracle/Middleware/asinst
TNS_ADMIN=/usr/lic/oracle/home/Oracle/Middleware/asinst/config
FORMS_RESTRICT_ENTER_QUERY=TRUE
FORMS_TIMEOUT=120
FORMS_PATH=/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash:/usr/lic/oracle/home/Oracle/Middleware/as/forms:/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash/tool
REPORTS_PATH=/usr/lic/oracle/home/Oracle/Middleware/as/reports
REPORTS_SERVER=rep_wls_reports_machine01_asinst
PATH_REPORTS_CACHE=/tmp/
PATH_REPORTS_LOCAL=/tmp/
WEBUTIL_CONFIG=/usr/lic/oracle/home/Oracle/Middleware/asinst/config/FormsComponent/forms/server/webutil.cfg
FORMS_RESTRICT_ENTER_QUERY=FALSE
FORMS_USERNAME_CASESENSITIVE=1
CLASSPATH=/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/frmall.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/frmwebutil.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/j2ee/frmsrv.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/ldapjclnt11.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/debugger.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/ewt3.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/share.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/utj.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/zrclient.jar:/usr/lic/oracle/home/Oracle/Middleware/as/reports/jlib/rwrun.jar:/usr/lic/oracle/home/Oracle/Middleware/as/jlib/start_dejvm.jar:/usr/lic/oracle/home/Oracle/Middleware/as/opmn/lib/optic.jar:/usr/lic/oracle/home/Oracle/Middleware/as/forms/java/jacob.jar
#PATH=/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash:/usr/lic/oracle/home/Oracle/Middleware/as/forms:/usr/lic/oracle/home/Oracle/Middleware/asinst/FormsComponent/forms:/usr/lic/oracle/home/Oracle/Middleware/as/forms/flash/tool
LD_PRELOAD=/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/libjsig.so:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/server/libjvm.so:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/native_threads/libhpi.so
LD_LIBRARY_PATH=/usr/lic/oracle/home/Oracle/Middleware/as/lib:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/server:/usr/lic/oracle/home/Oracle/Middleware/as/jdk/jre/lib/amd64/native_threadsIf you managed to get to the point where the applet container is created (the "gray square"), but the form never appears then you can assume one or more of the following has occurred:
1. The JRE crashed after startup. Many times, but not always, if such a crash occurs it will leave a JRE dump file on the desktop. Its content may help to identify the cause.
2. The Forms runtime crashed at startup. Many times, but not always, a Forms dump file will be created on the server. Its content may help to identify the cause.
3. The Forms runtime was unable to start at all. This can occur on unix systems when/if there is a resource or permissions issue. One of the more common causes is if the file descriptor (nofiles) value is set too low.
4. The applet is actually running, but has attempted to display a dialog box and is awaiting your acknowledgement, but the box was wrongfully sent to the background behind the browser. A similar issue was reported in one of the JRE 1.6.0_xx series, however I don't recall which one. Uninstall your current version and install the latest which is 1.6.0_27
There are other possibilities, but these are most common.
I would recommend the following:
1. Uninstall any JRE older than 1.6.0_27. Reboot. Install 1.6.0_27
2. Set networkRetries=5 in formsweb.cfg
3. Set FORMS_TIMEOUT to 15 (default). Setting to a high value as you have is not recommended and is rarely necessary.
4. Verify that the test form works. For example:
http://machine:port/forms/frmservlet?form=test
5. It appears that you are trying to use WU_TEST_106.fmx. Instead, download an updated version of this file (the name has also changed)
http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/196249.zip
6. Ensure that you have compiled webutil.pll into .plx. Do not use an old version of this file. The installation will include one. If not, check for it in an installation that also includes the Builders. -
Cannot find the HTML browser installed on your system
Guys forgive me if you have answered this before, I have
tried a search of previous issues TNA.
I have reloaded R/H 6 to my laptop (with full admin rights
set against my user name) everything except works except generating
in Microsoft HTML Help I get the following error when I click
Finish: cannot find the HTML browser installed on your system
Any ideas welcome. With thanks, JHi JayRichard
You might try the following.
Inside RoboHelp HTML, click Tools > Options...
Click the Tool Locations tab
At the bottom of the dialog should be an area listing
"Browser paths". You should see one for Internet Explorer and one
for Netscape. Try clicking the little file folder icon to the right
of one of them. (Whichever browser you are using)
Navigate to and select the executable file for the browser.
Mine for Internet Explorer says:
D:\Program Files\...\iexplore.exe (The full path is
D:\Program Files\Internet Explorer\iexplore.exe
Dismiss the dialogs by clicking the Open and OK buttons until
they are all gone.
Keep us posted on whether this helps... Rick -
Content Server Publishing Target paths do not match
In Content Server 5.0.2, I need to change the publishing target information from a local mapped drive to an FTP site hosted by a third party. After entering all the information and I click "Test Publish Target", I get the following error:
"The site specified by the Browser Path does not match the Transfer Path location."
The transfer path looks something like this:
ftp://upload.thirdparty.com/12345/target_folder/
and the browser path like this:
http://download.server.com/target_folder/
Can someone tell me why I get this error? Is it because upload.thirdparty.com and download.server.com aren't the same (they are, in fact, different machines)? I don't think it's the "12345" folder that's causing this problem because I also specified it in the browser path and I got the same error.
Any help would be greatly appreciated.
Thanks,
-JoseJust to follow up and in case anyone is interested, I was able to publish to my new destination folder in spite of receiving this error.
I assumed that I couldn't publish to the new destination because I was getting this error, but that's clearly not the case. I guess this "Path" check is there as a tool to help, but it doesn't necessarily apply to all configurations. -
Error: Path to URL.VI
Why path to url.vi in Open HTML Report in Browser (Path).vi put the text file://localhost/ before my net path builded with Current VI's Path.vi.
Example:
File Location: \\server01\labviewproduction\help\pag01.html
file location=file patch => path to url => file://localhost/server01\labviewproduction\help\pag01.html =>It's is wrong path.
My Help file HTML don't open in Browser.....MESSAGE: don't is possible find file.
Leonardo de S. Cavadas
Maintenance Engineer and Inspection - Bureau Veritas do Brasil
Engineer Metallurgist with emphasis in Advanced Materials
Technologist in Computer ScienceHmm.... It seems the stock Open URL in Default Browser VI doesn't handle file URLs all that well. I see the issue you're referring to.
What's interesting is that if you call the Open URL in Default Browser core VI directly with a valid file:// URL, it doesn't launch the browser. It doesn't generate an error either. It just doesn't do anything. Yet, I can paste the file:// URL directly in the browser (tried IE and Firefox), so I know the URL is valid.
You can call the Open URL in Default Browser core VI instead of the Open URL in Default Browser VI in the example I had shown. (The Open URL in Default Browser VI simply replaces the spaces in the string and then calls the Open URL in Default Browser core VI.) This seems to work with UNC paths that have spaces. Warning: One odd thing that I found is that the browser got launched, but sometimes returning to LabVIEW crashed LabVIEW. I couldn't replicate this all the time. If you encounter this issue, I would suggest the System Exec route, as done in the example VI in this message.
It seems that NI has a little work to do with that VI and file URLs. -
TypeError: aUrl is undefined
TypeError: aUrl is undefined chrome://browser/content/urlbarBindings.xml
It points to the following code:
<pre><nowiki><method name="_parseActionUrl">
<parameter name="aUrl"/>
<body><![CDATA[
if (!aUrl.startsWith("moz-action:"))
return null;
// url is in the format moz-action:ACTION,PARAM
let [, action, param] = aUrl.match(/^moz-action:([^,]+),(.*)$/);
return {type: action, param: param};
]]></body>
</method></nowiki></pre>
What might cause this error?<br />
I get it on startup, and later (SOMETIMES) just moving the focus from the Urlbar and back again initiates another error.
If I start Fx in a safe mode from a regular mode, it happens as well.<br />
If, however, I start Fx in a safe mode from a safe mode it doesn’t happen.
Thank you.Try a clean reinstall and delete the Firefox program folder before reinstalling a fresh copy of Firefox.
Download a fresh Firefox copy and save the file to the desktop.
*Firefox 18.0.x: http://www.mozilla.org/en-US/firefox/all.html
Uninstall your current Firefox version, if possible, to cleanup the Windows registry and settings in security software.
*Do NOT remove personal data when you uninstall your current Firefox version, because all profile folders will be removed and you will also lose your personal data like bookmarks and passwords from profiles of other Firefox versions.
Remove the Firefox program folder before installing that newly downloaded copy of the Firefox installer.
*It is important to delete the Firefox program folder to remove all the files and make sure that there are no problems with files that were leftover after uninstalling.
*(32 bit Windows) C:\Program Files\Mozilla Firefox\
*(64 bit Windows) C:\Program Files (x86)\Mozilla Firefox\
*http://kb.mozillazine.org/Uninstalling_Firefox
Your bookmarks and other profile data are stored in the Firefox Profile Folder and won't be affected by an uninstall and (re)install, but make sure that "remove personal data" is NOT selected when you uninstall Firefox.
*http://kb.mozillazine.org/Profile_folder_-_Firefox
*http://kb.mozillazine.org/Profile_backup
*http://kb.mozillazine.org/Standard_diagnostic_-_Firefox#Clean_reinstall -
Always Displays Default Test.fmx In Browser
Hello,
I am new to forms and I am trying to learn it.
I have installed Developer Suite and when I created a small forms module.
When I tried to run from Forms Builder, it always showing up the Forms screen in browser as
Installed Successfully
Oracle Application Server
Forms Services
How can I run my fmb when I run from Forms Builder?
Thanks in advanceOpen the Preferences from the Edit Menu like stated in the above post, and choose the "Runtime" tab and click on "Reset to Default" for the "Application Server URL" and make sure the Browser path is correct.
This will allow you to run any form from the Builder without changing anything from the formsweb.cfg file. You simply create the form you want, start OC4J and click on the "Run Form" button in the BUilder's toolbar and you have the Form in front of you in the browser.
Tony -
My company uses Lotus Notes and I want to set Firefox as my browser in LN. It ask for internet browser path...where do I find that?
Blackboard tends to update their software once a year, before the start of the fall term, and most of the time they seem to be a year behind the current versions of Firefox. Another problem that crops up with Blackboard is that not all schools use the latest version of the Blackboard software, many schools since 2008 have been postponing updates for the software that they use due to the economy.
Quite honestly, until Mozilla comes up with a Long Term Support version ''(if they do that)'' this situation of company's like Blackboard falling behind the curve of Firefox updates is only going to get worse.
As far as Lotus Notes goes, I wonder if your school is behind on updating that software? IIRC, I have seem mention of updates for Lotus Notes to handle remote XUL problems in 4.0+ versions, brought about by security fixes in 4.0. <br />
https://developer.mozilla.org/en/using_remote_xul <br />
Or you could try this extension.<br />
https://addons.mozilla.org/en-US/firefox/addon/remote-xul-manager/
Bottom line - install Firefox Portable 3.6.22 to your hard drive to use at websites that can't handle the newer versions of Firefox. <br />
http://portableapps.com/apps/internet/firefox_portable/localization#legacy36 <br />
And use Firefox 6.0.2 ''(and upcoming versions)'' at the more modern websites which are embracing the web technology being developed for the 2nd decade of this century. -
Convert old cs4 script to illustrator cc
This is a big ask, but I found this script to remove redundant points at github.com/mekkablue/Glyphs-Scripts
Each time I run, it seems to work, it shows how many points it has removed, but then illustrator crashes, with no kind of error notice.
If I run it via extendscript toolkit it jumps to the following bit of code
var docRef=app.activeDocument;
I would really love to get this to work, if anyone is willing to help me.
RemovetRedundantPoints.jsx
A Javascript for Adobe Illustrator
Author:
Jim Heck
[email protected]
Purpose:
Remove anchorpoints on selected path that are coincident in location.
Finds and optionally removes redundant points from each selected PathItem.
Useful for cleaning up after Offset Path and Outline Stroke commands in CS3.
To Use:
Select the paths, including compound paths to be affected. If no path is
selected, the script will run for all paths in the document that are not
locked. Run the script.
Rights:
This work is licensed under the Creative Commons Attribution 3.0 United States
License. To view a copy of this license, visit
http://creativecommons.org/licenses/by/3.0/us/
or send a letter to Creative Commons, 171 Second Street, Suite 300,
San Francisco, California, 94105, USA.
Version History:
1.8 120108 More fixes to the logic for keeping only a single point.
The direction handles for the remaining point are now correctly calculated
based on relative angle and distance to the original anchor to which a
handle related. Also if a SMOOTH point is remaining, the angle of the
two direction handles has been tweaked to be exactly 180 degrees for
consistency with the definition of a SMOOTH point.
1.7 120106 Change the way direction handles and PointType are handled
when keeping only one point. Retract handles less than 0.5 points to keep
consistent angles for SMOOTH point types. If keepLeadingPoint or
keepTrailingPoint is specified, try to keep the PointType of that point.
In the absence of other indicators, base PointType on the point (leading
or trailing) that has an extended handle.
1.6.1 090914 Tweak defaults to make sense for my work style
1.6 090411 Fix a bug in creating a temporary path. Fix a bug in
findRedundantPoints(), when searching backwards, the tolerance was always
applied against the first point on the path instead of the adjacent point
along the path. Change selection options so that there is more control over
which points are processed on a given path. The new options allow for ignoring
selection of points, restricting processing to only selected points, or
processing redundant points if at least one of them is selected. Correct count
of redundant points removed when both leading and trailing points retained.
1.5 090404 Change default action to remove. Fix a major performance issue
in the docGetSelectedPaths() routine. Searching through all the paths in very
complex files takes a LONG time. Instead, search the document groups array.
BETA: Lots of hacking on the removeRedundantPoints() routine to improve the
look of the resulting curve when applied to the oxbow problem.
1.4.1 090331 Fix a bug in removeRedundantPoints(), needed to compare absolute
error to a tolerance. Also, loosen up the error criteria so less smooth
points are mischaracterized as corners. Tolerance is now 0.02 radians,
which is about 1.15 degrees. For some reason, the redundant points on
arbitrary (non-geometric) outlined paths have lots of slop in the
direction handles.
1.4 090331 Add options to control which points are left on removal, leading,
trailing or both. If neither is retained, the redundant point positions
are averaged. If both are retained, intermediate points are removed, and
inward facing control handles are synthesized (see comments below).
Switched to using the atan2 function instead of atan for calculating theta.
Fixed bugs in docGetSelectedPaths(). CompoundPathItem objects don't seem
to have properly formed pathItems arrays when they contain what appear to
be groups of paths. Also, layer objects can contain layers.
1.3.1 090327 Limit user entered tolerance value to something sane.
1.3 090327 Add user controls to specify a tolerance in points for identifying
redundant points.
1.2.3 090327 Improve results dialog verbiage.
1.2.2 090326 Bug fix. Observe proper unlocking and locking order for
handling of locked objects.
1.2.1 090326 Minor bug fixes including, restricting selection only option
to not be allowed with selection function.
1.2 090326 Add option to remove only redundant points sets with at least one
selected point. Fix broken option to remove locked redundant points.
Add results dialog OK button.
1.1 090325 Improve select action to work across selection or entire document.
Handle nested layers in docGetSelectedPaths(). Clean whitespace.
1.0.1 090325 Minor bug fix.
1.0 090311 Initial release.
* Function: getPairTheta
* Description:
* Return the angle relative to the X axis from the line formed between
* two points, which are passed in as arguments. The angle is measured
* relative to point A (as if A were relocated to the origin, and the angle
* is measured to the X axis itself). The arguments are expected to be
* arrays of two numbers (X, Y) defining the point. The return value is in
* radians (PI to -PI)
function getPairTheta(pairA,pairB){
var deltaX=pairB[0]-pairA[0];
var deltaY=pairB[1]-pairA[1];
/*alert("deltaX="+deltaX+" deltaY="+deltaY);*/
return(Math.atan2(deltaY, deltaX));
* Function: getPairDistance
* Description:
* Return the distance between two points. The arguments are expected to be
* arrays of two numbers (X, Y) defining the point. The return value is the
* distance in units relative to the inputs.
function getPairDistance(pairA,pairB){
var deltaX=pairB[0]-pairA[0];
var deltaY=pairB[1]-pairA[1];
return(Math.sqrt((deltaX*deltaX)+(deltaY*deltaY)));
* Function: findRedundantPoints
* Description:
* Find all sets of redundant points for the input path. A redundant point
* is defined as one that has the same anchor location as a neighboring point.
* The arguments are a path to work on, the tolerance in points to apply to
* determine a point is redundant, and a boolean to indicate that only
* groups of redundant points where at least one point is selected should
* be considered. The return value is an Array of Arrays containing the
* indicies of the redundant pathPoint objects found in the path.
function findRedundantPoints(path, tolerance, anySelected, allSelected){
var anchorDistance = 0;
var redundantPointSets = new Array();
var redundantPoint = new Array();
var selectedRedundantPointSets = new Array();
var selectedRedundantPoint = new Array();
var i = 0;
var j = 0;
var k = 0;
var index;
var selected = false;
if(path.pathPoints.length > 1) {
* The first path point may be coincident with some at the end of the path
* so we check going backwards first. Redundant points pushed on the
* front of the array so they stay in order leftmost to rightmost.
redundantPoint.push(0);
index = 0;
for (i=path.pathPoints.length-1; i>0; i--) {
* Get distance and round to nearest hundredth of a point.
* If points are closer than the tolerance, consider them
* coincident.
anchorDistance = getPairDistance(path.pathPoints[index].anchor, path.pathPoints[i].anchor);
anchorDistance = roundToPrecision(anchorDistance, 0.01);
if (anchorDistance < tolerance) {
redundantPoint.unshift(i);
else {
break;
index = i;
* If we haven't used up all the points, start searching forwards
* up to the point we stopped searching backwards. Test the
* current point against the next point. If the next point matches push
* its index onto the redundantPoint array. When the first one doesn't match,
* check if the redundantPoint array has more than one index. If so add it
* to the redundantPointSets array. Then clean the redundantPoint array
* and push on the next point index.
if(i > 0) {
for (j=0; j<i; j++) {
anchorDistance = getPairDistance(path.pathPoints[j].anchor, path.pathPoints[j+1].anchor);
anchorDistance = roundToPrecision(anchorDistance, 0.01);
if (anchorDistance < tolerance) {
redundantPoint.push(j+1);
else {
if (redundantPoint.length > 1) {
redundantPointSets.push(redundantPoint);
redundantPoint = [];
redundantPoint.push(j+1);
* Push the last redundantPoint array onto the redundantPointSets array if
* its length is greater than one.
if (redundantPoint.length > 1) {
redundantPointSets.push(redundantPoint);
if (anySelected) {
for (i=0; i<redundantPointSets.length; i++) {
var currentPointSet = redundantPointSets[i];
selected = false;
for (j=0; j<currentPointSet.length; j++) {
if (path.pathPoints[currentPointSet[j]].selected ==
PathPointSelection.ANCHORPOINT) {
selected = true;
if (selected) {
selectedRedundantPointSets.push(currentPointSet);
else if (allSelected) {
for (i=0; i<redundantPointSets.length; i++) {
var currentPointSet = redundantPointSets[i];
for (j=currentPointSet.length-1; j>=0; j--) {
var currentPoint = path.pathPoints[currentPointSet[j]];
if (currentPoint.selected == PathPointSelection.ANCHORPOINT) {
selectedRedundantPoint.unshift(currentPointSet[j]);
else {
break;
if (j > 0) {
for (k=0; k<j; k++) {
var currentPoint = path.pathPoints[currentPointSet[k]];
if (currentPoint.selected == PathPointSelection.ANCHORPOINT) {
selectedRedundantPoint.push(currentPointSet[k]);
else {
if (selectedRedundantPoint.length > 1) {
selectedRedundantPointSets.push(selectedRedundantPoint);
selectedRedundantPoint = [];
if (selectedRedundantPoint.length > 1) {
selectedRedundantPointSets.push(selectedRedundantPoint);
selectedRedundantPoint = [];
else {
selectedRedundantPointSets = redundantPointSets;
return(selectedRedundantPointSets);
* Function: countRedundantPoints
* Description:
* Count the number of redundant points given a redundantPointSets array as
* the first parameter.
function countRedundantPoints(redundantPointSets, doKeepLeadingPoint, doKeepTrailingPoint) {
var i = 0;
var redundantPoints = 0;
var pointsKept = 1;
if (doKeepLeadingPoint && doKeepTrailingPoint) {
pointsKept = 2;
for (i=0; i<redundantPointSets.length; i++) {
redundantPoints += redundantPointSets[i].length - pointsKept;
return (redundantPoints);
* Function: countSelectedPoints
* Description:
* Count the number of selected anchor points given a path as the first parameter.
function countSelectedPoints(path) {
var i = 0;
var selectedPoints = 0;
for (i=0; i<path.pathPoints.length; i++) {
if (path.pathPoints[i].selected == PathPointSelection.ANCHORPOINT) {
selectedPoints++;
return (selectedPoints);
* Function: removeRedundantPoints
* Description:
* Remove redundant points from a path input as the first parameter. The
* second input parameter should be an array of arrays containing the
* indicies of redundant points, as returned from function
* findRedundantPoints(). From each set of indicies, the first point is
* retained, and the subsequent points are removed from the path. Care is
* taken to preserve the proper leftDirection and rightDirection handles,
* as well as the proper PointType for the remaining point. Returns
* the number of points removed.
function removeRedundantPoints(path, redundantPointSets, keepLeadingPoint, keepTrailingPoint, keepAveragedPoint){
var i = 0;
var j = 0;
var pointsToRemove = new Array();
var tempLayer;
var tempPath;
* For each array of redundant point indicies in array redundantPointSets,
* modify the leadingPoint to have all the properties needed to properly
* describe the set of coincident points.
for (i=0; i<redundantPointSets.length; i++) {
var x = 0;
var y = 0;
var currentPointSet = redundantPointSets[i];
var leadingPoint = path.pathPoints[currentPointSet[0]];
var trailingPoint = path.pathPoints[currentPointSet[currentPointSet.length-1]];
if (keepLeadingPoint && keepTrailingPoint) {
* JAH 090401 REVISIT COMMENT WHEN DONE
* If we are keeping two points, the leftDirection of the leading point
* and rightDirection of the trailing point are already fixed. We have to
* synthesize the inward facing handles, and choose pointType of the two points.
* To allow easy manipultion of the inner handles without disturbing the fixed
* handles, make the points PointType.CORNER. For the direction handles, make
* them parallel to their respective paired handle, and extend them half the
* distance between the two remaining points.
var averagedPoint;
var theta;
var deltaX;
var deltaY;
var pairDistance;
var leftDistance;
var rightDistance;
var firstRemovedIndex = 1;
if (currentPointSet.length > 2) {
averagedPoint = path.pathPoints[currentPointSet[1]];
else {
tempLayer = app.activeDocument.layers.add();
tempLayer.name = "Temp";
tempPath = tempLayer.pathItems.add();
averagedPoint = tempPath.pathPoints.add();
if( currentPointSet.length <= 2 || !keepAveragedPoint ) {
* Use just the leading and trailing points. Create inward facing
* direction handles for the two endpoints based on the relationship
* of the angles between each endpoint and the average point.
* For each endpoint, calcualte the angle of the endpoint to the
* average point, and the endpoint to the other endpoint. Combine
* the angles. The base angle for the inward facing direction handle
* is the angle that points it towards the average point. Add to this
* angle, a multiple of the difference between the angle just mentioned,
* and the angle to the other endpoint. Adding this difference angle
* will bias the curve towards the average point. Finally, set the
* length of the direction handle as the distance from the endpoint
* to the average point multiplied by a factor.
var thetaAverage;
var thetaPair;
var tweakThetaToOppositeEndpoint = 1.0;
var tweakPairDistance = 0.5;
* Since the leading and trailing points will have direction handles pointing
* in different directions, these points must be corner points by necessity.
leadingPoint.pointType = PointType.CORNER;
trailingPoint.pointType = PointType.CORNER;
* Create new average point.
for (j=0; j<currentPointSet.length; j++) {
x += path.pathPoints[currentPointSet[j]].anchor[0];
y += path.pathPoints[currentPointSet[j]].anchor[1];
x /= currentPointSet.length;
y /= currentPointSet.length;
averagedPoint.anchor = Array(x, y);
averagedPoint.leftDirection = Array( averagedPoint.anchor[0], averagedPoint.anchor[1]);
averagedPoint.rightDirection = Array( averagedPoint.anchor[0], averagedPoint.anchor[1]);
averagedPoint.pointType = PointType.CORNER;
/* Calcualte new leading point rightDirection */
pairDistance = getPairDistance(leadingPoint.anchor, averagedPoint.anchor);
thetaAverage = getPairTheta(leadingPoint.anchor, averagedPoint.anchor);
thetaPair = getPairTheta(leadingPoint.anchor, trailingPoint.anchor);
theta = thetaAverage + tweakThetaToOppositeEndpoint * (thetaAverage - thetaPair);
/*alert("thetaAverage="+thetaAverage+" thetaPair="+thetaPair" theta="+theta);*/
deltaX = Math.cos(theta) * tweakPairDistance * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistance * pairDistance;
leadingPoint.rightDirection = Array(leadingPoint.anchor[0]+deltaX, leadingPoint.anchor[1]+deltaY);
/* Calcualte new trailing point leftDirection */
pairDistance = getPairDistance(trailingPoint.anchor, averagedPoint.anchor);
thetaAverage = getPairTheta(trailingPoint.anchor, averagedPoint.anchor);
thetaPair = getPairTheta(trailingPoint.anchor, leadingPoint.anchor);
theta = thetaAverage + tweakThetaToOppositeEndpoint * (thetaAverage - thetaPair);
/*alert("thetaAverage="+thetaAverage+" thetaPair="+thetaPair" theta="+theta);*/
deltaX = Math.cos(theta) * tweakPairDistance * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistance * pairDistance;
trailingPoint.leftDirection = Array(trailingPoint.anchor[0]+deltaX, trailingPoint.anchor[1]+deltaY);
else {
* Use just the leading and trailing points, along with a third point added
* at the average of all the removed points. This point will act to anchor
* the curve at the average point. It will also allow the leading and
* trailing points to be smooth points, allowing for a continuous
* curve through them.
* The inward facing direction handles for the two endpoints will be
* shortened extensions of the outward facing direction handles for these
* points. The length of the handles will be a multiple of the
* distance from the direction handle to the average point.
* For the average point, the direction handles will be parallel to the
* angle formed by the angle between the two endpoints. The length
* of the direction handles for this point will be a different multiple
* of the length from each endpoint to the average point.
var thetaAverage;
var thetaPair;
var tweakPairDistanceForAveraged = 0.5;
var tweakPairDistanceForEndpoint = 0.25;
* Since the leading and trailing points will have direction handles that
* are parallel, make them smooth points.
leadingPoint.pointType = PointType.SMOOTH;
trailingPoint.pointType = PointType.SMOOTH;
/* We will be keeping one more point, the averaged point. */
firstRemovedIndex = 2;
* Create new average point.
for (j=0; j<currentPointSet.length; j++) {
x += path.pathPoints[currentPointSet[j]].anchor[0];
y += path.pathPoints[currentPointSet[j]].anchor[1];
x /= currentPointSet.length;
y /= currentPointSet.length;
averagedPoint.anchor = Array(x, y);
averagedPoint.leftDirection = Array( averagedPoint.anchor[0], averagedPoint.anchor[1]);
averagedPoint.rightDirection = Array( averagedPoint.anchor[0], averagedPoint.anchor[1]);
averagedPoint.pointType = PointType.SMOOTH;
/* Calcualte new averaged point leftDirection */
pairDistance = getPairDistance(leadingPoint.anchor, averagedPoint.anchor);
theta = getPairTheta(leadingPoint.anchor, trailingPoint.anchor);
/*alert("theta="+theta);*/
if (theta > 0) {
theta += Math.PI;
else {
theta += -Math.PI;
deltaX = Math.cos(theta) * tweakPairDistanceForAveraged * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistanceForAveraged * pairDistance;
averagedPoint.leftDirection = Array(averagedPoint.anchor[0]+deltaX, averagedPoint.anchor[1]+deltaY);
/* Calcualte new averaged point rightDirection */
pairDistance = getPairDistance(trailingPoint.anchor, averagedPoint.anchor);
theta = getPairTheta(trailingPoint.anchor, averagedPoint.anchor);
/*alert("theta="+theta);*/
if (theta > 0) {
theta += Math.PI;
else {
theta += -Math.PI;
deltaX = Math.cos(theta) * tweakPairDistanceForAveraged * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistanceForAveraged * pairDistance;
averagedPoint.rightDirection = Array(averagedPoint.anchor[0]+deltaX, averagedPoint.anchor[1]+deltaY);
/* Calculate direction handles for leading and trailing points */
pairDistance = getPairDistance(leadingPoint.anchor, trailingPoint.anchor);
leftDistance = getPairDistance(leadingPoint.anchor, leadingPoint.leftDirection);
if (leftDistance > 0) {
theta = getPairTheta(leadingPoint.anchor, leadingPoint.leftDirection);
/*alert("theta="+theta);*/
if (theta > 0) {
theta += Math.PI;
else {
theta += -Math.PI;
pairDistance = getPairDistance(leadingPoint.anchor, averagedPoint.anchor);
deltaX = Math.cos(theta) * tweakPairDistanceForEndpoint * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistanceForEndpoint * pairDistance;
leadingPoint.rightDirection = Array(leadingPoint.anchor[0]+deltaX, leadingPoint.anchor[1]+deltaY);
else {
leadingPoint.rightDirection = leadingPoint.anchor;
rightDistance = getPairDistance(trailingPoint.anchor, trailingPoint.rightDirection);
if (rightDistance > 0) {
theta = getPairTheta(trailingPoint.anchor, trailingPoint.rightDirection);
if (theta > 0) {
theta += Math.PI;
else {
theta += -Math.PI;
pairDistance = getPairDistance(trailingPoint.anchor, averagedPoint.anchor);
deltaX = Math.cos(theta) * tweakPairDistanceForEndpoint * pairDistance;
deltaY = Math.sin(theta) * tweakPairDistanceForEndpoint * pairDistance;
trailingPoint.leftDirection = Array(trailingPoint.anchor[0]+deltaX, trailingPoint.anchor[1]+deltaY);
else {
trailingPoint.leftDirection = trailingPoint.anchor;
* Push all points other than the leading and trailing onto the pointsToRemove array
* for later removal. We can't remove them while we are working with later sets.
for (j=firstRemovedIndex; j<currentPointSet.length-1; j++) {
pointsToRemove.push(currentPointSet[j]);
else {
* If we are only keeping one point, we will work with the leading point.
* First, calculate the relative distances and angles of the direction handle for
* the leadingPoint leftDirection handle and the trailingPoint rightDirection
* handle. These values will be used to help properly construct the remaining
* point.
var leftDistance = getPairDistance(leadingPoint.anchor, leadingPoint.leftDirection);
var rightDistance = getPairDistance(trailingPoint.anchor, trailingPoint.rightDirection);
var leftTheta = getPairTheta(leadingPoint.anchor, leadingPoint.leftDirection);
var rightTheta = getPairTheta(trailingPoint.anchor, trailingPoint.rightDirection);
* If we are keeping the leadingPoint, calculate a relative rightDirection handle
* based on the trailingPoint rightDistance and rightTheta. If we are keeping the
* trailingPoint, copy its anchor and rightDirection handle to the leadingPoint,
* and calculate a relative leftDirection handle based on the leadingPoint
* leftDistance and leftTheta. If we are to keep neither leading or trailing point,
* average the position of all the redundant points and calcuate direction handles
* based on the appropriate values.
if (keepLeadingPoint) {
x = leadingPoint.anchor[0] + (Math.cos(rightTheta) * rightDistance);
y = leadingPoint.anchor[1] + (Math.sin(rightTheta) * rightDistance);
leadingPoint.rightDirection = Array(x, y);
else if (keepTrailingPoint) {
leadingPoint.anchor = trailingPoint.anchor;
leadingPoint.rightDirection = trailingPoint.rightDirection;
x = leadingPoint.anchor[0] + (Math.cos(leftTheta) * leftDistance);
y = leadingPoint.anchor[1] + (Math.sin(leftTheta) * leftDistance);
leadingPoint.leftDirection = Array(x, y);
else {
for (j=0; j<currentPointSet.length; j++) {
x += path.pathPoints[currentPointSet[j]].anchor[0];
y += path.pathPoints[currentPointSet[j]].anchor[1];
x /= currentPointSet.length;
y /= currentPointSet.length;
leadingPoint.anchor = Array(x, y);
x = leadingPoint.anchor[0] + (Math.cos(leftTheta) * leftDistance);
y = leadingPoint.anchor[1] + (Math.sin(leftTheta) * leftDistance);
leadingPoint.leftDirection = Array(x, y);
x = leadingPoint.anchor[0] + (Math.cos(rightTheta) * rightDistance);
y = leadingPoint.anchor[1] + (Math.sin(rightTheta) * rightDistance);
leadingPoint.rightDirection = Array(x, y);
* If the distance for a handle is less than half a point and rounds to zero,
* retract that handle fully by setting that direction handle equal to the anchor
* point. This will keep angles consistent for smooth points.
if (Math.round(leftDistance) == 0) {
leadingPoint.leftDirection = leadingPoint.anchor;
if (Math.round(rightDistance) == 0) {
leadingPoint.rightDirection = leadingPoint.anchor;
* Handle the PointType in a minimal manner. If keeping the leadingPoint or keeping
* the trailingPoint, keep the PointType of that point if possible. If both handles
* are extended, measure the angles of the two direction handles. If both handles
* have the same angle relative to the X axis within a tolerance, the PointType
* can be SMOOTH, otherwise it must be CORNER. If the point type is SMOOTH, ensure
* the direction handles are corrected to be exactly 180 degrees apart.
* If not specifically keeping the leading or trailing point and only one handle is
* extended, base the pointType on the the leadingPoint if only the left handle is
* extended and the trailingPoint if only the right handle is extended.
if (Math.round(leftDistance) > 0 && Math.round(rightDistance) > 0) {
var absdiff = Math.abs(leftTheta-rightTheta);
var error = Math.PI - absdiff;
/*alert("leftTheta="+leftTheta+" rightTheta="+rightTheta+" absdiff="+absdiff+" error="+error);*/
if (Math.abs(error) < 0.02) {
if (keepTrailingPoint) {
leadingPoint.pointType = trailingPoint.pointType;
else if (!keepLeadingPoint) {
leadingPoint.pointType = PointType.SMOOTH;
if (leadingPoint.pointType == PointType.SMOOTH) {
if (keepTrailingPoint) {
x = leadingPoint.anchor[0] + (Math.cos(Math.PI + rightTheta) * leftDistance);
y = leadingPoint.anchor[1] + (Math.sin(Math.PI + rightTheta) * leftDistance);
leadingPoint.leftDirection = Array(x, y);
else {
x = leadingPoint.anchor[0] + (Math.cos(Math.PI + leftTheta) * rightDistance);
y = leadingPoint.anchor[1] + (Math.sin(Math.PI + leftTheta) * rightDistance);
leadingPoint.rightDirection = Array(x, y);
else {
leadingPoint.pointType = PointType.CORNER;
else if (keepTrailingPoint) {
leadingPoint.pointType = trailingPoint.pointType;
else if (!keepLeadingPoint && rightDistance > 0) {
leadingPoint.pointType = trailingPoint.pointType;
* Push all other points onto the pointsToRemove array for later removal. We can't
* remove them while we are working with later sets.
for (j=1; j<currentPointSet.length; j++) {
pointsToRemove.push(currentPointSet[j]);
* Sort the pointsToRemove array and then remove the points in reverse order, so the indicies
* remain coherent during the removal.
pointsToRemove.sort(function (a,b) { return a-b });
for (i=pointsToRemove.length-1; i>=0; i--) {
var pointToRemove = path.pathPoints[pointsToRemove[i]];
pointToRemove.remove();
if (tempPath) {
tempPath.remove();
if (tempLayer) {
tempLayer.remove();
return (pointsToRemove.length);
* Function: selectRedundantPoints
* Description:
* Select redundant points on a path input as the first parameter. The
* second input parameter should be an array of arrays containing the
* indicies of redundant points, as returned from function
* findRedundantPoints(). If there are redundant points, deselect all points
* on the path and select the ANCHORPOINT of each redundant point. If there
* are no redundant points on the path, do nothing.
function selectRedundantPoints(path, redundantPointSets){
var i = 0;
var j = 0;
if (redundantPointSets.length > 0) {
for (i=0; i<path.pathPoints.length; i++) {
path.pathPoints[i].selected = PathPointSelection.NOSELECTION;
for (i=0; i<redundantPointSets.length; i++) {
var currentPointSet = redundantPointSets[i];
for (j=0; j<currentPointSet.length; j++) {
path.pathPoints[currentPointSet[j]].selected = PathPointSelection.ANCHORPOINT;
* Function: unlockPath
* Description:
* For a path input as the first parameter, unlock the path and any locked
* parent object. Return an array of objects that have been unlocked.
function unlockPath(path){
var unlockedObjects = new Array();
var parentObjects = new Array();
var currentObject = path;
var i = 0;
while (currentObject.typename != "Document") {
parentObjects.unshift(currentObject);
currentObject = currentObject.parent;
for (i=0; i<parentObjects.length; i++) {
if (parentObjects[i].locked) {
parentObjects[i].locked = false;
unlockedObjects.unshift(parentObjects[i]);
return unlockedObjects;
* Function: lockObjects
* Description:
* For a set of objects as the first parameter, lock each object.
function lockObjects(objects){
var i = 0;
for (i=0; i<objects.length; i++) {
objects[i].locked = true;
* Function: docGetSelectedPaths
* Description:
* Get all the selected paths for the docRef argument passed in as
* a parameter. The second parameter is a boolean that controls if compound
* path items are included (default true), and the third parameter is a
* boolean that controls if locked objects are included (default false).
* Returns an array of paths.
function docGetSelectedPaths(docRef, includeCompound, includeLocked){
var qualifiedPaths = new Array();
var i = 0;
var j = 0;
var nextPath = null;
var currentSelection = new Array();
var nextSelection = docRef.selection;
if (includeCompound == null) {
includeCompound = true;
if (includeLocked == null) {
includeLocked = false;
do {
currentSelection = nextSelection;
nextSelection = [];
for(i=0; i<currentSelection.length; i++){
var currentObject=currentSelection[i];
if (currentObject.typename == "PathItem") {
if (includeLocked || !(currentObject.locked ||
currentObject.layer.locked)) {
qualifiedPaths.push(currentObject);
else if (currentObject.typename == "CompoundPathItem") {
if (includeCompound &&
(includeLocked || !(currentObject.locked ||
currentObject.layer.locked))) {
* For more complex compound paths (e.g. concentric circular bands),
* in CS3 the CompoundPathItem object's pathItems array is empty.
* Inspection of the paths in a document shows the paths contained
* in the CompoundPathItem have groups as parents. To get around
* this seeming bug, in addition to using the pathItems array,
* which still contains individual paths, we also search through
* all the groups in the document adding paths whose parent
* is the CompoundPathItem object.
* WARNING this takes non-negligible time in large documents.
for (j=0; j<currentObject.pathItems.length; j++) {
qualifiedPaths.push(currentObject.pathItems[j]);
for (j=0; j<docRef.groupItems.length; j++) {
if (docRef.groupItems[j].parent == currentObject) {
nextSelection.push(docRef.groupItems[j]);
else if (currentObject.typename == "GroupItem") {
for (j=0; j<currentObject.pathItems.length; j++){
nextSelection.push(currentObject.pathItems[j]);
for (j=0; j<currentObject.compoundPathItems.length; j++){
nextSelection.push(currentObject.compoundPathItems[j]);
for (j=0; j<currentObject.groupItems.length; j++){
nextSelection.push(currentObject.groupItems[j]);
else if (currentObject.typename == "Layer") {
for (j=0; j<currentObject.pathItems.length; j++){
nextSelection.push(currentObject.pathItems[j]);
for (j=0; j<currentObject.compoundPathItems.length; j++){
nextSelection.push(currentObject.compoundPathItems[j]);
for (j=0; j<currentObject.groupItems.length; j++){
nextSelection.push(currentObject.groupItems[j]);
for (j=0; j<currentObject.layers.length; j++){
nextSelection.push(currentObject.layers[j]);
} while (nextSelection.length > 0);
return qualifiedPaths;
* Function: docGetAllPaths
* Description:
* Get all the paths for the docRef argument passed in as a parameter.
* The second parameter is a boolean that controls if compound path items are
* included (default true), and the third parameter is a boolean that controls
* if locked objects are included (default false). Returns an array of paths.
function docGetAllPaths(docRef, includeCompound, includeLocked) {
var qualifiedPaths = new Array();
var i = 0;
var nextPath = null;
if (includeCompound == null) {
includeCompound = true;
if (includeLocked == null) {
includeLocked = false;
for (i=0; i<docRef.pathItems.length; i++) {
nextPath = docRef.pathItems[i];
if (!includeCompound && nextPath.parent.typename == "CompoundPathItem") {
continue;
if (!includeLocked && (nextPath.layer.locked == true || nextPath.locked == true)) {
continue;
qualifiedPaths.push(nextPath);
return qualifiedPaths;
* Function: roundToPrecision
* Description:
* Round a number input as the first parameter to a given precision. The
* second input parameter is the precision to round to (typically a power of
* 10, like 0.1). Returns the rounded value.
function roundToPrecision(value, precision) {
var result;
result = value / precision;
result = Math.round(result);
result = result * precision;
return (result);
* Main code
var dlgInit = new Window('dialog', 'Redundant Path Points');
doInitDialog(dlgInit);
var exitError;
var tolerance = 1 * (dlgInit.tolerancePnl.editText.text);
var doAnalyze = dlgInit.functionPnl.doAnalyze.value;
var doRemove = dlgInit.functionPnl.doRemove.value;
var doSelect = dlgInit.functionPnl.doSelect.value;
var doKeepLeadingPoint = dlgInit.removalPnl.doKeepLeadingPoint.value;
var doKeepTrailingPoint = dlgInit.removalPnl.doKeepTrailingPoint.value;
var doKeepAveragedPoint = dlgInit.removalPnl.doKeepAveragedPoint.value;
var includeCompound = dlgInit.optionPnl.includeCompound.value;
var includeLocked = dlgInit.optionPnl.includeLocked.value;
var ignoreSelected = dlgInit.selectionPnl.ignoreSelected.value;
var anySelected = dlgInit.selectionPnl.anySelected.value;
var allSelected = dlgInit.selectionPnl.allSelected.value;
var docRef=app.activeDocument;
var pathsToProcess = new Array();
var i = 0;
var j = 0;
var totalPaths = 0;
var totalPointsWithRedundancy = 0;
var totalPointsToRemove = 0;
var totalPointsRemoved = 0;
var totalPointsStarting = 0;
var totalPointsRemaining = 0;
var totalPointsSelected = 0;
var redundantPointSets = new Array();
var unlockedObjects = new Array();
try {
if (exitError != 0) {
throw("exit");
exitError = 99;
if (docRef.selection.length > 0) {
pathsToProcess = docGetSelectedPaths(docRef, includeCompound, includeLocked);
else {
var doAll = confirm("Run script for all paths in document?");
if (doAll) {
pathsToProcess = docGetAllPaths(docRef, includeCompound, includeLocked);
if (doSelect) {
if (includeLocked) {
exitError = 2;
throw("exit");
if (!ignoreSelected) {
exitError = 3;
throw("exit");
docRef.selection = null;
for (i=0; i<pathsToProcess.length; i++) {
redundantPointSets = findRedundantPoints(pathsToProcess[i], tolerance, anySelected, allSelected);
totalPaths++;
totalPointsWithRedundancy += redundantPointSets.length;
totalPointsToRemove += countRedundantPoints(redundantPointSets, doKeepLeadingPoint, doKeepTrailingPoint);
totalPointsStarting += pathsToProcess[i].pathPoints.length;
totalPointsSelected += countSelectedPoints(pathsToProcess[i]);
if (doRemove) {
if (includeLocked) {
unlockedObjects = unlockPath(pathsToProcess[i]);
else {
unlockedObjects = [];
totalPointsRemoved += removeRedundantPoints(pathsToProcess[i], redundantPointSets, doKeepLeadingPoint, doKeepTrailingPoint, doKeepAveragedPoint);
if (unlockedObjects.length > 0) {
lockObjects(unlockedObjects);
if (doSelect) {
selectRedundantPoints(pathsToProcess[i], redundantPointSets);
totalPointsRemaining += pathsToProcess[i].pathPoints.length;
var dlgResults = new Window('dialog', 'Redundant Path Points');
doResultsDialog(dlgResults,
totalPaths,
totalPointsWithRedundancy,
totalPointsToRemove,
totalPointsRemoved,
totalPointsStarting,
totalPointsRemaining,
totalPointsSelected,
tolerance);
catch(er)
if (exitError == 2) {
alert("Select function not supported in conjunction with 'Include Locked Items' option.");
if (exitError == 3) {
alert("Select function supported only with 'Ignore' selection restriction.");
if (exitError == 99) {
alert("ACK! Unexplained error\n");
* Dialog Code
* Function: doInitDialog
function doInitDialog(dlgInit) {
var defaultTolerance = 5.0;
var maxSliderTolerance = 5;
/* Add radio buttons to control functionality */
dlgInit.functionPnl = dlgInit.add('panel', undefined, 'Function:');
(dlgInit.functionPnl.doAnalyze = dlgInit.functionPnl.add('radiobutton', undefined, 'Analyze' )).helpTip = "Find and count redundant points.";
(dlgInit.functionPnl.doRemove = dlgInit.functionPnl.add('radiobutton', undefined, 'Remove' )).helpTip = "Find and remove redundant points.";
(dlgInit.functionPnl.doSelect = dlgInit.functionPnl.add('radiobutton', undefined, 'Select' )).helpTip = "Find and select redundant points.\nWARNING:Manual removal of selected redundant points can change the shape of your curves.\nTips:Hiding bounding box helps to see which points are selected. Modify selection as desired and rerun script to remove specific redundant points.";
dlgInit.functionPnl.doRemove.value = true;
dlgInit.functionPnl.orientation='row';
/* Add radio buttons to control point selection */
dlgInit.selectionPnl = dlgInit.add('panel', undefined, 'Point Selection State:');
(dlgInit.selectionPnl.ignoreSelected = dlgInit.selectionPnl.add('radiobutton', undefined, 'Ignore')).helpTip="Process redundant points on a path regardless of their selection state.";
(dlgInit.selectionPnl.allSelected = dlgInit.selectionPnl.add('radiobutton', undefined, 'All')).helpTip="Process redundant points on a path only if each of them is selected.";
(dlgInit.selectionPnl.anySelected = dlgInit.selectionPnl.add('radiobutton', undefined, 'Any')).helpTip="Process redundant points on a path if any one of them is selected.";
dlgInit.selectionPnl.allSelected.value = true;
dlgInit.selectionPnl.orientation='row';
/* Add a checkbox to control options */
dlgInit.optionPnl = dlgInit.add('panel', undefined, 'Other Options:');
(dlgInit.optionPnl.includeCompound = dlgInit.optionPnl.add('checkbox', undefined, 'Include Compound Path Items?')).helpTip="Work on compound path items.";
(dlgInit.optionPnl.includeLocked = dlgInit.optionPnl.add('checkbox', undefined, 'Include Locked Items?')).helpTip="Work on locked items or items in locked layers.";
dlgInit.optionPnl.includeCompound.value = true;
dlgInit.optionPnl.includeLocked.value = false;
dlgInit.optionPnl.alignChildren='left';
dlgInit.optionPnl.orientation='column';
/* Add a slider and edit box for user entered tolerance */
dlgInit.tolerancePnl = dlgInit.add('panel', undefined, 'Tolerance (in PostScript points):');
(dlgInit.tolerancePnl.slide = dlgInit.tolerancePnl.add('slider', undefined, defaultTolerance, 0.01, maxSliderTolerance)).helpTip="Use slider to set a tolerance value in hundredths of a point.";
(dlgInit.tolerancePnl.editText = dlgInit.tolerancePnl.add('edittext', undefined, defaultTolerance)).helpTip="Enter a tolerance value. Values greater then 5.0 or more precise than 1/100 point can be manually entered here.";
dlgInit.tolerancePnl.editText.characters = 5;
dlgInit.tolerancePnl.orientation='row';
dlgInit.tolerancePnl.slide.onChange = toleranceSliderChanged;
dlgInit.tolerancePnl.editText.onChange = toleranceEditTextChanged;
/* Add a panel control removal options */
dlgInit.removalPnl = dlgInit.add('panel', undefined, 'Removal Options:');
(dlgInit.removalPnl.doKeepLeadingPoint = dlgInit.removalPnl.add('checkbox', undefined, 'Keep Leading Point' )).helpTip = "Keep the leading point (lowest path index, lowest prior to origin cross for closed path).";
(dlgInit.removalPnl.doKeepTrailingPoint = dlgInit.removalPnl.add('checkbox', undefined, 'Keep Trailing Point' )).helpTip = "Keep the trailing point (highest path index, highest following origin cross for closed path).";
(dlgInit.removalPnl.doKeepAveragedPoint = dlgInit.removalPnl.add('checkbox', undefined, 'Keep Averaged Point' )).helpTip = "Keep an averaged point to help smooth transitions.";
dlgInit.removalPnl.keepTips = dlgInit.removalPnl.add('statictext', undefined, 'Keeping neither will cause position of remaining point to be averaged. Keeping both will anchor two ends of a segment while removing intermediate redundant points. An averaged point helps smooth transitions.', {multiline:'true'} );
dlgInit.removalPnl.doKeepLeadingPoint.value = false;
dlgInit.removalPnl.doKeepTrailingPoint.value = false;
dlgInit.removalPnl.doKeepAveragedPoint.value = false;
dlgInit.removalPnl.alignChildren='left';
dlgInit.removalPnl.orientation='column';
/* Add execution buttons */
dlgInit.executeGrp = dlgInit.add('group', undefined, 'Execute:');
dlgInit.executeGrp.orientation='row';
dlgInit.executeGrp.buildBtn1= dlgInit.executeGrp.add('button',undefined, 'Cancel', {name:'cancel'});
dlgInit.executeGrp.buildBtn2 = dlgInit.executeGrp.add('button', undefined, 'OK', {name:'ok'});
dlgInit.executeGrp.buildBtn1.onClick= initActionCanceled;
dlgInit.executeGrp.buildBtn2.onClick= initActionOk;
dlgInit.frameLocation = [100, 100];
dlgInit.alignChildren='fill';
dlgInit.show();
return dlgInit;
function initActionCanceled() {
exitError = 1;
dlgInit.hide();
function initActionOk() {
var proceed = true;
exitError = 0;
if (dlgInit.tolerancePnl.editText.text > 5.0) {
proceed = confirm("Tolerance entered greater than 5.0 PostScript points. Proceed?");
if (proceed) {
dlgInit.hide();
function toleranceSliderChanged() {
dlgInit.tolerancePnl.editText.text = roundToPrecision(dlgInit.tolerancePnl.slide.value, 0.01);
function toleranceEditTextChanged() {
if (dlgInit.tolerancePnl.editText.text > 5000) {
dlgInit.tolerancePnl.editText.text = 5000;
dlgInit.tolerancePnl.slide.value = roundToPrecision(dlgInit.tolerancePnl.editText.text, 0.01);
* Function: doResultsDialog
function doResultsDialog(dlgResults,
totalPaths,
totalPointsWithRedundancy,
totalPointsToRemove,
totalPointsRemoved,
totalPointsStarting,
totalPointsRemaining,
totalPointsSelected,
tolerance) {
/* Add static text to display results */
dlgResults.resultsPnl = dlgResults.add('panel', undefined, 'Results:');
dlgResults.resultsPnl.totalPaths = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPaths.txt = dlgResults.resultsPnl.totalPaths.add('statictext', undefined, 'Paths processed: ');
dlgResults.resultsPnl.totalPaths.txt.alignment = 'right';
dlgResults.resultsPnl.totalPaths.val = dlgResults.resultsPnl.totalPaths.add('statictext', undefined, totalPaths);
dlgResults.resultsPnl.totalPaths.val.characters = 10;
dlgResults.resultsPnl.totalPaths.val.helpTip = "The number of paths processed.";
dlgResults.resultsPnl.totalPointsSelected = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsSelected.txt = dlgResults.resultsPnl.totalPointsSelected.add('statictext', undefined, 'Total points selected: ');
dlgResults.resultsPnl.totalPointsSelected.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsSelected.val = dlgResults.resultsPnl.totalPointsSelected.add('statictext', undefined, totalPointsSelected);
dlgResults.resultsPnl.totalPointsSelected.val.characters = 10;
dlgResults.resultsPnl.totalPointsSelected.val.helpTip = "The total number of points initially selected.";
dlgResults.resultsPnl.separator0 = dlgResults.resultsPnl.add('panel');
dlgResults.resultsPnl.totalPointsWithRedundancy = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsWithRedundancy.txt = dlgResults.resultsPnl.totalPointsWithRedundancy.add('statictext', undefined, 'Points with redundancy: ');
dlgResults.resultsPnl.totalPointsWithRedundancy.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsWithRedundancy.val = dlgResults.resultsPnl.totalPointsWithRedundancy.add('statictext', undefined, totalPointsWithRedundancy);
dlgResults.resultsPnl.totalPointsWithRedundancy.val.characters = 10;
dlgResults.resultsPnl.totalPointsWithRedundancy.val.helpTip = "The number of points with redundancy.";
dlgResults.resultsPnl.totalPointsToRemove = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsToRemove.txt = dlgResults.resultsPnl.totalPointsToRemove.add('statictext', undefined, 'Redundant points to remove: ');
dlgResults.resultsPnl.totalPointsToRemove.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsToRemove.val = dlgResults.resultsPnl.totalPointsToRemove.add('statictext', undefined, totalPointsToRemove);
dlgResults.resultsPnl.totalPointsToRemove.val.characters = 10;
dlgResults.resultsPnl.totalPointsToRemove.val.helpTip = "The number of redundant points that would be removed.";
dlgResults.resultsPnl.totalPointsRemoved = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsRemoved.txt = dlgResults.resultsPnl.totalPointsRemoved.add('statictext', undefined, 'Redundant points removed: ');
dlgResults.resultsPnl.totalPointsRemoved.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsRemoved.val = dlgResults.resultsPnl.totalPointsRemoved.add('statictext', undefined, totalPointsRemoved);
dlgResults.resultsPnl.totalPointsRemoved.val.characters = 10;
dlgResults.resultsPnl.totalPointsRemoved.val.helpTip = "The number of redundant points that were removed.";
dlgResults.resultsPnl.separator1 = dlgResults.resultsPnl.add('panel');
dlgResults.resultsPnl.totalPointsStarting = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsStarting.txt = dlgResults.resultsPnl.totalPointsStarting.add('statictext', undefined, 'Total points starting: ');
dlgResults.resultsPnl.totalPointsStarting.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsStarting.val = dlgResults.resultsPnl.totalPointsStarting.add('statictext', undefined, totalPointsStarting);
dlgResults.resultsPnl.totalPointsStarting.val.characters = 10;
dlgResults.resultsPnl.totalPointsStarting.helpTip = "The total number of points before processing.";
dlgResults.resultsPnl.totalPointsRemaining = dlgResults.resultsPnl.add('group');
dlgResults.resultsPnl.totalPointsRemaining.txt = dlgResults.resultsPnl.totalPointsRemaining.add('statictext', undefined, 'Total points remaining: ');
dlgResults.resultsPnl.totalPointsRemaining.txt.alignment = 'right';
dlgResults.resultsPnl.totalPointsRemaining.val = dlgResults.resultsPnl.totalPointsRemaining.add('statictext', undefined, totalPointsRemaining);
dlgResults.resultsPnl.totalPointsRemaining.val.characters = 10;
dlgResults.resultsPnl.totalPointsRemaining.val.helpTip = "The total number of points after processing.";
dlgResults.resultsPnl.alignChildren='right';
dlgResults.resultsPnl.orientation='column';
dlgResults.note = dlgResults.add('group');
dlgResults.note.txt = dlgResults.note.add('statictext', undefined, 'Combined results across paths qualified based on options');
dlgResults.tolerance = dlgResults.add('group');
dlgResults.tolerance.txt = dlgResults.tolerance.add('statictext', undefined, "Tolerance applied (in PostScript points): ");
dlgResults.tolerance.val = dlgResults.tolerance.add('statictext', undefined, tolerance);
/* Add execution buttons */
dlgResults.executeGrp = dlgResults.add('group', undefined, 'Execute:');
dlgResults.executeGrp.orientation='row';
dlgResults.executeGrp.buildBtn1= dlgResults.executeGrp.add('button',undefined, 'OK', {name:'ok'});
dlgResults.executeGrp.buildBtn1.onClick= resultsActionOk;
dlgResults.frameLocation = [100, 100];
dlgResults.show();
function resultsActionOk() {
exitError = 0;
dlgResults.hide();you have said you are using cc.
is it fully up to date?
are you not using cc2014?
when run from ESTK are you sure it is pointing to the correct illustrator? -
Dynamically adding JRE for IE, Java Security Warnings, & Next Gen Plugin.
I wrote an portal application to control the environment for a third party application, the portal uses a JRE version that I supply with it, this was to ensure that users are using the same JRE so any issues can be limited to one version of Java. The only piece of the application that I could not specify the JRE version and path was for Internet Explorer. Please keep in mind that I do not control when the system JRE is updated or not, this is pushed to our systems and the latest JRE would be enabled automatically. I wanted to be able to dynamically add and enable the version of the JRE that Microsoft Internet Explorer uses for applets. So I was digging around recently and if I have the next-generation plugin enabled I could programmatically update the deployment.properties file prior to launching Internet Explorer(assuming I have closed all prior instances of IE that were running) to add and enable a version of the JRE which I choose to use. When I launch IE and run an applet I see that it is using the JRE I had dynamically supplied. However everytime I run the applet a Java security warning comes up saying "The application requires an earlier version of Java", I wanted to suppress this message but after research I tried adding 'deployment.security.mixcode=HIDE_RUN' to the deployment.properties, that did not work. I tried disabling the Next Generation Plugin, that worked to suppress the message however internet explorer was no longer using my dynamically supplied JRE for applets in IE, so that was not going to work for my purposes. My questions are:
1. Is there a reliable way(not using ssvagent) to programmatically enable and disable Java's Next Generation Plugin option? (I want to make sure it is enabled when launching third party application from the portal)
2. Is there a programmatic way to suppress the Java Security Warning "The application requires an earlier version of Java", without disabling Java's Next Generation Plugin option?
deployment.properties entries after addition of my jre entry:
#deployment.properties
#Fri Sep 28 14:09:24 PDT 2012
deployment.javapi.lifecycle.exception=true
deployment.trace=true
deployment.javaws.viewer.bounds=323,144,720,360
deployment.javaws.autodownload=NEVER
deployment.version=6.0
deployment.browser.path=C\:\\Program Files (x86)\\Internet Explorer\\iexplore.exe
deployment.security.mixcode=HIDE_RUN
deployment.log=true
deployment.console.startup.mode=SHOW
deployment.capture.mime.types=true
#Java Deployment jre's
#Fri Sep 28 14:09:24 PDT 2012
deployment.javaws.jre.0.registered=true
deployment.javaws.jre.0.platform=1.6
deployment.javaws.jre.0.osname=Windows
deployment.javaws.jre.0.path=C\:\\Program Files (x86)\\Java\\jre6\\bin\\javaw.exe
deployment.javaws.jre.0.product=1.6.0_33
deployment.javaws.jre.0.osarch=x86
deployment.javaws.jre.0.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.0.enabled=false
deployment.javaws.jre.0.args=
deployment.javaws.jre.1.enabled=true
deployment.javaws.jre.1.registered=true
deployment.javaws.jre.1.osname=Windows
deployment.javaws.jre.1.location=http\\\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.1.osarch=x86
deployment.javaws.jre.1.path=C\:\\Portal\\dist\\java\\jre6\\bin\\javaw.exe
deployment.javaws.jre.1.platform=1.6
deployment.javaws.jre.1.product=1.6.0_29
Note: The reason not to use most recent version of Java is the necessity to test the third party application prior to deployment of a new Java version and since I do not control when a new version of Java is deployed and enabled to our machines, I am required to find an transparent solution. I understand the security issues by doing so, but the time between testing and acceptance of a new Java version for our application is within an acceptable timeframe. On exiting the application, I would restore the JRE settings and restore previous settings, to minimize the exposure of a potential security risk. Also any manual configurations are trying to be avoided as to maintain transparency to the user.I'm having a similar problem and I think it is related with this.
If, after a Java--->Javascript call, a Javascript--->Java call isn't made soon after the first, it works. But, if the Java--->Javascript call triggers a Javascript--->Java call, any Java--->Javascript call that is made after that doesn't reach Javascript :/
I have a method that handles the Java--->Javascript calls and goes something like this:
System.out.println("Calling Javascript...");
JSObject win = JSObject.getWindow(this);
win.call(jsEventHandler, new Object[] { json.toString() });
System.out.println("Done.");I further found out that, after looking at the Java debug console in the scenario where a Java--->Javascript call triggers a Javascript--->Java call, only after this last method returns is the "Done" message printed, even though the respective Javascript call was already invoked.
Could you explain in more detail the queue based solution you found? Any other ideas?
Regards,
André Tavares.
Maybe you are looking for
-
Hi Guys, I have have this horror issue with my PC. I have even changed the hardware configuration and the problem still persists. My PC fails to display the desktop correctly after using highly RAM intensive applications, especially Chrome, but even
-
Hi, just need advice on a special business scenario. Our client wants to clear vendor open items and no checks should be generated. Instead, system should credit that total amount of cleared invoices to another credit card vendor. Then we should send
-
Hello, I have a strange problem... I have a XML and a XSL. Sometimes it works, sometime not.... I'm working with xalan 2.3.4 here is my XSL:<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL
-
Lion reboots after waking from sleep mode
Since Lion I sometimes get the following issue: When waking my Macbook Pro (older Macbook Pro 15" 2.4 GHz Intel Core 2 Duo, 4 GB Ram, Mac OS 10.7.1) it will restart (like hard restart) all the programs that were running at the moment I put it to slee
-
I just deleted all the registry settings for Lightroom on my Windows PC. I currently have Lightroom version 1.3.1 installed. TOPIC #1 Why is Lightroom version 1.3.1 recreating Lightroom 1.1 registry entries? Under HKEY_CURRENT_USER -> Software -> Ado