diff --git a/build_num b/build_num index 9c999db3a..0f3480865 100644 --- a/build_num +++ b/build_num @@ -1 +1 @@ -#define BUILD_NUM 2937 +#define BUILD_NUM 2938 diff --git a/doc/ChangeLog b/doc/ChangeLog index bf7c0ed5d..06614236c 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -20,14 +20,15 @@ * UserWorkflow.cpp (UserWorkflow::report): see #1466 Implemented instrumentation that should help us improve user experience. Will - track few things that new users do (or don't) and report as a - combination of bit flags at the end of the GUI session. Reporting - things such as if user looked at "Getting Started" tutorial, if - they created their first firewall object, modified any rules, - tried to compile or install. Information passed in the report is - strictly a set of boolean flags, is not identifiable and does not - reveal what firewall platform they are using or anything about - their objects and rules. + track few things that new users do (or don't do) and report as a + combination of boolean flags at the end of the GUI + session. Reporting things such as if user ever looked at the + "Getting Started" tutorial, if they created their first firewall + object, modified any rules, tried to compile, install or import + existing rule set. Information passed in the report is strictly a + set of boolean flags, it is not identifiable and does not reveal + what firewall platform they are using or anything about their + objects and rules. List of flags is listed in the module UserWorkflow.h 2010-05-23 vadim diff --git a/src/gui/PrefsDialog.cpp b/src/gui/PrefsDialog.cpp index 42339854c..ecf932f29 100644 --- a/src/gui/PrefsDialog.cpp +++ b/src/gui/PrefsDialog.cpp @@ -489,6 +489,9 @@ 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()); @@ -533,10 +536,8 @@ void PrefsDialog::accept() wfl->registerFlag(UserWorkflow::TIP_OF_THE_DAY_DISABLED, m_dialog->showTips->isChecked()); - st->setBool("UI/NoStartTip", m_dialog->showTips->isChecked()); - QDialog::accept(); } diff --git a/src/gui/UserWorkflow.cpp b/src/gui/UserWorkflow.cpp index 167960d79..5c69b03cf 100644 --- a/src/gui/UserWorkflow.cpp +++ b/src/gui/UserWorkflow.cpp @@ -49,7 +49,7 @@ UserWorkflow::UserWorkflow() str >> flags; if (fwbdebug) - qDebug() << "UserWorkflow flags initialization:" << flagsToQueryString(); + qDebug() << "UserWorkflow flags initialization:" << flagsToQueryString(0); // what if the user disabled tip of the day before they upgraded // to the version with UserWorkflow ? Or re-enabled version update @@ -84,11 +84,12 @@ void UserWorkflow::registerTutorialViewing(const QString &tutorial_name) registerFlag(UserWorkflow::GETTING_STARTED_TUTOTIAL, true); } -QString UserWorkflow::flagsToQueryString() +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)); @@ -98,6 +99,7 @@ QString UserWorkflow::flagsToQueryString() fl << QString("in=%1").arg(flags.value(INSTALL)); fl << QString("im=%1").arg(flags.value(IMPORT)); fl << QString("ti=%1").arg(flags.value(TIP_OF_THE_DAY_DISABLED)); + fl << QString("pr=%1").arg(flags.value(USING_HTTP_PROXY)); return fl.join("&"); } @@ -117,7 +119,7 @@ void UserWorkflow::report() str.setVersion(QDataStream::Qt_4_0); str << flags; - qDebug() << "UserWorkflow::report():" << flagsToQueryString(); + qDebug() << "UserWorkflow::report():" << flagsToQueryString(elapsed_time); qDebug() << "Session:" << elapsed_time << "sec"; } @@ -141,7 +143,7 @@ void UserWorkflow::report() // each flag is a two-characters variable with a value of 0 or 1 QString url = QString(report_url) - .arg(VERSION).arg(st->getAppGUID()).arg(flagsToQueryString()); + .arg(VERSION).arg(st->getAppGUID()).arg(flagsToQueryString(elapsed_time)); // start http query if (!report_query->get(url) && fwbdebug) diff --git a/src/gui/UserWorkflow.h b/src/gui/UserWorkflow.h index 0058bb067..cf71db4a8 100644 --- a/src/gui/UserWorkflow.h +++ b/src/gui/UserWorkflow.h @@ -83,6 +83,7 @@ public: INSTALL, IMPORT, TIP_OF_THE_DAY_DISABLED, + USING_HTTP_PROXY, }; private: @@ -90,7 +91,7 @@ private: QHash flags; HttpGet *report_query; - QString flagsToQueryString(); + QString flagsToQueryString(int session_duration); public: UserWorkflow();