Pro Modules
RSSRSS is a special web protocol that allows you to create "really simple syndication", that is news feeds, that other sites can use to automatically share your updates. I use it to automatically post content from my site to my facebook and twitter accounts without ever having to go to those platforms!
The accelerator platform comes with special built in rss capabilities and tools. It's a fairly complex system, but we've tried to design it to be as easy to use as possible. It consists of an RSS skin, and RSS function, and an RSS console in the site admin area. There's also an RSS cron job in the cron module! That's a lot of stuff to get working right together.
Installation
The RSS skin is a special skin designed to generate an RSS feed in seconds from your blog or forum or any other group of pages you want. If you are curious, it supports UTF-8, RSS 2.0 and ATOM.It should pretty much work out of the box. There's just a few things you might want to check:
First, make sure you have this entry in your site.auth.skins page. The RSS skin comes pre-installed in your accelerator installation, and it should be turned on unless you have changed this setting.
rss*: rss
The rss function should also turn on automatically when needed assuming you have dynafunc enabled. Otherwise, you'll need to enable it on site.config, with this line:
enableRSS: rss*
To get the cron job working, you simply need to add "rss" to your cron master page, set it to run once a day, and then create a cron.rss page to design your feed. We'll talk more about how to do that in just a bit. You also need to make sure cron is enabled, of course. See the cron module for information about how to do that.
The RSS Console
Let's start with something simple. To get started, simply go to the Site Admin area and click RSS. There you'll see an input box for you to post a short text announcement. Give each post a short title, and a page name or url for the link. If not title is set, it will use the default "News Flash" for the item title. If no link is set, it will use your main domain for the link. As for the date, you can leave it as is to post immediately, or reset it to an alternate date and time of your choosing. There are also options for archives and feeds--which we'll look at shortly. Initially, you won't have any archives and your main site will be the only feed. Click post, and your announcement is published. Easy as that.Don't worry about testing things. You can delete all your practice work easily when you are ready to go live.
Now, to view your post, go to the "sources" tab, and click the VIEW option beside info.rss link. There you should see your post and the date it is scheduled to be published. If you click the EDIT option, you can go directly to the info.rss page and make any changes you need. This is how you delete your practice work when you are ready to get serious about posting.
If you click the "feeds" tab you can view the actual rss feed. The url indicated is the actual feed location. This is what you give to other sites to get them to use your feed. If you click the VIEW option, you'll see a modified version of the current feed content (future posts will not be shown until the scheduled time). The format is a bit difficult to read, as it is designed to be read by machines, but it's decipherable. The EDIT option allows you to modify a few details of the rss feed itself--which is generated by the rss function. This is the full content of page "rss" and so it uses the RSS skin, which means it will look a bit different from your normal page. Normally you won't need to edit this page, and if you do, you need to be careful to not mess up the syntax in any way. To edit your feed content, you simply go back to the feed source (described above) and edit the contents there.
There is also an archives tab. This allows you to create archives of certain kinds of posts. They might be quotes, verses, testimonies, blogs, holidays, and so on. You could even create archives for a specific class or promotional campaign. Once an archive is created, you can start saving copies of posts to that archive whenever you post something to your rss feed by selecting it in the archives pull down menu on the main rss console page. Archives allow you to repost those quotes later, and also to post them automatically via cron. The archives page also shows any current archives. Click one to review its contents and update them at any time. Feel free to add, delete, or edit entries in these archives manually at any time.
To repost something from an archive, click the repost tab. Then, choose an archive. All your current archived items should popup, and you then simply push the POST button to send it to the RSS feed. If you are looking for a specific post, try using ctrl-f on your browser to find it. These archives are basic info pages, so you can also create a custom search page to find specific quotes using the query function if desired. If you need something like that, let me know.
Multiple Feeds
Usually, a single rss feed is enough for most sites, but you can create a custom feed if you like. Let's say you want to have a separate feed for facebook and twitter. First, go to the source tab to create a custom source for each. Enter "facebook" and "twitter" and it will create info.rss.facebook and info.rss.twitter pages. Next copy the main rss page to rss.facebook and then again to rss.twitter. Both of those pages should stay the same, except you will want to change the "page" parameter from info.rss to info.rss.facebook or info.rss.twitter, respectively.That's about it. These feeds should now show up on the main rss console page. To post to these new feeds, you simply select them when posting your content.
Cron
Here's how you set up cron to post automatically. As mentioned above, you first need to make sure cron is enabled and working on your site. And then you need to create an entry on the main cron page to call your rss cronjob. It would look something like this, with your choice for hour and minute:rss: daily | 17 22
That tells cron to call your rss cronjob about 5:22 pm once each day. The time of day doesn't really matter, because each day you basically set up your rss posts for the next day. Also note, this cron job can only be called once a day to avoid duplicate posts being generated.
Now, on the cron.rss page you are going to create a series of entries like the following:
[(cronrss archive=quotes when=9-11)]
Basically, this means, post one random quote from my "quotes" archive somewhere between the hours of 9 and 11 the next day. If I wanted to include another quote each afternoon, I would duplicate this line a second time and just change the when parameter to something like 16-18 (4:00 - 6:00 pm). If I wanted to include other types of posts from other archives, I just enter more lines pointing to the appropriate archives.
When cron calls this job, all those lines are processed, and the entries are posted to the appropriate source pages. If you want to have some of them post to a different source page, add a feed parameter like feed=facebook of feed=twitter.
This gives you the flexibility to create any kind of routine or schedule that you wish for your posts. My recommendation is that you focus on first generating sufficient content in your archives before you turn on automatic posting to avoid duplicates. But if you save every post to an archive, they will fill up soon enough, and you can start shifting more things to autopilot!
What Next?
Getting your RSS feed populated is only half the battle. The other half is getting them from your feed to wherever you want them published. Unfortunately, it has become quite challenging to do this reliably, as most social media platforms are clamping down on automatic posting.My recommendation is to try a service called dlvr.it. They have a free plan that allows you to post up to 3 posts on up to 2 platforms. It helps you connect your feed and will automatically check your feed and post your items without you having to do anything.
If you want to do more, I'd recommend going with their PRO plan. It's not expensive and gives you far more flexibility including their own tools for rescheduling and reposting.
There are many other social media tools to help you manage your social media presence, but they've also gotten quite expensive. And there are other free tools, for sure, but in my limited experience, I've found many of them to be unreliable. Even with dlvr.it, you will want to regularly check your social media feeds to see if they are still posting regularly. That seems to be the nature of things at the moment...
More Goodies
There's actually a couple more goodies in the rss module you might wish to make use of.Dynamic Feeds
The rss module also offers a way to export dynamic rss feed based on changes to some group of pages. Let's say you wanted to create a feed that showed new forum posts. You could do something like this:
[(rss group=forum* type=number fmt=teaser sort={+page} pubdate={+page})]
This basically says, grab all the forum pages in your site that end with a number (posts end in timestamps) and create a feed for them. For each page, we'll grab the title and link from the page itself, and we'll sort the posts, and date them by the timestamp for when the page was posted ({+page}).
The teaser format supplies an extract of the first 250 characters or so (so it could fit into a twitter post). Other fmt options can include "full" (the full page), "headline" (a headline data var, useful for blogs), and comment (shows the last comment on a page). If no fmt is set, it will try to find a "description" data var and then if not found will default to the teaser fmt. Note that setting the fmt to teaser will overrule any description data var.
If I wanted to see a feed that was updated everytime someone posted a comment, sorted by the most recent comments first, I could use the code below. It would show who posted, what they said, when, and the page it was on with a link to visit that page.
[(rss group=forum* type=number fmt=comment)]
You can play around with this a bit if you like. I'm still adding new functionality...
Feed Imports
You can also import feeds from other sites using a special rssfeed function. Note the different function name requires you to enable the plugin anywhere you want to use this. Basically, you just insert a valid rss feed into the function, and it will take that feed and import it right into your site for display. For example:
[(rssfeed http://www.boltwire.com/rss)]
Would go to that url and display any feed there in an attractive format. You can customize the styling for this at code.embed.rss. You could use this to import rss feeds from facebook or twitter accounts you like to follow, making it super simple to cut and paste their content into your feed for reposting.
Enjoy!