IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Brainstorming

Assignació de colors per a lliçons:

  • Identificar millor les franges que són de la mateixa lliço
  • Codi de colors determinat, un ordre
  • Obtenir les lliçons d'un profe/grup en un ordre qualsevol (consulta) i assignar colors
  • L'horari al imprimir no té separadors de cel·les entre hores, el canvi de color ja permetre veure si és un canvi de lliço o no
  • Color blanc representa buit
  • Els codis de grup portaran (enllaç) a l'horari de grup
  • Els codis de lliço portaran a passar falta d'aquella lliço a la hora que pertoca

Checkbox que permeti mostrar només blocs de lliçons tot junts'

  • Els codis de grup portaran (enllaç) a l'horari de grup
  • Els codis de lliço portaran a passar falta d'aquella lliço per a diverses hores a la vegada!


Procediment per a crear l'horari d'un profe.

  • Crear l'objecte horari
  • Assignar el nom del professor al nom de l'horari
  • Assignar el codi de professor al shortName de l'horari
  • Descripció? no tenim res a posar? --> Un string internacionalitzar fix tipus: "Horari del professor NOM_PROFESSOR (CODI PROFESSOR)"
  • Consultes per a la inicialització de l'horari i com fer la inicialització:
  • Dies de la setmana:
  • Quins dies utilitza el professor? La majoria sortirà de dilluns a divendres però i les mitges jornades i terços!
  • Checkbox:
  • Bucle pels dies que pertoqui segons lo anterior:
  • Obtenir les franges horàries de cada dia. Opcions
  • TODO: L'aplicació no està preparada per a tenir franges horàries diferents entre dies ni de fet tampoc entre professors/cicles o el que sigui
  • En principi l'habitual és mostrar totes les franges i que tots los dies tinguin les mateixes (opció per defecte) pèrò posar checkbox que permetin
  • Checkbox: mostrar només franges horàries en les que treballo
  • Checkbox: mostrar només matí i només tarda (cal definit una constant que indica el marge)
  • Afegir totes les franges possibles (12 normalment)-- vector franges possibles
  • Afegir objecte dia al vector days del objecte Timetable
  • Hi ha la taula dia_setmana --> Crec que no serveix de res posar aquestes dades a la base de dades --> Caldria refactoritzar per eliminar aquesta taula
  • Utilitzar ISO8601 per nombrar els dies de dilluns a diumenger del 1 al 7 els seus codis

POO:

  • Class TimeTable.
  • Atributtes:
  • name: nom de l'horari
  • shortName: nom curt/codi
  • description
  • days: vector d'objectes day
  • timeSlotMinDuration: la duracio mínima dels slots de les franjes horaries (p.ex. a l'escola el mínim d'una franja horària és una hora)
  • Altres opcions:
  • Tipus d'horari: Complet, mitja jornada, terç, etc --> Constants predefinides
  • Methods:
  • render(): versió text per depurar?
  • renderHTML(): Mostra l'horari en HTML. Utilitzar estils
  • appendDay
  • insertDay
  • Class TimeSlot
  • Attributtes:
  • Id: Identificador de la franja segons la base de dades
  • startHour: hora d'inici de la franja. Format: 12:30
  • endHour: hora d'inici de la franja
  • groupCode: Codi del grup
  • lessonCode: codi de la lliço
  • location: lloc on es realitza la franja horaria (aula, espai....)


php date:
H 	24-hour format of an hour with leading zeros 	00 through 23
i 	Minutes with leading zeros 	00 to 59
  • Class Day
  • Constants estàtiques: dies "normals" dilluns, dimarts
  • ISO 8601 --> 7 dies de la setmana de dilluns a diumenge
  • Constructor: Crear dies típics tipus new Day(Day.Mon) <-- On Day.MON és una variable estàtica que representa el dilluns. Els codis segons el camps:
 D 	A textual representation of a day, three letters 	Mon through Sun 

De la funció date de PHP.

  • Atributtes:
  • Id: número del dia. Indica l'ordre dins la setmana.
  • name: Nom complet: Dilluns --> Amb internacionalització, és a dir que segons el locale escollit imprimeixi el nom en català o castellà
  • shortName: Nom curt: abreviació --> Ídem anterior
  • description: opcional
  • timeSlots: vector d'objectes timeslot. Han d'estar en l'ordre correcte
  • Functions:
  • checkTimeSlots: estan en l'ordre correcte--> retorna false o true
  • sortTimeSlots(): ordena els slots de temps
  • getNumberOfTimeSlots(): retorna el nombre de franges horàries del dia.

Ajudes:

  • Dies laborables de dilluns a divendres

Inicialització de la classe:

  • Cal afegir els dies que conformen el Timetable


Vegeu també