Welcome to CM Social Post’s documentation!¶
This documentation gives you instruction how to install and setup CM Social Post on your Joomla! website.
Contents:
Overview¶
CM Social Post is a Joomla! component developed by CMExtension, CM Social Post helps you schedule your posts to Facebook and Twitter in once place.
With CM Social Post you can post to unlimited Facebook personal timelines, Facebook pages and Twitter accounts at the same time. You can also schedule your posts to post it in future (cron job required).
CM Social Post is compatible with Joomla! 3.x, the latest version of Joomla! 3.x is recommended. CM Social Post is not compatible with Joomla! 1.x or 2.x.
CM Social Post also requires:
- A Facebook application to post to Facebook
- A Twitter application to tweet to twitter
- A Bitly application to shorten URLs with Bitly
- Cron job if you want to schedule your posts
More social networks like LinkedIn or Tumblr will be supported in future.
Install & update¶
After download CM Social Post package from our website, you just need to upload the package via Extension Manager to install. The component and the plugins are automatically installed.
To update, you just need to install the package of the new version, no extra step is required.
Facebook application¶
To post to Facebook, you need to have a Facebook application. Follow the following steps if you need to create one.
- Go to https://developers.facebook.com/, under menu item “My Apps” you click “Add a New App”.

- Select “Website” in the popup.

- Enter your application name and click “Create New Facebook App ID”.

- Select a category, click “Create App ID” button.

- Click “Settings” on the left side menu.

- Click “Add Platform” button.

- Select “Website”.

- Enter your Joomla! website’s URL.

- Switch to “Advanced” tab, you see a message about “OAuth redirect URIs”

- Scroll down and enter your website’s URL into “Valid OAuth redirect URIs” field.

- Facebook has a feature to include app’s secret to API calls for security, CM Social Post is compatible with this feature, you can set “Require App Secret” to “Yes” if you want enable this feature for your application.

Facebook personal timeline plugin¶
To be able to post to a personal account’s timeline, you need to enable “CM Social Post - Facebook social network (Timeline)” plugin.
In your back-end, go to Extensioins -> Plugins, search for “Facebook”, click “CM Social Post - Facebook social network (Timeline)” plugin to edit its settings.

Enter your application ID and your application secret into the fields, enable the plugin and save.

You can find your application ID and secret in your application’s dashbard. To get application secret you need to click “Show” button then enter your Facebook’s password.

Facebook page timeline plugin¶
To be able to post to a page’s timeline, you need to enable “CM Social Post - Facebook social network (Page)” plugin.
In your back-end, go to Extensioins -> Plugins, search for “Facebook”, click “CM Social Post - Facebook social network (Page)” plugin to edit its settings.

Enter your application ID and your application secret into the fields, enable the plugin and save.

You can find your application ID and secret in your application’s dashbard. To get application secret you need to click “Show” button then enter your Facebook’s password.

Twitter application¶
You need to create a Twitter application to be able to tweet to your Twitter accounts. You go to https://apps.twitter.com/ to create an application.
- Click “Create New App”.

- Provide the required information. Ensure you also enter your site URL in Callback URL field, otherwise callback will be disabled and you will get error when connecting to Twitter.

- After your app is created, click “Keys and Access Tokens” tab to get API key and API secret.

- Consumer key (or API key), consumer secret (API secret) are the values you need to enter in your Twitter Joomla! plugin.

Twitter plugin¶
In your back-end, go to Extensions -> Plugin, search for “CM Social Post - Twitter social network” plugin.

Edit the plugin, you set “Status” to “Enabled”, enter the API key and API secret of your Twitter application then save the plugin.

After saving the plugin, you see a new button “Get Bearer Token”, click that button to generate your application’s bearer token.

Save the plugin again to save your bearer token.

Shortening services¶
If you want to include a long URL to your post, you can’t submit your post to Twitter if your post’s length is longer than Twitter’s 140 characters limitation. A long URL could also make your post not look good.
CM Social Post gives you ability to shorten your link before submitting to social networks. You can also include Google Anylytics parameters to the URL before shortening, so you can track the sources of the visits from social networks.
There are 2 shortening services supported: is.gd and Bitly. Every service is a Joomla! plugin which is installed automatically when you install the package of CM Social Post.
Bitly¶
- To use Bitly you need to go to https://www.bitly.com/ to create a new account.
- After logging in you go to https://dev.bitly.com/ to create a new application.
- You click “My Apps” in the top menu.

- Click “Manage My Apps”.

- Click “Register an application”.

- Click “Get Registration Code” button.

- Registration code is sent to your email address.

- Click the link in the email Bitly, you are taken to the form to finish creating your application. Enter your application’s name and description, your Joomla! site’s URL into the form.

- After creating application, you are given client ID and client secret. Enter your account’s password and click “Generate Token” button to generate a generic access token.

- Now you have client ID, client secret and generic access token, you enter these values into CM Social Post’s Bitly Joomla! plugin.
- Go to Extensions -> Plugins, search for “bitly”, click on the plugin’s name “CM Social Post - Bitly shortening service” to edit its settings.

- Enter your client ID, client secret and generic access token. Select the Bitly’s domain which you want to use. If you setup Bitly to use your own domain, enter your domain in ”... or use a custom domain” field.

is.gd¶
Go to Extensions -> Plugins, search “CM Social Post - is.gd shortening service”.

In the plugin’s setting form, you select the domain you want to use in “Domain” option.

Component configuration¶
In your Joomla! back-end, click “CM Social Post” under “Components” menu item. The default page is the list of posts.

Click “Options” button on the toolbar to access the component’s configuration.
Post list¶

- Message limit: Truncate message in post list if message’s length is longer than this limit.
Statistics¶

- Update interval (minutues): Update statistics of a social network’s post (likes, shares,...) if its last updated time is older than this update interval value from the current time.
UTM tracking¶
Settings for the default Google Analytics UTM tracking’s parameters in post’s link. You can override the UTM parameters for every post.

Cron job¶

Key: This key is string which is included in your cron job’s URL. It is for ensuring you are the only one who can run cron job. The cron job URL looks like:
http://www.yoursite.com/index.php?option=com_cmsocialpost&task=submit&key=YOUR_KEY_HERE.
Posts¶
Create new post¶
To post to social network accounts, you click “Posts” menu item in the left submenu.

Click “New” button on the toolbar to create a new post.

Select the social network account you want to post to in “Social network accounts” option. Enter the message you want to post to social networks in “Message” field. Because every social networks has a limitation for message length, so the maximum characters you can enter for your message depends on the selected social networks.
If you want to attach a photo, select your photo in “Photo” option.
If you want to include a link in your post, you enter the link into “Link” field. If you want to shorten the link before submitting your post, you set “Shorten link” option to “Yes”. There are another option displayed for selecting what URL shorten service you want to use.

If you want to add UTM tracking parameters to your link before shortening it, you enter them into “utm_term”, “utm_content”, “utm_campaign” and “utm_medium” fields. utm_source is set in social network accounts.
Click “Generate short URL”, shorten URLs for every selected social network accounts will be created with UTM parameters included.

In “Post” option, select “Now” if you want to submit your post to social networks immediately, after you save your post, it will be sent to social networks.

If you select “Schedule”, you need to select when you want to post.

Note that your post is sent at the selected date and time or not depends on how often your cron job runs. For example if you configure to submit your post at 10:10 and you configure for your cron job to run every 15 minutes, then your post will be submitted at 10:15, not 10:10.
If you select “Add to queue”, your post will be submitted the next time your cron job runs.
Post list¶
The post list contains the posts that you create and the status of its submissions to the selected social networks.

For every submission, there are 4 columns of icons next to the account name:
- The first column is the status of the submission, successful or failed.
- The second column is the number of “likes” for this post. Depending on social networkm the name of this statistic is different, for Facebook it is “Like”, for Twitter it is “Favourite”.
- The third icon is the number of “shares” for this post. This is “Share” for Facebook and “Retweet” for Twitter.
- If the post is submitted successfully, the forth icon is a link which opens the post in a new web browser. If the post’s submission is failed, the forth icon is a link which you can use to resubmit the post.
On the right edge of the post list, there is a link icon displayed if you add a link to your post, there is also an image displayed there if you include image in your post.
View submissions¶
Submissions page lists the post you submit for information purpose. It is similar to post list but it gives you ability to filter the submissions for a specific social network.

Cron jobs¶
Command line¶
If your hosting allows you to setup and run cron job, you can create cron job to submit scheduled and queued posts of CM Social Post automatically.
You need to execute the file cmsocialpost_submit.php in “cli” folder of your Joomla! installation.
For example, with SiteGround hosting, you need to execute this command in your cron job:
php path/to/your/joomla/cli/cmsocialpost_submit.php
With hosting which uses CloudLinux, you need to run:
php5-cli path/to/your/joomla/cli/cmsocialpost_submit.php
You may need to contact your hosting’s support staff to know what PHP command you need to run.
By default, there are only 10 posts submitted. If you want to increase this value, you can add “–limit=X” to the command, “X” is a number (there are 2 dashes in front of “limit”).
For example, to submit 50 posts:
php path/to/your/joomla/cli/cmsocialpost_submit.php --limit=50
In order to post images to Facebook, you need to edit your configuration.php file in your Joomla! root folder, change the line:
public $live_site = '';
to:
public $live_site = 'http://www.yoursite.com/';
Change “http://www.yoursite.com/” to your site’s address. The reason of this is in command line environment, Joomla! can’t get your site’s address, so we need store your site’s address then retrieve it to create image’s URL.
Web based¶
If your hosting doesn’t support cron job, you can use any web based cron job services. You need to access this URL in your cron job:
http://www.yoursite.com/index.php?option=com_cmsocialpost&task=submit&key=YOUR_KEY
“YOUR_KEY” is the key your set in CM Social Post’s configuration.
Please contact your cron job service to know how to setup cron job.
Social network accounts¶
After configuring the social network plugins, you need to configure what social network accounts you want to submit posts to.
Click “Accounts” on the left submenu of CM Social Post to access account list.
Click “New” button on the toolbar to create a new account.
If you want to track clicks for the posts of the current social network account in Google Analytics, you enter UTM source paramenter in “utm_source” option.
Facebook page¶
To create an account for Facebook page, you select “Facebook (Page)” in “Social network” option.
Switch to “Authorization” tab, click “Get pages” button to retrieve the pages which you manage.
Click “Ok” in the next steps to give your application permissions to retrieve your pages and your info. You can ignore the “Submit for review” message because you don’t publish your application for other people to use.
After being redirected back to your Joomla! webiste, you select one of your Facebook pages then save the account.
The current selected page is displayed in “Authorization” tab, to switch to other Facebook page, you click “Get pages” button to get your pages and select a new one.
Facebook personal¶
To create an account for Facebook personal account, you select “Facebook (Timeline)” in “Social network” option.
Switch to “Authorization” tab, click “Authorize” button to authorize your Facebook account.
Click “Ok” in the next steps to give your application permissions to retrieve your info. You can ignore the “Submit for review” message because you don’t publish your application for other people to use.
If your current logged-in Facebook account is not the account you used to create your Facebook application, you can see this error:
To fix this issue, you go to your application’s dashboard, click “Roles” in the left menu.
Add the Facebook personal accounts which you want to allow them to use your application as testers.
Go back to Joomla! and authorize, then save the account.
Twitter¶
To create an account for your Twitter account, you select “Twitter” in “Social network” option.
Switch to “Authorization” tab, click “Authorize” button to authorize your Twitter account.
After authorization, you save the account to save your access token.