<a class="nonexistent" href="/wikicmat/AyudaDeContenidos">AyudaDeContenidos</a>

  1. Proyecto Sancho
    1. El laburo
      1. Base inicial
        1. Codigo SQL
    2. Arquitectura
      1. Base de datos
      2. XML y ERW
        1. ERW
      3. Zope

Proyecto Sancho

Para saber de que se trata el proyecto Sancho, mirar el documento: Subir nuevo adjunto "sancho.tex". Es lo más cercano que tenemos a la documentación inicial.

¿Quieren ayudar con el Sancho? Pueden consultar el SanchoToDo.

Le vamos a dar una nueva oportunidad al Zope, con el que habíamos hecho el proyecto Eureka. Las cosas viejas del Sancho sobre Quixote todavía pueden ser consultadas en ViejoSancho y SanchoEnApache2.

El laburo

Aca está la Zona de Discusión, en donde se plantean los problemas concretos de la base en ERW (por ahora).

Base inicial

Decidimos Nico y Alvaro, empezar con una base Postgres + Zope chica (solo con docentes y publicaciones por ahora) y eventualmente cuando se haga la base grande se trasladan los datos con algun script.

Codigo SQL

Create table CargosDocentes (
 id_cargodocente serial not null,
 denominacion varchar(50) not null,    # incluye profesor titular, adjunto, agregado, asistente, ayudante, profesor libre
 escalafon char(1),
 grado int2,
 primary key (id_cargodocente),
 unique (denominacion),
);

Create table TipoCargos (
 id_tipocargo serial,
 nombretipocargo varchar(20),   # esto es efectivo, interino, invitado, becario, tecnico, proyecto
);

Create table Docentes (
 id_persona int4 not null,
 login varchar(10),
 fechaingreso date,
 id_sala int2,
 id_cargo int4,
 dt boolean default false,
 id_tipocargo int4,
 horascargo int2,
 iniciocargo date,
 fincargo date,
 id_area int4,
 primary key (id_persona),
 foreign key (id_persona) references Personas(id_persona),
 foreign key (id_cargodocente) references Cargos(id_cargodocente),
 foreign key (id_sala) references Salas(id_sala),
 foreign key (id_tipocargo) references TipoCargos(id_tipocargo),
 foreign key (id_area) references Areas(id_area),
);

Create table Personas (
 id_persona serial
 nombre varchar(50) not null, 
 apellido varchar(50) not null,
 mail varchar(50),
 webpage varchar(50),
 telefono varchar(20),
 celular varchar(20),
 domicilio text,
 id_ciudad int4,
 id_institucion int4, 
 primary key (id_persona),
 foreign key (id_ciudad) references Ciudades(id_ciudad),
 foreign key (id_institucion) references Instituciones(id_institucion),
);

Create table Instituciones (
 id_institucion serial,
 primernivel varchar(200),
 segundonivel varchar(200),
 tercernivel varchar(200),
 cuartonivel varchar(200),
 direccion varchar(200),
 id_ciudad int4,
 telefono varchar(20),
 fax varchar(20),
 mail varchar(30),
 webpage varchar(50),
 primary key (id_institucion)
);

Create table Salas (
 id_sala int2,
 interno int2,
 piso int2,
 primary key (id_sala),
);

Create table Ciudades (
 id_ciudad serial,
 nombreciudad varchar(20),
 id_pais int4,
 primary key (id_ciudad),
 foreign key (id_pais) references Paises(id_pais),
);

Create table Paises (
 id_pais serial,
 nombrepais varchar(20),
 primary key (id_pais),
);

Create table Areas (
 id_area serial,
 nombrearea varchar(100) not null,     # algebra, geometria algebraica, probabilidad y estadistica, analisis
 primary key (id_area),
);

Create table Publicaciones (
 id_publicacion serial,
 id_tipopub int4,
 id_revista int4,
 titulopublicacion varchar(200),        # tambien capitulo libro
 titulolibro varchar(200),
 editorlibro varchar(200),
 editorial varchar(100),
 direccioneditorial varchar(200),
 anho int2,
 volumen int2,
 numero int2,
 serie varchar(10),
 paginas varchar(20),
 cantpaginas varchar(20),
 notas text,
 primary key (id_publicacion),
 foreign key (id_tipopub) references TipoPublicaciones(id_tipopub),
 foreign key (id_revista) references Revistas(id_revista),
);

Create table Revistas (
 id_revista serial,
 nombrerevista varchar(100) not null,
 nombrecorto varchar(20) not null,
 editorial varchar(20),
 primary key (id_revista),
 unique (nombrerevista),
 unique (nombrecorto),
);

Create table TipoPublicaciones (
 id_tipopub serial,
 nombretipopub varchar(50),
 primary key (id_tipopub),
 unique (nombretipopub),
);

Create table PublicaroPerecer (
 id_persona int4,
 id_publicacion int4,
 foreign key (id_persona) references Personas(id_persona),
 foreign key (id_publicacion) references Publicaciones(id_publicaciones),
);

Arquitectura

Base de datos

A partir del código XML se pueden generar los diagramas sobre la estructura de la base: Subir nuevo adjunto "cmat.ps". (Hay que hacer un script que permita imprimir estos ps en páginas.)

XML y ERW

ERW

Pasos para actualizar el ERW:

Pasos para generar código a partir del archivo XML:

El link para invocar el ERW es:

<a ONCLICK="openServiceWindow('list.php?type=persona&useform=miforma', 'persona'); return false" HREF="empty.php">Persona</a>

El parametro useform indica el nombre de la forma definida en el punto anterior (atencion: hay que incluir el codigo Javascript necesario, copiarlo de $ERW/index.php).

Zope

El Zope está atendiendo en http://www.cmat.edu.uy/sancho/manage.


Por ahora tenemos poca cosa hecha:


Capaz que esto deberia ir en la zona de discusion, en todo caso despues lo movemos. :) Nico.


Tengo una propuesta: [NUEVA] SanchoEnZope por ahora son solo ideas...

ProyectoSancho (última edición 2005-08-30 23:26:20 efectuada por )