mirror of
https://git.code.sf.net/p/seeddms/code
synced 2024-11-26 23:42:11 +00:00
74 lines
3.6 KiB
Plaintext
74 lines
3.6 KiB
Plaintext
Release information for 3.3.0
|
|
-------------------------------------
|
|
|
|
This release contains various improvements which require your manual
|
|
interaction during an upgrade from an earlier version. You should definitely
|
|
make a backup of your database and possibly your content folder.
|
|
|
|
Folder search
|
|
-------------
|
|
The new folder search has introduced a new database field which has to
|
|
be initially filled. Without that field searching for subfolders in a
|
|
folder will not work. See below.
|
|
|
|
Data conversion
|
|
---------------
|
|
The conversion of strings like names and comments of documents and folders,
|
|
when saved in the database, has been completely droped. The conversion was
|
|
originally done for security reasons, both to prevent sql injections and cross
|
|
side scripting. Basically any field data that could do any harm, was replaced
|
|
by 'harmless' chars. Ampersands, semi colons, quotes, etc., they all have been
|
|
replaced by their html entity or masked by a backslash. The output of those
|
|
fields on html pages was not decoded anymore, but any other application that
|
|
accessed the database had to decode the data.
|
|
|
|
The new approach with less impact on the data keeps the data
|
|
unmodified when saving it in the database without opening new security
|
|
wholes. Protection against cross side scripting is done when the data
|
|
is placed on a html page.
|
|
|
|
As a consequence the complete database has to be searched for those
|
|
previously converted strings and converted back into the original value.
|
|
|
|
The conversion is done right after the database update during the
|
|
installation and upgrade process.
|
|
|
|
Content directory
|
|
-----------------
|
|
Each document in LetoDMS is associated with a directory in the file system.
|
|
Consequently, there is a limitation of documents set by the maximum number
|
|
of subdirectories in a directory of the filesystem. The currently most used
|
|
filesystem on Linux (ext3) supports only 31998 directories. In order to
|
|
overcome this limitation another level of directories has been put inbetween
|
|
the content directory and the document directory numbered from 1 to
|
|
maxDirID. This allows a theorethical maximum of square(maxDirID) documents.
|
|
The path to the document folder consists of the new path id and the document
|
|
id (<pathid>/<docid>). The path id is derived from the document id by the
|
|
formula
|
|
|
|
floor(docid/maxDirID) + 1
|
|
|
|
Hence, all documents with an id from 1 to maxDirID have the path '1/<docid>'.
|
|
The limiting factor of this schema is the number of document ids. It cannot
|
|
be higher than square(maxDirID).
|
|
|
|
If you intend to switch to the new multi level content directory format, you
|
|
will have to set maxDirID to a value > 0 (possibly 31998) and create one or
|
|
more new directories starting with name '1' below the content dir and move
|
|
all document directories into it. How many new directories are needed
|
|
depends on the maximum document id already used. If the maximum document id
|
|
is <= maxDirID, then you will only need one directory named '1'. If the
|
|
maximum document id is <= 2*maxDirID you will need another directory named
|
|
'2'. If you have already a document with id 1 (or 2, 3, 4, ...), you must
|
|
choose a different name for your new sub directory and rename to 1 (or 2, 3,
|
|
4, ...) after all document directories have been moved.
|
|
|
|
If you want to keep the current content directory structure set maxDirID to
|
|
0. Make sure the maxDirID remains unchanged for a content directory.
|
|
|
|
After finishing update
|
|
----------------------
|
|
Once you are done with the update, log in as administrator and make an
|
|
object check in the admin tools. This will fill the new database field
|
|
needed for the folder search and fill it with the appropriate value.
|