This is the first blog entry going over specific features in the new Community Content System. See the full announcement for more information:
Our Community Content System allows administrators to create blocks that can be used anywhere within the CCS framework and anywhere within the forums, blogs, galleries, or any other IPB applications. Blocks are small content includes that can contain practically anything.
CCS allows you to create 3 main types of blocks.
You can create custom blocks which can contain anything you want. CCS allows you to edit custom blocks in raw HTML mode, bbcode mode (using the RTE from the forums), and raw PHP mode. The first two methods are pretty self explanatory - what you enter is what is displayed. The raw PHP block mode allows you to enter PHP code (you simply print or echo the output) and the result will be displayed where the block is set on the page. Using raw PHP mode, you can extend the system quite a bit to accomplish whatever you want.
Plugin blocks allow the administrator to select an available plugin to include. Examples that are included with CCS by default include:
- Welcome block
- Online friends
- Online users
- Watched content
We should note that these plugins are completely abstracted from the system, so adding new plugins does not require any file modifications. You simply upload a new folder to the appropriate location, import an XML file in the admin control panel, and the block is ready for use! We expect modification authors will create some interesting plugins once they get their hands on the framework.
Feed blocks allow administrators to create "feeds" of data from their forums (or from an external RSS feed) to display. Feed blocks, like plugin blocks, work through a plug-n-play setup whereby you upload a file that defines certain methods and CCS will automatically detect the new feed type and allow administrators to create feeds from other sources. Default feed source options include:
Each feed type can have multiple sources - for instance, the forum feed type allows you to pull forums (e.g. to create a forum "tree"), topics (e.g. for a "most viewed topics" block), and replies (e.g. a latest replies block). Feed types can define filtering, sorting and limiting options.
A few examples you can easily implement with no coding knowledge required:
- Featured blog entry block
- Latest topics block
- Top posters block
- Random gallery images block
- Upcoming calendar events block
- Latest news from CNN
Most feed types allow ordering by a date field (e.g. "latest"-style blocks), ordering by "random", and ordering by other fields specific to the feed type and source. It would be difficult to detail each possible configuration in a single blog entry, so we encourage you to simply look for yourself when CCS is available.
There are several other block-specific options you might be interested in. For instance, each block can be cached (or not) independently, and you can elect to hide blocks entirely if there is no content to show (rather than seeing an empty block). Each block creates a skin template unique to it, so you can edit each block's skin template independently of any other block for full customization.
Blocks are created through a wizard interface, allowing us to step you through the process entirely. Once created, however, you can quickly edit the template without relaunching the entire wizard process, allowing for faster customization of your site. The wizard interface allows the block process to step you through creation and present you with options specific to the block you are defining.
Additionally, blocks are not restricted to the CCS framework. Blocks are parsed through a template plugin tag, which means that you can add a block to any skin template in IPB. If you created an RSS feed block from your website, for example, you could easily display this block right on your forum index. Or you could create a block with advertisements in it, and use the IPB skin system to display this block anywhere within IPB. Blocks use the full power of the skin system, so you can embed blocks within blocks, use template conditionals, and do anything else that you can do within any other skin template. This means you can even add hook points in your blocks, and use the new IP.Board 3.0's hook features to extend blocks even further!
With all of this in mind, we believe you will find there is no end to the amount of customization that can be acheived through the blocks functionality provided by CCS.