DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

T3BLOG

Created:2006-04-05T09:44:51
Changed by:Dmitry Dulepov
Changed:2010-07-19T16:13:37
Email:typo3@snowflake.ch
Info 2:
Info 3:
Info 4:

T3BLOG

Extension Key: t3blog

Copyright 2009,snowflake productions gmbh, <typo3@snowflake.ch>,

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

T3BLOG 1

Introduction 3

What does it do? 3

Why another blog extension? 3

Requirements 3

Features – a huge bunch of cool features 3

Support 4

Sponsors 5

Compatibility 5

Screenshots 5

Real life live examples 10

User manual 11

Installation 11

Start blogging 12

Administration - customize your T3BLOG 15

Available widgets 15

Main TypoScripts 16

TypoScripts for the widgets 18

Specific widget configurations 18

RealURL handling 22

Avatar vs Gravatar 22

Files 23

What is the difference between p1 and pi2? 24

Extending T3BLOG 25

Create a new widget (t3blog < 0.9.0) 25

Creating new widgets in separate extensions (t3blog >= 0.9.0) 25

FAQ 26

Good to know 28

XFN 28

Avatar 28

Gravatar 28

Permalinks, RSS, trackback 28

Known problems 30

To-Do list 31

Changelog 32

Introduction

What does it do?

It's a blogging-extension – so you can expect this extension to do the work as a normal blog does. You can create posts, you can categorize your posts, user can comment posts and much more. The feature section gives you a nice overview of the capabilities of this TYPO3 blog.

The power of this extension is not mainly its richness of functionalities – please immediately switch to WordPress or another blog-only system if you need every little blogging gadget! The great use of this extension is its seamless integration into TYPO3 and its easiness in installing it. And due to the seamless integration into this powerful CMS you have all the cool features you ever dreamt of.

Why another blog extension?

In the past we had several times the opportunity to integrate TIMTAB into TYPO3 which was sometimes pretty easy, sometimes (too) hard work. Too many dependencies between all the involved extensions sometimes made it quite complex to customize single extensions to the customer needs. Not speaking of all the different lifecycles of the involved extensions. Some are updated every other week, some are not compatible with a specific TYPO3 version and others are still in alpha state.

Therefore we (= the snowflake developer team) decided during Christmas 2007 to develop in a loosely teamwork this blog extension. The first steps were taken very fast – but after a few weeks daily business took over and only little time could be invested to improve the blog. If there wouldn't have been such a big echo when we were first presenting the idea of such a blog the project would have died in spring. So thanks to all of you asking us every other day when the blog would be available. This showed us that there is a real need to have such a TYPO3 blog.

Voilà! Here it is! Enjoy it.

Requirements

The blog uses TYPO3 as framework for input and outputs – so you'll need at least a running TYPO3 4.1 installation to start blogging without hassle. We suggest to use 4.2 for the best user experience, but this extension might run on all other 4.x versions as well. But we never really tested it heavily on 4.1.

Beside of this you will need the DAM installed (extension key dam) and we suggest to use the extension RealURL (extension key realurl) for the nice human readable URLs.

We use our own handy typoscript tools (extension key typoscripttools) for a better handling of configurations and outputs (like the DAM). You also can download this from the TER, but it is not documented – just use it.

Beside of this we also use a antispam-function (sfpantispam) to block all this crappy spam. To use this, read the readme.txt section of the sfpantispam extension.

For the paging we use the paging extension by Dmitry Dulepov (pagebrowse). Please refer to its manual to know how to handle it.

It's recommended that you have installed Mootools (1.*) in your frontend. Some widgets use the mootools features. If your website does not support Mootools, you can also find the mootools script in this extension.

Features – a huge bunch of cool features

  • Fully integrated into TYPO3

  • Supports multitenancy

  • Backend-users are extended to support avatars

  • Extendibility by your own widgets

  • Backend: New modules to simplify blogging with TYPO3

    • Submodule posts: Manage all your posts in a simple list.
    • Submodule comments: This module allows you to create, approve or delete comments.
    • Submodule categories: Create hierarchical categories
    • Submodule blogroll: Add your favorite links and XFN-tag.
  • Frontend: The whole system is 100% flexible since all the frontend output is fully customizable by TypoScript.

    • Search function

    • Filter functions

      Filter by author, date, category

    • Commenting system with integrated spam blocker

    • Blogroll with support of XFN tags

    • Gravatar and avatar support

    • Trackback

    • Permalink

    • Counting views per post

    • RSS feeds: latest comments, latest posts (RSS 0.91, RSS 2.0)

    • Social bookmarking: Mister Wong, Delicious, Webnews, Spurl, folkd, blinklist and more than 30 other social bookmarking networks.

    • Calendar

    • Archive of your posts

    • Latest comments

    • Latest posts

    • Tag cloud

    • RealURL support

    • Support of all features the CMS offers by using content elements

There are much more features included in this blog which other blog systems would promote as really cool gimmicks. But since this blog is already based on a very cool CMS there is no need to mention all the other great features you have when blogging with TYPO3. Anyway if you would like to have some kind of additional feature list, please refer to http://www.typo3.com/Feature_list.1243.0.html where you will find a tremendous amount of features.

Support

Yes, we would like to share your experience when you first implement this blog. Please refer to this website http://blog.snowflake.ch and look for the corresponding entries and comments. On this blog you have the possibility to send us your frustration, thank us, or just to read what is planned in the next release. But this is not the right place to get support! Please send all your questions to the "English" TYPO3 mailing list. Many very experienced TYPO3 users will help you with installing, debugging or customizing. And in case of bugs please refer to the TYPO3 bugtracker which can be found on http://bugs.typo3.org/.

Please do not send support requests to the authors of this extension. If you would like to have (commercial) support, feel free to get in touch with snowflake productions gmbh, Dominic Brander, dbrander@snowflake.ch .

Thanks for sticking to the rules!

Sponsors

The development of the view count functionality was mainly sponsored by the Sächsische Landesbibliothek - Staats- und Universitätsbibliothek Dresden (SLUB). `http://www.slub-dresden.de/ <http://www.slub-dresden.de/>`_

Compatibility

The blog has not been tested on older TYPO3 systems like 3.8 or even older. So please do not expect this blog to work with versions older than TYPO3 4.1.

Since this blog does not extend other extensions or is heavily relied on extensions other than the DAM, we do not expect to have compatibility problems.

If you are using mootools AND prototypes in your installation you will run into trouble since both JavaScript frameworks use the same namespace. So you will have to decide for one of these. We decided for mootools.

Screenshots

For the backend we used the skin “Improved t3skin” (extension key t3skin_improved). So the shown might differ dependent on the installed skin. But the following screens might give you a rough overview of the look&feel.

Backend: Posts

img-1 img-2

Backend Comments

img-3

Backend: Categories

img-4

Backend: Blogroll

img-5

Frontend: List

img-6

Frontend: Single View

img-7

Frontend: Comments

img-8

Real life live examples

Yes, this blog is already in use on different websites. So you can be sure you do not get an untested piece of software. At least the features we are using seem to be stable.

Have a look at this already implemented blogs to get a better picture of what you can do with it:

User manual

Installation

Install the extension with the extension manager as you usually do. Since the extension is based on the extensions pagebrowse, typoscripttools and sfpantispam, you will get a dependency error if you haven't yet installed them. Import the needed extension to continue without errors.The extension is configured to work smoothly with the DAM. You can use it without DAM – but then you will have to reprogramm quite a few lines of TypoScript and PHP-Code.

Enter the correct sender mail when installing the blog in the configuration seetings.

The extension will extend your be_users, tt_content and create a handful of tables. As soon as the system has installed the extension and created all the needed tables, reload your backend and you will see a new module and some new submodules on the left.

Create a new page somewhere in your pagetree by using the module web>page, select as type “Advanced”. At the “Contains plugin”part, select the T3BLOG plugin. Then save and close the page. You don't have to create a sysFolder-page for the data, it's all saved on this blog- page.

img-9

Create a template on this new page (if you do not know how to do that, please refer to typo3.org to get to know that).

img-10 Now it's time to include the static T3BLOG extension templates. The TypoScript of this extension is mainly in the static folder. It contains a few TS files, all combined to one static include object. Every widget has his own TypoScript included from the main template. How to configure the widgets is described in detail in the corresponding section.To run the blog you will need at least the template-setup of “T3BLOG – main configuration”. Here the overall functionality of the plugin is configured. Make surey the css_styled_content template is included before the T3BLOG templates to make sure your content can be delivered to the blog.We have configured some more settings to ease the use of this extension:We have created a template/theme for the blog (“T3BLOG template – snowflake theme 1”). This template configures the look and feel of your blog. Make sure when using this it is included before the main configuration.Use the “T3BLOG CSS – snowflake theme 1” for the styling of your blog.To have a feeling of success we also provided “T3BLOG blog2page – output to the page ” which does nothing else then configuring the output to the PAGE-object.Last but not least we added a fourth TypoScript which enables you to add “T3BLOG functionalities on your website”. Usually the blog is running on one website and you might have another website (in the same installation) where you would like to show the latest comments or your latest posts.

There are a few constants you should set (mainly the baseURL). You will find them in the “Constant Editor”. If you do not need the features – just leave the fields blank.

After saving the template, clear the configuration cache. Refresh your browsers cache (F5) to see the new T3BLOG modules. Congratulations – that's it so far!

Now continue with the chapter “Administration - customize your T3BLOG” to learn how to customize your newly installed blog to your needs or with the chapter “Start blogging” to learn how to create your very first post. Have fun!

Start blogging

This section shortly describes the new module and its submodules. All submodules (except the submodule categories) have the possibility to search and in some submodules you can even sort records to manage them easier.

Hurry, hurry, I want to blog

For all of you who can not wait any longer and just want to blog:

Switch to the submodule “Categories”. Define a few categories of your main topics.

Go to the submodule “Posts” and create a new post by clicking on the corresponding link.

Enter a title, add some content and make sure the post is added to at least one category.

That's it! Enjoy blogging with T3BLOG.

T3BLOG posts

To create a new blog post please proceed as follows:

Select the T3BLOG submodule “Posts”.

Select your blog instance in the tree navigation.

Click on “Create a new blog post” to start writing.

Enter the title of your post (required) and switch to the “Your contents” section.

Here you will find out that all blog entries are based on the content elements which TYPO3 offers. Create a new content by choosing the type of content element you think might suit best for your post. You can add as many contents for a post as you want. If your text is going to be too long to display it fully on the front page, use the ###MORE### marker in your text. This one tells the blog-script to split the text into two (virtual) pages.

In general all the available fields should be self-explanatory.

Some hints:

  • If you are using RealURL: The title will be used to create the URL – so make sure you do not change it without clearing the RealURL-cache.
  • You want to see who wrote a comment to your post? In the list-overview of your posts just click on the number in the comments column and you will be lead to the corresponding submodule and the comments of this post are shown.
  • Tag cloud: The tag cloud in the frontend is not case sensitive. So in this case TYPO3 and typo3 are treated the same. Therefore when entering TYPO3 the system will automatically transform it into typo3.
  • The field “Number of views” allows you to rise the number manually. This number is automatically rised by each person viewing your post.

Following fields are available:

Title

Field

Title

Description

Title of the post

Remarks

Tag cloud

Field

Tag cloud

Description

Keywords of the entry

Remarks

They will be used for the tag cloud widget.

Author

Field

Author

Description

Author of the post

Remarks

The logged in backend user is automatically selected. Enrich your backend user with an avatar – it will be displayed in the frontend. If no avatar is, set the system tries to fetch your gravatar.

Date & Time

Field

Date & Time

Description

Date of the post

Remarks

The date and time is automatically filled in

Your contents

Field

Your contents

Description

Your blog entry

Remarks

Here you will find the whole content element universe TYPO3 offers

Categories

Field

Categories

Description

Category of the post

Remarks

Add as many categories as you want.

Trackback URIs

Field

Trackback URIs

Description

URL's wich should be receive a Trackback

Remarks

Enter the trackback URIs here separated by a tilde (~)

Allow Comments

Field

Allow Comments

Description

Who can write comments

Remarks

Configure who is allowed to write comments.

Hide

Field

Hide

Description

Hides the record, default hidden

Remarks

Standard function in TYPO3

Start

Field

Start

Description

Schedule your post

Remarks

Standard function in TYPO3. Make sure your caching is properly configured to make sure timed posts are displayed.

Stop

Field

Stop

Description

Schedule your post

Remarks

Standard function in TYPO3

Access

Field

Access

Description

Define who has access to this post

Remarks

Standard function in TYPO3

T3BLOG comments

Usually you do not create new comments in the backend, although this submodule enables you to manage comments in the backend easily:

  • Spam: Comments of which the systems thinks to be spam are automatically marked as spam and therefore not displayed in the frontend. If you found out that the spam blocker did not find out that the comment is spam, just mark it as spam by simply clicking on the appropriate icon. The filter is not trained by this information. But maybe in the near future this will be implemented.
  • Approving: If you have set up the blog to display comments only if they are approved by you, use this icon to approve/disapprove comments. New comments are marked - so you quickly have an overview of comments you might want to take care of.
  • Hide: You also have the possibility to hide a comment. Visually this has the same impact in the frontend. Technically this feature allows you to review the comment in the frontend (by using the administration panel) and then decide what to do with it later on.
Title

Field

Title

Description

The title of the comment

Remarks

Author

Field

Author

Description

Name of the author

Remarks

E-mail

Field

E-mail

Description

E-mail address of the author

Remarks

This e-mail is used for the gravatar support.

Website

Field

Website

Description

Website of the author

Remarks

Date&Time

Field

Date&Time

Description

Date and time the record has been created

Remarks

Text

Field

Text

Description

The comment of the author

Remarks

Approved

Field

Approved

Description

Checkbox to check if the comment is approved.

Remarks

Spam

Field

Spam

Description

Checkbox to check if the comment is a spam.

Remarks

Foreign Key (post)

Field

Foreign Key (post)

Description

This field is the relation to the corresponding post.

Remarks

Hide

Field

Hide

Description

Hides the record

Remarks

Standard function in TYPO3

Start

Field

Start

Description

Schedule your post

Remarks

Standard function in TYPO3.

Stop

Field

Stop

Description

Schedule your post

Remarks

Standard function in TYPO3

Access

Field

Access

Description

Define who has access to this post

Remarks

Standard function in TYPO3

Note that the fields are filled in from the frontend. You should not use the backend administration except if you would like to change a comment (e.g. for censorship).

T3BLOG categories

To categorize your posts, you can create hierarchical categories in this module. You need to create a new parent category with the “New category” link first. Later you can append subcategories. A category contains the following fields which you find in the tabs:

Category name

Field

Category name

Description

Title of the category

Remarks

Description

Field

Description

Description

Description of the category

Remarks

Parent category

Field

Parent category

Description

Select a parent category

Remarks

Hide

Field

Hide

Description

Hides the record

Remarks

Standard function in TYPO3

Start

Field

Start

Description

Schedule your post

Remarks

Standard function in TYPO3. Make sure your caching is properly configured to make sure timed posts are displayed...

Stop

Field

Stop

Description

Schedule your post

Remarks

Standard function in TYPO3

Access

Field

Access

Description

Define who has access to this post

Remarks

Standard function in TYPO3

T3BLOG blogroll

The blogroll elements also have a seperate module. You're able to sort the blogroll entries manually with the arrows beneath the record. To create a new record click on the link at the bottom. A blogroll is nothing else than a link to another blog of a person you know.

Following fields are available:

Title

Field

Title

Description

Title of the blogroll entry

Remarks

URL

Field

URL

Description

URL of the other blog

Remarks

XFN

Field

XFN

Description

Select your XFN status of the link

Remarks

More information about the XFN types on http://de.wikipedia.org/wiki/XHTML_Friends_Network

Images

Field

Images

Description

Select an image to display

Remarks

Description

Field

Description

Description

Description of the link

Remarks

Hide

Field

Hide

Description

Hides the record

Remarks

Standard function in TYPO3

Start

Field

Start

Description

Schedule your post

Remarks

Standard function in TYPO3. Make sure your caching is properly configured to make sure timed posts are displayed...

Stop

Field

Stop

Description

Schedule your post

Remarks

Standard function in TYPO3

Access

Field

Access

Description

Define who has access to this post

Remarks

Standard function in TYPO3

Using T3BLOG with TemplaVoila

Starting from version 0.8.0 t3blog fully supports TemplaVoila. You can the method described above or insert T3BLOG as a content element and choose widgets that you would like to see on the page. You can use multiple TemplaVoila content areas.

Note that T3BLOG stores blog entries as a content elements. They will appear in TemplaVoila's “Unused elements” tab. Do not insert them to the page and do not remove unused items! Removing these items will remove the content of your blog entries.

If you have problems running t3blog with TemplaVoila, asking in mailing lists may help. Also searching t3blog bug tracker may show if you hit a bug.

Administration - customize your T3BLOG

The best way to customize your blog is to first have a closer look at the overall concept and the different underlying TypoScripts:

The whole blog is clearly structured into a core functionality and several additional functions. We call all this little useful things “widgets” (usually situated on the right side of your webpage/blog).

Available widgets

Widget archive

The archive widget lists the blog posts categorized by the creation date. It separates the posts by year and month. If mootools is installed, it is possible to collapse the date hierarchy. Clicking on the month lists all posts made during this month in the blogList widget.

Widget blogList

This is the most central widget. It's used for the single and list view of the blog entries. You can configure a lot just by overwriting the typoscript. The list view shows the posts with a page browser to navigate through the posts. If it is filtered by any criteria,the currently active filter is shown on the top. In single view you can navigate to the previous or next post. A comment form and all the comments are listed at the end of the post. For more information check the typoscript infos of the blogList.

Widget blogrollList

The blogrollList widget lists the blogrolls you entered in your blog. Usually it only shows the link with your own title using the xfn tag you have selected. You can also add an image in the backend which will appear in the frontend using this widget. The description you have entered will appear in the title tag of the link. The sorting in the backend corresponds to the sorting chosen in the backend module.

Widget calendar

The name of the widget already explains what it is. This widget generates a monthly calendar with those days linked that have a blog entry. You can navigate through the months using the arrow links on top of the calendar.

Widget categories

This widget lists the categories in the frontend. The “standard version” (as we deliver it with the standard TypoScript) uses mootools to play with the category levels. Every category shows the number of posts in this category. By clicking on a category it affects the blogList and shows only the entries belonging to the selected category.

Widget latestCommentsNav

The latestCommentsNav displays the latest comments which are approved (currently set to the latest four comments). Clicking the title of the last comment in this navigation leads you to the single view of the blogList widget. The link title also gives you the information who has written the comment.

Widget latestPostNav

Nearly the same functionalities like latestCommentsNav - except that it shows the latest posts. The link title shows the post author and information of how many comments have been written to this post.

Widget rss

The rss widget shows four links. It currently supports RSS 0.91 and RSS 2.0 - each for the comments and the posts.

Widget socialBookmarks

The socialBookmarks widget has its bookmark links from: http://www.favit.de/tools.php . This widget allows you to bookmark your blog in some social bookmark services.

Widget tagCloud

The tagCloud widget generates a tag cloud using all the tag cloud entries specified in your posts. Clicking on a single word, effects the blogList and shows only those posts with the same tag.

Widget views

Nearly the same functionalities like latestPostsNav - except that it shows the most viewed posts. The link title shows the post author.

Main TypoScripts

You like TypoScript? I hope so – we heavily use TypoScript for all frontend-relevant features. So looking closer at all the TypoScript you might be frightened – but don't worry, the following section will explain in detail each relevant snippet. And wepromise: You will have fun with all the possibilities TypoScript offers you for your cool new blog!

Let's start with the TypoScripts responsible for the core functionality stored in the typo3conf/ext/t3blog/static/t3blog folder. You should find the following structure and files:

  • pi1/
  • pi2/
  • styling/
  • template/
  • setup.txt
pi1

Have a close look at setup.txt: Here everything is put together. It includes all other configurations from the widgets and the other global templates.

Looking closer at the setup you will also see how we handle the widgets and how the page is rendered.

First in the setup.txt some templates are imported using the following code snippet:

<INCLUDE_TYPOSCRIPT: source=”FILE:EXT:t3blog/....”>

All the widget templates bewlow are imported the same way. Make sure the widget templates are imported before the plugin.tx_t3blog_pi1-statement.

After having included all the different templates, we start creating the output the following way:

plugin.tx_t3blog_pi1.myblog = USER
plugin.tx_t3blog_pi1.myblog.userFunc = tx_t3blog_pi1->main

We create a USER-Object and tell the system to get all the widgets to do their work. That's it for the plugin-section in this setup.

To load the design we include the following line:

plugin.tx_t3blog_pi1.myblog.template =< plugin.tx_t3blog_pi1.layoutBlog

Make sure you have included/loaded the static template “T3BLOG layout” - otherwise this will not work.

pi2

pi2 copies all the widgets from pi1. This way pi2 can do everything pi1 can do - but you can individually place each widget on your website.

styling

This is just the CSS of the default blog. Feel free to skip this and add your own CSS however you'd like to. The styling is strongly connected to the template (CSS-classes, ids, logic).

template

Here you'll find the whole template of your blog. This is just pure TypoScript and to understand it have a look at the TSRef.

The TypoScript contains the three column layout (look for <div id=”col1”> ... </div>), <div id=”col2”> ... </div>,<div id=”col2”> ... </div>)) and lot of COAs.

The following structure might be in need for an explanation:

plugin.tx_t3blog_pi1.layoutBlog.40.xxx.field = yyy

The xxx stands for the position as usual in every COA. The yyy stands for the widget you would like to display. In the example

plugin.tx_t3blog_pi1.layoutBlog.40.30.field = calendar

the calendar is displayed on position 30.

The object plugin.tx_t3blog_pi1.layoutBlog is splitted into the following sections:

  • plugin.tx_t3blog_pi1.layoutBlog.1The title of your site/page linked to your home.
  • plugin.tx_t3blog_pi1.layoutBlog.10Here we have all the elements which appear in the upper part (tag clouds, navigation, logo).
  • plugin.tx_t3blog_pi1.layoutBlog.20This is the first/left column, currently we do not use it in the default layout.
  • plugin.tx_t3blog_pi1.layoutBlog.30Here we have the second/main column. Look at the line field = blogList, this means here we want the blog to display all the posts.
  • plugin.tx_t3blog_pi1.layoutBlog.40And finally there is the third/right column. Here we want the widgets to appear.
setup.txt

In this file the final output to the PAGE object is generated:

page = PAGE
page.10 < plugin.tx_t3blog_pi1.page

We just copy all the configuration we did before to the PAGE object and voilà the blog is working!

Now let's look at the following construct:

xmlnews = PAGE

Here we create a XML-feed page. We chose typeNum 100 – feel free to change that to your needs, but make sure when using RealURL you change the typeNum as well. Further down in this snippet you'll see the USER- cObject initializing the blog-pi1 and loading the widget RSS. To define the design/template of the XML plugin.tx_t3blog_pi1.layoutBlog.40.80 is referenced.

You will find some more TypoScript in this setup, but this is non- T3BLOG-relevant, but just standard TypoScript. For further information about this please refer to the TypoScript reference.

t3blog_global_elements.txt

In this file we put some configurations to enable the page/posts browser to keep the overview about all the different snippets. Here you also will find the field = pbitemclass. But you will not find a corresponding widget. This way we just tell the rendering PHP-script what we want to render . You will find this kind of syntax in all the widgets again.

TypoScripts for the widgets

All the widgets are built in a similar way – that's one of many reasons why extending this blog is very easy. So let's have a closer look at an example widget to get a better picture of what we are doing. As an example we take the latest posts.

The name space for the widget handling is always the same. We have plugin.tx_t3blog_pi1 for our plugin pi1 (which is a standard for TYPO3) and the name of the widget (in this case latestPostNav) and then a number of properties and objects. Look closer into typo3conf/ext/t3blog/pi1/widgets/latestPostNav/setup.txt and you will find out we love the content object array COA ;-) For those who are experienced users of TypoScript will like it since you have all the flexibility to change the appearing of each little element. All you have to know is the following:

You often see this syntax:

...
{
        wrap = <dd>|</dd>
        field = date
        strftime = %d.%m.%Y %R
}
        ...

The important thing here is the field = date syntax. This again tells the corresponding PHP-script (in this case class.latestPostNav.php) which field (date) should be rendered and how it should be rendered (wrap, strftime).

You see: The way the field is rendered is completely up to you. In this case we render the date-field as date (ahhhhh!) and for this purpose we use the stdWrap function strftime to define how the date should look like (in this example we render it in the following format: 23.01.2008 12:50).

If you know how to work with TypoScript you also should know how to customize and extend your widgets – so there is no witchery in this! Enjoy playing around.

Specific widget configurations

Every widget has its own Typoscript with specific settings. You can fully customize all the widgets separately.

Widget archive

Nothing very special here to explain. We make use of mootools to fold/unfold the hierarchical categories.

elementWrap

tx_t3blog_pi1.archive

elementWrap

Description

Handles the wraps for the single elements (month and the post)

Default

listWrap

tx_t3blog_pi1.archive

listWrap

Description

Wraps the whole category-listing into a wrap.

Default

globalWrap

tx_t3blog_pi1.archive

globalWrap

Description

Wraps the category tree with a title

Default

Widget blogList

The blogList widget is used to display the blog posts. It can list, filter and show the single view of a Blog post. In the Typoscript of the blogList widget you can find several configuration parameters to customize your blog listing. You can also overwrite all the positioning and wraps of the widget. We only document T3BLOG-specific settings – all the usual TypoScripts are not commented (please refer for this purpose to the TypoScript reference).

mailReceivedCommentsToAdmin

tx_t3blog_pi1.blogList

mailReceivedCommentsToAdmin

Description

0/1 Boolean if a email should been sent when there is a new comment.

Default

1

adminsCommentsEmail

tx_t3blog_pi1.blogList

adminsCommentsEmail

Description

Email address to whom the email should go.

Default

Defined in the constants

adminsCommentMailTemplate

tx_t3blog_pi1.blogList

adminsCommentMailTemplate

Description

PATH: email template

Default

EXT:t3blog/pi1/widgets/blogList/adminemail.txt

entryCounter

tx_t3blog_pi1.blogList

entryCounter

Description

Current entry counter on this page starting from zero

Default

gravatarRating

tx_t3blog_pi1.blogList

gravatarRating

Description

Gravatars are rated to make sure only pictures appropriate to the website/blog are displayed. Four different ratings do exist:

  • Rated xrated gravatars may contain hardcore sexual imagery or extremely disturbing violence.
  • Rated rR rated gravatars may contain such things as harsh profanity, intense violence, nudity, or hard drug use.
  • Rated pgPG rated gravatars may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence.
  • Rated gA g rated gravatar is suitable for display on all websites with any audience type.

Default

g

gravatar

tx_t3blog_pi1.blogList

gravatar

Description

You can deactivate the www.gravatar.com suspport by setting this boolean to 0.

Default

1

gravatarsize

tx_t3blog_pi1.blogList

gravatarsize

Description

Specify the size of the gravatars. Usually they are not larger than 50x50 pixels

Default

50

gravatarAtComments

tx_t3blog_pi1.blogList

gravatarAtComments

Description

Also use gravatars when somebody is commenting

Default

1

approved

tx_t3blog_pi1.blogList

approved

Description

The approved flag is for the comments, if it is set to 1 the comment will bi immediately approved, else the admin first needs to approve the new comment.

Default

0

loginPid

tx_t3blog_pi1.blogList

loginPid

Description

This pid is used for the “please log in” link if comments are only for loged in users.

Default

PID.feuser.loginpid constant

numberOfRecords

tx_t3blog_pi1.blogList

numberOfRecords

Description

Set here how many records you would like to see on one page. Use a number between 1 and n.

Default

10

maxPages

tx_t3blog_pi1.blogList

maxPages

Description

Number of Pages list in the pagebrowser. Use a number between 1 and n

Default

1000

requiredFields

tx_t3blog_pi1.blogList

requiredFields

Description

A comma separated list of fields from the comment form wich should be required.

Default

commentauthor, commenttext, commentauthoremail, commenttitle, captcha

useTipafriend

tx_t3blog_pi1.blogList

useTipafriend

Description

Every blog single view has the option to display a tipafriend direct link. If you have tipafriend installed, you need to enter the pid in the constance and then the link will be generated

Default

0

commentComments

tx_t3blog_pi1.blogList

commentComments

Description

Set if you want the possibility to comment comments up to one level

Default

1

useCaptcha

tx_t3blog_pi1.blogList

useCaptcha

Description

Set if you want to use captcha security in comment forms

Default

1

captchaFont

tx_t3blog_pi1.blogList

captchaFont

Description

Font to use in the captcha (saved in captcha/font/)

Default

x-files.ttf

captchaFontSize

tx_t3blog_pi1.blogList

captchaFontSize

Description

Font size of the captcha

Default

25

captchaFontColor

tx_t3blog_pi1.blogList

captchaFontColor

Description

Textcolor of the captcha (in hex without #)

Default

000000

captchaEreg

tx_t3blog_pi1.blogList

captchaEreg

Description

Regular expressions to use in the text

Default

A-Za-z

captchaBackgroundColor

tx_t3blog_pi1.blogList

captchaBackgroundColor

Description

If you do not want to use a background image, set a color as a background (in hex without #)

Default

E3E3E3

captchaShowImage

tx_t3blog_pi1.blogList

captchaShowImage

Description

Set if you want to use a background image or rather only a colored background

Default

1

captchaBackgroundPNGImage

tx_t3blog_pi1.blogList

captchaBackgroundPNGImage

Description

Name of the background image(saved in captcha/image/)

Default

captcha.png

captchaLines

tx_t3blog_pi1.blogList

captchaLines

Description

Lines to obfuscate the captcha

Default

3

readOnly

tx_t3blog_pi1.blogList

readOnly

Description

Set if you do not want to allow logged in fe-users to change the comment-fields that are filled in automatically with the fe-user- content

Default

1

subscribeForComments

tx_t3blog_pi1.blogList

subscribeForComments

Description

Set if you want allow commentators to subscribe for being notified if a new comment is added to the post

Default

1

splitLongWordsInComment

tx_t3blog_pi1.blogList

splitLongWordsInComment

Description

Sometimes it might be useful to split long words into substrings. Use any number larger than 0 to split long words.

Default

0

senderEmail

tx_t3blog_pi1.blogList

senderEmail

Description

Sender email for notification mails (notice: if approved is not set, the email will only be sent after approving in backend module. Therefore the senderEmail is sei in the 'mod3/conf.php' file)

timePeriodToRecountView

tx_t3blog_pi1.blogList

timePeriodToRecountView

Description

Amount of seconds which have to pass by until an returning visitor is recounted.

Good to know: If you want to have counted each view just put a negative number like - 1

Default

10800

countBEUsersViews

tx_t3blog_pi1.blogList

countBEUsersViews

Description

Shall we count users which have logged in the backend?

Default

1

Widget blogrollList
list

tx_t3blog_pi1.blogrollList

list

Description

Defines the look and feel of the whole blogroll listing.

Default

listItem

tx_t3blog_pi1.blogrollList

listItem

Description

Here the single link is rendered.

Default

imgFieldList

tx_t3blog_pi1.blogrollList

imgFieldList

Description

In this part we make use of the typoscripttools-Extension. Look at the extension to find out how this thing works.

Default

Widget calendar
calendaroutput

tx_t3blog_pi1.calendar

calendaroutput

Description

Defines the look and feel of the whole calendar.

Default

nextString

tx_t3blog_pi1.calendar

nextString

Description

The sign/string to browse through your calender

Default

&raquo;

prevString

tx_t3blog_pi1.calendar

prevString

Description

The sign/string to browse through your calender

Default

&laquo;

startDay

tx_t3blog_pi1.calendar

startDay

Description

Starting day of the week. Sunday = 0, Monday = 1 and so on

Default

0

startMonth

tx_t3blog_pi1.calendar

startMonth

Description

Starting month. January = 1 and so on

Default

1

Widget categories

categories

tx_t3blog_pi1.categories

categories

Description

Defines the look and feel of the whole category section.

Default

list

tx_t3blog_pi1.categories

list

Description

Defines the listing.

Default

listItem

tx_t3blog_pi1.categories

listItem

Description

Renders the single category

Default

catLink

tx_t3blog_pi1.categories

catLink

Description

Renders the link of the category.

Default

Widget latestCommentsNav
numberOfItems

tx_t3blog_pi1.latestCommentsNav

numberOfItems

Description

Defines how many comments should be displayed.

Default

4

list

tx_t3blog_pi1.latestCommentsNav

list

Description

Defines the listing.

Default

listItem

tx_t3blog_pi1.latestCommentsNav

listItem

Description

Renders the single comment

Default

Widget latestPostsNav
numberOfItems

tx_t3blog_pi1.latestPostsNav

numberOfItems

Description

Defines how many posts should be displayed.

Default

4

list

tx_t3blog_pi1.latestPostsNav

list

Description

Defines the listing.

Default

listItem

tx_t3blog_pi1.latestPostsNav

listItem

Description

Renders the single post

Default

link

tx_t3blog_pi1.latestPostsNav

link

Description

Renders the link of the posts

Default

In the latestPostsNav widget is only one specified configuration available. You can set, how many comments should be displayed in the short listing. You can set it with the latestCommentsNav.numberOfItems typoscript, default is four.

Widget rss

Some parts of this widget/configuration have been taken from the tt_news extension. Detailled information about RSS in general can be found here:

http://en.wikipedia.org/wiki/RSS

feedTitle

tx_t3blog_pi1.rss

feedTitle

Description

Title of your newsfeed, maximum 100 chars

Default

T3BLOG RSS-Feed

feedCopyright

tx_t3blog_pi1.rss

feedCopyright

Description

Copyright notice

Default

2008 Your Company

feedManagingEditor

tx_t3blog_pi1.rss

feedManagingEditor

Description

Who is the person in charge of the newsfeed-content (email address)

Default

example@example.org (Example User)

feedWebMaster

tx_t3blog_pi1.rss

feedWebMaster

Description

Who is the technical contact for problems with the newsfeed (email address)

Default

example@example.org (Example User)

feedLanguage

tx_t3blog_pi1.rss

feedLanguage

Description

Language in which the information is written, optional for RSS 2.0, required for 0.91

Default

en-en

feedDescription

tx_t3blog_pi1.rss

feedDescription

Description

Description of your feed, maximum 500 chars

Default

Latest news of T3BLOG

feedImage

tx_t3blog_pi1.rss

feedImage

Description

Image included in the feed,

feedItemDescLength091

tx_t3blog_pi1.rss

feedItemDescLength091

Description

Shorten text to this length in XML item description for RSS 0.91

Default

200

feedItemDescLength20

tx_t3blog_pi1.rss

feedItemDescLength20

Description

Shorten text to this length in XML item description for RSS 2.0

Default

200

postItemCount

tx_t3blog_pi1.rss

postItemCount

Description

How many items to show in XML feed, default=all, maximum of 15 for RSS 0.91

Default

5

postItemOrderBy

tx_t3blog_pi1.rss

postItemOrderBy

Description

SQL sorting by field name

Default

crdate DESC

list

tx_t3blog_pi1.rss

list

Description

Renders the links and images for the RSS feeds

Default

feedTimeLocale

tx_t3blog_pi1.rss

feedTimeLocale

Description

locale for time formatting

Default

en_US.utf8

feedStrftime

tx_t3blog_pi1.rss

feedStrftime

Description

format of the feed item dates

Default

%a, %d %b %Y %H:%M:%S +0200

((Unknown Property))

tx_t3blog_pi1.rss

Description

Default

Widget searchBox

For the search two options can be used: the indexed search or the raw field search which is slightly faster then the indexed search. Therefore the raw field search is the default. Look into the code and you will find out how to enable the indexed search.

searchButton

tx_t3blog_pi1.searchBox

searchButton

Description

Creates the search button

Default

form

tx_t3blog_pi1.searchBox

form

Description

In this part the whole form is put together.

Default

Widget socialBookmarks

The bookmarks are from http://www.social-bookmark-script.de/ so please leave the copyright note untouched.

globalWrap

tx_t3blog_pi1.socialBookmarks

globalWrap

Description

Wraps the cloud with a title.

Default

bookmarks

tx_t3blog_pi1.socialBookmarks

bookmarks

Description

Since the script is from a German website the German social bookmarks might be overrepresented -just remove the corresponding lines here if you do not need them.

Default

Widget tagCloud
minFontSize

tx_t3blog_pi1.tagCloud

minFontSize

Description

Minimal font size of a tag.

Default

9

maxFontSize

tx_t3blog_pi1.tagCloud

maxFontSize

Description

Maximal font size of a tag

Default

24

maxColor

tx_t3blog_pi1.tagCloud

maxColor

Description

Choose a hexadecimal value to specify your color for the most used tag.

Default

#94DF00

maxTagsToShow

tx_t3blog_pi1.tagCloud

maxTagsToShow

Description

Maximal amount of tags to show

Default

20

minColor

tx_t3blog_pi1.tagCloud

minColor

Description

Choose a hexadecimal value to specify your color for the less used tag.

Default

#E9FFBF

renderingAlgorithm

tx_t3blog_pi1.tagCloud

renderingAlgorithm

Description

lin (linear): Renders the size and color of the tags independently from each other.

log (logarithm): Renders the tags dependent from each other.

Default

lin

unit

tx_t3blog_pi1.tagCloud

unit

Description

You have the following options:

em,ex,cm,in,pt,px,mm,pc,%

Default

px

globalWrap

tx_t3blog_pi1.tagCloud

globalWrap

Description

Wraps the whole tag cloud with a title.

Default

list

tx_t3blog_pi1.tagCloud

list

Description

The wrapping of the tagcloud items

Default

item

tx_t3blog_pi1.tagCloud

item

Description

The single tag in the tagcloud

Default

sortBy

tx_t3blog_pi1.tagCloud

sortBy

Description

Sorts tag cloud by count or tag. Valid values are:

  • count
  • tag

Default

count

Widget views
numberOfItems

tx_t3blog_pi1.latestPostsNav

numberOfItems

Description

Defines how many posts should be displayed.

Default

4

list

tx_t3blog_pi1.latestPostsNav

list

Description

Defines the listing.

Default

listItem

tx_t3blog_pi1.latestPostsNav

listItem

Description

Renders the single post

Default

link

tx_t3blog_pi1.latestPostsNav

link

Description

Renders the link of the posts

Default

RealURL handling

The RealURL configuration can be found in the rootline of this extension in the file RealURLConfiguration.txt.

Avatar vs Gravatar

If you want to have an avatar displayed at your posts: Just upload one by editing your backend-user and add the avatar to the image field. If you are not an admin, you might ask your admin to do so for you.

You can also use a gravatar instead of the avatar. Note: The avatar is always overriding the gravatar.

Files

There are too many files involved to explain them all in detail. We concentrate on the file structure and explain a few files by example.

Look at the screenshot an you will see how the extension is constructed.

img-11

Explanation to the screenshot of the file list:

doc/

Directory/file

doc/

Description

TYPO3 standard directory for manual and the kickstarter data

icons/

Directory/file

icons/

Description

All the needed icons (BE and FE) are stored here

lib/

Directory/file

lib/

Description

Here you'll find a bunch of globally used files/classes

mod1/

Directory/file

mod1/

Description

The main module for T3BLOG

mod2/

Directory/file

mod2/

Description

The submodule posts

mod3/

Directory/file

mod3/

Description

The submodule comments

mod4/

Directory/file

mod4/

Description

The submodule categories

mod5/

Directory/file

mod5/

Description

The submodule blogroll

pi1/

Directory/file

pi1/

Description

This plugin delivers all the content for the blog: postst,comments, calendar.

pi1/class.tx_t3blog_pi1.php

Directory/file

pi1/class.tx_t3blog_pi1.php

Description

Have a look at class.tx_t3blog_pi1.php: This class includes all the widgets you have defined in your main TypoScript setup.txt.

pi1/lib/

Directory/file

pi1/lib/

Description

An additional library used for the plugin

pi1/widgets/

Directory/file

pi1/widgets/

Description

Here you'll find all the widgets: archive, blogList, blogrollList and all the other little gadgets.

pi1/widgets/latestPostNav/

Directory/file

pi1/widgets/latestPostNav/

Description

We take this widget as an example again.

pi1/widgets/latestPostNav/class.latestPostNav.php

Directory/file

pi1/widgets/latestPostNav/class.latestPostNav.php

Description

The class where all the work is done for this widget.

pi1/widgets/latestPostNav/locallang.xml

Directory/file

pi1/widgets/latestPostNav/locallang.xml

Description

The standard language file. Each widget has its own locallang.xml.

pi1/widgets/latestPostNav/setup.txt

Directory/file

pi1/widgets/latestPostNav/setup.txt

Description

The TypoScript for this widget. Each widget has its own TypoScript.

pi2/

Directory/file

pi2/

Description

That is a really cool thing: The plugin pi2 delivers the possibility to individually place your widgets as a normal plugin as you are used to with other extensions (e.g. tt_news). So you can have parts of your blog displayed anywhere in your website. For example you easily can display the widget latest posts on your homepage linking to your blog.

static/

Directory/file

static/

Description

static/js/

Directory/file

static/js/

Description

Some Java Scripts. Also mootools is included. To disable it you might remove the following code from your setup.txt:

page.includeJS {

10 = EXT:t3blog/static/js/mootools/mootools.js

}

static/t3blog/

Directory/file

static/t3blog/

Description

Here all the main TypoScript are stored.

What is the difference between p1 and pi2?

pi1

The tx_t3blog_pi1 plugin is only for TypoScript use. You can only include the plugin in your TypoScript or use the predefined TypoScript. You can reference it as “contains plugin” in your advanced page as well, to set this page as a blog-page storage. The pi1 plugin handles all the widgets. It loads their TypoScript and code.

pi2

The tx_t3blog_pi2 plugin is used to show single widgets on pages where the blog isn't installed. You can reference your blog in the plugin and then select the widget you want to display. Just make sure you have added the static template “T3BLOG functionalities on your website” to your template record.

Extending T3BLOG

Create a new widget (t3blog < 0.9.0)

It only takes you three steps to have a new widget-functionality.

1. Create the files

Create a new folder in the widget folder (.../ext/t3blog/pi1/widgets/). Name the folder like your widget should be called. Then create a PHP class with the same name as the folder.

For Example:

Foldername: fileUpload

PHP classname: class.fileUpload.php

The PHP class needs a main method with three parameters. The first and second parameter are the same as in any frontend plugin. The third parameter are the piVars of the t3blog_pi1 class:

functionmain($content,$conf,$piVars)

In all widgets you will find the default initializations of the globalPiVars and the localPiVars.

Please have a look at the existing widget to see how it works in detail.

2. Bring your widget to the frontend

To make your widget visible in the frontend, you have to include your TypoScript in the global setup.txt.

Use the following line to include your template:

<INCLUDE_TYPOSCRIPT: source=" FILE:EXT:t3blog/pi1/widgets/ <widgetname>/<setupname>.txt">

After including the TypoScript you have to initialize the widget in the same TypoScript. Just make a new entry called

widget.<widgetname> in the “page” section

and reference your widget like this:

widget.yourWidget < plugin.tx_t3blog_pi1.yourWidget

Now the system knows there is a widget registered. So to finish this work you simply have to tell the system where you would like to have it placed. If you're using the default template, you should do it in the plugin.tx_t3blog_pi1.layoutBlog-section. Just place your widget with the widget name as a “field“ parameter.

3. Create a new layout

Its easy to make a new layout for your blog. If it isn't enough to change your blog design with the CSS files, you can also create your own TypoScript layout. You only need to overwrite the “plugin.tx_t3blog_pi1.layoutBlog” section with your own layout. All widgets are available as a “field” parameter. So you can place them for example like this:

10 = TEXT

10 {

field = blogList

}

Creating new widgets in separate extensions (t3blog >= 0.9.0)

Please, see t3blog\_widgetdemo extension and information in its README.txt.

FAQ

((generated))

I'm trying to insert the blog to existing service structure with some standard template using plugins-widgets. But normal column shows content elements created via IRRE in blog posts before the list of posts from your extensions.

The solution:

temp.normalColumnWithoutIRRE = CONTENT
temp.normalColumnWithoutIRRE {

    table = tt_content
    select {
       where = colPos = 0 AND irre_parentid = 0
       orderBy = sorting
       languageField = sys_language_uid
    }
}

page.10.subparts.NORMAL_COLUMN < temp.normalColumnWithoutIRRE

(provided by Marcus Bischoff)

I want to change the design – where do I have to change the setup?

The overall layout can be found in static/t3blog/template/setup.txt. There the output is defined and layouted with TypoScript. If you do not like TypoScript, feel free to change it to your favorite template- mechanism.

The design of the blog is linked to the blog-functionalities the following way:

plugin.tx_t3blog_pi1.myblog.template =< plugin.tx_t3blog_pi1.layoutBlog

The layout is referenced and NOT copied! This way you can change the layout of your blog easily in your setup without having to rewrite all the other stuff as well. E.g. by putting the following line into your setup, you can remove the navigation part:

plugin.tx_t3blog_pi1.layoutBlog.10.10 >
Do I have to use mootools?

No. But the folding of the categories and archive is done with mootools. If you do not need it, just change the settings in the corresponding TypoScripts.

How can I change a label in the locallang.xml?

In fact this is very easy. An example with the rss widget:

plugin.tx_t3blog_pi1 {
        rss {
                _LOCAL_LANG.default.rss_click_here = No click here!
        }
}

Your main concern will be to put it on the correct position! Be aware you have to put this BEFORE you send all the content from the plugin to the PAGE object. So make sure the snippet appears somewhere above the statement page.10 < plugin.tx_t3blog_pi1.page.

I tried to change the settings of a widget, but there seems to be no effect?

As an example try something like this one in your template:

plugin.tx_t3blog_pi1{
        tagCloud {
                maxColor = #008CFF
                minColor = #AFDBFF
                renderingAlgorithm = lin
        }
        page.widget.tagCloud < plugin.tx_t3blog_pi1.tagCloud

        blogList {
                adminsCommentsEmail = dbrander@snowflake.ch
                useTipafriend  = 0
        }
        myblog.widget.blogList < plugin.tx_t3blog_pi1.blogList
}

# Do not forget this line...
page = PAGE
page.10 < plugin.tx_t3blog_pi1.myblog

Good to know

Avatar

From Wikipedia, the free encyclopedia:

An avatar (abbreviations include av ,and avi and "avvie") is a computer user's representation of himself or herself, whether in the form of a three-dimensional model used in computer games,[1] a two- dimensional icon (picture) used on Internet forums and other communities,[2][3] or a text construct found on early systems such as MUDs. It is an “object” representing the embodiment of the user. The term "avatar" can also refer to the personality connected with the screen name, or handle, of an Internet user.

See here for more information: http://en.wikipedia.org/wiki/Avatar_(computing)

Gravatar

From Wikipedia, the free encyclopedia:

Gravatar (an abbreviation for globally recognized avatar) is a concept for globally-unique avatars which was invented by Tom Werner.

On Gravatar, users can register an account based on their email address, and upload an avatar to be associated with the account. Gravatar plugins are available for popular blogging software; when the user posts a comment on such a blog that requires an e-mail address, the blogging software checks whether that e-mail address has an associated avatar at Gravatar. If so, the Gravatar is shown along with the comment.

Important to know

Gravatars are rated to make sure only pictures appropriate to the website/blog are displayed. Four different ratings do exist:

  • Xrated gravatars may contain hardcore sexual imagery or extremely disturbing violence.
  • Rated RR rated gravatars may contain such things as harsh profanity, intense violence, nudity, or hard drug use.
  • Rated PGPG rated gravatars may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence.
  • Rated GA G rated gravatar is suitable for display on all websites with any audience type.

See here for more information: http://en.wikipedia.org/wiki/Gravatar

Creating your gravatar takes you only 2 minutes: http://en.gravatar.com/

Known problems

Using IRRE and date2cal does not work due to JavaScript problems. Solution: Uninstall date2cal or ask the developers of date2cal to fix the known problem. Otherwise you will have a white screen and/or a page which never finishes loading. Solution: In the extension date2cal, class.tx_date2cal_wizard.php, in the method “function renderWizard($params, &$pObj)” add the following lines at the beginning of the method:

if (isset($_REQUEST['ajax'])) {
       return '';
}
  • Some people using pi2 have the problem that contents are displayed twice. This is no bug, but anyway annoying. Check out the FAQ section for a solution.

To-Do list

There is much more to do – please refer to http://blog.snowflake.ch to get an impression of what we plan and what others might want to have implemented.

  • Trackback and Pingback support need some more testing...
  • Some more nice widgets would be great

Changelog

  • This version

    • Completly replaced the paging by the extension pagebrowse. Thanks to Hauke Preuß < hhpreuss@googlemail.com > for the tip.
    • Counting the number of views for each post. Thanks to the SLUB for sponsoring this.
    • Added new widget “views” which displays the top viewed posts.
    • security fixes for filters
    • RSS improvements (thanks to Marcus Schwemer <schwemer@netzwerkberatung.de>) and bugfixes
    • tags are displayed in the list and single mode (thanks to Marcus Schwemer <schwemer@netzwerkberatung.de> and the MTUG)
  • Version 0.6.2

    • Comments and trackbacks: added the possibility to add the date and time to the single view of a blog entry.
    • Changed default useage of external website ressources to example.org - according to http://bugs.typo3.org/view.php?id=10916
    • Approving comments: The mail to configure used to be in the conf.php. Now you can easily can change the address during the installation of the blog.
    • Security fix: Some widgets allow SQL injections!
  • Version 0.6.1

    • widget BlogList: added functionality to get notified about new comments in a post. If approved is 0, the notification for new comments will be sent after approving in the backend module
    • widget RSS: made rss-feeds real-url capable
    • widget blogList: added functionality to make comment-fields readonly if a fe-user is logged in
    • widget blogList: changed the splitLongWordsInText function (problem with Chinese)
    • widget blogList: added captcha security in comment form
    • backend: fixed paging bug (hidden elements were not counted) in mod2 and mod5
    • widget socialBookmarks: fixed bug in javascript-code
    • backend: fixed 'pass-by-reference' error in function addChildrenToNonSelectable
    • widget tagCloud: fixed some encoding problems reported by marek krawczyk
    • add new functionality to comment comments (forum style)
    • widget tagCloud: added maxTagsToShow function: displays only the n tags with the most entires in the tag cloud
    • added all missing method and class comments
    • Read only support when commenting: You can set the option that the comment fields are read only when a FE users is logged
  • Version 0.5.0

    First release

img-12 T3BLOG - 32