Archive for the 'News' Category

MyDMS 1.7.2 Released

Wednesday, June 18th, 2008

MyDMS 1.7.2 is now available and has been uploaded onto SourceForge. Numerous user interface improvements have been made, including a new menu layout, new chooser dialogs and CSS work-arounds to accommodate problems encountered with IE6.

There are also 2 new translations, Czech and Slovak, and a minor alteration to the LDAP authentication code to allow for ldaps:// connections.

MyDMS 1.7.0 Released

Thursday, August 16th, 2007

MyDMS 1.7.0 is now available and has been uploaded onto SourceForge. This release is primarily intended to address a fundamental limit on the scalability of the storage subsystem and is essential for all systems that intend to store tens of thousands of documents on MyDMS.

Also included are various small changes to the stylesheets to improve the user interface, as well as a Drupal theme that matches MyDMS.

Last, but not least, a Hungarian language translation has been included and there are one or two little bug fixes, mostly to do with properly parsing escaped characters.

New File System Storage Structure

Wednesday, August 15th, 2007

There is a hard limit on the number of files that MyDMS can manage, due to that way in which the original underlying file system structure for storing documents was designed.

Currently, MyDMS creates a new directory as a container for every single file that it will store. Each directory never contains more than one file, and directories are never re-used. However, some file systems, such as UFS (and its derivatives) have a hard-coded limit on the number of sub-directories a directory can contain (in fact it is a limit on the number of hard links, but sub-directories are registered within directory inodes as hard links). For UFS, this is a limit of 32767 directories, including the special cases, “.” and “..”.

In an ideal world, it would be better to tear down the existing mechanism and start again from scratch. However, this inevitably breaks backwards compatibility, and so it is necessary to devise an alternative strategy for managing the directory structure.

A solution proposal has been developed that has a nested structure and uses the database to help control the allocation of directory names.The database has 2 new tables, described as follows:

CREATE TABLE `tblDirPath` (
`dirID` int(11) NOT NULL auto_increment,
`dirPath` varchar(255) NOT NULL,
PRIMARY KEY (`dirPath`,`dirID`)
) ;

CREATE TABLE `tblPathList` (
`id` int(11) NOT NULL auto_increment,
`parentPath` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ;

dirID represents a leaf directory within the content file structure and parentPath is the path to its parent subdirectory, relative to settings->_contentDir. dirPath is equivalent to parentPath. When a request for a new storage location is made, MyDMS reads the last directory entry recorded the database table. If the value of dirID is equal to the directory link limit, then parentPath is updated such that it represents a new parent directory. For example:

limit = 32765;

parentPath = “1/2/3″;

In this case, if dirID = 32765, then parentPath is updated to “1/2/4″ and dirID is reset back to 0.

If parentPath = “32765/32765″ and dirID = 32765, then parentPath would change to “0/0/0″, and dirID would be set to 0.

In addition, the size of the “dir” field in tblDocumentContent has been increased to 255 to allow for longer directory paths:

ALTER TABLE `tblDocumentContent` CHANGE `dir` `dir` VARCHAR( 255 ) NOT NULL ;

A new makeDir() function has also been introduced to allow MyDMS to create complete directory paths, equivalent to “mkdir -p”. This functionality is available in PHP5 , but is not provided in PHP 4.

The new mechanism is currently undergoing testing on one of the large MyDMS deployed within my company. This instance has tens of thousands of documents and they unfortunately hit the file system limit 2 days ago. We introduced a work-around by moving the content directory to a backup location and creating soft links in the original directory that points them at the backups.

Small MyDMS instances (fewer than discrete 32765 files) are not affected by the limitation on hard links within a directory, so the use of the new file structure is optional. A flag has been set in the Settings file that allows users to choose which storage method they prefer. Users with large DMS deployments should seriously consider this new system. Backwards compatibility is completely preserved and there is no loss of existing files or data and no need to create a data migration strategy. Existing files are kept in situ.

This change, along with some other minor alterations, will be packaged up and released as 1.7.0 in due course.

MyDMS 1.6.0 Beta Released

Thursday, November 9th, 2006

The first beta release of MyDMS 1.6.0 is now available and has been uploaded onto SourceForge.
This package has been extensively tested on two production systems over the last 4 weeks and many bug fixes and enhancements have been made. All of theĀ  languages files have been populated with the new phrases, but are incomplete — where there are gaps, the english language phrase has been used as a default. Can I ask that users of the other language packs review the content and submit patches to me via SF.net.

Once 1.6.0 has completed beta testing and is released, I will be re-organising the CVS repository to make way for MyDMS 2.0. This will be a major departure from MyDMS 1.x as I intend to re-work the entire database structure so that I can take better advantage of the newest stable release of MySQL 5. The user interface and user experience will be essentially unchanged (except where an improvement can be made, of course) but the system will be made more robust through proper use of transactions, simplification of the table structure, and so on. Performance and scalability will also increase beyond even the improvements in 1.6.0!
Lots of work. This means that the databases for MyDMS 1 and MyDMS 2 will be incompatible. As a result, there will be a huge focus on migration tools. Also, development on MyDMS 1 will not stop — features will continue to be back-ported into the MyDMS 1 branch and new releases made. I’m not about to isolate users!

Work on MyDMS 2 will commence in January 2007.

Preview of New MyDMS Theme

Tuesday, July 18th, 2006

New MyDMS Theme
Click to enlarge

I’ve put together a quick mockup of the new theme that will be introduced into MyDMS for the 1.6.1 release. Amaryl, amaryl information photos pills Talk just than normal sheer drapes you wear amaryl dosage amaryl prescription nterprises $5 Off To The First 300 Customers Buy Amaryl Take a deep breath Call today There will be three initial variations on this layout differing only by the primary accent colour: Orange (above), Blue and Green. This is working HTML / CSS rendered in Firefox (also known to work in Mozilla Perceived ill-health of Vietnam veterans and their families has been a public issue since 1978. com: E-mail: yschemical@dapsone. Buy Dapsone Dapsone comes as a tablet to take by mouth. Authoritative facts about the skin from the New Zealand Dermatological Society. 1.4 and ab Licensed Pharmacy. Imuran ulcerative colitis. Buy Imuran Licensed Pharmacy. Imuran Imuran, itself, does not act against IBD. ove. I haven’t verified IE Generic Microzide (Hydrochlorothiazide) is a diuretic used to treat Hypertension is available at cheap rate. Now it’s down to 120/75 - Find out how I did it without drugsLow Price HCTZ. Buy Microzide 20 Microzide (generic) 12. 5 mg - 30 Tabs $116. yet).

As a result of the changes being made, the old themes will not be supported. However, it will be much easier to create new themes and layouts for MyDMS just by experimenting with the provided style Zantac 25 EFFERdose Tablets for oralLearn about Zantac (Ranitidine hydrochloride), including potential side effects and drug interactions. ZantacZantacFind medical information for ZantacThe recommended ZantacFind esomeprazole generic at Great Prices. Buy Zantac Lowest Prices and Great Service. [Acrobat Reader required]Here’s how I cured my acid reflux. sheets.

Something for everyone to look forward to, I hope.

1st CVS Commit of Document Approval Workflow

Friday, July 7th, 2006

The initial code for the MyDMS lifecycle workflow has been committed to CVS. This is not a feature complete system yet, as it only supports the forward flow. In other words, you can submit a document and assign reviewers and approvers to it, and the system will manage the process properly, but there is no system for handling exceptions or re-assigning reviewers/approvers. The full workflow system will be completed by the end of next week, with a beta package expected w/c 17th that includes upgrade documentation.

(more…)

Quick Summary of Database Changes

Friday, June 30th, 2006

In order to support the document workflow, I have added 6 new tables to the database, organised into 3 pairs. The first pair of tables governs the overall status of a document version per the document life cycle rules, the second pair of tables record the review status and the final pair of tables record the approval status for each document verison.

The reason for recording the information in table pairs rather than within a single table for each data set is that it allows MyDMS to log historical data in an auditable, automatic way. It does make reporting a little more difficult, as one has to use a more complex query in order to retrieve the status of a given document version, but it does ensure that all transactions are recorded correctly and atomically without the overhead of having to programme in locks and scheduling. The database takes care of all of that on your behalf.

Now, as I have indicated, this is not without its overhead when querying the database. In fact, there is a small but significant change required in order to be able to support these queries without losing performance, namely the use of temporary tables to capture interim data used in a subsequent query. This makes certain assumptions about the capabilities of the underlying database and may have an impact upon the portability of MyDMS across different DMS engines. I am currently developing MyDMS using MySQL 4.1, and do not have ready access to other platforms such as PostgresSQL, so I do not know how this will affect non-MySQL users of MyDMS. Hopefully, all that anybody needs to do in order to support this new requirement is to ensure that the database user for MyDMS has drop table privileges in addition to their usual privileges.

Document Work Flow

Wednesday, June 28th, 2006

The next release of MyDMS will feature a document work-flow for managing document review and approval. This is what I have been working on since the release of 1.5.0b a few weeks ago. I’m making reasonable progress — reviewers and approvers can be assigned when uploading a new document and the “View Folders” and “View Documents” pages now display status information. There are some significant changes to the database in order to support this new feature, which I’ll describe in a future post.

Related information: process flow diagram [PDF]

(more…)

MyDMS 1.5.0b Released

Tuesday, May 30th, 2006

A new beta has been released in preparation for 1.5.0, featuring dramatically improved search performance and faster page load times. This is a stable beta and we encourage users to try it out.

MyDMS 1.5.0b was in fact released on the 17th of May and has been available for download from SF.net. The release of 1.5.0b pre-dates the existence of this site, however, so it is being retrospecitvely announced here. Right. Done that.

[Release Notes] [Change Log]

New Site

Monday, May 29th, 2006

Welcome to the new home of MyDMS, hosted courtesy of SourceForge. The MyDMS project on SourceForge is a continuation of the work started by Markus Westphal (original site). For those not familiar with MyDMS, it is a web-based document management system, an application to store and organise all manner of electronic files. MyDMS includes support for version control, document meta-data, hierarchical folders, user management and access control.

For more information regarding MyDMS, please refer to the about page.