Directory Structure
We have created two directories: "projects/webtech" and "projects/resources". The first holds all of the materials that Shrideep collected in a subdirectory called book and the second will hold the outside or copyrighted materials.
The current plan is to copy "projects/tutorials", which is where most of the remaining materials are, to both webtech and to resources. Then all the outside or copyrighted stuff will be weeded out of webtech. I now believe that we need to do so much processing on projects/tutorials/Java that we should leave the current projects/tutorials in place, and move newly formatted stuff to projects/webtech. In addition to projects/tutorials, there is some material on carver under "reference-docs/cwou" for database tutorials that should also be copied to webtech. I propose that the projects/tutorials subdirectories (the main content ones are CGI, DHTML, Database, HTML, JDBC, Java, JavaBeans, JavaCSE, JavaScript, UNIX, VRML, XML, applications, and servlets) be moved directly underneath projects/webtech in order to keep one level out of the directory tree. I think that reference-docs/cwou should be copied under the Database subdirectory.
This collects the material for the CDROM almost entirely in the webtech directory, which will be declared to the be original maintainable copy. There are two exceptions that I know of. The first exception would be certain programming examples that are required to live on carver in order to run. This includes both CGI examples and applets which must be downloaded from carver in order to connect to a server on carver. It does not include the servlets. This copy would then have to be the original maintainable copy. But we could put into the script which processes the CDROM directory that it should copy examples from the carver directories reference-docs and reference-cgi instead of making an outside link.
The second exception is that talks, both HTML and PPT versions, should keep the original version on users/gcf. Again the CDROM script would have to be able to copy things at the time that a CD is actually cut.
In order to preserve legacy links, as materials are moved to projects/webtech, the original directories would then be modified so that all content would be replaced by soft links to the new home of the material, either webtech, resources or carver.
The weeding out process would also have to include eliminating duplicate examples between the book, projects/tutorials, and reference-docs.
Web Page Structure
One question that has been discussed is whether there should be one front door to this material or two. I think that Shrideep and I both favor having two front doors. With one front door, we would extend Shrideep's pages to have additional topics. The difficulty is that this would dilute the focus, for example, of the code examples to have all the examples there and not just the ones directly supporting the book material.
So with two front doors, we would have Shrideep's book page be the front door to what is essentially the CPS616 material, and make another front door that is essentially CPS606 and other background material from projects/tutorials. I'm not sure we should directly associate the courses with these two top-level web pages as the material for CPS616 changes a lot with time and may not be in the book, like servlets. And material may move from CPS616 to CPS606. Of course, the two front doors may both mention material in common (but only one copy is in the directory webtech).
Content
Meryem and I have just reviewed Shrideep's book stuff.
In addition to Shrideep's collection of materials, there are chapters from Hasan, with text but no supporting examples, etc. These are at .../users/timucin/misc/book.
Making directories suitable for CDROMs:
One of the main issues with making a CD that is cross-platform, is that names are mapped to lowercase. This doesn't work for Java as the class files are required to have case-sensitive names and many have upper case. In discussions with Deepak, it appears that if we put all the .class files in .jar files (with lower case names), it will be o.k. Also we must require that all Java codes that read files have lower case file names (this is o.k. as there are not to many to change).
Making the .jar files is rather a big job and also requires editing the html files to put in archive attributes.
In addition, projects/tutorials/ is littered with other no-no's for the CD: frames, file names like "name.java.html", and so on. So preparing projects/tutorials to make CD's really required reformatting everything.
How to maintain the new web pages
Currently, Shrideep's section is maintained with FrontPage, and the projects/tutorials stuff is maintained by writing HTML by hand. I think that we could perhaps keep the top-level pages maintained in FrontPage, which would mean that if you wanted to make a change, you would have to copy everything to a PC, make the changes, and copy everything back. We would have to notify everyone when that happened so that only one person at a time was working on updating that part of the pages.
Further down in the directories, I think that it makes more sense to use technology that works in Unix on the examples as they sit in the directory. Far too often, I need to make last-minute updates before class, so I need something that works quickly.
In reformatting the projects/tutorials examples, we will abandon the update script, whose role was to update directory permissions and to produce a lot of the formatted files that are wrong.
List of tasks:
Phase I: 2 weeks - Meryem, with help from Deepak -last two weeks of June
Phase II: 6 weeks - Meryem and Nancy - July 1 - Aug. 15 Assuming that goal is to produce an initial CD to accompany book material and to move towards a directory structure that makes it easier to produce CD's in the future. The initial CD can probably only have a small subset of projects/tutorials. We should pick a small set of examples that are integrated with a set of homework assignments and solutions.
Note that this is a pretty full list, requiring both me and Meryem working full-time. I didn't leave much time for me to edit other book chapters.
Phase III: last 2 weeks of August - Meryem
Burn Final CD