Smart-Thinker UserProfile Module Configuration Guide
Version 04.03.01
Thank you
for trying the Smart-Thinker UserProfile module. We hope you find it useful!
Overview
Please
ensure you have read and adhered to these instructions before contacting
support.
If you wish
to request a new feature, please you Feature
Requests.
If you have
found a bug, please raise a support issue by following these steps.
Key Information
- Works on DotNetNuke 4.3.3+
only. This version will not work on DotNetNuke 3.x – you can read more
about it here.
- Always test modules on your
staging server first. Never install any 3rd party module on to
your live server without testing it first.
- You can try a free trial on a
test DNN installation, but please adhere to our Licensing
Agreement.
Background
This module
is designed to make the concept of a User’s “profile” more visible and useful.
Up until recently, the DotNetNuke core did not have extensible user profiles.
Please note that this module will “morph” with the DotNetNuke core and continue
to fill gaps where framework is lacking in. This is the first DNN 4.3.x version
and is considered a “Stabilization” release. A lot of code and effort went into
this version without many visible changes to the users who are upgrading. This
release sets the platform for us to take advantage of the core membership
profiles with Templating and extensible fields in the next major version. For a
quick breakdown of the controls and settings for this module please see this link.
Licensing
As of
version 04.03.01, this module now has a Parent/Child portal limit check
depending on the License you have. Please see our Licensing
Agreement for more information if unsure. You can now view the License that
your particular module is using in the Module Settings of the UserProfile
Profile control
Set up
The
previous version of the module had all its controls under the main Module
Definition. This lead to some confusion for users and made this guide more
complicated then it needed to be. From this version, the controls have been
split up to make it easier to set up and configure.
Caching should not be used on this module as it relies heavily on
the currently logged on user. Sporadic results may occur if caching at module
level is used.
The module is split into 4 parts – The screen that displays the profile
(titled “Smart-Thinker - UserProfile – Profile
“), the UserProfile Edit/miscellaneous controls (“Smart-Thinker -
UserProfile“), the User Directory (“Smart-Thinker – UserProfile - Directory“),
and the Birthday List (“Smart-Thinker – UserProfile - Birthdays“).
- Smart-Thinker
- UserProfile – Profile
In order to link
all other modules and hyperlinks to the UserProfile module, you need to put
this on a page called “User Profile”. This is very important or the linking
will not work. All Smart-Thinker modules that display Users have ability to
link to this, and can be optionally set in the Module Settings. For example,
the GuestList on the Events module will automatically link to the User Profile
module if you set it up correctly.
When you first add this control to a page, it will display a message
saying “There
was an problem loading this profile - please try again.”. This is because it relies on querystring parameters to
be passed in to it and you are viewing the page directly. This is perfectly
normal and once you have followed these instructions you will see why.
You can set up the
normal role rights on this page/module – for example, you need to decide if
unauthenticated users can view user profiles or not, depending on your
requirements.
Please note that
this above step is necessary to enable linking from the clickable UserNames and
lists from other Smart-Thinker modules. The next steps are however optional:
You can also add
this control to a page and set it to display the logged on user's profile (e.g.
"My Profile"), or you could set it to a particular user's UserID -
e.g. on the About Smart-Thinker page on Smart-Thinker.
Another example is
if you were writing an article you could put a hyperlink to the user E.g please
note the parameter names)
http://www.smart-thinker.com/Default.aspx?tabid=116&ID=1
The TabID is the
page that your UserProfile control is on, and the ID is the UserID of the
profile you would like to view. Please contact us on our Forums if you need
help in setting this up. This module will work with Friendly URLs on or off. An
example of where this is used on Smart-Thinker is in the Forum signature. Find
a post by Rodney Joyce and check the link in the Signature. This is a hardcoded
link in the fashion above.
The settings for
this page also show the overall module’s Licensing level and the number of
parent and child portals it can be used on. Please contact us if you have
bought a different license to the one shown.
You can also change
the module Settings to link to Scott Mcculloch's Private Messaging module if
you have it installed. If not, you can get it here http://www.smcculloch.net/. This will
place a "Send Message" icon on a user profile so you can send them a
message.
Lastly, you can
integrate with the Smart-Thinker HomePage module so that IF the user has a
HomePage then their UserProfile will display a “Click here to see my HomePage”
link.
- Smart-Thinker
– UserProfile (3 controls)
Validator Control
You may want to
leave this control for last as it is the trickiest to set up and completely
optional. We suggest that you get all the other controls working first. The
Validator control is designed to force users with invalid User Profiles to
correct or fill in their information. It basically should sit on the Home page
(or most common page) and it polls to check if the current logged on user has a
valid profile or not. If they don't then they are redirected to the User
Profile Edit page where they have to correct the data. Please note that this
has caused problems in the past if not setup correctly. It is important that
you follow these instructions to ensure that an infinite loop does not occur. You
can delete this control if you do not want to enforce users to fill in their
data and the rest of the module will function as normal. This module will be
deprecated with a more robust solution in a future version.
Click on Validator
control Settings and change this to be viewable by Registered Users only. This
means that each time a Registered User views this control it will do a valid
User Profile check. Note: This module will not do this check for the
Administrator. If you are having problems then log on as the Admin and edit
this control. Also bear in mind that this control is not foolproof - if a user
has invalid information then they could avoid correcting it by not viewing the
page with this control on. They will eventually be redirected to the correct
page, so do not worry about this too much. As an administrator, you can review
and invalidate a user's User Profile by setting a message. The user will see
this message and when they save their
information the
record is treated as valid from then on. It is up to you as the administrator
to ensure you are happy with the User Profiles.
UserProfile PersonalInfo Control
This control is a
small view to show the logged on user how old they are and how many years till
their next major birthday. This control has big plans for it but at the moment
it is more for fun - you can choose to allow Registered Users to view it or you
could delete it. Eventually it will show a lot more information to the current
logged on user. If un-authenticated users see this control it will error as
they have no User Profile.
UserProfile Control
This is the main
control that allows users to edit their own Profile and allows the
Administrator to edit any user's Profile.
It is important
that you allow Registered Users to View AND Edit this control. This control
works best on a page such as "My Account". It does a redirect if a
Registered User is viewing it, so it is important that you do not put this
control on the HomePage, and that you give Registered Users (or some other
authenticated Role) Edit rights to it. Otherwise you will receive an error
message when you try to view it. This will be made less complex in a later
version.
Censorship: The
idea behind censorship is to assign a censorship level to users and then use
this setting in other modules to ensure that the user does not see content not
meant for them. You can edit the Settings on this module to set the default new
User Profile censorship setting. A user cannot change their own censorship
level - only an administrator can. For example, the Smart-Thinker Quotes module
only shows quotes suitable for user who is viewing the quote.
- Smart-Thinker
– UserProfile – Directory
This is used a
searchable listing of all the users in the Portal. You can search on extended
info or core info. Simple search performs an OR wildcard search on key fields
such as Name, UserName and Email,
whereas the
Advanced Search performs an AND search on certain criteria. Note that you can
use wildcards (%) whilst searching: eg. "R%ney" will return
"Rodney".
- Smart-Thinker
– UserProfile – Birthdays
This control shows
birthdays for users who have set up their User Profiles. It defaults to looking
14 days ahead, but this can be changed in the Settings.
You can put this
control wherever you like.
To set up the
Scheduler to email a user on their birthday, please do the following:
1) Login as
"Host" and click on "Schedule"
2) Click on
"Add Item to Schedule"
3) Enter
"SmartThinker.DNN.Modules.UserProfile.UserProfileBirthday,
SmartThinker.DNN.Modules.UserProfile" exactly for "Full Class Name
and Assembly"
4) Set the
"Time Lapse" to every 12 hours. This will ensure that the Birthdays
are checked often enough to ensure the user will be emailed. Once the user is
emailed a flag is set against them
so they will not be emailed twice.
You can set the "Retry Frequency" to 1 hour, and choose to log the
results or not.
5) Leave "Run
on Event" as "None". Do not check "Catch up Enabled".
Enter "SmartThinker.UserProfile" for "Object Dependencies"
6) You can edit the
UserDataBirthdayEmail.ascx.resx resource file to change the greeting.
When you are happy
you can Enable this task by checking "Schedule Enabled". You may want
to create a test user and set their birthday to today and the frequency to
every 5 minutes and enusre that everything is working correctly.
Customizations
Feel free
to customize the .ascx file to suit your requirements. The language strings can
be edited in the normal fashion using the core localization tools (Language
Editor). Please let us know if we have missed any language strings in the
module.
You can also
customize the lists (e.g. Censorship and Title) in the core Lists area,
although do not erase or change any values
as this will cause upgrade problems. If you have a module that displays user
information then contact us and we'll see if we can help you link to the
UserProfile module.
Please note that we
do not strictly support customizations, although we will be happy to help you
if you run into trouble.
Integration
This module
integrates with the Smart-Thinker HomePage, Events, UserGroups, Quotes and
Scott Mcculloch’s Private Messages if you have
these modules installed and configured correctly. Please see “Censorship” above
for a more detailed explanation.
It can also integrate with any
module that can form a URL and pass in a UserID in the correct format to the
tab with the UserProfile module on (see above for more on this).
Check the Tips and Tricks section for more
integration and customization ideas.
Upgrading
Please note
that a lot of changes were done behind the scenes and there is a lot going on
during an upgrade from the 3.x version to this one. Please consult our Forums
if you are unsure or run into problems. Everything should run smoothly but let
us know if it does not (as always, we recommend that you do an upgrade on a
test system first).
Uninstallation
This module
can be uninstalled in the normal manner.
Technical Architecture
This module
uses its own satellite User table with the extended fields. From the next
version there will be more integration with the core Profile functionality and
code.
Source
The source
for this module is in C# and was created in Visual Studio 2005 using the WAP
project model. Please see our licensing options for information on how to
obtain it.
If you have
any queries then please see Overview
section at the top of this document for more information.