Question

Extending BaseSchemaModuleV2

Hello,

 

I'm extending BaseSchemaModuleV2 follow example of CenterNotificationModule, but it's missing the messages GetHistoryState and ReplaceHistoryState (already define in BaseSchemaModuleV2). I found that CenterNotificationModule has Parent = BaseSchemaModuleV2, but I cannot find a way to add that Parent to my module.

Like 0

Like

3 comments

Hello,

 

Here is an example of extending the modules:

 

define("UsrTestModuleV2", ["TestModuleV2"],
function() {
    Ext.define("Terrasoft.UsrTestModuleV2", {
        extend: "Terrasoft.TestModuleV2",
         
        // extend functions in TestModuleV2
     
    });
});

 

In the logic above the "UsrTestModuleV2" will use all the logic of "TestModuleV2" and also extended logic for "TestModuleV2" specified in the "UsrTestModuleV2". Also the parent is already added to "CenterNotificationModule" - it is done in this part of the schema definition:

 

 define("CenterNotificationModule", ["BaseSchemaModuleV2"]

 

so BaseSchemaModuleV2 is a dependency for the "CenterNotificationModule".

 

Best regards,

Oscar

No, I mean this parent:

The messages are inherited via metadata inheritance:

 

This is the error I get when I loaded the test module:

 

 

Basically, I can manual add those messages into the test module. However, if the BaseSchemaModuleV2 is updated with new messages, the error may happen again. Therefore, inheriting those metadata is the best way to make sure that the test module is forward-compatible. The CenterNotificationModule metadata exported shows that it inherited those metadata instead of redefining them. But it seems that I cannot do that from the developer console, although the built-in package already had ability to do that.

Is there any update?

Show all comments