Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • O if da linha 5 até a linha 23 {if(count($_POST) > 0)} se refere a execução do experimento, ou seja, o que deve ser executado quando o usuário efetivamente clicar no botão de Executar o experimento. Normalmente, se o experimento tiver dados de configuração, como o caso deste tutorial, esses dados chegarão na controladora por meio de $_GET ou $_POST. Neste exemplo os dados estão chegando por $_POST e dentro deste "if" nós verificamos e criamos os dados que serão passados na chamada da API do LS-Sched para execução do experimento. Os dados experados nessa chamada "execute_experiment" são:
    • username: Usuário que está solicitando a execução do experimento (com @<instituição> incluso). Normalmente este esse dado será obtido por "$_SESSION[SECURITY_SESSION]['username']", uma vez que esta essa variável retorna o usuário logado no LS-WEB e normalmente o tutorial irá ser executado por este usuário logado, ao qual se destina a execução do tutorial.
    • experiment: Nome do experimento a ser executado (mesmo nome do script OEDL incluso no diretório "/home/tutorials/omf_experiments" sem a extensão ".rb).
    • properties: Array contendo as propriedades do experimento, ou seja, as variáveis definidas no script OEDL que poderão ser modificadas e que, naturalmente, devem ter sido inseridas pelo usuário.
  • A linha 21 envia a requisição de execução do experimento para a API LS-Sched e seu retorno é armazenado na variável $executeExperiment onde podemos analisar se houve algum erro no pedido da execução do experimento e que, na linha 22, criamos o balão de mensagem informando isto ao usuário.
  • As linhas 25 à 27 definem os parâmetros comuns a serem utilizados em algumas outras chamadas à API LS-Sched, são elas:
    • is_experiment_executing: Usada na linha 28 e visa saber se o tutorial está sendo executado no momento.
    • getExperimentScript: Usada na linha 32 e visa buscar o script OEDL que é utilizado no tutorial.
  • As linhas 35 à 37 utilizam o método setVariable para settar variáveis que poderão ser utilizadas na páginas (view) do tutorial, ou seja, neste tutorial a view terá acesso as variáveis "is_executing", "is_executing_by_user" e "experiment_script".

...