Troubleshooting

By default, AutoTweetNG only processes new content items. Content modification can be enabled at plugin level to be received.

For example, if articles are initially created as unpublished and, in a second instance, modified to be published, then they are not processed. To enabled article modifications, in System - AutotweetContent plugin, Posting filter/Process modifications=Yes. This setting is a general method to publish all content modifications.

When Process modifications is enabled, every time you save, a new 'modified' event is fired and a new request is added in a 60-seconds window. You can increase this window to add a delay, deliver fewer requests and sum all changes in a single request (Options/Advanced/Content Polling/Minimum requests polling delay).

On the other hand, Joocial has an interactive tool Post manager to choose when an article has to be pushed (Post This=Yes) into the publishing queue (or not, Post This=No). Joocial - Post This

Ref: How content can be republished?

AutoTweet and Joocial are designed to avoid any overload on your website while it processes social posts. Hence, there is always a delayed publication, caused by Social Channel API processing times. By default, in Page Load mode, only when front pages are visited, Requests and Posts are processed by the Automator plugin (every 2-3 minutes).

The processing modes are:

  • Manual,
  • Automator Plugin (default), or
  • CRON job task (available only in AutoTweetNG PRO and Joocial).

Running in Automator Plugin mode (default), posts are only processed when the front website is visited. If your site does not have visits on the front site, AutoTweet does not process waiting requests and posts.

On the other hand, you can manually click Process for Requests or Publish for Posts to publish them, or schedule a CRON job task to work in fixed intervals.

If you plan to configure the CRON job task, please, check these steps:

AutoTweet detects new articles even if they are inserted from others third-party extensions.

However, since AutoTweet checks the database applying time filters, new articles have to be published within a certain date range.

If the articles are not detected, please, try to increase the polling window to include a bigger date range.

You can find the Polling window (hours) parameter in: Control Panel / Options / Advanced settings / Content Polling Settings / Polling window (hours).

After you change the parameter, it is going to retrieve the articles, within the new polling window, in the next check.

If the time difference is the same, then your hosting could have time zone misconfiguration.

For instance, this misconfiguration was found in a customer site:

  • Joomla Server Time Zone = UTC
  • System Information/ PHP Information/ PHP date Default timezone = UTC
  • System Information/ PHP Information/ PHP date.timezone = America/Chicago (UTC-6, Daylight Saving Time, UTC-5)

Please, verify if each setting matches your Joomla! configuration and ask your hosting provider to update PHP Information.

In Joocial, Post This "Immediately" defines a request and a following post with the highest priority to be processed in the first place. Once a request is received, it follows the same steps of the general workflow. For example, to apply all rules and deliver the posts to all (unlimited) channels. The publishing process can be long and "Immediately" can be translated to several processing steps according to your configuration.

To deliver "Immediate" posts faster, you can increase the Cron job frequency or increase the number of processed posts in each execution (Options/ Cron job/ Max. no. of posts).

It is not recommended to define URLs with spaces.

A local file can have spaces. However, a valid URL encodes space with %20 or +. Both cases are accepted in different ways in each social network, browser and device. In the end, it is better to avoid them. For instance, an article title is always translated to a slug with - instead of spaces. The same practice has to be applied to image filenames.

There are several alternative execution methods. Please, check which method works in your hosting, review hosting documentation or ask to your hosting support which method is available.

To check if Cron job command is executing, you can enable the logging mode and look for periodic executions. If they are missing, not matching your Cron job frequency definition, then it is not executing at all.

AutoTweeNG and Joocial are fully compatible with UTF8 and non-latin characters. Many users work with languages such as Greek, Russian, Chinese, among others.

However, PHP and MySQL UTF8 support have improved on the latest versions.

Wrong character encoding is usually associated with a legacy PHP version. Most issues are associated with PHP 5.3. What is your PHP version?

Please, update to the latest PHP stable version. At this time, PHP 5.5 or superior. PHP 5.6 is the version currently packaged in most server distributions.

See There are requests on the list, waiting to be published, but they are not delivered, why?

Check if the article, category and menu are set to public access. If not, the user has to login to read the article.

Alternatively, if there is more than one menu access path, the SEF router may be choosing the restricted access. In this case, review your extension configuration or re-organize the alternative accesses to route the traffic to the right menu.

AutoTweet and Joocial generate Posts in the backend. Since front-end and back-end sites are different sites, a connection is opened from back-end site to the front-end site to solve the SEF query and generate the link.

If there is any issue in the SEF query, then the resulting shortened URL may be different than the real link.

To investigate the case, please, enable the logging mode, test a case and send us the resulting logged file to check it.

This is an issue at server level. The server has not temporally been able to open a connection to the social network servers for more than 10 seconds.

You can just wait until the issue resolves itself. Sometimes, network issues are caused by traffic congestion, even beyond your hosting provider control. Otherwise, please, ask your hosting support if there is any connection problem.

Facebook has released API 2.11. It includes a new restriction to publish only posts from the authors who own a Page and an associated domain.

As of November 7, 2017, link customization is available however the link must be owned by the posting page and a page access token is required. ... See our Link Ownership Guide

To know more about the steps to claim the ownership of a domain, please, visit this page: Facebook Link Ownership Guide

  • REF: Facebook shows a post with a blank rectangle
  • REF: Facebook shows the wrong description, why?

UPDATE: On July 18th, 2017, Facebook changed how the post fields are loaded. Since this date, when you share a link with Facebook API, the value of picture, name, caption, thumbnail, description is taken ONLY from the OpenGraph Tags. This change has already been reported as a bug, for more information: On sharing a URL the picture, name, caption, thumbnail and description set manually is ignored. At this time, it is strongly recommended implementing OpenGraph Tags.

At this time, Facebook ignores the image that AutoTweet defines in the API call and loads the image and other fields directly from the link. Facebook reads OpenGraph Tags and uses these tags to retrieve the page information. To guide Facebook in the choice of the image, we recommend installing and configuring AutoTweet NG OpenGraph Tags plugin. The latest version of the plugin comen with the Smart Generator to generate exactly the righ tags for each link associated with a processed post.

If it is not the image that you expect, it could be the image defined as default image in the general Options configuration.

If Facebook is not able to load the specified Post image, it loads alternative images or a blank rectangle. For instance, a customer has restricted external images access in the internal pages of the site and only allowed access to the Home images. Then, Facebook has detected images from the Home page and included one of them in the Post.

Images must be bigger than 200x200px. These are the recommended image sizes: Facebook Layouts Guide, how to publish Big Pictures. For instance, test with this sample image (http://lorempixel.com/output/technics-q-c-720-375-2.jpg). For maximum compatibility, remember to use only alphanumeric characters in the file name. Spaces and special characters are frequently a source of problems.

http://lorempixel.com/output/technics-q-c-720-375-2.jpg

To check these cases, you can test them with Facebook Sharing Debugger. This tool shows how the image is accessed from Facebook servers: https://developers.facebook.com/tools/debug/sharing/

As a reference, Facebook Sharing Debugger output for an image must show the image like this one: https://developers.facebook.com/tools/debug/sharing/?q=http%3A%2F%2Florempixel.com%2Foutput%2Fabstract-q-c-640-480-1.jpg. If your test does not show the image in the Link Preview, then Facebook cannot load it. In some way, it is being blocked. You can verify any URL, or an image, and get results about how Facebook scrapes your site. It should always get a Response Code 20x and show a Link Preview.

If you have added additional restrictions to htaccess or robots.txt, please, try to restore the original Joomla htaccess and robots.txt. If the problem remains, ask to your hosting provider what can be happening (mod_security?).

If you are running on an old Facebook App, then you may receive this error message creating new Facebook channels. Facebook automatically updates App versions following a schedule.

Still, it is possible to receive this error message if the App has not been updated. In this case, we recommend you to create a new Facebook App for your new channels.

Which is the API version of my app

In the most recent Joocial update, we have integrated Facebook Instant Articles and the latest Facebook SDK for PHP. This new feature requires Facebook API v2.5 or superior. Ref: Facebook Platform Changelog

  • Your new Facebook Instant Articles channel requires an App, running Graph API v2.5 or superior.
  • The rest of your Facebook channels are not affected by the new libraries and features.

Facebook has applied a rate limit to your account. So, the only way to solve this issue is reducing or distributing the load. For more information:

Particularly, Improving Rate Limits for Page Management Apps

If you are sharing requests to the page between several tools or apps, then it could be hitting the limit.

In any case, we recommend to start checking your Apps following the Facebook Channel Re-Authorization Procedure.

Facebook has just released API 2.4, on July 8, 2015. As usual, it brings tweaks on the API.

Unsupported get request - Facebook has released API 2.4

To solve the error, please, update to the latest AutoTweet 7.9.3 or Joocial 7.9.3. Alternatively, you can update to AutoTweet 8.0.1 Beta 1 or Joocial 8.0.1 Beta 1 for Joomla 3.4.

Facebook has started updating Apps running API 1.0 to API 2.3, following the Platform Changelog.

Facebook is updating Apps to the API 2.3 on April 30, 2015

If you have any of these errors:

  • (#283) Requires extended permission: manage_pages
  • (#200) Requires extended permission
  • (#200) The user hasn’t authorized the application to perform this action

Then, please, update to AutoTweetNG or Joocial 7.8.0 (or superior) and proceed to re-authorize Facebook channels.

UPDATE: Facebook has just fixed a bug 380833342117530 affecting certain Apps, related with the API 2.3 update.

Reference: Graph API v1.0 Deprecation

  1. Log in to your Facebook Account and remove the App from your Account: Account Settings / Apps Account Settings / Apps
  2. Logout from Facebook. Close your Browser (to finish the session and clear the session cache). Alternatively, you can open a New Private/Incognito Window
  3. Log in to your Joomla! Backend and authorize the channel as shown in this tutorial.

Q: I discovered that none of the posts from autotweet were showing up or visible on my Facebook page unless I was logged in as admin. Which is the problem?

A: If Your Own Facebook App is in development mode, only App developers can read the posts. Please, enable it to Live mode.

  1. Go to https://developers.facebook.com/
  2. Click on the Apps menu on the top bar.
  3. Select the particular app from the drop down.
  4. Go to 'Status & Review' from the table on the left side of the page.
  5. Do you want to make this app and all its live features available to the general public? - Select switch to set YES/NO value.

Tutorial: How to AutoTweet from Joomla in 5 minutes

Reference: StackOverflow: The developers of this app have not set up this app properly for Facebook Login?

Facebook has reorganized the development workflow to clarify use cases. This step has added new permissions and the way to work and publish content. Facebook has greatly improved to manage administrators, developers and testers.

In the most common development scenario:

  • A Facebook user (Admin) creates a Facebook Page
  • A Facebook user (Administrator) creates a Facebook App
  • In Joomla!, you create an AutoTweet channel, associating the Facebook App and Facebook Page as the content target. The authorization is granted by the same Facebook user.

In the current Facebook user management model, you cannot have separate users for development or production. Now, it is possible to define a development Team in the "Roles" area and testing-specific Apps for your main App. You can manage users and roles, and also define a testing sub-application.

There are other Facebook use cases, besides content publishing, where regular users (not members of your team) can authorize an App with extended permissions. These cases require a Facebook audit and approval.

To sum up, all your users have to be defined under the App "Roles" to define a team (for example your account as an owner is an administrator) and your testing has to be done with a "Test App".

Finally, if you have a multi-vendor site or community auto-posting site (where you do not know your users, they are just registered users - certainly not in your Facebook contacts - ), then you have to apply for Facebook audit and comply with their requirements.

Facebook has recently restricted this operation. Facebook API 2.4 (and superior) does not allow to publish into groups where you are only a member.

Until Facebook API 2.3, it was possible to read all groups where a user is a member, user_groups permission. So, it was possible to publish to any of them. But, in the latest 2.4, Facebook introduced user_managed_groups permission and removed user_groups. Now, it is only possible to address managed groups via API.

Ref: Changes from v2.3 to v2.4 - 90-day deprecation (effective Tuesday, October 6, 2015)

Facebook has updated its Comment Ranking. Please, disable in your Page Settings/General/Comment Ranking/See most relevant comments by default.

Q: If I try to authorize the Facebook App, I get this error "App Not Setup: The developers ..."

A: The App is not enabled for the general public. Please, check the previous answer.

It is a side effect of Facebook Platform API v2.0 upgrade. A new access token must be generated for the target channel to solve it.

Please, follow these steps to generate a new authorization token for the target channel:

  1. Re-authorize the Facebook App
  2. Unpublish the previous Facebook Channel
  3. Create a new Facebook Channel, authorize and validate it and,
  4. Select the target and validate it
  5. Save

Alternatively, to avoid creating a new channel, but refreshing the current target token:

  1. Re-authorize the Facebook App
  2. Access the current channel, authorize and validate it
  3. Select a different target (not the current target), validate it and save
  4. Access the current channel again, validate it again (just to be sure)
  5. Select the final target, validate it and save

Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.

Please, review you App Configuration. Fill the App Domain to exactly match your site (www or https do matter). If there is any mismatch, it is a different domain.

Your application MUST have the right parameters:

  • App Domains
  • Contact Email
  • Site URL

Your App must be exactly like this slide: https://docs.google.com/presentation/d/16hGWWGq1IeAZcAkSd8BqnzS2dBDCoC42om6O4bs8gKg/edit#slide=id.g3720af4bb_2612

Besides, if you have enabled Settings / Migrations / Stream post URL security: Links in stream posts must go to app's Canvas or Website URL.

Facebook Groups posts have stricter requirements than regular posts. Posts links must match your App domains defined in the Facebook App.

Posts links must direct to the Website URL or Canvas URL.

To solve it, you can simply configure your Website URL in Facebook App. Additionally, you can also configure a Canvas URL.

Alternatively, please, verify if your Facebook App has Stream post URL security (Settings / Migrations) enabled. With this restriction, links in stream posts must go to app's Canvas or Website URL in all cases.

If you are wondering why when you authorize a Facebook App, you get this message:

The following permissions have not been approved for use and will not be shown to people using APP NAME: manage_pages, publish_actions, user_events, user_groups, user_photos and user_videos. Submit them for review or learn more.

The following permissions have not been approved for use and will not be shown to people

There's a reason..... Yes, Facebook has launched a new API version a.k.a Facebook API Version 2.0 (Facebook Platform Upgrade Guide). After this change, the authorization window show this alert to warn final users.

Since you are authorizing this app as a member of the App management team, you can proceed with authorization as usual.

If you plan to allow other users to authorize the App, then you must join your Facebook friends as new members of the app development team, or (if the users are not your Friends) ask for a Facebook review to validate your use case.

Related:

  • 0 - This message contains content that has been blocked by our security systems

Facebook has detected an issue on your submitted content.

You can inspect the link with Facebook Debug tool, to verify how Facebook scrapes your site: http://developers.facebook.com/tools/debug

Additionally, you can check your website versus a URI Blacklist database, like http://www.uribl.com/.

If you are on a shared hosting platform, your supplier may be hosting an unsavory character along with you. If your host is on this list, the easiest thing to do is to move to a more reputable host.

Finally, Facebook may be detecting an insecure practice:

  • 301 redirects
  • Out-of-date CMS software
  • Open mail relays
  • Ads from a known spammer
  • Compromised sites or malware

Ref: Security Checklist/You have been hacked or defaced https://docs.joomla.org/Security_Checklist/You_have_been_hacked_or_defaced

In some sites, we have found this odd Twitter error code. In some way related to an issue on image upload and a Twitter API bug. We have implemented and released a workaround.

To enable the workaround, please, activate it in Control Panel, Options / Advanced / Channel Debugging - Alternative Image Load = YES and process the messages again.

Twitter is not allowing your content to be added to its platform. This message is coming from the new Twitter’s spam protection mechanism. There are several possible causes, for instance:

  • Twitter App is sending the same Tweet multiple times to several timelines.
  • Twitter suspects the account or hosting is possibly compromised.
  • Twitter spam filters may be just rejecting the content itself.

Please, try to reduce the number of Tweets, the target channels, or change the message format for each channel.

If you are not particularly flooding your timeline with test tweets, then someone in your neighborhood (in the same hosting or IP) might be a spammer. In this case, Twitter has banned the whole server and there is not much else to do.

Ref: Error Code 226 - This request looks like it might be automated

We constantly monitor and adjust our filters to block spam and malicious activity on the Twitter platform. These systems are tuned in real-time. If you get this response, our systems have flagged the Tweet or DM as possibly fitting this profile. If you feel that the Tweet or DM you attempted to create was flagged in error, please report the details around that to us by filing a ticket at https://support.twitter.com/forms.

Filing a ticket at the above URL is the best course of action to resolve any false positives we may be seeing in these detection efforts.

Originally, tweets had an exact 140 characters limit. Nowadays, the character counting takes into account attached images, hashtags, URLs, Unicode, etc. Each element has a weight in "characters". Reference: Character Counting

AutoTweet and Joocial character counting closely resembles Twitter character counting. However, in some configurations, tweets can exceed the 140 "characters" limit and the "Status is over 140 characters" error is received.

Objects weights can be adjusted to solve this error. By default, in AutoTweet and Joocial component Options / Advanced Settings, URL Weight = 23 and Media Weight = 24. Please, try to add a couple of more characters to Media or URL Weight according to your requirements.

Additionally, you can try to reduce the static texts added to the tweet from rules or plugins.

Finally, Twitter adds further penalties when many hashtags are present in tweets. Please, restrict hashtags to one main idea.

Your server is unable to find Twitter API server. This is related to a network issue.

Please, check with your server support if this a general server issue, or it was a temporary problem. If your hosting provider is having problems with the DNS service, then it can be intermittent.

To retry a request, in the Requests list, you can move the Request back to Processed=No, and wait until the next execution to check. In Posts list, you can filter for the specific channel posts and Status=Error, then you can move them back to "Pending" (for manual approval) or "Waiting" (for Cronjob processing).

Twitter does not accept images bigger than 1MB, and rejects them with this error. Please, submit only tweets with images smaller than 1MB.

Forbidden: bot is not a member of the channel chat 

Telegram has recently modified the procedure to authorize a Bot to publish into a Channel. Now, it is required to add the bot as a member and administrator to the channel.

Please, follow these steps. In any Telegram client:

  1. Open Channel info (in app title)
  2. Choose Administrators
  3. Add Administrator
  4. There will be no bots in the contact list, so you need to search for it.
  5. Enter your bot’s username
  6. Clicking on it, you make it as administrator.

Ref: AutoTweetNG Joocial: auto-posting to Telegram

The error is caused by any difference or an uninitialized Authorized Redirection URLs field. Have you added all of your URLs in the list of URLs permanently?

Some common mistakes are:

  • You define the Url, but forget to click on Add button
  • http vs https
  • space at the beginning/end
  • www or not www

Ref: How to AutoTweet from Joomla in 5 minutes - Add channel / LinkedIn

401 - [unauthorized]. Expired access token.

By default, LinkedIn Tokens has a duration of 2 months.

However, in some cases, LinkedIn token expires unexpectedly. The reasons are not clear. The expiration could be caused by:

  • The user has revoked the permission they initially granted to your application
  • You have changed the member permissions (scope) your application is requesting

Additionally, if you change your password, or other software is using the same App, then the token can expire before 2 months.

In some cases, we find that if you access your LinkedIn account frequently, then the token never expires. This is not a written rule, only a finding of our work for some projects.

Please, proceed to reauthorize your LinkedIn channel.

Concerning to the second error "Invalid redirect URI", there is a mismatch between your site and your LinkedIn App, please, check this slide:

Add channel / LinkedIn https://docs.google.com/presentation/d/16hGWWGq1IeAZcAkSd8BqnzS2dBDCoC42om6O4bs8gKg/edit#slide=id.gf54ab197_010

Your Authorized Redirect URL must be permanently added to the list and match your site.

When you authorize the channel and give your approval in LinkedIn, the social networks sends a temporary code to your site.

In the second leg of the authorization, the temporary code is exchanged to the final access token by Joocial. If the extension cannot open a connection to LinkedIn servers, then this error is received: Error: Could not get access token.

Please, ask to your hosting provider is there is any security restriction to call https://api.linkedin.com.

LinkedIn is not accepting more activities from your account. Please, try to reduce your activity to avoid this error, every connected App consumes API calls.

Reference: Throttle Limits, https://developer.linkedin.com/documents/throttle-limits

Please, remove JavaScript Origins from Client ID or Referers from Key for browser applications, and try again. It must be none and Any referer allowed for each one.

You do NOT have to write anything and Any referer allowed in the fields, you have to clear these fields, removing any entered value.

Your Client ID and Key for browser application must exactly match this slide:

Tutorial: Publishing to Google+ Profiles and Pages / How to configure

The domain must be exactly the same back-end URL. www... does matter, if there is a minor difference, even just www, it is a whole different security domain.

Additionally, check if you have copy-pasted additional spaces, for instance in the Client Secret field.

Finally, make sure that you have following APIs are enabled in https://console.developers.google.com, under "APIs":

  • Google+ API
  • Contacts API (just in case, it is not always required)

Ref: Google+ - What are the steps to authorize the channel?

The error is caused by any minor difference in the App Redirect Uri definition. For example:

  • http vs. https
  • space at the beginning/end
  • www or not www

Please, delete the channel, remove the App from your authorized Apps (https://plus.google.com/u/0/apps), access your site with a different browser (or with a Private Tab), recreate the channel and try to authorize it again.

Please, check these FAQs about the topic:

The Moments API is no longer supported by Google as of May 29th, 2015.

Reference: Moments | Google+ Platform for Web | Google Developers

Google+ has recently disabled all publishing APIs. Google+ is not longer a product in active development. Google has been de-activating each of the original integrations and focusing efforts on other products.

To overcome this limitation, we have just introduced Joocial Composer App with mobile sharing. In this way, a social media manager can select processed posts and manually re-share them into the managed channels. Joocial Composer App, mobile sharing

Related news:

Google+ does not currently support Posts (in the same sense than Facebook or other social networks). They provide Moments, associated with an App. In a semi-automatic way, you can share them as Posts in your timeline or your company page.

There are other scripting solutions based on "unofficial" libraries. These "workarounds" can stop working without notice, and they are very time-consuming. As there is no official API, workarounds impersonate a user to send a Post. These operations are explicitly forbidden by Social Networks Terms of Service. Instead of implement an API Token, they require the user password (weak security) to send information. We only implement official APIs, as the safest path to provide a stable product.

Finally, Google+ has an API, but it is restricted for Partners. The Pages API is only approved by Google case by case: https://developers.google.com/+/api/pages-signup

To overcome this limitation, we have just introduced Joocial Composer App with mobile sharing. In this way, a social media manager can select processed posts and manually re-share them into the managed channels. Joocial Composer App, mobile sharing

We are proud to be compared with Hootsuite. In spite of this, this is Joomla! extension. You install it on your site and Google authorizes API access, features and rights to you according to the general terms of service.

On the other hand, Google has a Partner API. As you are not a Google partner, you do not have access to the Partner API, with extended features.

To overcome this limitation, we have just introduced Joocial Composer App with mobile sharing. In this way, a social media manager can select processed posts and manually re-share them into the managed channels. Joocial Composer App, mobile sharing

AutoTweet includes a component, modules, core plugins, and optional plugins. AutoTweet component, modules, and core plugins are updated by Joomla! Extensions installer. But, AutoTweet optional plugins, which are manually installed, must also be manually updated following the same procedure.

After an AutoTweet update, please, verify if you have installed the latest version of the optional plugins. You can find them in the same AutoTweet version package UNZIPME-autotweetng-.....zip.

You can also check the latest versions in AutoTweet / System Check, or in the Compatibility Chart for AutoTweetNG and Joocial.

Please, check the content flow:

  1. Plugin: Is the plugin activated? Have you enabled any plugin filter? Please, try to disable them just to check.
  2. Request: are they processed? Are they waiting?

Q: There are requests on the list, waiting to be published, but they are not delivered, why?

  1. Rules: Have you created rules? Please, try to disable them just to check if they are affecting the processing.
  2. Posts: are they published into the channel?

If these basic tips do not solve the issue, please try to enable the logging mode to inspect the internal processing.

In any case, if you cannot solve the case, please, send us the logged file to our support service to review it.

Error message: "loading" or "Requesting channel data"

There is an HTML/JavaScript error caused by a site misconfiguration or a security restriction in your site.

The channel manager loads the channel type sub-form with an Ajax query to your back-end site. If the form cannot be retrieve, the "loading" message is not replaced by the right sub-form.

There are several hosting issues that can generate this behavior:

  • Directory Permissions, check if Joomla! directory permissions are Writable (System/System Information/Directory Permissions). Particularly, media/lib_extly/tmp directory.
  • JavaScript errors, if there is any JavaScript error, the form load is not going to be completed.
  • HTML errors, your site does not have a valid HTML body structure. Please, try to locate the source of the invalid HTML page.
  • Advanced optimization techniques, several layers of compression can interfere with JavaScript and Html code. Please, check your hosting configuration to discover the problem source (disabling one by one). For instance, CloudFlare, PageSpeed, RokBooster, etc.
  • Security restrictions, if there is a restriction to back-end Ajax queries, then connections are not going to be successfully completed. For example, mod_security can disable this queries, please, try to disable mod_security or any other security mechanism temporarily.
  • JomSocial Azrul's plugin adds a JavaScript routine to the whole site. Please, try to disable this plugin.

In addition, you can inspect your browser console to discover if there is a JavaScript error behind. Press Control-Shift-J, and access the page to discover any HTML/JavaScript error.

References

This is an issue at server level. The server cannot connect to the social network servers. For example, api.linkedin.com.

Please, ask your hosting for support if there is any connection problem to LinkedIn servers api.linkedin.com.

Additionally, it could be a transitory problem. Some hosting providers do not even warn users when they implement changes or have network outages. Please, wait 1 hour and manually try to publish the post again (or monitor if the issue solves by itself in the next posts).

This is also an issue at server level. The server cannot send and receive data connected to the social network servers. For instance, your hosting provider is specifically blocking inbound communication to api.twitter.com.

Please, ask your hosting for support if there is any connection problem/restriction to Twitter servers api.twitter.com.

Q: Channel name is a mandatory field, However, even if you fill the name, this error is reported. Why?

A: When you try to create a channel, you fill the channel name, BUT when you save it, you get The channel requires a name message.

Diagnose: There is an issue in your server configuration, related with the database setup.

For instance, in a Windows server 2008 with a MySQL v5.1, a customer reported that a difference in the database prefix caused this error. The database prefix in the Joomla! config file was in uppercase, and the actual database prefix was in lowercase.

Alternatively, you had an old AutoTweetNG installation, but the update to the latest version failed to change the tables.

Solution: Please, proceed with a full installation:

  1. Review your current configuration, and take note of your channels
  2. Uninstall the component
  3. Manually remove tables from the database (#__autotweet*)
  4. Clear the cache (in particular cache/fof)
  5. Install the extension again

Q: I have an extension that imports articles from RSS feeds, but AutoTweet does not see those posts. Is there a way to make it so autotweetng will post all new articles regardless of how they are created on the site?

A: AutoTweet detects the new articles, but they have to be published and within a certain date range. Are you importing articles with the today's date or older articles?

Please, try to adjust the Polling window (hours) to load older articles (Control Panel / Options / Advanced Settings / Content Polling Settings / Polling window ), by default it is defined as 24 hours window.

This error is found when the RSS library cannot process and parse the Feed type.

Please, double check the RSS Url, or try to load it with a different RSS reader.

The RSS Url must be a valid XML. You can check it with https://validator.w3.org

If you are sure that the RSS Url is fine, you know what the source site is generating it with Joomla and the site has Admin Tools, please, disable Malicious User Agent block (MUAShield). (WAF / Active Request Filtering). More info about the issue, #26809 – MUA Shield blocking Simple Pie requests.

A timestamp difference signals that your server clock is not updated. Facebook, Twitter, etc are not going to accept your server-side OAuth authentication. Please, check with your hosting provider to update the server clock.

In System Check, if the timestamp difference is a small, less than 10 seconds, then it should not affect the OAuth authentication. It may be caused by server virtualization or networking delays.

Server timestamp is not related with Joomla! time/timezone or User timezone. Server timestamp is universally defined as the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970. Unix time is not defined according to time zones. Read more, http://en.wikipedia.org/wiki/Unix_time.

Concerning to Timestamp difference (998), you have disabled "Version check (Offline mode)" (Control Panel / Options / Live Update tab). In this mode, Timestamp is not checked and it just shows 998. Please, try to enable it again just to check your site Timestamp.

Concerning to Timestamp difference (999), AutoTweet is unable to verify the timestamp. AutoTweet opens an external connection to verify the server time. Particularly, it opens a secured SSL connection, via cURL module, to Twitter servers. Please, check with your hosting provider if there is any restriction or misconfiguration to perform this basic action.

SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

This error is mainly caused by a hosting misconfiguration, validating SSL certificates. Please, ask your hosting provider to review this issue.

Once your hosting can open a secure SSL connection, it will download and install the updates.

You are running an outdated version of PHP (not stable), which is not supported by the extension. Most hosting providers already offer to upgrade to PHP 5.6.

Please upgrade to PHP 5.6 or later as soon as possible (previous PHP versions are not longer considered stable. They don't have Bug fixes, Patches, or Security issues fixes).

In general, if you upgrade from a recent version, no issues will be found. However, if you are upgrading from a legacy version, some problems might appear.

If you find a Blank page or Error page after the upgrade, or you can not access the back-end site, please, check this FAQ to regain control. Once you access the back-end site, continue with the following steps.

The installer works executing several upgrading scripts to update the site. However, due to several external factors, the upgrade might fail. In this case, we recommend to take note of your current configuration (channels, rules, and plug-ins), uninstall and install it again to clear previous settings, and be able to start over.

After you uninstall and install, settings should be cleared. However, if you experience the problem again, try to uninstall and install again. This time, the new installer will be clearing the settings, and you will be ready to start over.

  • If you have just upgraded on the same site, no change is required. AutoTweet and Joocial have the same tables structure and source code.
  • If the tables prefix have changed in the migration, you can just copy the (10) tables from Joomla 2.5 to Joomla 3.3 and rename the prefix.
  • If you have already installed the extension and all tables are empty, you can replace abc_autotweet_channels to configure the same channels.

Only migrate these 10 tables and, if it is necessary, only rename the prefix:

  • #__autotweet_advanced_attrs
  • #__autotweet_automator
  • #__autotweet_channels
  • #__autotweet_channeltypes
  • #__autotweet_feeds
  • #__autotweet_posts
  • #__autotweet_requests
  • #__autotweet_rules
  • #__autotweet_ruletypes
  • #__autotweet_targets

If you have more tables than those, they are legacy tables; then you can safely avoid to include them in the migration.

You only have to be sure that both Joomla sites have the same extension version. For example, the latest Joocial v7.6.1. If you are not sure, update again to the latest version on both sites. In this way, both tables structures are the same.

Reference: Why Migrate - Joomla! Documentation

Joomla! shows this error message when you try to update to the extension latest version.

Warning

Update path does not exist
Message

Error updating COM_INSTALLER_TYPE_TYPE_.

Live Update does not work, Update path does not exist

Joomla! cannot successfully download and install the file.

Have you assigned the Download ID? It is required to authorize downloads.

  1. Please, click here to access your Download ID.
  2. Copy and paste Download ID into component Options/Live update/Download ID field
  3. Update from "Extension Manager: Update"

If the problem persists, we have found a minor incompatibility in the latest Joomla! installer plugin, please manually download the extension and install it to update the installer plugin and the rest of the associated files. Next time, it will be updated with no errors.

To verify if the Cron job command is executing, please, enable the logging mode and check if log entries are recorded following the defined interval.

If no records are added after a while, then it is not executing.

In general, we recommend to execute the Native CRON script, but there are also many alternatives.

Since every hosting platform has its own settings, please, ask your hosting provider what is the best way, check hosting documentation or send them the command script to verify it. Sometimes, the command line requires additional permissions or a slightly different command.

When you run Autotweet in a command line context, there is no way to know the real URL domain. Base URL Override parameter must be defined to create the right URLs.

A blank white page is an error page!

Due to PHP errors, AutoTweetNG or Joocial (or any other Joomla extensions) can stop working without displaying an error, just a Blank Page. The Blank Page is caused by disabled PHP Error Reporting. This is a common security measure in production sites.

Again, a white page is just an error page where the error message has been suppressed by your configuration. Once you solve the error, the site is going to be back to the normal state.

In these cases you have to enable PHP Error Reporting to find out what the error behind the white page is:

  1. Check your server error logs (not the access logs): even when PHP Errors are disabled, they may be saved in an error log file.
  2. Joomla! Configuration - Error Reporting: go to Joomla! Administration / Global Configuration / Server, and enable "Error Reporting" to Maximum.
  3. If your site still shows a Blank Page, your hosting provider may have restricted this setting too.
  4. Additionally, if you can't access the back-end website, check the next cases.
  5. Hosting Configuration: visit CPanel, or your hosting control panel, and try to enable PHP Error Reporting in this area.
  6. Alternatively, you can ask to your Hosting Support, how to enable it.
  7. PHP Configuration: enable display_errors to "on" in php.ini

You have installed an extension (package). Joomla! is trying to load several new system plugins, a dependency is not fulfilled or there is a PHP Error in your site.

  1. If the front end website is down, Joomla! backend may work (it does not load the same plugins). Please, try to access the backend to disable the latest installed "system" plugins.
  2. If the Joomla backend is also down, access your Database and manually disable the latest installed plugins.

For example, to review the latest installed plugins from phpMyAdmin/MySQL:

SELECT * FROM `XXXX_extensions` WHERE `type`='plugin' ORDER BY `XXXX_extensions`.`extension_id`  DESC

To disable a plugin, change the enabled column to 0.

There is an alternative way to avoid a system plugin load, but it requires to access directly to website files and remove some of them. Please, proceed with the following steps:

  • Access your site directory, for example via FTP
  • Rename the latest installed system plugins folders in "[Joomla_root]/plugins/system/"

We develop and test our extensions to minimize conflicts and installation problems. However, we can't preview all environments and extensions combinations. It is also common to find very restrictive or very resource-limited hosting platforms. To avoid this problem, we recommend:

  • Always, test new software on a development site.
  • Always, create and check to have a recent backup at hand (test how to quickly restore it). Akeeba backup is a great component, and very easy to use.
  • Always, if you are going to install it in your live/production site, install it at a convenient time (Eg weekend). You can also announce a downtime window to upgrade your site, and be ready for a rollback.

The Logging Mode is a key tool to check the extension inner workings. It is a handy way to check component internals, beyond a simple error message.

You can enable several logging modes to leave a track of server-side operations.

To enable the Logging mode:

  • Access the Options menu, in Components/(Extension Name) Control Panel.
  • In the System Settings folder,
  • Enable the: Logging level (For example, 3-All)
  • And, select the Logging mode (For example, To logfile only or To logfile and screen)

Logging Mode: Developer's swiss army knife

As a result, xt-logging.log file is generated with all operations details into logs/ directory. The file is located in Joomla! temporary directory (tmp/). Please, check the file generated in logs/xt-logging.log.

To check in full detail how it is executing, you can just enable the Logging mode to show 3-All To screen only, and manually Process requests or Publish Posts.

Alternatively, xt-logging.log can be downloaded from System Check.

System Check - xt-logging.log

Unable to retrieve access token.

In the final step of the authorization, the user is redirected back to the site and AutoTweet has to retrieve the new access token.

If AutoTweet cannot open a secure (SSL) connection to retrieve the token, then the channel authorization is not completed and the same channel state is shown.

Generally, this problem is caused by a broken/outdated cURL-SSL configuration. Please, contact your hosting provider to update the installation.

As a temporary workaround, you can locate the social network library and avoid the verification adding these settings. For example, in administrator/components/com_autotweet/helpers/channels/Simple-LinkedIn/linkedin_3.2.0.class.php, line 2978:

curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, 2);

Ref: CurlException: 60 (cURL SSL Certificate Verification) - What It Does & Meaning

cURL PHP module must be enabled, with SSL support. Please, review the System Check and server requirements. Additionally, ask your hosting support to confirm the cURL PHP module configuration.

This is a general PHP or Apache error. There is a problem deep in the hosting platform. Please, ask your hosting support to find out the source of the problem.

In SiteGround hosting, they have carefully investigated the case and managed to recreate the error. They have resolved the issue by changing the PHP version to 5.4 by adding the following line to .htaccess file: AddHandler application/x-httpd-php54 .php .php5 .php4 .php3

In addition, mod_security, or other similar security restrictions, may block Ajax requests with this error. Check with your hosting provider, explaining the exact steps that cause the error, or you can temporarily disable mod_security to verify if it solves the issue. You can just add the following to .htaccess:

<IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

Finally, Joomla! 3 and our extensions support PHP 5.4 or superior. However, PHP 5.3 and 5.4 are buggy, outdated and not longer considered stable by http://php.net/releases/. Please, update at least to PHP 5.6 or superior.

Strict Standards errors are found when "PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code".

As Joomla! and AutoTweet are ready to be run with PHP 5.3, or superior. Each version can report different "suggestions". Please, disable Strict Standards notices in your hosting, or ask your hosting support to disable them.

Error 403 Forbidden 

Error 341 Feed action request limit reached)

Social APIs only allow clients to make a limited number of calls, in a certain time window. Thus, AutoTweet is affected by these limits when messages are published.

The default rate limit for calls to the Twitter REST API is 350 requests per hour. So normally this should be not a problem. See here for information about Twitter rate limiting: http://dev.twitter.com/pages/rate-limiting

The situation with Facebook rate limiting is much more complex and there is no real official information about this by Facebook. Also, they change from time to time the rate limiting without announcements.

Please, check this link with information about "Feed action request limit reached", and how to avoid it:

http://facebook.stackoverflow.com/questions/4880036/does-facebook-sdk-have-a-limit-for-posting-to-a-wall

See here for information about LinkedIn limits: https://developer.linkedin.com/documents/throttle-limits

Other similar error messages:

  • Name lookup timed out
  • SSL connection timeout

These messages indicate that your webserver has a problem looking up the IP address of the destination server or it is unable to open the connection.

Possible reasons are:

  • Problems with your webserver: DNS service is not answering properly, for example, ISS is overloaded or misconfigured
  • Networking problems: a trouble connecting to external address.
  • Security restrictions: hosting policy has to allow external connections.
  • Problems with your hosting company network: DNS service on other DNS servers at your hosting company server-network or general internet connection problems.
  • Problems with public DNS services: general DNS replication problems.
  • Problems at the destination server end: Occasionally, social networks servers have these very same issues. Just in case, wait for 3-4 hours to verify if the error is solved on the other side.

In any case, your hosting provider has the tool to diagnose and solve the issue. Please, check with your hosting support.

Joocial and AutoTweetNG are tested to work with the Greek alphabet, and any non-latin characters.

However, there is a known PHP Bug (Bug #53474FILTER_VALIDATE_URL should not fail URL's that use IDN https://bugs.php.net/bug.php?id=53474), not allowing to validate IDN URLs. In this case, you have to disable the URL validation to solve the case:

  • Control Panel/ Options/ Advanced settings / Validate Url = No

In addition, please update to the latest extension version.

If the server clock is going out of time, please, contact your hosting support to fix the clock synchronization.

On the other hand, if your date/clock is out of synchronization by several hours and minutes are right, your server may have a misconfigured timezone. Your site has three different timezones:

  • Server time zone: It is generally defined as UTC/GMT by your hosting provider.
  • Joomla! time zone: Defined in System/ Global Configuration/ Location Settings/ Server Time Zone. This setting defines the date/time shown at Joomla CMS level (independently from server time zone).
  • User time zone: Some extensions allow to define a user timezone (independently from Joomla! time zone).

AutoTweet shows and process information according to Joomla timezone. Please, check if there is any mismatch between your time definition and the configured time zones.

JavaScript Apps are an integral part of AutoTweet and Joocial. For instance, Composer requires a page free of JavaScript errors or conflicts to run smoothly.

Joomla! 3 runs on jQuery. However, legacy extensions may load MooTools and other libraries (for example Dojo), or load multiple jQuery versions - jQuery must be loaded only once -. Check and isolate scripts to simplify page loading.

If you Browser shows JavaScript loading errors (Control-Shift-J to access browser console), there are several points to check. Briefly, the simplest way to solve them is isolating every element in a clean page (for example, testing in a clean page with protostar template), and build complexity one step at a time.

KISS principle Keep it simple. Loading multiple extensions in a page is simple, however combining all together in a sound design and a working JavaScript context is not. Every layer adds complexity and cases to check. In other words, the best advice is to keep it as simple as possible.

In complex JavaScript configurations, there is some uncertainty due to the nature of the loading order. For example, it works perfectly fine on a page and it does not work in a similar configuration with a different loading order. Then again, the recommendation is to simplify to find the case where the search form and the results page work as expected, and add complexity one step at a time.

In addition, you can inspect your browser console to discover if there is a JavaScript error behind. Press Control-Shift-J, and access the page to discover any HTML/JavaScript error.

There are extensions to help with JavaScript conflicts. For example, jQuery Easy "This plugin is meant to help clean and resolve front and back end issues when using instances of jQuery alongside the Mootools libraries."

  1. JavaScript Conflicts, Written by Sigrid Suski
  2. Script Debugging, with Firebug
  3. Using the Console - Google Chrome
  4. Firefox - Browser Console

In front-end site, several extensions share the same page. Thus, conflicts must be checked to solve configuration issues.

Particularly, Facebook SDK can be initialized several times by different extensions. If every extension has a different App Id, then the first extension forces the App Id to the rest of the extensions. For instance, we verified a case where JFBConnect loads firstly (as system plugin) and generates an inconsistency in Joocial.

To solve it, we recommend implementing the same Facebook App Id to all extensions.

Social channel authorizations in the front-end site require several steps of interaction with the social networks to complete the token access generation. Then, the integration must be perfect between your site and the social network.

This is the list of common mistakes:

  • The authorization must start and end in Joocial's "User Social Channels". If there is any redirection/ restriction in your site, then it could break the authorization workflow. Please, check this tutorial, Community Social Auto-Posting.
  • The browser pop-up blocker can block Facebook dialogs.
  • Your site must be free of JavaScript errors/ conflicts. Please, check this FAQ: Concerning to JavaScript Conflicts.

By default, a Facebook App in live mode only allows authorizing permissions to retrieve basic profile information. Advanced publishing permissions require a Facebook review of your App.

To check Facebook requirements, please, watch this video about the process: Platform Policy 2.3 Example.

In brief, Facebook Policy defines several quality rules to follow. Facebook user model is complex and it defines several layers of user management. For instance, you can have these user levels:

  • App managers (Administrators or Developers) on a testing app: No restrictions. Activities are not published to the public.
  • App testers on a testing app: App experience is close to the live experience.
  • App managers and testers on a live app: social activities are published to the live targets.
  • Facebook users on a live app: regular users publish into live channels - Full Restrictions are applied - A review is required to approve extra permissions.

Facebook takes great care about user experience (when users do not belong to the app team). These requirements are also driven by past abuses on user privacy.

To sum up:

  • Facebook Apps for testing allow developing and testing, without restrictions or Facebook review.
  • Live Facebook Apps with defined management team allow publishing activities, without restrictions or Facebook review.
  • Live Facebook Apps for general users have full restrictions and must be reviewed by Facebook to approve additional permissions.

If JFBConnect is implemented with a different App ID, then Facebook library is loading twice, with two different configurations.

Customers with a similar issue have commented us that they solved the conflict implementing a single App ID in both extensions.

Q: I have several issues with a Facebook App with Canvas Page authorization, why?

A: A Facebook App with Canvas Page requires a consistent configuration following Facebook guidelines. All domains must match AND it requires a valid SSL Certificate installed on your site.

An AutoTweet-Facebook Channel enabled in "Use Your Own App=Yes, with Canvas Page" mode works in the same way than "Use Your Own App=Yes". The Canvas Page option is provided as a guide to developing and integrating complex Facebook Apps.

Please, check this tutorial: How to AutoTweet from Joomla! in 5 minutes

A Facebook App with Canvas Page has higher requirements than a simple Facebook App. If this is your first try, authorizing a Facebook Channel, please, start with a Facebook Channel in Use Own App=Yes mode.

If you are not sure about your site SSL compliance, please, check it with one of the following services:

No SSL certificates were found on .... Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server's firewall.

A: If you want to create a Facebook App with Canvas Page, you must have an SSL-enabled site.

Please, check this tutorial: How to AutoTweet from Joomla! in 5 minutes

If you are not sure about your site SSL compliance, please, check it with one of the following services:

An SSL certificate can be purchased (like a domain name), and installed in your hosting. Please, check with your hosting provider.

You can also use any cheap SSL certificate (Eg namecheap's $2-8/yr, Thawte's 21 days trial SSL certificate, or startssl.com 1-year free certificate).

There is also a free hosting option, based in Heroku hosting (but you need to know GIT protocol).

If you are installing the Facebook App, you must configure a valid public SSL Certificate on your site. It is a Facebook requirement.

Secure Connection Failed
An error occurred during a connection to ....
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)

Please, check Facebook App documentation: Apps on Facebook.com -Getting Started › Apps on Facebook.com

CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

AutoTweet libraries open an SSL connection with a Social Network (Facebook, Twitter, etc). However, the server cannot validate the received SSL certificate to initiate a secure connection.

There are several possible reasons. However, the most common cause is server being unable to verify the Certification Authority (CA) (who created the certificate).

To solve the issue, please, check with your hosting provider to verify if the local SSL libraries (list of valid Certification Authorities) are up to date.

Additionally, there is a way to disable the validation. Please, check these posts:

http://www.violato.net/blog/php/71-uncaught-curlexception-60-ssl-certificate-problem-verify-that-the-ca-cert-is-ok-when-implementing-facebook-connect

http://stackoverflow.com/questions/3642772/not-hacking-curlexception-60-curl-ssl-certificate-verification-problem

In the last post, it also shows a way to specify the trusted CA in the Facebook API library. As we are packaging the original Facebook library, you can modify the Curl connection routine to load fb_ca_chain_bundle.crt.

File: administrator/components/com_autotweet/helpers/channels/facebook-php-sdk, line 130.

/**
 * Default options for curl.
 */
public static $CURL_OPTS = array(
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',

    CURLOPT_SSL_VERIFYPEER      => false,

);

Check No SSL certificates were found on ...