<mavenBuild _class='hudson.maven.MavenBuild'><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><attachedArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>44cc97527cd395c2aa42dfca8566cab0</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>67182a67a41174818714143898277258</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</canonicalName><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>39859c3a9e3f6986459fb172fc2d8aac</md5sum><type>war</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>92</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-jsf/92/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>a1666b37ed3bcfe5a6b9714068c03b08</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-jsf/92/mavenArtifacts/</url></action><action></action><artifact><displayPath>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</displayPath><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-jsf/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</displayPath><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-jsf/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.pom</displayPath><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.pom</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-jsf/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.pom</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</displayPath><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-jsf/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</relativePath></artifact><building>false</building><displayName>#92</displayName><duration>10159</duration><estimatedDuration>12831</estimatedDuration><fullDisplayName>microstories-2526-teamA » JSF #92</fullDisplayName><id>92</id><keepLog>false</keepLog><number>92</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1763890810656</timestamp><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-jsf/92/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>jsf/src/main/webapp/resources/css/main.css</affectedPath><affectedPath>jsf/src/main/webapp/WEB-INF/web.xml</affectedPath><affectedPath>jsf/src/main/java/es/uvigo/esei/microstories/jsf/LoginBean.java</affectedPath><affectedPath>jsf/src/main/webapp/login.xhtml</affectedPath><affectedPath>jsf/src/main/webapp/WEB-INF/template.xhtml</affectedPath><commitId>021398d1235cac2cea5aabeee471146fbac7e906</commitId><timestamp>1763890438000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk25: Adds JSF login/logout functionality
Added full authentication support by introducing a LoginBean that
performs container-managed login and logout through the WildFly security
domain. A new login.xhtml page was created with a styled login form, and
the main template was updated to display a dynamic Sign In button or
user menu depending on the authentication state. The navbar and search
components were enhanced for better responsiveness and usability.
Additional CSS was included to support the new login page, user
dropdown, and updated search design. Security roles ADMIN and CREATOR
were also enabled in web.xml.
</comment><date>2025-11-23 10:33:58 +0100</date><id>021398d1235cac2cea5aabeee471146fbac7e906</id><msg>tsk25: Adds JSF login/logout functionality</msg><path><editType>add</editType><file>jsf/src/main/webapp/login.xhtml</file></path><path><editType>edit</editType><file>jsf/src/main/webapp/WEB-INF/template.xhtml</file></path><path><editType>edit</editType><file>jsf/src/main/webapp/resources/css/main.css</file></path><path><editType>add</editType><file>jsf/src/main/java/es/uvigo/esei/microstories/jsf/LoginBean.java</file></path><path><editType>edit</editType><file>jsf/src/main/webapp/WEB-INF/web.xml</file></path></item></changeSet><culprit><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName><id>devpablogg</id><property _class='jenkins.security.ApiTokenProperty'></property><property _class='com.cloudbees.plugins.credentials.UserCredentialsProvider$UserCredentialsProperty'></property><property _class='hudson.plugins.emailext.watching.EmailExtWatchAction$UserProperty'></property><property _class='hudson.model.MyViewsProperty'></property><property _class='org.jenkinsci.plugins.displayurlapi.user.PreferredProviderUserProperty'></property><property _class='hudson.model.PaneStatusProperties'></property><property _class='hudson.search.UserSearchProperty'><insensitiveSearch>true</insensitiveSearch></property><property _class='hudson.tasks.Mailer$UserProperty'><address>devpablogg@gmail.com</address></property></culprit><mavenArtifacts><attachedArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>44cc97527cd395c2aa42dfca8566cab0</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>67182a67a41174818714143898277258</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</canonicalName><fileName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.war</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>39859c3a9e3f6986459fb172fc2d8aac</md5sum><type>war</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>92</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-jsf/92/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-jsf</artifactId><canonicalName>dgss2526-teamA-microstories-jsf-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>a1666b37ed3bcfe5a6b9714068c03b08</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-jsf/92/mavenArtifacts/</url></mavenArtifacts></mavenBuild>