Initial sketch for use cases.
This commit is contained in:
parent
8adafdea11
commit
8e6a0219d9
180
doc/devel/3. Use Cases
Normal file
180
doc/devel/3. Use Cases
Normal file
@ -0,0 +1,180 @@
|
||||
USE CASES FOR NG LIBISOFS
|
||||
=========================
|
||||
|
||||
3.1 General Operations
|
||||
======================
|
||||
|
||||
3.1.1 Creation of a new image
|
||||
-----------------------------
|
||||
|
||||
Desc: Creation of a new ISO image from files on the local filesystem
|
||||
Phases:
|
||||
- User creates a new image context
|
||||
- User get the root (empty) of the image
|
||||
- User adds files to the image root (see 3.2.)
|
||||
- User sets the options for the the new image (extension to use...)
|
||||
- User gets a burn_source to write the image.
|
||||
- The burn_source can be used by libburn to write the new image.
|
||||
|
||||
3.1.2 Image growing (multisession)
|
||||
----------------------------------
|
||||
|
||||
Desc: An existing image can be grown with new files. New content is added
|
||||
incrementally. Suitable for multisession. Growing support for
|
||||
overwritteable media.
|
||||
Phases:
|
||||
- Uses reads an existing image to get the image context.
|
||||
- User get the root of the image
|
||||
- User modifies the image tree (see 3.2.)
|
||||
- User sets the options for the the new image (extension to use...)
|
||||
A required option will be the nwa for the image.
|
||||
Optionally it can pass a pointer to a 64K buffer, that will be filled
|
||||
with suitable volume descriptors to be used with overwrieable media.
|
||||
- User gets a burn_source to write the image.
|
||||
- The burn_source can be used by libburn to write an image that should be
|
||||
appended to the previous image.
|
||||
|
||||
|
||||
3.1.3 Image modification
|
||||
------------------------
|
||||
|
||||
Desc: Creation of a new image from the contents of a previous image.
|
||||
Phases:
|
||||
- Uses reads an existing image to get the image context.
|
||||
- User get the root of the image
|
||||
- User modifies the image tree (see 3.2.)
|
||||
- User sets the options for the the new image (extension to use...)
|
||||
- User gets a burn_source to write the image.
|
||||
- The burn_source can be used by libburn to write the image to another
|
||||
device or file.
|
||||
|
||||
3.2 Tree operations
|
||||
===================
|
||||
|
||||
3.2.1 Addition of contents
|
||||
--------------------------
|
||||
|
||||
All addition operations take a parent dir. The functions check that the
|
||||
node name is unique among all children. Image context options determine
|
||||
what to do if a file with such name already exist.
|
||||
|
||||
3.2.1.1 Directories
|
||||
--------------------
|
||||
- Creation of new directories in image, given a parent dir. and a name.
|
||||
Attributes are initialized to default values
|
||||
- Addition of a dir from the filesystem, given a parent.
|
||||
Dir contents are not added. Name and other attributes taken from
|
||||
the dir on filesystem
|
||||
- Recursive addition of a dir, given a parent. Directory contents are
|
||||
recursivelly added to image.
|
||||
|
||||
3.2.1.2 Regular files
|
||||
----------------------
|
||||
- Addition of a local filesystem file. Name, attributes and contents to
|
||||
be written taken from the filesystem file.
|
||||
- Addition of files from the previous image. Files are automatically
|
||||
added to the tree when the image is read. Name and attrbs taken from
|
||||
previous image. When the image has no RR extensions, unavailable atts
|
||||
are initialized to default values. The contents are only written to
|
||||
img if we choose image modification.
|
||||
- Addition of filtered files. Name and atts taken from the local
|
||||
filesystem. A filter (see 3.3) is applied to the file contents before
|
||||
written to image.
|
||||
- Addition of splitted files. Like local filesystem files, but the file
|
||||
is splitted in several files on a given size. Suitable for big (> 2GB)
|
||||
files. Name of the splitted files automatically generated.
|
||||
|
||||
3.2.1.3 Symbolic links
|
||||
----------------------
|
||||
|
||||
Simbolic links are only written to image if RR extensions are enabled.
|
||||
|
||||
- Addition of a simbolic link from local filesystem. Name, atts and
|
||||
dest of a path are taken from the simbolic link.
|
||||
- Addition of new link on image to a path. Name and dest specified,
|
||||
the destination is specified as a path. Attributes initialized to
|
||||
default values.
|
||||
- Addition of new link on image to another node. Name and dest
|
||||
specified, the dest is set to a node previously added to image.
|
||||
When written, the destination path is computed as the relative path
|
||||
from the link to the destination node. Attributes initialized to
|
||||
default values.
|
||||
|
||||
3.2.1.4 Special files (block devices, fifos...)
|
||||
-----------------------------------------------
|
||||
|
||||
Special files are only written to image if RR extensions are enabled.
|
||||
|
||||
- Addition of special files from filesystem.
|
||||
- Creation of new special files on image.
|
||||
|
||||
|
||||
3.2.2 Modification of contents
|
||||
------------------------------
|
||||
|
||||
3.2.2.1 Deletion of nodes
|
||||
-------------------------
|
||||
|
||||
- Any node can be deleted. When a dir is remove, all its contents
|
||||
are also removed.
|
||||
|
||||
3.2.2.2 Move
|
||||
------------
|
||||
|
||||
- Any node can be move to another dir..
|
||||
|
||||
3.2.2.3 Rename
|
||||
--------------
|
||||
|
||||
- You can change the name of any node
|
||||
|
||||
3.2.2.4 Change of POSIX attributes
|
||||
----------------------------------
|
||||
|
||||
- Following POSIX atts can be changed: owner (uid/gid), permissions,
|
||||
timestamps.
|
||||
|
||||
3.2.3 Bootable information
|
||||
--------------------------
|
||||
|
||||
[TODO]
|
||||
|
||||
|
||||
3.2.4 Other operations
|
||||
----------------------
|
||||
|
||||
3.2.4.1 Set file sort weight
|
||||
-----------------------------
|
||||
|
||||
- Any file can have a sort weight, that will determine the order in
|
||||
which the files are written to image
|
||||
|
||||
3.2.4.2 Hidding of nodes
|
||||
------------------------
|
||||
|
||||
- Files can be hidden in the RR or Joliet tree
|
||||
|
||||
|
||||
3.3 Filters
|
||||
===========
|
||||
|
||||
[TODO]
|
||||
|
||||
Support for:
|
||||
- compression filter
|
||||
- encryption filter
|
||||
- external process filter
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user