Smart-Thinker UserGroup Module Configuration Guide
Version 04.03.01
Thank you
for trying the Smart-Thinker UserGroup module. We hope you find it useful!
Overview
The most up-to-date version of this document can be found here.
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.
This module
guide was written for the configuration on PokerDIY
– a poker-related social networking site. Feel free to browse the site to see a
live, working example of a UserGroup implementation.
Key Information
- Tested on DotNetNuke 4.3.5 and
above.
- 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.
- Do NOT use caching on this module
as it will produce unexpected results.
- MySpace
Groups were the inspiration for this module – you can also read an
interesting article
about Groups on Social Networking websites.
- For a quick breakdown of the
controls and settings for this module please see this link.
Background
Users can create groups and add other users to
their group. A group is a user-defined, logical grouping that users themselves
can maintain and optionally integrate with other modules. Users can search
groups and possibly join/leave groups they are interested in.
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 UserGroup control
(you need to be logged in as Host)
Set up
This module follows
the standard Smart-Thinker Architecture of a search screen, personal groups
screen, and a group detail screen. This gives more flexibility to display
featured groups or offer different group retrieval methods (randomly or
passed-in Group ID etc.)
1) Smart-Thinker - Group Detail
The Group Detail
control is used to show a particular group’s details and members, and to allow
viewers to either join or leave the group.
The first step should
be to create a page which will show a particular Group’s details whenever a
group is selected from the search results or passed in from any where else on
the site. This page should be hidden as it will require a GroupID to be passed
in to it, and will fall over if one is not found (ie. A user should never go to
this page directly).
So, create the page
and add the Smart-Thinker UserGroup Detail control to it. When you first add it
will say “There was an problem loading this group - please try again.” – this
is expected behaviour, and it will work correctly once you have configured it.
It is up to you on who can see group details – you may want only logged on
users to be able to view it, and you can configure your page/module
accordingly. On PokerDIY everyone can see group details, so the module inherits
the permissions from the page, which allows anyone to see it but is marked as
hidden.
Note: This is a
useful page to put adverts or prime information on as it is shown every time a
group’s details are viewed.
Click on Settings to
configure the module. You will probably want to enable logged-in users to be
able to join/leave groups, so you need to give the Registered Users (or the
role of your choice) Edit rights on the module. This also allows the Group
Owner to be able to invite site members by user or role to their group. Note, do
NOT use caching on this module as it will produce unexpected results.
There are 3 different
retrieval methods for this module. You can use this detail control to show
groups randomly (it only selects from Public groups), or by the passed in
GroupID (this is the one you need to use for this scenario), or a particular
group. An example of where the first and last method might be used is on the
home page to display a particular or random group – see PokerDIY.com for an
example of a “Featured Group” which displays a random group.
So for this example
we will select “Passed-In GroupID”. This means that whenever you call this page
there will be an additional ID querystring parameter which is the GroupID that
this control will load. You can hardcode links to pass this is (e.g. “See my
Group for more details”) but the Group Search list and the My Groups list pass
this in automatically, so you don’t need to worry too much about it.
This module also has
the ability to allow Group Owners to send Private Messages to all the members
in their group. A future version may expand on this with the ability to allow
any user to send a PM to a group (controlled via a setting). This is done by
integrating with Ventrian’ s Private Messages module, which you need to have
installed before you activate this setting. Once this is done you will see a
“Send Message” option on the left IF you are the group owner.
As with all
Smart-Thinker modules, you can make all DisplayNames clickable by enabling the
UserProfile integration setting. All member names and Group Owner name will
then link to the UserProfile screen if you have configured it correctly.
You can also choose
if Group Owners can add members by role or not to their group. Some users have
no knowledge of what a role is so this is not useful, or you could set the link
button to only display to Administrators.
The Group Search
Results module setting is used for when a user clicks on a Tag or Category on
the group detail and it searches for other groups with these details. Note that
at this stage you probably have not yet added a Group Search module to a page,
so you will need to come back later and configure this to point at the page
where you have put the search module. You can test if this is working after
doing this by clicking on a group category whilst viewing a group.
2) Smart-Thinker – UserGroup
This control is used
to display groups that you are the owner of or groups that you belong to
You can add this
control to any page you like, but on PokerDIY we made a “Groups” page. Add the
control to this page, and configure the settings.
You can choose who
can make groups by assigning the Edit right to that role. User’s in this group
will be see the “Create new Group” link button on this control. Note that
anonymous users cannot create groups. Do not use caching on this control.
Select the
GroupDetail page that you created earlier for the “Group Detail page” setting.
When you have created or joined a group they will appear in this view and will
automatically link the page set here. You can also choose to link to the
UserProfile module if you want to.
Note that
Administrators have an extra action – View All Groups. This is a list of ALL
the groups in the system and the group owners. It is useful for admin
maintenance.
You can test the
functionality so far by creating a group. It should appear in this list and
when you click on the Group Name it should display the Group Detail. This is
also where you edit and maintain your groups.
3) Smart-Thinker – UserGroup Search Results
This control displays
the results of searches.
This control works
best on a hidden page as you don’t want a user browsing to it directly. Create
a new page (possible called “Group Search Results”) and add this control to it.
If you have any public groups on your portal they will all display immediately
(this could be useful if the page was not hidden, it is up to you). Configure
the settings and select the Group Detail module we created earlier. This allows
the group search results to link to the Group Detail page so you can click
through to see a group’s details. That is all you have to do for this control.
At this point you could go back to the Group Detail page and configure the
Search Results page that we omitted earlier to point to this page. You should
now be able to view a Group’s details and click on Tags or Categories and go
back the Search results with similar groups.
4) Smart-Thinker – UserGroup Search
This control is used
to display a searchable list of Categories or Countries, as well as a free-text
search textbox. When you enter a search here it links to the Search Results
page.
You can add this
anywhere you want and choose who can search on groups by using normal role
assignment. The only setting you need to configure here is to point to the page
you made previously that contains the Search Results control. Now you can test
it by clicking on a category or searching for a string.
That’s all there is
to it! Let us know on the Forums if anything is unclear or you have any
suggestions.
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.
The Group Category uses the core Lists functionality (why
re-invent the wheel?), which is accessible from Hosts\Lists. You can add or
edit the categories to suit your site (stick to the integer format for values).
This will actually highlight a limitation in the DNN Core Lists implementation
- if you have multiple sites on an install you may want different
data/categories depending on the type of portal. Another limitations of Lists
is that they are not localizable - again, this is a core limitation (non-static
localization is on the roadmap apparently). If you think Lists should be at
Portal level and not Host level then please add your weight to the Forums to
try and get this in a core release.
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 Events, UserProfile and Ventrian/Scott Mcculloch’s Private Messages if you have these modules
installed and configured correctly.
When you create an event and invite your guests you can invite users by
Group. See the Events module configuration for more information on this. All
DisplayNames can be linked to the Smart-Thinker UserProfile module so that when
you see a user’s name you can click-through to view their profile.
Group owners can also send Private Messages to the users in their group
with the Ventrian Private Messages module. Please consult the Forums if you are
battling with 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.
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.