Hi Gustaf, thank you for your explanation and link. On Fri, Sep 15, 2023 at 9:19 AM Gustaf Neumann <neum...@wu.ac.at> wrote:
> Dear Maksym, > On 15.09.23 01:09, Maksym Zinchenko wrote: > > Hello, I've been struggling with a problem for a few days now. First I > thought it's something with my understanding of NX, but I think its has to > do something with Naviserver. > > actually, the problem is not with NaviServer, but it is rooted in the > XOTcl/NX serializer. When a NaviServer blueprint is created, NaviServer > performs "::Serializer all" to serialize the current workspace. Actually, > it does not serialize the full workspace, since the workspace contains as > well the NX internal class definitions. Therefore, the serializer has > "ignore patterns", including everything from, e.g., the "::ns"f namespace > [1]. > > When objects are created with "new", these are named by default > "::nsf::__#1", "::nsf::__#2". These names match the ignore pattern, and > therefore, these names are excluded from the blueprint. > > If you create the objects in your code with the "-childof" flag (see > below), you can place these outside the "::nsf" namespace, and everything > should be fine > > Hope this helps > > -g > > > [1] > https://github.com/gustafn/nsf/blob/master/library/serialize/serializer.tcl#L868 > > > nx::Class create B { > :method init {} { > ns_log notice "Im class [self]" > } > } > > nx::Class create C { > :method init {} { > ns_log notice "Im class [self]" > } > } > > nx::Class create A { > :property -accessor public inBObj:object > :property -accessor public inCObj:object > > :method init {} { > set :inBObj [B new -childof [::nsf::current object]] > set :inCObj [C new -childof [::nsf::current object]] > } > > :public method myObjs {} { > ns_log notice "My B obj is: [${:inBObj} info name]" > ns_log notice "My C obj is: [${:inCObj} info name]" > } > } > > > > _______________________________________________ > naviserver-devel mailing list > naviserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/naviserver-devel >
_______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel