Web Publishing at PI -=-=-=-=-=-=-=-=-=-= o Web sites are kept in CVS - Multiple people can modify - Easy resolution of conflicts - Seperate CVS modules allow restricting who can update what - Can roll back when clients change their mind o Some sites use m4 and make - Gives headers and footers - Easy to make ``global'' changes on a website - Means we don't need anything special on the server - Able to embed commands - eg date o Publish happens via a perl script that does rsync over ssh - Can take source of either standard directory, or cvs modules - Different destination hosts - Can specify excluded files (eg .m4 files, cvs files) + Globally and locally - Can specify include files (to override global excludes) - Can create modules that publish inside other modules + Useful for splitting updating of different parts - Future directions + Possibly create ``meta-modules'' which include others + Pre and post scripts + Extend src to have multiple sources going to specified locations on dest o Conclusion - Allows development to happen locally - M4 allows easy changing of look and feel of website - Any user can then upload to production webserver quickly - Requires ssh and rsync on remote server