Info - CMS Joomla
EasyBlog 3.5 beta is out!
15.05.12
The wait is finally over! EasyBlog now comes with possibly the most features in a Joomla blog extension ever have in the market. The beta release highlights all of the new additions and enhancements that an ultimate blogging extension for Joomla should be. Some of the killer features: - Multilingual blog posts (Joomla 1.6 onwards only) - More SEO control (Yes, you can control how you want the URL to look like) - New media manager (Something that I would urge you to try) - Integrations with JomSocial album and Flickr (Some really cool feature here!) - 4 brand new blog themes! - Extensive integrations with EasyDiscuss 2.0 - Multiple comments support (as many comment integrations as you want!) - Pinterest Integrations - LiveFyre Comment, Komento integrations, and many more! More details at http://stackideas.com/blog/entry/easyblog-35-beta-released.html You need to a subscription plan in order to try out the beta version. Get it at http://stackideas.com/easyblog.html#subscription Email to sales@stackideas.com and ask for a small discount.
JComments Mobile Joomla! extension
15.05.12
Free your community from their desktops and let them keep interacting on the go - the JComments Mobile Joomla! Extension will adapt JComments for iPhone, Android, BlackBerry, and other smartphones. Mobile Joomla! is happy to announce that the JComments mobile extension is now available. As usual, the team has spent a great deal of time in designing the user interface and custom-fitted it for the most typical mobile use cases. The features include reading, writing, replying with quote, liking, disliking, and viewing attachments in comments. All is HTML5 and CSS3 powered by JQuery Mobile and Elegance Mobile Joomla! template. Highlights and key features: • Supports JComments 2.3.x and up • Read, write, reply, reply with quote, like and dislike • Attachment support for mobile • Displays Attachments • iPhone App mode for full screen browsing • HTML5, CSS3, SEO • Joomla! 1.5, 1.6, 1.7, 2.5 compatible • Full compatibility with all Mobile Joomla! Extensions For more information and screenshots, please visit: http://www.mobilejoomla.com/extension/jcomments-mobile-joomla-extension The JComments mobile extension comes with a full year of priority support, documentation, and product improvement updates. JComments Mobile Joomla! Extension has been designed in cooperation with the JoomTune core team, and each purchase will support their development. If you want to see how the extension looks like, just navigate to www.mobilejoomla.com with your mobile phone and browse to the blog! Mobile Joomla! are continuously adding more supported Mobile Joomla! extensions to its extension directory. The team is happy to hear from Joomla! extension or template providers that are interested in getting robust mobile support in place: hello at mobilejoomla dot com.
Mandrill for Joomla! Say hello to transactional emails!
15.05.12
3 inShare In the beginning of the month Mailchimp unveiled a new service called Mandrill. Mandrill is a service that allows you to send transactional emails. The core features of it can be summarized in the following lines: Uses MailChimp's awesome email delivery engine Tracks opens and clicks Automatically adds Google Analytics tracking data to the URLs in the mail Has pretty, visual reports of the email results Allows you to tag the emails and see your stats filtered by tag And maybe last but not least - the Mandrill service offers a powerful API! Since APIs are for geeks MailChimp contacted us to create a Joomla plugin for the normal user. And there we have it! Mandrill for Joomla is a plugin that you can install as any other Joomla plugin. After the installation all you need to do is provide your Mandrill API key and from now on the mails that your Joomla site is going to send are going to be send through Mandrill's API. On the Mandrill's website you will be able to see the clicks, open rates. The plugin also tags the messages by component name, view and task. This way you can easily identify what messages are send, from where and when. For more information about the way the plugin works and what limits there are check out the documentation. The plugin is completely free, just head to our download section and get it! (to see the download section you need to be a registered user) If you need any support just drop us a line in the forum section for Mandril: https://compojoom.com/forum/116-mandrill-for-joomla
Tiles - the new awesome way to present your content!
15.05.12
Today we present you another new Joomla 2.5 extension - Tiles. Tiles is a new way to present your content. You can use Tiles to show photos, present products or display news in an modern and unique way. Take a look at the Tiles - Detail page for an overview. You can see it live at the demo site or at the Compojoom Startsite. Tiles comes with three different Templates (simple, modern and compojoom) and many different scrolling effects, like Transitions or Scroll on Mouseover. You can style every tile to your needs, from backgrounds (image, color, gradients etc.), over Linktypes (like buttons or just one link over the whole tile) till effect-overlays. Tiles has an great, 100% Ajax driven, backend editor, which enables you to easily create and manage your Tile-Galleries in no time.
How to use JDate
15.05.12
Few days ago I decided to help Yves with a datetime bug in Matukio (dating back to its Seminar roots). Everything seemed to be straight forward. I've worked with JDate in the past and had some experience with timezones. So I took the challenge thinking that I'll spend 2h and everything would be fine. Well, as it often happens a 2h job turned to be a one and a half day job... (this could make a very good blog post about estimates, but I'll do that another time...) Let us examine the problem at hand. User A fills out a form, which has a field that stores a date. The best thing to do when you store the date in the db is to convert it to UTC. Why to UTC? Well this way you can have always a starting point and when you present the output to the user you can add different timezones depending on the users position. The trick here is to convert the date back to UTC. Fortunately JDate can help us with that. If you look at the JDate class in libraries/joomla/utilities/date.php you will see that the constructor actually expects 2 parameters -> the date and the timezone. So when you save a date you would generally want to do something like this: $date = new JDate($myDate, $myTimezone); Now the question is -> how do you properly calculate a timezone? Well, joomla helps us with that as well. You could write a small utility function that would look like this: /** * Returns the userTime zone if the user has set one, or the global config one * @return mixed */ public static function getTimeZone() { $userTz = JFactory::getUser()->getParam('timezone'); $timeZone = JFactory::getConfig()->getValue('offset'); if($userTz) { $timeZone = $userTz; } return new DateTimeZone($timeZone); } In the first line we try to get the user timezone, in the second we get the global config timezone. If the user has set a timezone in his configuration, then we pass the value of it to the DateTimeZone object. If the user on the other hand has not set a timezone, then we use the global one. Now that we have the correct time zone we can format the date to the MySQL format and store it in the database. $myTimezone = myHelperClass:getTimezone(); $date = new JDate($myDate, $myTimezone)->format('Y-m-d H:i:s', false, false); The first parameter to the format function is 'Y-m-d H:i:s' - this is the format we want our date to be saved in the db. The second parameter tells the function that we want to have the GMT/UTC time and the third parameter tells the format function that we don't want to translate the date. Now you can save a correct UTC date in your database. Once you have that you will obviously want to show the date to the user again. This is also fairly straight forward provided you don't make the same mistake as I did. When I was trying to show the date I stored in the DB I was thinking - hm, the second parameter that I pass to JDate is the timezone, so obviously I need to pass the timezone I want my date to be presented in. So I used my utility function and passed the timezone as a second parameter. After that I just used the format function to output the date, but to my astonishment instead of showing the correct date and time I expected my date was actually 2h off. I wanted to have a date in the Berlin timezone, which is +1 (and +1 for DST), but I somehow ended with a date that was -2... I couldn't understand what was going on. So eventually I ended up purchasing a book that deals with the Date and Time subject in depth: Date and Time programming - a very good book on the subject and a good read for every PHP developer. After few hours reading I learned a lot of things that I didn't know , but unfortunately I still couldn't understand why my date was -2h off... Eventually it struck me like a lightning! The second parameter was there to help JDate convert the date to UTC, I was not supposed to pass a timezone parameter if my date was in the UTC timezone. Here is what I had to do: $date = new JDate($myDate); $date->setTimezone($myTimezone); echo $date->format(...); Easy isn't it? There are also few things that could be useful to know: JHtml::_('date', $myDate) will output an UTC date in the user's timezone automatically -> so there is not need to calculate the timezone yourself. JHtml::_('calender', myDate ...) won't convert the date to the user's timezone so you have to make sure that you provide the date with the correct timezone If you use JForm calender time you can provide a filter: SERVER_UTC or USER_UTC that will handle the timezone calculations for you. I hope that this post will save you some time and that you learned something :) If you have any questions or remarks use the comment section below!