Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Friday, November 05, 2004

Thursday, November 04, 2004

Four essential Software development support systems :

Wiki/Blog/CMS/Forum/Documentation system.
Source code repository.
Bugtracking system.
Mailinglist server system.
Most interesting search phrase for temporal database implementations.
Powerful Flashback Query is used in Oracle 10g for obtaining older versions of data.

Wednesday, November 03, 2004

#!/bin/bash

# This script can be executed by root to rapidly create a cvs repository on RedHat Linux 8 or later. Author: Philip Mark Donaghy
# Adapted from http://www7b.software.ibm.com/wsdd/library/techarticles/0209_yu/yu.html Article by Colin Yu


# The user cvs and the Users required to have access to cvs.
useradd cvs
useradd -G cvs penguin
useradd -G cvs tiger


# CVS environment
mkdir /home/cvs/anoncvs
chmod -R 770 /home/cvs
chown -R cvs /home/cvs
chgrp -R cvs /home/cvs
chmod g+s /home/cvs/anoncvs
cvs -d /home/cvs/anoncvs init

# Daemon process. CVS Service
printf "# default : off\n# description : A cvs server.\nservice cvspserver\n{\n disable = no\n socket_type = stream\n protocol = tcp\n user = root\n wait = no\n server = /usr/bin/cvs\n server_args = -f --allow-root=/home/cvs/anoncvs pserver\n log_on_success += USERID\n log_on_failure += USERID\n}\n" > /etc/xinetd.d/cvspserver
service xinetd restart


# Users environment for localhost
printf "export CVSROOT=\":pserver:\$USER@localhost:/home/cvs/anoncvs\"\n" >> /etc/profile


# Manual configuration
# User the following command to initialize a project
# cvs import -m "New Project" ProjectName group release1_0
How can a database model implement versioning of data? Flags perhaps, though not the best solution. Meta data seems to be the key. Each table maintains the following meta data. DATE_CREATED, DATE_CANCELLED, DATE_UPDATED, DATE_EXPORTED, DATE_VALIDATED (The last two implement export functions telling us when data was exported and when this data was validated by some authority), DATE_START, DATE_END (Dates that indicate a period during which the date is valid).

Inserting a version :

DATE_CANCELLED is initialized to the end of time for us that is the 31st of December 9999.
DATE_CREATED and DATE_UPDATED are set to SYSTIME
DATE_EXPORTED, DATE_VALIDATED is initialized to the beginning of time for us that is the 1st of January 1972.

Deleting versions set DATE_CANCELLED and DATE_UPDATED to the system time.

Senario 1 : (DCR, DCA, DUP, DEX, DVA, DST, DEN are abriviations for the above meta data)

t0 t1 t2 t3 t4 t5 t6
|------------------------------------------------> Version one was inserted at time t1, so version one has the following values.

DCR, DCA, DUP, DEX, DVA, DST, DEN
t1, te, t1, tb, tb, t0, t6