Sie sind auf Seite 1von 181

UNIVERSIDAD POLITCNICA DE VALENCIA Escuela tcnica superior de informtica aplicada

Autor:

Daniel Alcal Alcocer


Director:

Flix Buenda Garca

A mi madre,

que ostenta el mximo tiempo (varios aos a decir verdad) persistiendo en su afn por que que conclu era este pro ecto!

A mi esposa,

ms persistente que la anterior si ca"e# consi$uiendo lo mismo en menor tiempo!

A mi padre,

por defenderme de las % primeras# aunque tuvo que recurrir a su $ran elocuencia cuando compro"& que el pro ecto se demora"a in extremis!

A mi hermana,

por resultar la ms democrtica

darme la calma#

al sa"er 'acerme ver a su manera# que por muc'os aos que pasaran# este da al fin lle$ara!

A la Universidad Politcnica de Valencia, y en especial a la Escuela Tcnica Superior de Ingeniera Inform tica,

por la trepidante (uventud que all pas los $randes recuerdos que me 'an de(ado!

1. INTRODUCCIN............................................................................................................5 1.1. Propsito y objetivos...................................................................................................5 1.2. Motivaciones................................................................................................................6 1.3. Estructura.......................................................................................................................7 2. ESPECIFICACIN DE REQUISITOS.................................................................................9 2.1. Introduccin.................................................................................................................9 2.1.1. Propsito................................................................................................................9 2.1.2. bito.................................................................................................................1! 2.1.3. "e#iniciones$ acrni os y abreviaturas.........................................................1! 2.1.%. &e#erencias.........................................................................................................1% 2.1.5. 'isin ()oba)........................................................................................................15 2.2. "escripcin (enera)..................................................................................................15 2.2.1. Perspectiva de) producto................................................................................15 2.2.2. *unciones de) producto....................................................................................16 2.2.3. +aracter,sticas de) usuario...............................................................................12.2.%. &estricciones (enera)es....................................................................................2! 2.2.5. .upuestos y dependencias..............................................................................2! 2.3. &e/uisitos espec,#icos...............................................................................................21 2.3.1. &e/uisitos de inter#aces e0ternos....................................................................21 2.3.2. &e/uisitos #unciona)es.......................................................................................23 2.3.3. 1tributos...............................................................................................................%9 3. ANLISIS......................................................................................................................51 3.1. Introduccin...............................................................................................................51 3.2. +asos de uso..............................................................................................................52 3.3. "ia(ra as de c)ases................................................................................................59 3.%. "ia(ra as de secuencia........................................................................................62 3.%.1. Escenario 12 1utenticarse.................................................................................63 3.%.2. Escenario 22 3uscar tr4 ites.............................................................................6% 3.%.3. Escenario 32 +rear un nuevo usuario..............................................................65 3.%.%. Escenario %2 E)i inar un tr4 ite.......................................................................65 3.%.5. Escenario 52 &ecuperar contrase5a o)vidada..............................................64. DISEO.........................................................................................................................69 %.1. Introduccin...............................................................................................................69 %.2. 6ive) de inter#a7.........................................................................................................71

%.3. 6ive) de ne(ocio.......................................................................................................73 %.%. 6ive) de a) acena iento.......................................................................................76 %.%.1. "ia(ra a Entidad8&e)acin............................................................................76 %.%.2. "ise5o )(ico......................................................................................................79 5. IMPLEMENTACIN.......................................................................................................83 5.1. Introduccin...............................................................................................................-3 5.2. 9ecno)o(,as.................................................................................................................-5 5.2.1. :9M;.....................................................................................................................-5 5.2.2. +..........................................................................................................................-6 5.2.3. P:P........................................................................................................................91 5.2.%. <ava.cript............................................................................................................92 5.2.5. My.=;..................................................................................................................9% 5.3. :erra ientas..............................................................................................................95 5.3.1. 1pac>e................................................................................................................95 5.3.2. ?o odo Edit.......................................................................................................96 5.3.3. 1dobe P>otos>op.............................................................................................97 5.3.%. *i)e@i))a..................................................................................................................99 5.%. "eta))es de i p)e entacin.................................................................................1!1 5.%.1. I p)e entacin de) inter#a7.........................................................................1!1 5.%.2. I p)e entacin de )a #unciona)idad..........................................................115 5.%.3. I p)e entacin de )a (estin de datos....................................................165 6. EVALUACIN Y PRUE AS..........................................................................................1!1 !. CONCLUSIONES........................................................................................................1!9 8. I LIO"RAF#A............................................................................................................181

En )os tie pos /ue corren$ es posib)e a#ir ar sin te or a e/uivocacin /ue en Internet$ /uien no est4$ no e0iste. A es /ue cada ve7 son enos )os reticentes a cuestionar ta) pensa iento. .i bien constituye una a#ir acin /ue puede escuc>arse con (ran rotundidad en un entorno e presaria) o de ne(ocio$ >oy d,a resu)ta ta biBn #actib)e ap)icar)a en una a p)ia variedad de conte0tos$ co o e) /ue a>ora nos ocupa$ e) de un 1yunta iento. .er,a especia) ente de )a entar$ no aprovec>ar todas )as posibi)idades /ue Internet brinda para apro0i ar 1yunta iento y ciudadanos2 de usuarios encuentran a diario. En esta pri era dBcada de) si()o CCI$ )a creacin o renovacin de un porta) Deb para un ayunta iento propicia un escenario privi)e(iado de co unicacin$ un transitado )u(ar de encuentro para ciudadanos$ donde e) ayunta iento sa)e re#or7ado co o principa) prota(onista$ a) servicio de )os is os. ;o contrario ser,a rec>a7ar )a evo)ucin$ si(ni#icar,a en resu idas cuentas$ )o /ue esbo7aba )a #rase /ue abr,a esta breve introduccin2 dejar de tener re)evancia$ caer en e) o)vido$ dejar de e0istir. irar$ participar$ (estionar$ otivaciones /ue i)es reso)ver$ e0presar o co partir$ son s)o a)(unas de )as principa)es

E) presente docu ento pretende poner de is o co o

ani#iesto )as di#erentes etapas /ue

co portan e) desarro))o y creacin de un porta) Deb para un ayunta iento$ sirviendo e) e oria de un Proyecto de *ina) de +arrera.

1 (roso

odo$ se pretenden cubrir )os si(uientes objetivos principa)es2

E) porta) deber4 adaptarse a )os >4bitos de uti)i7acin de cada usuario$ por )o /ue )a pro(ra acin deber4 ser e inente ente din4 ica$ posibi)idad /ue brinda )a tecno)o(,a P:P. En este sentido$ deben privi)e(iada a/ue))os e)e entos de otros por )os /ue e) is o uestre enor interBs. ostrarse de #or a 4s uti)i7ados por cada usuario$ en detri ento

E) porta) Deb deber4 resu)tar intuitivo y potente$ o#reciendo a) usuario )a in#or acin /ue busca de #or a co>erente y en e) enor tie po posib)e.

"eber4 brindar servicios di#erenciados en virtud de) ro) de) usuario. "istin(uir4 por tanto varios nive)es de per#i)es de usuario.

9ratar4 de #or a per anente de EcautivarF a) usuario no re(istrado G1nni oH$ o#reciendo )os e)e entos persuasivos necesarios para /ue e) este sentido$ se )i itar4 a) is o to e )a iniciativa de re(istrarse y pasar a #or ar parte de )a co unidad de usuarios. En 40i o e) acceso a )a diversas secciones de) porta)$ si bien se )e restrin(ir4 su participacin Guna #rase /ue sinteti7a bien )a estrate(ia a ser(uir ser,a Epodr4 ver pero no tocarF$ para eso tendr,a /ue re(istrarseH

E) porta) deber4 presentar un car4cter discusin o bien (estin de tr4 ites.

arcada ente interactivo. "e este

odo$ deben aparecer apartados de esta ,ndo)e$ por eje p)o2 #oros de

Entre )os diversos #actores /ue >an podido in#)uenciar e en )a decisin de a#rontar un proyecto de )a enver(adura de) /ue nos ocupa$ )os en()obar,a en 2 b)o/ues principa)es2 a/ue))os orientados a co)aborar en i desarro))o persona) por un )ado$ y )os /ue propician una #or acin pti a para e) desarro))o pro#esiona) por e) otro.

"e este

odo$ conse(uir,a cubrir una parte de

is in/uietudes persona)es$ esto es$ i a#icin por )a co posicin

>acer servir Internet para dar a conocer y co partir

usica)$ a)can7ando e) nive) de do inio necesario sobre )as tecno)o(,as actua)es en pro(ra acin y dise5o Deb. 9a) do inio ))e(ar,a casi de #or a natura)$ #ruto de) es#uer7o y ri(urosidad /ue i pone e) desarro))o de un proyecto #ina) de carrera co o e) /ue nos ocupa$ es decir$ )a creacin de un porta) Deb de ayunta iento$ e) cua) supone un arco inco parab)e para poder invo)ucrar una a p)ia variedad de recursos tecno)(icos tanto de pro(ra acin co o de dise5o Deb. *ina) ente$ )o(rar,a asi i)ar por otro )ado$ )os conoci ientos tBcnicos necesarios /ue e per itir,an desarro))ar una pro#esin cuya presencia en casi todos )os sectores$ durante esta pri era dBcada de si()o$ >a ido in crecendo y /ue cada d,a /ue transcurre$ continua conso)id4ndose y conver(iendo >acia una pro#esin de (ran interBs y de anda.

E) presente docu ento est4 constituido por una serie de cap,tu)os$ si(uiendo un en#o/ue basado en e) ode)o de Ecadena de va)orF$ esto es$ una serie consecutiva de actividades o etapas /ue pro(resiva ente van adicionando un va)or a) proyecto. "e esta #or a$ )a pri era etapa$ ya abordada$ >a sido )a propuesta de) proyecto$ donde se >an de#inido )as otivaciones y )os objetivos. as /ue

;a si(uiente etapa consiste en )a Especi#icacin de re/uisitos$ /ue no es conse(uidas por parte de )os usuarios #ina)es.

una descripcin de )as necesidades de) proyecto$ atendiendo a )as opiniones

Posterior ente aparecer4 )a etapa de 1n4)isis y "ise5o donde ser4n descritos nueva ente )os re/uisitos anteriores pero desde una perspectiva con )os ode)os #or a)es para su representacin. 4s cercana a) desarro))ador de )a ap)icacin Deb$ estab)eciBndose a/u, una pri era to a de contacto

;a etapa de I p)e entacin reco(e )as diversas tecno)o(,as recurridas con e) objetivo de obtener una pri era #ase de productos o prototipos #unciona)es. Es posib)e reuti)i7ar en este apartado$ a/ue))as ap)icaciones de terceros a )as /ue se >ayan recurrido. Posterior ente es posib)e encontrar )a etapa de Eva)uacin. Es en esta etapa donde )a ap)icacin Deb ser4 so etida a una bater,a de pruebas para testear a #ondo /ue )a ap)icacin discurra se(In )o previsto$ en cua)/uiera de sus vertientes posib)es. *ina) ente e) docu ento conc)uye con )a etapa de +onc)usiones$ donde se docu enta e) trabajo rea)i7ado durante todo e) desarro))o de) proyecto$ )os resu)tados a)can7ados as, co o una breve ar(u entacin de )as e0periencias contra,das. Por I)ti o$ esta etapa conte p)a )a inc)usin de posib)es a p)iaciones rea)i7ab)es en un #uturo. Es preciso asi is o docu entar )as principa)es #uentes de in#or acin en un apartado de 3ib)io(ra#,a. "eben re#erenciarse todas )as #uentes o ateria)es consu)tados durante e) desarro))o de) proyecto$ ya sean )ibros$ apuntes o p4(inas Jeb.

;a Especi#icacin de re/uisitos debe reco(er todas a/ue))as caracter,sticas a cu p)ir por nuestra ap)icacin para satis#acer )as e0pectativas o e0i(encias de) 1yunta iento$ en e) caso /ue nos ocupa$ as, co o de )os usuarios #ina)es.

;a descripcin de )os re/uisitos debe rea)i7arse tratando de conservar una perspectiva cercana a) usuario #ina)$ evitando tBr inos o tecnicis os /ue >abitua) ente e p)ear,a un desarro))ador. +on este #in$ se e p)ea >abitua) ente un docu ento /ue reIne de #or a ordenada estos re/uisitos y /ue se conoce co o Especi#icacin de &e/uisitos .o#tDare GE&.H$ e) cua) puede tener di#erentes #or atos.

En e) proyecto /ue nos ocupa$ se >a optado por or(ani7ar )os re/uisitos capturados e p)eando una E&. en base a) est4ndar IEEE -3!8199-$ e) cua) puede ser uti)i7ado co o re#erencia en )a especi#icacin de proyectos Jeb$ dadas )as ana)o(,as e0istentes con )a etodo)o(,a de proyectos so#tDare.

Esta decisin est4 orientada en #avor no s)o de estructurar )os re/uisitos de#inidos previa ente$ sino ta biBn en pro de obtener una especi#icacin consistente y no a bi(ua. Esta especi#icacin de re/uisitos representa una parte vita) dentro de )a cada uno de estos re/ueri ientos de partida. e oria$

pues e) desarro))o de apartados posteriores deber4n cu p)ir y satis#acer )as e0i(encias de

E) producto objeto de) proyecto$ debe ser una ap)icacin Deb #4ci) ente adaptab)e a cua)/uier ayunta iento. En e) caso /ue nos ocupa$ )os contenidos versar4n en torno a) 1yunta iento de Paterna. E) porta) debe denotar un abarcar )a e) desarro))o de) e) arcado car4cter interactivo y a i(ab)e$ apto para

ayor tipo)o(,a de pIb)ico objetivo posib)e. "eber4 preva)ecer durante todo is o$ )a i portancia de /ue sus e)e entos principa)es deben EestudiarF odo a per anecer

y adaptarse a) co porta iento de cada usuario$ invitando de este ayor tie po posib)e en B).

"e ob)i(ado cu p)i iento ser4 )a inc)usin de todo tipo de in#or aciones de car4cter 4s est4tico$ co o pudieran ser )a estructura jer4r/uica de) ayunta iento o enos ob)i(ado debe ser )a inte(racin de apartados uy de andados por otro )ado en )a actua)idad$ co o a/ue))os una (u,a de )a ciudad$ co o no de (ran dina is o$

/ue per iten a) ciudadano (estionar tr4 ites c oda ente desde su >o(ar$ e0presarse )ibre ente en #oros de discusin o bien disponer de )as noticias o eventos sie pre actua)i7ados. Por I)ti o$ )a ap)icacin deber4 conte p)ar un apartado para )a ad inistracin de sus contenidos$ esto es$ a/ue) persona) de) ayunta iento o e0terno$ responsab)es de antener actua)i7ada )a in#or acin de (ran parte de )os apartados de) Debsite. En este sentido$ e) porta) presentar4 una inter#ace intuitiva y se(ura$ /ue con#ine )a co>erencia de )a in#or acin a) acenada en )a base de datos.

A$%&'() servidor Deb :99P de cdi(o abierto para p)ata#or as Kni0 G3."$ L6KM;inu0$ etc.H$ Microso#t JindoDs$ Macintos> y otras. 1pac>e presenta entre otras caracter,sticas a)ta ente con#i(urab)es$ bases de datos de autenticacin y ne(ociado de contenido$ pero #ue criticado por )a #a)ta de una inter#a7 (r4#ica /ue ayude en su con#i(uracin.

1!

A*+(,+-&%./() accin de introducir e) identi#icador de usuario GKserrna eH y )a contrase5a GPassDordH asociada a) is o$ de #or a /ue e) siste a pueda veri#icar si )os is os$ en cuyo caso$ )os dar4 por va)ores a) acenados en )a 3ase de "atos son )os

v4)idos e iniciar4 una serie de acciones$ pro(ra adas previa ente por e) dise5ador Deb. %/( 0( D%+1/ 1 D) conjunto de datos pertenecientes a un is o conte0to y

a) acenados siste 4tica ente para su posterior uso. En e) conte0to en /ue nos encontra os$ su a) acena iento se produce de #or a di(ita) Ge)ectrnicaH. En )o sucesivo en este docu ento$ nos re#eri os a )a 3ase de "atos co o 3". CSS 2 C%/&%0( S+34( S'((+/ 5) )en(uaje /ue describe c o deben ser presentadas por panta))a u otros dispositivos de sa)ida$ )as di#erentes p4(inas de un Debsite. Per ite )a separacin #or a8contenido de )os docu entos escritos en :9M;. E67%-4/) servicio de red /ue per ite a )os usuarios enviar y recibir r4pida ente Gta biBn deno inados de co unicacin e)ectrnicos. F1.1) ta biBn conocido co o #oro de ensajes$ #oro de opinin o #oro de ensajes e)ectrnicos o e ai)sH ensajes ediante siste as

discusin$ es una ap)icacin Deb /ue da soporte a discusiones u opiniones en ),nea. FTP 2 F-4( T.%,/8(. P.1+1&14 5) protoco)o para interca biar arc>ivos en Internet. .e uti)i7a principa) ente para descar(ar un arc>ivo de un servidor o para subir un arc>ivo a un servidor a travBs de Internet. 9-$(.+(:+1) cua)/uier te0to disponib)e en e) JJJ /ue conten(a en)aces con otros docu entos. 9TML 2 93$(.T(:+ M%.;*$ L%,<*%<( 5) )en(uaje de arcado predo inante para )a

e)aboracin de p4(inas Deb. Es usado para describir )a estructura y e) contenido en #or a de te0to$ as, co o para co p)e entar e) te0to con objetos ta)es co o i 4(enes. 9TTP 293$(.+(:+ T.%,/8(. P.1+1&145) protoco)o usado en cada transaccin de )a Jor)d Jide Jeb. Est4 orientado a transacciones y si(ue e) es/ue a peticin8respuesta

11

entre un c)iente y un servidor. 9TTPS 293$(.+(:+ T.%,/8(. P.1+1&14 S(&*.(5) Protoco)o de red basado en e) protoco)o :99P$ destinado a )a trans#erencia se(ura de datos de >iperte0to. Laranti7a un nive) de se(uridad ayor /ue e) de :99P.

IEEE 2T'( I,/+-+*+( 18 E4(&+.-&%4 %,0 E4(&+.1,-&/ E,<-,((./5) asociacin tBcnico8 pro#esiona) estab)ecen undia) dedicada a )a )a redaccin y aprobacin de nor as /ue se para (aranti7ar e) acop)a iento de e)e entos construidos

independiente ente. I,+(.8%&( 0( */*%.-1) representa )a #or a y disposicin visua) de )os e)e entos en panta))a Gte0to$ i 4(enes$ objetos (r4#icosH /ue posibi)itan )a interaccin de un usuario en un pro(ra a o ap)icacin. =%>%/&.-$+) )en(uaje interpretado Gno re/uiere co pi)acinH uti)i7ado en p4(inas Jeb$ con una sinta0is parecida a <ava. Per ite e) desarro))o de inter#aces de usuario ejoradas y p4(inas Deb din4 icas. M3SQL) siste a de (estin de base de datos$ desarro)ado bajo )a #i)oso#,a de) so#tDare )ibre. N%>(<%01. ?(@) pro(ra a /ue per ite visua)i7ar )a in#or acin /ue contiene una p4(ina Deb. N(?/4(++(.) bo)et,n in#or ativo e)ectrnico$ distribuido de #or a re(u)ar y t,pica ente ediante env,o de e8 ai)s$ (enera) ente centrado en un te a principa) /ue es de) interBs de sus suscriptores. O8-&-,% V-.+*%4) espacio de) porta) en e) /ue pueden desarro))arse actividades si i)ares a )as de una o#icina. ;os Ksuarios &esidencia)es podr4n iniciar tra itaciones y )os Ksuarios Interinos yMo 1d inistradores podr4n aprobar)as o dene(ar)as. PA<-,% ?(@) docu ento creado en #or ato :9M; /ue es parte de un (rupo de

12

docu entos >iperte0to o recursos disponib)es en e) Jor)d Jide Jeb. Kna serie de p4(inas Deb co ponen )o /ue se ))a a un sitio Deb. P%//?1.0 1 &1,+.%/(B%) serie secreta de caracteres /ue per ite a un usuario$ junto a su Kserna e$ identi#icarse en e) porta)$ NconociendoN Bste )os servicios e in#or acin persona)i7ada /ue debe ostrar a) is o.

P9P) )en(uaje de pro(ra acin usado nor a) ente para )a creacin de contenido para sitios Jeb. Lenera contenido din4 ico$ esto es$ (enerado en e) o ento de visua)i7ar)a o so)icitar)a a un servidor. P1/+ 1 7(,/%C() cada uno de )os ensajes pub)icados en )os #oros de discusin.

S(.>-01.) ordenador re oto /ue provee )os datos so)icitados por parte de )os nave(adores de otras co putadoras. 9a biBn se entiende co o e) so#tDare /ue con#i(ura un P+ co o servidor para #aci)itar e) acceso a )a red y sus recursos. S(/-D,) secuencia de p4(inas Deb /ue un usuario visita en un sitio Deb$ desde /ue entra en nuestro sitio$ >asta /ue )o abandona. T.%7-+%&-1,(/ 1 <(/+-1,(/) est4n asociadas a a)(uno de )os posib)es tr4 ites y deben >aber sido previa ente iniciadas por un Ksuario &esidencia). .us posib)es estados son2 Iniciado$ En &evisin$ 1probado o "ene(ado. T.A7-+(/) cada una de )as (estiones /ue un Ksuario &esidencia) podr,a iniciar. 1)(unos tr4 ites ))evan asociado un i preso descar(ab)e. 9a biBn e0isten tr4 ites /ue re/uieren una tra itacin presencia) y por tanto no son tra itab)es de #or a e)ectrnica. T1$-& 1 +(7%) cada uno de )os te as principa)es de un #oro de discusin. 6or a) ente$ cuando se crea un nuevo te a$ siste 4tica ente es creado ta biBn un nuevo y pri er post o ensaje para dic>o topic o te a.

U/(.,%7( 1 ,17@.( 0( */*%.-1) pa)abra con )a /ue un usuario es reconocido e) e) porta).

13

U/*%.-1 A07-,-/+.%01. 2ADM52 usuario /ue ade 4s de estar re(istrado$ tiene e) 40i o nive) de contro) sobre )a ad inistracin de )os contenidos de) porta). U/*%.-1 I,+(.-,1 2INT5) usuario /ue ade 4s de estar re(istrado$ tiene contro) sobre )a ad inistracin de parte de )os contenidos de) porta). U/*%.-1 A,D,-71) cua)/uier usuario /ue acceda a nuestro porta) Jeb y no se >aya autenticado. U/*%.-1 R(<-/+.%01 2USU5) usuario /ue tras introducir su Kserna e y PassDord$ >a sido va)idado por )a base de datos y autenticado por tanto correcta ente. U/*%.-1 R(/-0(,&-%4 2RES5) usuario /ue ade 4s de estar re(istrado$ tiene acceso a )os servicios de tra itacin on)ine GO#icina 'irtua)H. E(@F EEE 1 E1.40 E-0( E(@) siste a de docu entos de >iperte0to en)a7ados y accesib)es a travBs de Internet. E(@/-+() serie de P4(inas Deb /ue (enera) ente con#or an un concepto Inico o te 4tica.

1 continuacin se re)acionan )as #uentes de in#or acin consu)tadas para )a redaccin de )a Especi#icacin de &e/uisitos2 )vare7$ M.1. Desarrollo Web, Tu mejor ayuda para aprender a hacer webs. (http://www.desarrolloweb.com). 1ccedido en sept.2!!9. 3uend,a$ *. na !u"a para la reali#aci$n y super%isi$n de proyectos &inal de carrera ('()) en el *mbito de la web.

1%

Ed. KP'$ 2!!-.

.an(er ;.$ Ja)es <.


Wi+ipedia, ,a enciclopedia libre. (http://es.wi+ipedia.or!). 1ccedido en sept.2!!9.

1 continuacin$ )a Especi#icacin de &e/uisitos tratar4 de o#recer una visin (enBrica sobre )os di#erentes #unciona)idades o subapartados de )a ap)icacin. Posterior ente$ una descripcin de )os re/uisitos espec,#icos ser4 necesaria.

E) objetivo de) presente apartado pretende o#recer una visin )o espec,#icas$ docu ento. evitando as, innecesarias odi#icaciones en #uturas

4s (enera)i7ada as de) versiones

posib)e de )a ap)icacin$ evitando incurrir en descripciones por enori7adas o

E) producto a desarro))ar no se inte(rar4 en un siste a

4s a p)io. "e este

odo$

#uncionar4 de #or a autno a sobre cua)/uier p)ata#or a$ va)iBndose para e))o de cua)/uier nave(ador Deb de actua)idad y obvia ente$ de una cone0in a Internet.

15

;as tecno)o(,as principa)es e p)eadas en su i p)e entacin >an sido2 ;en(uaje P:P$ en (ran ;en(uaje :9M;$ en edida$ dado e) car4cter e inente ente din4 ico. edida. ostrada$ as, co o ostrare os

enor

P)anti))as +.. para opti i7ar )a )e(ibi)idad de )a in#or acin <ava.cript de #or a puntua)$ para

para propiciar un dise5o actua)$ acorde a )as I)ti as tendencias. o)dear )a #or a en /ue a)(unas p4(inas Deb /ue e er(er4n sobre otras Ge#ecto pop8upH o bien$ visua)i7ar e) tie po$ servicio o#recido por PDDD.tutie po.netP. MA.=; co o siste a de (estin de base de datos.

.er4 necesario por tanto un servidor donde a)ojar e) Debsite$ /ue soporte )as tecno)o(,as citadas anterior ente$ siendo reco endab)e asi is o una descripcin de do inio natura) y #4ci) de recordar por )a ayor,a de )os potencia)es usuarios.

;as #unciones o#recidas por e) porta) en #uncin de )a tipo)o(,a de usuario y /ue pueden ser distin(uidas son )as si(uientes 2 1cceso a )a in#or acin re#erente a) est4tica de) DebsiteH. Operaciones sobre noticias2 'isua)i7acin de noticias. +reacin$ edicin y e)i inacin de noticias. Operaciones sobre eventos de )a a(enda2 'isua)i7acin de eventos. +reacin$ edicin y e)i inacin de eventos. unicipio y a) ayunta iento Gparte 4s

16

Operaciones sobre oposiciones2 'isua)i7acin y descar(a de bases. +reacin$ edicin y e)i inacin de oposiciones.

Operaciones sobre tr4 ites y (estiones Gtra itacionesH 2 'isua)i7acin de tr4 ites y descar(a de i presos. +reacin$ edicin y e)i inacin de tr4 ites. *i)tros de bIs/ueda de tr4 ites. 'isua)i7acin de) estado de )as (estiones Gtra itacionesH. Lestin de tra itaciones Giniciacin$ odi#icacin de su estado y e)i inacinH. *i)tro de bIs/ueda de tra itaciones en base a) usuario.

Operaciones sobre #oros de discusin2 'isua)i7acin de )os posts de un deter inado topic. +reacin y e)i inacin de posts. +reacin y e)i inacin de topics.

Operaciones sobre usuarios2 'isua)i7acin de usuarios y toda )a in#or acin asociada en su re(istro. &e(istro y autenticacin de usuarios. Modi#icacin de )a in#or acin de) re(istro$ as, co o de sus pre#erencias. Modi#icacin de) passDord y env,o de uno nuevo en caso de o)vido. +reacin$ edicin y e)i inacin de usuarios. +ierre de sesin de usuario.

Lestin y se(ui iento de )os apartados

4s uti)i7ados por cada usuario2

.e(ui iento per anente de) siste a de )os >4bitos de uso de cada usuario. Kbicacin din4 ica de )os diversos apartados de) porta) atendiendo a )os >4bitos de uso de cada usuario. Lestin y env,o auto 4tico de bo)etines2 Ksuarios re(istrados podr4n subscribirse a) servicio de env,o de bo)etines in#or ativos. E) siste a enviar4 auto 4tica ente por e8 ai) un bo)et,n a todos )os subscritos

17

cada ve7 /ue sean a5adidos un tota) de 1! nuevos e)e entos Gnoticias yMo eventosH. I p)e entacin de un otor de bIs/ueda interno2

"e#inicin de uno y >asta dos tBr inos si u)t4neos para )a bIs/ueda. Opcin de bIs/ueda en todo e) Debsite o s)o en )a p4(inaMseccin actua).

1tendiendo a )a tipo)o(,a de )os usuarios /ue van a uti)i7ar )a ap)icacin$ )os pueden ser c)asi#icados co o si(ue 2 U/*%.-1 A,D,-71 +ua)/uier visitante espor4dico o no$ e) cua) no se >aya autenticado.

is os

;a estrate(ia a se(uir para este tipo de usuario ser4 )a de tratar per anente ente de persuadir)o para /ue ter ine re(istr4ndose en e) porta). En este sentido$ se )e per itir4 visua)i7ar )os diversos apartados de) Debsite$ pero sin posibi)idad de interactuar Gpodr4 ver pero no participarH. "e #or a deta))ada 2 9endr4 acceso tota) a) apartado de 6oticias y 1(enda$ pero no podr4 recibir bo)etines in#or ativos GneDs)ettersH sobre )as no podr4 iniciar tra itaciones. En e) apartado de *oros$ podr4 )eer is os$ ni crear nuevos te as. 9endr4 acceso a toda )a in#or acin de )a parte 9ie po y +a))ejero. U/*%.-1 R(<-/+.%01 2USU5 +ua)/uier usuario /ue previa ente >aya co p)etado e) proceso de re(istro y se >aya autenticado en e) porta). 4s est4tica de) porta) G1yunta iento$ Municipio$ .erviciosH$ ade 4s de a )os apartados de E) ensajes pero no podr4 responder a )os is as. En e) apartado de 9r4 ites$ podr4 visua)i7ar)os y descar(ar i presos$ pero 4s

1-

Es i portante destacar /ue en e) apartado de 9r4 ites$ dispondr4 de )as is as opciones /ue un Ksuario 1nni o. Esto es as, por/ue para poder (estionar tra itaciones$ es preciso introducir un "6I o +I* en e) re(istro$ en cuyo caso$ e) apartado de E9r4 itesF pasar,a a ser EO#icina 'irtua)F. "ispondr4 de )as is as posibi)idades de actuacin /ue un Ksuario 1nni o$ ade 4s de )as si(uientes2 ;os e)e entos de )a p4(ina principa) ca biar4n su ubicacin en #uncin de )as pre#erencias /ue ten(a por )os desde e) pri er is os. Para esto$ e) siste a Eestudiar4F o ento$ todos sus E ovi ientosF. ensajes as, co o responder)os e iniciar o ento de) ostrado co o

"ispondr4 de )a opcin de subscribirse a) servicio de 6eDs)etter. En e) apartado de *oros$ podr4 )eer nuevos te as de discusin. U/*%.-1 R(/-0(,&-%4 2RES5 +ua)/uier usuario /ue previa ente >aya co p)etado e) proceso de re(istro introduciendo "6I en e) porta). "ispondr4 de )as is as opciones /ue un Ksuario &e(istrado$ ade 4s de poder (estionar tra itaciones GO#icina 'irtua)H. U/*%.-1 I,+(.-,1 2INT5 Este tipo de usuario s)o puede ser creado por un Ksuario 1d inistrador. E) ro) /ue cu p)e es )a propia de un #uncionario de) ayunta iento$ es decir$ dispondr4 de un inter#ace dedicado con e) objetivo de (estionar )os contenidos de) porta)$ co o si(ue2 'isua)i7ar$ dar de a)ta y editar2 noticias$ eventos de )a a(enda$ tr4 ites y oposiciones. Lestionar tra itaciones previa ente iniciadas por un Ksuario &esidencia) Gpodr4 visua)i7ar)as$ a5adir noti#icaciones y veri#icar /ue )os ca bios introducidos son odi#icar su estadoH. ostrados de )a #or a esperada. 'isua)i7ar e) Jebsite co o si de un Ksuario 1nni o se tratase$ con e) #in de o ento de) is o$ e0presando as, su deseo de disponer de) servicio de O#icina 'irtua)$ >abiBndose autenticado asi is o en e)

19

U/*%.-1 A07-,-/+.%01 2ADM5 Este tipo de usuario s)o puede ser creado por otro Ksuario 1d inistrador. "ispondr4 de )as si(uientes 2 'isua)i7ar$ dar de a)ta y e)i inar usuarios. E)i inar noticias$ eventos de )a a(enda$ tr4 ites yMo oposiciones. is as opciones /ue un Ksuario Interino$ ade 4s de )as

+o o ya se >a co entado anterior ente$ no e0istir4 dependencia de un siste a ayor y bastar4 una co putadora con un nave(ador Deb y una cone0in Internet para tener acceso a) porta). Obvia ente ser4n adoptadas consideraciones orientadas a (aranti7ar )a se(uridad e inte(ridad de )a in#or acin$ co o son )a encriptacin de )as contrase5as de )os usuarios$ edidas contra ata/ues de inyeccin .=; o ta biBn )a edicin conveniente de) arc>ivo de con#i(uracin para P:P. Por otro )ado$ se >ace a)ta ente reco endab)e a)ojar e) Debsite en un servidor con :99P..

E) porta) ser4 visua)i7ado de #or a correcta a travBs de un nave(ador Deb co patib)e con e) protoco)o :99P 1.! o 1.1$ <ava.cript y con p)anti))as +..$ esto es$ )a a p)ia ayor,a de )os nave(adores de actua)idad.

+o o ta biBn se indicara anterior ente$ e) servidor donde estB a)ojado deber4 cu p)ir unos re/uisitos ,ni os co o son2 soporte para e) )en(uaje P:P y para ad inistrar bases de datos MA.=;.

2!

En este apartado ser4n descritos )os re/uisitos$ atendiendo a) nive) de deta))e preciso /ue per ita abordar con B0ito )as si(uientes etapas de) proyecto$ esto es2 descripcin de )as entradas GEinputsFH a) siste a. descripcin de) co porta iento o de )as #unciones adoptados por e) siste a$ en reaccin a )as entradas GEinputsFH o bien para cubrir )as e0i(encias de una posib)e respuesta. descripcin de )as respuestas GEoutputsFH producidas por e) siste a.

I,+(.8%&(/ 0( */*%.-1
1tendiendo a )a tipo)o(,a de usuario$ pueden di#erenciarse 2 tipos de inter#ace de usuario$ co o si(ue 2 U/*%.-1/ ,1 %07-,-/+.%01.(/ 2A,D,-71/F R(<-/+.%01/ ( R(/-0(,&-%4(/5) "ispondr4n de una p4(ina Deb principa)$ cuyo espacio se distribuye de) si(uiente odo2 .endas barras de nave(acin situadas tanto en )a parte superior co o en e) pie de p4(ina$ inc)uyendo repeticin de en)aces directos a a)(unas de )os apartados principa)es2 9r4 ites y Lestiones$ .u(erencias$ 1(enda$ 1viso ;e(a)$ etc. 9a biBn en )a parte superior$ barra de nave(acin principa) con acceso a )os apartados principa)es Gparte 9r4 ites$ *oros. "ebajo de )a barra de nave(acin principa) anterior$ se encuentra )a caja de bIs/uedas$ )a cua) o#recer4 )a opcin de buscar en todo e) porta) GInica 4s din4 icaH de) porta)2 6oticias$ 1(enda$

21

opcin disponib)e si nos encontra os en )a p4(ina principa)H o buscar s)o en e) apartado actua) G6oticias$ 1(enda$ 9r4 ites o *orosH. En )a 7ona )atera) i7/uierda$ barra de nave(acin vertica) con acceso a )os apartados principa)es Gparte 4s est4ticaH sobre in#or acin de) 1yunta iento$ Municipio y .ervicios. ;a 7ona centra) Gtronco de )a p4(ina principa)H$ estar4 dedicado a principa)es2 6oticias$ 1(enda o *oros. ;a 7ona )atera) derec>a estar4 dedicada a visua)i7acin r4pida co o son2 ca)endario de) ini8secciones de #unciones de es con d,as arcados si e0isten ostrar un resu en de )os I)ti os e)e entos incorporados a cada uno de )os apartados

eventos$ ca))ejero$ e) tie po con 3 d,as de previsin. ;a 7ona )atera) derec>a superior sie pre estar4 dedicada a) 4rea de autenticacin de usuarios$ as, co o cierre de )a sesin. 9odo e) anc>o de )a 7ona in#erior a)ber(ar4 una subseccin E.ecciones a) deta))eF$ ostrando )as I)ti as oposiciones pub)icadas dando opcin a descar(ar sus bases$ as, co o descar(a ta biBn de )os I)ti os i presos pub)icados o in#or acin sobre )os I)ti os usuarios re(istrados G+o unidadH. U/*%.-1/ %07-,-/+.%01.(/ 2A07-,-/+.%01.(/ ( I,+(.-,1/5) "ispondr4n de una p4(ina Deb principa)$ cuyo espacio /uedar4 distribuido de) si(uiente odo2 En )a 7ona 4s a)ta de cabecera$ se dispondr4 de sendos en)aces2 uno poder odi#icacin de) per#i) de usuario y su contrase5a$

visua)i7ar e) Debsite co o si de un Ksuario 1nni o se tratase y otro para acceder a )a p4(ina principa) de ad inistracin. En )a 7ona superior$ barra de nave(acin principa) con acceso a )os apartados principa)es de ad inistracin2 O#icina 'irtua)$ 6oticias$ Eventos$ Oposiciones y Ksuarios GBsta I)ti a no disponib)e para InterinosH. E) 4rea )atera) i7/uierda superior estar4 reservada para )as diversas opciones de (estin y /ue ir4n variando se(In e) apartado principa) se)eccionado en )a barra de nave(acin principa) superior. E) 4rea centra) principa) Gtronco de )a p4(ina principa)H estar4 dedicado a

22

ostrar )as in#or aciones propias de cada (estin en curso. .endas barras de nave(acin tanto en )a parte superior co o a pie de p4(ina$ con repeticin de en)aces directos a a)(unas de )os apartados principa)es2 9r4 ites y Lestiones$ .u(erencias$ 1(enda$ 1viso ;e(a)$ etc.

I,+(.8%&(/ 0( '%.0?%.(
+o o >a sido encionado anterior ente$ )os re/uisitos de >ardDare necesarios

para e) porta) ser4n un servicio de a)oja iento Deb con soporte para )as tecno)o(,as P:P y MA.=;$ as, co o una co putadora con cone0in a Internet$ capa7 de ejecutar un nave(ador Deb$ para )os usuarios /ue acceder4n a) porta).

I,+(.8%&(/ 0( /18+?%.(
E) producto es desarro))ado bajo e) siste a operativo JindoDs CP .P3$ sobre e) cua) se >a insta)ado y con#i(urado un servidor 1pac>e. 1si is o )os )en(uajes de pro(ra acin uti)i7ados son P:P y :9M;$ junto con p)anti))as +..$ y <ava.cript en enor edida.

E) siste a de (estin de base de datos correr4 a car(o de) siste a arc>iconocido My.=;.

.i(uiendo una c)asi#icacin basada en )a tipo)o(,a de usuario$ a continuacin se uestra una descripcin deta))ada de )os distintos re/uisitos #unciona)es2

U/*%.-1 A,D,-71
+onviene recordar /ue este tipo de usuario$ es a/ue) /ue accede a nuestro porta) de #or a espor4dica o no$ e) cua) probab)e ente representa un potencia) Ec)ienteF para e) porta) de) 1yunta iento. ;a estrate(ia de Eco porta ientoF de) porta) en este caso$

23

debe #oca)i7arse en tratar de captar )a atencin de) +o unidad de Ksuarios.

is o$ >asta e) (rado de

invo)ucrar)o en e) proceso de) re(istro$ pasando as, a #or ar parte #ina) ente de )a

!"#"!"$" )ntroducci&n *ntradas

,roceso

-alidas

%egistrarse en el portal *l .suario decide formar parte de la +omunidad de .suarios re$istrados# pro"a"lemente atrado por al$uno de los servicios exclusivos para los mismos (informaci&n mostrada de forma llamativa mediante iconos animados) +ada uno de los campos del formulario de re$istro! *l sistema muestra el formulario de alta de nuevo usuario! -i el usuario confirma su envo# el sistema verifica que 'a an sido cumplimentados todos los campos marcados como o"li$atorios# as como la correcci&n del formato en al$unos de ellos! -i las condiciones anteriores se cumplen# el nuevo usuario es insertado en la Base de Datos (BD)# cerciorndose previamente el sistema de que no exista duplicidad en los campos .sername *mail! Asimismo es aadida una tupla a la ta"la /preferencias0usuarios/ iniciali1ando las puntuaciones! ,reviamente se reali1a un control anti2in ecci&n -34! 5exto informando de que el proceso fue exitoso! -e ofrece un enlace rediri$iendo al usuario a la p$ina principal# donde el rea de .suarios ex'i"ir su nom"re el resto de opciones!

!"#"!"!" )ntroducci&n *ntradas

,roceso

-alidas

Autenticarse en el portal" ,ara identificarse en el portal e iniciar as un sesi&n# ser suficiente con que el usuario in$rese su .sername ,ass6ord en el rea de .suarios! 4os datos .sername ,ass6ord in$resados por el usuario! *l sistema contrasta la informaci&n reci"ida contra la Base de Datos! *n caso de encontrar una tupla que coincida# valida la operaci&n# inicia una sesi&n re$istra al$unas varia"les de sesi&n con al$unos datos de frecuente consulta so"re el usuario! Finalmente el usuario es rediri$ido a la p$ina de la secci&n desde donde se inici& la autenticaci&n (si el .suario tuviera la cate$ora de Administrador o )nterino es rediri$ido a la p$ina principal de adm&n)! 7ensa(e de "ienvenida# rediri$iendo al usuario a la p$ina correspondiente# en virtud del criterio expresado en el apartado anterior! *n caso de fallo del proceso de autenticaci&n# se su$iere al usuario volver a intentarlo!

2%

!"#"!"#" )ntroducci&n *ntradas

,roceso

-alidas

%ecuperar la contrase&a en caso de olvido" *l usuario pretende autenticarse sin xito# de"ido a que no recuerda la contrasea! Bastar con que in$rese su .sername ,ass6ord para reci"ir una nueva contrasea aleatoria por email# que posteriormente podr modificar a conveniencia! 4os datos .sername e *2mail in$resados por el usuario! existan en una misma tupla# en cu o caso# $enerar una contrasea aleatoria "asada en un diccionario con miles de pala"ras# almacenado en un arc'ivo! A continuaci&n# la nueva contrasea es almacenada en la BD enviada por email al .suario para su conocimiento! -i los datos in$resados por el usuario no son encontrados en nin$una tupla# se informa al usuario se le invita a volver a intentarlo! -e informa al usuario que revise su correo electr&nico donde 'a"r reci"ido una nueva contrasea! -e invita al usuario a volver intentarlo con motivo de que al$unos de los datos in$resados no es correcto!

!"#"!"'"

)ntroducci&n

*ntradas ,roceso -alidas

(onsultar eventos de un da del calendario" *l usuario puede conocer todos los eventos pro$ramados para un da en concreto# simplemente 'aciendo clic8 en un da del calendario# el cual de"er estar marcado de forma destacada como no vaco! 4os das sin eventos no dispondrn de enlace al$uno! Asimismo# el usuario puede cam"iar de mes ao! *l da seleccionado en el calendario# as como el ao mes seleccionados en los campos (unto al calendario! -e recupera de la BD toda la informaci&n referente a eventos existentes en el da seleccionado! 9entada emer$ente mostrado el detalle de los eventos pro$ramados para el da seleccionado!

25

!"#"!")"

)ntroducci&n *ntradas ,roceso -alidas

Visuali*ar mapa+calle,ero" *l usuario puede consultar el mapa inte$rado en la p$ina principal del portal# interactuando directamente so"re el mismo (1oom# despla1amientos# etc)! ,uede tam"in acceder a una versi&n ampliada del mismo# u"icada fuera del portal! *l servicio es ofrecido por Goo$le 7aps! *ventos de rat&n enviados por el usuario! )nterpretaci&n de los eventos de rat&n enviados por el usuario respuesta a los mismos! 7apa modificado en tiempo real (1oom# despla1amientos) en relaci&n a los eventos de rat&n! -e muestra en pantalla una versi&n del mapa ampliada# con el a untamiento de la po"laci&n preseleccionada! (onsultar el tiempo" *l usuario puede visuali1ar el tiempo con una predicci&n a : das! 5am"in puede ampliar la informaci&n (predicci&n de ; das e informaci&n detallada) 'aciendo clic8 en la ima$en del tiempo inte$rada en la p$ina principal del portal! *l servicio es ofrecido por 666!tutiempo!net! +lic8 en la ima$en del tiempo! *l usuario es rediri$ido al 6e"site de 666!tutiempo!net! -e muestra el 6e"site de 666!tutiempo!net# con la informaci&n amplidada referida a la po"laci&n de ,aterna! (ontactar con el Ayuntamiento" *l usuario dispone de un aparatado de -u$erencias para 'acer lle$ar al A untamiento cualquier tipo de comentario! Datos del formulario enviados por el usuario! *l sistema verifica que 'a an sido cumplimentados todos los campos marcados como o"li$atorios# as como la correcci&n del formato en al$unos de ellos! A continuaci&n enve un correo al servicio de atenci&n al cliente del A untamiento# inclu endo los datos de contacto del usuario as como el texto de la su$erencia! 7ensa(e informando que el envo fue exitoso que en "reve ser atendido! *n el caso de que se produ1ca al$<n error en el envo del e2mail# se invita al usuario a volver a intentarlo pasados unos minutos!

!"#"!"-"

)ntroducci&n *ntradas ,roceso -alidas

!"#"!"." )ntroducci&n *ntradas ,roceso

-alidas

26

!"#"!"0"

)ntroducci&n

*ntradas

,roceso

-alidas

Iniciar 12s3uedas selectivas dentro del portal" *l usuario dispone de un "uscador de cualquier informaci&n perteneciente a cualquiera de las secciones del portal! ,uede "uscar empleando una s&la pala"ra o incluso % pala"ras! 5am"in puede restrin$ir la "<squeda a la secci&n en la que se encuentre o "ien en todo el portal# en cu o caso# un resumen de resultados por secci&n ser mostrado (<nica opci&n disponi"le si el usuario se encuentra en la p$ina principal)! 4a pala"ra o pala"ras introducidas por el usuario# as como la opci&n de "<squeda en en todo el portal o s&lo en la secci&n actual! *l sistema crear la consulta a la BD en funci&n del n<mero de pala"ras introducidas por el usuario# as como del tipo de "<squeda (total o selectiva)! -i la "<squeda es comple(a (% pala"ras)# la consulta a la BD estar "asadas en ndices F.445*>5 en modo "ooleano! Asimismo si se trata de una "<squeda selectiva# se consultar el valor de la varia"le de sessi&n ?0-*@9*@AB,C,0-*4FBD para conocer la <nica secci&n en la que de"e "uscarse! ,$ina con los resultados 'allados! -i se tratase de una "<squeda total# sera mostrado un resumen por secciones! 5odos los resultados contendrn enlaces al mismo o a la secci&n a la que pertenece# con el fin de ampliar la informaci&n! Visuali*ar las 2ltimas noticias" *l usuario puede visuali1ar un resumen con las <ltimas noticias destacadas! ,ara ello# "astar con que seleccione la secci&n =oticias el enlace 9er todas las noticias en la p$ina principal! *nlace seleccionado por el usuario! *l sistema "usca las <ltimas noticias introducidas en la BD# extra endo toda la informaci&n de las mismas ordenando el resultado desde la ms moderna a la ms anti$ua! ,$ina con las <ltimas noticias# mostrando todos los detalles de las mismas! Visuali*ar en detalle una noticia" *l usuario puede visuali1ar una s&lo noticia con todos sus detalles (texto completo# foto# etc) pulsando so"re el titular de la misma# a se encuentre en la p$ina principal o en el apartado de =oticias o en el de resultado de una "<squeda! )dentificador de la noticia seleccionada por el usuario! *l sistema "usca la noticia en la BD extrae toda la informaci&n necesario de la tupla encontrada! 9entada emer$ente mostrando todas las informaciones disponi"les so"re la noticia!

!"#"!"4" )ntroducci&n *ntradas ,roceso -alidas !"#"!"$/" )ntroducci&n *ntradas ,roceso -alidas

27

!"#"!"$$" )ntroducci&n *ntradas

,roceso

-alidas

Visuali*ar todos los eventos del mes" *l usuario puede visuali1ar un resumen con todos los eventos pro$ramados en la a$enda para el mes actual o "ien para otro mes que el mismo seleccione! *nlace de la secci&n A$enda/ seleccionado por el usuario# o "ien formulario con los valores de un mes un ao enviados por el mismo! -i la entrada es el enlace seleccionado por el usuario# el sistema "usca en la BD# todos los detalles referidos a los eventos pro$ramados para el mes actual! -i la entrada es el formulario# el sistema ceira la "<squeda a los eventos pro$ramados para los valores del formulario! ,$ina con todos los detalles de cada evento del mes actual o "ien del mes seleccionado mediante el formulario! -e muestra tam"in un nuevo formulario para seleccionar otra fec'a! Visuali*ar en detalle un evento" *l usuario puede visuali1ar un s&lo evento con todos sus detalles pulsando so"re el ttulo del mismo# en el resumen de eventos mostrados en la p$ina principal! )dentificador del evento seleccionado por el usuario! *l sistema "usca el evento en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n dispon"le so"re el evento!
Visuali*ar tr mites disponi1les" *l usuario puede "uscar un determinado trmite con tan s&lo aplicar unos filtros de "<squeda! *s posi"le "uscar por tipolo$a de trmite tam"in es posi"le indicar que sean listados s&lo aquellos con opci&n de tramitaci&n electr&nica (Eficina 9irtual)! Formulario de "<squeda enviado por el usuario# (unto con los filtros seleccionados por el mismo! *l sistema muestra el formulario de "<squeda! -i el usuario confirma su envo# el sistema constru e una consulta a la BD en funci&n de los filtros seleccionados# o"teniendo aquellos trmites que cumplen con los mismos! *l sistema muestra una p$ina con un listado de todos los trmites que re<nen las condiciones de "<squeda seleccionadas por el usuario# as como un enlace a cada uno de ellos con el fin de mostrar informaci&n ms detallada!

!"#"!"$!" )ntroducci&n *ntradas ,roceso -alidas


!"#"!"$#" )ntroducci&n *ntradas ,roceso

-alidas

2-

!"#"!"$'" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar en detalle un tr mite" *l usuario puede visuali1ar todos los detalles de un trmite pulsando so"re el nom"re del mismo# en el resumen de trmites mostrados en la sesi&n de 5rmites! 5am"in muestra un enlace para descar$a el impreso asociado al mismo! )dentificador del trmite seleccionado por el usuario! *l sistema "usca el trmite en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n dispon"le so"re el trmite# as como un enlace al impreso para su descar$a# en caso de que el trmite lleve asociado el mismo! Visuali*ar temas 5topics6 del foro" *4 usuario puede consultar el ttulo de todos los temas que existen en el foro# as como el .sername de su propietario# la fec'a en que fue creado la cantidad de mensa(es que contiene! *nlace FForosG o F9er 5emasG seleccionado por el usuario! *l sistema o"tiene de la BD la informaci&n so"re cada tema! 4istado de todos los ttulos de los temas (topics) del foro# as como el resto de informaciones descritas en la )ntroducci&n! +ada ttulo es un enlace que permite visuali1ar los mensa(es contenidos en el tema!

!"#"!"$)" )ntroducci&n *ntradas ,roceso -alidas

!"#"!"$-" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar todos los mensa,es 5posts6 de un tema" *l usuario puede consultar los mensa(es de cada tema del foro sus fec'as de pu"licaci&n# as como el .sername anti$Hedad del propietario de cada uno de ellos! )dentificador del tema seleccionado por el usuario! *l sistema o"tiene de la BD la informaci&n so"re todos los mensa(es del tema seleccionado por el usuario! 4istado con todos los mensa(es del tema seleccionado# as como el resto de informaciones descritas en el apartado )ntroducci&n!

29

!"#"!"$." )ntroducci&n *ntradas ,roceso -alidas

7ostrar alguna de las secciones so1re el Ayuntamiento 5Ayuntamiento, 7unicipio o Servicios68parte m s est tica8 *l usuario puede consultar cualquiera de las informaciones referentes al A untamiento o 7unicipio (-aludo del alcalde# &r$anos de $o"ierno# Gua de ,aterna# 5fnos de inters#etc ) *nlace seleccionado por el usuario# en men< lateral dedicado al A untamiento al 7unicipio *l sistema o"tiene de la BD la informaci&n so"re el apartado seleccionado por el usuario! ,$ina con la informaci&n so"re el apartado del A untamiento o del 7unicipio selecionado por el usuario

!"#"!"$0" )ntroducci&n *ntradas ,roceso -alidas

7ostrar fecha y da de la semana actuales" *l usuario puede visuali1ar permanentemente el nom"re del da de la semana# as como la fec'a completa actuales# en la parte superior derec'a del portal! =in$una *l sistema actuali1a la informaci&n so"re la fec'a da de la semana cada ve1 que es car$ada una p$ina! ,ermanentemente es visuali1ado el nom"re del da de la semana# as como la fec'a completa actuales# en la parte superior derec'a del portal!

!"#"!"$4" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar listado de oposiciones" *l usuario puede visuali1ar todas las <ltimas oposiciones pu"licadas as como descar$ar sus "ases! *nlace seleccionado en el apartado F-ecciones al detalleG de la p$ina principal! *l sistema o"tiene de la BD la informaci&n so"re cada una de las oposiciones vi$entes! 9entana emer$ente mostrando el detalle de todas las oposiciones pu"licadas# as como un enlace que permite descar$ar las "ases de cada una de ellas!

3!

!"#"!"!/" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar 2ltimos impresos pu1licados" *n el apartado F-ecciones al detalleG de la p$ina principal# de forma permanente se muestran los <ltimos impresos pu"licados# as como un enlace que permite su descar$a! *nlace seleccionado para iniciar la descar$a del impreso! *l sistema o"tiene de la BD la informaci&n so"re los <ltimos impresos aadidos! 4istado con los <ltimos impresos aadidos (unto con un enlace que permite su descar$a! Visuali*ar 2ltimos usuarios registrados" *n el apartado F-ecciones al detalleG de la p$ina principal# de forma permanente se muestran el .sername de los <ltimos usuarios que se unieron a la comunidad de usuarios re$istrados (no usuarios administradores ni interinos)# as como la fec'a con que lo 'icieron! (Forma parte de la estrate$ia captaci&n de nuevos usuarios)! =in$una *l sistema o"tiene de la BD el .sername la fec'a de anti$Hedad de los <ltimos usuarios que se re$istraron cu a cate$ora no sea la de Administrador ni tampoco la de )nterino! 4istado con los <ltimos usuarios re$istrados (.sername fec'a de re$istro)!

!"#"!"!$"

)ntroducci&n *ntradas ,roceso -alidas

!"#"!"!!" )ntroducci&n *ntradas ,roceso -alidas

(onsultar el Aviso 9egal" A pie de p$ina en el men< de na$evaci&n# existe un enlace permanente al texto de Aviso 4e$al! *nlace /Aviso 4e$al/ seleccionado por el usuario! *l sistema a"re una ventana emer$ente# imprimiendo en sus interior el texto del Aviso 4e$al que se encuentra en un fic'ero con extensi&n ,C,! 9entana emer$ente mostrando el texto del Aviso 4e$al!

31

U/*%.-1 R(<-/+.%01 +onviene recordar /ue este usuario dispone de )as posibi)idades de un Ksuario 1nni o$ ade 4s de )as descritas a continuacin.

!"#"!"!#" )ntroducci&n *ntradas

,roceso

-alidas

(am1iar contrase&a" *l usuario puede en cualquier momento cam"iar su contrasea de autenticaci&n por otra# en el rea de .suarios! Formulario cumplimentado por el usuario con la contrasea anti$ua# la nueva contrasea la confirmaci&n de la nueva contrasea! *l sistema muestra el formulario de cam"io de contrasea! -i el usuario confirma su envo# el sistema consulta a la BD para verificar que la contrasea anti$ua sea correcta! +omprue"a asimismo que la nueva contrasea coincida con su confirmaci&n! Finalmente# actuali1a la nueva contrasea en la Base de Datos e informa al usuario que el proceso conclu & con xito! 7ensa(e indicando que la contrasea fue cam"iada con xito o que por el contrario# existe al$<n error en los datos que introdu(o!

!"#"!"!'" )ntroducci&n *ntradas

,roceso

-alidas

7odificar perfil y preferencias de usuario" *l usuario puede editar los datos de re$istro as como alterar sus preferencias para el servicio de =e6sletter (en caso q estuviera su"scrito)! Formulario cumplimentado con los campos modificados a conveniencia del usuario! *l sistema muestra el formulario de modificaci&n al usuario! -i ste confirma su envo# el sistema verifica que los campos modificados presenten el formato adecuado! Asimismo comprue"a que en caso de 'a"er modificado el .sername Io *mail# stos no existiesen a! A continuaci&n# actuali1a la tupla en la Base de Datos con los nuevos valores re$istra nuevamente las varia"les de sesi&n de frecuente consulta so"re el usuario! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

32

!"#"!"!)" )ntroducci&n *ntradas ,roceso -alidas

(errar sesi:n" *l usuario puede cerrar la sesi&n activa en cualquier instante desde el rea de .suarios! *nlace F+errar -esi&nG seleccionado por el usuario# el cual enva una varia"le lo$out empleando el mtodo ?0G*5! *s destruido el identificador de sesi&n as como las varia"les de sesi&n! -e muestra la p$ina principal con las opciones propias de un .suario An&nimo!
%eu1icar autom ticamente las secciones de la p g" principal +ada ve1 que un usuario consi$ue autenticarse# se o"tienen de la BD su 'ist&rico de preferencias de uso de cada secci&n principal del portal! Atendiendo a este 'ist&rico# cada ve1 que es motrada la p$ina principal# sta reu"icar sus su"secciones# dando preferencia de visi"ilidad a aquellas con ma or puntuaci&n! 4os datos de autenticaci&n enviados desde la p$ina principal o "ien el enlace /)nicio/ seleccionado por el usuario! *l sistema o"tiene de la BD las puntuaciones para el usuario autenticado# referentes al acumulado de ocasiones que el mismo 'a visitado cada una de las secciones principales del portal! *n funci&n de estas puntuaciones# en la p$ina principal sern mostrados unos apartados antes que otros! 4a p$ina principal mostrar los elementos de cada secci&n# mostrando de forma preferente aquellos que el usuario visit& ms veces# atendiendo al criterio expresado en el punto anterior!

!"#"!"!-"

)ntroducci&n

*ntradas

,roceso

-alidas

!"#"!"!." )ntroducci&n *ntradas ,roceso -alidas

Aumentar la puntuaci:n de preferencia de una secci:n" +ada usuario dispone de una puntuaci&n para cada secci&n# en funci&n de la cantidad de veces que las visita o utili1a! De esta forma# cuando un usuario visita un secci&n# es aumentado en J unidad su contador de puntuaci&n asociado! =in$una! *l sistema o"tiene de la BD la puntuaci&n asociada a la secci&n que el usuario aca"a de visitar# le adiciona J unidad actuali1a su valor en la BD! =in$una

33

Su1scri1irse al servicio de ;e<sletter" *l usuario puede su"scri"ir al servicio de envo de "oletines! Dispone de : modalidades: reci"ir s&lo noticias# s&lo eventos o am"os! ,ara esto# el usuario de"e pulsar so"re un icono animado situado en la )ntroducci&n p$ina principal (s&lo es mostrado cuando el usuario no se 'a su"scrito a<n al servicio) el cual enla1a con un formulario que permite su"scri"irse seleccionando antes el tipo de =e6sletter! Formulario con las opciones de su"scripci&n seleccionadas por el *ntradas usuario! *l sistema muestra el formulario de su"scripci&n! -i el usuario confirma su envo# verifica que se 'a a seleccionado al menos una ,roceso de las opciones# en cu o caso actuali1a en la BD la tupla de la ta"la /preferencias0usuarios/ con este valor! -e muestra un mensa(e informando que la su"scripci&n conclu & con -alidas xito o "ien que el proceso fue cancelado!

!"#"!"!0"

!"#"!"!4" )ntroducci&n *ntradas

,roceso

-alidas

A1rir un nuevo topic 5tema6 en los foros" *l usuario puede a"rir un nuevo tema de discusi&n# adicionando adems un primer mensa(e o no! Formulario con el ttulo del tema (opcionalmente) texto del primer mensa(e (post)! *l sistema muestra un formulario con el ttulo del tema texto del mensa(e por cumplimentar! -i el usuario confa su envo# se comprue"a que el ttulo del tema no est vaco# en cu o caso anali1a si existe adems un primer mensa(e! -e$uidamente inserta en la BD el nuevo topic# as como el mensa(e# si lo 'u"iera! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario de que el tema fue creado correctamente# listndose a continuaci&n todos los temas del foro! -i el usuario no introdu(o al$<n ttulo para el tema# se le informa de que esta circunstancia es imprescindi"le para continuar! (rear un nuevo post 5mensa,e6 en un tema del foro" *l usuario puede crear un mensa(e asociado a al$<n tema del foro# respondiendo al mensa(e de otro usuario o "ien simplemente aportando una opini&n! Formulario con el texto del mensa(e introducido por el usuario! *l sistema comprue"a que el texto del mensa(e no est vaco# en cu o caso inserta una nueva tupla en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario de que el mensa(e fue creado correctamente# listndose a continuaci&n todos los mensa(es del tema asociado! -i el usuario envo el formulario el "lanco# se le informa del error!

!"#"!"#/" )ntroducci&n *ntradas ,roceso -alidas

3%

!"#"!"#$" )ntroducci&n *ntradas ,roceso -alidas

Eliminar un mensa,e del foro" *l usuario puede eliminar un mensa(e del foro# siempre cuando sea propietario del mismo! *l sistema no dar la opci&n de "orrado si no se cumple esta condici&n! *nlace /*liminar mensa(e/ seleccionado por el usuario# el cual lleva asociado el identificador del mensa(e a eliminar! *l sistema elimina de la DB la tupla asociada al identificador del mensa(e! -e informa al usuario de que el mensa(e fue eliminado correctamente# listndose a continuaci&n todos los mensa(es del tema asociado! Eliminar un tema del foro" *l usuario puede eliminar un tema del foro# siempre cuando sea propietario del mismo no existan mensa(es de otros usuarios en el mismo! *l sistema no dar la opci&n de "orrado si no se cumplen las condiciones anteriores! *nlace /*liminar tema/ seleccionado por el usuario# el cual lleva asociado el identificador del tema a eliminar! -e elimina de la BD la tupla correspondiente al tema seleccionado! -i existen mensa(es del propietario del tema# tam"in son eliminados de la BD! -e informa al usuario de que el tema fue eliminado correctamente# listndose a continuaci&n los temas del foro!

!"#"!"#!" )ntroducci&n *ntradas ,roceso -alidas

U/*%.-1 R(/-0(,&-%4 +onviene recordar /ue este usuario dispone de )as posibi)idades de un Ksuario &e(istrado$ ade 4s de )a #unciona)idad de O#icina 'irtua).

35

!"#"!"##"

)ntroducci&n

*ntradas ,roceso

-alidas

Visuali*ar tramitaciones o gestiones" *l usuario puede visuali1ar todas las tramitaciones iniciadas previamente# as como su estado actual ()niciado# @evisi&n# Apro"ado o Dene$ado)! *l sistema dar la opci&n de eliminar aqullas que a<n no 'a an sido revisadas as como de visuali1ar en detalle cada una de ellas! *nlace /Gest! 5ramitaciones/ o /Eficina 9irtual/ seleccionado por el usuario! -e o"tienen de la BD todas las tramitaciones cu o propietario sea el usuario autenticado! -e muestra un listado con todas las tramitaciones que 'a a iniciado el usuario autenticado# as como el estado de cada una de ellas ()niciado# @evisi&n# Apro"ado o Dene$ado)# su fec'a de iniciaci&n# la opci&n de eliminar la tramitaci&n si sta se encuentra en estado de )niciado as como tam"in la posi"ilidad de ver todos los detalles de la misma!

!"#"!"#'" )ntroducci&n *ntradas ,roceso

-alidas

Visuali*ar en detalle una tramitaci:n o gesti:n" *l usuario puede visuali1ar todos los detalles de una tramitaci&n# esto es# el 'ist&rico de notificaciones usuario2funcionario# el estado de la misma# as como toda la informaci&n del trmite asociado! *nlace /9er estado/ seleccionado por el usuario# el cual lleva asociado el identificador de la tramitaci&n a visuali1ar! -e o"tienen de la BD la informaci&n de la tramitaci&n seleccionada por el usuario# as como la informaci&n del trmite a que corresponde la tramitaci&n! -e muestra en una ventana emer$ente# todos los detalles de la tramitaci&n seleccionada# es decir# el 'ist&rico de notificaciones usuario2funcionario# el estado de la misma la informaci&n del trmite asociado!

36

!"#"!"#)" )ntroducci&n *ntradas

,roceso

-alidas

Eliminar una tramitaci:n o gesti:n" *l usuario puede eliminar una tramitaci&n que 'u"iera iniciado previamente# siempre cuando no estuviera en revisi&n# es decir# su estado fuera de )niciado# Apro"ado o Dene$ado! Formulario de confirmaci&n de "orrado de tramitaci&n# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# consulta a la BD el estado de la tramitaci&n a eliminar para compro"ar que no sea el de F@evisionG (control del acceso concurrente a que un Administrador podra 'a"er cam"iado su estado de )niciado a @evision)# en cu o caso# elimina de la BD la tupla asociada a la tramitaci&n! -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado!

!"#"!"#-"

)ntroducci&n *ntradas

,roceso

-alidas

Editar una tramitaci:n o gesti:n" *l usuario puede aadir nuevas notificaciones a una tramitaci&n# siempre cuando no 'a a sido apro"ada o dene$ada por un funcionario del A untamiento! *stas notificaciones son el recurso disponi"le para comunicarnos con el funcionario durante el curso de la $esti&n de la tramitaci&n! Formulario con el texto de la notificaci&n a ad(untar a la tramitaci&n! *l sistema muestra en una ventana emer$ente el 'ist&rico actual de notificaciones as como un formulario para aadir una nueva notificaci&n! A continuaci&n actuali1a la tramitaci&n en BD# 'a"iendo aadido previamente el nuevo texto de notificaci&n! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario de que la tramitaci&n fue modificada con xito o "ien# que el proceso fue cancelado!

37

!"#"!"#."

Iniciar una tramitaci:n o gesti:n" *l usuario puede iniciar una nueva tramitaci&n! ,ara ello# de"er reali1ar previamente una "<squeda de trmites empleando filtros! *l resultado de la "<squeda mostrar un listado de trmites disponi"les# dando el sistema las si$uientes opciones so"re cada uno de ellos: 2 9isuali1ar todos sus detalles! 2 )niciar su tramitaci&n (siempre cuando dispon$a de opci&n de tramitaci&n electr&nica)! *n primer lu$ar# formulario con los filtros de "<squeda seleccionados por el usuario! A continuaci&n# formulario de confirmaci&n de iniciaci&n de tramitaci&n# con el texto (opcional) de notificaci&n a ad(untar! *l sistema muestra formulario de "<squeda de tramitaciones! ,osteriormente# inserta en la BD una nueva tramitaci&n# as como el texto de notificaci&n si lo 'u"iera! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario de que la tramitaci&n se inici& correctamente!

)ntroducci&n

*ntradas

,roceso -alidas

U/*%.-1 I,+(.-,1 +onviene recordar /ue este tipo de usuario es e) responsab)e de in#or acin sobre )os contenidos de) porta). E) Inico co o de (estionar usuarios.
!"#"!"#0" Visuali*ar tramitaciones pendientes de resoluci:n" *l usuario podr visuali1ar todas las tramitaciones pendientes de resoluci&n de un usuario determinado# mostrando diferentes opciones de actuaci&n para cada una de ellas! ,reviamente 'a"r reali1ado una "<squeda filtrando por el nom"re de usuario (.sername)! Formulario de "<squeda con el .sername seleccionado por el usuario! *l sistema o"tiene de la BD las tramitaciones cu o estado sea /)niciado/ o /@evision/# del usuario seleccionado en el formulario de "<squeda 4istado con las tramitaciones (nom"re# estado fec'a de iniciaci&n) pendientes de resoluci&n del usuario seleccionado# ofreciendo so"re cada una de ellas# la si$uiente opci&n: 2 9isuali1ar sus detalles! 2 7odificar su estado# aadiendo opcionalmente una notificaci&n!

anipu)ar )a

ati7 /ue )o di#erencia con e) Ksuario

1d inistrador es /ue no dispone de opciones para e)i inar nin(una in#or acin$ as,

)ntroducci&n

*ntradas ,roceso

-alidas

3-

!"#"!"#4"

)ntroducci&n

*ntradas

,roceso

-alidas

7odificar una tramitaci:n" *l usuario podr cam"iar el estado de la tramitaci&n a al$uno de los estados posi"le (@evision# Apro"ado# Dene$ado)# as como opcionalmente anexar una notificaci&n! Asimismo este usuario podr conservar el estado de @evisi&n aadir opcionalmente una notificaci&n requiriendo al$una informaci&n del usuario que ori$in& la tramitaci&n! Formulario con el nuevo valor del estado de la tramitaci&n# as como el texto a notificar! *l sistema o"tiene de la BD el 'ist&rico de notificaciones existente so"re la tramitaci&n seleccionada por el usuario lo muestra en una ventana emer$ente# acompandolo de un formulario donde el usuario puede aadir una nueva notificaci&n as como indicar el nuevo estado para la tramitaci&n! *n caso de que ste anexara una nueva notificaci&n# el sistema lo adiciona al 'ist&rico o"tenido antes! A continuaci&n# se actuali1a en la BD la tupla correspondiente a la tramitaci&n# con el nuevo valor de estado del 'ist&rico de notificaciones! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

!"#"!"'/" )ntroducci&n *ntradas ,roceso

-alidas

Visuali*ar tr mites disponi1les" *l usuario puede o"tener un listado de trmites disponi"les# utili1ando para ello un formulario de "<squeda! *l listado resultado mostrar para cada trmite# opciones de edici&n o visuali1aci&n en detalle! Formulario de "<squeda enviado por el usuario# (unto con los filtros seleccionados por el mismo! *l sistema muestra el formulario de "<squeda! -i el usuario confirma su envo# el sistema constru e una consulta a la BD en funci&n de los filtros seleccionados# o"teniendo aquellos trmites que cumplen con los mismos! 4istado con todos los trmites que re<nen las condiciones de "<squeda seleccionadas por el usuario# (unto con al$unas opciones de actuaci&n se$<n se explica en el apartado )ntroducci&n!

39

!"#"!"'$" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar en detalle un tr mite" *l usuario puede visuali1ar todos los detalles de un trmite determinado# as como descar$ar el impreso asociado al mismo! )dentificador del trmite seleccionado por el usuario! *l sistema "usca el trmite en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n dispon"le so"re el trmite# as como un enlace al impreso para su descar$a# en caso de que exista un impreso asociado!

!"#"!"'!" )ntroducci&n *ntradas

,roceso

-alidas

(rear un nuevo tr mite" *l usuario puede dar de alta nuevos trmites# cumplimentando cada uno de los campos del formulario! Asimismo# es posi"le anexar un impreso que permita ser descar$ado posteriormente! Formulario cumplimentado enviado por el usuario! *l sistema muestra el formulario de apertura de nuevo trmite! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& al$<n impreso# compro"ar que el mismo 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema insertar el trmite en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que el trmite fue introducido con xito o "ien# que el proceso fue cancelado! Editar un tr mite" *l usuario puede modificar un trmite existente# as como cam"iar el impreso asociado al mismo! Formulario de modificaci&n enviado por el usuario! *l sistema muestra el formulario de edici&n! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& al$<n impreso# compro"ar que el mismo 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema actuali1ar el trmite en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

!"#"!"'#" )ntroducci&n *ntradas

,roceso

-alidas

%!

!"#"!"''" )ntroducci&n *ntradas ,roceso

-alidas

Visuali*ar noticias" *l usuario puede o"tener un listado de todas las noticias disponi"les# utili1ando para ello un formulario de "<squeda! *l listado resultado mostrar para cada noticia# opciones de edici&n visuali1aci&n en detalle! Formulario de "<squeda enviado por el usuario# (unto con los filtros seleccionados por el mismo! *l sistema muestra el formulario de "<squeda! -i el usuario confirma su envo# el sistema constru e una consulta a la BD en funci&n de los filtros seleccionados# o"teniendo aquellas noticias que cumplen con los mismos! 4istado con todos las noticias que re<nen las condiciones de "<squeda seleccionadas por el usuario# (unto con al$unas opciones de actuaci&n se$<n se explica en el apartado )ntroducci&n! Visuali*ar en detalle una noticia" *l usuario puede visuali1ar todos los detalles de una noticia determinada! )dentificador de la noticia seleccionada por el usuario! *l sistema "usca la noticia en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n disponi"le so"re la noticia# as como su foto en caso de que exista! (rear una nueva noticia" *l usuario puede dar de alta nuevas noticias#cumplimentando cada uno de los campos del formulario! Asimismo# es posi"le anexar una foto a la misma! Formulario cumplimentado enviado por el usuario! *l sistema muestra el formulario de apertura de nuevo noticia! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& al$una foto# compro"ar que la misma 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema insertar el trmite en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la noticia fue introducida con xito o "ien# que el proceso fue cancelado!

!"#"!"')" )ntroducci&n *ntradas ,roceso -alidas

!"#"!"'-" )ntroducci&n *ntradas

,roceso

-alidas

%1

!"#"!"'." )ntroducci&n *ntradas

,roceso

-alidas

Editar una noticia" *l usuario puede modificar una noticia existente# as como cam"iar la foto asociada a la misma! Formulario de modificaci&n enviado por el usuario! *l sistema muestra el formulario de edici&n! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& al$una foto# compro"ar que la misma 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema actuali1ar la noticia en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

!"#"!"'0" )ntroducci&n *ntradas ,roceso

-alidas

Visuali*ar eventos de la agenda" *l usuario puede o"tener un listado de todos los eventos disponi"les# utili1ando para ello un formulario de "<squeda! *l listado resultado mostrar para cada evento# opciones de edici&n visuali1aci&n en detalle! Formulario de "<squeda enviado por el usuario# (unto con los filtros seleccionados por el mismo! *l sistema muestra el formulario de "<squeda! -i el usuario confirma su envo# el sistema constru e una consulta a la BD en funci&n de los filtros seleccionados# o"teniendo aquellos eventos que cumplen con los mismos! 4istado con todos los eventos que re<nen las condiciones de "<squeda seleccionadas por el usuario# (unto con al$unas opciones de actuaci&n se$<n se explica en el apartado )ntroducci&n!

!"#"!"'4" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar en detalle un evento" *l usuario puede visuali1ar todos los detalles de un evento determinado! )dentificador del evento seleccionado por el usuario! *l sistema "usca el evento en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n disponi"le so"re el evento!

%2

!"#"!")/" )ntroducci&n *ntradas ,roceso

-alidas

(rear un nuevo evento" *l usuario puede dar de alta nuevos eventos#cumplimentando cada uno de los campos del formulario! Formulario cumplimentado enviado por el usuario! *l sistema muestra el formulario de apertura de nuevo evento! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios# en cu o caso# se insertar el evento en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que el evento fue introducido con xito o "ien# que el proceso fue cancelado!
Editar un evento *l usuario puede modificar un evento existente! Formulario de modificaci&n enviado por el usuario! envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios# en cu o caso# se actuali1ar el evento en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

!"#"!")$" )ntroducci&n *ntradas ,roceso -alidas

!"#"!")!" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar oposiciones" *l usuario puede o"tener un listado de todas las oposiciones disponi"les! *l listado resultado mostrar para cada oposici&n# opciones de edici&n visuali1aci&n en detalle! *nlace FGest! EposicionesG o secci&n FEposicionesG# seleccionados por el usuario! *l sistema o"tiene de la BD toda la informaci&n so"re las oposiciones! 4istado con todas las oposiciones# (unto con al$unas opciones de actuaci&n se$<n se explica en el apartado )ntroducci&n!

%3

!"#"!")#" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar en detalle una oposici:n" *l usuario puede visuali1ar todos los detalles de una oposici&n determinada# as como descar$ar sus "ases si stas existiesen! )dentificador de la oposici&n seleccionada por el usuario! *l sistema "usca la oposici&n en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n disponi"le so"re la oposici&n# as como un enlace que permite la descar$a de sus "ases# en caso de que stas existiesen! (rear un nueva oposici:n" *l usuario puede dar de alta nuevas oposiciones#cumplimentando cada uno de los campos del formulario! Formulario cumplimentado enviado por el usuario! *l sistema muestra el formulario de apertura de nueva oposici&n! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& el documento con las "ases# compro"ar que el mismo 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema insertar la oposici&n en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la oposici&n fue introducida con xito o "ien# que el proceso fue cancelado! Editar una oposici:n" *l usuario puede modificar una oposici&n existente# as como cam"iar el documento con las "ases asociado a la misma! Formulario de modificaci&n enviado por el usuario! *l sistema muestra el formulario de edici&n! -i el usuario confirma su envo# el sistema compro"ar que estn cumplimentados los campos o"li$atorios! -i adems anex& al$<n documento con las "ases# compro"ar que el mismo 'a a sido reci"ido correctamente! -i se cumplen las condiciones anteriores# el sistema actuali1ar la oposici&n en la BD! ,reviamente se produce un control anti2in ecci&n -34! -e informa al usuario que la modificaci&n conclu & con xito o "ien# que el proceso fue cancelado!

!"#"!")'" )ntroducci&n *ntradas

,roceso

-alidas

!"#"!"))" )ntroducci&n *ntradas

,roceso

-alidas

%%

!"#"!")-"

)ntroducci&n

*ntradas

,roceso

-alidas

Enviar una ne<sletter a los su1scriptores" De forma automtica transparente# es enviada una ne6sletter cada ve1 que son insertados JK nuevos elementos (entre noticias eventos)! *special atenci&n requiere el 'ec'o de que un usuario puede estar su"scrito s&lo en el apartado noticias# s&lo en el de eventos o en am"os# por lo que de"e reci"ir <nicamente las <ltimas JK incorporaciones se$<n su condici&n! =in$una! +ada ve1 que un usuario administrador introduce un nuevo elemento (noticia o evento) en la BD# el sistema incrementa los contadores asociados a cada tipo de ne6sletter (ta"la /control0ne6sletter/)! A continuaci&n# anali1a si se cumple la condici&n de que con esta nueva incorporaci&n# 'a an sido introducidos a un total de JK nuevos elementos ("ien s&lo de noticias# "ien s&lo de eventos o entre am"os)# en cu o caso son enviados esos JK elementos <nicamente a aquellos usuarios su"scritos a ese tipo de ne6sletter! ,ara esto# se o"tendrn de la BD la informaci&n referida a esos JK elementos para construir el "oletn! -e o"tendrn tam"in los emails de los usuarios su"scritos al tipo de ne6sletter en cuesti&n finalmente ser enviado el "oletn! Aparece un mensa(e en pantalla informando de que fue enviada una =e6sletter!

1si is o$ e) Ksuario Interino dispone de )as si(uientes re/uisitos #unciona)es ya descritos anterior ente2

!"#"!"!#"

(am1iar contrase&a"

!"#"!"!'"
!"#"!"!)"

7odificar perfil y preferencias de usuario"


(errar sesi:n"

%5

U/*%.-1 A07-,-/+.%01. Por I)ti o$ conviene recordar /ue este usuario dispone de )as posibi)idades de un Ksuario Interino$ con e) a5adido a5adidos de poder e)i inar in#or aciones as, co o (estionar usuarios.

!"#"!")."

)ntroducci&n

*ntradas ,roceso -alidas

Visuali*ar usuarios registrados en el portal" *l usuario puede o"tener un listado de todos los usuarios re$istrados en el portal! *l listado resultado estar ordenado en orden alfa"tico por primer apellido mostrar para cada usuario los si$uientes datos: primer apellido# nom"re# anti$Hedad# .sername cate$ora# as como opciones de eliminaci&n visuali1aci&n en detalle! *nlace /Gest! .suarios/ o secci&n /.suarios/# seleccionados por el usuario! *l sistema o"tiene de la BD la informaci&n necesaria de cada usuario re$istrado en la misma! 4istado ordenado alfa"ticamente por apellido de todos los usuarios (unto con al$unas opciones de actuaci&n se$<n se explica en el apartado )ntroducci&n!

!"#"!")0" )ntroducci&n *ntradas ,roceso -alidas

Visuali*ar en detalle un usuario" *l usuario puede visuali1ar todos los detalles de un usuario determinado a excepci&n de su contrasea! .sername del usuario# seleccionado por el usuario! *l sistema "usca el usuario en la BD extrae toda la informaci&n necesaria de la tupla encontrada! 9entada emer$ente mostrando toda la informaci&n disponi"le so"re el usuario a excepci&n de su contrasea!

%6

!"#"!")4" )ntroducci&n *ntradas

,roceso

-alidas

(rear un nuevo usuario" *l usuario puede dar de alta nuevos usuarios#"ien con privile$ios de administraci&n de contenidos (Administrador o )nterino)# "ien con privile$ios de @e$istrado o @esidencial! Formulario cumplimentado enviado por el usuario! *l sistema muestra el formulario de nuevo usuario! -i el usuario confirma su envo# el sistema verifica que 'a an sido cumplimentados todos los campos marcados como o"li$atorios# as como la correcci&n del formato en al$unos de ellos! -i las condiciones anteriores se cumplen# el nuevo usuario es insertado en la Base de Datos (BD)# cerciorndose previamente el sistema de que no exista duplicidad en los campos .sername *mail! Asimismo es aadida una tupla a la ta"la /preferencias0usuarios/ iniciali1ando las puntuaciones! ,reviamente se reali1a un control anti2in ecci&n -34! -e informa al usuario que el evento fue introducido con xito o "ien# que el proceso fue cancelado!

!"#"!"-/" )ntroducci&n *ntradas ,roceso -alidas

Eliminar un usuario" *l usuario puede eliminar usuarios de la BD a conveniencia! Formulario de confirmaci&n de "orrado de usuario# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# se elimina de la BD la tupla asociada al usuario! -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado!

!"#"!"-$" )ntroducci&n *ntradas ,roceso -alidas

Eliminar un tr mite" *l usuario puede eliminar un trmite (no as una tramitaci&n o $esti&n) de la BD! Formulario de confirmaci&n de "orrado de usuario# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# se elimina de la BD la tupla asociada al trmite! -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado!

%7

!"#"!"-!" )ntroducci&n *ntradas ,roceso -alidas

Eliminar una noticia" *l usuario puede eliminar noticias de la BD! Formulario de confirmaci&n de "orrado de noticia# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# se elimina de la BD la tupla asociada a la noticia! -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado! Eliminar un evento" *l usuario puede eliminar eventos de la BD! Formulario de confirmaci&n de "orrado de evento# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# se elimina de la BD la tupla asociada al evento -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado!

!"#"!"-#" )ntroducci&n *ntradas ,roceso -alidas

!"#"!"-'" )ntroducci&n *ntradas ,roceso -alidas

Eliminar una oposici:n" *l usuario puede eliminar oposiciones de la BD! Formulario de confirmaci&n de "orrado de oposici&n# enviado por el usuario! *l sistema muestra un formulario de confirmaci&n de "orrado! -i ste es confirmado# se elimina de la BD la tupla asociada a la oposici&n! -e muestra un mensa(e informando que la eliminaci&n conclu & con xito o "ien que el proceso fue cancelado!

!"#"!"-)" )ntroducci&n *ntradas ,roceso -alidas

Eliminar un mensa,e del foro" *l usuario puede eliminar cualquier mensa(e del foro a conveniencia# con el fin de retirar comentarios ofensivos# o simplemente si se diera la circunstancia que el mensa(e no $uardase relaci&n con el tema donde fue pu"licado! *nlace /*liminar mensa(e/ seleccionado por el usuario# el cual lleva asociado el identificador del mensa(e a eliminar! -e elimina de la BD la tupla correspondiente al tema seleccionado! -i existen mensa(es del propietario del tema# tam"in son eliminados de la BD! -e informa al usuario de que el tema fue eliminado correctamente# listndose a continuaci&n los temas del foro!

%-

S(<*.-0%0
;a se(uridad y consistencia de )a in#or acin a) acenada en )a 3ase de "atos es un aspecto #unda enta) y de especia) consideracin dentro de) proyecto. Por este otivo$ se >an adoptado diversas de )os casos etodo)o(,as odernas en pro de evitar o$ en e) peor ini i7ar$ )as consecuencias /ue podr,a ori(inar un percance en este

apartado. 1 continuacin se describen a)(unas de )as buenas pr4cticas adoptadas 2 1. Laranti7are os e) acceso ordenado y con#iab)e de )a in#or acin a travBs de un siste a de autenticacin de usuarios$ donde cada usuario re/uerir4 estar re(istrado en )a base de datos con un no bre de usuario y una contrase5a. Esta in#or acin estar4 a) acenada en una tab)a de )a base de datos. 2. ;as contrase5as ser4n a) acenadas de #or a encriptada en un sentido Gno reversib)eH ediante )a #uncin de encriptacin P1..JO&" de MA.=;. 3. ;as #unciones propias de un tipo de usuario Inica ente podr4n ser ejecutadas por usuarios de su tipo. Esto se consi(ue consu)tando$ previo a )a ejecucin de una #uncin$ )a variab)e de sesin /ue >ace re#erencia a )a cate(or,a Gy por tanto a )os privi)e(iosH de) usuario autenticado. Por eje p)o$ un Ksuario &e(istrado nunca podr4 iniciar una tra itacin G#uncin s, disponib)e para un Ksuario &esidencia)H$ puesto /ue previo a )a ejecucin de )a #uncin$ se co prueba )a cate(or,a Gvariab)e de sesinH de) usuario autenticado. %. 1ctivare os )a directiva provenientes de )os a(icQ/uotesQ(pc de) arc>ivo de con#i(uracin P:P.I6I$ odo )os escapes con e) #in de evitar vu)nerabi)idades /ue podr,an ori(inarse a ra,7 de datos Btocos LE9 y PO.9. Evita os de este indeseados de in#or acin. 5. 6o se usar4n variab)es de sesin por ser #4ci) ente proporcionan un identi#icador Inico para e) usuario. 6. .e e)i inar4n eti/uetas :9M; y P:P de )as cadenas introducidas en #or u)arios por e) usuario$ e p)eando )a #uncin strip-ta!s de P:P. 7. Para ini i7ar ries(os de ata/ues$ nunca se enviar4 in#or acin de contenido o odi#icab)es por e) usuario. En su )u(ar$ uti)i7are os #unciones y varia)bes de sesin. ;as #unciones de sesin

%9

de contro) i portantes$ a travBs de ur) G Btodo LE9H. En su )u(ar$ uti)i7are os Btodos PO.9. -. ;a car(a de )ibrer,as de #unciones se >ar4 de #or a discri inada. "e este #or a$ un usuario no ad inistrador$ no podr4 EverF #unciones propias de) de 4s in#or acin /ue per ite e) en)ace con )a de )a ruta de) Jebsite. is o. 9. E) arc>ivo de cone0in con )a 3ase de "atos /ue a) acena )a contrase5a y is a$ estar4 a) acenado #uera

M%,+(,-7-(,+1
E) anteni iento de )a in#or acin de contenido de) porta) Ga/ue) /ue re/uiere

de una actua)i7acin constante co o por eje p)o e) apartado de noticias o eventos$ ser4 responsabi)idad de )os usuarios con cate(or,a de 1d inistrativo o Interino$ por tanto se tratar4 t,pica ente de persona) de) propio ayunta iento. ;os ca bios en e) redise5o de )a estructura de )a base de datos o de) (ra#is o de) porta)$ as, co o )a actua)i7acin de )a in#or acin de )a parte por persona) de) 1yunta iento a) in(eniero de) Debsite. 4s est4tica de) porta) G1yunta iento$ Municipio$ etcH y reso)ucin de incidencias eventua)es$ ser4n so)icitados

5!

Kna ve7 >an sido descritos )os re/uisitos capturados$ en e) cap,tu)o anterior$ es preciso pro#undi7ar en a)(una etodo)o(,a /ue propicie )a deteccin de a/ue))os apartados (enera)es /ue (uardan una re)acin directa con esos re/uisitos. Esta etodo)o(,a debe tener )a virtud de ser )o su#iciente ente abstracta co o para conse(uir antener )a independencia con )os diversos recursos tecno)(icos disponib)es para su i p)e entacin$ )os cua)es ser4n abordados en cap,tu)os posteriores. En )a actua)idad$ e0iste una G.ational p4rra#o anterior. Esta etodo)o(,a ya conso)idada y deno inada &KP ode)os KM; G ni&ied /odelin!

ni&ied 'rocessH$ /ue cubre a p)ia ente )as e0pectativas e0presadas en e) etodo)o(,a se apoya en

,an!ua!eH /ue ayudan a describir )a #uncin$ )a ar/uitectura o e) dise5o de) so#tDare.

KM; es e) )en(uaje de

ode)ado de siste as so#tDare

4s uti)i7ado actua) ente$

respa)dado por e) OML GObject Mana(e ent LroupH$ /ue sirve e#ica7 ente para describir procesos >aciBndose va)or para e))o de e)e entos (r4#icos. Per ite visua)i7ar$ especi#icar$ construir y docu entar un siste a. O#rece por tanto de un est4ndar /ue pode os >acer servir pti a ente en nuestra ap)icacin Deb. KM; dispone de diversos dia(ra as para identi#icar )as diversas entidades de) siste a a nos ocupa. ode)ar. "e entre todos e))os$ nos basare os en e) "ia(ra a de +asos de Kso as, co o en e) "ia(ra a de +)ases para continuar con e) desarro))o de) proyecto /ue

51

Kn "ia(ra a de +asos de Kso

uestra c o deber,a reaccionar e) siste a con e)

usuario$ o bien con otro siste a$ para conse(uir un objetivo. .e trata por tanto de una representacin de )a secuencia de acciones entre un siste a y sus actores$ respondiendo a un evento /ue inicia uno de )os actores principa)es. E) uso de este tipo de dia(ra as est4 a p)ia ente e0tendido debido a )a notacin re)ajada de )a /ue >ace uso$ resu)tando por tanto #ina). En )a *i(. 3.2.1 se uestran )os diversos actores identi#icados cuyas pecu)iaridades ani#iesto )a uy cercano para e) usuario

ya #ueron descritas en apartados anteriores. E) dia(ra a pone de especia)i7acin de a)(unos de )os usuarios.

Usuario An:nimo

Usuario %egistrado

Usuario Interino

Usuario %esidente

Usuario Administrador

Fi$! :!%!J 2 Actores principales del sistema

E0pondre os a continuacin )os di#erentes casos de uso para cada uno de )os actores identi#icados.

52

%egistrarse

MMincludeNN

Validar datos Verificar username=ps<

(onsultar el tiempo

Autenticarse

MMincludeNN

MMextendNN Adatos correctosD

MMextendNN Adatos incorrectosD

(onsultar oposiciones

(onsultar mapa Validar Usuario (onsultar noticias 7ostrar Error

Utili*ar 1uscador

(onsultar foros (onsultar eventos (ontactar con Ayuntamiento (onsultar informaci:n so1re el Ayto" Usuario An:nimo %ecuperar contrase&a MMextendNN A.suarioO,-P correctosD MMincludeNN Validar PS?=USE%; A7E MMextendNN A.suarioO,-P correctosD MMincludeNN

Verificar formulario MMextendNN AForm! correctoD

Enviar contrase&a

(onsultar tr mites MMincludeNN

Enviar email al Ayto" 9istar tr mites MMincludeNN 7ostrar incidencia >uscar tr mites MMextendNN AForm! con incidenciasD

Informar Error

Fi$! :!%!% L +asos de uso para el .suario An&nimo


MMextendNN Adatos correctosD (am1iar contrase&a MMincludeNN Verificar formulario MMextendNN Aerror datosD A1rir temas en los foros MMincludeNN (errar sesi:n Informar Error Su1scri1ir a ; e<sletter Usuario %egistrado 7odificar preferencias MMextendNN Aerror datosD MMincludeNN @estruir varia1les sesi:n Informar de error

Informar de Aito

(ompro1ar formulario

%esponder mensa,es de foros

MMincludeNN

MMextendNN Adatos correctosD

Eliminar mensa,es de foros

MMincludeNN

Actuali*ar >@

Visuali*ar mensa,es de foros

Eliminar temas de foros

MMextendNN Aexisten s&lo mensa(es propiosD

Fi$! :!%!: L +asos de uso para el .suario @e$istrado (se o"via el caso de uso Autenticarse)

53

;os casos de uso de) "ia(ra a para e) Ksuario &e(istrado G*i(. 3.2.3H deber,an inc)uir a) +aso de Kso E1utenticarseF. 6o obstante$ se >an obviado en pro de )e(ibi)idad de) is o. En )o sucesivo para e) resto de "ia(ra as /ue ser4n ejorar )a ostrados$ se

obviar4 representar este +aso de Kso con este #in$ e) de #aci)itar una interpretacin 4(i)$ sa)vo /ue su no inc)usin sea contraproducente por propiciar resu)tados a bi(uos. Puede apreciarse en e) "ia(ra a de +asos de Kso para e) Ksuario &e(istrado G*i(. 3.2.3H$ c o a)(unos escenarios invo)ucran siste 4tica ente a otros Ga/ue))os identi#icados con )a eti/ueta RRinc)udeSS o inc)usinH. Por eje p)o$ para responder o e)i inar un ensaje de un te a de) #oro$ inevitab)e ente ser4 preciso visua)i7ar ensajes de) te a en cuestin. odo$ puede apreciarse en e) e0tensin$ para representar is o "ia(ra a$ e) uso de )a eti/ueta /ue diversos escenarios pueden previa ente )os "e) RRe0tendSS is o o

desencadenarse en #uncin de )a condicin /ue se cu p)a Gespeci#icada entre corc>etes TUH. Por eje p)o$ e) +aso de Kso EModi#icar pre#erenciasF invo)ucrar,a actua)i7ar )a 3ase de "atos con )a in#or acin enviada por usuario$ sie pre y cuando )os datos de) #or u)ario estBn correctos$ o bien$ i p)icar,a in#or ar a) usuario de /ue e0iste un error en )os datos introducidos$ invit4ndo)e a vo)ver a intentar)o.

MMincludeNN Iniciar tramitaci:n 9istar tr mites

MMincludeNN >uscar tr mites

9istar tramitaciones MMincludeNN

Eliminar tramitaci:n Usuario %esidencial Editar tramitaci:n

MMincludeNN MMincludeNN

Visuali*ar tramitaci:n en detalle

MMincludeNN

Verificar formulario

Fi$! :!%!Q L +asos de uso para el .suario @esidencial

5%

Bestionar tramitaciones 7odificar preferencias Bestionar tr mites

Bestionar eventos Usuario Interino

Bestionar noticias

Bestionar oposiciones (am1iar contrase&a

(errar sesi:n

Fi$! :!%!R L 9isi&n $eneral +asos de .so para el .suario )nterino

MMincludeNN

Editar tramitaci:n

9istar tramitaciones

MMincludeNN

Bestionar tramitaciones Usuario Interino

>uscar tramitaciones

Visuali*ar tramitaci:n

MMincludeNN

Fi$! :!%!S L 9isi&n en detalle del +aso de .so FGestionar tramitacionesG

55

MMextendNN Aima$en su"ida sin erroresD MMextendNN Adatos correctosD Verificar formulario MMextendNN Aerror datosD MMincludeNN Editar una noticia 7ostrar error Insertar noticia MMincludeNN MMextendNN Aerror al su"ir ima$enD

Su1ir imagen

MMincludeNN (rear una noticia

Bestionar noticias Usuario Interino

9istar noticias

MMincludeNN

Visuali*ar una noticia

MMincludeNN >uscar noticias

Fi$! :!%!; L 9isi&n en detalle del +aso de .so FGestionar noticiasG

En )a #i(. 3.2.7$ se

uestra con

ayor nive) de deta))e$ e) +aso de Kso ELestionar

noticiasF correspondiente a) Ksuario Interino. Obviare os representar )os casos de uso ELestionar eventosF$ ELestionar tr4 itesF y ELestionar oposicionesF por disponer de pr4ctica ente idBnticos "ia(ra as Gsi(uen e) is o patrnH.

+abe destacar para )os +asos de Kso E+rear una noticiaF y EEditar una noticiaF$ )a i portancia de veri#icar /ue e) #ic>ero /ue contiene )a i a(en de )a noticia >aya sido subido a) servidor sin errores$ previo a )a insercin de )a tup)a correspondiente en )a 3ase de "atos. .i ocurriese a)(una incidencia durante su env,o$ se in#or ar,a a) usuario y Bste deber,a vo)ver a intentar)o. 1 continuacin se uestran en )a #i(. 3.2.-$ )os di#erentes +asos de Kso para e)

Ksuario 1d inistrador$ /ue )o di#erencian de) Ksuario Interino$ esto es$ )a posibi)idad de e)i inar in#or acin de )a 3ase de "atos$ as, co o )a (estin de usuarios.

56

Bestionar usuarios Eliminar noticia

Eliminar tr mite

Eliminar evento Usuario Administrador

Eliminar oposici:n

Eliminar mensa,e del foro

Fi$! :!%!T L 9isi&n $eneral +asos de .so para el .suario Administrador


MMincludeNN

9istar usuarios

MMincludeNN

Visuali*ar detalles usuario

Eliminar usuario Bestionar Usuarios Usuario Administrador Eliminar preferencias de >@ MMextendNN Aes .su! @e$! o @esidD

MMincludeNN MMextendNN A.sername existeD (rear usuario MMextendNN A*mail existeD Insertar preferencias en >@ MMextendNN Aes .su! @e$! o @esidD Insertar usuario en >@ 7ostrar Error

Verif" eAiste Username MMextendNN Ano existe .sernameD

Verif" eAiste Email

MMextendNN Ano existe emailD

MMextendNN Adatos correctosD

Verif" resto formulario

Fi$! :!%!U L 9isi&n en detalle del +aso de .so FGestionar .suariosG

57

En )os +asos de Kso EE)i inar usuarioF o E+rear usuarioF G#i(. 3.2.9H$ se >ace necesario e)i inar o insertar respectiva ente$ una tup)a en )a tab)a Ppre#erenciasQusuariosP$ s)o si e) tipo de) usuario en cuestin es &e(istrado o &esidencia). Esto es as, debido a /ue esta tab)a es consu)tada cada ve7 /ue debe ostrarse )a p4(ina principa) GInicioH con e) #in de reubicar sus e)e entos en #uncin de )as pre#erencias de >4bitos de) usuario$ #unciona)idad /ue no est4 disponib)e para )os otros tipos de usuarios G1d inistrador$ Interino o 1nni oH.

Eliminar noticia MMincludeNN

Informar operac" cancelada MMextendNN Aoperac! canceladaD MMextendNN Aoperac! confirmadaD

Usuario Administrador

(onfirmar formulario

Eliminar noticia de >@ Eliminar archivo imagen MMextendNN Aexiste arc'ivoD MMincludeNN

Informar 1orrado con Aito

Fi$! :!%!JK L 9isi&n en detalle del +aso de .so F*liminar noticiaG

En )a #i(. 3.2.1! se

uestra un +aso de Kso para )a e)i inacin de un e)e ento$ is o patrn.

concreta ente una noticia. 6o se e0pondr4n )os +asos de Kso para )a e)i inacin de) resto de e)e entos por se(uir e)

+o o puede apreciarse$ sie pre se so)icitar4 con#ir acin de borrado a) usuario y se co probar4 si e0iste a)(In arc>ivo en e) servidor asociado a) e)e ento /ue se so)icita e)i inar$ para de esta #or a proceder ta biBn a su e)i inacin.

5-

;os "ia(ra as de +)ases

uestran )as diversas entidades /ue co ponen un

siste a y c o se re)acionan unas con otras. Podr,a os decir /ue son dia(ra a est4ticos en tanto en cuanto describen )a estructura de) siste a. Kna c)ase de#ine )os atributos y )os Btodos de una serie de objetos$ de #or a /ue is o co porta iento y e) is o

todos )os objetos de una c)ase deter inada tienen e) noticia o un ensaje de) #oro.

conjunto de atributos. Para e) caso /ue nos ocupa$ un objeto podr,a ser un usuario$ una

Este tipo de dia(ra as ta biBn se sustentan de #or a re)evante sobre e) concepto de >erencia$ esto es$ )a capacidad de crear sub8c)ases o c)ases8>ijas especia)i7adas pues pueden incorporar nuevos atributos y 4s Btodos$ ade 4s de is as

conservar )os /ue >eredan de )a c)ase8padre. Por poner un eje p)o /ue #aci)ite )a co prensin2 en e) proyecto /ue nos ocupa$ un Ksuario &esidencia) dispone de )a propiedades /ue un Ksuario &e(istrado$ ade 4s de a p)iar)as con otras nuevas. Kn Ksuario &esidencia) debe contener inde#ectib)e ente a)(In va)or para e) atributo "6I$ ientras /ue para un Ksuario &e(istrado esto no es re/uisito. 1si is o$ un Ksuario &esidencia) puede iniciar tra itaciones Gacceso a) servicio O#icina 'irtua)H ientras /ue un Ksuario &e(istrado no dispone de ta)es privi)e(ios. Por tanto$ podr,a os decir /ue un objeto de )a c)ase Ksuario &e(istrado podr,a especia)i7arse en Ksuario Interino$ >eredando sus atributos y Btodos ade 4s de tener e) potencia) de adicionar otros nuevos. uestra e) "ia(ra a de +)ases G*i(. 3.2.11H /ue representa e) Btodos de especia)

1 continuacin se

siste a objeto de estudio$ indicando atributos y a)(unos de )os

re)evancia. 1si is o se inc)uye )a cardina)idad y no bre de a)(unas de )as re)aciones$ con e) objetivo de #aci)itar )a co prensin de a/ue))os escenarios /ue podr,an suscitar cierto (rado de a bi(Vedad.

59

6!

1 continuacin se e0ponen )as di#erentes estrate(ias /ue ar(u entan e) por /uB de) ode)ado de a)(unos de )os posib)es escenarios de) "ia(ra a de +)ases2 E) porta) est4 co puesto por 3 c)ases principa)es$ co o si(ue2 Ksuarios2 se >a decidido ode)ar su jerar/u,a a(rup4ndo)os se(In sus

#unciona)idades o privi)e(ios. En este sentido$ en pri era instancia se estab)ece un pri er nive) de jerar/u,a atendiendo a) >ec>o de /ue e) usuario se >aya autenticado en e) siste a o no$ y en se(unda instancia$ de entre e) (rupo de usuarios autenticados se distin(ue de entre a/ue))os usuarios con privi)e(ios de ad inistracin de contenidos G*uncionarios de) 1yunta ientoH y a/ue))os /ue no )os tienen. .ervicios2 a/ue))os apartados de) porta) /ue posibi)itan una destacada interactividad a) usuario Gobvia ente nos re#eri os a) Ksuario 6o *uncionarioH. Por tanto$ son apartados de) porta) /ue t,pica ente re/uieren )a participacin de) usuario en odo a)(uno.

In#or aciones2 a/ue))os apartados con un nive) de interactividad bajo con e) usuario$ b4sica ente se dedican a in#or ar a) usuario. ;a in ensa estos apartados son antenidos por un Ksuario de tipo *uncionario. ayor,a de

En nuestro siste a y co o ya se de#iniera en un cap,tu)o anterior$ un Ksuario &e(istrado pasar,a auto 4tica ente a ser un Ksuario &esidencia)$ si Bste introdujera un "6I v4)ido en e) #or u)ario de re(istro o de teniendo de este es e) odi#icacin de su per#i)$ odo in ediata ente activo e) servicio de O#icina 'irtua). Este

otivo por e) /ue e) atributo "6I se >a decidido introducir en )a c)ase Ksuario

&esidencia) y no en nin(una de )as c)ases8padre$ con e) objetivo de especi#icar /ue un Ksuario &e(istrado no dispondr4 nunca de "6I. .e observa c o cua)/uier usuario de) tipo /ue sea$ dispone de )a opcin de consu)tar )os #oros$ si bien Inica ente )os usuarios de )a subc)ase E6o *uncionarioF podr4n crear nuevos ensajes y abrir te as.

61

Por otro )ado$ si bien un Ksuario 1d inistrador dispondr4 de )as

is as re)aciones

/ue un Ksuario Interino Ga travBs de )a c)ase8padre *uncionarioH$ s)o Bste dispondr4 de )a re)acin Pe)i inaP con )a entidad EPostsF$ as, co o )a re)acin Pad inistraP con )a entidad /ue >ace re#erencia a )os usuarios 1utenticados. 9a biBn conviene destacar )a re)acin PesQdeP /ue viene a especi#icar /ue todo usuario 6o *uncionario debe tener #ortuita ente una y s)o una entrada en )a c)ase Pre#s. Ksuario y viceversa. Esta re)acin (aranti7ar4 e) buen #unciona iento de )a #unciona)idad asociada a )a ubicacin auto 4tica de )os e)e entos de )a p4(. principa)$ cada ve7 /ue Bsta es so)icitada por e) usuario. "e i portante re)evancia es ta biBn destacar /ue )a c)ase anterior es antenida auto 4tica ente por e) siste a$ sin re/uerir )a intervencin e0presa de usuario a)(uno$ >ec>o /ue est4 ode)ado con )a re)acin P(estionaP.

"e #or a an4)o(a a co o se e0p)icaba en e) punto anterior$ e) porta) ser4 e) encar(ado de (estionar )a entidad E6eDs)etterF$ sin re/uerir )a intervencin e0presa de usuario a)(uno. &ecorda os /ue )os bo)etines son enviados auto 4tica ente cada ve7 /ue son insertados en )a 3ase de "atos un tota) de 1! nuevos e)e entos Gentre noticias y eventosH.

;os

"ia(ra as

de

.ecuencia

est4n

a p)ia ente

e0tendidos.

.e

usan

#recuente ente sobre otros debido a /ue entre s, )os di#erentes objetos de) siste a. Este tipo de dia(ra as

ode)an a )a per#eccin c o interaccionan

uestra )a secuencia de

ensajes entre objetos /ue tiene

)u(ar durante a)(uno de )os posib)es escenarios$ entendiendo Bstos co o a)(unas de )as posib)es ejecuciones concretas de nuestro siste a. +abe destacar /ue e) dia(ra a uestra )os ensajes en orden crono)(ico se(In

van sur(iendo$ desde arriba >acia abajo$ a )o )ar(o de unas ),neas discontinuas vertica)es$ )as cua)es est4n asociadas a a)(In objeto posib)e.

62

Mostrare os a)(unos de )os escenarios posib)es$ a/uB))os de 3.4.1. E/&(,%.-1 1) A*+(,+-&%./(

ayor re)evancia2

+ua)/uier usuario /ue visita e) porta)$ de #or a espor4dica o no$ dispone de )a opcin de identi#icarse en e) #or u)ario. 1. E) usuario introduce un Kserna e y un PassDord y env,a e) #or u)ario. 2. E) porta) contrasta )a in#or acin con )a a) acenada en )a 3". 3. .i )a in#or acin no e0iste en )a 3" en una a) usuario. %. .i )a in#or acin s, e0iste en una is a tup)a$ va)ida os e) usuario y ostra os )a p4(ina de inicio con#or e a sus pre#erencias. is a tup)a$ in#or a os de) error is o$ autentic4ndose ediante e) env,o de un senci))o

Fi$! :!Q!J!J! L Dia$rama de -ecuencia: Autenticarse

63

3.4.2. E/&(,%.-1 2) */&%. +.A7-+(/. 2F-<. 3.4.2.15 +ua)/uier usuario puede obtener un )istado de tr4 ites disponib)es$ /ue cu p)an una serie de re/uisitos de bIs/ueda G#or u)ario con #i)trosH. 1. .e uestra a) usuario un #or u)ario con varios #i)tros.

2. E) usuario )o cu p)i enta y env,a. 3. E) siste a obtiene )a in#or acin /ue coincide con )os #i)tros y )a prepara previo a ostrar)a. uestra en base a un #or ato deter inado$ )a %. *ina) ente$ e) siste a i(ua) ente a) usuario.

in#or acin anterior. .i nin(una in#or acin #uera encontrada$ in#or a

Fi$! :!Q!%!J! L Dia$rama de -ecuencia: Buscar trmites

6%

3.4.3. E/&(,%.-1 3) C.(%. *, ,*(>1 */*%.-1 2 F-<. 3.4.3.1 5 E) usuario 1d inistrador es e) Inico /ue puede dar de a)ta nuevos usuarios. 1. E) usuario envia e) #or u)ario con )os datos de) nuevo socio. 2. E) siste a co prueba /ue e) Kserna e y e) PassDord no e0istiesen ya para un is o socio. 3. .e veri#ican /ue e) resto va)ores de ca pos de) #or u)ario estBn en e) #or ato correcto y >ayan sido cu p)i entados )os ob)i(atorios. %. E) usuario es insertado en )a 3". 5. E) usuario 1d inistrador es in#or ado de) B0ito. .i ocurriese cua)/uier error durante e) escenario$ ta biBn ser4 in#or ado de) 3.4.4. E/&(,%.-1 4) E4-7-,%. *, +.A7-+(. 2F-<. 3.4.4.15 E) usuario 1d inistrador puede e)i inar un tr4 ite$ para )o /ue previa ente deber4 )istar )os tr4 ites disponib)es ap)icando una bIs/ueda por #i)trado. .i e0iste a)(In i preso asociado$ si #ic>ero deber4 ser e)i inado i(ua) ente. 1. .e uestra a) usuario un #or u)ario con varios #i)tros. Wste )o cu p)i enta y is o.

env,a. 2. E) siste a obtiene )a in#or acin /ue coincide con )os #i)tros y )a prepara previo a 3. E) siste a ostrar)a. uestra un )istado con )os tr4 ites$ dando sobre cada uno )a

opcin de e)i inar)o$ entre otras. %. E) usuario se)ecciona )a opcin de e)i inar y e) siste a so)icita e) borrado de )a 3". 5. 1si is o$ si co prueba si e0iste a)(In i preso asociado$ en cuyo caso e) siste a so)icita ta biBn e) borrado de) is o. 6. *ina) ente e) siste a in#or a a) usuario de) resu)tado de )a operacin.

65

Fi$! :!Q!:!J! L Dia$rama de -ecuencia: +rear un nuevo usuario

66

Fi$! :!Q!Q!J! L Dia$rama de -ecuencia: *liminar un trmite

67

3.4.5. E/&(,%.-1 5) R(&*$(.%. &1,+.%/(B% 14>-0%0%. 2F-<. 3.4.5.15 Kn usuario puede so)icitar una nueva contrase5a en caso de o)vido de )a is a.

Para e))o$ deber4 enviar un #or u)ario indicando su Kserna e y su E ai). En siste a co prueba /ue )a in#or acin es correcta$ previo consu)ta a )a 3". .i )a in#or acin enviada es #idedi(na$ e) siste a (enerar4 una nueva contrase5a e in#or ar4 a) usuario de )a is a$ envi4ndo)e un e ai)$ in#or ando a) is o de /ue debe revisar su e ai).

1. E) usuario env,a v,a #or u)ario$ su Kserna e y su PassDord. 2. E) porta) contrasta )a in#or acin con )a 3" y en caso de B0ito$ (enera un nuevo passDord. 3. .e env,a )a contrase5a por e ai) a) usuario y se )e in#or a de /ue debe revisar e) correo para conocer e) nuevo passDord.

Fi$! :!Q!R!J! L Dia$rama de -ecuencia: @ecuperar contrasea en caso de olvido

6-

En este cap,tu)o$ )a ap)icacin ser4 descrita con un nive) de deta))e todav,a e)evado si cabe /ue e) conse(uido en e) cap,tu)o de 1n4)isis.

4s

Para conse(uir e) objetivo anterior$ nos >are os servir de una ar/uitectura Jeb basada en e) ode)o de tres nive)es.

1)(unas de )as virtudes de uti)i7ar un

ode)o de 3 nive)es o capas$ es /ue per ite odi#icacin. Otra virtua) es /ue

continuar con e) desarro))o en cua)/uiera de )os nive)es$ siendo necesario revisar Inica ente uno de e))os$ en caso de precisar de a)(una per ite distribuir e) trabajo por e/uipos$ de #or a /ue cada e/uipo consi(ue #oca)i7ar sus es#uer7os en e) nive) /ue ten(a asociadoX en este caso$ bastar,a con conocer )a 1PI /ue e0iste entre e) resto de nive)es Gse consi(ue as, abstraer a )os e/uipos$ en#ati74ndose e) E/uB >aceF 4s /ue e) Ec o )o >aceFH.

1 continuacin describire os en deta))e cada uno de )os nive)es. 1si is o bastar4 con observar )a *i(. %.1.1. para asi i)ar r4pida ente )o /ue se pretende a) e p)ear este tipo de ar/uitectura$ en un entorno Jeb co o e) /ue nos ocupa2 N->(4 0( I,+(.8%G 1 P.(/(,+%&-D,) #or ado por a/ue))os e)e entos /ue per iten a) usuario interaccionar con e) siste a G#or u)arios$ in#or es$ con#ir acin de eventos$ YH. 9a biBn uti)i7ada por e) siste a para in#or ar a) usuario G ensajes de error$ in#or acin de andada$ etcH.

69

1si is o$ se re#iere ta biBn a) dise5o y a) #or ato en /ue es co prender su #unciona iento en e) )as cosas #4ci)esF a) usuario. E) nive) de inter#a7 es e) /ue se co unica con e) nive) de ne(ocio.

ostrada )a

in#or acin. "ebe tener )a virtud de resu)tar intuitiva y a i(ab)e para e) usuario$ esto es$ enor tie po posib)e$ en pocas pa)abras2 Eponer)e

Fi$! Q!J!J! L *(emplo de arquitectura 6e" en "ase al modelo de : niveles

N->(4 0( N(<1&-1 1 LD<-&1) #or ado por )as #unciones /ue i p)e entan e) co porta iento de )as di#erentes c)ases$ ya especi#icado en e) apartado de an4)isis. Es e) apartado encar(ado por tanto de pi)otar )as operaciones$ de ap)icar )a )(ico de contro)$ de procesar y (estionar )a in#or acin.

7!

Este nive) representa e) en)ace /ue co unica )as otros 2 nive)es. N->(4 0( A47%&(,%7-(,+1 1 P(./-/+(,&-%) inte(ra )a 3ase de "atos y e) .iste a de Lestin de )a 3ase de "atos GMy.=; y p>pMy1d in respectiva ente$ en e) caso /ue nos ocupaH. 6o s)o es e) encar(ado de a) acenar )a in#or acin$ sino ta biBn e) responsab)e de )a se(uridad e inte(ridad de )a is a.

1 continuacin se deta))a c o >an sido abordados cada uno de )os nive)es para e) caso en estudio.

En cua)/uier inter#a7 de usuario /ue se precie$ debe preva)ecer e) car4cter intuitivo y a i(ab)e de) is o$ esto es$ /ue cua)/uier usuario /ue se aventure a uti)i7ar)o$ sin is o$ consi(a identi#icar )os e)e entos principa)es en e) i portar )a e0periencia de)

enor tie po posib)e. 9a biBn e) tBr ino a i(ab)e e0presa )a necesidad de E(ustarF a) usuario y esto se consi(ue con di#erentes estrate(ias2 tipos de )etras )e(ib)es y adecuadas a cada conte0to$ as, co o )a co binacin de (ra#is os y si bo)o(,as e p)eada$ co)ores suaves y poco estridentes$ uni#or idad en )os dise5os$ etc. En e) caso /ue nos ocupa$ para representar cada una de )as p4(inas /ue con#or an e) porta)$ se e p)ear4n 2 #or atos o estructura de p4(ina di#erentes2 ;a *i(ura %.2.1 uestra )a estrate(ia uti)i7ada para )a p4(ina principa) GInicioH$ ayor cantidad de e)e entos y secciones. Es ientras

con cabida para a)ber(ar una

posib)e detectar un disposicin de) 4rea centra) en base a 3 co)u nas donde )a co)u na centra) ser4 dedicada a e0>ibir )os contenidos principa)es$ /ue )as co)u nas )atera)es$ de enIs de nave(acin$ subsecciones u otros servicios enores. enor e0tensin$ a)ber(ar4n e)e entos co o

Por otro )ado$ )a *i(ura %.2.2 representa e) #or ato /ue ser4 e p)eado para e) resto de p4(inas$ tanto para usuarios *uncionarios co o 6o *uncionarios. Es

71

#4ci) co probar /ue su aspecto$ aun/ue si i)ar a) #or ato anterior$ presenta una concentracin enor de e)e entos dispares. "e esta #or a$ )a disposicin de) 4rea centra) es a>ora en base a 2 co)u nas y se >a e)i inado e) 4rea in#erior dedicado a )as .ecciones a) "eta))e. Obvia ente$ )as opciones de usuario disponib)es en )as distintas barras de nave(acin o auto 4tica ente en #uncin de) tipo de usuario autenticado. enIs$ ca biar4n

Fi$! Q!%!J! L Formato de p$ina empleado para la ,$ina ,rincipal ()nicio)

72

Fi$! Q!%!%! L Formato de p$ina empleado para el resto de p$inas!

E) nive) de ne(ocio est4 representado por e) conjunto de co ponentes so#tDare /ue i p)e enta de #or a co p)eta e) co porta iento de )as c)ases de) do inio.

73

1si is o este nive) desarro))a un pape) vita) de en)ace o co unicacin entre )os otros 2 nive)es2 por un )ado$ se encar(a de obtener )os datos de )a 3ase de "atos y #or atear)os se(In )as necesidades especi#icadas en e) nive) de inter#a7$ y por otro )ado$ ta biBn debe obtener )a in#or acin procedente de) nive) de inter#a7 y readecuar)a se(In )as necesidades y restricciones i puestas por e) nive) de a) acena iento. Es precisa ente e) pape) de en)ace descrito anterior ente$ e) /ue )e con#iere su car4cter de independencia y /ue por tanto per ite e#ectuar odi#icaciones en )os otros 2 nive)es$ sin /ue e))o supon(a una revisin en pro#undidad en e) resto de nive)es. Es posib)e uti)i7ar )a in#or acin de )os casos de uso representados durante )a #ase de 1n4)isis para e0presar en este caso )a divisin /ue e0iste entre )os procesos e0ternos G)os /ue dependen de) inter#a7H y )os internos Ga/uB))os cuyo co etido no es otro /ue e) de procesar )a in#or acin de entrada para reaccionar en consecuencia$ devo)viendo )os resu)tados a)can7adosH. En )a *i(. %.3.1. puede observarse una uestra de dia(ra a de procesos o tareas

donde son representados )os procesos e0ternos co o puntos de entrada de )a in#or acin a )a ap)icacin de) porta) objeto de estudio$ as, co o ta biBn /uedan representados )os conjuntos de procesos internos /ue se desencadenar4n respondiendo a) Eest, u)oF de )os pri eros. Estos procesos internos pueden desco ponerse en otros a su ve7 4s espec,#icos$ en co>erencia con )as de#iniciones dadas en )os casos de uso. .e(In puede e0traerse de )a #i(ura anterior$ e) dia(ra a representa )os procesos e0ternos co o a/uB))os /ue son accedidos por e)e entos EactorF$ as, co o )os conjuntos de tareas re)acionadas con otras EsubtareasF$ re)acin uso de #)ec>as indicando re)aciones de dependencia. ani#iesta ediante e)

7%

Fi$! Q!:!J! L Dia$rama de tareas del ,ortal Pe" de A untamiento

75

En este nive)$ se en#ati7ar4 en a/ue))os recursos orientados a (aranti7ar )a persistencia de )os objetos de) nive) de ne(ocio$ >abitua) ente recurriendo a un siste a (estor de base de datos re)aciona).

1 continuacin se

uestra e) "ia(ra a Entidad8&e)acin G*i(. %.%.1.1H co o dise5o ostrar

conceptua) de nuestra 3ase de "atos. Estos tipos de dia(ra as son idneos para )a estructura de una 3ase de "atos$ bas4ndose en 3 e)e entos (r4#icos principa)es2 )as entidades2 representadas objeto o cosa de)

ediante un rect4n(u)o$ >acen re#erencia a un

undo rea) con e0istencia independiente. En nuestro

proyecto podr,a ser un usuario o una noticia. )as re)aciones2 representadas asociacin de 2 o usuario. )os atributos2 representados ediante e)ipses$ >acen re#erencia a )as ediante ro bos$ >acen re#erencia a )a

4s entidades. En nuestro proyecto podr,an ser )as

tra itaciones o (estiones$ )as cua)es >acen corresponder un tr4 ite a un

caracter,sticas re)evantes de un entidad o re)acin. En nuestro proyecto ser,an e) "6I o Kserna e de un usuario o e) titu)ar de una noticia. Por otivos de )e(ibi)idad$ no inc)uire os en e) dia(ra a todos )os atributos sino ayor re)evancia o /ue ayudan a e0p)icar ejor e) co porta iento de

s)o a/ue))os de

a)(unas entidades. .i observa os con deteni iento e) "ia(ra a E8& de) proyecto en estudio$ especia) encin re/uiere )os si(uientes posib)es escenarios2

76

;a entidad E9&1MI9E.QK.K1&IO.F dese pe5a un pape) #unda enta) en e) apartado de PO#icina 'irtua)P de nuestra ap)icacin. Esta entidad viene a representar e) conjunto de tra itaciones /ue #ueron iniciadas en a)(In instante por a)(In Ksuario &esidencia). 1 continuacin$ deta))a os )os posib)es escenarios /ue pueden darse$ re)acionados con esta entidad2 )a re)acin Etra itaF representa e) posib)e escenario de /ue un usuario puede iniciar una nueva tra itacin o bien puede editar una ya e0istente$ si bien una tra itacin dada s)o puede pertenecer a un usuario deter inado. )a re)acin Etra itaQconF representa e) >ec>o de /ue toda tra itacin debe estar asociada a uno y tan s)o un tr4 ite. 1si is o pone de ani#iesto )a posibi)idad de /ue un tr4 ite deter inado puede estar presente en varias tra itaciones. Por otro )ado$ un Ksuario *uncionario puede (estionar Gaprobar$ dene(ar$ noti#icar$ etcH cua)/uiera de )as tra itaciones$ as, co o Bstas pueden ser (estionadas por cua)es/uiera de )os #uncionarios.

77

7-

.e >a optado por crear varios nive)es de especia)i7acin para )a entidad EK.K1&IOF$ con e) #in de de)i itar de un #or a 4s )e(ib)e en e) "ia(ra a$ )os privi)e(ios de actuacin de cada uno de )os di#erentes per#i)es de usuarios posib)es2 si bien$ cua)/uier Ksuario 6o *uncionario podr4 participar en )os #oros$ s)o a/uB))os /ue sean &esidencia)es$ podr4n >acer uso de) servicio de O#icina 'irtua) Gre)acionarse con )a entidad E9&1MI9E.QK.K1&IO.FH. si bien$ cua)/uier Ksuario *uncionario podr4 ad inistrar )os contenidos de diversas secciones de) porta)$ s)o a/ue) especia)i7ado co o Ksuario 1d inistrador podr4 ad inistrar Gcrear y e)i inarH Ksuarios o bien e)i inar ensajes de) *oro.

1 continuacin se co p)e enta e) "ia(ra a ana)i7ado en e) apartado anterior con e) dise5o )(ico$ esto es$ )a estructura de )a base de datos representada en un )en(uaje co prensib)e por cua)/uier siste a de (estin de bases de datos re)aciona)es.

USUARIO Gdni2 varc>arG9H$ no bre2 varc>arG2!H$ ape))ido12 varc>arG25H$

ape))ido22

varc>arG25H$ se0o2 varc>arG1H$ #ec>aQnac2 date$ anti(uedad2 date$ e ai)2 varc>arG5!H$ t#no2 varc>arG15H$ userna e2 varc>arG2!H$ passDord2 varc>arG5!H$ cate(oria2 varc>arG3HH +P2 Zdni[ '662 Zno bre$ anti(uedad$ e ai)$ userna e$ passDord$ cate(oria[ TRAMITESHUSUARIOS +P2 Zid[ '662 ZidQtra $ userna e$ #ec>a$ estado[ +1j2 Zuserna e[ \ K.K1&IO. +1j2 ZidQtra [ \ 9&1MI9E. Gid2 enteroQ)ar(o$ idQtra 2 enteroQ)ar(o$ userna e2

varc>arG2!H$ #ec>a2 date$ estado2 varc>arG2!H$ >istQnoti#icaciones2 varc>arG255HH

79

TRAMITES Gid2 enteroQ)ar(o$ titu)o2 varc>arG1!!H$ tipo2 varc>arG5!H$ on)ine2 varc>arG2H$ desc2 varc>arG255H$ i porte2 entero$ docu entacion2 varc>arG255H$ )u(arQpresent2 varc>arG5!H$ varc>arG5!HH +P2 Zid[ '662 Ztipo$ on)ine$ i porte[ +1j2 Zid[ \ 9&1MI9E.QK.K1&IO. CALENDARIOHEVENTOS Gid2 enteroQ)ar(o$ titu)oQevento2 varc>arG1!!H$ descQevento2 te0t$ inicioQevento2 dateH +P2 Zid[ '662 Ztitu)oQevento$ inicioQevento[ CONTROLHNEESLETTER GtipoQneDs)etter2 varc>arG1-H$ pendientesQ()oba)2 enteroG2H$ pendientesQindividua)2 enteroG2HH +P2 ZtipoQneDs)etter[ '662 ZpendientesQ()oba)$ pendientesQindividua)[ FOROHPOSTS GpostQid2 enteroQ)ar(o$ topicQid2 enteroQ)ar(o$ postQte0to2 te0t$ postQ#ec>a2 date$ postQprop2 varc>arG1!!HH +P2 ZpostQid[ '662 ZtopicQid$ postQte0to$ postQprop[ +1j2 ZtopicQid[ \ *O&OQ9OPI+. FOROHTOPICS GtopicQid2 enteroQ)ar(o$ topicQtitu)o2 varc>arG1!!H$ topicQ#ec>a2 date$ topicQprop2 varc>arG2!H$ topicQu)ti o2 dateH +P2 ZtopicQid[ '662 ZtopicQtitu)o$ topicQprop$ topicQ#ec>a[ NOTICIAS Gid2 enteroQ)ar(o$ titu)ar2varc>arG2!!H$ te0to2 te0t$ i a(en2 varc>arG5!H$ #ec>a2 dateH +P2 Zid[ '662 Ztitu)ar$ #ec>a[ or(anoQ(estor2 varc>arG5!H$ observaciones2 varc>arG255H$ i presos2

-!

OPOSICIONES +P2 Zid[

Gid2

enteroQ)ar(o$

no bre2

varc>arG5!H$

p)a7as2

enteroG3H$

#ec>aQpub)icacion2 date$ bases2 varc>arG1!!HH '662 Zno bre$ p)a7as$ #ec>aQpub)icacion[ PREFERENCIASHUSUARIOS Guserna e2 varc>arG%!H$ neDs)etter2 varc>arG-H$ noticias2 enteroG%H$ eventos2 enteroG%H$ ca))ejero2 enteroG%H$ tie po2 enteroG%H$ #oros2 enteroG%H$ H +P2 Zuserna e[ '662 ZneDs)etter$ noticias$ eventos$ ca))ejero$ tie po$ #oros[ +1j2 Zuserna e[ \ K.K1&IO. SECCIONHESTATICA Gseccion2 varc>arG%H$ contenido2 te0t$ i a(en2 varc>arG3!H$ #ec>aQactua)i7acion2 date$ apartado2 varc>arG15HH +P2 Zseccion[ '662 Zcontenido$ apartado[

-1

-2

En e) cap,tu)o anterior$ )a ap)icacin objeto de este estudio #ue estructurada en diversos nive)es y #ueron descritos todos e))os de )a #or a 4s abstracta posib)e$ evitando entrar en deta))es sobre tecno)o(,as o recursos de i p)e entacin. En e) cap,tu)o /ue nos ocupa$ ser4n revisadas )as tecno)o(,as Jeb recurridas para i p)e entar )a ap)icacin$ pro(resando de #or a ordenada a travBs de )a estructura de nive)es /ue #ue especi#icada.

En s,ntesis$ a/ue))os recursos o tecno)o(,as Debs a )os /ue se >a recurrido son2 Entorno de desarro))o Deb E%7$S(.>(. versin 2.!. .e trata de un pa/uete /ue inc)uye$ insta)a y con#i(ura casi de P:PMy1d in. L(,<*%C( P9P para todo e) apartado de pro(ra acin y )(ica de contro)$ debido a) car4cter din4 ico e interactivo perse(uido$ y >abitua) ente ser4 entre e7c)ado o co binado con e) )en(uaje de uti)i7ada en e) arcado :9M;. ;a versin o ento de editar este docu ento es )a 5.3.!. anera auto 4tica2 1pac>e$ P:P$ My.=; y

P4%,+-44%/ CSS con e) objetivo de o#recer una inter#a7 atractiva y un dise5o de) Debsite oderno$ acorde a )as I)ti as tendencias. Por otro )ado$ esta decisin odi#icaciones en e) a/uetacin de) Debsite se >a recurrido a uno de )os 4s popu)ares2 96I ".-0 S3/+(7. ejorar4 notab)e ente e) tie po re/uerido para #uturas dise5o. Para )a *ra eDor]s +..

-3

1dobe P'1+1/'1$ +.2 para para e) dise5o de a)(unas partes de )as p4(inas co o )as diversas cajas /ue )as co ponen$ e#ectos de de(radados y so bras en (ran u)titud de e)e entos$ co posicin de i 4(enes e p)eadas en )a cabecera o pie de p4(ina$ e#ectos din4 icos para )os barras de nave(acin$ dise5o de tipos de )etra co p)ejas as, co o iconos ani ados repartidos a )o )ar(o de )a p4(ina.

=%>%/&.-$+ para (obernar e) co porta iento de a)(unas ventanas de) porta)$ reaccionando a )a accin de) usuario Gt,pica ente un evento de ratnH. 9a biBn se >a uti)i7ado para inte(rar e) cdi(o necesario para tie po$ servicio o#recido por PDDD.tutie po.netP. ostrar e)

M3SQL co o 3ase de "atos$ siendo Bsta de )as

4s e0tendidas y e#icientes en is o porta)

)a actua)idad. 1un/ue se >a dise5ado una inter#a7 a) uso en e)

para usuarios ad inistradores de contenidos$ en ocasiones puntua)es podr,a precisarse (estionar )a 3ase de "atos con una >erra ienta e0terna. En este caso$ se >a optado por )a uti)idad P:PMy1d in$ ta biBn o ento de edicin de este docu ento es )a 5.1.36. .ervidor Jeb A$%&'($ concreta ente )a versin 2.2.11 en e) o ento de uy e0tendida y con un a)to (rado de a i(abi)idad para con e) usuario. ;a versin e p)eada en e)

edicin de) presente docu ento. .e trata sin duda de uno de )os servidores 4s popu)ares debido a su robuste7 y ca)idad de servicios. Es co patib)e sobre u)titud de p)ata#or as y se inte(ra a )a per#eccin con e) )en(uaje P:P. Otras uti)idades enores co o editores de cdi(o G?o odo Edit 5H o di#erentes

nave(adores Jeb GMo7i))a *ire#o0$ Opera$ Loo()e +>ro e$ etcH para va)idar )as di#erentes p4(inas.

-%

1 continuacin ser4n descritas con tecno)o(,as citadas anterior ente.

ayor nive) de pro#undidad$ a)(unas de )as

:9M;$ si()as de :yper9e0t Mar]up ;an(ua(e G;en(uaje de Marcado de :iperte0toH$ es )e )en(uaje /ue predo ina en e) desarro))o de p4(inas Deb. Lracias a B)$ es posib)e no s)o describir e) contenido de te0to de una p4(ina Deb sino ta biBn su #or a o estructura$ per itiendo incrustar i 4(enes y otros objetos en )a is a. 3erners8;ee

;a >istoria de) est4ndar se re onta a principio de 199!$ cuando 9i .LM; y ade 4s crea a)(o 4s va)ioso aIn$ e) Jor)d Jide Jeb.

de#ine e) :9M; co o un subconjunto de un conocido )en(uaje de eti/uetas deno inado

Fi$! R!%!J!J! L *tiquetas empleadas por el len$u(ae ,C,!

Este )en(uaje se escribe a base de eti/uetas de)i itadas por corc>etes an(u)ares G R $ S H. +uando se uti)i7a una eti/ueta$ >abitua) ente debe uti)i7arse otra de cierre$ )a cua) antepondr4 e) s, bo)o de barra G M H. .irva un eje p)o2 J$KEsto est4 escrito con una #uente nor a) escrito con una #uente ientras /ue J/+.1,<KBsto est4

4s (ruesa o ne(ritaJL/+.1,<KJL$K

-5

E) p4rra#o anterior ser4

ostrado co o 2 ientras /ue M/+1 (/+A (/&.-+1 &1, *,%

Esto est4 escrito con una #uente nor a) 8*(,+( 7A/ <.*(/% 1 ,(<.-+%

E) )en(uaje :9M; puede ser escrito y editado con cua)/uier editor de te0tos senci))o$ aun/ue >abitua) ente se e p)ean editores potentes /ue per iten visua)i7ar e) resu)tado de )o /ue se est4 >aciendo as, co o identi#icar errores de pro(ra acin. Kna p4(ina Deb :9M; debe contener una estructura si(ue2 J'+74K J'(%0K J+-+4(K01u" ir"a el t"tulo de la p*!inaJL+-+4(K JL'(%0K J@103K 01u" debe ir el contenido de la p*!ina JL@103K JL'+74K E) dise5o en :9M; debe respetar unos criterios de accesibi)idad Deb$ si(uiendo unas pautas o nor ativas. .e encuentra disponib)e y desarro))ado por e) J3+ a travBs de )as Pautas de 1ccesibi)idad a) +ontenido Jeb 1.! J+1L Gactua)i7adas reciente ente con )a especi#icacin 2.!. ,ni a de eti/uetas co o

E) )en(uaje :9M; est4 a)(o )i itado si /uere os e p)ear)o para de#inir )a #or a de un docu ento$ ya /ue no #ue concebido precisa ente para este #in. 1In as,$ durante uc>o tie po )os dise5adores >an debido recurrir a EtrucosF para sa)var esta di#icu)tad$ causando a p)ata#or as. enudo prob)e as en )as p4(inas a )a >ora de su visua)i7acin en distintas

-6

+.. u >ojas de esti)o en cascada G+ascadin( .ty)e .>eetsH$ es un )en(uaje usado para de#inir )a presentacin de un docu ento estructurado escrito en :9M;. ;o /ue se pretende con esta tecno)o(,a es separar )a estructura de una p4(ina Deb de su presentacin$ esto es$ e) contenido en s, a apare7ca. +.. puede incorporarse en e) docu ento por separado re#erenciar)eH. Enu erare os a)(unas de )as ventajas de +..2 Pode os de#inir )a #or a de presentacin de un Debsite entero$ de s)o una p4(ina o una porcin de )a de is a. .e a(i)i7an por tanto enor e ente$ )as tareas odi#icacin2 por eje p)o$ bastar,a con editar una >oja de esti)o +.. para /ue is o docu ento :9M; o bien adjuntarse co o un e) docu ento :9M; deber4 entonces ostrar de )a #or a con /ue se desea /ue

Gobvia ente

tuviera una repercusin in ediata en todas )as p4(inas de) Debsite. E) docu ento :9M; es 4s #4ci) de entender$ pues conse(ui os con +.. separar

)a #or a de) contenido Ge) cdi(o /ue >ace re#erencia a )a #or a$ ya no estar4 entre e7c)ado con e) cdi(o restanteH. Kna is a p4(ina Jeb puede ser ostrada de #or a correcta en diversos

dispositivos de sa)ida2 un

vi)$ una i presora$ una P"1. Para e))o bastar4 con

sustituir )a >oja de esti)o e p)eada. 1u ento considerab)e de )a accesibi)idad$ ya /ue un nave(ador Deb per ite a un usuario especi#icar su propia >oja de esti)o )oca). Idneo por tanto para usuarios con de#iciencias visua)es G>ojas /ue au entan e) ta a5o de )etra o )a co binacin de co)oresH. Otro de )os recursos a p)ia ente buscados por dise5adores Deb y /ue est4n basados en +.. son )os deno inado *ra eDo]s +... Wstos no son de esti)os escritas en +.. /ue preparan y a(i)i7an )a as /ue dec)araciones a/uetacin de una p4(ina Deb$

principa) ente por/ue resetean y nor a)i7an )os esti)os$ con e) #in de >o o(enei7ar )os

-7

resu)tados Gconse(ui os /ue nuestras p4(inas sean cua)/uier nave(ador DebH.

ostradas de)

is o

odo en

Para nuestro caso en estudio$ se >a e p)eado e) *ra eDor] 96! Lrid .yste $ e) cua) >a despertado e) interBs de inicia) en e) editor P>otos>op. uc>os dise5adores Deb$ partiBndose de un dise5o

F.%7(?1.; 96I ".-0 S3/+(7


96! Lrid .yste de#ine una serie de c)ases /ue #or atean nuestra p4(ina Deb

co o si de una reji))a se tratara$ es decir$ >abi)ita para uso de) dise5ador$ una p)anti))a o reji))a con un anc>o de 96! p,0e)es y dividida en un nI ero #ijo de co)u nas G12 co)u nas en nuestro casoH de) is o ta a5o.

Kna de )as ventajas principa)es de esta divisin en co)u nas de nuestro espacio de trabajo es /ue per ite anc)ar o #ijar$ a conveniencia de) dise5ador$ )os distintos e)e entos /ue co portar4n )a p4(ina Deb$ encajando Bstos de #or a precisa sobre )a ret,cu)a$ ade 4s de conse(uir un a)inea iento uni#or e entre )os e)e entos. .e trata por tanto de un recurso orientado principa) ente a) posiciona iento. 96! Lrid .yste co)u nas per ite a(rupar #4ci) ente estas co)u nas para conse(uir 4s co)u nas o 4reas odo$ es posib)e

ayores y as, estructurar )a p4(ina Deb en base a 2$ 3 o

principa)es$ de i(ua) o di#erente ta a5o cada una de e))as. "e este continuacin se

#or atear #4ci) ente una p4(ina Deb con un dise5o por eje p)o a 3 co)u nas. 1 uestra una breve e0p)icacin de c o ser,a abordado este eje p)o2

Pri era co)u na2 co puesto por 2 co)u nas se(In e) *ra eDor]. Este 4rea )o reservare os para ubicar por eje p)o un enI vertica).

.e(unda co)u na2 co puesto por 7 co)u nas se(In e) *ra eDor]. Este 4rea )o reservare os a) cuerpo principa) de )a p4(ina.

9ercera co)u na2 co puesto por 3 co)u nas se(In e) *ra eDor]. Esta I)ti a co)u na principa) o 4rea )o reservare os para ubicar a)(unas cajas pe/ue5as

--

ostrando in#or acin de distintas secciones. En tota)$ se(In e) eje p)o anterior >abr,a os ocupado )as 12 co)u nas de )a reji))a a nuestra conveniencia.

Fi$! R!%!%!J! 2 *(emplo de p$ina 6e" diseada a partir de la re(illa que 'a"ilita el Frame6or8 +-- USK Grid - stem (versi&n J% columnas)!

En e) caso de nuestro porta) objeto de estudio$ )a p4(ina principa) GInicioH >a sido dise5ada en base a una estructura de 3 co)u nas o 4reas principa)es$ resto de p4(inas respetan una estructura de 2 co)u nas principa)es. ientras /ue e)

M10(41 0( C%C%
+.. pone a disposicin de) dise5ador otro recurso de +aja. Este uy e0tendido /ue es e) Mode)o

ode)o per ite estructurar )os di#erentes contenidos de )a p4(ina co o si

de cajas rectan(u)ares de tratara. +ada caja puede pertenecer a un servicio Gpor eje p)o$ e) buscadorH$ una seccin Gpor eje p)o e) apartado de noticiasH o a su ve7 una parte de una seccin Gpor eje p)o )a #oto(ra#,a de )a noticiaH. ;as cajas a su ve7 est4n co puestas por partes o capas$ presentando en conjunto una estructura tridi ensiona). "e esta #or a$ toda caja tiene una parte /ue es e) borde$

-9

otra /ue es e) re))eno$ un

ar(en$ un co)or y una i a(en de #ondo$ un re))eno y

#ina) ente un contenido. +ada una de estas partes podr,a os representar)as co o una estructura de capas superpuestas$ co o puede verse en )a *i(. 5.2.2.2.

Fi$! R!%!%!%! 2 7odelo de +a(a en +--

;as cajas se i p)e entan en :9M;$ de)i it4ndo)as con un par de eti/uetas RdivS RMdivS. Posterior ente se asi(na a cada caja una serie de esti)os +.. a travBs de un identi#icador o una c)ase. .irva co o eje p)o e) si(uiente e0tracto de cdi(o :9M; /ue describe una de )as diversas cajas e p)eadas en nuestro porta) objeto de estudio2

9!

P:P GP:P :yperte0t Pre8processorH es un )en(uaje de pro(ra acin interpretado$ dise5ado ori(ina) ente para )a creacin de p4(inas Deb din4 icas. *ue creado en 199% por e) pro(ra ador danBs8canadiense &as us ;erdor# GPersona) :o e Pa(e 9oo)s por a/ue) entoncesH para ostrar su curr,cu)u vitae y conocer e) tr4#ico /ue su Deb recib,a. 4s de

P:P es un )en(uaje poderoso y est4 a p)ia ente e0tendido$ se uti)i7a en 2! i))ones de sitios Deb ade 4s de en un i))n de servidores. Kno de )os

otivos es un

(ran perecido con otros popu)ares )en(uajes de pro(ra acin estructurada$ )o /ue #aci)ita su do inio en e) enor tie po. Otra de )as ra7ones es /ue es )ibre G)icencia L6KH 4s$ indicare os ayor,a de )os siste as operativos e interactuar con 4s popu)ares. y por tanto$ #4ci) ente accesib)e a todos. A por a5adir a)(una ra7n /ue P:P per ite ser ejecutado en )a )os servidores Deb y otores de base de datos

E) cdi(o #uente escrito en P:P es invisib)e a) nave(ador y a) c)iente. E) servidor es e) encar(ado de ejecutar e) cdi(o y enviar su resu)tado :9M; a) nave(ador GvBase *i(. 5.2.3.1H. Esto >ace /ue )a pro(ra acin en P:P sea se(ura y con#iab)e.

Fi$! R!%!:!J! 2 *squema funcionamiento ,C,

91

6uestro caso de estudio est4 #unda entado principa) ente en P:P$ inte(rado entre e) cdi(o :9M;. E) es/ue a de #unciona iento para un potencia) usuario /ue visua)i7ar4 a)(una de sus p4(inas Deb es uy si i)ar a) descrito en )a *i(. 5.2.3.1.$ y ayuda a entender 2 conceptos con )os /ue abr,a os )a introduccin de este apartado2 P:P co o E)en(uaje interpretadoF y orientado a) desarro))o de Ep4(inas Deb din4 icasF. 1 continuacin describire os breve ente un posib)e escenario de nuestro porta) Deb /ue se ajusta a )a #i(ura anterior. Kn usuario pretende visua)i7ar a)(una de )as p4(inas de nuestro$ posib)e ente enviando a)(una in#or acin adiciona) a travBs de un #or u)ario. E) nave(ador Deb rea)i7ar4 esta so)icitud. ;a peticin ser4 recibida por e) servidor Deb donde estar4 a)ojada )a p4(ina Deb$ ana)i7ar4 )a is a y a)), donde encuentre instrucciones P:P$ )as interpretar4 y )as Eca biar4F por un resu)tado ya escrito en :9M;. .i #uera necesario$ podr,a consu)tar a )a 3ase de "atos para incorporar a)(una in#or acin sustra,da de )a is a. *ina) ente devo)ver4 e) resu)tado #ina) a) c)iente Gnave(ador DebH /ue inici )a so)icitud o peticin. +o o es posib)e co probar en )a descripcin de) escenario anterior$ )a p4(ina Deb ser4 -,+(.$.(+%0% por e) servidor previo a ser devue)ta a) c)iente y ade 4s$ su contenido se (enerar4 a partir de a)(In dato introducido por e) usuario$ probab)e ente a travBs de un #or u)ario$ es decir$ este contenido no estaba inicia) ente en e) arc>ivo :9M; ori(ina)$ )o /ue responde a) concepto de $A<-,% ?(@ 0-,A7-&% Ge) resu)tado no sie pre es e) is o co o suceder,a en una p4(ina Deb est4ticaH.

<ava.cript es un )en(uaje de scriptin($ esto es$ un arc>ivo de rdenes$ (enera) ente a) acenado en #or ato de te0to p)ano$ /ue representa a un pro(ra a >abitua) ente de co p)ejidad senci))a /ue puede e#ectuar diversas tareas co o co binar co ponentes o bien interactuar con e) siste a operativo o con e) usuario$ otivo por e) /ue es #recuente ente recurrido para dise5ar inter#aces de usuario.

92

<ava.cript es interpretado por )a a p)ia tota)idad de nave(adores Deb c)iente. ;a J3+ de#ine /ue e)

odernos.

Puede inc)uirse en cua)/uier docu ento y es co patib)e con :9M; en e) nave(ador de) Btodo pti o para uti)i7ar <ava.cript es inc)uir)o en un arc>ivo e0terno$ por ra7ones de accesibi)idad y rendi iento. *ue desarro))ado por 3rendan Eic> de 6etscape con e) no bre de Moc>a$ e) cua) #ue reno brado posterior ente a ;ive.cript$ para #ina) ente /uedar co o <ava.cript coincidiendo con e) anuncio de /ue 6etscape soportar,a o#icia) ente <ava en su$ por a/ue) tie po$ popu)ar nave(ador Deb$ estrate(ia /ue no estuvo e0enta de a)(unas po)B icas. Para e) porta) objeto de estudio$ <ava.cript ser4 uti)i7ado principa) ente para >acer e er(er una subventana o ventana8>ija$ por eje p)o$ para ostrar )os deta))es de a)(uno de )os e)e entos de un )istado o resu)tado de una bIs/ueda GvBase *i(. 5.2.%.1H.

Fi$! R!%!Q!J! 2 9entana emer$ente mostrando los detalles de uno de los usuarios del listado

93

My.=; es un siste a de (estin de base de datos$ re)aciona)$ u)tiusuario. &e)aciona) por/ue se sustenta en un

u)ti>i)o y

ode)o de datos G ode)o re)aciona)H

basado en )a )(ica de precicados y en )a teor,a de conjuntos. Mu)ti>i)o por/ue per ite e) acceso concurrente a )a in#or acin$ de #or a ordenada y se(ura. *ina) ente es u)tiusuario por/ue per ite proveer servicio a I)tip)es usuarios si u)t4nea ente.

My.=; se o#rece bajo )a L6K LP; para cua)/uier uso co patib)e con esta )icencia$ )o /ue i p)ica co prar una versin co ercia) )icenciada si e) usuario no se ajusta a) LP; o re/uiere introducir cdi(o My.=; en ap)icaciones co ercia)es. E) uso de My.=; est4 est4 uy )i(ada a P:P$ /ue a uy e0tendido en ap)icaciones Deb$ en p)ata#or as enudo aparece en co binacin con My.=;. .u ori(en se

G;inu0MJindoDs81pac>e8My.=;8P:PMPer)MPyt>onH. .u popu)aridad co o ap)icacin Deb re onta a) a5o 1995 cuando )a e presa My.=; 13 busca adaptar e) )en(uaje .=; G/ue ya e0ist,a desde 19-1H de #or a /ue continIe cu p)iendo su est4ndar pero sin sacri#icar ve)ocidad$ #iabi)idad o usabi)idad.

Fi$! R!%!R!J! 2 .tilidad ,C,7 Admin para la $esti&n de 7 -34

9%

Para e) caso /ue nos ocupa$ se opt por My.=; por su e0tre ada senci))e7 de anejo$ (racias en parte a )a inter#ace P:PMy1d in. Esta in#er#ace or(ani7a )a in#or acin en base a tab)as y per ite anipu)ar a in#or acin$ tanto de contenido co o de estructura$ de #or a r4pida y con#iab)e.

1 continuacin se e0a inan a)(unas de )as uti)idades o ap)icaciones /ue >an sido de (ran ayuda para con#or ar e) resu)tado #ina).

1pac>e es un servidor Deb :99P de cdi(o abierto para p)ata#or as Kni0$ JindoDs y Macintos>$ entre otras. .u uso est4 )a ayor cuota de) 2!!5. 1pac>e se usa ori(inaria ente para enviar p4(inas Deb en internet. Inc)usive e0iste una (ran ayor,a de ap)icaciones Deb /ue est4n dise5adas asu iendo /ue ser4n uti)i7adas a)(unas de sus caracter,sticas. 9a biBn es uti)i7ado co o entorno de desarro))o Deb$ co o es nuestro caso$ con e) #in de previsua)i7ar y probar e) cdi(o /ue va siendo i p)e entado. 9a biBn es usado en a/ue))as ocasiones donde )a in#or acin debe estar dispuesta de #or a se(ura y con#iab)e Gpor eje p)o$ a) co partir #ic>eros desde un ordenador persona) con InternetH. Otras de )as caracter,sticas destacadas /ue sustentan su (ran B0ito son2 es a)ta ente con#i(urab)e$ odu)ar Ges posib)e e0tender su #unciona)idadH y provisiona autenticacin en base de datos y ne(ociado de contenido. uy e0tendido2 desde e) a5o 1996 ocupa ercado$ detect4ndose un a)t,si o va)or de cuota de) 7!^ en e) a5o

95

?o odo Edit es un entorno inte(rado de desarro))o GI"EH #unciones

u)tip)ata#or a y

u)ti)en(uaje para )a e)aboracin de ap)icaciones Deb din4 icas. Inc)uye entre otras$ uy de andadas en este tipo de ap)icaciones co o2 autoco p)etado$ co probacin de sinta0is y resa)tado de) )en(uaje. ?o odo Edit >a sido preparado para )os )en(uajes din4 icos P:P$ &uby$ Per)$ Pyt>on y 9+;X ta biBn per ite trabajar con CM;$ :9M;$ <avascript y +... ;a ap)icacin >ace uso de )os deno inados Pca))tipsP$ enIs desp)e(ab)es /ue per ite se)eccionar )os atributos de )as di#erentes eti/uetas durante )a edicin de) cdi(o. Para e) proyecto /ue nos ocupa$ ?o odo Edit >a resu)tado ser de (ran uti)idad$ au entando de #or a constante )a )e(ibi)idad de) cdi(o$ (racias a sus #unciones de autotabu)acin$ co)oreado y ayuda en )a sinta0is. Por otro )ado$ se inte(ra a )a per#eccin con pro(ra as de *9P$ por )o /ue pod,a os subir a un proveedor de a)oja iento Deb e) arc>ivo /ue estaba siendo editado y veri#icar )os resu)tados de #or a instant4nea.

96

Fi$! R!:!%!J! 2 +aptura de la aplicaci&n Vomodo *dit

Posib)e ente P>otos>op sea una de esas >erra ientas /ue no re/uieren presentacin a)(una. .u >istoria se re onta a #ina)es de )os -!$ cuando su creador$ e) reciBn )icenciado 9>o as ?no))$ co en7 a trabajar en su doctorado sobre Ee) procesado de i 4(enes di(ita)esF. *ue entonces cuando 9>o as ad/uiri un ordenador Mac Gpor a/ue) entonces$ ni tan si/uiera ostraban i 4(enes en esca)a de (risesH y escribi un ostrar i 4(enes en esca)a de (rises is o tie po /ue ir,a dispers4ndose uc>os a5os de investi(acin$ pro(ra a ))a ado "isp)ay /ue per itiese

e p)eando tra as de 1 bit Gb)anco y ne(roH. Wste #ue e) co ien7o de P>otos>opX 9>o as ir,a a p)iando sus )as #unciona)idades de "isp)ay a) de su tesis doctora). En )a actua)idad$ P>otos>op es e) resu)tado de reinvent4ndose una y otra ve7. .u versin #unciones 4s actua)i7ada es +.5 y a)(unas de sus

4s recientes especia) ente interesantes en un entorno Deb son2 +reacin de )o(otipos$ botones Deb e i)ustraciones 3" desde cua)/uier capa de te0to$ se)eccin$ tra7ado o 4scara de capa y$ a continuacin$ es posib)e torcer$ rotar$ e0trujar$ bise)ar e in#)ar )os dise5os.

97

.e)eccin e0tre ada ente #4ci) de e)e entos intrincados de )a i a(en$ co o e) pe)o$ para per#eccionar)os$ co poner)os o co)ocar)os en una co posicin.

"e#or acin o estira iento de (r4#icos$ te0to o e)e entos de )a i a(en con precisin con e) #in de crear apariencias Inicas para )os dise5os Deb.

.ervicio on)ine /ue a5aden co entarios a )as i 4(enes desde e) nave(ador Deb de un usuario y estos aparecer4n in ediata ente en su panta))a.

+reacin de bjetos y dise5os 3" con una senci))a creacin de so bras$ )uces basadas en )a i a(en y ateria)es co o crista) y cro o.

Mu)titud de e#ectos novedosos$ entre e))os$ e#ectos pictricos rea)istas y natura)es con e) pince) en )ien7os. e7c)ador$ /ue o#rece )a posibi)idad de #usionar co)ores

Fi$! R!:!:!J! 2 +aptura de la aplicaci&n Ado"e ,'otos'op

9-

En nuestro caso de estudio$ #ue uti)i7ado P>otos>op con )os si(uientes objetivos principa)es2 dise5o de cabeceras y pies de p4(ina$ rea)i7ando #oto ontajes y #usin de varias #oto(ra#,as$ a5adiendo te0tos y ap)icando diversos e#ectos. dise5o de )as di#erentes cajas /ue uestran )a in#or acin de una seccin o

subseccin en particu)ar$ as, co o )a caja de bIs/uedas. dise5o de a)(unos tipos de )etra co p)ejos /ue no era posib)e obtener ediante :9M;_+... dise5o de iconos ani ados GLI*H. opti i7acin de )a ca)idad en re)acin a) espacio en bytes ocupado por cada uno de )os e)e entos (r4#icos inc)uidos en una p4(ina Deb Gopti i7acin tie pos de car(a sin er a visua) aparenteH$ en #uncin de) #or ato (r4#ico 4s adecuado a cada conte0to. dise5o de )os e#ectos din4 icos uti)i7ados en )as barras de nave(acin Ge)e ento activo$ e)e ento no se)eccionado$ etcH.

*i)e@i))a es un c)iente *9P$ (ratuito$ )ibre GL6KH y de cdi(o abierto. .e trata por tanto de una ap)icacin /ue per ite trans#erir arc>ivos$ conect4ndose para e))o a un servidor *9P. ;a vista de arc>ivo y carpeta$ situada debajo de) re(istro de carpetas$ ver y a)terar sus contenidos tanto en )a arc>ivos entre )os ordenadores )oca) y re oto. ensajes$

proporciona una inter#a7 (r4#ica a i(ab)e. ;os usuarios pueden nave(ar por )as 4/uina )oca) co o en )a re ota$ uti)i7ando una inter#a7 de tipo 4rbo) de e0p)oracin. ;os usuarios pueden arrastrar y so)tar

99

E p)ea os este c)iente *9P en nuestro caso de estudio$ #unda enta) ente con e) objetivo de ir subiendo a un servidor /ue o#reciese a)oja iento Deb$ )as di#erentes partes de) porta) con#or e Bstas eran pro(ra adas$ pudiendo veri#icar de esta #or a si todas e))as cu p),an y se co portaban se(In )o esperado. Por otro )ado$ *i)e@i))a se inte(r a )a per#eccin con )a ap)icacin de edicin de cdi(o ?o odo Edit$ )o /ue aIn #aci)it esta )abor. 4s

Fi$! R!:!Q!J! 2 +aptura de la aplicaci&n FileWilla

1!!

1tendiendo a )a estructura de 3 nive)es /ue #ue de#inida en un cap,tu)o anterior y una ve7 revisados de #or a (enera) a/ue))os recursos y tecno)o(,as Deb a )os /ue se >a recurrido$ se describir4 de #or a concisa c o >an sido i p)e entadas estas tecno)o(,as para e) caso /ue nos ocupa.

;a e)aboracin de) inter#a7 puede iniciarse /ue pone de de) porta).

ediante aspectos b4sicos de

presentacin co o a>ora un Eb)ueprintF G&osen#e)d$ 2!!2H o ret,cu)a GvBase *i(ura 5.%.1.1H ani#iesto )as di#erentes 4reas en /ue puede dividirse )a p4(ina principa)

Fi$! R!Q!J!J! L *squema de contenidos del la aplicaci&n ,ortal Pe" de A untamiento!

1!1

;a ret,cu)a i)ustra )as principa)es secciones de) porta) y sus contenidos$ bas4ndose en una estructura jer4r/uica aun/ue no se >a uti)i7ado una notacin concreta para representar sus co ponentes. 9o ando )a ret,cu)a anterior co o punto de partida$ se representa e) dise5o de )a p4(ina Jeb ediante un #or ato de docu ento :9M; GvBase *i(ura 5.%.1.2.H basado en e)e entos de tipo EcapaF GRdivSH. E) dise5o ori(ina) se e#ectu en e) editor (r4#ico P>otos>op$ siendo tras)adado posterior ente a )en(uaje :9M; junto con +... .e describen a continuacin a)(unas de )as partes re)evantes en /ue se divide e) dise5o$ junto con )a estrate(ia buscada$ inc)uyendo )a p4(ina en s, de #or a ()oba)2 PA<-,% $.-,&-$%4 2I,-&-15 ;a p4(ina principa) uestra un co pendio sinteti7ado de )as secciones principa)es /ue pueden encontrarse a )o )ar(o de) porta). Presenta un aspecto visua) din4 ico$ conteniendo diversos iconos ani ados /ue invitan a participar en a)(una de )as secciones$ para )o /ue previa ente >abr4 /ue autenticarse en e) porta). E) dina is o se consi(ue ta biBn inte(rando una pe/ue5a 4rea dedicada a una (a)er,a #oto(r4#ica en )a is a cabecera donde es e0>ibido e) t,tu)o de) porta). .e >a buscado una co binacin de co)ores uni#or e$ bas4ndose principa) ente en variaciones y de(radados de) co)or a7u)$ preva)eciendo tona)idades suaves. E) dise5o de )as di#erentes cajas /ue variaciones. E) escudo de) ayunta iento dispondr4 de una ubicacin #ija ubicada en )a co)u na i7/uierda. M(,N S*$(.-1. En )a parte superior i7/uierda$ sobre )a cabecera$ se uestra se uestra un enI enI )e con en)aces a apartados de) porta) de re)evancia secundaria2 Inicio$ Mapa Jeb y +ontacto o .u(erencias. +uando e) usuario autenticado sea *uncionario$ este per itir4 ade 4s visua)i7ar e) porta) co o si de un usuario 6o *uncionario se tratase. uestran )a in#or acin propia de cada

seccin$ responden a un patrn de dise5o si i)ar$ pudiBndose detectar suti)es

1!2

Fi$! R!Q!J!%! L *(emplo de diseo de la p$ina principal de la aplicaci&n ,ortal Pe" de A untamiento!

1!3

F(&'% En )a parte superior derec>a es no bre de) d,a de )a se ana. C%@(&(.% G*i(. 5.%.1.3H Muestra una panor4 ica de uno de )os onu entos 4s e b)e 4ticos de 4s popu)ar Paterna$ )a 9orre$ junto con una dibujo caricaturi7ando a) /ue van siendo ostradas sucesiva ente. otivo de )a #iesta ostrada )a #ec>a actua)i7ada$ junto con e)

de) pueb)o$ )a +ord4. *ina) ente$ e0iste una parte din4 ica con #oto(ra#,as de) pueb)o

Fi$! R!Q!J!: L +a"ecera del portal

C*(.$1 1 A.(% 0( &1,+(,-01/ rea principa) dedicada a ostrar de #or a sinteti7ada una porcin de )as diversas secciones principa)es de) porta)$ esto es$ noticias$ eventos y #oros. En e) caso de cua)/uier otra p4(ina distinta de )a principa)$ este 4rea se dedicar4 e0c)usiva ente a ostrar )a in#or acin propia de esa seccin. S*@/(&&-1,(/ 2S(&&-1,(/ %4 0(+%44(5 G*i(. 5.%.1.%H rea disponib)e Inica ente en )a p4(ina principa)$ en )a parte in#erior justo precediendo a) piB de p4(ina. .u co etido es re(istrados en )a +o unidad. ostrar un resu en de )os I)ti os e)e entos introducidos en e) porta) re#erente a i presos$ oposiciones o usuarios

1!%

Fi$! R!Q!J!Q L -ecciones al detalle de la p$ina principal

En )a *i(ura 5.%.1.5. se

uestra una re)acin de e)e entos RdivS e p)eados en e)

dise5o de )a p4(ina principa)$ co en7ando con )a capa principa) /ue EanidaF a) resto de capas. +onviene destacar /ue e) ta a5o de Bstas$ est4 especi#icado co o Eauto 4ticoF$ representando de este en )a capa principa). odo e) >ec>o de /ue est4n anidadas o inc)uidas

1!5

Principa) .ub enI .uperior 9,tu)o La)er,a #otos ani ada MenI nave(acin principa) Escudo MenI nave(acin )atera) Lenera) 6oticias Eventos *oros .ubsecciones )atera) derec>o Ksuarios 1(enda +a))ejero E) tie po .ecciones a) deta))e I presos Oposiciones +o unidad .ub enI piB de p4(ina

C4%/(

1!!^ 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico 1uto 4tico

T%7%B1

C1,+(,-01/
;ista de opciones 6o bre de) 1yunta iento Icono ani ado con #oto(ra#,as de )a pob)acin ;ista de secciones GserviciosH principa)es Escudo de) 1yunta iento ;ista de secciones In#o1yunta iento Gseccin est4ticaH rea de contenidos `)ti as noticias pub)icadas `)ti os eventos pub)icados `)ti os ensajes pub)icados rea dedicado a secciones enores rea de autenticacin y per#i) de usuario 'ista ensua) de )a a(enda con eventos arcados 'ista reducida de) apa de )a pob)acin 'ista reducida prediccin a 3 d,as de) tie po rea dedicado a secciones enores ;ista de I)ti os i presos pub)icados ;ista de I)ti as oposiciones pub)icados ;ista de I)ti os usuarios re(istrados ;ista con repeticin de opciones y en)ace a secciones

Fi$! R!Q!J!R L *structura de elementos FdivG!

1si is o se p4(ina principa).

uestra en )a *i(ura 5.%.1.6. una tab)a /ue representa una estructura ayor re)evancia /ue intervienen en )a apariencia de )a

de a/ue))os e)e entos +.. de

1!6

C4%/(
containerQ12 (ridQC c)ear 3O"A

C%.%&+(.O/+-&%/
ar(in8)e#t2autoX ar(in8ri(>t2autoXDidt>296!p0 disp)ay2in)ineX#)oat2)e#tX ar(in8)e#t21!p0X ar(in8ri(>t21!p0 c)ear2bot>Xdisp)ay2b)oc]Xover#)oD2>iddenXvisibi)ity2>iddenX Jidt>2!X>ei(>t2! bac](round8co)or2 aeeeX co)or2 a***X #ont8#a i)y2 verdana$ 1ria)$ >e)veticaX Didt>21222p0X >ei(>t2autoX position2 abso)uteX top2 -!p0X )e#t2 8%!p0X bac](round2 ur)G..Mi a(esMso brasQ)atera)es.pn(H &epeat8yX over#)oD2>iddenX bac](round2 aacbbc6 ur)G..Mi &epeat80X ar(in8top2 83!p0X paddin(2! ! ! 3p0X ar(in8top2 83!p0X a(esM#ondo8cabecera2.(i#H

contenedorQparaQso bras cabeceraQsup enuQcabeceraQsup cabQ(ra)Qi7da cabQ(ra)Qdc>a cabeceraQin# buscador cuerpo escudo cabeceraQpie piepa(ina piepa(ina p te0toQpie

ar(in8botto 2 35p0X paddin(25p0 ! ! 5p0X

bac](round2 ur)G..Mi a(esM#ondo8cabecera28inv.(i#H repeat80X Paddin(8botto 2 6!p0X ar(in8top2 835p0X #)oat2 ri(>tX ar(in2 87-p0 81!p0 82!p0 !X

bac](round2 aec#5#b ur)G..Mi a(esM#ondo8cuerpo.(i#H repeat80X ar(in2 1!p0 ! 2!p0 %!p0X ar(in2 ! ! 1!p0 8-p0X bac](round2 transparent ur)G..Mi a(esMpiepa(ina3.pn(H no8 &epeatX Didt>2 1!!!p0X >ei(>t2 2!5p0X ar(in2 3!p0 ! 8-p0 87p0X ar(in2 -!p0 ! ! 83!p0X #ont8si7e2 12!^X te0t8a)i(n2 ri(>tX te0t8a)i(n2 centerX ar(in2 6!p0 7!p0 ! !X #ont8si7e2 11!^X

Fi$! R!Q!J!S! L @elaci&n de elementos +--!

Mencin especia) aparte re/uiere )a estrate(ia de dise5o perse(uida para

ostrar

)as diversas cajas /ue contienen )a in#or acin en s, de )as distintas secciones o apartados G6oticias$ I presos$ Ksuarios$ etcH. Estas cajas est4n pro(ra adas en :9M; y +..$ >aciendo uso de) ode)o de caja /ue #ue presentado en e) apartado de 9ecno)o(,as. 'ea os a continuacin e) cdi(o :9M; asociado a una de e))as$ por eje p)o de )a caja de )a seccin de EE) 9ie poF2

1!7

Rdiv c)assbNcajape/NS Rdiv c)assbNcajape/QarribaNS R>3SE; 9IEMPORM>3S RMdivS Rdiv c)assbNcajape/QcentroN idbNe)Qtie poNS 01u" debe ir el c$di!o 1ue muestra la in&ormaci$n del tiempo RMdivS Rdiv c)assbNcajape/QabajoNS RMdivS RMdivS Rc88 end o# cajape/88S

Fi$! R!Q!J!; L )mplementaci&n en C574 de la ca(a F*l 5iempoG

+o o se observa en )a *i(ura 5.%.1.7$ )a caja est4 de#inida por una serie de capas /ue est4n contenidas en otra principa). 1 esta capa principa)$ se )e asi(na una c)ase en +.. de no bre Pcajape/P. Posterior ente se de#inen otras 3 capas con sus respectivas c)ases$ de )as cua)es so)a ente )as 2 pri eras tienen a)(In contenido2 )a pri era cdi(o se >a obviado para au entar )a )e(ibi)idadH. ;o 4s destacab)e es /ue ade 4s de) contenido de#inido en e) cdi(o :9M;$ se ostrar con cada subcapa de )a uestra e) t,tu)o EE) 9ie poF y )a se(unda )a in#or acin propia ente sobre e) tie po Gcuyo

recurre a +.. para de#inir una i a(en de #ondo a

principa)$ independiente ente de si e0iste o no contenido en :9M;. "e esta #or a$ cada subcapa contiene una parte de )a i a(en #ina) de )a caja EE) 9ie poF. 1si is o se uti)i7a +.. para corre(ir )a posicin de cada parte$ buscando )a unin de todas e))as para ostrar una i a(en #ina) conti(ua. Por este otivo$ a pesar de /ue )a subcapa cuya c)ase +.. es Pcajape/QabajoP est4 vac,a de contenido en :9M;$ es preciso de#inir)a para posterior ente ap)icar)e una i a(en de #ondo en +.. G)a parte de )a i a(en in#erior /ue cierre )a i a(en ()oba) de )a capa sobre EE) 9ie poFH. 1 continuacin se uestra en )a *i(ura 5.%.1.-.$ )a i p)e entacin en +.. de )as

c)ases asociadas a )a caja anterior2

1!-

.cajape/ Z Didt>2 2%9p0X ar(in2 1!p0 ! ! 82!p0X co)or2 a111X [ .cajape/ a Z co)or2 a!2%b-bX te0t8decoration2 noneX [ .cajape/ a2 >over Z co)or2 a###1a6X #ont8Dei(>t2 bo)dX te0t8s>adoD21p0 1p0 a1-3%%bX te0t8decoration2 under)ineX [ .cajape/Qarriba Z Didt>2 2%9p0X >ei(>t2 %%p0X bac](round8i a(e2 ur)GN..Mi a(esMcajape/Qarriba.pn(NHX bac](round8position2 top )e#tX bac](round8repeat2 no8repeatX co)or2 aeeeX [ .cajape/Qarriba >3 Z paddin(2 13p0 ! ! %5p0X #ont8si7e2 12!^X te0t8s>adoD2! 2p0 a1-3%%bX [ .cajape/Qcentro Z Didt>2 2%9p0X paddin(2 ! 2-p0 ! 35p0X bac](round8i a(e2 ur)GN..Mi a(esMcajape/Qcentro.pn(NHX bac](round8repeat2 repeat8yX over#)oD2 >iddenX [ .cajape/Qcentro p Z ar(in2 !X paddin(2 ! 2!p0 ! !X #ont8si7e2 9!^X [ .cajape/Qabajo Z Didt>2 2%9p0X >ei(>t2 19p0X bac](round8i a(e2 ur)GN..Mi a(esMcajape/Qabajo.pn(NHX bac](round8position2 botto )e#tX bac](round8repeat2 no8repeatX [

Fi$! R!Q!J!T L )mplementaci&n en +-- de las clases asociadas a la ca(a F*l 5iempoG

.e observa en e) cdi(o +.. anterior c o son de#inidas )as i 4(enes de #ondo /ue con#or an )a i a(en de )a caja #ina)$ as, co o )as instrucciones necesarias para >acer /ue Bstas se vean unidas y de #or a conti(ua$ entre otras. ObsBrvese ta biBn co o )a c)ase Pcajape/P asociada a )a capa principa)$ no contiene nin(una i a(en de #ondo puesto /ue su co etido no es otro /ue e) de contener a )as subcapas$ de#iniendo as, una estructura #ina) /ue pueda ser *ina) ente se anipu)ada co o un todo.

uestra en )a *i(ura 5.%.1.9 una captura de )a caja #ina) /ue

1!9

acaba os de describir en base a )a i p)e entacin vista en +.. y :9M;$ aco pa54ndose de) es/ue a de c)ases de#inido.

Fi$! R!Q!J!U 2 *structura de capas de la ca(a que contiene la informaci&n so"re /*l 5iempo/

Kna ve7 >an sido tratados )os aspectos de presentacin$ se describen a continuacin )os e)e entos /ue per iten interactuar con )os is os2

M(,* 0( ,%>(<%&-D, $.-,&-$%4 2MENU PPAL.5 G*i(. 5.%.1.1!H 3ajo )a cabecera /ue e0>ibe e) t,tu)o$ se >abi)ita una barra de nave(acin >ori7onta) con en)aces a )as di#erentes secciones principa)es de) porta)$ con un co porta iento din4 ico Gun e#ecto tipo Ppesta5a activaP rea)7a )a seccin actua)H. +abe destacar /ue )os e#ectos din4 icos >an sido i p)e entados Inica ente en +..$ sin precisar de a5adir parte a)(una de cdi(o en <ava.cript.

Fi$! R!Q!J!JK L 7en< de nave$aci&n principal

"uscador en modo /sencillo/

Mencin especia) aparte re/uiere )a estrate(ia e p)eada$ uti)i7ando :9M; y +..$

11!

para i p)e entar )a barra de nave(acin anterior.

Rdiv idbNtop8navNS Ru) idbNnaviNS dnave(ador b arrayGNI6I+ION bS Ninde0Quser.p>peN$ N6O9I+I1.N bS NnoticiasQpub)ic.p>peN$ N1LE6"1N bS Na(endaQpub)ic.p>peN$ N9&1MI9E.N bS Ntra itesQpub)ic.p>pe )istQtra itesfN$ N*O&O.N bS N#orosQuser.p>pe)istQtopicsfNHX #oreac> Gdnave(ador as dc)ave bS dva)orH Z i# GdQLE9TNpa(NU bb dc)aveH ec>o N R)i c)assbgNcurrentQpa(eQite gNS Ra >re#bgNdnave(adorTdc)aveUpa(bdc)avegNSdc)aveRMaS RM)iSNX e)se ec>o N R)iS Ra >re#bgNdnave(adorTdc)aveUpa(bdc)avegNSdc)aveRMaS RM)iSNX [ RMu)S RMdivS Rc88 end o# top8nav88S

Fi$! R!Q!J!JJ L )mplementaci&n C574 para la "arra de nave$aci&n principal

.e observa en )a *i(ura 5.%.1.1 c o son (eneradas )as distintas opciones de )a barra de nave(acin$ e p)eando para e))o una estructura de tipo vector. +ada e)e ento de) is o est4 representado por un par Gc)ave \ va)orH donde )a c)ave enI Ge) t,tu)o de una seccinH is a. ientras /ue su va)or es e) contiene una opcin de)

no bre de) arc>ivo /ue contiene )a p4(ina Deb de )a seccin. Es decir$ se asocia )a p4(ina de un seccin a) t,tu)o de )a

Posterior ente$ se recorre cada e)e ento de) vector$ i pri iBndose en panta))a e) t,tu)o de cada opcin de) enI Ge) no bre de )a c)aveH$ a) is o tie po /ue se )e

111

asocia un en)ace a )a p4(ina Deb /ue contiene dic>a seccin Ge) va)or EapuntadoF por )a c)aveH. Para reso)ver e) apartado din4 ico Gse resa)ta )a seccin actua) con un e#ecto tipo Epesta5aFH$ se recurre a variab)es enviadas cuando se i pri e cada opcin de) ediante e) Btodo LE9. "e este odo$ enI asoci4ndose)e un en)ace a )a p4(ina Deb de

)a seccin a /ue corresponde$ se a5ade ade 4s a )a parte #ina) de) en)ace$ una variab)e de no bre Ppa(P cuyo va)or ser4 precisa ente )a c)ave de) e)e ento en cuestin Gesto es$ e) t,tu)o de )a opcin de) enIH. "e esta #or a$ antes de i pri ir cada opcin de) Btodo LE9 y se )e asi(na )a c)ase ostrarse un e)e ento activo de) enI se revisa e) va)or de Ppa(P enviado a travBs de) contiene precisa ente )a descripcin de c o debe enI$ esto es$ e) e#ecto de resa)tado re#erido antes.

+.. PcurrentQpa(eQite P s)o en e) de coincidir con )a seccin actua). Esta c)ase +..

atop8nav a2>over Z te0t8decoration2 under)ineX #ont8si7e2 15!^X [ atop8nav u) Z paddin(2 !X [ atop8nav )i Z paddin(8)e#t2 1!p0X [ anavi Z >ei(>t2 6!p0X [ anavi$ anavi u) Z )ist8sty)e2 noneX )ine8>ei(>t2 1X 78inde02 1!!X paddin(2 !X [ anavi a Z disp)ay2 b)oc]X )ine8>ei(>t2 25p0X 78inde02 1!!X paddin(2 ! 1!p0X co)or2a!!!X #ont8si7e2 1%p0X #ont8Dei(>t2 7!!X [ anavi )i Z #)oat2 )e#tX )ine8>ei(>t2 3!p0X ar(in2 !X [ anavi )i a Z co)or2a###X te0t8decoration2 noneX paddin(2 ! ! ! 16p0X te0t8s>adoD2 ! 1p0 a1-3%%bX #ont8si7e2 1%!^X [ anavi )i a span Z disp)ay2 in)ine8b)oc]X >ei(>t23!p0X paddin(2 5p0 15p0 5p0 5p0X [ anavi )i a2 >over$ anavi )i.active a$ anavi )i.currentQpa(eQite a Z bac](round2 ur)G..Mi a(esMtop8nav8)e#t.pn(H no8repeat )e#tX co)or2 a#dd967X cursor2 pointerX te0t8decoration2 noneX [ anavi )i.active a span$ anavi )i.currentQpa(eQite a span$ anavi )i a2 >over span Z bac](round2 ur)G..Mi a(esMtop8nav8)ar(o.pn(H no8repeat ri(>tX te0t8s>adoD2 ! 2p0 a222X [

Fi$! R!Q!J!J% L )mplementaci&n +-- para la "arra de nave$aci&n principal

112

1)(unos aspectos a destacar de) cdi(o +..

ostrado en )a *i(ura 5.%.1.12 son2

)a de#inicin de )a i a(en de #ondo a uti)i7ar para e) resa)tado de )a opcin de) enI. Es preciso dividir )a i a(en en 2 partes Gi7/uierda y derec>aH. "e esta #or a$ )a pa)abra. is a puede crecer para adaptarse a )a )on(itud de cua)/uier

)a disposicin en >ori7onta) de )a )ista /ue contiene )os e)e entos de )a barra de nave(acin. )a de#inicin de) e#ecto de so bra para )os t,tu)os de )as di#erentes opciones de) enI.

M(,N I,81.7%&-D, A3*,+%7-(,+1F M*,-&-$-1 3 S(.>-&-1/ 2INFO. AYTO5 G*i(. 5.%.1.13H .obre )a co)u na i7/uierda se dedica un 4rea a )a parte uti)i7a para e))o un /ue #ue 4s est4tica de) porta)$ is a estrate(ia esto es$ en)aces a )a in#or acin sobre e) 1yunta iento$ e) Municipio y )os .ervicios. .e enI vertica) din4 ico i p)e entado si(uiendo )a enI >ori7onta) principa). ostrada para e)

M(,N 1$&-1,(/ */*%.-1/ *i(. 5.%.1.1%H En a/ue))os apartados /ue re/uieren interaccin con e) Ksuario Gtra itaciones$ participar en #oros$ etcH$ ser4n ostrados en)aces a )as diversas opciones posib)es de is o. .e co prueba con este #in actuacin. Estas opciones ca biar4n en #uncin de )a seccin en /ue se encuentre e) usuario as, co o de )os privi)e(ios de /ue dispon(a e) e) va)or de )a variab)e de sesin Pcate(oriaP. M(,N $-( 0( $A<-,% G*i(. 5.%.1.15H E) pie de p4(ina contiene una repeticin de en)aces a )os apartados o servicios de ayor popu)aridad ade 4s de una i a(en panor4 ica de #ondo /ue e0>ibe una de )as 7onas 4s tur,sticas de) pueb)o2 )a 9orre de Paterna.

113

Fi$! R!Q!J!J: L 7enu )nfo! A to (parte esttica)

Fi$! R!Q!J!JQ L 7en< de opciones de usuario

Fi$! R!Q!J!JR L *nlaces a pie de p$ina

11%

*/&%01. G*i(. 5.%.1.16H E) buscador >a sido inte(rado en una caja co o dispondr4 de 2 versiones2 una si p)e /ue ser4 4s avan7ada$ /ue ser4 uestra )a i a(en. E) is o ostrada para )a p4(ina principa) y otra

ostrada en e) resto de p4(inas. ;a versin avan7ada per itir4

a) usuario )i itar )a bIs/ueda a )a seccin actua) o bien iniciar)a en todo e) porta).

Fi$! R!Q!J!S L +a(a del "uscador en su versi&n avan1ada!

U/*%.-1/ G*i(. 5.%.1.17H +aja /ue per ite autenticarse$ as, co o ta biBn ostrar )a in#or acin re#erente a) usuario autenticado y otras opciones G odi#icar su per#i)$ cerrar )a sesinH. .e trata de un e)e ento destacado /ue sie pre dispondr4 de una ubicacin #ija$ >abitua) ente pre#erente en )a co)u na derec>a Gp4(ina principa)H o bien i7/uierda Gresto de p4(inasH.

Fi$! R!Q!J!J; L +a(a dedicada al apartado .suarios

En este apartado$ se e0pondr4n a)(unas secciones de cdi(o /ue i p)e entan )as #unciones o procesos /ue #or an parte de) nive) de 6e(ocio. Por cuestiones obvias de e0tensin$ Inica ente se p)as an a/uB))as cuya re)evancia sea destacada.

115

V-/*%4-G%&-D, 0( 4% $A<-,% $.-,&-$%4. R(*@-&%&-D, 0-,A7-&% 0( 4%/ &%C%/.


;a p4(ina principa) contendr4 5 cajas dedicadas a diversas secciones$ cuya ubicacin no ser4 #ija sino din4 ica. ;a posicin /ue ocupen dentro de )a p4(ina principa) estar4 re)acionada con )a #recuencia con /ue e) usuario >a visitado antes cada una de esas secciones Gubicacin 4s arriba para cajas con ayor puntuacinH.

E) 4rea principa) de contenidos contendr4 3 de esas cajas din4 icas$ concreta ente )as dedicadas 6oticias$ Eventos y *oros$ ientras /ue )a co)u na )atera) derec>a contendr4 )as 2 cajas restantes$ en este caso$ )as dedicadas a )as secciones E) 9ie po y +a))ejero. Estas cajas aparecer4n por orden de pre#erencia Garriba )as de )as secciones 4s visitadas por e) usuarioH.

+ada ve7 /ue un usuario visita una seccin de )as 5 citadas anterior ente$ es au entado e) contador asociado a )a seccin en cuestin. ;os contadores se encuentran a) acenados en )a 3ase de "atos$ en )a tab)a Ppre#erenciasQusuariosP. E) cdi(o de )a #uncin /ue au enta e) contador de una seccin$ se continuacin$ as, co o e) cdi(o de )a #uncin /ue )i ita e) va)or e)evadosH2 uestra a 40i o /ue puede

a)can7ar un contador Gpara evitar /ue )os contadores a)cance va)ores innecesaria ente

#unction resetearQpre#erenciasGH Z MMdivide entre 1! e) contador de cada seccin dobtenerQpre#erQs/) b N.E;E+9 noticias$ eventos$ #oros$ tie po$ ca))ejero *&OM pre#erenciasQusuarios J:E&E userna e b PN.dQ.E..IO6TNuserna eNU.NPNX d ys/)i b do"3GHX dobtenerQpre#erQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpre#erQs/)H or dieG ys/)iQerrorGd ys/)iHHX dpre#erQin#o b ys/)iQ#etc>QarrayGdobtenerQpre#erQresHX #oreac>G dpre#erQin#o as dvariab)e bS dva)or H Z dpre#erQin#oTdvariab)eU b cei)Gdpre#erQin#oTdvariab)eU M 1!HX MM cei) ca)cu)a )a div entera$ redondeando por arriba [ dactua)i7arQpre#erQs/) b NKP"19E pre#erenciasQusuarios .E9 noticias b dpre#erQin#oT!U$ eventos b dpre#erQin#oT1U$ #oros b dpre#erQin#oT2U$ tie po b dpre#erQin#oT3U$ ca))ejero b dpre#erQin#oT%U J:E&E userna e b

116

PN.dQ.E..IO6TNuserna eNU.NPNX dactua)i7arQpre#erQres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQpre#erQs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdobtenerQpre#erQresHX ys/)iQ#reeQresu)tGdactua)i7arQpre#erQresHX ys/)iQc)oseGd ys/)iHX [ MM end o# #unction resetearQpre#erenciasGH

#unction au entarQpre#erenciasGdseccionH Z dobtenerQpre#erenciasQs/) b N.E;E+9 dseccion *&OM pre#erenciasQusuarios J:E&E userna e b PN.dQ.E..IO6TNuserna eNU.NPNX d ys/)i b do"3GHX dobtenerQpre#erenciasQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpre#erenciasQs/)H or dieG ys/)iQerrorGd ys/)iHHX dpre#erenciasQin#o b ys/)iQ#etc>QarrayGdobtenerQpre#erenciasQresHX i# Gdpre#erenciasQin#oT!U bb 9999H Z MM )i ita os e) va)or 40i o de un contador a 1!.!!!. +uando a)(uno a)cance este va)or$ se dividen todos entre 1!. dnuevoQran]in( b 1!!!X resetearQpre#erenciasGHX [ e)se dnuevoQran]in( b dpre#erenciasQin#oT!U _ 1X dactua)i7arQpre#erenciasQs/) b NKP"19E pre#erenciasQusuarios .E9 dseccion b dnuevoQran]in( J:E&E userna e b PN.dQ.E..IO6TNuserna eNU.NPNX dactua)i7arQpre#erenciasQres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQpre#erenciasQs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdobtenerQpre#erenciasQresHX ys/)iQ#reeQresu)tGdactua)i7arQpre#erenciasQresHX ys/)iQc)oseGd ys/)iHX [ MM end o# #unction au entarQpre#erenciasGH

.e

uestra a continuacin e) cdi(o de )a #uncin encar(ada de obtener )os is a #uncin sobre )as cajas de) 4rea )atera)

contadores asociados a )as cajas de) 4rea principa) de contenidos Gse >a obviado representar e) cdi(o /ue rea)i7a )a

117

derec>o$ por ser an4)o(oH. ;a #uncin devue)ve un vector ordenado de pre#erencia de )a seccin en cuestin.

ayor a

enor

#unction obtenerQpre#sQcaja(ranGH Z MMobtiene un vector con )as cajas (randes de )a 7ona centra) de) Debsite$ ordenadas de ayor a enor pre#erencias se(In e) usuario consu)te 4s unas cajas u otras. ;as pri eras de) vector ser4n )as 4s visitadas por e) usuario. dobtenerQpre#s(ranQs/) b N.E;E+9 noticias$ eventos$ #oros *&OM pre#erenciasQusuarios J:E&E userna e b PN.dQ.E..IO6TNuserna eNU.NPNX d ys/)i b do"3GHX dobtenerQpre#s(ranQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpre#s(ranQs/)H or dieG ys/)iQerrorGd ys/)iHHX din#oQpre#s(ran b ys/)iQ#etc>QassocGdobtenerQpre#s(ranQresHX arsortGdin#oQpre#s(ranHX return din#oQpre#s(ranX ys/)iQ#reeQresu)tGdobtenerQpre#s(ranQresHX ys/)iQc)oseGHX [ MM end o# #uction obtenerQpre#sQcaja(ranGH

Kna ve7 obtenido e) vector$ desde )a p4(ina principa) se recorre cada uno de sus e)e entos y para cada uno de e))os$ se invoca a )a #uncin /ue i pri e por panta))a )a caja con sus contenidos de )a seccin indicada por e) e)e ento en cuestin.

#unction i pri irQpre#sQcajas(ranGdseccionH Z dsa)idaQp>p b N Rdiv c)assbgNcaja(randegNS Rdiv c)assbgNcaja(randeQarribagNSNX sDitc>GdseccionH Z case PnoticiasP2 dobtenerQnoticiasQs/) b N.E;E+9 id$ titu)ar$ te0to$ i a(en$ #ec>a *&OM noticias O&"E& 3A #ec>a "E.+ ;IMI9 !$ 3NX MM obtene os )as 3 noticias recientes para ostrar)as en )a p4(ina principa) de) Debsite

4s

11-

d ys/)i b do"3GHX dobtenerQnoticiasQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiasQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .b N R>3S`)ti as 6oticiasRM>3S RMdivS Rdiv c)assbgNcaja(randeQcentrogNSNX dnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresHX dnoticiaQi a(en b NnoticiasMN.dnoticiaQin#oTPi a(enPUX dnoticiaQtitu)ar b dnoticiaQin#oTPtitu)arPUX d#ec>aQte p b e0p)odeGN N$ dnoticiaQin#oTP#ec>aPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX dnoticiaQ#ec>a b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N.d#ec>aQte pT!UX dnoticiaQte0to b dnoticiaQin#oTPte0toPUX dsa)idaQp>p .b N RpSRstron(SdnoticiaQtitu)arRMstron(SRbrS Rspan sty)ebgN#ont8si7e29!^X#ont8sty)e2ita)icXgNSdnoticiaQ#ec>aRMspanS Ri ( srcbgNdnoticiaQi a(engN Didt>bgN2!!gN >ei(>tbgN2!5gN a)tbgN*otoQnoticiagN c)assbgNi a(enQnoticiagN MS Rdiv c)assbgNte0toQnoticiagNS dnoticiaQte0to RMdivSRMpSNX D>i)e GdnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresHH Z dnoticiaQtitu)ar b dnoticiaQin#oTPtitu)arPUX dnoticiaQid b dnoticiaQin#oTPidPUX d#ec>aQte p b e0p)odeGN N$ dnoticiaQin#oTP#ec>aPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX dnoticiaQ#ec>a b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N. d#ec>aQte pT!UX dsa)idaQp>p .b N R>rSRpS 88S Rstron(SRa >re#bgNjavascript2eventJindoD GPdeta))esQnoticia.p>peidbdnoticiaQidPHgNSN.dnoticiaQ#ec>a.N 8 N. dnoticiaQtitu)ar.NRMstron(SRMaSRMpSNX [ ys/)iQ#reeQresu)tGdobtenerQnoticiasQresHX dsa)idaQp>p .b N R>rSRpS S S S S S S Rspan sty)ebgN#ont8si7e212!^XgNSRstron(SRa >re#bgNnoticiasQpub)ic.p>pepa(b6O9I+I1.gNS 'E& 9O"1. ;1. 6O9I+I1.

119

RMstron(SRMspanSRMaS R R R R R R R RMpSNX brea]X case PeventosP2 dobtenerQeventosQs/) b N.E;E+9 id$ titu)oQevento$ inicioQevento *&OM ca)endarioQeventos O&"E& 3A inicioQevento "E.+ ;IMI9 !$ 5NX d ys/)i b do"3GHX dobtenerQeventosQres b ys/)iQ/ueryGd ys/)i$ dobtenerQeventosQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .bN R>3S`)ti os EventosRM>3S RMdivS Rdiv c)assbgNcaja(randeQcentrogNS RpSNX D>i)e GdeventoQin#o b ys/)iQ#etc>QarrayGdobtenerQeventosQresHH Z deventoQid b deventoQin#oTPidPUX deventoQtitu)ar b deventoQin#oTPtitu)oQeventoPUX d#ec>aQte p b e0p)odeGN N$ deventoQin#oTPinicioQeventoPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX deventoQinicio b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N. d#ec>aQte pT!UX dsa)idaQp>p .b N RpSRstron(S Ra >re#bgNjavascript2eventJindoDGPdeta))esQevento.p>peidb deventoQidPHgNSdeventoQinicio2 Rspan sty)ebgN#ont8si7e212!^XgNS deventoQtitu)arRMaSRMstron(SRMpSR>rSNX [ dsa)idaQp>p .b N RpS S S S S S S Rspan sty)ebgN#ont8si7e212!^XgNSRstron(S Ra >re#bgNa(endaQpub)ic.p>pepa(b1LE6"1gNS 'E& 9O"O. ;O. E'E69O. RMstron(SRMspanSRMaS R R R R R R R RMpSRMpSNX ys/)iQ#reeQresu)tGdobtenerQeventosQresHX brea]X

12!

case P#orosP2 dobtenerQpostsQs/) b N.E;E+9 postQte0to$ postQ#ec>a$ postQprop *&OM #oroQposts O&"E& 3A postQ#ec>a ;IMI9 !$ 3NX d ys/)i b do"3GHX dobtenerQpostsQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpostsQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .b N R>3SMensajes *orosRM>3S RMdivS Rdiv c)assbgNcaja(randeQcentrogNS RpSNX D>i)e GdpostQin#o b ys/)iQ#etc>QarrayGdobtenerQpostsQresHH Z dpostQte0to b dpostQin#oTPpostQte0toPUX d#ec>aQte p b e0p)odeGN N$ dpostQin#oTPpostQ#ec>aPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX dpostQ#ec>a b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N.d#ec>aQte pT!UX dpostQprop b dpostQin#oTPpostQpropPUX dsa)idaQp>p .b N RpSRstron(SRspan sty)ebgNco)or2a951316X #ont8si7e29!^XgNS dpostQte0toRMspanSRMstron(SRbrS Rspan sty)ebgN#ont8sty)e2ita)icX#ont8si7e2-!^XgNS RbrSPosteado por2 dpostQprop con #ec>a2 dpostQ#ec>aRMpSR>rSNX [ dsa)idaQp>p .b N RpS S S S S S S Rspan sty)ebgN#ont8si7e212!^XgNSRstron(S Ra >re#bgN#orosQuser.p>pe)istQtopicsepa(b*O&O.gNS I& a )os *O&O. RMstron(SRMspanSRMaS R R R R R R R RMpSRMpSNX ys/)iQ#reeQresu)tGdobtenerQpostsQresHX brea]X [X dsa)idaQp>p .b N RMdivS Rc88 end o# cajacentro 88S Rdiv c)assbgNcaja(randeQabajogNSRMdivS RMdivS Rc88 end o# caja(rande 88SNX ec>o dsa)idaQp>pX ys/)iQc)oseGHX [ MMend o# #unction i pri irQpre#sQcajas(ranGdseccionH

121

.e

uestra a continuacin e) breve cdi(o /ue se precisa en )a p4(ina principa)

para coordinar )as #unciones vistas anterior ente.

Rep>p dpre#sQcaja(ran b obtenerQpre#sQcaja(ranGHX #oreac> Gdpre#sQcaja(ran as dc)ave bS dva)orH Z i pri irQpre#sQcajas(ranGdc)aveHX [ eS

C1,+.14 3 (,>O1 0( N(?/4(++(..


E) siste a env,a auto 4tica ente un bo)et,n GneDs)etterH cada /ue ve7 /ue se incorporan 1! nuevos e)e entos a )a base de datos$ ya sean de tipo noticias o eventos. 6o obstante$ un usuario puede estar subscrito en una de )as 3 variaciones de neDs)etter posib)es2 s)o noticias$ s)o eventos o a bos G()oba)H. E) siste a s)o debe enviar bo)etines con )os I)ti os 1! e)e entos incorporados$ no debiendo inc)uir nin(uno de estos e)e entos en #uturos bo)etines. Por este otivo$ e) siste a contro)ar4 de #or a per anente )a cantidad de nuevo e)e entos pendientes de env,o$ para cada una de )os 3 tipos de neDs)etter. 'ea os un senci))o eje p)o /ue ayude a co prender esta estrate(ia2 .i en e) caso particu)ar de una neDs)etter de tipo ()oba)$ e0istiesen 3 noticias y 6 eventos pendientes de env,o$ cuando se produ7ca )a si(uiente incorporacin Gde) tipo /ue seaH$ e) siste a deber4 construir un bo)et,n con esos e)e entos y enviar)o s)o a a/ue))os usuarios subscritos en e) tipo de neDs)etter ()oba). ;a accin /ue desencadena e) env,o de una neDs)etter$ )(ica ente tendr4 )u(ar cuando un usuario de tipo #uncionario G1d inistrador o InterinoH$ inserta un nuevo

122

e)e ento en )a base de datos. En ese preciso instante$ e) siste a veri#ica si se cu p)en )as condiciones para construir y enviar un bo)et,n$ para )os 3 tipos e0istentes de) is o.

+abe destacar de) a)(orit o dise5ado para cu p)ir con )os re/uisitos anteriores$ /ue ser4n necesarios % contadores o ,ndices distintos /ue se a) acenar4n en una tab)a de )a base de datos y cuyo co etido es e) si(uiente 2 un contador para contro)ar e) env,o de una neDs)etter parcia) de tipo noticias. +uando este contador ))e(ue a 1!$ se resetea y a continuacin se env,a una neDs)etter con )as I)ti as 1! noticias e0istentes en )a 3ase de "atos. un contador para contro)ar e) env,o de una neDs)etter parcia) de tipo eventos$ si(uiendo e) is o modus operandi /ue en e) caso anterior. "os contadores para contro)ar e) env,o de una neDs)etter ()oba). Kno para contabi)i7ar cu4ntos e)e entos deben ser inc)uidos de) tipo noticias y otro para contabi)i7ar cu4ntos de) tipo eventos. Obvia ente$ deber4 ser enviada )a neDs)etter cuando a bos contadores su en un va)or de 1!. .e uestra a continuacin e) cdi(o encar(ado de (estionar cu4ndo debe ser

enviada una neDs)etter$ si(uiendo )a estrate(ia descrita2

#unction ad inistrarQneDs)etterGdtipoH Z Mhse obtienen de )a 3" )os contadores asociados a )a cantidad de e)e entos pendientes de env,o$ atendiendo a) tipo de neDs)etterhM dobtenerQptesQenvioQs/) b N.E;E+9 h *&OM contro)QneDs)etterNX d ys/)i b do"3GHX dobtenerQptesQenvioQres b ys/)iQ/ueryGd ys/)i$ dobtenerQptesQenvioQs/)H or dieG ys/)iQerrorGd ys/)iHHX D>i)e G dptesQenvioQin#o b ys/)iQ#etc>QarrayGdobtenerQptesQenvioQresH H Z i# GdptesQenvioQin#oTPtipoQneDs)etterPU bb NnoticiasNH Z dptesQ()oba)Qnoticias b dptesQenvioQin#oTPpendientesQ()oba)PUX dptesQindividua)Qnoticias b dptesQenvioQin#oTPpendientesQindividua)PUX [ e)se Z dptesQ()oba)Qeventos b dptesQenvioQin#oTPpendientesQ()oba)PUX

123

dptesQindividua)Qeventos b dptesQenvioQin#oTPpendientesQindividua)PUX [ [ MMse incre entan )os contadores y si procede$ se envia neDs)etter i# Gdtipo bb NnoticiasNH Z MM si se >a insertado una noticia dptesQ()oba)Qnoticias__X i# GdptesQindividua)Qnoticias R 9H dptesQindividua)Qnoticias__X Mhse incre enta e) contador para e) tipo de neDs)etter parcia)8noticiashM e)se Z Mhse >an a)can7ado 1! nuevas noticias insertadas$ se resetea contador y se envia neDs)etter a a/ue))os subscriptores s)o de noticiashM dptesQindividua)Qnoticias b !X enviarQneDs)etterGNnoticiasNHX [ MMse actua)i7a contador en )a 3" dactua)i7arQptesQindividua)Qs/) b NKP"19E contro)QneDs)etter .E9 pendientesQindividua) b PdptesQindividua)QnoticiasP J:E&E tipoQneDs)etter b PnoticiasPNX dactua)i7arQptesQindividua)Qres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQptesQ individua)Qs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdactua)i7arQptesQindividua)QresHX [ e)se Z MMse >a insertado un e)e ento de tipo evento dptesQ()oba)Qeventos__X i# GdptesQindividua)Qeventos R 9H dptesQindividua)Qeventos__X e)se Z dptesQindividua)Qeventos b !X enviarQneDs)etterGNeventosNHX [ dactua)i7arQptesQindividua)Qs/) b NKP"19E contro)QneDs)etter .E9 pendientesQindividua) b PdptesQindividua)QeventosP J:E&E tipoQneDs)etter b PeventosPNX dactua)i7arQptesQindividua)Qres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQptesQ individua)Qs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdactua)i7arQptesQindividua)QresHX [ Mhsi entre noticias y eventos$ se a)can7a )a cantidad de 1! nuevos e)e entos insertados$ se env,a una neDs)etter de tipo ()oba)hM i# G GGdptesQ()oba)Qnoticias _ dptesQ()oba)QeventosH ^ 1!H bb ! H Z

12%

dactua)i7arQptesQ()oba)Qs/) b NKP"19E contro)QneDs)etter .E9 pendientesQ()oba) b P!PNX Mhse env,a neDs)etter$ indic4ndose ade 4s )a cantidad de e)e entos a inc)uir de cada tipohM dactua)i7arQptesQ()oba)Qres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQptesQ ()oba)Qs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdactua)i7arQptesQ()oba)QresHX enviarQneDs)etterGN()oba)N$ dptesQ()oba)Qnoticias$ dptesQ()oba)QeventosHX [ e)se Z i# Gdtipo bb NnoticiasNH dactua)i7arQptesQ()oba)Qs/) b NKP"19E contro)QneDs)etter .E9 pendientesQ()oba) b PdptesQ()oba)QnoticiasP J:E&E tipoQneDs)etter b PnoticiasPNX e)se dactua)i7arQptesQ()oba)Qs/) b NKP"19E contro)QneDs)etter .E9 pendientesQ()oba) b PdptesQ()oba)QeventosP J:E&E tipoQneDs)etter b PeventosPNX dactua)i7arQptesQ()oba)Qres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQptesQ ()oba)Qs/)H or dieG ys/)iQerrorGd ys/)iHHX [ ys/)iQ#reeQresu)tGdobtenerQptesQenvioQresHXX ys/)iQc)oseGd ys/)iHX [ MM*I6 #unction ad inistrarQneDs)etterGH

1 continuacin se

uestra )a i p)e entacin de )a #uncin encar(ada de

construir e) bo)et,n y enviar)o a )os usuarios subscriptos$ atendiendo a) tipo de neDs)etter2

#unction enviarQneDs)etterGdtipo$ dptesQ()oba)Qnoticias b !$ dptesQ()oba)Qeventos b !H Z ec>o NRpSRspan sty)ebgN#ont8si7e215!^X #ont8sty)e2ita)icX co)or2ad6%1!!XgNXS 6eDs)etter enviadaRMspanSRMpSRbrSRbrSNX dpara b Nnovedadesibo)etin.ayto8paterna.co NX dasunto b N3o)et,n novedades 1A9O. P19E&61NX dsa)idaQneDs)etter b NR>rS19E6+Ij62 6o respondas este ensaje$ si /uieres co unicarte con nosotros entra en2 >ttp2MMDDD.ayto8paterna.co McontactaM

125

P1&1 "1&.E "E 31<12 .i deseas dejar de recibir nuestros bo)etines debes darte de baja entrando en >ttp2MMDDD.ayto8paterna.co Mbo)etines En esa p4(ina encontrar4s un #or u)ario para introducir tu correo y darte de baja auto 4tica ente. Lracias por tu atencin y >asta pronto. R>rSNX d>eaders b NMIME8'ersion2 1.!grgnNX d>eaders .b N+ontent8type2 te0tM>t )X c>arsetbiso8--5981grgnNX d>eaders .b N*ro 2 neDs)etteriayto8paterna.co grgnNX d>eaders .b N3cc2NX i# Gdtipo bb NnoticiasNH Z dobtenerQnoticiasQs/) b N.E;E+9 titu)ar$ te0to$ i a(en$ #ec>a *&OM noticias O&"E& 3A #ec>a "E.+ ;IMI9 !$ 1!NX dobtenerQsubscriptoresQs/) b N.E;E+9 e ai) *&OM usuarios$ pre#erenciasQusuarios J:E&E usuarios.userna e b pre#erenciasQusuarios.userna e 16" neDs)etterbPnoticiasPNX d ys/)i b do"3GHX dobtenerQnoticiasQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiasQs/)H or dieG ys/)iQerrorGd ys/)iHHX dobtenerQsubscriptoresQres b ys/)iQ/ueryGd ys/)i$ dobtenerQsubscriptoresQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQneDs)etter .b NR>1S6eDs)etter 6oticiasRM>1SNX D>i)e GdnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresHH Z dtitu)ar b dnoticiaQin#oTNtitu)arNUX dte0to b dnoticiaQin#oTNte0toNUX di a(en b NMp#cMnoticiasMN.dnoticiaQin#oTNi a(enNUX d#ec>a b dnoticiaQin#oTN#ec>aNUX dsa)idaQneDs)etter .b N R>3S6oticia2 dtitu)arRbrS Rstron( sty)ebgN#ont8si7e26!^gNSd#ec>aRMstron(SRM>3S Ri ( srcbgNdi a(engN Didt>bgN256gN a)tbgN*otoQnoticiagNS RpSdte0toRMpSR>rSNX [ D>i)e GdsusbcriptorQin#o b ys/)iQ#etc>QarrayGdobtenerQsubscriptoresQresHH Z d>eaders .b dsusbcriptorQin#oTPe ai)PU.N$NX [ [

126

i# Gdtipo bb NeventosNH Z dobtenerQeventosQs/) b N.E;E+9 h *&OM ca)endarioQeventos O&"E& 3A id "E.+ ;IMI9 !$ 1!NX dobtenerQsubscriptoresQs/) b N.E;E+9 e ai) *&OM usuarios$ pre#erenciasQusuarios J:E&E usuarios.userna e b pre#erenciasQusuarios.userna e 16" neDs)etterbPeventosPNX d ys/)i b do"3GHX dobtenerQeventosQres b ys/)iQ/ueryGd ys/)i$ dobtenerQeventosQs/)H or dieG ys/)iQerrorGd ys/)iHHX dobtenerQsubscriptoresQres b ys/)iQ/ueryGd ys/)i$ dobtenerQsubscriptoresQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQneDs)etter b NR>1S6eDs)etter EventosRM>1SNX D>i)e GdeventoQin#o b ys/)iQ#etc>QarrayGdobtenerQeventosQresHH Z dtitu)oQevento b deventoQin#oTNtitu)oQeventoNUX ddescQevento b deventoQin#oTNdescQeventoNUX dinicioQevento b deventoQin#oTNinicioQeventoNUX dsa)idaQneDs)etter .b N R>3SEvento2 dtitu)oQeventoRbrS Rstron( sty)ebgN#ont8si7e26!^gNSdinicioQeventoRMstron(SRM>3S RpSddescQeventoRMpSR>rSNX [ D>i)e GdsusbcriptorQin#o b ys/)iQ#etc>QarrayGdobtenerQsubscriptoresQresHH Z d>eaders .b dsusbcriptorQin#oTPe ai)PU.N$NX [ [ i# Gdtipo bb N()oba)NH Z Mhse veri#ica si a) enos e0iste un e)e ento pendiente de env,o de) tipo noticias$ para no e#ecuar )a consu)ta a )a 3" de #or a innecesariahM i# GdptesQ()oba)Qnoticias S !H Z dobtenerQnoticiasQs/) b N.E;E+9 titu)ar$ te0to$ i a(en$ #ec>a *&OM noticias O&"E& 3A #ec>a "E.+ ;IMI9 !$ dptesQ()oba)QnoticiasNX d ys/)i b do"3GHX dobtenerQnoticiasQres b ys/)iQ/uery Gd ys/)i$ dobtenerQnoticiasQs/)H or dieG ys/)iQerrorGd ys/)iHHX [ i# GdptesQ()oba)Qeventos S !H Z dobtenerQeventosQs/) b N.E;E+9 h *&OM ca)endarioQeventos O&"E& 3A id "E.+ ;IMI9 !$ dptesQ()oba)QeventosNX

127

d ys/)i b do"3GHX dobtenerQeventosQres b ys/)iQ/uery Gd ys/)i$ dobtenerQeventosQs/)H or dieG ys/)iQerrorGd ys/)iHHX [ dobtenerQsubscriptoresQs/) b N.E;E+9 e ai) *&OM usuarios$ pre#erenciasQusuarios J:E&E usuarios.userna e b pre#erenciasQusuarios.userna e 16" neDs)etterbPtota)PNX dsa)idaQneDs)etter b NR>1S6eDs)etter 6oticias y EventosRM>1SNX i# GdptesQ()oba)Qnoticias S !H D>i)e GdnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresHH Z dtitu)ar b dnoticiaQin#oTNtitu)arNUX dte0to b dnoticiaQin#oTNte0toNUX di a(en b NMp#cMnoticiasMN.dnoticiaQin#oTNi a(enNUX d#ec>a b dnoticiaQin#oTN#ec>aNUX dsa)idaQneDs)etter .b N R>3S6oticia2 dtitu)arRbrS Rstron( sty)ebgN#ont8si7e26!^gNSd#ec>aRMstron(SRM>3S Ri ( srcbgNdi a(engN Didt>bgN256gN a)tbgN*otoQnoticiagNS RpSdte0toRMpSR>rSNX [ i# GdptesQ()oba)Qeventos S !H D>i)e GdeventoQin#o b ys/)iQ#etc>QarrayGdobtenerQeventosQresHH Z dtitu)oQevento b deventoQin#oTNtitu)oQeventoNUX ddescQevento b deventoQin#oTNdescQeventoNUX dinicioQevento b deventoQin#oTNinicioQeventoNUX dsa)idaQneDs)etter .b N R>3SEvento2 dtitu)oQeventoRbrS Rstron( sty)ebgN#ont8si7e26!^gNSdinicioQeventoRMstron(SRM>3S RpSddescQeventoRMpSR>rSNX [ D>i)e GdsusbcriptorQin#o b ys/)iQ#etc>QarrayGdobtenerQsubscriptoresQresHH Z d>eaders .b dsusbcriptorQin#oTPe ai)PU.N$NX [ [ d>eaders .bNgrgnNX ai)Gdpara$ dasunto$ dsa)idaQneDs)etter$ d>eadersHX

12-

ys/)iQ#reeQresu)tGdobtenerQnoticiasQresHX ys/)iQ#reeQresu)tGdobtenerQeventosQresHX ys/)iQ#reeQresu)tGdobtenerQsubscriptoresQresHX ys/)iQc)oseGd ys/)iHX [ MM*I6 #unction enviarQneDs)etterGH

A*+(,+-&%&-D, 0( */*%.-1/ 3 &-(..( 0( /(/-D,.


Kn usuario anni o puede autenticarse e p)eando un senci))o #or u)ario de dos ca pos GKserna e y PassDordH desde cua)/uier p4(ina de) porta). En todas e))as$ estar4 disponib)e e) 4rea de Ksuarios. ;a pri era co probacin /ue e) siste a e#ectIa a) recibir e) #or u)ario$ es veri#icar /ue e0ista una variab)e de tipo ocu)ta G>iddenH. En caso de e0istir$ contrasta si e0iste en )a 3ase de "atos$ a)(una coincidencia con )os datos enviados por e) usuario. Kna ve7 >a))ada coincidencia$ se inicia)i7an diversas variab)es de sesin con )os datos de consu)ta 4s #recuentes sobre e) usuario Ga destacar a/uB))a /ue indica /ue e0iste a)(In usuario autenticado o bien$ a/uB))a /ue in#or a sobre )os privi)e(ios de) is o H.

Kna ve7 >a sido va)idado e) usuario$ si Bste es de) tipo #uncionario$ se )e reenv,a a )a p4(ina de ad inistracin de contenidos. Para e) resto de usuario$ ser4n re itidos a )a p4(ina desde )a cua) e#ectuaron )a autenticacin$ se >abi)itar4 )a opcin de) ostrando ade 4s )as opciones a /ue ten(a derec>o se(In su cate(or,a Gpor eje p)o$ para un usuario de tipo &esidencia)$ enI principa) PO#icina 'irtua)PH.

En caso de /ue no se >a))ara coincidencia en )a 3ase de "atos$ se re ite a) usuario a )a p4(ina principa)$ in#or 4ndo)e ade 4s de )os otivos.

Por otro )ado$ e) siste a ta biBn se encar(a de desconectar o cerrar )a sesin de un usuario previa ente autenticado$ si as, )o >ubiera so)icitado. En este caso$ e) siste a recibir4 una variab)e de no bre P)o(outP ediante e) Btodo LE9$ desasi(nando a

129

continuacin todas )as variab)es de sesin e0istentes$ as, co o ta biBn e)i inando e) #ic>ero /ue a) acena e) identi#icados de sesin. Por I)ti o$ e) usuario es re itido a )a p4(ina principa).

Mhco proba os /ue e) usuario >a intentado autenticarse de #or a no Gen cuyo caso$ se recibir4 )a variab)e )o(in de tipo >iddenHhM i# GissetGdQPO.9TN)o(inNUHH Z e)i inarQta(sGHX duser b dQPO.9TPuserna ePUX dpsD b dQPO.9TPpassDordPUX

a)intencionada

MMse co prueba /ue e0ista coincidencia en )a 3" dbuscarQuserQs/) b N.E;E+9 userna e$ cate(oria$ no bre$ ape))ido1$ e ai) *&OM usuarios J:E&E userna ebPN.duser.NP and passDordbP1..JO&"GPN.dpsD.NPHNX do"3GHX dbuscarQuserQres b ys/)iQ/ueryGd ys/)i$ dbuscarQuserQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdbuscarQuserQresH S ! H Z Mhinicia)i7a os una variab)e de sesin$ /ue indicar4 a) siste a /ue e0iste un usuario autenticadohM dQ.E..IO6TNautenticadoNU b N1NX MMse a) acenan )os datos de #recuente consu)ta en variab)es de sesin D>i)e GduserQin#o b ys/)iQ#etc>QarrayGdbuscarQuserQresHH Z dQ.E..IO6TNuserna eNU b duserQin#oTPuserna ePUX dQ.E..IO6TNcate(oriaNU b duserQin#oTPcate(oriaPUX dQ.E..IO6TNno breQco pNU b duserQin#oTPno brePU.N N. duserQin#oTPape))ido1PUX dQ.E..IO6TNe ai)NU b duserQin#oTPe ai)PUX ys/)iQ#reeQresu)tGdbuscarQuserQresHX ys/)iQc)oseGd ys/)iHX [ MMse re ite a) usuario a )a p4(ina convenida$ atendiendo a sus privi)e(ios i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N H Z >eaderGN;ocation2 inde0Qad in.p>pNHX [ e)se sDitc>GdQPO.9TN)o(inNUH Z

13!

case NnoticiasN2 >eaderGN;ocation2 noticiasQpub)ic.p>pepa(b 6O9I+I1.NHX brea]X case Na(endaN2 >eaderGN;ocation2 a(endaQpub)ic.p>pepa(b E'E69O.NHX brea]X case Ntra itesN2 i# GdQ.E..IO6TNcate(oriaNU bb N&E.NH >eaderGN;ocation2 tra itesQuser.p>pepa(b O*I+. 'I&9K1;NHX e)se >eaderGN;ocation2 tra itesQpub)ic.p>pepa(b 9&1MI9E.NHX brea]X case N#orosN2 >eaderGN;ocation2 #orosQuser.p>pepa(b *O&O.NHX brea]X de#au)t2 >eaderGN;ocation2 sa)udo.p>pepa(bI6I+IONHX brea]X [X [ e)se Z MMe) usuario no >a sido encontrado en )a base de datos dQ.E..IO6TNautenticadoNU b N!NX >eaderGN;ocation2 inde0.p>pepa(bI6I+IONHX [ sessionQDriteQc)oseGHX Mhter ina )a sesin$ #or7ando e) a) acena iento de )os datos de sesin. `ti) para accesos concurrentes.hM [ i# GissetGdQLE9TN)o(outNUHH Z MMun usuario >a so)icitado desconectarse sessionQunsetGHX MM desasi(na )as variab)es de sesin sessionQdestroyGHX MMter ina sesin y borra su arc>ivo >eaderGN;ocation2 inde0.p>pe)o(outfpa(bI6I+IONHX [

131

"(/+-D, 0( +.%7-+%&-1,(/ 2O8-&-,% V-.+*%45.


;os usuarios de tipo &esidencia) pueden iniciar y (estionar tra itaciones de a/ue))os tr4 ites /ue estBn disponib)es para (estin on)ine. E) odus operandi es senci))o2 e) usuario inicia una tra itacin$ adjuntando si )o desea una noti#icacin u observacin$ tras )o cua)$ un usuario #uncionario reco(er4 esa tra itacin$ acept4ndo)a o rec>a74ndo)a Gd4ndose por conc)uidaH o bien re/uiriendo a)(una in#or acin de) usuario residencia) Gen cuyo caso$ adjuntar4 una noti#icacinH. Por tanto$ una tra itacin dispondr4 de un >istoria) de noti#icaciones$ en a)(unos casos$ co o EconversacinF entre usuario residencia) y #uncionario. .e uestra a continuacin un e0tracto de cdi(o$ e) cua) uestra )a pri era #ase edio de

de) proceso$ donde se e0>ibe a) usuario residencia) un #or u)ario in#or ando de )a tra itacin /ue est4 a punto de iniciar$ so)icitando su con#ir acin. En caso de /ue e) usuario con#ir e$ e) siste a insertar4 )a nueva tra itacin en )a 3ase de "atos$ adjuntando asi is o )a noti#icacin$ en caso )a >ubiere.

i# G dQ.E..IO6TNcate(oriaNU bb N&E.N H Z i# G cissetGdQPO.9TNcon#ir arNUH ff cissetGdQPO.9TNcance)arNUH H Z did b dQLE9TNidNUX dno bre b dQLE9TNno breNUX di porte b dQLE9TNi porteNUX dsa)idaQp>p b N R>2S9r4 ite I"2 did RbrSdno breRM>2SRpSRstron(SI porte2 di porte lRMstron(S RpSR#or actionbgNN.dQ.E&'E&TNP:PQ.E;*NU.NgN et>odbgNPO.9gNS Rstron(S1 continuacin indi/ue )as observaciones /ue desee adjuntar co o ane0o a )a tra itacin2RMstron(SRbrSRbrS Rte0tarea co)sbgN53gN roDsbgN-gN na ebgNnoti#icacionesgNSRMte0tareaS Rinput typebgN>iddengN na ebgNidgN va)uebdidSRbrSRbrS Rinput typebgNsub itgN na ebgNcon#ir argN va)uebgN+on#ir argNS Rinput typebgNsub itgN na ebgNcance)argN va)uebgN+ance)argNS RM#or SNX [ e)se Z i# GissetGdQPO.9TNcon#ir arNUHH Z e)i inarQta(sGHX

132

dnoti# b NRspan sty)ebgNco)or2a!2%b-bX #ont8Dei(>t2bo)dXgNSN. dQPO.9TNnoti#icacionesNU.NRMspanSNX did b dQPO.9TNidNUX d#ec>a b (etdateGHX d#ec>a b d#ec>aT dayU.N8N.d#ec>aT onU.N8N.d#ec>aTyearUX dnoti#icaciones b NRu)SR)iSKsuario gNN.dQ.E..IO6TNuserna eNU.NgN con *ec>a N.d#ec>a.N$ in#or a /ue2Ru)SR)iSgNN.dnoti#.NgNRM)iSRMu)SRM)iSRMu)SNX dinsertarQtra itacionQs/) b NI6.E&9 I69O tra itesQusuarios GidQtra $ userna e$ #ec>a$ estado$ >istQnoti#icacionesH '1;KE. GPdidP$ PN.dQ.E..IO6TNuserna eNU.NP$ noDGH$ PIniciadoP$ Pdnoti#icacionesPHNX do"3GHX dinsertarQtra itacionQres b ys/)iQ/ueryGd ys/)i$ dinsertarQtra itacionQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .b N R>2S9ra itacin enviada correcta ente. En breve$ ser4 revisada y actua)i7ado su estadoRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ i# GissetGdQPO.9TNcance)arNUHH dsa)idaQp>p .b N R>2S9ra itacin cance)adaRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ ys/)iQ#reeQresu)tGdinsertarQtra itacionQs/)HX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2S"ebes identi#icarte para poder acceder a O#icina 'itua)RM>2SNX

.e describe a continuacin e) cdi(o re)evante /ue #or a parte de )a se(unda #ase de una tra itacin. E) siste a recurre a esta i p)e entacin$ tanto en e) caso de un usuario #uncionario /ue >aya so)icitado a)(una noti#icacin a )a is a. odi#icar e) estado de )a tra itacin iniciada en )a pri era #ase o bien$ en e) caso de un usuario residencia) /ue >aya so)icitado incorporar

133

i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N kk dQ.E..IO6TNcate(oriaNU bb N&E.N H Z i# GissetGdQLE9TNidNUHH did b dQLE9TNidNUX i# GissetGdQPO.9TNidNUHH did b dQPO.9TNidNUX MMse obtiene e) >istoria) de noti#icaciones asociado a )a tra itacin dobtenerQnoti#icacionesQs/) b N.E;E+9 >istQnoti#icaciones *&OM tra itesQusuarios J:E&E id b PdidPNX do"3GHX dobtenerQnoti#icacionesQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoti#icacionesQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQnoti#icacionesQresH S !H Z dnoti#Qin#o b ys/)iQ#etc>QarrayGdobtenerQnoti#icacionesQresHX d>istQnoti#icaciones b dnoti#Qin#oTN>istQnoti#icacionesNUX [ e)se d>istQnoti#icaciones b N6o e0isten noti#icacionesNX MMsi e) usuario aIn no >a enviado e) #or u)ario$ se )e uestra i# G cissetGdQPO.9TNcon#ir arNUH ff cissetGdQPO.9TNcance)arNUH H Z did b dQLE9TNidNUX duserna e b dQLE9TNusNUX destado b dQLE9TNesNUX dsa)idaQp>p b N R>2SKsuario2 duserna eRbrSEstado actua)2 destadoRM>2S R#or actionbgNN.dQ.E&'E&TNP:PQ.E;*NU.NgN et>odbgNPO.9gNS R>3S:istrico noti#icaciones2RM>3S Rdiv idbgNnoti#icQ odi#Qtra itaciongNS d>istQnoti#icaciones RMdivSRbrSRbrSNX i# GdQ.E..IO6TNcate(oriaNU cb N&E.NH MMpara usuarios #uncionarios dsa)idaQp>p .b N R>3SIndi/ue un nuevo estado para )aRbrStra itacin2RM>3S Rinput typebgNradiogN na ebgNnuevoQestadogN va)uebgN&evisiongN c>ec]edS &evisin Rinput typebgNradiogN na ebgNnuevoQestadogN va)uebgN1probadogNS 1probado

13%

Rinput typebgNradiogN na ebgNnuevoQestadogN va)uebgN"ene(adogNS "ene(adoNX dsa)idaQp>p .b N RbrSRbrSRstron(SIn#or acin a noti#icar 2RMstron(SRbrS Rte0tarea co)sb53 roDsb- na ebgNnuevaQnoti#icaciongNSRMte0tareaS Rinput typebgN>iddengN na ebgNidgN va)uebdidSRbrSRbrS Rinput typebgNsub itgN na ebgNcon#ir argN va)uebgN+on#ir argNS Rinput typebgNsub itgN na ebgNcance)argN va)uebgN+ance)argNS NX [ e)se Z MMe) usuario >a enviado e) #or u)ario i# GissetGdQPO.9TNcon#ir arNUHH Z e)i inarQta(sGHX Mh)as noti#icaciones de un usuario #uncionario tendr4n un te0to de di#erente co)or /ue )as de un usuario residencia)hM dnuevaQnoti# b NRspan sty)ebgNco)or2aNX i# GdQ.E..IO6TNcate(oriaNU cb N&E.NH dnuevaQnoti# .bN!2%b-bNX e)se dnuevaQnoti# .bN%675%#NX dnuevaQnoti# .b NX #ont8Dei(>t2bo)dXgNSN.dQPO.9TNnuevaQnoti#icacionNU.NRMspanSNX did b dQPO.9TNidNUX d#ec>a b (etdateGHX d#ec>a b d#ec>aT dayU.N8N.d#ec>aT onU.N8N.d#ec>aTyearUX i# GdQ.E..IO6TNcate(oriaNU cb N&E.NH d>istQnoti#icaciones .b NRu)SR)iS*uncionario gNN.dQ.E..IO6TNuserna eNU.NgN con *ec>a N.d#ec>a.N$ noti#ica /ue2Ru)SR)iSgNN.dnuevaQnoti#. NgNRM)iSRMu)SRM)iSRMu)SNX e)se d>istQnoti#icaciones .b NRu)SR)iSKsuario gNN.dQ.E..IO6TNuserna eNU.NgN con *ec>a N. d#ec>a.N$ noti#ica /ue2Ru)SR)iSgNN.dnuevaQnoti#. NgNRM)iSRMu)SRM)iSRMu)SNX dactua)i7arQtra itacionQs/) b NKP"19E tra itesQusuarios .E9 >istQnoti#icaciones b Pd>istQnoti#icacionesPNX i# GdQ.E..IO6TNcate(oriaNU cb N&E.NH dactua)i7arQtra itacionQs/) .b N$ estado b PN.dQPO.9TNnuevoQestadoNU.NPNX dactua)i7arQtra itacionQs/) .b N J:E&E id b PdidPNX

135

do"3GHX dactua)i7arQtra itacionQres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQtra itacionQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .b N R>2S9ra itacin odi#icadaRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ i# GissetGdQPO.9TNcance)arNUHH dsa)idaQp>p .b N R>2SModi#icacin cance)adaRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ [ e)se dsa)idaQp>p b NR>2S6o dispones de per isos para acceder a este recurso.RM>2SNX ys/)iQ#reeQresu)tGdactua)i7arQtra itacionQresHX ys/)iQ#reeQresu)tGdobtenerQnoti#icacionesQresHX ys/)iQc)oseGd ys/)iHX

+o o se observa en )a i p)e entacin anterior$ )as noti#icaciones van siendo incre entadas y posterior ente actua)i7adas$ >aciBndose va)or para e))o de un Inico ca po de una tup)a Gtab)a Ptra itesQusuarioPH en )a 3ase de "atos. .e recurre a una tipo)o(,a de )etra de di#erente co)or$ entre otros$ con e) #in de au entar )a )e(ibi)idad de) >istrico de conversaciones Gnoti#icacionesH entre usuario residencia) y #uncionario. +abe destacar /ue e) cdi(o con )as acciones a adoptar por e) siste a$ tanto para e) caso de un usuario #uncionario co o residencia)$ se encuentra entre e7c)ado$ decidiBndose sobre )a arc>a /uB Eca inoF se(uir$ en base a senci))a instrucciones condiciona)es. "e este odo$ e) #or u)ario ostrado tanto a) usuario residencia) co o a) #uncionario es an4)o(o$ con )a di#erencia de /ue e) pri ero Inica ente tendr4 una opcin disponib)e$ )a de adjuntar una noti#icacin$ ientras /ue e) usuario #uncionario podr4 ade 4s a)terar e) estado de )a tra itacin. +ua)/uier odi#icacin e#ectuada tanto por uno co o por otro$ podr4 ser in ediata ente visua)i7ada tras con#ir ar )a is a.

136

C1,+.%/(B% 14>-0%0%. R(&*$(.%&-D,.


1/ue))os usuarios /ue no recuerden )a contrase5a para autenticacin$ podr4n en cua)/uier instante so)icitar una nueva. 3astar4 para e))o in(resar e) Kserna e y E ai). E) odus operandi i p)e entado es e) si(uiente 2 E) siste a veri#ica /ue e0iste una coincidencia en )a 3ase de "atos para )os datos in(resados por e) usuario en e) #or u)ario. .i no e0iste )a incidencia$ se in#or a a) usuario de )os otivos Ge) E ai) introducido no se corresponde con )a contrase5a$ o bien e) Kserna e no e0iste$ etcH y se )e invita a vo)ver a intentar)o. .i despuBs de )a veri#icacin anterior$ se encuentra una coincidencia$ se (enera una nueva contrase5a a partir de una pa)abra seccionada a) a7ar de un diccionario Ga) acenado en un #ic>eroH con i)es de pa)abras en in()Bs. 1de 4s$ para au entar )a is a$ un nI ero a)eatorio de se(uridad de )a contrase5a$ se )e adicionar4 a) #ina) de )a 3ase de "atos$ previo a su encriptado.

3 d,(itos. *ina) ente$ )a contrase5a es enviada a) usuario por correo y actua)i7ada en )a

i# GissetGdQPO.9TN#or QresetpsDQenviadoNUHH Z MMsi e) usuario >a enviado e) #or u)ario try Z i# Ge ptyGdQPO.9TNuserna eNUHH t>roD neD E0ceptionGP"ebe introducir un userna e.PHX i# Ge ptyGdQPO.9TNe ai)NUHH t>roD neD E0ceptionGP"ebe introducir un e ai).PHX [ catc> GE0ception deH Z ec>o NRpSRspan sty)ebgN#ont8si7e215!^X co)or2aa5271aXgNXSE&&O&2 N. de8S(etMessa(eGH.NRMspanSRpSNX [ i# Ge ptyGdeHH Z Mhsi no >ay errores$ se veri#ica /ue e) usuario e0ista$ aprovec>ando ade 4s para obtener su e ai)$ /ue ser4 reuti)i7ado 4s tardehM dobtenerQe ai)Qs/) b N.E;E+9 e ai) *&OM usuarios J:E&E userna e b PN.dQPO.9TNuserna eNU.NPNX do"3GHX dobtenerQe ai)Qres b ys/)iQ/ueryGd ys/)i$ dobtenerQe ai)Qs/)H or

137

dieG ys/)iQerrorGd ys/)iHHX de ai)Qin#o b ys/)iQ#etc>QarrayGdobtenerQe ai)QresHX de ai)Quser b de ai)Qin#oTPe ai)PUX try Z i# G ys/)iQnu QroDsGdobtenerQe ai)QresH bb !H Z t>roD neD E0ceptionGPE) usuario introducido no e0iste. Por #avor$ in(rese de nuevo un userna e v4)ido.PHX [ i# G G ys/)iQnu QroDsGdobtenerQe ai)QresH S !H ff GdQPO.9TNe ai)NU cb de ai)QuserH H Z t>roD neD E0ceptionGPE) e ai) no se corresponde con e) usuario introducido.PHX [ [ catc>GE0ception deH Z ec>o NRpSRspan sty)ebgN#ont8si7e215!^X co)or2aa5271aXgNXS E&&O&2 N.de8S(etMessa(eGH.NRMspanSRpSNX [ i# Ge ptyGdeHH Z dpa)abra b NNX MMse inicia)i7a )a contrase5a con un cadena vac,a MMindica os )a ruta a) arc>ivo con e) diccionario de pa)abras ddiccionario b N..MusrMdictMDordsMen()is>.!NX d#p b #openGddiccionario$ PrPHX i# Gcd#pH e0itX dta a5o b #i)esi7eGddiccionarioHX Mhnos situa os en un punto a)eatorio de) diccionario$ e) cua) podr,a caer en una posicin inter edia dentro de una pa)abrahM srand GGdoub)eH icroti eGHh1!!!!!!HX dposicionQa)eat b randG!$ dta a5oHX #see]Gd#p$ dposicionQa)eatHX Mhobtene os )a si(uiente pa)abra cuyo ta a5o sea e) correcto Gen este caso$ nro. de car4cteres per itido para )a contrase5aH. E) 40i o indicado es 17 por/ue )ue(o a5adire os >asta 3 d,(itos 4s para a5adir 4s se(uridad a )a contrase5ahM D>i)e G str)enGdpa)abraH R 6 kk str)enGdpa)abraH S 17 kk strstrGdpa)abra$ NPNH H Z MM strstr descarta pa)abras con apstro#es

13-

MM si se a)can7a e) #ina) de) diccionario$ se vue)ve a) principio i# G#eo#Gd#pHH #see]Gd#p$ !HX MMse )ee una ),nea$ pero se descarta esta pri era pa)abra$ ya /ue puede no estar co p)eta dpa)abra b #(etsGd#p$ -!HX dpa)abra b #(etsGd#p$ -!HX MMesta se(unda es correcta [ dpa)abra b tri Gdpa)abraHX MM para recortar e) gn #ina) de #(ets MMse au enta )a se(uridad$ a5adiBndose)e un nro. entre ! y 999 srand GGdoub)eH icroti eGHh1!!!!!!HX dnroQa)eat b randG!$ 999HX dneDQpassDord b dpa)abra.dnroQa)eatX MMse actua)i7a nueva contrase5a en )a 3" dca biarQpsDQs/) b N KP"19E usuarios .E9 passDord b P1..JO&"GPdneDQpassDordPH J:E&E userna e b PN.dQPO.9TNuserna eNU.NPNX dca biarQpsDQres b ys/)iQ/ueryGd ys/)i$ dca biarQpsDQs/)H or dieG ys/)iQerrorGd ys/)iHHX MMse in#or a por e ai) a) usuario$ de )a nueva contrase5a d ens b N9u contrase5a para e) porta) Jeb de) 1yto. de Paterna >a sido ca biada por )a si(uiente2 dneDQpassDord grgnNX d#ro b N*ro 2 supportiayto8paterna grgnNX ai)Gde ai)Quser$ P+ontrase5a odi#icada 8 Porta) 1yto. "e PaternaP$ d ens$ d#ro HX ys/)iQ#reeQresu)tGdca biarQpsDQresHX ys/)iQ#reeQresu)tGdobtenerQe ai)QresHX ys/)iQc)oseGd ys/)iHX dsa)idaQp>p b N R>2S+ontrase5a ca biada e0itosa ente.RbrSRbrS&evise su e ai) para conocer)a.RM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ [

139

[ e)se Z dsa)idaQp>p b N R>2SIntrodu7ca su Kserna e y su E8 ai) 2RM>2S R#or et>odbgNpostgNS Rstron(SKserna e2RMstron(S Rinput typebgNte0tgN na ebgNuserna egNSRbrSRbrS Rstron(SE8Mai)2RMstron(S Rinput typebgNte0tgN na ebgNe ai)gNSRbrSRbrS Rinput typebgNsub itgN na ebgN#or QresetpsDQenviadogN va)uebgN+a biar passDordgNS RM#or SNX [

*/&%01. 7*4+-8*,&-1,%4.
;a caja de bIs/uedas per ite introducir uno o dos tBr inos de bIs/ueda$ ostr4ndose )os resu)tados ordenados por re)evancia. 1de 4s$ si e) usuario se encuentra en una p4(ina /ue no sea )a principa)$ podr4 se)eccionar ade 4s /ue )a bIs/ueda sea e#ectuada Inica ente en )a p4(ina en )a /ue se encuentre o bien en todo e) porta)$ en cuyo caso$ se ostrar4 un resu en de resu)tados por cada seccin de) porta). ejorar )a e#iciencia de) buscador$ a)(unos ca pos de te0to de )as ediate ,ndices P#u))te0tP. Esto ade 4s

+on e) #in de

tab)as de )a 3ase de "atos ser4n inde0ados ocurrencias de) patrn de bIs/ueda.

per ite ordenar )os resu)tados por orden de re)evancia atendiendo a )a cantidad de

En pri er )u(ar$ cabe destacar )a i p)e entacin ideada para /ue e) siste a pueda reconocer en todo o ento$ )a p4(ina desde )a cua) se inicia una bIs/ueda is a GbIs/ueda parcia)H$ as, co o para no o#recer )a is a )i itada a )os contenidos de )a

opcin de bIs/ueda parcia) si e) usuario se encuentra en )a p4(ina principa). Para conse(uir)o$ se consu)ta )a variab)e de sesin dQ.E&'E&TNP:PQ.E;*NU y se pasa )a co o par4 etro de )a #uncin de bIs/ueda. Por I)ti o$ )a #uncin de bIs/ueda discri inar4 Guti)i7ando una instruccin sDitc>H )a bIs/ueda sobre unaMs tab)aMs dete inadaMs en #uncin de) va)or de esta variab)e.

1%!

#unction ostrarQcajaQbus/uedaGH Z dsa)idaQp>p b N Rdiv c)assbgNcajabuscgN idbgNbuscadorgNS Rdiv c)assbgNcajabuscQarribagNSRMdivS Rdiv c)assbgNcajabuscQcentrogNSNX dpat>Qpa(Qactua) b dQ.E&'E&TNP:PQ.E;*NUX dpa(Qactua) b e0p)odeGPMP$ dpat>Qpa(Qactua)HX dposQpa(Qactua) b countGdpa(Qactua)H81X dpa(Qactua) b dpa(Qactua)TdposQpa(Qactua)UX dsa)idaQp>p .b N RpSR>5SIntrodu7ca 1 2 pa)abras 2RM>5S R#or actionbgNresu)tQbus/ueda.p>pgN et>odbgNpostgNS Rinput typebgNte0tgN na ebgNbus/uedaQenviadagN si7ebgN1-gNS Rinput va)uebgN3uscargN typebgNsub itgN na ebgN#or Qbus/uedaQenviadogNSRbrSNX i# G dpa(Qactua) cb Ninde0Quser.p>pN ff dpa(Qactua) cb Ninde0.p>pN ff dpa(Qactua) cb Ninde0Q)atera).p>pN H dsa)idaQp>p .b N Rinput typebgNradiogN na ebgNtab)agN va)uebgNdpa(Qactua)gN c>ec]edS.)o en esta seccinRbrS Rinput typebgNradiogN na ebgNtab)agN va)uebgNtodasgNS9odo e) porta)RbrSNX i# G dpa(Qactua) bb Ninde0Quser.p>pN kk dpa(Qactua) bb Ninde0.p>pN H dsa)idaQp>p .b N Rinput typebgN>iddengN na ebgNtab)agN va)uebgNtodasgNSNX i# G dpa(Qactua) bb Ninde0Q)atera).p>pN H dsa)idaQp>p .b N Rinput typebgN>iddengN na ebgNtab)agN va)uebgNestaticagNSNX dsa)idaQp>p .b N RM#or S RMpS RMdivS Rdiv c)assbgNcajabuscQabajogNSRMdivS RMdivS Rc88 end o# cajabuscMbuscador 88SNX ec>o dsa)idaQp>pX [ MMend o# #unction ostrarQcajaQbus/uedaGH

1%1

#unction bus/uedaGdcadena$ dtab)aH Z MhbIs/uedas de una s)a pa)abra$ son 4s r4pidas con ;I?E /ue con *K;;9EC9$ por eso veri#ica os cu4ntas pa)abras contiene )a bIs/uedahM dnroQpa)abras b countGe0p)odeGN N$ dcadenaHHX d ys/)i b do"3GHX sDitc>Gdtab)aH Z case PnoticiasQpub)ic.p>pP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQnoticiasQs/) b N .E;E+9 id$ titu)ar$ #ec>a *&OM noticias J:E&E titu)ar ;I?E P^dcadena^P O& te0to ;I?E P^dcadena^P O&"E& 3A #ec>a "E.+ ;IMI9 !$ 5NX [ e)sei# GdnroQpa)abras S 1H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQnoticiasQs/) b N .E;E+9 id$ titu)ar$ #ec>a $ M19+: Gtitu)ar$ te0toH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM noticias J:E&E M19+: Gtitu)ar$ te0toH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5NX dobtenerQnoticiasQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiasQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQnoticiasQresH S !H Z dsa)idaQnoticias b N R>% a)i(nbgNcentergNS6O9I+I1.RM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S9itu)ar noticiaRMt>S Rt>S*ec>aRMt>S RMtrSNX D>i)e G dnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresH H Z dnoticiaQid b dnoticiaQin#oTPidPUX dnoticiaQtitu)ar b dnoticiaQin#oTPtitu)arPUX d#ec>aQte p b e0p)odeGN N$ dnoticiaQin#oTP#ec>aPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX dnoticiaQ#ec>a b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N.d#ec>aQte pT!UX dsa)idaQnoticias .b N

1%2

RtrSRtdSRstron(SRa >re#bgNjavascript2eventJindoD GPdeta))esQnoticia.p>peidbdnoticiaQidPHXgNSN.dnoticiaQtitu)ar. NRMaSRMstron(SRMtdS Rtd a)i(nbgNcentergN Didt>bgN2!^gNSN.dnoticiaQ#ec>a. NRMtdSRMtrSNX [ dsa)idaQnoticias .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQnoticiasX ys/)iQ#reeQresu)tGdobtenerQnoticiasQresHX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2S6O9I+I1.2 6o e0isten coincidenciasRM>2SR>rSNX brea]X case Pa(endaQpub)ic.p>pP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQeventosQs/) b N .E;E+9 id$ titu)oQevento$ inicioQevento *&OM ca)endarioQeventos J:E&E titu)oQevento ;I?E P^dcadena^P O& descQevento ;I?E P^dcadena^P O&"E& 3A inicioQevento "E.+ ;IMI9 !$ 5NX [ e)sei# GdnroQpa)abras S 1 H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQeventosQs/) b N .E;E+9 id$ titu)oQevento$ inicioQevento $ M19+: Gtitu)oQevento$ descQeventoH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM ca)endarioQeventos J:E&E M19+: Gtitu)oQevento$ descQeventoH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5NX dobtenerQeventosQres b ys/)iQ/ueryGd ys/)i$ dobtenerQeventosQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQeventosQresH S !H Z dsa)idaQeventos b N R>% a)i(nbgNcentergNSE'E69O.RM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S9,tu)o EventoRMt>S Rt>S*ec>a de inicioRMt>S RMtrSNX

1%3

D>i)e GdeventoQin#o b ys/)iQ#etc>QarrayGdobtenerQeventosQresHH Z deventoQid b deventoQin#oTPidPUX deventoQtitu)o b deventoQin#oTPtitu)oQeventoPUX d#ec>aQte p b e0p)odeGN N$ deventoQin#oTPinicioQeventoPUHX d#ec>aQte p b e0p)odeGN8N$ d#ec>aQte pT!UHX dinicioQevento b d#ec>aQte pT2U.N.N.d#ec>aQte pT1U.N.N.d#ec>aQte pT!UX dsa)idaQeventos .b NRtrSRtd a)i(nbgNcentergNSRstron(S Ra >re#bgNjavascript2eventJindoDGPdeta))esQevento.p>pe idbdeventoQidPHXgNSN.deventoQtitu)o.NRMaSRMstron(SRMtdS Rtd a)i(nbgNcentergN Didt>bgN2!^gNSN.dinicioQevento.N RMtdSRMtrSNX [ dsa)idaQeventos .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQeventosX ys/)iQ#reeQresu)tGdobtenerQeventosQresHX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2S1LE6"12 6o e0isten coincidenciasRM>2SR>rSNX brea]X case P#orosQuser.p>pP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQpostsQs/) b N.E;E+9 h *&OM #oroQposts I66E& <OI6 #oroQtopics O6 #oroQtopics.topicQid b #oroQposts.topicQid J:E&E #oroQposts.postQte0to ;I?E P^dcadena^P O& #oroQtopics.topicQtitu)o ;I?E P^dcadena^P ;IMI9 5!NX [ e)sei# GdnroQpa)abras S 1 H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQpostsQs/) b N.E;E+9 h $ M19+: G#oroQposts.postQte0toH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM #oroQposts I66E& <OI6 #oroQtopics O6 #oroQtopics.topicQid b #oroQposts.topicQid J:E&E M19+: G#oroQposts.postQte0toH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O& M19+: G#oroQtopics.topicQtitu)oH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5!NX dobtenerQpostsQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpostsQs/)H or dieG ys/)iQerrorGd ys/)iHHX

1%%

i# G ys/)iQnu QroDsGdobtenerQpostsQresH S !H Z dsa)idaQ#oros b N R>% a)i(nbgNcentergNS*O&O.RM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S9e0to MensajeRMt>S Rt>S9EM1RMt>S RMtrSNX D>i)e GdpostQin#o b ys/)iQ#etc>QarrayGdobtenerQpostsQresHH Z dtopicQid b dpostQin#oTPtopicQidPUX dpostQid b dpostQin#oTPpostQidPUX dpostQte0to b dpostQin#oTPpostQte0toPUX dpostQprop b dpostQin#oTPpostQpropPUX dpostQ#ec>a b dpostQin#oTPpostQ#ec>aPUX dobtenerQte aQs/) b N .E;E+9 topicQtitu)o *&OM #oroQtopics J:E&E topicQid b PdtopicQidPNX dobtenerQte aQres b ys/)iQ/ueryGd ys/)i$ dobtenerQte aQs/)H or dieG ys/)iQerrorGd ys/)iHHX dtopicQin#o b ys/)iQ#etc>QarrayGdobtenerQte aQresHX dtitu)o b dtopicQin#oTNtopicQtitu)oNUX dsa)idaQ#oros .b N RtrSRtdSRstron(SN.dpostQte0to.NRMstron(SRbrMS Rspan sty)ebgN#ont8sty)e2ita)icgNXSRbrS+reado con #ec>a2 N. dpostQ#ec>a.NRbrSpor Rstron(SN.dpostQprop.NRMstron(SRMtdSRMspanS Rtd a)i(nbcenter Didt>bgN3!^gNSRa >re#bgN#orosQuser.p>pepa(b *O&O.f ostrarQtopicbN.dtopicQid.NgNSRstron(SN.dtitu)o.NRMstron(S RMaSRMtdSRMtrSNX [ dsa)idaQ#oros .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQ#orosX ys/)iQ#reeQresu)tGdobtenerQpostsQresHX ys/)iQ#reeQresu)tGdobtenerQte aQresHX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2S*O&O.2 6o e0isten coincidenciasRM>2SR>rSNX

1%5

brea]X case Poposiciones.p>pP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQoposicionesQs/) b N .E;E+9 id$ no bre$ p)a7as *&OM oposiciones J:E&E no bre ;I?E P^dcadena^P O&"E& 3A #ec>aQpub)icacion "E.+ ;IMI9 !$ 5NX [ e)sei# GdnroQpa)abras S 1 H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQoposicionesQs/) b N .E;E+9 id$ no bre$ p)a7as $ M19+: Gno breH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM oposiciones J:E&E M19+: Gno breH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5NX dobtenerQoposicionesQres b ys/)iQ/ueryGd ys/)i$ dobtenerQoposicionesQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQoposicionesQresH S !H Z dsa)idaQoposiciones b N R>% a)i(nbgNcentergNSOPO.I+IO6E.RM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S6o bre OposicinRMt>S Rt>SP)a7asRMt>S RMtrSNX D>i)e GdoposicionQin#o b ys/)iQ#etc>QarrayGdobtenerQoposicionesQresHH Z doposicionQid b doposicionQin#oTPidPUX doposicionQno bre b doposicionQin#oTPno brePUX doposicionQp)a7as b doposicionQin#oTPp)a7asPUX dsa)idaQoposiciones .b NRtrSRtd a)i(nbgNcentergNSRstron(S Ra >re#bgNjavascript2eventJindoDGPdeta))esQoposicion.p>pe idbdoposicionQidPHXgNSN.doposicionQno bre.NRMaSRMstron(SRMtdS Rtd a)i(nbgNcentergN Didt>bgN2!^gNSN.doposicionQp)a7as. NRMtdSRMtrSNX [ dsa)idaQoposiciones .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQoposicionesX ys/)iQ#reeQresu)tGdobtenerQoposicionesQresHX ys/)iQc)oseGd ys/)iHX

1%6

[ e)se ec>o NR>2SOPO.I+IO6E.2 6o e0isten coincidenciasRM>2SR>rSNX brea]X case Ptra itesQuser.p>pP2 case Ptra itesQpub)ic.p>pP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQtra itesQs/) b N .E;E+9 id$ titu)o$ on)ine *&OM tra ites J:E&E titu)o ;I?E P^dcadena^P O& tra ites.desc ;I?E P^dcadena^P O& docu entacion ;I?E P^dcadena^P O& observaciones ;I?E P^dcadena^P O&"E& 3A tipo "E.+ ;IMI9 !$ 5NX [ e)sei# GdnroQpa)abras S 1 H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQtra itesQs/) b N .E;E+9 id$ titu)o$ on)ine $ M19+: Gtitu)o$ docu entacion$ )u(arQpresent$ or(anoQ(estor$ observaciones$ i presos$ tra ites.descH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM tra ites J:E&E M19+: Gtitu)o$ docu entacion$ )u(arQpresent$ or(anoQ(estor$ observaciones$ i presos$ tra ites.descH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5NX dobtenerQtra itesQres b ys/)iQ/ueryGd ys/)i$ dobtenerQtra itesQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQtra itesQresH S !H Z dsa)idaQtra ites b N R>% a)i(nbgNcentergNS9&MI9E.RM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S6o bre 9r4 iteRMt>S Rt>S9ra itacin On)ineRMt>SRMtrSNX D>i)e Gdtra iteQin#o b ys/)iQ#etc>QarrayGdobtenerQtra itesQresHH Z dtra iteQid b dtra iteQin#oTPidPUX dtra iteQtitu)o b dtra iteQin#oTPtitu)oPUX dtra iteQon)ine b dtra iteQin#oTPon)inePUX dsa)idaQtra ites .b NRtrSRtd a)i(nbgNcentergNSRstron(S Ra >re#bgNjavascript2eventJindoD GPdeta))esQtra iteytra itacion.p>peidQtra itebdtra iteQid PHXgNSN. dtra iteQtitu)o.NRMaSRMstron(SRMtdS

1%7

Rtd a)i(nbgNcentergN Didt>bgN2!^gNSNX i# Gce ptyGdtra iteQon)ineHH dsa)idaQtra ites .b N.IRMtdSRMtrSNX e)se dsa)idaQtra ites .b N6ORMtdSRMtrSNX [ dsa)idaQtra ites .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQtra itesX ys/)iQ#reeQresu)tGdobtenerQtra itesQresHX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2S9&MI9E.2 6o e0isten coincidenciasRM>2SR>rSNX brea]X case PestaticaP2 i# GdnroQpa)abras bb 1H Z MMconsu)ta a )a 3" usando ;I?E dobtenerQestaticaQs/) b N .E;E+9 apartado$ seccion$ contenido *&OM seccionQestatica J:E&E contenido ;I?E P^dcadena^P O&"E& 3A apartado "E.+ ;IMI9 !$ 5NX [ e)sei# GdnroQpa)abras S 1 H MMconsu)ta a )a 3" usando *K;;9EC9 dobtenerQestaticaQs/) b N .E;E+9 apartado$ seccion$ contenido $ M19+: GcontenidoH 1L1I6.9 GPdcadenaPH 1. puntuacion *&OM seccionQestatica J:E&E M19+: GcontenidoH 1L1I6.9 GPdcadenaP I6 3OO;E16 MO"EH O&"E& 3A puntuacion "E.+ ;IMI9 5NX dobtenerQestaticaQres b ys/)iQ/ueryGd ys/)i$ dobtenerQestaticaQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQestaticaQresH S !H Z dsa)idaQestatica b N R>% a)i(nbgNcentergNSI6*O 1AK691MIE69ORM>%S Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S1partadoRMt>S Rt>S.eccinRMt>S Rt>S+ontenidoRMt>SRMtrSNX

1%-

D>i)e GdestaticaQin#o b ys/)iQ#etc>QarrayGdobtenerQestaticaQresHH Z destaticaQapartado b destaticaQin#oTPapartadoPUX dsecciones b arrayGNa)caN bS NE) 1)ca)deN$ Nor(aN bS Njr(s. de (obiernoN$ NconcN bS N+onceja)ias 3arrioN$ Nt#noN bS N9#nos. de interBsN$ N#iesN bS N*iestasN$ N(uiaN bS NLuia de PaternaN$ NtranN bS N9ransportesN$ NsaniN bS N.anidadN$ NconsN bS N+onsu oN$ N ediN bS NMedio a bienteN$ NservN bS N.ervicios socia)esN$ NurbaN bS NKrbanis oNHX destaticaQseccion b destaticaQin#oTPseccionPUX dno breQseccion b dseccionesTdestaticaQseccionUX destaticaQcontenido b substrGdestaticaQin#oTPcontenidoPU$ !$ 3!!H.N ...... NX dsa)idaQestatica .b N RtrSRtd Didt>bgN15^gNSRstron(SN.destaticaQapartado.NRMstron(S RMtdSRtd Didt>bgN25^gNSRstron(SN.dno breQseccion.NRMstron(S RMtdSRtd Didt>bgN6!^gNS Rdiv idbgNbus/Qin#oaytogNSdestaticaQcontenidoRMdivSRbrS Ra >re#bgNinde0Q)atera).p>pesec1bdestaticaQapartadofsec2b destaticaQsecciongNS'E& M.RMaSRMtdSRMtrSNX [ dsa)idaQestatica .b NRMtab)eSRbrSRbrSRbrSNX ec>o dsa)idaQestaticaX ys/)iQ#reeQresu)tGdobtenerQestaticaQresHX ys/)iQc)oseGd ys/)iHX [ e)se ec>o NR>2SI6*O 1AK916MIE69O2 6o e0isten coincidenciasRM>2SR>rSNX brea]X [X [ MMend o# #unction bus/uedaGH

1%9

*ina) ente$ ser4 preciso e) si(uiente cdi(o$ en )a p4(ina /ue ()oba)H o en uno so)a GbIs/ueda parcia)H co o si(ue 2

uestra )os

resu)tados de )a bIs/ueda$ para pi)otar )a bIs/ueda en todas )as tab)as GbIs/ueda

i# G e ptyGdQPO.9TNbus/uedaQenviadaNUH H ec>o NE) ca po de bIs/ueda est4 vac,oNX e)se Z i# GdQPO.9TNtab)aNU bb NtodasNH Z bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ NnoticiasQpub)ic.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ Na(endaQpub)ic.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ N#orosQuser.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ Noposiciones.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ Ntra itesQuser.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ Ntra itesQpub)ic.p>pNHX bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ NestaticaNHX [ e)se bus/uedaGdQPO.9TNbus/uedaQenviadaNU$ dQPO.9TNtab)aNUHX [

F1.1/ 0( 0-/&*/-D,.
Kn usuario anni o puede consu)tar cua)/uier autenticarse. ;o pri ero con )o /ue se encuentra un usuario a) acceder a )a p4(ina de #oros$ es una re)acin con todos )os te as disponib)es. 3astar4 con >acer c)ic] en cua)/uiera de e))os para acceder a )os ensajes de) is o. uestra )a ensaje de) #oro$ aun/ue para ensajes$ precisa de

poder participar abriendo nuevos te as y respondiendo a otros

1 continuacin se e0pone )a i p)e entacin de )a #uncin /ue re)acin de te as de discusin disponib)es. e0>ibe )a opcin de e)i inar un te a$ s)o si no contiene cosas$ e) siste a debe contabi)i7ar )a cantidad de

1 destacar )a seccin donde e) siste a ensajes de cua)/uier otro

usuario Gesto es$ si no e0iste participacin aparte de )a de su creadorH. En otro orden de ensajes contenidos en cada te a.

15!

#unction )istarQtopicsGH Z dobtenerQtopicsQs/) b N .E;E+9 topicQid$ topicQtitu)o$ "19EQ*O&M19GtopicQ#ec>a$ P^b ^e ^A at ^rPH 1. #tQtopicQ#ec>a$ topicQprop$ "19EQ*O&M19GtopicQu)ti o$ P^b ^e ^A at ^rPH 1. #tQtopicQu)ti o *&OM #oroQtopics O&"E& 3A topicQ#ec>a "E.+NX d ys/)i b do"3GHX dobtenerQtopicsQres b ys/)iQ/ueryGd ys/)i$ dobtenerQtopicsQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQtopicsQresH R 1H dsa)idaQp>p b NRpSRe S6o e0isten te as de debateRMe SRMpSNX e)se dsa)idaQp>p .b NRstron(S Rspan sty)ebgN#ont8si7e215!^gNXS .e)eccione un te a de debate2RMspanSRMstron(SRbrSRbrSNX dsa)idaQp>p .b N Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS Rt>S9I9K;O. "E ;O. 9EM1.RMt>S Rt>SME6.1<E.RMt>S Rt>S`;9IMO ME6.1<ERMt>S RMtrSNX D>i)e GdtopicQin#o b ys/)iQ#etc>QarrayGdobtenerQtopicsQresHH Z dtopicQid b dtopicQin#oTPtopicQidPUX dtopicQtitu)o b dtopicQin#oTPtopicQtitu)oPUX dtopicQ#ec>a b dtopicQin#oTP#tQtopicQ#ec>aPUX dtopicQprop b dtopicQin#oTPtopicQpropPUX dtopicQu)ti o b dtopicQin#oTP#tQtopicQu)ti oPUX MMse contabi)i7a )a cantidad de ensajes para cada te a de) #oro dobtenerQpostsQs/) b N .E;E+9 postQprop *&OM #oroQposts J:E&E topicQid b PN.dtopicQid.NPNX dobtenerQpostsQres b ys/)iQ/ueryGd ys/)i$ dobtenerQpostsQs/)H or dieG ys/)iQerrorGd ys/)iHHX dcantQposts b ys/)iQnu QroDsGdobtenerQpostsQresHX

151

Mhsi e) usuario autenticado es /uien abri e) topic y no e0iste participacin a)(una de cua)/uier otro usuario$ se e0>ibe )a opcin de e)i inar)ohM dparticipantes b Nso)oQcreadorNX D>i)e G GdpostQin#o b ys/)iQ#etc>QarrayGdobtenerQpostsQresHH ff Gdparticipantes bb Nso)oQcreadorNH H Z i# GdpostQin#oTNpostQpropNU cb dQ.E..IO6TNuserna eNUH dparticipantes b NotrosNX [ dsa)idaQp>p .b N RtrSRtd Didt>b55^S Ra >re#bgN#orosQuser.p>pepa(b*O&O.f ostrarQtopicbN.dtopicQid.NgNS Rstron(SN.dtopicQtitu)o.NRMstron(SRMaS RbrS+reado con #ec>a2 N.dtopicQ#ec>a.NRbrSPor2 N.dtopicQprop.NRbrSNX i# G dtopicQprop bb dQ.E..IO6TNuserna eNU ff dparticipantes bb Nso)oQcreadorN H dsa)idaQp>p .b N Rstron(SRa sty)ebgN#ont8sty)e2nor a)X co)or2aa!2-1#XgN >re#bgN#orosQ user.p>pepa(b*O&O.fde)QtopicQidbdtopicQidfcantQpostsb dcantQpostsgNS S S E)i inar 9e a R R RMaSRMstron(SNX dsa)idaQp>p .b N RMtdS Rtd a)i(nbcenterSN.dcantQposts.NRMtdS Rtd a)i(nbcenterSN.dtopicQu)ti o.NRMtdS RMtrSNX [ dsa)idaQp>p .b NRMtab)eSNX ec>o dsa)idaQp>pX ys/)iQ#reeQresu)tGdobtenerQtopicsQs/)HX ys/)iQ#reeQresu)tGdobtenerQpostsQresHX ys/)iQc)oseGd ys/)iHX [ MM*I6 #unction )istarQtopicsGH

152

Kn usuario autenticado puede abrir un nuevo te a de discusin en e) #oro$ inc)uyendo opciona) ente un pri er de) pri er ensaje. enos$ se >aya indicado a)(In t,tu)o ensaje y si )o >ubiera$ )o inserta en )a insertado anterior ente. ;a ensaje para e) is o. Para e))o$ deber4 cu p)i entar un senci))o #or u)ario de 2 ca pos$ e) t,tu)o de) te a y e) te0to Gopciona)H

E) siste a recibe e) #or u)ario y veri#ica /ue a) de "atos. 1si is o$ co prueba si e0iste un pri er tab)a P#oroQpostsP re)acion4ndo)o con e)

para e) te a$ en cuyo caso$ inserta una nueva tup)a en )a tab)a P#oroQtopicsP de )a 3ase te a

i p)e entacin de este apartado se e0pone a continuacin2

#unction insertarQtopicGH Z i# GdQ.E..IO6TNautenticadoNU bb N1NH Z try Z i# Ge ptyGdQPO.9TNtopicQtitu)oNUHH t>roD neD E0ceptionGPE) t,tu)o no puede estar en b)anco.PHX [ catc> GE0ception deH Z ec>o NRspan sty)ebgN#ont8si7e215!^gNXSE&&O&2 NX ec>o de8S(etMessa(eGH.NRMspanSNX [ i# Ge ptyGdeHH Z e)i inarQta(sGHX dinsertarQtopicQs/) b NI6.E&9 I69O #oroQtopics GtopicQtitu)o$ topicQ #ec>a$ topicQprop$ topicQu)ti oH '1;KE. GPN. dQPO.9TNtopicQtitu)oNU. NP$noDGH$ PN.dQ.E..IO6TNuserna eNU.NP$noDGHHNX d ys/)i b do"3GHX dinsertarQtopicQres b ys/)iQ/ueryGd ys/)i$ dinsertarQtopicQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# Gce ptyGdQPO.9TNpostQte0toNUHH Z dtopicQid b ys/)iQinsertQidGd ys/)iHX MMretorna e) id de )a MMI)ti a consu)ta de a/ue))a co)u na /ue ten(a e) atributo MM1K9OQI6+&EME69$ en este caso$ ese ca po es topicQid dinsertarQpostQs/) b NI6.E&9 I69O #oroQposts GtopicQid$ postQ te0to$ postQ#ec>a$ postQpropH '1;KE. GPdtopicQidP$ PN. dQPO.9TNpostQte0toNU.NP$ noDGH$ PN.dQ.E..IO6TNuserna eNU.NPHNX

153

dinsertarQpostQres b ys/)iQ/ueryGd ys/)i$ dinsertarQpostQs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdinsertarQpostQresHX [ ec>o NRspan sty)ebgN#ont8si7e215!^X #ont8sty)e2ita)icX co)or2ad6%1!!XgNXS9e a creado con B0itoRMspanSRbrSRbrSNX ys/)iQ#reeQresu)tGdinsertarQtopicQresHX ys/)iQc)oseGd ys/)iHX [ [ e)se ec>o N"ebe identi#icarse para poder continuar.NX [ MM*I6 #unction insertarQtopicGH

+uando e) usuario se)ecciona )a e)i inacin de a)(In te a$ e) siste a e)i ina )a tup)a correspondiente de )a tab)a P#oroQtopicsP pero ta biBn veri#ica si e) te a contiene a)(In ensaje$ en cuyo caso$ ta biBn debe e)i inar)os.

#unction e)i inarQtopicGdtopicQid$ dcantQpostsH Z i# GdQ.E..IO6TNautenticadoNU bb N1NH Z de)i inarQtopicQs/) b N"E;E9E *&OM #oroQtopics J:E&E topicQid b PdtopicQidPNX d ys/)i b do"3GHX de)i inarQtopicQres b ys/)iQ/ueryGd ys/)i$ de)i inarQtopicQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# GdcantQposts S !H Z de)i inarQpostsQs/) b N"E;E9E *&OM #oroQposts J:E&E topicQid b PdtopicQidPNX de)i inarQpostsQres b ys/)iQ/ueryGd ys/)i$ de)i inarQpostsQs/)H or dieG ys/)iQerrorGd ys/)iHHX [ ec>o NRspan sty)ebgN#ont8si7e215!^X #ont8sty)e2ita)icX co)or2ad6%1!!XgNS 9EM1 e)i inado co p)eta enteRMspanSRbrSRbrSNX ys/)iQ#reeQresu)tGde)i inarQtopicQresHX ys/)iQ#reeQresu)tGde)i inarQpostsQresHX ys/)iQc)oseGd ys/)iHX [ e)se dsa)idaQp>p b N"ebes estar identi#icado para poder participar en )os #orosNX [ MM*I6 #unction e)i inarQtopicGH

15%

C%4(,0%.-1 0( (>(,+1/.
9anto )a p4(ina principa) co o )a p4(ina dedicada a )a seccin de 1(enda$ uestran una vista reducida de un ca)endario. En e) is o$ aparecen de #or a destacada a/ue))os d,as /ue contienen a)(In evento$ siendo esos d,as en este caso $ se)eccionab)es por e) usuario. .i e) is o >ace c)ic] en a)(uno de e))os$ se otrar4 una ventana e er(ente /ue in#or ar4 de todos )os eventos disponib)es para ese d,a. 1 continuacin se uestra )a i p)e entacin /ue uestra )a vista de) ca)endario y >abi)ita$ para a/ue))os d,as con eventos$ un en)ace a )a p4(ina /ue ser4 ostrada en una ventana e er(ente.

#unction i pri irQa(endaGd es$ da5o$ dvistabNreducidaNHZ MMse de#ine una constante con )a cantidad de se(undos /ue tiene un d,a de#ineGNK6"I1N$ G6!h6!h2%HHX MMdpri erQdiaQ es contendr4 un 9IME.91MP con e) pri er d,a de) es dpri erQdiaQ es b ]ti eG12$ !$ !$ d es$ 1$ da5oHX MMse obtiene un vector asociativo a partir de) 9IME.91MP creado antes dvectQpri erQdia b (etdateGdpri erQdiaQ esHX d eses b arrayGNEneroN$ N*ebreroN$ NMar7oN$ N1bri)N$ NMayoN$ N<unioN$ N<u)ioN$ N1(ostoN$ N.eptie breN$ NOctubreN$ N6ovie breN$ N"icie breNHX ddias b 1rrayGN;unN$ NMarN$ NMieN$ N<ueN$ N'ieN$ N.abN$ N"o NHX d esQactua) b d es 8 1X dsa)idaQp>p b N Rtab)e borderbgN1gN ce))paddin(bgN5gNSRtrSgn Rtd co)spanbgN7gN a)i(nbgNcentergNSRstron(Sd esesTd esQactua)U da5o RMstron(SRMtdSRMtrSRtrSgnNX #oreac>Gddias as ddiaH Z dsa)idaQp>p .b N Rtd sty)ebgNbac](round8co)or2 a++++++X te0t8a)i(n2 centerX Didt>2 1%^gNS Rstron(SddiaRMstron(SRMtdSgnNX [ #orGdcontb!X dcont R G6h7HX dcont__H Z Mhe) va)or G6h7H (aranti7a )as ce)das su#icientes para a)ber(ar a/ue))os eses /ue pueden ))e(ar a tener 6 se anas di#erenciadashM dvectQdia b (etdateGdpri erQdiaQ esHX MMdpri erQdiaQ es se trans#or a en un vector de #ec>as

155

ddiaQ es b dvectQdiaTN dayNUX i# GGdcont ^ 7H bb !H Z MMcuando dcont va)(a ! o I)tip)o de 7 i# GdvectQdiaTN onNU cb d esH Z MMsi ca bia e) es$ brea]X MMse sa)e de) buc)e$ ter inando [ e)se MMe) es no >a ca biado$ por )o /ue se cierre una MM#i)aGse anaH y se abre otra dsa)idaQp>p .b NRMtrSRtrSgnNX [ i# Gdcont R dvectQpri erQdiaTNDdayNU81 kk dvectQdiaTN onNU cb d esH MhFdvectQpri erQdiaTNDdayNU81F contiene e) nro. de) d,a de )a se ana ori(ina) G/ue no se incre enta en cada buc)e$ co o s, )o >ace dvectQ diaH. Es necesario restar)e 1 por/ue dcont co ien7a en ! y no en 1 hM dsa)idaQp>p .b NRtdSfnbspXRMtdSgnNX MMo todav,a no esta os en e) d,a 1 de) es o bien ya ter in e) MM es y se debe continuar i pri iendo ce)das en b)anco de) es e)se Z dobtenerQeventosQs/) b N .E;E+9 titu)oQevento$ "19EQ*O&M19GinicioQevento$ P^ePH 1. diaQ es *&OM ca)endarioQeventos J:E&E ont>GinicioQeventoH b Pd esP 16" dayo# ont>GinicioQeventoH b PddiaQ esP 16" yearGinicioQeventoH b Pda5oP O&"E& 3A inicioQeventoNX d ys/)i b do"3GHX dobtenerQeventosQres b ys/)iQ/ueryGd ys/)i$ dobtenerQeventos Qs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G G ys/)iQnu QroDsGdobtenerQeventosQresHH S ! H MMse i pri e e) d,a co o un en)ace a una ventana MMe er(ente /ue ostrar4 )os eventos de) d,a dsa)idaQp>p .b NRtd sty)ebgNbac](round8co)or2aaab7c1X co)or2acce5#cX va)i(n2topX te0t8a)i(n2centerXgNSRa >re#bgNjavascript2eventJindoDGPeventosQde)Qdia.p>pe bd esfdbddiaQ esfybda5oPHXgNSRstron(SN.ddiaQ es. NRMstron(SRMaSRbrMSRMtdSgnNX e)se MMd,a sin eventos dsa)idaQp>p .b NRtd va)i(nbgNtopgN a)i(nbgNcentergNSN. ddiaQ es.NRMtdSgnNXMMi pri i os e) d,a sin nin(In en)ace dpri erQdiaQ es _b K6"I1X MMincre enta os un d,a [ [

156

dsa)idaQp>p .bNRMtrSRMtab)eSNX return dsa)idaQp>pX ys/)iQ#reeQresu)tGdobtenerQeventosQresHX ys/)iQc)oseGd ys/)iHX [ MM end o# #unction a(endaGH

E) cdi(o re)evante de )a p4(ina GeventosQde)Qdia.p>pH ostrada en una ventana e er(ente$ con )a in#or acin sobre )os eventos de) d,a$ se e0pone a continuacin2

d b dQLE9TN NUX dd b dQLE9TNdNUX dy b dQLE9TNyNUX dbuscarQeventosQs/) b N.E;E+9 titu)oQevento$ descQevento$ "19EQ*O&M19GinicioQevento$ P^)2^i ^pPH as #ceQevento *&OM ca)endarioQeventos J:E&E ont>GinicioQeventoH b PN.d .NP 16" dayo# ont>GinicioQeventoH b PN.dd.NP 16" yearGinicioQeventoH b PN.dy.NP O&"E& 3A inicioQeventoNX do"3GHX dbuscarQeventosQres b ys/)iQ/ueryGd ys/)i$ dbuscarQeventosQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdbuscarQeventosQresH S !H Z dsa)idaQp>p b NRu)SNX D>i)e Gdev b ys/)iQ#etc>QarrayGdbuscarQeventosQresHH Z dtitu)oQevento b devTNtitu)oQeventoNUX ddescQevento b devTNdescQeventoNUX d#ceQevento b devTN#ceQeventoNUX dsa)idaQp>p .b N R)iSRstron(SN.d#ceQevento.N2 N.dtitu)oQevento.NRMstron(S.RbrMSN.ddescQ evento.NRM)iSRbrSNX [ dsa)idaQp>p .b NRMu)SNX [ ys/)iQ#reeQresu)tGdbuscarQeventosQresHX ys/)iQc)oseGd ys/)iHX

157

A07-,-/+.%&-D, 0( &1,+(,-01/.
Kn usuario de tipo #uncionario$ dispondr4 de opciones para visua)i7ar$ a5adir y editar contenidos Gnoticias$ eventos$ oposiciones$ etcH. ;a i p)e entacin es an4)o(a para cua)es/uiera de )os contenidos$ por )o /ue Inica ente se ostrar4 para uno de e))os$ en este caso$ para e) apartado de noticias. En e) caso de /ue e) usuario #uncionario ade 4s a)can7ara )a cate(or,a de 1d inistrador$ dispondr4 ade 4s de opciones adiciona)es$ co o a>ora )a e)i inacin de esos contenidos o bien )a (estin de usuarios re(istrados en e) porta) porta). 1 continuacin se uestra )a i p)e entacin de cada una de )as opciones posib)es para e) apartado de noticias. En pri er )u(ar$ e) siste a uestra una re)acin de noticias disponib)es$ e0>ibiendo )as acciones posib)es a adoptar junto a cada una de e))as.

#unction ostrarQnoticiasGH Z i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N H Z d eses b arrayGNEneroN$ N*ebreroN$ NMar7oN$ N1bri)N$ NMayoN$ N<unioN$ N<u)ioN$ N1(ostoN$ N.eptie breN$ NOctubreN$ N6ovie breN$ N"icie breNHX dobtenerQnoticiasQs/) b N .E;E+9 id$ titu)ar$ "19EQ*O&M19G#ec>a$ P^e ^b ^APH 1. #ec>a *&OM noticias J:E&E ont>G#ec>aH b PN.dQLE9TN esNU.NP 16" yearG#ec>aH b PN.dQLE9TNa5oNU.NP O&"E& 3A idNX d ys/)i b do"3GHX dobtenerQnoticiasQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiasQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQnoticiasQresH R 1H dsa)idaQp>p b NRpSRe S6o e0isten noticiasRMe SRMpSNX e)se Z dsa)idaQp>p b N RbrSR>2S;istado 6oticias para N.d esesTdQLE9TP esPU81U.N N. dQLE9TPa5oPU.N2RM>2SRbrS Rtab)e ce))paddin(bgN3gN ce))spacin(bgN1gN borderbgN1gNS Rtr sty)ebgNbac](round8co)or2 a++++++gNS

15-

Rt>SI"RMt>S Rt>S9I9K;1&RMt>S Rt>S*E+:1RMt>S Rt>S1++IO6RMt>S RMtrSNX D>i)e G dnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiasQresH H Z did b dnoticiaQin#oTPidPUX dtitu)ar b dnoticiaQin#oTPtitu)arPUX d#ec>a b dnoticiaQin#oTP#ec>aPUX dsa)idaQp>p .b N RtrS Rtd a)i(nbcenterSN.did.NRMtdS Rtd a)i(nbcenterSN.dtitu)ar.NRMtdS Rtd a)i(nbcenter Didt>b17^SN.d#ec>a.NRMtdS Rtd a)i(nbcenter Didt>b1-^S Ra >re#bgNjavascript2eventJindoDGPdeta))esQnoticia.p>pe idbdidPHgNS'er deta))esRMaSRbrS Ra >re#bgNjavascript2eventJindoDGP odi#Qnoticia.p>pe idbdidPHgNSEditarRMaSRbrSNX i# GdQ.E..IO6TNcate(oriaNU bb N1"MNH dsa)idaQp>p .b NRa >re#bgNjavascript2eventJindoD GPe)i inarQnoticia.p>peidbdidftitbdtitu)arPH gNSE)i inarRMaSNX dsa)idaQp>p .b NRMtdSRMtrSNX [ dsa)idaQp>p .b NRMtab)eSNX [ ec>o dsa)idaQp>pX ys/)iQ#reeQresu)tGdobtenerQnoticiasQresHX ys/)iQc)oseGd ys/)iHX [ [ MM*I6 #unction ostrarQnoticiasGH

1si is o$ e) usuario puede crear nuevas noticias$ insert4ndo)as as, en )a 3ase de "atos. ;a i p)e entacin /ue )o per ite se uestra a continuacin$ e0poniendo tanto )a seccin /ue uestra e) #or u)ario a) usuario co o a/uB))a /ue describe )as acciones /ue adopta e) siste a despuBs de recibir e) is o.

159

#unction ostrarQ#or QnoticiaGH Z i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N H Z ec>o N R>2SGhH;os ca pos arcados con asterisco son ob)i(atoriosRM>2SRbrSRbrS RpSR#or enctypebgN u)tipartM#or 8datagN actionbgNN.dQ.E&'E& TNP:PQ.E;*NU.NgN et>odbgNPO.9gNS Rstron(S9itu)arGhH2RMstron(S Rinput typebgNte0tgN na ebgNtitu)argN si7ebgN1!!gN a0)en(t>bgN2!!gNS RbrSRbrSRstron(S9e0to2 RMstron(S Rte0tarea na ebgNte0togN co)sbgN75gN roDsbgN1!gNSRMte0tareaSRbrSRbrS Rstron(S1djuntar i a(en2 RMstron(SRbrS Rinput typebgN#i)egN na ebgNno breQ#ic>erogNSRbrSRbrS Rinput typebgN>iddengN na ebgNM1CQ*I;EQ.I@EgN va)uebgN1!!!!!!!gNS Rinput typebgN>iddengN na ebgN#or QenviadogN va)uebgNnoticiagNS Rinput typebgNsub itgN na ebgN#or QnoticiaQenviadogN va)ueb gN+on#ir argNS Rinput typebgNsub itgN na ebgN#or Qcance)adogN va)uebgN+ance)argNS RM#or SRMpSNX [ e)se ec>o N"ebe identi#icarse co o 1d inistrador para poder continuar.NX [ MM*I6 #unction ostrarQ#or QnoticiaGH #unction insertarQnoticiaGH Z i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N H Z try Z i# Ge ptyGdQPO.9TNtitu)arNUHH t>roD neD E0ceptionGP"ebe introducir un no bre para e) titu)arPHX [ catc> GE0ception deH Z ec>o NRpSRspan sty)ebgN#ont8si7e215!^X co)or2aa5271aXgNXS E&&O&2 N.de8S(etMessa(eGH.NRMspanSRpSNX [ i# Ge ptyGdeHH Z e)i inarQta(sGHX ddestinoQ#ic>ero b NMDa pMDDDMp#cMnoticiasMNX dtitu)ar b dQPO.9TNtitu)arNUX dte0to b dQPO.9TNte0toNUX

16!

di a(en b dQ*I;E.TNno breQ#ic>eroNUTNna eNUX i# Gce ptyGdi a(enHH Z MMsi se adjunt a)(In arc>ivo i# GsubirQ#ic>eroGddestinoQ#ic>eroHH Z dinsertarQnoticiaQs/) b NI6.E&9 I69O noticias Gtitu)ar$ te0to$ i a(en$ #ec>aH '1;KE. GPdtitu)arP$ Pdte0toP$ Pdi a(enP$ noDGHHNX d ys/)i b do"3GHX dinsertarQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dinsertarQnoticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdinsertarQnoticiaQresHX [ e)se ec>o N;a base de datos est4 en anteni iento en estos o entos. Por #avor$ intBnte)o de nuevo 4s tarde.RbrSNX [ e)se Z MM si no se >a se)eccionado nin(In arc>ivo para adjuntar dinsertarQnoticiaQs/) b NI6.E&9 I69O noticias Gtitu)ar$ te0to$ #ec>aH '1;KE. GPdtitu)arP$ Pdte0toP$ noDGHHNX d ys/)i b do"3GHX dinsertarQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dinsertarQnoticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX ys/)iQ#reeQresu)tGdinsertarQnoticiaQresHX [ ec>o N RpSRspan sty)ebgN#ont8si7e215!^X #ont8sty)e2ita)icX co)or2ad6%1!!XgNXS 6oticia insertada con B0itoRMspanSRMpSRbrSRbrSNX ad inistrarQneDs)etterGNnoticiasNHX [ [ e)se ec>o N"ebe identi#icarse co o 1d inistrador para poder continuar.NX [ MM*I6 #unction insertarQnoticiaGH

1 continuacin se e0pone )a seccin de cdi(o de interBs de) script G odi#Qnoticia.p>pH /ue per ite )a edicin de una noticia e0istente$ actua)i74ndo)a en )a 3ase de "atos. En este caso$ e) siste a uestra a) usuario un #or u)ario cu p)i entado por de#ecto con )os datos e0istentes de )a noticia a editar. +uando e) usuario env,a e) #or u)ario una ve7 a)terado$ e) siste a co prueba /ue )os ca pos ob)i(atorios no estBn vac,os de contenido y veri#ica a continuacin /ue se >aya a) acenado correcta ente e) arc>ivo con )a i a(en de )a noticia Gsie pre y cuando e) usuario se)eccionara a)(unaH.

161

*ina) ente$ e) siste a a) acena )os nuevos va)ores en )a base de datos$ sie pre y cuando #uese trans#erido con B0ito e) arc>ivo con )a i a(en$ en e) paso anterior.

i# G dQ.E..IO6TNcate(oriaNU bb N1"MN kk dQ.E..IO6TNcate(oriaNU bb NI69N H Z i# G cissetGdQPO.9TNcon#ir arNUH ff cissetGdQPO.9TNcance)arNUH H Z did b dQLE9TNidNUX dobtenerQnoticiaQs/) b N.E;E+9 titu)ar$ te0to$ i a(en$ "19EQ*O&M19G#ec>a$ P^e ^b ^APH 1. #ec>a *&OM noticias J:E&E id b PdidPNX do"3GHX dobtenerQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQnoticiaQresH S !H Z dnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiaQresHX dtitu)ar b dnoticiaQin#oTNtitu)arNUX dte0to b dnoticiaQin#oTNte0toNUX di a(en b NnoticiasMN.dnoticiaQin#oTNi a(enNUX d#ec>a b dnoticiaQin#oTN#ec>aNUX dsa)idaQp>p b N R#or actionbgNN.dQ.E&'E&TNP:PQ.E;*NU.NgN et>odbgNPO.9gN enctypebgN u)tipartM#or 8datagNS R>3S6oticia Id2 didRM>3S Rstron(S9itu)ar2RMstron(S Rinput typebgNte0tgN na ebgNtitu)argN va)uebgNdtitu)argN si7ebgN5!gN a0)en(t>bgN2!!gNSRbrSRbrS Rstron(S9e0to noticia2 RMstron(SRbrS Rte0tarea na ebgNte0togN co)sbgN53gN roDsbgN-gNSdte0to RMte0tareaSRbrSRbrS Ri ( c)assbgNi a(enQdeta))esQnoticiagN srcbgNdi a(engN Didt>bgN256gN a)tbgN*otoQnoticiagNSRbrSRbrS Rstron(S+a biar i a(en2 RMstron(SRbrS Rinput typebgN#i)egN na ebgNno breQ#ic>erogNSRbrSRbrS Rinput typebgN>iddengN na ebgNM1CQ*I;EQ.I@EgN va)uebgN1!!!!!!!gNS Rinput typebgN>iddengN na ebgNidgN va)uebdidS Rinput typebgNsub itgN na ebgNcon#ir argN va)uebgN+on#ir argNS Rinput typebgNsub itgN na ebgNcance)argN va)uebgN+ance)argNS RM#or SNX [ e)se dsa)idaQp>p b NR>2S6o se encontr )a noticia en )a base de datosRM>2SNX

162

[ e)se Z i# GissetGdQPO.9TNcon#ir arNUHH Z did b dQPO.9TNidNUX dtitu)ar b dQPO.9TNtitu)arNUX dte0to b dQPO.9TNte0toNUX di a(en b dQ*I;E.TNno breQ#ic>eroNUTNna eNUX ddestinoQ#ic>ero b NMDa pMDDDMp#cMnoticiasMNX dactua)i7arQnoticiaQs/) b NKP"19E noticias .E9 titu)ar b Pdtitu)arP$ te0to b Pdte0toPNX i# Gce ptyGdi a(enHH Z MM si se >a adjuntado a)(una i a(en i# GsubirQ#ic>eroGddestinoQ#ic>eroHH MM si se >a conse(uido subir e) #ic>ero sin incidencias dactua)i7arQnoticiaQs/) .b N$ i a(en b Pdi a(enPNX e)se Z ec>o N;a base de datos est4 en anteni iento en estos o entos. Por #avor$ intBnte)o de nuevo 4s tarde.RbrSNX e0itX [ [ dactua)i7arQnoticiaQs/) .b N J:E&E id b PdidPNX do"3GHX dactua)i7arQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dactua)i7arQ noticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX dsa)idaQp>p .b N R>2S6oticia odi#icada correcta enteRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ i# GissetGdQPO.9TNcance)arNUHH dsa)idaQp>p .b N R>2SModi#icacin cance)adaRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX [ [ e)se dsa)idaQp>p b NR>2S6o tiene per isos para acceder a este recurso.RM>2SNX ys/)iQ#reeQresu)tGdobtenerQnoticiaQresHX ys/)iQ#reeQresu)tGdactua)i7arQnoticiaQresHX ys/)iQc)oseGd ys/)iHX

163

Por I)ti o$ se e0pone )a seccin de interBs de) script G#ic>ero e)i inarQnoticia.p>pH /ue per ite a un usuario 1d inistrador e)i inar una noticia. En este caso$ e) usuario debe con#ir ar )a operacin de borrado$ tras )o cua)$ e) siste a proceder4 a) borrado de )a tup)a en )a 3ase de "atos$ as, co o a )a e)i inacin de) #ic>ero /ue contiene )a i a(en$ si )o >ubiere. "estacar /ue e) script es ostrado en una ventana e er(ente.

i# G dQ.E..IO6TNcate(oriaNU bb N1"MN H Z MMsi e) usuario no >a enviado e) #or u)ario$ se )e pide con#ir acin de borrrado i# G cissetGdQPO.9TNcon#ir arNUH ff cissetGdQPO.9TNcance)arNUH H Z did b dQLE9TNidNUX dtitu)ar b dQLE9TNtitNUX dsa)idaQp>p b N Rstron(S9itu)ar2 dtitu)arRMstron(S R>2Sm Est4 se(uro /ue desea continuar eRM>2S R#or actionbgNN.dQ.E&'E&TNP:PQ.E;*NU.NgN et>odbgNPO.9gNS Rinput typebgN>iddengN na ebgNidgN va)uebdidS Rinput typebgNsub itgN na ebgNcon#ir argN va)uebgN+on#ir argNS Rinput typebgNsub itgN na ebgNcance)argN va)uebgN+ance)argNSRM>2S RM#or SNX [ e)se Z did b dQPO.9TNidNUX dbuscarQnoticiaQs/) b N.E;E+9 titu)ar$ i a(en *&OM noticias J:E&E id b PdidPNX do"3GHX dbuscarQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dbuscarQnoticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# GdnoticiaQin#o b ys/)iQ#etc>QarrayGdbuscarQnoticiaQresHH Z i# G issetGdQPO.9TNcon#ir arNUH H Z de)i inarQnoticiaQs/) b N"E;E9E *&OM noticias J:E&E id b PdidPNX de)i inarQnoticiaQres b ys/)iQ/ueryGd ys/)i$ de)i inarQ noticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX drutaQi a(en b NnoticiasMN.dnoticiaQin#oTNi a(enNUX i# GGde)i inarQnoticiaQresH ff ce ptyGdnoticiaQin#oTNi a(enNUH H un)in]GdrutaQi a(enHX

16%

dsa)idaQp>p b N R>2S6oticia e)i inada con B0itoRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpS NX [ i# G issetGdQPO.9TNcance)arNUH H dsa)idaQp>p b N R>2S3orrado cance)adoRM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpS NX [ e)se dsa)idaQp>p b N R>2SEsta noticia ya #ue e)i inada. "ebe re#rescar e) )istado pu)sando *5 o >aciendo c)ic] en Lestin 6oticias.RM>2S RpSRa >re#ba on+)ic]bgNDindoD.c)oseGHgNS+errarRMaSRMpSNX ys/)iQ#reeQresu)tGdbuscarQnoticiaQresHX ys/)iQ#reeQresu)tGde)i inarQnoticiaQresHX ys/)iQc)oseGd ys/)iHX [ [ e)se dsa)idaQp>p b NR>2S6o dispone de per isos para acceder a este recurso.RM>2SNX

.e deta))an en este apartado$ e) odo en /ue >an sido a) acenados )os datos de )a ap)icacin Deb as, co o )os ecanis os recurridos para acceder y (estionar )os is os. En )a *i(ura 5.%.3.1. se re)acionan a)(unos de )os e)e entos /ue representan in#or acin u)ti edia de )a ap)icacin$ as, co o en )a *i(ura 5.%.3.2 puede co probarse )a estructura de contenidos de) proyecto ediante una or(ani7acin basada en directorios Gse >a obviado inc)uir e) directorio ra,7 donde se a) acenan

165

T-$1
;o(otipo 1yto. 9,tu)o Gparte i7da.H 9,tu)o Gparte drc>a.H +abecera opcin .eccin est4tica Icono Ksuarios Icono *oros Icono 6eDs)etter Icono 6eDs)etter 2

D(/&.-$&-D,
I a(en sintBticaX #or ato P6LX 1!20115X 9a a5o2 1-$3 ?3 I a(en sintBtica con te0toX #or ato P6LX 72502!5X 9a a5o2 175 ?3 Icono ani ado$ i a(en sintBtica_#oto(ra#,aX #or ato LI*X 23602!3X 9a a5o2 6!2?3 I a(en sintBtica con te0toX #or ato P6LX 2!905-X 9a a5o -$29?3 I a(en sintBticaX #or ato P6LX 91011-X 9a a5o2 -$!1 ?3 Icono ani ado$ i a(en sintBtica con te0toX #or ato LI*X 27-02%7X 9a a5o2 1!2?3 Icono ani ado$ i a(en sintBtica con te0toX #or ato LI*X 27-02%7X 9a a5o2 156?3 Icono ani ado$ i a(en sintBtica con te0toX #or ato LI*X 55!03!!X 9a a5o2 3%-?3

Icono ani ado$ i a(en sintBtica con te0toX #or ato LI*X 27-02%7X Icono O#icina 'irtua) 9a a5o2 %%$-?3 I a(en +o unidad I a(en sintBtica con te0toX #or ato LI*X 2330131X 9a a5o2 1%$7 ?3 Pie Pa(ina E#ecto so bra ;atera) I a(en #oto(r4#icaX #or ato P6LX 9-!021%X 9a a5o2 166 ?3 I a(en sintBticaX #or ato P6LX 122201%X 9a a5o2 %$-- ?3

Fi$! R!Q!:!J L *lementos multimedia de la aplicaci&n 6e"

D-.(&+1.-1
3asesQoposiciones +ss I a(es I a(esQseccionQ Estatica I presos 6oticias &a,7 P)anti))as de esti)o Iconos ani

D(/&.-$&-D,
"ocu entos con )a in#or acin de cada oposicin ados$ #otos$ cajas y otras i 4(enes sintBticas 4s est4tica

I 4(enes e p)eadas en )a .eccin GInyoayunta ientoH

"ocu entos asociados a a)(In tr4 ite I 4(enes #oto(r4#icas asociadas a a)(una noticia .cripts P:P$ p4(inas Deb est4ticas y )ibrer,as de #unciones

Fi$! R!Q!:!% L Er$ani1aci&n de contenidos de la aplicaci&n 6e"

En )a *i(ura 5.%.3.3 se uestra un e0tracto Gen e) apartado de 1ne0os puede consu)tarse )a re)acin co p)etaH de )a estructura de )a 3ade de "atos$ obtenido ediante )a ap)icacin p>pMy1d in. En B) puede apreciarse c o se >a or(ani7ado )a in#or acin en base a tab)as$ indic4ndose ade as sus atributos

166

88 3ase de datos2 np#cn 88 88888888888888888888888888888888888888888888888888888888 88 Estructura de tab)a para )a tab)a ntra itesQusuariosn +&E19E 913;E I* 6O9 ECI.9. ntra itesQusuariosn G nidn intG11H 6O9 6K;; 1K9OQI6+&EME69$ nidQtra n intG11H 6O9 6K;;$ nuserna en varc>arG2!H 6O9 6K;;$ n#ec>an dateti e 6O9 6K;;$ nestadon varc>arG2!H 6O9 6K;;$ n>istQnoti#icacionesn te0t 6O9 6K;;$ P&IM1&A ?EA GnidnH H E6LI6EbMyI.1M "E*1K;9 +:1&.E9b)atin1 1K9OQI6+&EME69b71 X 88 88888888888888888888888888888888888888888888888888888888 88 Estructura de tab)a para )a tab)a nusuariosn +&E19E 913;E I* 6O9 ECI.9. nusuariosn G ndnin varc>arG9H 6O9 6K;;$ nno bren varc>arG2!H 6O9 6K;;$ nape))ido1n varc>arG25H 6O9 6K;;$ nape))ido2n varc>arG25H 6O9 6K;;$ nse0on varc>arG1H 6O9 6K;;$ n#ec>aQnacn date 6O9 6K;;$ nanti(uedadn dateti e 6O9 6K;;$ ne ai)n varc>arG5!H 6O9 6K;;$ nt#non varc>arG15H 6O9 6K;;$ nuserna en varc>arG2!H 6O9 6K;;$ npassDordn varc>arG5!H 6O9 6K;;$ ncate(orian varc>arG3H 6O9 6K;;$ P&IM1&A ?EA Gnuserna enH H E6LI6EbMyI.1M "E*1K;9 +:1&.E9b)atin1X

Fi$! R!Q!:!: L *xtracto de la estructura de la Base de Datos# reali1ado con p'p7 Admin

167

En )a *i(ura 5.%.3.%. puede conte p)arse c o se >a i p)e entado )a #uncin encar(ada de conectar con )a 3ase de "atos$ >abi)itando de este #or a cua)/uier operacin posterior de consu)ta o actua)i7acin de )a is a.

#unction do"3GH Z ()oba) d ys/)iX d ys/)i b ys/)iQconnectGN)oca)>ostN$ Ndanitrac]N$ Np#c2!1!N$ Np#cNHX

i# G ys/)iQconnectQerrnoGHH Z print#GN+one0in #a))ida a )a 3ase de "atos. E) error reportado es e) si(uiente2 P^sgnPN$ ys/)iQconnectQerrorGHHX e0itGHX [ e)se return d ys/)iX [ MM*I6 #unction do"3GH

Fi$! R!Q!:!Q L Funci&n que permite la conexi&n a la Base de Datos de la aplicaci&n

+o o puede apreciarse$ es preciso especi#icar para conse(uir una cone0in con B0ito$ tanto un no bre de usuario Gdanitrac]H co o un contrase5a Gp#c2!1!H$ as, co o un acceso )oca) G)oca)>ostH y obvia ente e) no bre de )a 3ase de "atos con )a /ue se trabajar4 Gp#cH. 1si is o$ si )a cone0in no ))e(ase a estab)ecerse correcta ente$ se i pri e por panta))a e) error (enBrico /ue >a podido causar)o. E) e)e ento retornado por )a #uncin$ ser4 re#erenciado posterior ente para e#ectuar cua)/uiera de )as acciones posib)es sobre )a 3ase de "atos. En otro orden de cosas$ se >ace precioso dedicar dentro de este apartado a)(unas ),neas sobre a/ue))a i p)e entacin de cdi(o orientada a conservar )a se(uridad e inte(ridad de )a in#or acin a) acenada en )a 3ase de "atos. En este sentido$ puede co probarse en )a *i(ura 5.%.3.5$ e) breve pero e#ica7 recurso de i p)e entacin uti)i7ado para evitar )a inyeccin .=; por parte de usuarios a)intencionados. +abe destacar /ue >a sido posib)e reducir notab)e ente )a e0tensin de) cdi(o dedicado a estos enesteres$ en parte debido a )a opti i7acin de) arc>ivo de con#i(uracin de P:P y )a activacin de ciertas directivas de se(uridad de) is o.

16-

#unction e)i inarQta(sGH Z #oreac>G dQPO.9 as dvariab)e bS dva)or HZ dQPO.9 T dvariab)e U b stripQta(sGdQPO.9 T dvariab)e UHX [ [ MMend o# #unction e)i inarQta(sGH Z

Fi$! R!Q!:!R L Funci&n orientada a evitar la in ecci&n -34

Kn ve7 vista )a i p)e entacin /ue per ite )a cone0in con )a 3ase de "atos$ dej4ndo)a >abi)itada para #uturas consu)tas$ se e0pone en )a *i(ura 5.%.3.6 una uestra de cdi(o /ue per ite recuperar )a in#or acin de )a is a para procesar)a y presentar)a #ina) ente. En este caso$ se trata de) script /ue recupera toda )a in#or acin disponib)e sobre una noticia previa ente se)eccionada$ ostr4ndo)a en una ventana e er(ente.

did b dQLE9TNidNUX dobtenerQnoticiaQs/) b N.E;E+9 titu)ar$ te0to$ i a(en$ "19EQ*O&M19G#ec>a$ P^e ^b ^APH 1. #ec>a *&OM noticias J:E&E id b PdidPNX do"3GHX dobtenerQnoticiaQres b ys/)iQ/ueryGd ys/)i$ dobtenerQnoticiaQs/)H or dieG ys/)iQerrorGd ys/)iHHX i# G ys/)iQnu QroDsGdobtenerQnoticiaQresH S !H Z dnoticiaQin#o b ys/)iQ#etc>QarrayGdobtenerQnoticiaQresHX dtitu)ar b dnoticiaQin#oTNtitu)arNUX dte0to b dnoticiaQin#oTNte0toNUX di a(en b NnoticiasMN.dnoticiaQin#oTNi a(enNUX d#ec>a b dnoticiaQin#oTN#ec>aNUX dsa)idaQp>p b N R>2S6oticia Id2 did2RbrSdtitu)arRbrSRstron( sty)ebgN#ont8si7e27!^gNSd#ec>a RMstron(SRM>2S Ri ( c)assbgNi a(enQdeta))esQnoticiagN srcbgNdi a(engN Didt>bgN256gN a)tbgN*otoQnoticiagNS

169

RpSdte0toRMpSNX ys/)iQ#reeQresu)tGdobtenerQnoticiaQresHX ys/)iQc)oseGd ys/)iHX [ e)se dsa)idaQp>p b NR>2S6o se encuentra )a noticia en )a base de datos.RM>2SNX

Fi$! R!Q!:!S L +&di$o script de $eneraci&n de la vista en detalle de una noticia

+o o puede apreciarse$ se recupera toda )a in#or acin de )a noticia de )a 3ase de "atos cuyo identi#icador coincida con e) /ue proviene a travBs de) Btodo LE9 Gen)ace se)ecciono previa ente por un usuarioH$ #or ateando previa ente a)(unos de )os ca pos co o por eje p)o a>ora$ )a #ec>a de pub)icacin de )a noticia. Posterior ente se veri#ica /ue )a consu)ta >aya propiciado a)(In resu)tado$ en cuyo caso$ se obtiene )a in#or acin re/uerida de cada ca po y se i pri e por panta))a con e) #or ato y orden convenidos.

17!

+onc)uida )a #ase de i p)e entacin$ se inicia una etapa #ina) de an4)isis y co probaciones$ donde se veri#ica inuciosa ente cada subapartado o hilo en /ue puede desco ponerse e) porta). .e e0a inan asi is o aspectos co o )a usabi)idad$ )a per&ormance de) Debsite a nive) de anc>o de banda consu ido$ )a accesibi)idad atendiendo a criterios de reso)ucin de panta))a$ entre otros. "e este odo$ se >an co probado uno a uno$ todas )as opciones de actuacin disponib)es para e) usuario en cada una de )as secciones de) porta)$ siento e) resu)tado e) esperado en todos )os casos. ;as i 4(enes y contenidos u)ti edia >an sido opti i7ados en pro de ocupar e) ,ni o espacio posib)e$ sin perjudicar )a ca)idad de #or a perceptib)e. Para e))o se >an buscado )os #or atos de a) acena iento 4s apropiados para cada e)e ento$ as, co o ta biBn se >a recurrido a cierto (rado de co presin$ se(In e) caso. Por otro )ado$ se >an estructurado a) 40i o )as )ibrer,as de #unciones disponib)es$ con e) objetivo de car(ar e) enor nI ero posib)e de e))as en cada p4(ina /ue )as re/uiera. Por I)ti o$ )as consu)tas a )a 3ase de "atos substraen s)o )a in#or acin de )os ca pos Iti)es$ evit4ndose sie pre /ue sea posib)e$ e) uso de asteriscos junto con )a instruccin .E;E+9. 9odas estas edidas$ redundan en un ejor rendi iento Gper#or anceH en )o /ue se re#iere a )a e0periencia de nave(acin por e) Debsite$ re/uiriendo un enor anc>o de banda y por ende$ enos de ora en )os procesos. .e >a recurrido a ap)icaciones de terceros o a consorcios internaciona)es co o a>ora J3+$ con e) #in de rati#icar )a correccin de) cdi(o desde )as perspectivas 4s >abitua)es y potencia) ente 4s recurridas Gevitar en)aces rotos$ cu p)i iento de est4ndares$ co patibi)idad con nave(adoresH. ;a a i(abi)idad para con )a ap)icacin$ se ani#iesta notoria ente desde e) pri er o ento de uti)i7acin$ (racias a )os recursos introducidos para adaptar )a e0posicin de )os contenidos atendiendo a )as pre#erencias e >istrico de uso de cada usuario. ;a se(uridad >a sido a p)ia ente abordada$ co o ya se >a re#erido en cap,tu)os anteriores$ si(uiendo patrones de pro(ra acin de )os deno inados co o Ebuenos

171

>4bitosF$ inte(rando recursos orientados a evitar )a inyeccin .=; y e p)eando un siste a de autenticacin de usuarios /ue per ite )a ejecucin de a/ue))as partes de cdi(os Esensib)esF s)o para a/ue))os usuarios con )os privi)e(ios su#icientes. .e >a introducido reiterada ente e) concepto de reusabi)idad$ con e) #in de /ue e) usuario consi(a Eco prenderF )os aspectos de #unciona iento y co porta iento$ en e) enor tie po posib)e. "e esta #or a$ son uy aparentes )os dise5os (uardando uni#or idad en sus e)e entos$ tanto en #or u)arios co o en )a (ran parte de e)e entos interactivos e inc)usive se aprecia en )os inter#aces de ad inistracin de contenidos.

V%4-0%&-D, CSS.
E) Jor)d Jide Jeb +onsortiu GJ3+H es un consorcio internaciona) /ue produce reco endaciones para )a Jor)d Jide Jeb$ entre otras$ )as conocidas va)idaciones de cdi(o orientadas a conse(uir una Deb 4s E)i piaF y Eaccesib)eF. En este sentido$ esta va)idaciones (aranti7ar4n$ en otro orden de cosas$ /ue indistinta ente de) nave(ador Deb e p)eado$ una p4(ina Deb sea representada correcta ente. ;a i p)e entacin de) cdi(o +.. de) porta) objeto de estudio >a sido va)idada con B0ito uti)i7ando e) .ervicio de 'a)idacin de) propio J3+$ obteniendo )a ca)i#icacin de E+.. 'ersin 3 v4)idoF$ sin nin(In error encontrado GvBase *i(ura 6.1H.

Fi$! S!J L Aplicaci&n del P:+ para validaci&n +--

172

Para rea)i7ar )a prueba de va)idacin anterior$ se >a recurrido a un servicio de a)oja iento (ratuito$ trans#iriendo a)), todos )os contenidos de) porta) y va)id4ndo)o a continuacin e p)eando e) .ervicio o#recido por e) J3+$ co o si(ue 2
>ttp2MMji(saD.D3.or(Mcss8va)idatorMva)idatoreurib>ttp2MMDDD.trac] an.site11.co fpro#i)ebcss3

1si is o$ se >a ubicado en e) porta)$ e) icono /ue e) propio consorcio J3+ pone a disposicin de cua)/uier desarro))ador Deb$ e) cua) representa un indicativo para /ue )os potencia)es usuarios de) porta) Deb co prueben /ue e) is o cu p)e con e) eje p)o$ abo(ando por )a interoperabi)idad y )a accesibi)idad. +abe encionar sobre e) cdi(o +.. i p)e entado para e) porta) objeto de estudio /ue$ a pesar de cu p)ir con e) est4ndar +.. 'ersin 3$ es co patib)e s)o parcia) ente con e) est4ndar +.. 'ersin 2.1$ debido Inica ente a )a uti)i7acin de )a propiedad Ete0t8s>adoDF Ge#ecto so bra sobre un te0toH. 6o obstante$ se >a decidido conservar esta propiedad por )a notab)e e#ectividad de) resu)tado conse(uido$ /ue no es otra /ue )a de au entar )a )e(ibi)idad de un te0to cuyo co)or apenas contrasta con e) co)or de) #ondo sobre e) /ue presenta. Por otro )ado$ esta propiedad es ya conte p)ada por una a p),a ayor,a de nave(adores$ co o a>ora *ire#o0$ +>ro e$ Opera o .a#ari.

V(.-8-&%&-D, 0( (,4%&(/.
;a Jor)d Jide Jeb es vo)4ti)$ un )u(ar en constantes ca bios. P4(inas y Jebsites enteros ca bian$ se ueven y desaparecen a diario$ con e) potencia) ries(o de en)aces E uertosF /ue esto con))eva. E0isten diversas ap)icaciones Deb Gon)ineH /ue c>e/uean y veri#ican )a cantidad de en)aces inv4)idos G/ue ya no EapuntanF a una p4(ina v4)idaH$ indicando ade 4s cu4)es es su ruta. Kna de estas ap)icaciones de (ran popu)aridad es /ue puede encontrarse en e) Desite DDD.anybroDser.co . En )a *i(uras 6.2 y 6.3 pueden apreciarse unas capturas de panta))a de) inter#ace de uso as, co o de) resu)tado arrojado por esta ap)icacin on)ine. En resu en$ un tota) de -6 en)aces re#erenciados $ todos e))os v4)idos$ apuntados desde e) porta) Deb objeto de estudio.

173

Fi$! S!% L )nterface de la aplicaci&n online 666!an "ro6ser!com# servicio de c'equeo de enlaces

Fi$! S!: L @esultado del c'equeo de enlaces# ofrecido por la aplicaci&n online 666!an "ro6ser!com

17%

A,A4-/-/ 0( .(/14*&-1,(/ 0( $%,+%44%.


"urante e) desarro))o de )a ap)icacin$ se busc en toto o ento /ue )a is a pudiera ser visua)i7ada de #or a correcta y apta para su uso en di#erentes reso)uciones de panta))a o escritorio. E) cu p)i iento de esta pecu)iaridad recobra una especia) re)evancia en e) o ento preciso en e) /ue nos encontra os$ debido a )a pro)i#eracin de ordenadores port4ti)es de ta a5os reducidos$ popu)ar ente conocidos co o netboo]s y sus an4)o(os$ donde e) ta a5o de panta))a no acostu bra a superar )as 1! pu)(adas y una reso)ucin de 1!2%076- ppp. En e) o ento de )a presente edicin$ e) ran]in( panta))a 4s e0tendidos /ueda co o si(ue2 undia) de reso)uciones de

1. 1!2%076-2 2. 12-!0-!!2 3. 12-!01!2%2 %. 1%%!09!!2 5. 1366076-2 6 16-!01!5!2 7. -!!06!!2 -. 192!012!!2 9. 11520-6%2 1!. 192!01!-!2

2%.65^ 1-.6%^ 1!.51^ -.%1^ 6.2!^ 5.%5^ 2.6!^ 2.17^ 2.11^ 2.!1^

;a ap)icacin >a sido uti)i7ada y testeada intensa ente para )as reso)uciones /ue ostentan )as 5 pri eras posiciones$ siendo e) resu)tado satis#actorio y se(In )o previsto. En (ran edida$ e) B0ito en este resu)tado se debe a )a uti)i7acin de) #ra eDor] +.. 96! Lrid .yste $ cuyas principa)es virtudes ya #ueron e0puestas en un cap,tu)o anterior. 1 continuacin se adjuntan a)(unas capturas de c o es visua)i7ada )a ap)icacin para distintas reso)uciones de panta))a G*i(uras 6.%$ 6.5 y 6.6H.

175

Fi$! S!Q L 9isuali1aci&n de la aplicaci&n en una resoluci&n de J:SSx;ST

Fi$! S!R L 9isuali1aci&n de la aplicaci&n en una resoluci&n de J%TKxTKK

176

Fi$! S!S L 9isuali1aci&n de la aplicaci&n en una resoluci&n de JK%Qx;ST

E/+*0-1 0( ,%>(<%01.(/ ?(@.


Otro aspecto #unda enta) a eva)uar redunda en )a i portancia de /ue nuestra ap)icacin sea visua)i7ada y se co porte con nor a)idad y de #or a an4)o(a por cua)/uier nave(ador Deb disponib)e$ pre#erente ente por a/uB))os /ue ostentan un ayor porcentaje de cuota de uti)i7acin por parte de usuarios. En e) o ento de edicin de esta 4s uti)i7ados /ueda co o si(ue2 e oria$ e) ran]in( undia) de neva(adores

177

1oH Internet E0p)orer2 55$73^ 2oH Mo7i))a *ire#o0 3!$9-^ 3oH Loo()e +>ro e 11$%%^ %oH Opera !$79^ 5oH .a#ari !$69^ ;a ap)icacin >a sido uti)i7ada y testeada intensa ente en todos )os casos anteriores$ siendo e) resu)tado satis#actorio y se(In )o previsto. .e adjuntan capturas de )os 3 pri eros$ )os cua)es ostentan una cuota si(ni#icativa ente superior a )os restantes. ;as *i(uras 6.% y 6.5 >acen re#erencia a )os nave(adores +>ro e y *ire#o0 respectiva ente$ ientras /ue )a *i(ura 6.7 se re#iere a) nave(ador Internet E0p)orer.

Fi$! S!; L 9isuali1aci&n de la aplicaci&n mediante el nave$ador )nternet *xplorer

17-

9odo principio tiene un #ina). .i bien esta popu)ar cita puede ser conte p)ada en casi cua)/uier proyecto o conte0to$ estoy convencido de /ue para e) caso /ue a>ora e ocupa$ no e >ayo en e) #ina) sino en e) principio. 6o en vano es a>ora cuando se abre un sin#,n de posibi)idades. "isponer de )os conoci ientos necesarios para crear nuevos contenidos para )a Ered de redesF$ indudab)e ente te >ace sentir privi)e(iado$ casi ta)entoso e atrever,a a a5adir$ sobre todo despuBs de co probar )a diversidad de tecno)o(,as Deb y )en(uajes a#ines /ue se precisan conocer a )a par /ue aunar$ de odo /ue )a so)ucin #ina) discurra se(In )as pretensiones inicia)es. ;a pro(ra acin Deb es a)(o /ue durante e) desarro))o de )a carrera sie pre e >ab,a ))a ado poderosa ente )a atencin$ si bien otras discip)inas re)acionadas con )a in#or 4tica ta biBn )o >icieron$ pro#iriendo a Bstas I)ti as ayor prioridad /ue a )a pri era. +o o no encontraba e) o ento de e0peri entar con esta ateria /ue e atra,a desde >ac,a ya a)(In tie po$ decid, /ue una )(ica #or a de abordar)a ser,a cana)i74ndo)o a travBs de )a I)ti a asi(natura pendiente de is estudios$ e) Proyecto *ina) de +arrera. "e este odo bus/uB un te a para e) is o /ue conte p)ase )a anipu)acin de )a ayor cantidad posib)e de tecno)o(,as Deb$ co o a>ora e) proyecto /ue nos ocupa$ e) de un co p)eto y #unciona) porta)$ orientado en este caso a )as (estiones de un 1yunta iento. "urante e) desarro))o de) proyecto$ no #a)taron )os d,as$ inc)uso en ocasiones se anas$ de (ran desconcierto e inc)usive de desesperacin$ donde e) desarro))o de) is o parec,a >aber entrado en una #ase de estanca iento$ sin sa)ida por o entos$ donde #ue necesario ap)icar (randes dosis de discip)ina y ri(urosidad para continuar ade)ante y recuperar e) rit o y e) ca ino inicia). 9a biBn #ueron de vita) ayuda )os conoci ientos ad/uiridos durante )a carrera co o )os re)acionados con e) dise5o y (estin de 3ases de "atos o a>ora )a in(enier,a de) so#tDare. Me (ustar,a asi is o p)antear una serie de a p)iaciones posib)es y /ue /uedan #uera de )a e0tensin y objetivo de este proyecto. Me re#iero a a p)iaciones orientadas a au entar )a interactividad para con e) usuario$ uti)i7ando para e))o 4s recursos <avascript. 1si is o$ otras a p)iaciones posib)es estar,an orientadas a au entar )a #unciona)idad de )a seccin O#icina 'irtua)$ co o a>ora e) env,o de ensajes de vi)

179

G.M.H o bien ejorar )a co unicacin *uncionario8Ksuario de #or a /ue #uera 4s directa$ casi en tie po rea)$ e p)eando tecno)o(,as an4)o(as a )o /ue se conoce co o +>at o ta biBn Mensajer,a instant4nea. +onc)uyendo y con tota) conviccin$ puedo a#ir ar /ue todo )o aprendido >asta e) d,a >oy$ >a superado a p)ia ente is e0pectativas inicia)es y /ue e siento #e)i7 y a#ortunado de >aber se)eccionado esta te 4tica y no otra para i Proyecto *ina) de +arrera. Por otro )ado$ i satis#accin se ve re#or7ada s)o con )a idea de /ue un a p)io abanico de opciones se e abren en estos o entos$ tanto para i desarro))o persona) co o pro#esiona).

1-!

)vare7$ M.1. Desarrollo Web, Tu mejor ayuda para aprender a hacer webs. (http://www.desarrolloweb.com). 1ccedido en sept.2!!9.

3uend,a$ *. na !u"a para la reali#aci$n y super%isi$n de proyectos &inal de carrera ('()) en el *mbito de la web. Ed. KP'$ 2!!-.

*actor,a de Internet$ ..;. WebTaller (http://www.webtaller.com). 1ccedido en oct.2!!9.

.an(er ;.$ Ja)es <.


Wi+ipedia, ,a enciclopedia libre. (http://es.wi+ipedia.or!). 1ccedido en sept.2!!9. Je))in( ;.$ 9>o son ;. 'ro!ramaci$n Desarrollo Web con '2' y /345,. Ed. 1naya Mu)ti edia$ ..1.$ 2!!9.

1-1

Das könnte Ihnen auch gefallen