Table of Contents
OpenCA includes a lot of ideas and we think it is impossible to give a 100 percent complete overview about all technologies and ideas. The development model of OpenCA is an evolutional model. The community develops new features if they need them. There is no strict release schedule or big corporation in the background.
This guide also follows the evolutional development model. It contains descriptions of new technologies and core concepts of OpenCA. It is impossible for us to document every detail but we want to give all developers a chance to now what OpenCA is. The developers of stylesheets doesn't develop necessarly the code for the encryption tools but sometimes they want to how they can use encryption. In this case they can take a first look into the Tech Guide to understand the general concepts.
Before we start with concrete technologies it is necessary to describe a general technology - slots. Perl's DBI is a good example howto integrate several database drivers without installing and using more modules then required. This is what we call slot technology.
If you have a module and it needs a module which provides a special interface then it calls a "supermodule" which loads the required module and return it or handle all requests for the user including the management of the loaded modules.
my $class = "OpenCA::Token::$name"; eval "require $token_class"; return $self->setError ($@, $@) if ($@); my $token = eval {$token_class->new (@_)}; return $self->setError ($@, $@) if ($@); return $self->setError ($token_class::errno, $token_class::errval) if (not $token);
The first step is to load the required class. This has the same effect like a statical "use" statement but "use" doesn't work with dynamic classnames.
The second step is the creation of a new instance. Perl's OO interface is really bad compared with python or others like ruby but it works and we have not the time to rewrite the complete code. After the second eval you have a normal object reference and a new "slot" is established.
Please remember these concept at every time you read from a slot based technology.