access controls
I've revamped the intention for access controls. See:
http://www.compstrm.org/wiki/uuid/ms6ad8Pnf+n3R4-u0X58ut+q
Exploring Time as a dimension in Software Applications and further developments of the AgileWiki project, salted lightly with personal notes.
I've revamped the intention for access controls. See:
I just confirmed that slurp, the Yahoo web crawler, is still hitting www.compstrm.org. In spite of this, the site is stable. A welcome change, and due to the bug fix in 2.0.0. (Currently running 2.0.1-0539a)
With 2.0.1 in beta, the problems introduced by 2.0.0 are past us. (I say this with fingers crossed.) And I'm happy with the result, though there has been an increase in complexity. (What, with headers, tags and LEnts having 3 distinct types of name/value pairs!)
Comments?
I've been unable to reproduce this problem on my laptop. But after monitoring www.compstrm.org with a "tail -f twistd.log", it looks like the Yahoo web crawler is causing problems when attempting to access an outdated UUID--something I probably didn't test. :-(
The cvt seems to be working. Next (likely tomorrow) I'll release it as an alpha--it becomes beta after I've updated the CompStrm Cabinet.
I'm happy to report that I just finished testing the conversion of email from 1.7 to 2.0.0. Turned out, it was a lot easier than I thought it would be.
Start simple!
The 2.0.0 beta 2 is out. LEnts have been reworked--they are no longer Topics.
LEnts should now be very much faster to work with. And yes, if you include several LSecs, then the le command can display the consolidated set of LEnts.
Meanwhile, I'm starting to get a handle on that bug in 1.7 that I reported in the CompStrm forum.
This is the alpha1 release of 2.0.0. Some things to keep in mind:
All of these issues will be addressed in the beta release.
Well I found the problem I was having snaping/restoring tags. As I expected, the tag dictionary was missing the Internal attribute, so its contents were not being saved. So I'm retesting now. If all goes well, then I'll release 2.0.0 alpha. :D
I finished updating gencal and everything looked great! All ready for the release of 2.0.0 alpha1!
I was out sick a few days this month, but the impact on the Ark was for more like 2 weeks.
Email is working fine now, finally. Looks like I was writing code on a bad day when I should have been avoiding the computer--it took a while to find all the bugs.
Got back to the code, finally. Reviewed the 2.0.0 email logic, found some problems and made fixes. Still want to do a bit more cleanup, and then its time to test, test, test. But I think I'm pretty close.
Everything I've layed out for future releases should be called version 2.-, not version 3 or version 4. Perhaps I should use a 3-level version number, the second number indicating when a conversion is required, rather than the first number.
Once you introduce configurable services, configuration management becomes an issue. This is where, I believe, the Ark will have a significant advantage.
I am the plumber of the Ark. My focus is on making it work and making it usable. So my vision of the Ark is one of how the various parts need to work together. The best I've been able to come up with to describe what the Ark is intended to become is a platform for configurable services:
Normally I don't usually have any problems when refactoring code. (Though I remember back in 1980 when I first was able to edit code using a monitor instead of punched cards--refactoring was a tough nut then. Experience helps a lot!) But the email code has been giving me problems.
Turns out (long discussion with Norm) that AccessControl is implimented using both classifiers and descriptors. Owner is a classifier. Defining user groups is handled by classifiers. Identifying the accessible commands is done in the descriptor.
Gosh, I thought I knew. The DescriptorUnit defines behavior. So its kinda like the type of Topic. And that probably works for a lot of things, but now I'm looking at access controls.
I LIKE tags the way they are now--there is a potential there for speeding up queries and other processing. I've decided that its the implimentation of LEnts that I don't like.
The problem with tags as now implemented is that they are fully indexed and yet, the indexing is not used. Better to create a document and stuff them all there, one line per tag.This way they will be no slower than before.
I'm happy to report that I've fixed the design flaw that I previously reported and retested everything. Things are just a bit faster than before, except chlsc, which is now so slow as to be unusable. Oh well, its mostly queries that tags participate in and slow update is the cost.
The problem with adding descriptors is that you really want them under access control. And to implement access control, you really want descriptors.
Ouch! TKCS dictionaries accept only UUIDs for values, not strings.
Implemented the tag command: "tag name value"
Interesting day. Got a chance to use TWiki at work. The attraction there seems to be (among many other things) a view that can be customized for each site.
Found the problem with snap. My timestamp logic assumes Python time has a granularity of only 1/256th of a second--this is not true when running under Solaris. So it was just a porting bug.
I'm having trouble running snap/restore on my desktop at the office--a Blade2500 with dual SPARC processors and 2GB RAM.
Feeling a bit better today, but still caughing a lot. And now my wife is down with it.
This is a national holiday in India, Lord Ganish's birthday. So I had the chance to get a lot done on the Ark.
Thomas is a very dear friend, an ex-employee of mine, and a co-worker at Sun. He comes to visit from time to time, and this was one of those special nights.
Yesterday I briefly spec'ed out a number of major versions: v2--DescriptorUnits, v3--Journals and v4--access control. Each of these will involve a conversion.
I'm thinking that 1.7 is a good place to close out version 1. Once it is complete, then on to version 2.
Using the new utilities, I've been able to shrink all the Arks I'm maintaining (currently 4). I'm especially happy that the log files for the one dropped from 540MB to 260MB, largely by dropping and then regenerating the calendar. And this now includes the CompStrm Cabinet, where before it did not. (Of course, by regenerating the calendar, I dropped a LOT of unwanted emails which I had already posted elsewhere.)
I really do dislike having to fall back to Alpha. Its also generally difficult to fix a bug which only occurs on especially large datasets. But I may just be lucky this time.
I think it might be best to split off the header conversion into a separate version, with 1.7 now tightly focused on the new dump capabilities. The (new) 1.8 would then deal almost entirely with header conversion.