Users
Online Issues
There has been some confusion lately about the Users Online module; I think this is due
to a combination of issues:-
- Influx
of additional users (the module now installs as default since DotNetNuke
3.1.1)
- The
module is not as intuitive as it could be (see the “can’t you make it
easier?” section below).
Example issues include:-
- “People
Online section always reports 0 online users”
- “The Online
Now section never lists anyone”
There are a couple of steps that you need to do before the
module will function correctly. The steps involve setting some host options (you
will only need to configure them once for your entire installation).
Configuring Users
Online
The “Users Online” module works on a background thread (via
the scheduler) to add and expire users from the users online list. The
scheduled job should exist in your installation, but it is disabled by default.
To enable the
scheduled job:-
- Login
to your portal as a Super User account (e.g. host)
- Navigate
to Host -> Schedule
- Edit
the “DotNetNuke.Entities.Users.PurgeUsersOnline, DOTNETNUKE” job (click
the pencil)
- Check “Scheduled
Enabled”
- Click
Update
Now that you have configured the scheduled job, your users
should begin to process background users. The problem is that there is an additional
host setting you must set before this can occur.
To enable users
online:-
- Login
to your portal as a Super User account (e.g. host)
- Navigate
to Host -> Host Settings
- Expand
“Advanced Settings”
- Expand
“Other Settings”
- Uncheck
“Disable Users Online”
- Click
Update
You should now see your users online count increment,
updates occur each time the schedule job
runs (by default, 1 minute). A follow up article will be written to show the technical
implementation of Users Online and why it operates like this.
Can’t you make it
easier?
Sure we can and we will! The additional configuration for
Users Online has evolved throughout the history of its implementation; let’s
walk down memory lane to find out why we need these additional configuration
steps…
Memory Lane
Development for Users Online began for DotNetNuke 2.x, I had
developed the prototype in 1.x and it existed as a core hack. In fact, here is
the link to the
core hack (for DotNetNuke 1.0.10d).
When development began for DotNetNuke 2.x, it was decided to
integrate the Users Online functionality into the core. The integration
involved three sections:-
- A
section of functionality that would process user requests and stack them
up for process by the background job
- The background
job that would add and expire online users
- The
module that would display the user online information (this was not
installed by default, but distributed as a private assembly with the core)
Since the module part was not installed by default, there
needed to be a mechanism of disabling the integrated core work so that no additional
load would be generated. This is the
reason for the “disable users online” host setting.
At a later stage (DotNetNuke 2.1.2), the scheduler was
introduced to run background tasks. The background job was moved from a hard
coded event to use the new scheduler functionality. This job was then set to be
disabled by default. This is the reason
for enabling the PurgeUsersOnline job.
Back to Reality
Fast forward to DotNetNuke 3.1.1 and these configuration
options still exist. The options should remain, but there is some additional
functionality we can add to the module configuration to make it easier for new
users. These options include:-
- Not
allowing the user to show the “People Online” or the “Online Now” section
if the host settings are disabled.
- Providing
an option in the settings section of the module (to Super Users only) that
will enable both host settings (the host setting and the scheduler job).
These enhancements will be among the first to be implemented
as part of Users
Online Sub-Project.
Get Involved!
- Do you
want to participate
in the DotNetNuke project?
- Do you
want implement new enhancements for the Users Online project? (register your interest in this thread)
- Do you
have new ideas for the Users Online module? (register your ideas in this thread)
Important Links