|
See BackgroundForReorgToSupportSites for an explanation of why I want to do something like the following as part of NeededForRelease280. If you have any comments on these ideas, please put them after the following section.
| ||||||||
| Line: 14 to 14 | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
| Changed: | ||||||||
| < < |
So that cleans up some of the "always-different" properties which get in the way when I'm trying to compare two cores. The thing is, there are some site-specific properties which have to do with limits on users, or on discussions. Right now those properties are on $player (#6) or $disc (#10), and those are the right places for them to be. These are values where even the site-specific value is sometimes overridden for a single user or discussion at that site. When I used to think about these properties, I would consider doing something like "check both $site.user_max_obj and the player-specific value", but that's mighty ugly (and certainly not object-oriented). Then I realized there is a pretty simple solution:
| |||||||
| > > |
So that cleans up some of the "always-different" properties which get in the way when I'm trying to compare two cores. The thing is, there are some site-specific properties which have to do with limits on users, or on discussions. Right now those properties are on $player (#6) or $disc (#10), and those are the right places for them to be. These are values where even the site-specific value is sometimes overridden for a single user or discussion at that site. So, from an object-inheritance point-of-view, you'd like the verb to check "this.max_obj" to check the value in the object matching the specific player trying to create a new discussion, and if it is not set for that player (and it usually will not be set), then you want the value from "it's superclass". But while you want the value in that superclass to be a site-based setting, you also want the superclass to be "a subclass of $player ", and not "a subclass of $site_def ", if you understand what I mean by that. (I am not sure if I should be saying "parent" or "superclass" there...). Otherwise, every player-object will inherit all the properties in $site_def. That would make the size of each player-object much larger, and it wouldn't make any sense, anyway.
When I used to think about these properties, I would consider doing something like "check both $site.user_max_obj and the player's this.max_obj value", but that's mighty ugly (and certainly not object-oriented). Then I realized there might be a pretty simple solution:
| |||||||
| ||||||||
| Changed: | ||||||||
| < < |
So, I think that can handle all the site-specific values nicely. | |||||||
| > > |
So, I think that can handle all the site-specific values nicely. I only did some very minimal testing of a $site.disc object though, and more testing would have to be done before I would be confident that everything would work right.
| |||||||
| Then there's the property values which change over time for every core. For those: | ||||||||
|
See BackgroundForReorgToSupportSites for an explanation of why I want to do something like the following as part of NeededForRelease280. If you have any comments on these ideas, please put them after the following section.
| ||||||||
| Changed: | ||||||||
| < < |
Right now key properties are spread out over several standard verbs. Some of those properties must exist and have some specific value for lily to work. Some properties have values which almost certainly change between sites (such as the site-name, or the email address). But once set, they will probably remain constant for that site, and never match the values for those properties at other sites. And there are other values which change constantly, just to track what is happening in any given instance of lily. | |||||||
| > > |
Right now key properties are spread out over several standard verbs. Some of those properties must exist and have some specific value for lily to work. Some properties have values which almost certainly change between sites (such as the site-name, or the email address). But once set, they will probably remain "reasonably" constant for that site, and probably not match the values for those properties at other sites. And there are other properties which have values that change constantly, just to track what is happening in any given instance of lily (such as $players_on or $uptime).
| |||||||
| So, what I want to do is: | ||||||||
| Line: 24 to 24 | ||||||||
|---|---|---|---|---|---|---|---|---|
| Then there's the property values which change over time for every core. For those: | ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| Changed: | ||||||||
| < < |
I have further ideas along these lines, which I haven't had the time to write yet... | |||||||
| > > |
I have further ideas along these lines, which I haven't had the time to write yet... -- gad/Dec 06/2005 | |||||||
|
| ||||||||
| Changed: | ||||||||
| < < |
So, any thoughts on the above plans? I already have some initial stabs at this, enough so I'm pretty sure this will work the way I want it to work. My intent is to try and do it this way, unless I hit a real stumbling block. I just might have something ready before Jan 1st 2006, if things work out okay. I doubt I'll have all the changes implemented, but I'll have enough done that I'd finally feel comfortable doing the official release of a new core (after fixing the other details still on the to-do list). | |||||||
| > > |
So, any thoughts on the above plans? I already have some initial stabs at this (except for $site.player and $site.disc), enough so I'm pretty sure this can work the way I want it to work. My intent is to try and do it this way, unless I hit a major stumbling block. I doubt I'll have all the changes implemented in the upcoming release, but I'll have enough done that I'd finally feel comfortable doing the official release of a new lilycore (after fixing the other details still on the to-do list!). -- gad/Dec 06/2005
| |||||||
| Changed: | ||||||||
| < < |
-- GaranceDrosehn - 06 Dec 2005 | |||||||
| > > |
Well, 20 days have gone by, and I've spent a lot of time working on other improvements to lilycore (and writing a lot more for this wiki than I usually do!), but I haven't written a single new line of code towards this goal. I did have some clever ideas for implementing this, which I think would have also made it easier for people to upgrade to this lilycore from some older lilycore. But now I'm worn out from the other lily projects, so I think I'll just "get this to work" in RPI's core, and distribute that as the official release (hopefully soon!). So, this reorg-properties-to-support-sites project probably won't make this upgrade easier for anyone, but hopefully the changes will make it easier to upgrade to the next new lilycore. I also probably won't get to the special $site.player and $site.disc ideas in time for this release, unless we give up and wait another year. There's too many other things which need to be sorted out before an official 2.8.0 release can happen, including some bizarre problems compiling LambdaMOO that I wasn't aware of back in November. -- gad/Dec 26/2005 -- Initial text from: GaranceDrosehn | |||||||
| ||||||||
|
See BackgroundForReorgToSupportSites for an explanation of why I want to do something like the following as part of NeededForRelease280. If you have any comments on these ideas, please put them after the following section.
| ||||||||
| Line: 14 to 14 | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
| Changed: | ||||||||
| < < |
So that cleans up some of the "always-different" properties which get in the way when I'm trying to compare two cores. The thing is, there are some site-specific properties which have to do with limits on users, or on discussions. Right now those properties are on $player (#6) or $disc (#10), and that is the right place for them to be. These are values where the site-specific value is sometimes overridden for a single user or discussion. When I used to think about these properties, I would consider doing something ugly like "check both $site.user_max_obj and the player-specific value", but that's ugly. Then I realized there's a pretty simple solution:
| |||||||
| > > |
So that cleans up some of the "always-different" properties which get in the way when I'm trying to compare two cores. The thing is, there are some site-specific properties which have to do with limits on users, or on discussions. Right now those properties are on $player (#6) or $disc (#10), and those are the right places for them to be. These are values where even the site-specific value is sometimes overridden for a single user or discussion at that site. When I used to think about these properties, I would consider doing something like "check both $site.user_max_obj and the player-specific value", but that's mighty ugly (and certainly not object-oriented). Then I realized there is a pretty simple solution:
| |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| Changed: | ||||||||
| < < |
So, that handles the site-specific values. Then there's the property values which change over time for every core. For those: | |||||||
| > > |
So, I think that can handle all the site-specific values nicely. Then there's the property values which change over time for every core. For those: | |||||||
| ||||||||
|
See BackgroundForReorgToSupportSites for an explanation of why I want to do something like the following as part of NeededForRelease280. If you have any comments on these ideas, please put them after the following section.
| ||||||||
| Line: 32 to 32 | ||||||||
|---|---|---|---|---|---|---|---|---|
| -- GaranceDrosehn - 06 Dec 2005 | ||||||||
| Added: | ||||||||
| > > |
| |||||||
| Line: 1 to 1 | ||||||||
|---|---|---|---|---|---|---|---|---|
| Added: | ||||||||
| > > |
See BackgroundForReorgToSupportSites for an explanation of why I want to do something like the following as part of NeededForRelease280. If you have any comments on these ideas, please put them after the following section.
Right now key properties are spread out over several standard verbs. Some of those properties must exist and have some specific value for lily to work. Some properties have values which almost certainly change between sites (such as the site-name, or the email address). But once set, they will probably remain constant for that site, and never match the values for those properties at other sites. And there are other values which change constantly, just to track what is happening in any given instance of lily. So, what I want to do is:
$player (#6) or $disc (#10), and that is the right place for them to be. These are values where the site-specific value is sometimes overridden for a single user or discussion. When I used to think about these properties, I would consider doing something ugly like "check both $site.user_max_obj and the player-specific value", but that's ugly. Then I realized there's a pretty simple solution:
So, any thoughts on the above plans? I already have some initial stabs at this, enough so I'm pretty sure this will work the way I want it to work. My intent is to try and do it this way, unless I hit a real stumbling block. I just might have something ready before Jan 1st 2006, if things work out okay. I doubt I'll have all the changes implemented, but I'll have enough done that I'd finally feel comfortable doing the official release of a new core (after fixing the other details still on the to-do list). -- GaranceDrosehn - 06 Dec 2005 | |||||||