Name : perl-Set-Files
| |
Version : 1.06
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 6.74
| Date : 2024-08-05 19:47:52
|
Group : Development/Libraries/Perl
| Source RPM : perl-Set-Files-1.06-6.74.src.rpm
|
Size : 0.08 MB
| |
Packager : (none)
| |
Summary : routines to work with files, each definining a single set
|
Description :
This is a module for working with simple sets of elements where each set is defined in a separate file (one file for each set to be defined).
The advantages of putting each set in a separate file are:
* *Set managment can be delegated*
If all sets are defined in a single file, management of all sets must be done by a single user, or by using a suid program. By putting each set in a separate file, different files can be owned by different users so management of different sets can be delegated.
* *Set files are a simple format*
Because a file consists of a single set only, there is no need to have a complex file format which has to be parsed to get information about the set. As a result, set files can easily be autogenerated or edited with any simple text editor, and errors are less likely to be introduced into the file.
The disadvantages are:
* *Permissions problems*
Some applications may need to read all of the data, but since the different set files may be owned by different people, permissions may get set such that not all set files are readable.
Applications which actually gather all of the data will need to be run as root in order to be reliable. Alternately, some means of enforcing the appropriate permissions needs to be in place.
* *No central data location*
Usually, when you want to define sets, the data ultimately needs to be stored in one central location (which might be a single file or database).
To get around this, a wrapper must be written using this module to copy the data to the central location.
* *Simple elements only*
Many types of sets have elements which have attributes (for example, a ranking within the set or some other attribute). When you start adding attributes, you need a more complex file structure in order to store this information, so that type of set is not addressed with this module. The only attribute that an element has is membership in the set.
* *Slow data access*
Because the data is spread out over several files, each of which must be parsed, and any error checking done, accessing the data can be significantly slower than if the data were stored in a central location.
Features of this module include:
* *Data caching*
This module provides routines for caching the information from all the set files. This can be used to avoid the permissions problems (allowing user run applications access to all cached data) and decrease access time (no parsing is left, and error checking can be done prior to caching the information).
This still requires that a privileged user or suid script be used to update the cache.
* *Multiple type of sets*
Often, it is conveniant to define different types of sets using a single set of files as there may be considerable overlap between the sets of different types.
For example, it might be useful to create files containing sets of users who belong to different committees in a department. Also, there might be sets of users who belong to various departmental mailing lists. One solution is to have two different directories, one with set files with lists of users on the various committees; one with set files with lists of users on each mailing list. Since there might be overlap between these groups, it might be nice to have the two sets of files overlap. For example, some committees may want to have a mailing list associated with the group, others don\'t want a mailing list, and there may be mailing lists not associated with a committee.
This allows you to have a single file for each set of users, but some sets will have mailing lists, some will be committees, and some will be both.
* *Set ownership*
Since the different files may be owned by different people, operations based on set ownership can be done.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-S/openSUSE_Tumbleweed/noarch |