Home arrow PHP arrow Page 4 - Cracking The Vault (part 1)

Setting The Ground Rules - PHP

Electronic documents are all well and good - but when you work onthem collaboratively, they can end up being more difficult to handle thanordinary pieces of paper. Multiple versions, competing standards, accesspermissions and revision history tracking are just some of the issues thatarise in a paperless office. This article discusses building and deployinga document management system across your network - and also teachesbeginnners a little bit about designing Web-based applications with PHP andmySQL in the process.

TABLE OF CONTENTS:
  1. Cracking The Vault (part 1)
  2. Just Another Day At The Office
  3. An Evil Plan Is Born
  4. Setting The Ground Rules
  5. Design Time
  6. Start Me Up
  7. Entry Points
  8. Seeding The System
  9. Red And Green Clouds
  10. Digging Deeper
  11. Basic Maintenance
  12. The D Word
By: Vikram Vaswani, (c) Melonfire
Rating: starstarstarstarstar / 2
May 14, 2001

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement
At this point, I have also come up with a few ideas as to how this system is likely to work. I plan to model it closely on the check-in/check-out adopted by many popular source-control system, most notably CVS [http://www.cvshome.org/]. Incidentally, we did consider using CVS - the developers are already quite comfortable with it - but the managers had a "problem" with the command-line interface.

Here is an initial draft of the basic rules that I plan to build into this application:

1. Any user can log in to the system and add a file to the repository. This user can also assign permissions to allow other users to view (download) copies of the file, and modify (upload) new versions of the file. Users can only view/modify files if they have appropriate permissions.

2. Users with "view" permissions can download the most recent copy of a file for viewing on their local systems.

3. Users with "modify" permissions can "check out" a file from the storage area, make changes to it, and then "check in" the new version of the file. Other users cannot access a file while it is checked out.

4. A revision tracking system will enable users to enter comments at the time of checking in a file; these comments serve as both a reminder of the changes made to the document, and a notice of which users have made the changes. However, unlike most source-control systems, I do not currently plan to archive previous copies of a document (because it is not a requirement at present - though this can easily be added), or provide a method to "roll back" changes (because I have no idea how to track and revert changes made to binary files like JPEG images or Microsoft Word DOCuments).

5. All this activity will take place via a Web browser, thus freeing the user from having to install any special software on their workstation.

And while we're deciding on the features and rules, let's also decide on a name. I'm going to call it The Vault, simply because it functions much like a bank vault (secure access; user identification and tracking; sounds hip).

This article copyright Melonfire 2001. All rights reserved.

 
 
>>> More PHP Articles          >>> More By Vikram Vaswani, (c) Melonfire
 

blog comments powered by Disqus
   

PHP ARTICLES

- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...
- PHP: Building Concrete Validators
- Sanitizing Input with PHP
- Executing Shell Commands with PHP
- Handling File Data with PHP
- File Security and Resources with PHP
- ArrayObject PHP Class Examples
- ArrayObject PHP Class: An Introduction
- Getting File System Data with PHP
- PHP Tools for Working with the File and Oper...
- Working with the File and Operating System w...
- PHP Proxy Patterns: Completing a Blog


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 1 - Follow our Sitemap

Dev Shed Tutorial Topics: