/branches/v3/impl/conf/template/email/courseUnitAnnouncement_pt.txt |
---|
1,4 → 1,5 |
# 0 : Course Unit Name |
|
# 0 : Course Unit Name |
# 1 : Title |
# 2 : Text |
# 3 : Teacher |
/branches/v3/impl/src/doc/estgweb.eap |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v3/impl/src/doc/BacoV32016/linuxInstall/How To Set Up Master Slave Replication in MySQL _ DigitalOcean_files.zip |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/doc/BacoV32016/linuxInstall/mysql/mysqlreplication.txt |
---|
New file |
0,0 → 1,108 |
#PARA MYSQL SLAVE JA EM FUNCIONAMENTO COM BASE EM UM MASTER E FUNCIONANDO COM FICHEIROS |
STOP SLAVE; |
SET GLOBAL master_info_repository = 'TABLE'; |
SET GLOBAL relay_log_info_repository = 'TABLE'; |
depois alterar no my.conf na parte do mysqld para isto |
[mysqld] |
master-info-repository=TABLE |
relay-log-info-repository=TABLE |
##################################### |
SERVER EXEMPLO: 172.20.100.141 |
SLAVE EXEMPLO: 172.20.100.20 |
NO MASTER QUE VAI SER REPLICADO |
sudo apt-get install mysql-server mysql-client |
sudo nano /etc/mysql/my.cnf |
#comentar a linha assim: |
#bind-address = 127.0.0.1 |
#procurar a linha server-id e colocar assim: |
server-id = 1 |
#definir o log file e a base de dados que poderá ser replicada: |
log_bin = /var/log/mysql/mysql-bin.log |
binlog_do_db = pae |
#Como temos trasaction ISOLATION READ_COMMITED |
#adicionat a linha |
binlog_format=row |
#reiniciar tomcat |
/etc/init.d/mysql restart |
#AGORA ENTRAMOS NO MYSQL |
mysql -u root |
#GARANTIR DIREITOS DE REPLICACAO AO SLAVE |
GRANT REPLICATION SLAVE ON *.* TO 'baco'@'172.20.100.20' IDENTIFIED BY 'baco1232008estg'; |
FLUSH PRIVILEGES; |
#FAZER DUMP DA BASE DE DADOS |
mysql> \u pae |
Reading table information for completion of table and column names |
You can turn off this feature to get a quicker startup with -A |
Database changed |
mysql> FLUSH TABLES WITH READ LOCK; |
Query OK, 0 rows affected (0.00 sec) |
mysql> SHOW MASTER STATUS; |
+------------------+----------+--------------+------------------+ |
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | |
+------------------+----------+--------------+------------------+ |
| mysql-bin.000001 | 107 | pae | | |
+------------------+----------+--------------+------------------+ |
1 row in set (0.00 sec) |
mysql> UNLOCK TABLES; |
ENTRAR EM NOVO TERMNAL SEM MECHER NESTE |
mysqldump -u root -p --opt pae > pae-para-slave.sql |
#NO MYSQL |
UNLOCK TABLES; |
QUIT; |
#COPIAR O FICHEIRO PARA O SLAVE 172.20.100.20 |
#SE FOR EM LINUX FAZER ASSIM EXEMPLO que copia para a pasta onde estamos que é o ".": |
scp jmachado@pae.ipportalegre.pt:/home/jmachado/pae-para-slave.sql . |
#entrar no mysql do salve |
create database pae; |
#sair |
quit |
#carregar base de dados |
mysql -uroot -pbaco1232008estg pae < pae-para-slave.sql |
elay-log = /var/log/mysql/mysql-relay-bin.log |
log_bin = /var/log/mysql/mysql-bin.log |
binlog_do_db = newdatabase |
sudo service mysql restart |
The next step is to enable the replication from within the MySQL shell. |
Open up the the MySQL shell once again and type in the following details, replacing the values to match your information: |
CHANGE MASTER TO MASTER_HOST='172.20.100.141',MASTER_USER='baco', MASTER_PASSWORD='baco1232008estg', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS= 107; |
START SLAVE; |
SHOW SLAVE STATUS |
/branches/v3/impl/src/web/admin/profile/profilePersonalData.jsp |
---|
352,7 → 352,7 |
<html:text styleClass="readOnly form-control" property="birthDayDate" maxlength="100"/> |
</baco:isAdmin> |
<baco:isNotAdmin> |
<<html:text styleClass="readOnly form-control" property="birthDayDate" maxlength="100" readonly="true"/> |
<html:text styleClass="readOnly form-control" property="birthDayDate" maxlength="100" readonly="true"/> |
</baco:isNotAdmin> |
</div> |
371,7 → 371,7 |
<div class="form-group"> |
<label class="control-label col-sm-2" ><bean:message key="address"/></label> |
<div class="col-sm-10"> |
<html:text property="userView.address" maxlength="250" /> |
<html:text styleClass="form-control" property="userView.address" maxlength="250" /> |
</div> |
</div> |
<div class="form-group"> |
/branches/v3/impl/src/web/layout/themes/estg/separators.jsp |
---|
126,13 → 126,13 |
</html:link> |
</li> |
</baco:isAdmin> |
<baco:isNotAdmin> |
<%-- <baco:isNotAdmin> |
<li> |
<html:link action="/user/homePae"> |
<span class="glyphicon glyphicon-log-out"></span> MODO PAE |
</html:link> |
</li> |
</baco:isNotAdmin> |
</baco:isNotAdmin>--%> |
<li> |
<a href="<%=request.getContextPath()%><%=Globals.SYSTEM_REDIRECTIONS_POLICY_AUTHENTICATION_LOGOUT_ACTION%>"> |
<span class="glyphicon glyphicon-log-out"></span> <bean:message key="logout"/> |
/branches/v3/impl/src/web/public/announcements/announcementsPortalLeft.jsp |
---|
69,12 → 69,12 |
if (item.getSmallImage() != null) |
{ |
%> |
<img src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"> |
<img style="max-width: 100%;" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"> |
<%} |
else if (item.getBigImage() != null) |
{ |
%> |
<img src="<%=request.getContextPath()%>/imageStream/<%=item.getBigImage().getId()%>"> |
<img style="max-width: 100%;" src="<%=request.getContextPath()%>/imageStream/<%=item.getBigImage().getId()%>"> |
<% |
} |
%> |
/branches/v3/impl/src/web/user/home/todos.jsp |
---|
30,128 → 30,131 |
Object[] args = new Object[]{}; |
List<IToDoCat> todos = (List<IToDoCat>) sm.execute(RequestUtils.getRequester(request, response), "CommonServicesGetAllTodosCat", args, names); |
%> |
<!--TODOS SIZE: <%=todos.size()%>--> |
<% |
if (todos != null && todos.size() > 0) |
{ |
%> |
<div class="row"> |
<div class="col-md-12 col-sm-12 col-xs-12"> |
<div class="panel panel-primary"> |
<div class="panel-heading"><bean:message key="intranet.todo"/></div> |
<div class="panel-body"> |
<div class="panel panel-primary"> |
<div class="panel-heading"><bean:message key="intranet.todo"/></div> |
<div class="panel-body"> |
<% |
if (todos == null || todos.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="todo.zero.todos"/> |
</div> |
<% |
} |
else |
{ |
%> |
<% |
for (IToDoCat toDoCat : todos) |
{ |
String imgClose; |
String imgOpen; |
String style; |
String img; |
String styleClass; |
// Duarte Santos |
if (toDoCat.getDescription().equals(ModuleEnum.TodoAnnouncements.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.Surveys.getMessageKey())) |
{ |
styleClass = "WARNING"; |
img = "/imgs/openedboxNeg.gif"; |
style = ""; |
imgClose = "/imgs/closedboxNeg.gif"; |
imgOpen = "/imgs/openedboxNeg.gif"; |
<% |
for (IToDoCat toDoCat : todos) |
{ |
String imgClose; |
String imgOpen; |
String style; |
String img; |
String styleClass; |
// Duarte Santos |
if (toDoCat.getDescription().equals(ModuleEnum.TodoAnnouncements.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.Surveys.getMessageKey())) |
{ |
styleClass = "WARNING"; |
img = "/imgs/openedboxNeg.gif"; |
style = ""; |
imgClose = "/imgs/closedboxNeg.gif"; |
imgOpen = "/imgs/openedboxNeg.gif"; |
} |
//Filipe Matos |
else |
if(toDoCat.getDescription().equals(ModuleEnum.TodoAnnouncements.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.Assessments.getMessageKey())){ |
} |
//Filipe Matos |
else |
if(toDoCat.getDescription().equals(ModuleEnum.TodoAnnouncements.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.Assessments.getMessageKey())){ |
styleClass = "WARNING"; |
img = "/imgs/openedboxNeg.gif"; |
style = ""; |
imgClose = "/imgs/closedboxNeg.gif"; |
imgOpen = "/imgs/openedboxNeg.gif"; |
} |
else |
if (toDoCat.getDescription().equals(ModuleEnum.Reminders.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.CourseUnits.getMessageKey())) |
{ |
styleClass = ""; |
img = "/imgs/openedbox.gif"; |
style = ""; |
imgClose = "/imgs/closedbox.gif"; |
imgOpen = "/imgs/openedbox.gif"; |
} |
else |
{ |
styleClass = ""; |
img = "/imgs/closedbox.gif"; |
style = Globals.HIDDEN; |
imgClose = "/imgs/closedbox.gif"; |
imgOpen = "/imgs/openedbox.gif"; |
} |
%> |
styleClass = "WARNING"; |
img = "/imgs/openedboxNeg.gif"; |
style = ""; |
imgClose = "/imgs/closedboxNeg.gif"; |
imgOpen = "/imgs/openedboxNeg.gif"; |
} |
else |
if (toDoCat.getDescription().equals(ModuleEnum.Reminders.getMessageKey()) || toDoCat.getDescription().equals(ModuleEnum.CourseUnits.getMessageKey())) |
{ |
styleClass = ""; |
img = "/imgs/openedbox.gif"; |
style = ""; |
imgClose = "/imgs/closedbox.gif"; |
imgOpen = "/imgs/openedbox.gif"; |
} |
else |
{ |
styleClass = ""; |
img = "/imgs/closedbox.gif"; |
style = Globals.HIDDEN; |
imgClose = "/imgs/closedbox.gif"; |
imgOpen = "/imgs/openedbox.gif"; |
} |
%> |
<div class="panel-body-h1 <%=styleClass%>"> |
<%=MessageResources.getMessage(request, toDoCat.getDescription())%> (<%=toDoCat.getTotalToDo()%>) <img alt="abrir" src="<%=request.getContextPath() + img%>" onclick="this.src=showOrHide('<%=toDoCat.getDescription()%>','<%=request.getContextPath() + imgClose%>','<%=request.getContextPath() + imgOpen%>')" > |
</div> |
<div class="list-group"> |
<div class="list-group-item list-group-item-warning"><%=MessageResources.getMessage(request, toDoCat.getDescription())%> (<%=toDoCat.getTotalToDo()%>)</div> |
<ul id="<%=toDoCat.getDescription()%>" style="<%=style%>"> |
<% |
for (IToDo todo : toDoCat.getAllToDos()) |
{ |
if (todo.getUrl() != null) |
{ |
%> |
<li> |
<a href="<%=request.getContextPath() + todo.getUrl()%>"> |
<font class="<%=styleClass%>"> |
<% |
if(todo.getCatArg0() == null && todo.getCatKey() != null) |
<%--<ul id="<%=toDoCat.getDescription()%>" style="<%=style%>">--%> |
<% |
for (IToDo todo : toDoCat.getAllToDos()) |
{ |
if (todo.getUrl() != null) |
{ |
out.print(MessageResources.getMessage(request,todo.getCatKey()) + ":"); |
} |
else if(todo.getCatArg0() != null && todo.getCatKey() != null) |
{ |
out.print(MessageResources.getMessage(request,todo.getCatKey(),todo.getCatArg0()) + ":"); |
} |
%> |
<div class="list-group-item"> |
%> |
<a href="<%=request.getContextPath() + todo.getUrl()%>"> |
<% |
if(todo.getCatArg0() == null && todo.getCatKey() != null) |
{ |
out.print(MessageResources.getMessage(request,todo.getCatKey()) + ":"); |
} |
else if(todo.getCatArg0() != null && todo.getCatKey() != null) |
{ |
out.print(MessageResources.getMessage(request,todo.getCatKey(),todo.getCatArg0()) + ":"); |
} |
%> |
<%=todo.getDescription()%> |
<img src="<%=request.getContextPath()%>/imgs/preencher.gif" width="35px"/> |
</a> |
</div> |
<% |
} |
else |
{ |
%> |
<div class="list-group-item"> |
<%=todo.getLabelInsideCat(request)%> |
</font> |
</a> |
</div> |
<% |
} |
} |
%> |
</li> |
</div> |
<% |
} |
else |
{ |
%> |
<li> |
<%=todo.getLabelInsideCat(request)%> |
</li> |
<% |
} |
} |
%> |
</ul> |
<% |
} |
%> |
<% |
} |
%> |
</div> |
</div> |
</div> |
</div> |
<% |
} |
%> |
/branches/v3/impl/src/web/user/home/student.jsp |
---|
50,6 → 50,9 |
<bean:message key="profile.bad.profile.student.iregular.user.class"/> |
</div> |
</logic:notMatch> |
<jsp:include page="todos.jsp"/> |
<div class="row"> |
<div class="col-md-6 col-sm-12 col-xs-12"> |
180,8 → 183,6 |
<baco:isModuleOn module="courseunits"> |
<jsp:include page="/user/home/courseUnitsAnnouncements.jsp"/> |
</baco:isModuleOn> |
<baco:isModuleOn module="todos"> |
<jsp:include page="/user/home/todos.jsp"/> |
</baco:isModuleOn> |
</div> |
</div> |
/branches/v3/impl/src/web/user/home/todosAfazer.jsp |
---|
72,7 → 72,7 |
out.print(MessageResources.getMessage(request,todo.getCatKey(),todo.getCatArg0()) + ":"); |
} |
%> |
<%=todo.getLabelInsideCat(request)%> |
<%=todo.getDescription()%> |
</a> |
<img src="<%=request.getContextPath()%>/imgs/preencher.gif" width="35px"/> |
<% |
/branches/v3/impl/src/web/user/questionarios/docs/REPORT_DOCENTE_1.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/web/user/questionarios/docs/ApresentacaoPedagogico.ppt |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/web/user/questionarios/docs/REPORT_DOCENTE_EXEMPLO.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/web/user/questionarios/docs/OLAPQuestionarios.bmp |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/web/user/questionarios/headerQuestionarios.jsp |
---|
6,6 → 6,55 |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ taglib prefix="baco" uri="http://www.estgp.pt/baco/" %> |
<style> |
.imgsmall |
{ |
width: 100px; |
align-self: center; |
} |
.imgtoogle { cursor:zoom-in; } |
.imgtoogle:-webkit-full-screen { cursor:zoom-out; } |
.imgtoogle:-moz-full-screen { cursor:zoom-out; } |
.imgtoogle:-ms-fullscreen { cursor:zoom-out; } |
.imgtoogle:fullscreen { cursor:zoom-out; } |
</style> |
<script> |
$(document).ready(function(){ |
$('.imgsmall').click( function() { |
$(this).removeClass("imgsmall"); |
toggleFullscreen(this); |
}); |
}); |
function toggleFullscreen(elem) { |
elem = elem || document.documentElement; |
if (!document.fullscreenElement && !document.mozFullScreenElement && |
!document.webkitFullscreenElement && !document.msFullscreenElement) { |
if (elem.requestFullscreen) { |
elem.requestFullscreen(); |
} else if (elem.msRequestFullscreen) { |
elem.msRequestFullscreen(); |
} else if (elem.mozRequestFullScreen) { |
elem.mozRequestFullScreen(); |
} else if (elem.webkitRequestFullscreen) { |
elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); |
} |
} else { |
if (document.exitFullscreen) { |
document.exitFullscreen(); |
} else if (document.msExitFullscreen) { |
document.msExitFullscreen(); |
} else if (document.mozCancelFullScreen) { |
document.mozCancelFullScreen(); |
} else if (document.webkitExitFullscreen) { |
document.webkitExitFullscreen(); |
} |
$(elem).addClass("imgsmall"); |
} |
} |
</script> |
<div class="modal fade" id="modalHelpQuestionario" role="dialog" > |
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false"> |
18,23 → 67,38 |
<div class="modal-body"> |
<div class="panel panel-default"> |
<baco:isAdmin> |
<h3>Questões relativas a papeis e permissões</h3> |
<ul> |
<li>Para aceder ao painel de ferramentas dos questionarios tem de ser administrador (admin ou questionarios.admin) ou ter o papel de Questionários Básicas (questionarios.gerais) ou services</li> |
<li>Uma atividade só fica disponivel se o estado do questionário estiver na posição onde a tarefa é possivel de executar</li> |
<li>Administradores de Questionários (questionarios.admin) ou de Sistema (admin) têm permissões totais no Módulo</li> |
<li>Administradores de Questionários (questionarios.admin) Validação (questionarios.atribuicoes.admin, questionarios.atribuicoes.check_teachers) de Atribuições podem validar as unidades quanto aos alunos e docentes afetados</li> |
<li>Professores, Membros das Comissões e Pedagógico terão acesso às respostas na sua Home Page numa página especialmente concebida para o efeito</li> |
</ul> |
<h3>Modelo de Dados</h3> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionariosDomain.bmp" width="100%"> |
</baco:isAdmin> |
<h3>Modelo de Atividades</h3> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionarioProcesso.bmp" width="90%"/> |
<div class="panel-body"> |
<baco:isAdmin> |
<h3 class="well">Questões relativas a papeis e permissões</h3> |
<ul> |
<li>Para aceder ao painel de ferramentas dos questionarios tem de ser administrador (admin ou questionarios.admin) ou ter o papel de Questionários Básicas (questionarios.gerais) ou services</li> |
<li>Uma atividade só fica disponivel se o estado do questionário estiver na posição onde a tarefa é possivel de executar</li> |
<li>Administradores de Questionários (questionarios.admin) ou de Sistema (admin) têm permissões totais no Módulo</li> |
<li>Administradores de Questionários (questionarios.admin) Validação (questionarios.atribuicoes.admin, questionarios.atribuicoes.check_teachers) de Atribuições podem validar as unidades quanto aos alunos e docentes afetados</li> |
<li>Professores, Membros das Comissões e Pedagógico terão acesso às respostas na sua Home Page numa página especialmente concebida para o efeito</li> |
</ul> |
<h3 class="well well-sm">Modelo de Dados</h3> |
<img class="imgtoogle imgsmall" src="<%=request.getContextPath()%>/user/questionarios/QuestionariosDomain.bmp" width="100%"> |
</baco:isAdmin> |
<h3>Modelo de Estados</h3> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionarioState.bmp" width="90%"/> |
<h2 class="well">Documentação partilhada para utilizadores privilegiados do sistema de Questionários</h2> |
<h3 class="well well-sm">Modelo de Relatório Exemplo Para Estudo</h3> |
<a target="_blank" href="<%=request.getContextPath()%>/user/questionarios/docs/REPORT_DOCENTE_EXEMPLO.pdf"><img class="imgsmall" src="<%=request.getContextPath()%>/user/questionarios/docs/REPORT_DOCENTE_1.png"/></a> |
<h3 class="well well-sm">Modelo de Atividades</h3> |
<img class="imgtoogle imgsmall" src="<%=request.getContextPath()%>/user/questionarios/QuestionarioProcesso.bmp" width="90%"/> |
<h3 class="well well-sm">Modelo de Estados</h3> |
<img class="imgtoogle imgsmall" src="<%=request.getContextPath()%>/user/questionarios/QuestionarioState.bmp" width="90%"/> |
<h3 class="well well-sm">Dimensões para Resultados</h3> |
<img class="imgtoogle imgsmall" src="<%=request.getContextPath()%>/user/questionarios/docs/OLAPQuestionarios.bmp" width="90%"/> |
<h3 class="well well-sm">Apresentação</h3> |
<a target="_blank" href="<%=request.getContextPath()%>/user/questionarios/docs/ApresentacaoPedagogico.ppt">Apresentação PAE</a> |
</div> |
</div> |
<button type="button" class="btn btn-success" data-dismiss="modal">Voltar</button> |
/branches/v3/impl/build.properties |
---|
252,5 → 252,5 |
test.control.var=false |
admin.email.1=ci@estgp.pt |
admin.email.2=jmachado@estgp.pt |
admin.email.1=jmachado@estgp.pt |
admin.email.2=ci@estgp.pt |
/branches/v3/impl/build.xml |
---|
205,6 → 205,7 |
<include name="**/*.xsl"/> |
</fileset> |
</copy> |
<replace file="${build.dir.war}/css/style.css"> |
<replacefilter token="@contextPath@" value="${tomcat.context.path}"/> |
</replace> |