01. VISÃO GERAL


O objetivo desse documento é detalhar a solução customizada que abranja desde o cadastro das oficinas, relacionamento entre suas entidades (conteúdos, teia de relacionamento das disciplinas/conteúdo, rota de aprendizagem, disciplinas, professores), oferta das oficinas aos alunos, a inscrição dos mesmos (nas oficinas), formação de turmas/equipes, controle de frequência/avaliações, integrações (das informações) com o TOTVS Educacional até o acesso pelos usuários (usuários, alunos, professores, pedagogos) às informações de maneira estruturada através de um portal também customizado, denominado Portal Oficinas.


02. MANUAL OPERACIONAL


O projeto inclui as seguintes funcionalidades:


Oficinas: para acessar o manual geral do Portal Oficinas, clique aqui.


Melhorias Plano de Aulamelhorias realizadas no Portal Oficinas para permitir replicar os textos dos planos de aulas para aulas geminadas, copiar os textos dos planos de aula e edição de múltiplos registros de planos de aula.


Integração Plano de Aula Contabilizar Hora do Aluno: projeto com novo processo para integração de Plano de Aula/Horário entre o Portal Oficinas x SGE, com o novo formato de contabilização do aluno hora para o SESI.


Relatórios Oficina I e II: para uma gestão eficiente tornou-se necessário prover relatórios e consultas às informações da solução (uma espécie de Business Intelligence - BI) para que os gestores tenham embasamento para tomadas de decisões e direcionamento das ações. Para acessar o manual operacional da solução customizada desenvolvida, clique aqui.


Disciplinas Elegíveis Portal Oficinas: O objetivo deste projeto é implementar uma tratativa para que seja definido as disciplinas que são elegíveis ao portal oficinas. Para que as disciplinas que não se encaixam nessa condição, não estejam disponíveis para serem vinculadas as oficinas no Portal.


Notas Online: melhorias no Portal Oficinas para que as Frequências e Notas lançadas no Portal sejam salvas no SGE de forma online, e não apenas no encerramento das Oficinas. Contém diversas outras melhorias, como um temporizador que desconecta usuários inativos no Portal após um período de tempo parametrizado.


Oficinas - Geração de relatórios em lote: o intuito deste projeto é possibilitar a geração dos relatórios de Frequência, Avaliação, Aluno e Boletim de Oficina em Lote, possibilitando que o usuário selecione vários registros simultaneamente para a geração dos mesmos.


03. CONFIGURAÇÕES E INSTALAÇÃO


Manual de Instalação das Customizações


Instruções para configurações dos configs

String de Connexão (connectionStrings) O quê configura?
OficinaDbContext Conexão da base de Dados utilizada pelo Portal Oficinas
Chave de Configuração O quê configura?
UrlPortalRM

Url do Corpore.Net utilizada para todos os perfis, exceto Alunos.

Protocolo HTTP e Redirects

Em caso de utilização de protocolo HTTPS, não utilizar HTTP por conta do Redirect. Ao realizar um redirecionamento de HTTP para HTTPS automático que não considera o Web Method POST ele se tornará GET, impossibilitando o correto funcionamento da comunicação entre os Portais.

UrlPortalRMAluno

Url do Corpore.Net utilizada para os Alunos.

Protocolo HTTP e Redirects

Em caso de utilização de protocolo HTTPS, não utilizar HTTP por conta do Redirect. Ao realizar um redirecionamento de HTTP para HTTPS automático que não considera o Web Method POST ele se tornará GET, impossibilitando o correto funcionamento da comunicação entre os Portais.

AliasRM Banco de dados para uso da comunicação do Portal Oficinas com SGE
OficinaSecretKey Senha Usada para Criptografia da comunicação com Corpore.Net e Frame HTML
OficinaPassordHash Senha Usada para Criptografia da comunicação com Corpore.Net e Frame HTML
NotValidationExpirationLink Se não valida expiração de Link de Autenticação de entrada no Portal Oficinas
UrlPortalTHF

Url da publicação do Frame HTML. Onde encontram-se parte das integrações do Portal Oficinas com SGE (Notas Online)

Protocolo HTTP e Redirects

Em caso de utilização de protocolo HTTPS, não utilizar HTTP por conta do Redirect. Ao realizar um redirecionamento de HTTP para HTTPS automático que não considera o Web Method POST ele se tornará GET, impossibilitando o correto funcionamento da comunicação entre os Portais.

OficinaMinutosRedirecionamento Tempo limite para aceitar como valido um link de Autenticação de entrada no Portal Oficinas
OficinaSaltKey Palavra complicadora de encriptação para comunicação com Corpore.Net e Frame HTML
OficinaVIKey Chave de encriptação para comunicação com Corpore.Net e Frame HTML
OficinaTempoSessaoUsuario Tempo a ser contato para a sessão do usuário, desde o Login no Portal Oficinas.
OficinaAvisoExpiracaoSessao Tempo restante de sessão do usuário para quando lançar um aviso de que a sessão está prestes a expirar.
aspnet:MaxJsonDeserializerMembers

Quantidade máxima de nós Json, ao utilizar no transporte de página. (Incluído para atender a grande quantidade utilizada pela Teia)

O Padrão AspNet é 1.000 e ultimamente vocês tem utilizado 3.000

VisualizaTeia Ativa a Exibição da teia ao abrir a Visualização de Oficinas
VisualizaConteudoCompleto Ativa a exibição das sub-árvores do conteúdo de Oficinas
IntervaloReenvioNotasOnlineSeg Intervalo (em segundos) para verificar o envio das notas e frequências nas telas de lançamento.
TestCargaPerformance Hash de chave de segurança para caso venha ser ativado Tete de Carga (chave não é necessária e não deve estar ativa em produção)
system.web.authentication.forms O quê configura?
timeout Tempo que o aplicativo poderá demorar para realizar a autenticação. (Em segundos)
system.webServer O quê configura?
<caching>
<profiles>
<add extension=".swf" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".ico" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".ttf" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".woff2" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".woff" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".less" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
<add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
Configura que o cache do site será controlado pelo servidor a cada mudança.

Atenção para versão 12.1.2402

A partir da versão 12.1.2402 do Portal do Oficinas, será necessário alterar e adicionar algumas tags no WebConfig do Portal Oficinas.

Segue um resumo do que deverá ser realizado:


system.web O que mudou ?
targetFramework="4.7.2" targetFramework="4.8"


runtime O que mudou ?
<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
 <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
Não existia até a 12.1.2302 <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>

Adicionar nas configurações do Corpore.Net, caso seja a primeira instalação.

¹Nas chaves OficinaSecretKey, RMCstPassordHash, RMCstSaltKey e RMCstVIKey devem ser informados os mesmos valores presentes no correspondente do Web.config do Portal Oficina

Chave de Configuração O quê configura?
OficinaUrl Url do Portal Oficinas utilizada para todos os perfis, exceto Alunos.
OficinaUrlAluno Url do Portal Oficinas utilizada para os Alunos.
OficinaSecretKey Senha Usada para Criptografia da comunicação com Portal Oficinas¹
OficinaPassordHash Senha Usada para Criptografia da comunicação com Portal Oficinas¹
OficinaSaltKey Palavra complicadora de encriptação para comunicação com Portal Oficinas¹
OficinaVIKey Chave de encriptação para comunicação com Portal Oficinas¹
Location para Paginas de Integração O quê configura?
<location path="Source/Cst-Customizacao/RM.Cst.CNI/Oficina/CstVisualizacaoRelatorioPDF.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

Liberação de acesso à página customizada de relatórios a partir do Portal Oficinas

<location path="Source/Cst-Customizacao/RM.Cst.CNI/Oficina/CstEncerramentoSala.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

Liberação de acesso à página customizada de encerramento de Oficinas a partir do Portal Oficinas

As configurações a seguir devem ser adicionadas ao Web.config do FrameHTML:

¹Nas chaves RMCstPassordHash, RMCstSaltKey e RMCstVIKey devem ser informados os mesmos valores presentes no correspondente do Web.config do Portal Oficina

Chave de configuração O que configura?
OficinaUrlAluno Url do Portal Oficinas utilizada para os Alunos.
RMCstPassordHash Senha Usada para Criptografia da comunicação com Portal Oficinas¹
RMCstSaltKey

Palavra complicadora de encriptação para comunicação com Portal Oficinas¹

RMCstVIKey Chave de encriptação para comunicação com Portal Oficinas¹
OficinaSecretKey Chave encriptada do Portal Oficinas

Adicionar nas configurações do RM.Host.Service.exe.config, caso seja a primeira instalação.

¹Nas chaves OficinaSecretKey, RMCstPassordHash, RMCstSaltKey e RMCstVIKey devem ser informados os mesmos valores presentes no correspondente do Web.config do Portal Oficina

Chave de Configuração O quê configura?
OficinaUrl Url do Portal Oficinas utilizada para todos os perfis, exceto Alunos.
OficinaUrlAluno Url do Portal Oficinas utilizada para os Alunos.
OficinaSecretKey Senha Usada para Criptografia da comunicação com Portal Oficinas¹
OficinaPassordHash Senha Usada para Criptografia da comunicação com Portal Oficinas¹
OficinaSaltKey Palavra complicadora de encriptação para comunicação com Portal Oficinas¹
OficinaVIKey Chave de encriptação para comunicação com Portal Oficinas¹