[plug] Virtual Filesystems & CMS

Trevor Phillips T.Phillips at murdoch.edu.au
Fri Jun 11 10:28:53 WST 2004


I'm after some words of wisdom, from anyone who may've had some experience in 
this field. The situation is this: A large webserver, hosting dozens of 
sites, with dozens of content providers. The "standard" configuration is to 
give each user a UNIX account, and use groups to control write access, with 
access through Samba & SFTP. This, however, is cumbersome, and has 
scalability issues (can't cram "admin" or "multi-side consultants" into more 
than 32 groups being the most annoying issue). It also offers no roll-back on 
content versions.

Desirable criteria not currently supported include: Access Control Lists 
(instead of the inflexible User/Group/Other UNIX system), version control, 
efficiency, integratability into our existing Apache Magic.

The higher-ups are trumpeting Content Management Systems - throw money at a 
black box. Yay! Personally, I've found such solutions are more trouble than 
they're worth, with more time spent trying to bend the system to do what used 
to be simple. And I know for a fact that most of them won't integrate with 
some of our other technologies we depend upon (heavy-use of Apache mod_perl 
layered content handlers).

My preferred solution is to create something myself. However, we have limited 
time resources, and there's always the "what if you get hit by a bus" issue 
that managers like to bring up (which is a fair call). Alternatively, if 
there are some cool technologies I can leverage to do the hard work, then 
creating a custom system may be easier, and more robust, easier to maintain, 
etc...

So - what sort of technologies pre-existing could I leverage?

I'd prefer NOT to keep actual content in a database. Tracking access & META 
info in a DB is possible, but I'd prefer to keep "files" as files on a 
filesystem. I mean, the filesystem is a DB optimised for the storage & 
retrieval of files, is it not?

Version control - how scalable and useful is an existing system (eg; 
Subversion) to this sort of file repository? Thousands of files. Mostly HTML, 
but with large pockets of binary files (images, PDFs). Is it worth using some 
other system? Or should I just do my own? It wouldn't be too hard. Maybe have 
a directory based on the file name, and store snapshot versions of the file 
in the dir?

Access - I could investigate ACLs at the Linux level - but why bother? If 
people ONLY need access to edit content, then why give them a UNIX account, 
which adds on other security concerns? I could do a custom WebDAV interface - 
yet WebDAV seems like one of those cool-yet-underused & stale sort of 
technologies. Or perhaps it's so basic it doesn't need upgrades? At least 
it'd integrate nicely with the rest of Apache. But it may be a pain for 
clients limiting access to WebDAV. Perhaps Apache 2 can help? I think I read 
somewhere it can act like an FTP and/or SMB server?

URI Transparency - One of my pet hates is Web-apps which pretend to be a 
website, yet have the ugliest CGI-style URLs. Ugh! It's unnecessary! (Sorry - 
bit of a Rant of mine.)

Any thoughts/ideas? Or is this a field not really covered in-depth in Perth? 
^_^

-- 
. Trevor Phillips             -           http://jurai.murdoch.edu.au/ . 
: Web Technical Administrator     -          T.Phillips at murdoch.edu.au : 
| IT Services                        -              Murdoch University | 
 >--------------------------------------------------------------------<
| On nights such as this, evil deeds are done. And good deeds, of     /
| course. But mostly evil, on the whole.                             /
 \      -- (Terry Pratchett, Wyrd Sisters)                          /



More information about the plug mailing list