1. The following is the version 0.1 schema for project tracking db based on CCP4i def file contents. CREATE TABLE Project (ProjectId INTEGER primary key, ProjectName VARCHAR(20), Owner VARCHAR(45), Path VARCHAR(45)); CREATE TABLE Job (jobId INTEGER primary key, ProjectId INTEGER, Status VARCHAR(45), Application VARCHAR(45), Taskname VARCHAR(45), Title VARCHAR(45), LastModified DATETIME, LogFile VARCHAR(45), ControlFile VARCHAR(45), NotebookFile VARCHAR(45)); CREATE TABLE File (FileId INTEGER primary key, Name VARCHAR(45), Path VARCHAR(45), Format VARCHAR(45), LastModified DATETIME, Note VARCHAR(45)); CREATE TABLE JobFile ( JobId INTEGER, FileId INTEGER, Type VARCHAR(10)); CREATE TABLE JobLink (JobId INTEGER, NextJobId INTEGER, Note VARCHAR(45), Type VARCHAR(45)); 2. The ClientAPIs for these schema are: class Project: newProject(projectname) setOwner(pid,owner) setPath(pid,path) getProjectId(projectname) getOwner(pid) getPath(pid) class Job: newJob(projectname) setData(jobid,item,value) getData(jobid,item) setStatus(jobid,status) getStatus(jobid) setTaskname(jobid,taskname) getTaskname(jobid) setTitle(jobid,title) getTitle(jobid) setLastModified(jobid,time) getLastModified(jobid) setLogFile(jobid,logfile) getLogFile(jobid) setControlFile(JobId,ControlFile) getControlFile(JobId) setNotebookFile(JobId,NotebookFile) getNotebookFile(JobId) class File: newFile() setName(FileId,Name) getName(FileId) setPath(FileId,Path) getPath(FileId) setFormat(FileId,Format) getFormat(FileId) setLastModified(FileId,LastModified) getLastModified(FileId) setNote(FileId,Note) getNote(FileId) class JobFile: newJobFile() setFileId(JobFileId,FileId) getFileId(JobFileId): setType(JobFileId,Type) getType(JobFileId) class JobLink: newJobLink() setNextJobId(JobLinkId,NextJobId) getNextJobId(JobLinkId) setNote(JobLinkId,Note) getNote(JobLinkId) setType(JobLinkId,Type) getType(JobLinkId)