Compile error in java script library for Xpages - xpages

Notes 10.0.1 FP3 causing below compile errors, but Notes 9.0.1 FP10 SHF81 doesn't have the same issue. Is there a way to resolve this without having 9.0.1 installed?
1) Cannot nest 'IBM/Notes/framework/rcp/eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.105.3.20190810-1410'
2) Container 'IniVariable Java Library' references non-existing library 'IBM\Notes\Data\SwPDFC\java\ver6.20.000\swpdfc-2.0.0.jar'

It looks like your using the SWING PDF Converter. Maybe you should try to reinstall the Converter or maybe you have to look if there's a newer version that is compatible with Notes version 10. As stwissel pointed out Notes version 10 uses Java8 and OpenJDK, so maybe a newer version of the SWING PDF Converter is the solution.

When you create a new blank database it automatically includes 'Plug-in Dependencies' which appear to pull in everything in the 'Notes\framework\rcp\eclipse\plugins' folder which includes the referenced plug-in shown in the error message. The problem is when you add a new variable classpath entry and select ECLIPSE_HOME, then navigate to the same 'Notes\framework\rcp\eclipse\plugins' location.
If you select a different folder for your new variable classpath entry or remove either the 'ECLIPSE_HOME' or 'Plug-in Dependencies' from your Build Path Libraries the error goes away. I have included the below screenshot showing what I mean.
Since the Extension Library was rolled into the Notes core it must now be part of the Plug-in Dependencies causing a conflict when being added via the IniVariable option for those using 10.0.1. I still need to confirm the build path with a co-worker who has Notes 9.0.1 FP10 SHF81.

Related

Can't compile freshly made extension library

I cannot successfully compile an extension library that is freshly created using the Customization Project -> Extension Library -> Create New.
When compiling the freshly created extension library, I get the following error in the output, but no errors show in the error report:
1>C:\Program Files (x86)\Acumatica ERP\SilcotekDev\App_Data\Projects\ManufacturingTest\ManufacturingTest\Test.cs(6,7,6,9): error CS0246: The type or namespace name 'PX' could not be found (are you missing a using directive or an assembly reference?)
I have another custom extension library which had compiled successfully in the past, but today is not. Here is the full error list from that project's compilation:
I do have a custom DAC which I imported directly into the extension library, and I had compiled it before with that DAC added. Today it won't compile at all.
With update 3 of version 6.1 Acumatica has changed the target framework for its websites from 4.5.1 to 4.5.2. Unfortunately, the target version of the Addon.csproj VS project from the \App_Data\WebsiteSolution\Addon folder was not updated to .Net Framework 4.5.2 until update 9 of ver. 6.1 (build #6.10.0945). Because of the lower target version set for extension library VS project, VS cannot build the dll and therefore copy it to the Bin folder of your website.
There are 2 ways to resolve this type of an issue:
Change target framework version in VS for your extension library project:
Open the Addon.csproj VS project in a text editor, like NotePad, and change the target framework to v4.5.2 as shown in the screenshot below (located in the \App_Data\WebsiteSolution\Addon folder inside your Acumatica website root folder). Create a new customization project inside Acumatica, then in Customization Manager create extension library for the new project
There are a lot of things that could cause this problem.
1. is your program set up to read the PX namespace?
2. are you References setup the right way. You can always check by right clicking on the reference and selecting "Add reference"

XPages Extension Library cannot be found

I'm getting the error below when I run my application:
com.ibm.xsp.FacesExceptionEx: The application /test/Test.nsf requires com.ibm.xsp.extlib.relational.library
The extension library cannot be found, but the library was installed by replicating the updatesite.nsf from the main server to the current server throwing this error.
When I issue the command below:
tell http osgi ss com.ibm.xsp.extlib
The log show that the library is ACTIVE, but does not show that it has been INSTALLED.
Since the library is already on the server, how can I install it?
Your support will be appreciated.
Thanks.
com.ibm.xsp.extlib.relational.library is not part of the core 9.0.1 Extension Library. It was only incorporated into the core OpenNTF Extension Library in 9.0.1_v00_10. It was not incorporated into core IBM Extension Library until Feature Pack 8. You will see that nothing starting com.ibm.xsp.extlib is referenced in your screenshot of the server console, and version 9.0.1_v00_00 which shows you only have 9.0.1 base Extension Library installed. There are three options:
Install ExtLibX component from the OpenNTF Extension Library. You will still be using the base 9.0.1 version for all other controls.
Upgrade the version of the Extension Library to a more recent version, e.g. 9.0.1_v00_17. This will override the base 9.0.1 version of all Extension Library controls.
Upgrade to 9.0.1 Feature Pack 8.
Note that if you use ExtLibX, SSJS code or XPages components will continue to work when you subsequently upgrade ExtLib (or Domino to FP8+). However, to avoid name collisions, the Java class names will change. If you use custom Java code, you will need to edit and update the classes to the new Java package names when upgrading in the future.

Xpages can't load, Error 500; java.util cannot be resolved

I recently moved a couple of applications to a server that is running Domino 9.0.1FP8 (JVM version: JRE 1.8.0 Windows Server 2008 R2 amd64-64). Since I did this I've been unable to load any, but the most basic of Xpages. I get the "Error 500 HTTP Web Server: Command Not Handled Exception" page.
Via the ...IBM\Domino\data\IBM_TECHNICAL_SUPPORT\xpages_exec I get Exceptions such as:
The type java.util.Comparator cannot be resolved. It is indirectly referenced from required .class files
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
The import java.util.Arrays cannot be resolved
I'm also getting the following Errors in the "Problems" tab in Designer:
"The project was not built since its build path is incomplete. Cannot
find the class file for java.util.Comparator. Fix the build path then
try building this project"
"The type java.util.Comparator cannot be resolved. It is indirectly
referenced from required .class files"
Is there a reason the java.util is failing in Java 1.8? Is there anything I can do? Thanks for any help.
Dan
This problem occurs when Domino Designer 9.0.1 FP8 attempts to compile against a Java8 JRE. The version of eclipse in that Designer install does not know how to parse some of the runtime jar files in Java8. The workaround is to compile against a Java6 JRE instead. There were changes in the Domino Designer installation as part of SPR#BGLN9PXEVM to change the configuration of the preferences in Designer to point to a Java6 JRE instead of using the default JRE. If there was some install problem or you manually modified your preferences, you may need to manually re-apply the workaround as follows.
In Domino Designer, menu File, Preferences, Java, Installed JREs.
There should be 2 listed JVMs with paths like so:
[x] jvm C:\Notes\jvm1.6\
[ ] Notes 8.5.1 VM (locked) C:\Notes\jvm
If your entry named "jvm" is incorrectly pointing to the C:\Notes\jvm\ folder instead of the jvm1.6 folder, then you will need to edit it to point to the jvm1.6 folder instead.
On the Domino Designer team we are investigating potentially upgrading the eclipse version in Designer, so that it might be possible to compile against a Java8 JRE.
It sounds like the installer has not installed successfully. There's no reason java.util packages should be failing. I would recommend running the installer again, making sure all services are stopped prior to running it. That will ensure that anything that needs replacing isn't locked by another process.

Using specific version of packages in MonoDevelop

What is the best way to handle specific version of libraries while using MonoDevelop (precisely - use ServiceStack v3 instead of ServiceStack v4)?
Unfortunately, MonoDevelop's addin NuGet does not allow specifying package version (no Package management console support). I've tried hacking it in .csproj and package.config file but it does not work entirely well and it seems to be smelly solution.
One obvious solution is to get rid of NuGet and reference libraries locally after manually downloading them.
How would you solve this problem?
Thanks for all responses :)
Being able to add a specific version of a NuGet package with the MonoDevelop addin is on the todo list.
If you have access to Windows you could use SharpDevelop to add a specific version using its Package Management console.
Or as you have suggested, edit the packages.config file, then restore the packages. However you will need to add the required assembly references by hand. This option is not that bad if there are not that many assembly references and you are not going to be updating the NuGet package very often. Although the benefit of this approach over downloading the NuGet package, extracting it, and directly referencing the assemblies is equivalent and the same amount of work. Also doing it this way you can more easily update the references by simply dropping the new binaries into your lib folder.
Or you could change the source code of the addin. I thought about adding a simple text box where you could specify a particular version. Ideally the dialog would give you a list of available versions.
I would probably just download the ServiceStack assemblies you need and directly reference them.

Monotouch setting the Application Bundle Version

I'm trying to set the Application version for my MonoTouch project, but it doesn't seem like I have found the right location.
I've tried setting the version to 2.0.0 under:
the Solution>General>Main Settings>Version field
the Project>General>Main Settings>Version field (which can inherit from the solution)
the Info.plist>iOS Application Target>Version field
If I check the version using
string currentVersion = NSBundle.MainBundle.InfoDictionary["CFBundleVersion"].ToString();
I only ever get back 1.0 as the version. Am I missing a place to set the application version, or do I need to use a different method for checking the BundleVersion?
Here is the version info I am running
MonoDevelop 3.0.5
Installation UUID: 554868b3-3202-4955-bf88-38a3e5949a79
Runtime:
Mono 2.10.9 (tarball)
GTK 2.24.10
GTK# (2.12.0.0)
Package version: 210090011
Apple Developer Tools:
Xcode 4.5.1 (1842)
Build 4G1004
Monotouch: 6.0.6 (Evaluation)
Doing the same change in my own Info.plist file works perfectly with the code you provided, i.e. I do get the expected 2.0.0 string. I also tried it inside the iOS simulator since you're using the evaluation version.
I do have newer versions of the softwares - but they are not very different and I do not recall anything changed in those area.
Can you look (and maybe add it in your question) the content of your Info.plist ? it should be an XML file (default format used by MonoDevelop) and should have your 2.0.0 string inside it.
If that does not work please zip a small sample that do so and attach it to a bug report as there might be something that does not, always, get updated ?!?

Resources