Merge pull request #277 from okriuchykhin/ok_SCI_571

Additional steps added to tutorial and numbering of the steps fixed [SCI-571]
This commit is contained in:
okriuchykhin 2016-11-15 12:05:20 +01:00 committed by GitHub
commit 01b01939f3
16 changed files with 126 additions and 72 deletions

View file

@ -100,10 +100,15 @@ function bindEditDueDateAjax() {
function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 8 && currentStep < 12)) {
var resultsTab = $("#results-nav-tab");
var moduleProtocolsTutorial = $("[data-role='tutorial-data']").attr("data-module-protocols-step-text");
var moduleProtocolsClickResultsTutorial = $("[data-role='tutorial-data']").attr("data-module-protocols-click-results-step-text");
if (showTutorial() && (currentStep > 10 && currentStep < 15)) {
var resultsTab = $('#results-nav-tab');
var saveRepositoryButton = $('#protocol-copy-to-repository').get(0);
var moduleProtocolsTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-step-text');
var moduleProtocolsSaveTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-save-step-text');
var moduleProtocolsClickResultsTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-click-results-step-text');
introJs()
.setOptions({
@ -111,6 +116,10 @@ function initTutorial() {
{
intro: moduleProtocolsTutorial
},
{
intro: moduleProtocolsSaveTutorial,
element: saveRepositoryButton
},
{
intro: moduleProtocolsClickResultsTutorial,
element: resultsTab[0],
@ -127,28 +136,28 @@ function initTutorial() {
exitOnEsc: false,
tooltipClass: 'custom'
})
.onafterchange(function(tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 10);
if (this._currentStep == 1) {
.onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 12);
if (this._currentStep === 2) {
setTimeout(function() {
$('.next-page-link a.introjs-nextbutton')
.removeClass('introjs-disabled')
.attr('href', resultsTab.find("a").attr('href'));
.attr('href', resultsTab.find('a').attr('href'));
positionTutorialTooltip();
}, 500);
} else {
positionTutorialTooltip();
}
})
.goToStep(currentStep == 11 ? 2 : 1)
.goToStep(currentStep === 13 ? 2 : 1)
.start();
window.onresize = positionTutorialTooltip;
// Destroy first-time tutorial cookies when skip tutorial
// or end tutorial is clicked
$(".introjs-skipbutton").each(function (){
$(this).click(function (){
$('.introjs-skipbutton').each(function() {
$(this).click(function() {
Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step');
});

View file

@ -85,7 +85,7 @@ function renderTable(table) {
// Initialize first-time tutorial
function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 10 && currentStep < 14)) {
if (showTutorial() && (currentStep > 13 && currentStep < 17)) {
var moduleResultsTutorial = $("#results").attr("data-module-protocols-step-text");
var moduleResultsClickSamplesTutorial = $("#results").attr("data-module-protocols-click-samples-step-text");
var samplesTab = $("#module-samples-nav-tab");
@ -116,7 +116,7 @@ function initTutorial() {
disableInteraction: true
})
.onafterchange(function (tarEl){
Cookies.set('current_tutorial_step', this._currentStep + 12);
Cookies.set('current_tutorial_step', this._currentStep + 15);
if (this._currentStep == 1) {
setTimeout(function() {
$('.next-page-link a.introjs-nextbutton')
@ -130,7 +130,7 @@ function initTutorial() {
positionTutorialTooltip();
}
})
.goToStep(currentStep == 13 ? 2 : 1)
.goToStep(currentStep == 16 ? 2 : 1)
.start();
window.onresize = positionTutorialTooltip;

View file

@ -3126,7 +3126,7 @@ function initializeTutorial(isEditMode) {
canvas_tutorial_helper();
var currentStep = Cookies.get('current_tutorial_step');
// Add edit canvas tutorial step and show it
if (!isEditMode && currentStep > 2 && currentStep < 6) {
if (!isEditMode && currentStep > 4 && currentStep < 8) {
var $introJs = introJs();
$introJs
.setOptions({
@ -3141,7 +3141,7 @@ function initializeTutorial(isEditMode) {
tooltipClass: 'custom next-page-link'
})
.onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 4);
Cookies.set('current_tutorial_step', this._currentStep + 6);
if (this._currentStep == 1) {
$introJs.setOption("disableInteraction", true);
// Go to project canvas
@ -3160,13 +3160,13 @@ function initializeTutorial(isEditMode) {
});
}
})
.goToStep(currentStep == "5" ? 2 : 1)
.goToStep(currentStep == "6" ? 2 : 1)
.start();
window.onresize = function() {
$(".introjs-tooltip").css("right", ($("#canvas-container").width() + 20) + "px");
};
} else if (isEditMode && currentStep > 4 && currentStep < 7) {
} else if (isEditMode && currentStep > 6 && currentStep < 10) {
canvas_tutorial_helper();
var editWorkflowTutorial = $("#canvas-container").attr("data-edit-workflow-step-text");
var editWorkflowClickSaveTutorial = $("#canvas-container").attr("data-edit-workflow-click-save-step-text");
@ -3200,7 +3200,7 @@ function initializeTutorial(isEditMode) {
})
.onafterchange(function (tarEl) {
// Go to edit workflow mode
Cookies.set('current_tutorial_step', this._currentStep + 6);
Cookies.set('current_tutorial_step', this._currentStep + 8);
if (this._currentStep == 0) {
$(".introjs-tooltipReferenceLayer").addClass("max");
$(".introjs-tooltip").css("left", "0");
@ -3228,11 +3228,10 @@ function initializeTutorial(isEditMode) {
});
});
}, 600);
} else if (!isEditMode && currentStep > 5 || currentStep < 10) {
} else if (!isEditMode && currentStep > 8 && currentStep < 13) {
canvas_tutorial_helper();
var sidebarTutorial = $("#canvas-container").attr("data-sidebar-step-text");
var sidebarClickModuleTutorial = $("#canvas-container").attr("data-sidebar-click-module-step-text");
Cookies.set('current_tutorial_step', '8');
var qpcrModuleLeaf = $("li.leaf[data-module-id='" + tutorialData[0].qpcr_module + "']");
introJs()
@ -3260,7 +3259,7 @@ function initializeTutorial(isEditMode) {
tooltipClass: 'custom next-page-link'
})
.onafterchange(function(tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 8);
Cookies.set('current_tutorial_step', this._currentStep + 10);
if (this._currentStep == 1) {
setTimeout(function() {
$('.next-page-link a.introjs-nextbutton')
@ -3271,7 +3270,7 @@ function initializeTutorial(isEditMode) {
$(".introjs-tooltipReferenceLayer").css("top", $("#slide-panel .tree").height()/3 + "px");
}
})
.goToStep(currentStep == "9" ? 2 : 1)
.goToStep(currentStep == "10" ? 2 : 1)
.start();
}

View file

@ -398,10 +398,9 @@
}
};
}
else if (goToStep > 18) {
else if (goToStep > 21) {
var archiveProjectTutorial = $("#projects-toolbar").attr("data-archive-project-step-text");
var goodbye_message = $("#projects-toolbar").attr("data-goodbye-tutorial");
Cookies.set('current_tutorial_step', '20');
var position = "right";
if (demoProject.offset().left > window.innerWidth / 2 || window.innerWidth < demoProject.width() + 100) {
if (demoProject.offset().top > 500 && demoProject.offset().top > window.innerHeight / 2) {
@ -410,8 +409,8 @@
position = "bottom";
}
}
introJs()
var $introjs = introJs();
$introjs
.setOptions({
steps: [{
element: document.getElementById(demoProjectId),
@ -432,6 +431,9 @@
exitOnEsc: false,
tooltipClass: 'custom next-page-link'
})
.onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 24);
})
.oncomplete(function () {
Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step');

View file

@ -84,7 +84,7 @@
disableInteraction: true
})
.onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 2);
Cookies.set('current_tutorial_step', this._currentStep + 4);
if (this._currentStep == 1) {
setTimeout(function() {

View file

@ -698,6 +698,47 @@ function initImport() {
});
}
/* Initilize first-time tutorial if needed */
function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step');
var protocolButtons = $('.nav-tab .nav-settings').get(0);
if (currentStep && (currentStep > 20 && currentStep < 23)) {
introJs()
.setOptions({
overlayOpacity: '0.1',
nextLabel: 'Next',
doneLabel: 'End tutorial',
skipLabel: 'End tutorial',
showBullets: false,
showStepNumbers: false,
exitOnOverlayClick: false,
exitOnEsc: false,
tooltipClass: 'custom'
})
.onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 22);
if (this._currentStep === 1) {
Cookies.set('current_tutorial_step', this._currentStep + 22);
setTimeout(function() {
$('.introjs-tooltipbuttons a.introjs-nextbutton')
.removeClass('introjs-disabled')
.attr('href', '/');
}, 500);
}
}).start();
// Destroy first-time tutorial cookies when skip tutorial
// or end tutorial is clicked
$('.introjs-skipbutton').each(function() {
$(this).click(function() {
Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step');
});
});
}
}
// Initialize everything
updateButtons();
initProtocolsTable();
@ -707,3 +748,4 @@ initLinkedChildrenModal();
initCreateNewModal();
initModals();
initImport();
initTutorial();

View file

@ -141,11 +141,12 @@
/* Initilize first-time tutorial if needed */
function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 14 && currentStep < 18)) {
if (showTutorial() && (currentStep > 17 && currentStep < 20)) {
var reportsClickNewReportTutorial = $("#content").attr("data-reports-click-new-report-step-text");
introJs()
.setOptions({
steps: [{},
steps: [
{},
{
element: document.getElementById("new-report-btn"),
intro: reportsClickNewReportTutorial,
@ -163,7 +164,7 @@
tooltipClass: 'custom'
})
.onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 16);
Cookies.set('current_tutorial_step', this._currentStep + 18);
if (this._currentStep == 1) {
setTimeout(function() {

View file

@ -1144,13 +1144,12 @@ function initializeTutorial() {
disableInteraction: true
})
.onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 18);
Cookies.set('current_tutorial_step', this._currentStep + 20);
if (this._currentStep == 1) {
setTimeout(function() {
$('.next-page-link a.introjs-nextbutton')
.removeClass('introjs-disabled')
.attr('href', tarEl.href);
.attr('href', '/protocols');
$('.introjs-disableInteraction').remove();
}, 500);
} else {
@ -1160,7 +1159,7 @@ function initializeTutorial() {
.start();
window.onresize = function() {
if (Cookies.get('current_tutorial_step') == 18) {
if (Cookies.get('current_tutorial_step') == 20) {
$(".introjs-tooltip").css("right", ($(".new-element.initial").width() + 60) + "px");
}
};
@ -1183,7 +1182,7 @@ function showTutorial() {
else
return false;
var currentStep = Cookies.get('current_tutorial_step');
if (currentStep < 16 || currentStep > 18)
if (currentStep < 18 && currentStep > 22)
return false;
var tutorialProjectId = tutorialData[0].project;
var currentProjectId = $("#data-holder").attr("data-project-id");

View file

@ -156,9 +156,7 @@ function sampleAlertMsgHide() {
function initTutorial() {
var currentStep = parseInt(Cookies.get('current_tutorial_step'), 10);
if (currentStep == 8)
currentStep++;
if (showTutorial() && (currentStep > 12 && currentStep < 16)) {
if (showTutorial() && (currentStep > 15 && currentStep < 19)) {
var samplesTutorial =$("#samples-toolbar").attr("data-samples-step-text");
var breadcrumbsTutorial = $("#samples-toolbar").attr("data-breadcrumbs-step-text");
@ -187,7 +185,7 @@ function initTutorial() {
tooltipClass: "custom"
})
.onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 14);
Cookies.set('current_tutorial_step', this._currentStep + 17);
if (this._currentStep == 1) {
setTimeout(function() {
@ -201,7 +199,7 @@ function initTutorial() {
positionTutorialTooltip();
}
})
.goToStep(currentStep == 15 ? 2 : 1)
.goToStep(currentStep == 18 ? 2 : 1)
.start();
// Destroy first-time tutorial cookies when skip tutorial

View file

@ -14,7 +14,7 @@
data: {
action: 'edit',
intro: t('tutorial.canvas_click_edit_workflow_html'),
step: '5',
step: '7',
position: 'left'
} do %>
<span class="glyphicon glyphicon-pencil"></span>
@ -63,7 +63,7 @@
</div>
<div id="canvas-container" data-project-id="<%= @project.id %>"
data-step="4" data-position='left'
data-step="6" data-position='left'
data-intro="<%=t 'tutorial.canvas_overview_html' %>"
data-sidebar-step-text="<%=t 'tutorial.sidebar_html' %>"
data-sidebar-click-module-step-text="<%=t 'tutorial.sidebar_click_module_html' %>"

View file

@ -18,6 +18,7 @@
<!-- Tutorial data -->
<div class="hidden" data-role="tutorial-data" data-module-id="<%= @my_module.id %>"
data-module-protocols-step-text="<%=t 'tutorial.module_protocols_html' %>"
data-module-protocols-save-step-text="<%=t 'tutorial.module_protocols_save_html' %>"
data-module-protocols-click-results-step-text="<%=t 'tutorial.module_protocols_click_results_html' %>">
</div>

View file

@ -29,10 +29,10 @@
<a href="#" class="btn btn-default disabled"><span class="glyphicon glyphicon-export"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.export") %></span></a>
<% end %>
<% if can_copy_protocol_to_repository(@my_module) %>
<%= link_to copy_to_repository_modal_protocol_path(@protocol, format: :json), class: "btn btn-default", remote: true, data: { action: "copy-to-repository" } do %>
<%= link_to copy_to_repository_modal_protocol_path(@protocol, format: :json), id: "protocol-copy-to-repository", class: "btn btn-default", remote: true, data: { action: "copy-to-repository" } do %>
<span class="glyphicon glyphicon-saved"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.copy_to_repository") %></span>
<% end %>
<% else %>
<a href="#" class="btn btn-default disabled"><span class="glyphicon glyphicon-saved"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.copy_to_repository") %></span></a>
<% end %>
</div>
</div>

View file

@ -3,7 +3,7 @@
<% if current_organization %>
<%= render partial: "protocols/breadcrumbs.html.erb", locals: { organizations: @organizations, current_organization: @current_organization, type: @type } %>
<ul class="nav nav-tabs nav-settings">
<ul class="nav nav-tabs nav-settings" data-intro="<%=t 'tutorial.protocols_index_html' %>" data-step="20">
<li role="presentation" class="<%= "active" if @type == :public %>">
<%= link_to t("protocols.index.navigation.public"), protocols_path(organization: @current_organization, type: :public) %>
</li>
@ -49,7 +49,7 @@
<% end %>
</div>
<div class="btn-group" role="group">
<div class="btn-group" role="group" data-intro="<%=t 'tutorial.protocols_import_export_html' %>" data-step="21">
<a class="btn btn-default btn-open-file" <%= can_import_protocols(@current_organization) ? 'data-action="import"' : 'disabled="disabled"' %>>
<span class="glyphicon glyphicon-import"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.import") %></span>

View file

@ -2,7 +2,7 @@
<% if !defined? initial then initial = false end %>
<div class="new-element <%= "hidden" if hide %> <%= "initial" if initial %>" data-ts="ignore" data-type="new" title="<%=t "projects.reports.elements.new_element.title" %>"
<% if initial %>
data-step="18"
data-step="20"
data-position="left"
data-intro="<%=t 'tutorial.new_report_html' %>"
<% end %>>
@ -22,4 +22,4 @@
</div>
<div class="clear"></div>
</a>
</div>
</div>

View file

@ -5,7 +5,7 @@
<ul class="breadcrumb" style="margin-left: 15px;">
<li>
<% if can_view_projects(@project.organization) %>
<a href="<%= projects_path :organization => @project.organization.id %>" data-intro="<%=t 'tutorial.new_report_click_org_html', private_org: @project.organization.name %>" data-step="19">
<a href="<%= projects_path :organization => @project.organization.id %>" data-intro="<%=t 'tutorial.new_report_click_org_html', private_org: @project.organization.name %>" data-step="21">
<% end %>
<span class="hidden-sm hidden-md hidden-lg">Org</span>
<span class="hidden-xs"><%= @project.organization.name %></span>

View file

@ -1468,28 +1468,31 @@ en:
skip_tutorial: "Skip tutorial"
end_tutorial: "End tutorial"
finish_tutorial: "Start using sciNote"
tutorial_welcome_title_html: 'Welcome to <em>sciNote</em>, your electronic lab notebook. <em>sciNote</em> organizes your work in Projects. You can reorder them by clicking the <strong>Sort by</strong> button. <strong>(Step 1/21)</strong>'
create_project_html: "Click here to create a Project and it will appear under the Team you've chosen. Choose public <span class='glyphicon glyphicon-eye-open'></span> if you want everyone from the Team to view the Project or choose private <span class='glyphicon glyphicon-eye-close'></span> so only the people who you invite to the project can see it. <strong>(Step 2/21)</strong>"
project_options_html: "In the bottom row of the Project card you can check the latest activity <span class='glyphicon glyphicon-equalizer'></span>, invite collaborators <span class='glyphicon glyphicon-user'></span>, see the notifications <span class='glyphicon glyphicon-bell'></span> and write comments <span class='glyphicon glyphicon-comment'></span>. You can also edit the Project's name and visibility or archive it. You can recall the Project from the Archive <span class='glyphicon glyphicon-briefcase'></span> in the top right side of the Dashboard at any time. <strong>(Step 3/21)</strong>"
create_experiment_html: "Inside of a Project you can create Experiments. To create one click on this button and edit Experiments name and description. <strong>(Step 4/21)</strong>"
edit_experiment_html: "By clicking on the down arrow <span class='caret'></span> of an Experiment card you can choose between different actions. You can <strong>Edit details</strong> to the Experiment, such as experiment name and description, <strong>Clone</strong> it inside of a Project, where cloned Experiment is identical to the original one, <strong>Move</strong> it from one Project to another or <strong>Archive</strong> it in the Archive <span class='glyphicon glyphicon-briefcase'></span>. <strong>(Step 5/21)</strong>"
canvas_overview_html: "A Task is a basic unit of your Experiment. Within a Task, you can add Protocols, Results and add Samples. You can connect Tasks into Workflows to assure traceability of your work. You can grab a Task or entire Workflow and move it in all directions on the canvas. <strong>(Step 6/21)</strong>"
canvas_click_edit_workflow_html: " Click <strong>Edit experiment</strong> to add new Tasks or to modify an existing Experiment. <strong>(Step 7/21)</strong>"
edit_workflow_html: "To add a new Task to the Experiment, click on <strong>New task</strong> and drag it onto canvas. <strong>(Step 8/21)</strong>"
edit_workflow_click_save_html: "Click <strong>Save experiment</strong> to save changes youve made to the Experiment. <strong>(Step 9/21)</strong>"
sidebar_html: "Navigation bar helps you orient on which Experiment you are currently working. It also helps you to find a specific Task on the canvas by clicking the navigate icon <span class='glyphicon glyphicon-map-marker'></span>. The line that follows down the Tasks on their left side signifies they are connected into a Workflow. <strong>(Step 10/21)</strong>"
sidebar_click_module_html: "Click on the Task name <strong>qPCR</strong> to see its contents. <strong>(Step 11/21)</strong>"
module_protocols_html: "Inside of a Task you can create Protocol steps and upload existing protocol files. After you have finished a certain step, click the <strong>Complete step</strong> button. Exact time and the person who completed the step are recorded and can be seen in the <strong>Activity</strong> tab in the top right side of the Dashboard. <strong>(Step 12/21)</strong>"
module_protocols_click_results_html: "Click on the <strong>Results</strong> tab to upload experiment results. <strong>(Step 13/21)</strong>"
module_results_html: "You can upload any type of a file, insert table or write comments. <strong>(Step 14/21)</strong>"
module_results_click_samples_html: "Click on the <strong>Samples</strong> tab to import, export or assign samples to the Task. <strong>(Step 15/21)</strong>"
samples_html: "You can easily import sample tables from Excel or tab-delimited files. If you assign samples to a certain Task, these samples will be automatically assigned downstream the Workflow. <strong>(Step 16/21)</strong>"
breadcrumbs_html: "You can always use these breadcrumbs to navigate all the way back to the Dashboard. Click on the <strong>Reports</strong> tab to generate reports for meetings, projects, patents or thesis. <strong>(Step 17/21)</strong>"
reports_index_click_new_report_html: "When inside of <strong>Reports</strong>, click the <strong>New report</strong> button to create a new report. <strong>(Step 18/21)</strong>"
new_report_html: "To add report elements to the report, click on the <strong>—+—</strong> sign on the sheet. Select the report contents in the tabs and click <strong>Add to report</strong>. You can save the report as a PDF on your computer or save it within sciNote for later viewing and modification. <strong>(Step 19/21)</strong>"
new_report_click_org_html: "Click on <strong>%{private_org}</strong> in breadcrumbs to return to the Dashboard. <strong>(Step 20/21)</strong>"
archive_project_html: "Archive Demo project - qPCR by clicking on the down arrow <span class='glyphicon glyphicon-triangle-bottom'></span>. You can always access the Archive by clicking the <span class='glyphicon glyphicon-briefcase'></span> icon on the top right side of the Dashboard and restore any item you have archived. <strong>(Step 21/21)</strong>"
goodbye_message: "To repeat the tutorial, go to your Settings and open <strong>My preferences</strong> tab. Click on the <strong>Repeat tutorial</strong> button and watch the tutorial as many times needed."
tutorial_welcome_title_html: "Welcome to <em>sciNote</em>, your electronic lab notebook. <em>sciNote</em> organizes your work in Projects. Click <strong>Team icon</strong> to choose Projects from which Team you want to view on your Dashboard. You can also reorder them by clicking the <strong>Sort by</strong> button. <strong>(Step 1/25)</strong>"
create_project_html: "Click here to create a Project and it will appear under the Team you've chosen. Choose public <span class='glyphicon glyphicon-eye-open'></span> if you want everyone from the Team to view the Project or choose private <span class='glyphicon glyphicon-eye-close'></span> so only the people who you invite to the Project can see it. <strong>(Step 2/25)</strong>"
project_options_html: "In the bottom row of the Project card you can check the latest activity <span class='glyphicon glyphicon-equalizer'></span>, invite collaborators <span class='glyphicon glyphicon-user'></span>, see the notifications <span class='glyphicon glyphicon-bell'></span> and write comments <span class='glyphicon glyphicon-comment'></span>. You can also edit the Project's name and visibility or archive it. You can recall the Project from the Archive <span class='glyphicon glyphicon-briefcase'></span> in the top right side of the Dashboard at any time. <strong>(Step 3/25)</strong>"
create_experiment_html: "Inside of a Project you can create Experiments. To create one click on this button and edit Experiments name and description. <strong>(Step 4/25)</strong>"
edit_experiment_html: "By clicking on the down arrow <span class='caret'></span> of an Experiment card you can choose between different actions. You can <strong>Edit details</strong> to the Experiment, such as experiment name and description, <strong>Clone</strong> it inside of a Project, where cloned Experiment is identical to the original one, <strong>Move</strong> it from one Project to another or <strong>Archive</strong> it in the Archive <span class='glyphicon glyphicon-briefcase'></span>. <strong>(Step 5/25)</strong>"
canvas_overview_html: "A Task is a basic unit of your Experiment. Within a Task, you can add Protocols, Results and add Samples. You can connect Tasks into Workflows to assure traceability of your work. You can grab a Task or entire Workflow and move it in all directions on the canvas. <strong>(Step 6/25)</strong>"
canvas_click_edit_workflow_html: " Click <strong>Edit experiment</strong> to add new Tasks or to modify an existing Experiment. <strong>(Step 7/25)</strong>"
edit_workflow_html: "To add a new Task to the Experiment, click on <strong>New task</strong> and drag it onto canvas. <strong>(Step 8/25)</strong>"
edit_workflow_click_save_html: "Click <strong>Save experiment</strong> to save changes youve made to the Experiment. <strong>(Step 9/25)</strong>"
sidebar_html: "Navigation bar helps you to navigate through Experiments. It also helps you to find a specific Task on the canvas by clicking the navigate icon <span class='glyphicon glyphicon-map-marker'></span>. <strong>(Step 10/25)</strong>"
sidebar_click_module_html: "Click on the Task name <strong>qPCR</strong> to see its contents. <strong>(Step 11/25)</strong>"
module_protocols_html: "Inside of a Task you can create Protocol steps and upload existing protocol files. After you have finished a certain step, click the <strong>Complete step</strong> button. Exact time and the person who completed the step are recorded and can be seen in the <strong>Activity</strong> tab in the top right side of the Dashboard. <strong>(Step 12/25)</strong>"
module_protocols_save_html: "You can save the protocol to Protocol repository. Everyone within the same Team will be able to use it. <strong>(Step 13/25)</strong>"
module_protocols_click_results_html: "Click on the <strong>Results</strong> tab to upload experiment results. <strong>(Step 14/25)</strong>"
module_results_html: "You can upload any type of a file, insert table or write comments. <strong>(Step 15/25)</strong>"
module_results_click_samples_html: "Click on the <strong>Samples</strong> tab to import, export or assign samples to the Task. <strong>(Step 16/25)</strong>"
samples_html: "You can easily import sample tables from Excel or tab-delimited files. If you assign samples to a certain Task, these samples will be automatically assigned downstream the Workflow. <strong>(Step 17/25)</strong>"
breadcrumbs_html: "You can always use these breadcrumbs to navigate all the way back to the Dashboard. Click on the <strong>Reports</strong> tab to generate a report of your work. <strong>(Step 18/25)</strong>"
reports_index_click_new_report_html: "Click the <strong>New report</strong> button to create a new report. <strong>(Step 19/25)</strong>"
new_report_html: "To add report elements to the report, click on the <strong>—+—</strong> sign on the sheet. Select the report contents in the tabs and click <strong>Add to report</strong>. You can save the report as a PDF on your computer or save it within sciNote for later viewing and modification. <strong>(Step 20/25)</strong>"
new_report_click_org_html: "Click on <strong>%{private_org}</strong> in breadcrumbs to return to the Dashboard. <strong>(Step 21/25)</strong>"
protocols_index_html: "View your Public and Private Protocols, which you can Edit, Create new ones or Clone them. Protocols can be archived and restored from the Archive. <strong>(Step 22/25)</strong>"
protocols_import_export_html: "You can also Import or Export protocols to your hard drive. Return to the Dashboard. <strong>(Step 23/25)</strong>"
archive_project_html: "Archive Demo project - qPCR by clicking on the down arrow <span class='glyphicon glyphicon-triangle-bottom'></span>. You can always access the Archive by clicking the <span class='glyphicon glyphicon-briefcase'></span> icon on the top right side of the Dashboard and restore any item you have archived. <strong>(Step 24/25)</strong>"
goodbye_message: "To repeat the tutorial, go to your Settings and open <strong>My preferences</strong> tab. Click on the <strong>Repeat tutorial</strong> button and go through the tutorial as many times needed. <strong>(Step 25/25)</strong>"
notifications:
title: "Notifications"