VLF-ONE SP2 Upgrade Runtime Error

This Q&A forum allows users to post and respond to "How Do I Do ....." questions. Please do not use to report (suspected) errors - you must use your regional help desk for this. The information contained in this forum has not been validated by LANSA and, as such, LANSA cannot guarantee the accuracy of the information.
Post Reply
jyoung
Posts: 694
Joined: Thu Jan 21, 2016 6:43 am
Location: Oklahoma City, OK USA

VLF-ONE SP2 Upgrade Runtime Error

Post by jyoung »

After playing around with SP2 on another instance, we upgraded our current Visual LANSA environment to SP2.

I've recompiled the Web Page and Resuable Parts.

I am getting a "Cannot read property 'getSYMBOLICNAME' of null" runtime error from the VLFONE_Engine.
capture.PNG
capture.PNG (17.69 KiB) Viewed 10155 times
Any thoughts on how to resolve?

Thanks,
Joe
caseywhite
Posts: 192
Joined: Thu May 26, 2016 1:17 am

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by caseywhite »

You mentioned you recompiled the reusable parts. Did you resave your XML so that the .DAT file gets recreated. Maybe there is an incompatibility between what is int he DAT and what is in the SP2 runtime for VLF ONE.
jyoung
Posts: 694
Joined: Thu Jan 21, 2016 6:43 am
Location: Oklahoma City, OK USA

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by jyoung »

Yeah, I opened the framework in the workbench thinking the same thing and re-saved it.
jyoung
Posts: 694
Joined: Thu Jan 21, 2016 6:43 am
Location: Oklahoma City, OK USA

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by jyoung »

After more digging, I am only getting this error if I run the framework with the Material Flag i.e.
?Lang=ENG&Developer=YES&Material=Y

If I run it without the material flag it works, but is not using the Material Design
?Lang=ENG&Developer=YES

Another (potentially related ?) issue is that it is not honoring the frameworkidentifier in the web page.

Code: Select all


begin_com role(*EXTENDS #PRIM_WEB) layoutmanager(#WebFormLayoutManager) icon(#FaviconImage)

define_com class(#PRIM_ATLM) name(#WebFormLayoutManager)
define_com class(#PRIM_ATLI) name(#VLF_One_AttachItem) parent(#WebFormLayoutManager) attachment(Center) manage(#VLF_ONE)
define_com class(#VF_AC006O) name(#VLF_ONE) parent(#COM_OWNER) height(800) width(1200)

* -------------------------------------------------------------------------------------
evtroutine handling(#COM_OWNER.CreateInstance)

#VLF_ONE.uInitialize frameworkidentifer("Express_System") logonhandlerid(VF_AC026O) passwordchangerid("") mtxtloaderid(UF_OMULTI) themecustomizerid(VLFTHEME) logonexpiry(90) logonheaderpanelid(VLFLOGO) logontrailerpanelid("")

endroutine


* -------------------------------------------------------------------------------------
evtroutine handling(#SYS_WEB.CloseQuery)

if (#VLF_ONE *IsNot *null)
* Cancellation is not possible from here so always use possibletocancel(False)
#VLF_ONE.uTerminate possibletocancel(False) browserisclosing(True)
endif

endroutine

end_com
As the framework selection box appears on the login view.
capture2.PNG
capture2.PNG (5.9 KiB) Viewed 10149 times
MarkD
Posts: 692
Joined: Wed Dec 02, 2015 9:56 am

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by MarkD »

The problem seems to be related to the theme in use - or a lack of any theme in use.

In this new VLF version the themes are separated into Windows desktop style and Material Design style sets.

Each theme (VF_SY171O) object now has property ForMaterialDesign, defaulting to false.

We ship sets with ForMaterialDesign=True and ForMaterialDesign=False, each containing about 10+ themes.

When you start in Material Design mode you can only use ForMaterialDesign=True themes, and vice versa.

So if you were limiting the shipped themes, or creating just your own locked down single ForMaterialDesign=False theme, then I think this could explain this problem.

If this is the problem, please let me know and we will update the upgrade instructions to point out this trap
MarkD
Posts: 692
Joined: Wed Dec 02, 2015 9:56 am

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by MarkD »

For the other issue - showing a list of frameworks to select from - try running with &Trace=System on the URL.
That might indicate what's happening on the server that has made it decide to show the list.
jyoung
Posts: 694
Joined: Thu Jan 21, 2016 6:43 am
Location: Oklahoma City, OK USA

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by jyoung »

Hi Mark,

We do use a theme customizer to lock down a single theme and tweak some of the base colors.

Code: Select all

function options(*DIRECT)
begin_com role(*EXTENDS #VF_AC033O)

define_com class(#VF_SY170O) name(#VF_SY170O)

define_com class(#VF_FL002O) name(#VF_FL002O)
define_com class(#VF_FL002O) name(#VF_FL002O1)

mthroutine name(Customize) options(*REDEFINE)

#STD_TEXTS := "0:114:198"

for each(#theme) in(#Themes)
if (#theme.SymbolicName = BLUE)
* customize the blue theme
#theme.BaseTitleStyle.NormBackColor := #STD_TEXTS
#theme.FloatingPanel_AtFrontTitleStyle.NormBackColor := #STD_TEXTS
#theme.FloatingPanel_AtFrontBorderBrush.Color := #STD_TEXTS
else
* disable all other themes
#theme.Enabled := False
endif
endfor

endroutine
end_com
EDIT
I removed the theme customizer and it loaded correctly.

EDIT
After a bit more digging, I saw material design themes have a different name. Updating the customizer code to

Code: Select all

mthroutine name(Customize) options(*REDEFINE)

#STD_TEXTS := "0:114:198"

for each(#theme) in(#Themes)
continue if(#theme.ForMaterialDesign = False)

if (#theme.SymbolicName = MATERIALBLUE)
* customize the blue theme
#theme.BaseTitleStyle.NormBackColor := #STD_TEXTS
#theme.FloatingPanel_AtFrontTitleStyle.NormBackColor := #STD_TEXTS
#theme.FloatingPanel_AtFrontBorderBrush.Color := #STD_TEXTS
else
* disable all other themes
#theme.Enabled := False
endif
endfor

endroutine
resolved the issue.

EDIT
The framework issue was related to me being an idiot. ;)
MarkD
Posts: 692
Joined: Wed Dec 02, 2015 9:56 am

Re: VLF-ONE SP2 Upgrade Runtime Error

Post by MarkD »

Thanks.
We will upgrade the release notes to point out the themes trap.
Post Reply