1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-23 19:57:21 +01:00

* UserWorkflow.cpp (UserWorkflow::flagsToQueryString): added user

workflow progress flags for an attempted install and first
successful install. Both flags are boolean true/false indicating
that the even occurred. We do not track and do not report any
information about the firewall, platform, rules etc. These flags
will be used to determine how many users abandon the program
before even trying to run install for real because it is too
complicated or the UI is not good enough. Fixes #1495

* UserWorkflow.cpp (UserWorkflow::flagsToQueryString): added user
workflow flag indicating that ssh/scp have been configured in the
Prefereces dialog. The flag is boolean and registers only the fact
that something was entered in ssh and scp fields. Actual path and
programs used are not registered and reported. Fixes #1496
This commit is contained in:
Vadim Kurland 2010-06-06 18:50:36 +00:00
parent 2cac0a92e9
commit a9aa4dd623
7 changed files with 66 additions and 23 deletions

View File

@ -1 +1 @@
#define BUILD_NUM 2949
#define BUILD_NUM 2953

View File

@ -1,3 +1,24 @@
2010-06-06 vadim <vadim@vk.crocodile.org>
* UserWorkflow.cpp (UserWorkflow::flagsToQueryString): added user
workflow progress flags for an attempted install and first
successful install. Both flags are boolean true/false indicating
that the even occurred. We do not track and do not report any
information about the firewall, platform, rules etc. These flags
will be used to determine how many users abandon the program
before even trying to run install for real because it is too
complicated or the UI is not good enough. Fixes #1495
* UserWorkflow.cpp (UserWorkflow::flagsToQueryString): added user
workflow flag indicating that ssh/scp have been configured in the
Prefereces dialog. The flag is boolean and registers only the fact
that something was entered in ssh and scp fields. Actual path and
programs used are not registered and reported. Fixes #1496
2010-06-03 vadim <vadim@vk.crocodile.org>
* v4.0.1 released
2010-06-02 vadim <vadim@vk.crocodile.org>
* Preprocessor.cpp (Preprocessor::findMultiAddressObjectsUsedInRules):

View File

@ -35,6 +35,7 @@
#include "SSHSession.h"
#include "SSHUnx.h"
#include "Configlet.h"
#include "UserWorkflow.h"
#include "fwbuilder/Resources.h"
#include "fwbuilder/FWObjectDatabase.h"
@ -421,6 +422,8 @@ void FirewallInstaller::runJobs()
instJob current_job = job_list.front();
job_list.pop_front();
wfl->registerFlag(UserWorkflow::INSTALL_RAN, true);
switch (current_job.job)
{
case COPY_FILE:

View File

@ -468,6 +468,26 @@ void PrefsDialog::accept()
st->setClipComment(m_dialog->chClipComment->isChecked());
st->setCheckUpdatesProxy(m_dialog->checkUpdatesProxy->text());
wfl->registerFlag(UserWorkflow::USING_HTTP_PROXY,
!st->getCheckUpdatesProxy().isEmpty());
// annoyingly, widget shotTip has the name opposite to its meaning.
// When it is checked, we do not show tip of the day.
wfl->registerFlag(UserWorkflow::TIP_OF_THE_DAY_DISABLED,
m_dialog->showTips->isChecked());
st->setBool("UI/NoStartTip", m_dialog->showTips->isChecked());
st->setSSHPath( m_dialog->sshPath->text() );
st->setSCPPath( m_dialog->scpPath->text() );
st->setBool("Environment/RememberSshPassEnabled", m_dialog->rememberSshPass->isChecked());
wfl->registerFlag(UserWorkflow::SSH_CONFIGURED,
!m_dialog->sshPath->text().isEmpty() &&
!m_dialog->scpPath->text().isEmpty());
if (m_dialog->checkUpdates->isChecked())
{
@ -487,15 +507,7 @@ void PrefsDialog::accept()
}
st->setCheckUpdates(m_dialog->checkUpdates->isChecked());
st->setCheckUpdatesProxy(m_dialog->checkUpdatesProxy->text());
wfl->registerFlag(UserWorkflow::USING_HTTP_PROXY,
!st->getCheckUpdatesProxy().isEmpty());
st->setSSHPath( m_dialog->sshPath->text() );
st->setSCPPath( m_dialog->scpPath->text() );
st->setBool("Environment/RememberSshPassEnabled", m_dialog->rememberSshPass->isChecked());
for (int row=0; row < m_dialog->enabled_platforms->rowCount(); ++row)
{
QTableWidgetItem *itm = m_dialog->enabled_platforms->item(row, 0);
@ -531,12 +543,6 @@ void PrefsDialog::accept()
mw->updateTreeFont();
// app->setFont(st->getTreeFont());
// annoyingly, widget shotTip has the name opposite to its meaning.
// When it is checked, we do not show tip of the day.
wfl->registerFlag(UserWorkflow::TIP_OF_THE_DAY_DISABLED,
m_dialog->showTips->isChecked());
st->setBool("UI/NoStartTip", m_dialog->showTips->isChecked());
QDialog::accept();
}

View File

@ -57,6 +57,9 @@ UserWorkflow::UserWorkflow()
registerFlag(TIP_OF_THE_DAY_DISABLED, st->getBool("UI/NoStartTip"));
registerFlag(UPDATE_CHECKS_DISABLED, !st->getCheckUpdates());
registerFlag(UserWorkflow::SSH_CONFIGURED,
!st->getSCPPath().isEmpty() && !st->getSCPPath().isEmpty());
}
UserWorkflow::~UserWorkflow()
@ -89,17 +92,20 @@ QString UserWorkflow::flagsToQueryString(int session_duration)
// query string of flags has the format uc=0&gs=1&ft=0 ...
// each flag is a two-characters variable with a value of 0 or 1
QStringList fl;
fl << QString("sd=%1").arg(session_duration);
fl << QString("uc=%1").arg(flags.value(UPDATE_CHECKS_DISABLED));
fl << QString("gs=%1").arg(flags.value(GETTING_STARTED_TUTOTIAL));
fl << QString("ft=%1").arg(flags.value(NEW_FW_WITH_TEMPLATE));
fl << QString("fn=%1").arg(flags.value(NEW_FW_NO_TEMPLATE));
fl << QString("rm=%1").arg(flags.value(RULE_MOD));
fl << QString("co=%1").arg(flags.value(COMPILE));
fl << QString("in=%1").arg(flags.value(INSTALL));
fl << QString("fn=%1").arg(flags.value(NEW_FW_NO_TEMPLATE));
fl << QString("ft=%1").arg(flags.value(NEW_FW_WITH_TEMPLATE));
fl << QString("gs=%1").arg(flags.value(GETTING_STARTED_TUTOTIAL));
fl << QString("im=%1").arg(flags.value(IMPORT));
fl << QString("ti=%1").arg(flags.value(TIP_OF_THE_DAY_DISABLED));
fl << QString("in=%1").arg(flags.value(INSTALL));
fl << QString("ir=%1").arg(flags.value(INSTALL_RAN));
fl << QString("is=%1").arg(flags.value(INSTALL_SUCCESS));
fl << QString("pr=%1").arg(flags.value(USING_HTTP_PROXY));
fl << QString("rm=%1").arg(flags.value(RULE_MOD));
fl << QString("sc=%1").arg(flags.value(SSH_CONFIGURED));
fl << QString("sd=%1").arg(session_duration);
fl << QString("ti=%1").arg(flags.value(TIP_OF_THE_DAY_DISABLED));
fl << QString("uc=%1").arg(flags.value(UPDATE_CHECKS_DISABLED));
return fl.join("&");
}

View File

@ -81,9 +81,12 @@ public:
RULE_MOD,
COMPILE,
INSTALL,
INSTALL_RAN,
INSTALL_SUCCESS,
IMPORT,
TIP_OF_THE_DAY_DISABLED,
USING_HTTP_PROXY,
SSH_CONFIGURED,
};
private:

View File

@ -35,6 +35,7 @@
#include "InstallFirewallViewItem.h"
#include "instOptionsDialog.h"
#include "instBatchOptionsDialog.h"
#include "UserWorkflow.h"
#include <qcheckbox.h>
#include <qlineedit.h>
@ -364,6 +365,9 @@ void instDialog::opSuccess(Firewall *fw)
setSuccessState(itm);
}
currentLabel->setText("");
if (installer)
wfl->registerFlag(UserWorkflow::INSTALL_SUCCESS, true);
}
void instDialog::opError(Firewall *fw)