integrity checking
I've added integrity checks to the snap and snapCabinet utilities. This will be included in the next release.
Exploring Time as a dimension in Software Applications and further developments of the AgileWiki project, salted lightly with personal notes.
I've added integrity checks to the snap and snapCabinet utilities. This will be included in the next release.
I did a quick review of postEvent in wikilib.py and found some pretty bad code. No wonder the Ark felt like something had broken every time you logged in.
On the first day the non-commercial exibitors were given a separate area. Traffic was low in this area, but I still had pleanty of folk to talk to who were interested in learning something about the Ark. With any luck, we may get some participation on the compstrm forum.
After releasing 2.0.15.0, I decided to take some time off. Got a book (scifi).
The Ark is slow, and I have some ideas for making it faster. But logging in is especially slow. So I want to take some time out and review that code.
Sometime tomorrow, 2.0.15--extending table descriptor units--should be completed and released as a beta. Table descriptor units will each have a Columns table with two columns: column name and a brief description.
I just wanted to do a quick review of name magic--which begins with automaticly determining the DescriptorUnit (read "type") to associate with a newly created Topic.
I'll confess, I always enjoyed playing with things like the class class. I've just finished writing the specs for 2.0.15 http://www.compstrm.org/wiki/uuid/EQ7UHDZ4oq9pdO12+NFgCR96 and now we have both DefaultDescriptorUnitDescriptorUnit and TableDescriptorUnitDescriptorUnit.
In 2.0.14, we are now automaticly generating the NewTopicNameMap LSec when a DescriptorUnit is created. Consider that a sample of things to come.
With the release of 2.0.13.0, you will rarely need to use the mkdu command.
Well, 2.0.12.1 is out. The gencal utility has been updated and the crc command has been revamped.
Small improvements, but I suspect there will be a cumulative effect on ease of use. Eventually we should have forms for adding a row to a table. (One small step at a time, OK?)
Well, setup magic has just become crc magic. The crc command no longer creates duplicate cabinets, but refreshes it. Which is to say it adds the standard DescriptorUnits if they are missing or out-of-date. (This is a lot like the way gencal works when rerun for the same year.)
The value of the DescriptorUnit tag is what distinguishes a DescriptorUnit from others, possibly with the same name. The post command uses this, least moving a topic from one Cabinet to another result in the assignment of the wrong DescriptorUnit.
http://www.jot.com/index.php
There are a number of enhancements that I'd like to add to DescriptorUnits to make things easier to use, and these will require changes in the new setup utility, so the temptation is to further delay the initial implementation of the setup utility. But I've come to realize that this is NOT a good idea.
I'm delaying setup magic a bit, as there are now a few items which will impact its implementation. Case in point, replacing the newtopicdescriptorunit header with a much more powerful NewTopicNameMap LSec. Version 2.0.11 then becomes NewTopicNameMap.
I realy do want the Ark to be easy to use--it should "just work". And the hope here is that DescriptorUnits have enought potential power that this is doable.
I've now written up (briefly) the imatch specs under the intentions page at www.compstrm.org. I've also split setup magic and user Folders into separate versions--the specs for user Folders may not be stable yet.
Before launching into 2.0.11 proper, I'm taking time out for a few minor enhancements:
These changes have all been completed and will be included in the first release of 2.0.11.
There is also another change that I've discussed with Norm, but its a bit more than minor: imatch. (See below.) I expect imatch will be implemented in a separate version.
Currently what TagMatch does is add any matching topics to the list of visible topics. (I.E. They show up when you use the t command.) TagMatches of this kind are created using the match command from the cls display.
An alternate form of TagMatch will be created using the imatch command. This new kind of TagMatch will include any matching topics to the list of applicative topics. This is kind of like having wildcards in the pathname of an include, except that it works faster and uses global scope for matching.
Please remember when using tags that they are global across all cabinets. Use long names for tags. Topic names can be short because they are scoped based on structure, but tag names are not scoped and must be unique. (I've broken this rule in www.compstrm.org in several instances, unfortunately. Case in point, use of the desc tag on days in the calendar. Such tags are of limited use for tag matching.)
Its time! Ark administration needs a bit of magic. And it is about time for every user to get their own Folder, which only they can update. Check out the new specs, 2.0.11:
I've just written a set of slides on the Ark's Data Security.
Norm concurs that the Users table needs to be external to the Cabinets. So we'll need an Ark Cabinet to hold this (and other) data.
If you're in Bangalore the end of this month, stop by the FOSS conference. I'm taking 4 day's vacation from Sun and will be spending the time manning a booth, giving demos of the Ark.
You may have noticed that 2.0.10 is now in alpha. Hopefully it will be in beta sometime this weekend.
2.0.10, limiting write access, is coming along nicely. But gosh, it would be nice to be adding other features which use descriptors besides access control.
I've been thinking about moving/sharing Cabinets between Arks and it occurs to me that different Arks will have different users with different role assignments in their various Cabinets.
As I refined the specs for access control, the specs for remarks shrank considerably--a good sign. So I've folded them into the specs for limiting write access.
One thing has made me uneasy--having a restrict header in the DescriptorUnit which names the group that has write-access. This is Classifier information and may vary from Topic to Topic with no other change to the DescriptorUnit. Wrong!
I've reviewed the spec for limiting write access (still 2.0.10), and made only a few minor changes:
I'm pushing the config and custom roles (was 2.0.10) back to 2.0.11, as I think I've finally figured out a simple way of limiting write access. The (new) 2.0.10 spec simply defines a restrict header in DescriptorUnits which names the role required to update Topics which use that DescriptorUnit.
Release 2.0.9.0 is out, and its beta. This is a worth while release, as it effectively limits the use of header commands to DescriptorUnits where they are needed.
Access controls are getting closer. I just wrote the specs for 2.0.10, which limits some operations on DescriptorUnits to users with the config role. I'll note that this is the shortest set of access control specs that I've written to date, and pretty easy to implement. Of course, I've still got to implement 2.0.9, first.
With the release of 2.0.8, working with LEnts just got a bit more complicated, as the LSec holding the LEnts now requires an appropriate DescriptorUnit.
Big holiday here, so I got the day off from Sun. Had a root canal done (oh joy!). But at least the price was right--US$30.
Yesterday, Thomas pointed out that gmail allows users to attach labels to emails. This is a lot like tagging emails in the Ark. And of course, for every label there is a virtual folder which is the equivalent of a TagMatch on a Topic. Cool stuff.
In addition to being able to match based on inherited tags, it makes sense for the d, f and p commands to list all the inherited tags when there are no name$ arguments.
Release 2.0.6 is out, moving us one step closer to a typed system of topics. At least now the post command is a bit more DescriptorUnit-friendly. This is going to be a long, dragged-out process, so I'm happy to intersperse some other functunality--like TagMatches--which have immediate utility. On the other hand, I'm quite happy to have made some progress on DescriptorUnits. It's been like a black cloud hanging over my head.
The cal.pdf picture has been replaced with a complet set of slides: