Monday 16 March 2009

Summary of manifest knowledge

Hi Everyone,

I thought that I’d mention and thing or two about package manifests.  Please feel free to correct me if I’m wrong.

Please read this carefully, hopefully it will explain some of the mysteries of packages in 812 and above.

Background

· The quasi web manifest (F989999) tells the web runtime engine where to get specifications from for real-time generations of objects, this is because the web server does not have a spec.ini

· The comparison of the quasi web manifest(F989999) and package manifest (F98770) tells the web engine whether to truncate current serialized objects

· A quasi manifest record is written to the F989999 table for each pathcode, this tells the web what full package was used to generate the objects.

· This quasi record, plus the addition of OCMs (to find default logic source), then F96511 to find full package for logic source, then F98770FULLPACKAGENAME package manifest allows the web engine to determine if it is in synch or not.

· You can see this “quasi web manifest” record F989999 in UTB, wboid = “MAINIFEST-MANIFEST”

· Oracle syntax:  Select utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(wbjpo, 2000, 1)) from dv812.f989999 where WBoID = 'MANIFEST-MANIFEST';

· Only server package deploys affect what is in the F98770 and F96511 tables

· Only generations affect what it written in the F989999 table

· You need to keep the above two in synch, or the system WILL do it for you

· If the manifest record (F989999) does not equal what is found in the F98770 manifest table, then the web engine might decide to truncate the web objects

· It’s harder to work out what it in the F98770 table, as it contains the based package and all of the updates.  You need to use the P98770 application

Generating package manifest from gen.bat.

In your generation jas.ini

[WEB DEVELOPMENT]

WebDevelopment=1

· You will not get the e1 login screen if the setting above is active, once you hit connect you will get a smaller login box.

· clip_image002

· Gen.bat does not use values in F96511 and F98770 to determine what to write in F989999

· Just uses spec.ini on generation machine to write MANIFEST-MANIFEST record to F989999

· Need to manually choose “generate manifest” from generator screen.

· This will generate from you current deployed local MSDE / SSE package from spec.ini

· IF you DO NOT SEE the manifest option in the generate menu bar, the WebDevelopment Option is NOT enabled, please read the section below

clip_image004

Do not enable this setting for the web server jas.ini, things will stop working!!!

Default setting or

[WEB DEVELOPMENT]

WebDevelopment=0

· This is the default setting

· When using gen.bat, you will be promoted for the standard E1 login splash screen if this is the setting

· You will not see the “generate->manifest” menu option

· In this mode, the generation machine determines the active deployed package for the current session (OCM + F96511 + F98770)

· This is the only information that is written to the F989999 MANIFEST-MANIFEST entry.

· If you only generate 1 object, this is what is written to the F9899999 table for the manifest

· IF you have not deployed your server package, and use this option – guess what??  EVEN if you have taken the client package on the generation machine, it will NOT generate from your local specs, it will generate from central objects and the package manifest.  It will generate the old currently deployed server objects!!!

· This option does not talk to the local MSDE / SSE specs, everything is done to and from the central objects database

No comments: