Wednesday, March 10, 2010
Joomla Software
Joomla Software

Joomla Software (5)

Information about Joomla components, modules, plug-ins and other software.


Sunday, 25 October 2009 11:40

MIPHPBB3

Written by Administrator

Please bookmark this page if you are purchasing this module, as this page constitutes the documentation as well.

To purchase this or any software on this site, simply create an account and then select the "Purchase" menu item at the top of the screen. After going through the PayPal process, you will find that the software you have purchased is available for you to download via the "Download" link, also in the main menu. Typically, PayPal takes 2 or 3 minutes to process your payment and automatically notify the download system to make the link available.

MIPHPBB3 is a JomSocial application that displays the latest posts in a PHPBB3 forum for the current profile. It can also be configured to show the latest posts irrespective of the current profile, so it is suitable for loading as a module using JSApp.

Application

(Image 1: Application View)

The application output is pretty straightfoward. Once you have configured your options, the latest posts are output in the JomSocial application frame.

Installing MIPHPBB3

You install MIPHPBB3 as you would any other JomSocial Application, through the Extensions->Install/Uninstall manager in Joomla's back-end. All JomSocial applications are Joomla plugins of type "community," and are configured via the Plugin Manager on the back-end.

Backend

(Image 2: The Plugin Manager View on the Back-End)

You will see in image 2 (the Joomla Plugin Manager) that there are a good number of configuration options to control the usage and output.

Forum Database Settings Section

Show All will determine if the application should show posts from all users. If this is set to no, this application will draw posts from the current JomSocial profile. Since this option determines what is shown in the application, it is first in the parameter list. You will almost always have this set to no.

The rest of the Forum Database Settings control how the application acquires its data. Previous PHPBB applications for JomSocial were dependent on bridges or configuration files to specify this information. When a new bridge was released or a bridge changed its operation, the application might stop working or not work at all. To avoid this problem, MIPHPBB3 simply asks you for the database information for your PHPBB3 installation and gets the data directly.

phpBB prefix specifies the prefix for tables in your database for your PHPBB3 installation. This will almost always be phpbb_, but if you have a different prefix, be sure to enter it correctly.

Forum DB specifies where your PHPBB database exists. Choosing Joomla DB means that your PHPBB3 tables live in the same database as your Joomla installation. If you choose this option, the Host, Database Name, Database User, and Database Password will be unused, as the standard Joomla database routines will be utilized. If you specify the Specific DB option, however, you will need to specify the above options.

Host is the name of your database host. This will be supplied by your web hosting company. This option is just like the one you had to give when installing your Joomla installation (and may be identical, in fact). The Database Name is the name of your database containing your PHPBB3 tables, and the Database User and Database Password should be self-evident.

Scan Type determines what kind of scan should be performed for posts. Latest Posts simply means the latest posts by the current user, with the most recent post first. This will return multiple posts from the same topic if the user has made multiple posts in that topic.  Thread Ends will restrict the scan to only show those posts that are the last one in a thread (in other words, the current ending of that thread). Some people prefer this method as it only shows those posts that are awaiting a response from the next person in the thread.

Forum URLs Settings Section

The Forum base URL value should be the base URL to your PHPBB3 installation. In the example, above, you'll see that my site uses /community/ as its base. The majority of non-bridged sites tend to use /forum/. Depending on your installation and/or bridge, you will need to determine what your base is. Note that this value should end with a slash as it is used to construct the proper URL to your forum and its posts.

The viewforum format and viewtopic format values are used to create the proper URLs to your forums and topics. Depending on your installation and/or bridge, these values will be different in order to create the proper URL. The examples given are for direct access to a PHPBB3 installation. The variable $forum_id contains the ID of the proper forum for the viewforum format field. The variable $post_id contains the ID of the proper post for the viewtopic format field. These will be correct whether your PHPBB3 installation is bridged or not as forum IDs and post IDs do not change.

The Forum link target is an optional value. If specified, it will add a target= tag to the anchor constructed for links to forums. A typical value here might be _blank in order to cause clicks to forums to open in a new browser window or tab.

Forums Settings Section

The Display Count value specifies how many topics to show. Typical values are 5 or 10, but you can set this to whatever makes sense for your display or community.

If you specify a comma-separated list of forum IDs in the Exclude Forums field, those forums specified will be excluded from displaying any posts. This is useful if you have forums with extremely high traffic that might cause all displayed posts to come from those forums. Additionally, if you have private forums from which you don't want any posts to show, putting those forums in this field will cause them to be bypassed. On my site, for example, I have a forum for site administrators. I don't want any posts there to be visible, so I exclude that forum by having its ID in this list.

Module View Settings Section

This section controls the layout and display of posts. Show Avatars is self-explanatory. Some people might want this option off, since the avatar will typically be all of the same person and might not be very attractive or necessary. Others like to have them shown anyway.

UL Items controls wither or not each post should be a list item in an unordered list (that is, wrapped in a "li" element within a "ul" list). This helps with CSS styling if you choose to do your own CSS styling.

The Max titles length limits the number of characters for a thread title. Show posts count provides three options to display (or not display) the number of posts in a thread. The Date format is a PHP date() formatting string to allow you to change the way the date is displayed (if you choose to display the date at all). If left blank, date displays will default to DATE_FORMAT_LC2. The Timezone option controls whether any time offsets should be applied.

Finally, the Topic output format controls how the actual post summary should be formatted. You may include HTML in this field as well as a number of variables that hold data acquired from the PHPBB3 database. These variables are listed in the tooltip for this field and are self-explanatory as well as being named after the fields in the PHPBB3 database itself.

Using MIPHPBB3 As A Module with JSApp

If you have the JSApp module (a module that allows you to place any JomSocial application in a module position), you can use the MIPHPBB3 application to show the latest posts on your entire site. In this case, we configure the JSApp module instance to use miphpbb3 as the application name and we set two parameter overrides. The first override is for show_all and we set it to 1. This tells MIPHPBB3 that it should show all posts and not just the current JomSocial user. The second override is for scan_type and we set it to thread_ends so that it only shows those posts that are last in a thread. This prevents a very active thread from having all entries. You might also want to override other parameters like max_title_length to give more room for titles as well as show_posts_count to increase (or decrease) the number of posts to show.

Front Page View

(Image 3: Application used as Module with JSApp)

NOTE: This is a 1.0, of course. If you purchase this and run into any problems, let me know! I'll hunt them down and treat them like the annoying things they are (read: I'll fix 'em!).

Tuesday, 20 October 2009 15:00

JSApp

Written by Administrator

Please bookmark this page if you are purchasing this module, as this page constitutes the documentation as well.

To purchase this or any software on this site, simply create an account and then select the "Purchase" menu item at the top of the screen. After going through the PayPal process, you will find that the software you have purchased is available for you to download via the "Download" link, also in the main menu. Typically, PayPal takes 2 or 3 minutes to process your payment and automatically notify the download system to make the link available.

JSApp is a Joomla native 1.5 module that will load any well-behaved JomSocial application into a module, suitable for including in any page. When we say well-behaved, we mean that the application is reasonably self-contained and requires no additional includes other than the standard JomSocial framework or, if it does, that it includes them itself.

Plugins

(Image 1: Plugins Manager)

Before going into to how to configure and use JSApp, let's take a quick look at the Joomla Plugin Manager. Note the second-to-last column, the one marked "File." This is the name of the plugin that will be needed by JSApp when configuring it for use. Here we've highlighted those plugins of type "community." Those are the JomSocial applications that you have installed on your system. On our system, you can see walls, kunena (the forum), myblog, jomcomment and twitter. With the exception of walls, these are all well-behaved applications.

Installing JSApp

You install JSApp as you would any other module, through the Extensions->Install/Uninstall manager in Joomla's back-end. Once you've done this, you can create and publish as many modules of type "jsapp" as you wish through the module manager. You may have as many on a page as you like and publish them to any module position, though you should note that the application will emit its display code however it wants. That is, if you try to publish the JomComment application to the "search" module position, you likely won't like how the output looks!

Module Manager

(Image 2: The Module Manager)

You will see in image 2 (the Joomla Module Manager) that we have published a number of modules of type mod_jsapp. The module names for these are somewhat descriptive of what they do. For example, "First: My Tweets (Guest View Off)" is a module that contains the twitter application and the title notes that it has the option set to not display if the user is a guest. These are available to see on our demo and download site at http://www.AmblerMedia.com.

Configuration

(Image 3: Module Configuration)

Okay, now the fun starts! Once you've created a module, you need to configure it. The first thing you will do is enter the application name you wish to display in the module. In the example in image 3 (Module Configuration, above), you can see that the application is "kunena," which is a free forum for Joomla. It's the forum we use for support, in fact.

There are two Yes/No options available. The first, "Show If Guest" determines if this module should display if the viewer is a guest. That is, if they are not logged in to your site. In many cases, the output of an application will only make sense if the user is logged in as it will show information related to the logged-in user. The second, "Hide If Unused" will, if "Yes" is selected, cause the module to not display if the application is not installed for the current profile. If this option is set to "No," an error message will be displayed.

"Force UID" is designed to allow an application to run as if you were viewing the profile of a specific user. This can be a tricky concept, so let's go over it in a bit more detail, with an example. Normally, for an application like "kunena," the idea is that a user would install the application and it would show up when you view their profile. The application shows those posts that the user has made in the forum. If you were to install the JSApp module, perhaps on some other page of your site, it would display the forum posts of whatever the current profile happens to be. For JomSocial, this would be the profile you last viewed. This might make no sense at all, and you might ask, "why would anyone install this anywhere other than the profile?" Consider, though, creating a page with an article about your top three forum users. You might write some interesting things about them, and then perhaps publish this module three times on that page, once for each user. You would set the application to "kunena," but each module would have a different "Force UID" value, one for each of the three users. You would then find that each module showed the forum posts for each user as they would appear if you were viewing their profile! I hope this has given you some great and useful ideas. Remember, if you use this feature, you'll almost surely want "Show If Guest" to be "Yes," as the whole idea is that everyone gets to see the output.

"Pre-Text" and "Post-Text" simply output whatever is placed in them before and after the application's output. Yo ucan wrap things in a div tag if you want, put some kind of announcement, or just leave these blank.

The "Module CSS file" is important! Normally, the output of applications is expected to be on the JomSocial "frontpage," so the default CSS presumes that they will be wrapped in the appropriate CSS path. To make applications render properly, we need to include our own CSS. In this case, JSApp comes with a cloned copy of the default style.css, with the ID #community-wrap removed to allow the elements to render in any ID. This allows them to render for module display. Yes, it also duplicates much of style.css that need not be duplicated. It is included it as an example, but I would expect anyone doing any serious work with this to make their own CSS. You can completely re-style any application in this way!

Finally, the module allows for up to 10 parameter overrides. You can specify the name of the parameter and its new value. If that parameter is found for the application, it will be overridden. For example, the JomComment application has a parameter called "limit" that determines the maximum number of characters displayed. For one of the demo modules, I increased it to 100, since there's more room in the module published than on the profile page. This affects only the module, not the application, itself. Figuring out what the parameter names are can be tricky. You can go into the configuration for any application, but often the name of the field is not the same as the name of the parameter. Unfortunately, there's no quick and easy way to pre-determine the parameter names, so if you don't know, you can look at the code for the application to find out. If you get completely stuck, you can ask in our support forums or in the JomSocial support forums and someone can likely take a quick look and tell you.

NOTE: This is a 1.0, of course. It works on my sites and with the applications I use. It's entirely possible (indeed, likely) that there are things I overlooked and applications that don't play nicely. Walls, for example, don't play nicely. I'm working on figuring out how to make them do so. If you purchase this and run into any problems, let me know! I'll hunt them down and treat them like the annoying things they are (read: I'll fix 'em!).

Saturday, 17 October 2009 14:58

MI MailQ

Written by Administrator

Please bookmark this page if you are purchasing this component, as this page constitutes the documentation as well.

To purchase this or any software on this site, simply create an account and then select the "Purchase" menu item at the top of the screen. After going through the PayPal process, you will find that the software you have purchased is available for you to download via the "Download" link, also in the main menu. Typically, PayPal takes 2 or 3 minutes to process your payment and automatically notify the download system to make the link available.

MIMailQ is a mail queue component for Joomla. It comprises a backend administration system tied to a database table to hold queued email messages for transmission either as they are added or at pre-determined times as triggered by a cron interface.

This component, used for its mail queue functionality, is intended for those who are comfortable using the example code to take advantage of its queueing and template features. If you do not intend to use these features, this component is also useful as a JomSocial mass-email and mass-PM utility. That said, the functionality to send email or private messages to JomSocial groups might very-well be what you're after, which is why I'm making it available here. I will be adding more JomSocial communication functionality as requested, so this component might be useful to you even without the mail queue functionality.

The JomSocial functionality will be covered last.

Let's start with the templating system. While it is perfectly reasonable to queue outgoing email with a pre-formed body, MIMailQ supports a simple but complete templating system. Creating a template is as easy as giving it a name and entering its text, either plain text or HTML.

(Image 2: The list of available templates)

(Image 3: The template editor)

When editing a template, replacement variables are placed in-line with other text. While our convention is to use variables with percent-signs on either side (such as the %COMMENTTITLE% above), you can actually use anything you wish. Placing percent-signs on either side of the word simply helps ensure that we don't match any actual word in the email. In the above example, this template is used any time someone receives a comment on one of their pictures on the Model Insider web site.

(Image 4: The mail queue)

The actual mail queue can be viewed at any time. Each message will show to whom it will be sent, the template used (if any), the time it was queued and the time it was processed along with the status. If the status is "new," the processing time will, of course, be undefined (all zeros). You can click on the "Toggle HideSent" button to toggle on or off whether sent items should be hidden. There is a configuration option to determine how long sent items stay in the queue (so you can look at them even after they've been sent) before being automatically deleted during a sending pass.

(Image 5: JomSocial Groups)

Here is the feature the JomSocial folk have been asking for. This view will list all JomSocial groups, from which you can select a group and queue-up an email to every member of that group. You can also send that message via private message (PM) if you wish. This routine calls into JomSocial's send() routine in the inbox model directly, so it creates one message per user, not a single message with multiple (potentially thousands) of users. There is no queue for sending a PM - the send routine is called for every user, so it's expected that this will not be used for tens-of-thousands of users. If you have a need for this, please drop an email to This e-mail address is being protected from spambots. You need JavaScript enabled to view it and I can code this to use the queue.

Coming in the next version, by request, there will be a front-end interface for JomSocial group owners to queue an email or send a PM to members of the group, and this functionality will be controlled via the backend, in case you do not wish your group owners to have this ability.

The donation for this component is $20, and contributing users will receive updates for the lifetime of the component. Suggestions for enhancements are greatly encouraged and can be sent to This e-mail address is being protected from spambots. You need JavaScript enabled to view it - all money raised from the modules and plugins that I'm writing go directly to my beer and poker fund, as my wife only lets me out to play with what I earn on my own (it's okay, she gets to buy shoes with what she earns on her own). There are likely quite a few things that can be coded into this, so I expect this component to grow and be continuously enhanced over its lifetime, so do be aware that you will be able to suggest improvements and get updates for the lifetime of the component!

To purchase MIMailQ, simply register an account here at Ambler Media and then select the Purchase menu option at top (the menu option will be visible once you are logged in).

What follows is the example code for adding a message to the mail queue. For JomSocial, I searched for any place in the code where mail was sent to JomSocial's queue and used this code, instead. Remember, using this component as your site's mail queue means that you'll be changing core code any place you want to use it. For me, that meant making changes to JomSocial's core code, as well as the mail sending code in JomComment (I also added the ability for JomComment to be used for other components like my custom photo gallery), MyBlog, and K2. In short, if you're comfortable with Joomla code (or have a developer who is), making these changes is reasonably easy. If you're not, this will be outside of the scope of your site.

/*
* This is example code for integrating the MIMailQ component into your Joomla application
* to use it for the queueing and sending of email. We use the JComponentHelper to
* determine if MIMailQ is installed and active. You should do this, especially if you
* distribute your code, as not everyone will have MIMailQ. Be sure to include alternative
* ways to queue or send mail if this call returns false.
*
* We then create an instance of the model directly. Yes, you can also use getModel()
* if you wish.
*
* The values shown in creating the $replaces array are examples. In the case of the
* RECIPIENTUID and the uid that we're sending to (stored in $uid), you will see numeric
* literals are shown by example. Presumably, you will have these in some variable.
*
* Every item in the $replaces array will be used as a replacement matrix if you specify
* a template to be used instead of giving the message body in $body.
*/

if (JComponentHelper::isEnabled('com_mimailq'))
{
require_once(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_mimailq' . DS . 'models' . DS . 'mimailq.php');

$mimailq = new mimailqModelMimailq();

$link = '/foo/bar/baz';

$replaces = array(
'%PICTUREURL%' => $link,
'%UPLOADERNAME%' => 'Some Dude',
'%RECIPIENTUID%' => 64);

$subject = 'New photo by ' . 'Some Dude';

$uid = 62;

// function QueueMail($recipient, $cc, $bcc, $subject, $body, $template, $replaces)
//
// Note, in this case, $cc and $bcc are empty, as is $body. If you provide a template
// name, the value in $body will be ignored.

$mimailq->QueueMail($uid, '', '', $subject, '', 'newimage', $replaces);
}
Monday, 05 October 2009 15:04

MI Login

Written by Administrator

Please bookmark this page if you are purchasing this module, as this page constitutes the documentation as well.

To purchase this or any software on this site, simply create an account and then select the "Purchase" menu item at the top of the screen. After going through the PayPal process, you will find that the software you have purchased is available for you to download via the "Download" link, also in the main menu. Typically, PayPal takes 2 or 3 minutes to process your payment and automatically notify the download system to make the link available.

The MILogin Module displays JomSocial templated login and logged-in information, switching on whether a user is active as a guest or a logged-in registered user.

Please note that if you wish to style the output of this module yourself, you will need to be comfortable with JomSocial's templating system and possibly making CSS changes yourself. If you are not, you may consider arranging for someone more comfortable with this procedure to do it for you before you purchase this module.

If you feel comfortable with PHP, feel free to customize either the built-in display in helper.php or edit the templates, yourself. The distribution package includes the same images and CSS that are used on this site as well as an example pair of templates called frontpage.guests.home and frontpage.members.home for the non-logged-in and logged-in views, respectively. To use them, find them in the "templates" folder in the distribution and copy them either to your site template directory or put them in the template directory in the JomSocial component (be sure to use the correct template directory, as JomSocial comes with a few). Then change the value of the module's parameters called Guest Template and User Template. Remember, template files end in .php, but you don't use that extension when specifying a template in the parameters.

If your site visitor is not logged in, the module will display the contents of the frontpage.guests template (by default), or any template you wish to specify. The module uses JomSocial's templating system, so Joomla template overrides are properly respected if they exist. That is, if you have installed a template from RocketTheme that supports JomSocial, you might find that they have placed templates like frontpage.guests in their template's override directory. For the affinity template, for example, this file would be in /templates/rt_affinity_j15/html/com_community/frontpage.guests.php. JomSocial will look there, first, and then in its own template directory second.

If the visitor is logged in, the module will display the contents of the frontpage.members template (by default), or any template you wish to specify. Alternatively, if you choose, the module will display its built-in format, which is very similar to JomSocial's default logged-in view. Options to show karma, avatar and facebook connect are included for non-template displays, as well as the option to allow login or not. Orientation for vertical or horizontal intent is also included.

If you choose to display the built-in view for logged-in users, note that the language strings are loaded from MILogin's internal language file (placed in /language/en-GB/en-GB.mod_milogin.ini. If you wish to translate this module into another language, you will need to copy this file into the language of your choice and do your translation. My Russian is rusty and I no longer speak fluent Klingon, so English is the only language shipped. If you do translate this module, I'd be happy to include your translation in future releases, however.

The title of the module may be customized based on whether the user is logged-in or not (for example, "Join Now!" can be displayed if the user is not logged-in, and "Welcome!" if they are). If you choose to not customize this feature, the module will use the default title. If you set the module to not display a title, none will be displayed, customized or not.

In essence, this module allows the functionality of the JomSocial frontpage top module on any Joomla page (presumably the Joomla front page).  Of course, this site uses it, so you've seen it in action!

The donation for this module is $10, and contributing users will receive updates for the lifetime of the module. Suggestions for enhancements are greatly encouraged and can be sent to This e-mail address is being protected from spambots. You need JavaScript enabled to view it - all money raised from the modules and plugins that I'm writing go directly to my beer and poker fund, as my wife only lets me out to play with what I earn on my own (it's okay, she gets to buy shoes with what she earns on her own).

To purchase MILogin, simply register an account here at Ambler Media and then select the Purchase menu option at top (the menu option will be visible once you are logged in).

Monday, 05 October 2009 15:03

MI Gallery

Written by Administrator

This article will tell you about MIGallery