Support

Forums

Contact Me

Posts Tagged 'joomla'

Joomla

Joomla is a free and open source content management framework (CMF) for publishing content on the World Wide Web and intranets and a model–view–controller (MVC) Web application framework that can also be used independently. [http://en.wikipedia.org/wiki/Joomla]

Continuous build for Joomla! part1/x

Automatic installation of Joomla! runtime environments

Main ideas

Build is scalable

Distributed build management optimize hardware resources utilization by parallelizing product builds within the build agents grid. With build chains support, it is even possible to break down a single build procedure into several parts to run them on different build agents — both in sequence and in parallel — using the same set of sources in all of them.

I want to be able to test my components against many versions of Joomla!

All versions of Joomla! are in subversion as zip files in an own SVN repository

For example:

  • ${JOOMLA15_VCS_ROOT}  is svn:\\localhost\joomla1.5\trunk
  • ${JOOMLA10_VCS_ROOT}  is svn:\\localhost\joomla1.0\trunk

These repository ${JOOMLAxx_VCS_ROOT} are connected to all build as supplementary VCS root in TeamCity and thus content get checked out as part of the build in the build temporary directory of one agent. ($AGENT_BUILD_DIR)

joomla1.5\trunk
                            Joomla_1.5.4-Stable-Full_Package.zip
                            Joomla_1.5.5-Stable-Full_Package.zip
                            Joomla_1.5.6-Stable-Full_Package.zip
                            Joomla_1.5.7-Stable-Full_Package.zip
                            Joomla_1.5.8-Stable-Full_Package.zip

So after the checkout, the file system will look like

($AGENT_BUILD_DIR)\                     

                                 Joomla_1.5.4-Stable-Full_Package.zip
                            Joomla_1.5.5-Stable-Full_Package.zip
                            Joomla_1.5.6-Stable-Full_Package.zip
                            Joomla_1.5.7-Stable-Full_Package.zip
                            Joomla_1.5.8-Stable-Full_Package.zip

If you don't want to provide support a a specific version of Joomla! just remove it from the trunk! or add new ones on purpose. That's easy.

Ant tasks/Maven MOJO

  • Are responsible for unpacking all these zip files to the build temporary agent directory. ($AGENT_BUILD_DIR).
  • Filenames are found with a configurable regular expression,
  • All settings will be committed in \joomla1.5\trunk\build.deploy.properties

Another ant script/task will for each zip,

  • Start a Selenium test cases that will create a virtual user that use the regular Joomla! installer and drive installation till the end.
  • All settings which have to be Joomla! and build independent will be randomly generated, preferably UUID for password and database name for example.
  • Login and Admin password may be the same (admin:admin) at the beginning but can also be generated and written to a file on disk in ($BUILD_DIR)/{joomlarootversion}/build.install.properties.
  • Directory installation ($BUILD_DIR)/{joomlarootversion}/installation will be renamed to ($BUILD_DIR)/{joomlarootversion}/installation.old or simply deleted
  • Selenium/PHP Unit test that are committed in \joomla1.5\trunk\Installation.Checks will perform basic checks (login, logout, navigate) to ensure that installation of Joomla! has been successful.
    If everything succeed, we will have a set of Joomla! versions ready for our components regression testing.

Remarks:

  • No build temporary directory. ($AGENT_BUILD_DIR) will be deleted by Ant or Maven but by the build server itself. This will let developer look at the issues on file system and in database.
  • New scripts may be developed to extract from the build server or Joomla! farm easily the non running Joomla! instance files + database) so developers can install the broken setup locally.

Automatic deployment of Joomla! components

Your component is typically shared and many developer committed regularly in a different VCS root... For SecurityImages 5.x.y, subversion root may be  svn:\\localhost\securityimages5\trunk

This VCS root is also attached to the build and get check out at build time by TeamCity.

Packaging

if a build.xml is present in {VCS_ROOT}\build.xml then it is executed prior to any further operations, purpose of build.xml is to produce a component binary distribution (zip or tar.gz) that can be then installed to ALL Joomla install in the agent root directory.

Deployment

if a deploy.xml is present in {VCS_ROOT}\deploy.xml then it is executed, purpose of deploy.xml is to deploy one or many component binary distribution (zip or tar.gz) to ALL Joomla install in the agent root directory.

Why one or many component?

I want to be able to track also component dependencies issues.

Lets say that SecurityImages does not play well with VirtueMart, I may want to test also that combination across Joomla! instances, that's why VirtueMart may have to be deployed with SecurityImages or not.

prerequisites:

  • Running SVN server, see HERE for installing it on windows
  • Installed JVM, latest JDK 1.6u10
  • Running TeamCity server
  • Running XAMPP with HTTP root directory at TeamCity agent root directory.
  • Apache ANT with additional library for more control (if, case, for loop)

This articles will be available in my WIKI soon http://wiki.waltercedric.com/index.php?title=ContinuousBuildforJoomla so any reader or developer can participate to the discussion, next step is to implement the above and that will e documented as well :-)

MYSQL tuning with mysqlreport

mysql.logo I found this interesting tool (beside tuning-primer.sh) while trying to optimizing my server setting for Joomla!

mysqlreport

mysqlreport makes an easy-to-read report of important MySQL status values. Unlike SHOW STATUS which simply dumps over 100 values to screen in one long list, mysqlreport interprets, formats, and then nicely presents the values in report readable by humans. Numerous example reports are available at the mysqlreport web page.
The benefit of mysqlreport is that it allows you to very quickly see a wide array of performance indicators for your MySQL server which would otherwise need to be calculated by hand from all the various SHOW STATUS values. For example, the Index Read Ratio is an important value but it is not present in SHOW STATUS; it is an inferred value (the ratio of Key_reads to Key_read_requests).

Grab it at http://hackmysql.com/mysqlreport

How to run it (more options), it require PERL to run.

# ./mysqlreport --user xxxxx--password xxxxxx| more

Running mysqlreport against my host, gave the following results:

  • very good table lock 0.02%
  • very good read ratio 99.93%
  • good query cache, but could be reduce to 40Mb to avoid wasting memory resource

if you need something more professional and can afford it, you can try Mysql Enterprise (free for 30 days, enough to tune any small server bottleneck)

 

Read more: MYSQL tuning with mysqlreport

GuestBook for Joomla! version 5.1.3

Version 5.1.3 of the oldest and maybe the most famous GuestBook for Joomla! is out

BUG: Title of page was missing in front end.

NEW: "I wan't to let the visitors enter their email address, but I don't want it to be shown on the front page." A new setting in back end just allow that, "Hide user email in front end"

NEW: A donate button has been add in the back end under "About"

NEW: A new statistics page, that give you an overview of user rating. New statistics can be added easily, I just wait for your ideas ;-)

guestbook.for.joomla.statistics

NEW: Add a new menu entry "Support" that goes directly to the GuestBook forums.

NEW: Add a new menu entry "Documentation" that goes directly to the GuestBook WIKI.

Download HERE

New features, bugs or support, go to my forums

Be secure use the latest Joomla! version

site.down.hacked

If you are running any of the following Joomla versions it might just be a matter of time before you too are hacked!

  • Joomla! 1.5.0
  • Joomla! 1.5.1
  • Joomla! 1.5.2
  • Joomla! 1.5.3
  • Joomla! 1.5.4
  • Joomla! 1.5.5
  • Joomla! 1.5.6
  • Joomla! 1.5.7
  • Joomla! 1.5.8
  • Joomla! 1.5.9
  • And maybe to a lesser extent Joomla! 1.5.10
The latest, and most secure Joomla version is Joomla! 1.5.11 - and was released last week! Backup your site and database and just unpack the right Joomla! distribution now.
Articles tagged

Announcing a plugin for Joomla! 1.5 to embed Freemind Mind Map in your articles

freemind.logo

joomla

I am developing a new plug-in for Joomla!! 1.5 that allow you to display any Freemind Mind Map using a fancy Flash applet in any Joomla! article

Usage:

you’ll be able to write in your article this special text code

{mindmap url:http://…./map.mm}

to trigger the rendering.

The admin panel will contains a lot of settings, among others: width, height, settings of the rendering applet.

Code is ready and will be released shortly. Submission to Joomla extensions directory will be done later this week.

Joomla 1.5.13 Security Release Available

f_1218589627

The Joomla Project announces the immediate availability of Joomla 1.5.13 [Wojmamni ama baji]. This is a security release and users are strongly encouraged to upgrade immediately.
This release contains 26 bug fixes, two moderate-level security fixes and one low-level security fix. It has been 3 weeks since Joomla 1.5.12 was released on July 1, 2009. The Development Working Group's goal is to continue to provide regular, frequent updates to the Joomla community.

Statistics

Statistics for the 1.5.13 release period:

  • Joomla 1.5.13 contains:
    • 7 issues fixed in SVN
    • 7 commits
  • Tracker activity resulted in a net increase of 42 active issues:
    • 68 new reports
    • 19 closed
    • 7 fixed in SVN
  • At the time the 1.5.13 release was packaged, the tracker had 188 active issues:
    • 89 open
    • 68 confirmed
    • 31 pending

Read more HERE

HOW to make your own patches for securityimages

Just in case I take too much time to deliver a ready to use download, duration 5 minutes, but you need to understand basic php coding

  1. Create a temporary directory c:\patch
  2. Copy an existing patch distribution, under a new name
    For example, lets download Joomla_1.5.13-Stable-Full_PackageForSecurityImages5.1.x_v01.01.00.zip into c:\patch\ and copy it to c:\patch\Joomla_1.5.14-Stable-Full_PackageForSecurityImages5.1.x_v01.01.00.zip
  3. Download the latest full zip package of Joomla that target the patch (here 1.5.14), so I download Joomla_1.5.14-Stable-Full_Package.zip and save it in the same directory c:\patch\
    patches.for.securityimages.howto
  4. Now download a free trial copy of Beyond compare from www.scootersoftware.com and install this great application
  5. Select the 2 zip files, and right click “compare”
    patches.for.securityimages.howto.1
  6. Now it is like a game, on the left side, you have you patch that need to be updated with the latest Joomla! core changes, just edit every file present on the left and update line that are new or changed till you are finished. Luckily there is only 14 files to merge
    patches.for.securityimages.howto.2
  7. Test the result in a Joomla test instance.

I do this for you at each release of Joomla!

Digital watermarking with PHP and GD2

joomla_cms

php.logo  

Digital watermarking is the process of possibly irreversibly embedding information into a digital signal. The signal may be audio, pictures or video, for example. If the signal is copied, then the information is also carried in the copy. In visible watermarking, the information is visible in the picture or video. Typically, the information is text or a logo which identifies the owner of the media. [Wikipedia]

If you decide to go with an online watermarking, you can let watermark picture on the fly using php and .htaccess (at the cost of additional CPU server resources).

Read more: Digital watermarking with PHP and GD2

Content plugin for Joomla! 1.5 to embed Freemind Mind Map in your articles

joomla

I offer You now a new plug-in for Joomla! 1.5 that allow you to display any Freemind Mind Map using a fancy Flash applet in article content.

You can put anywhere in your article the following keywords {freemind uri= width= height=}

freemind.example2 This Joomla! plugin use Freemind Flash Browser: http://freemind.sourceforge.net/wiki/index.php/Flash_browser

 

You can see the flash browser in action (full screen) here

Read more: Content plugin for Joomla! 1.5 to embed Freemind Mind Map in your articles

Secure, Safe, Fast Linux Hosting v1.6.0

Here is the latest version of my growing mind map that will help you to secure your Linux box. While some node are clearly targeted toward Joomla!, you can still safely apply a lot of my recommendations to any LAMP (Linux, Apache, MySQL, PHP) server.

 

This mind map is an ongoing work, that is why it has also a version number in it (v1.6). As soon as I will learn new tricks, the mind map will be updated.

map

Added Crash – Kernel Panic / Password / Intrusion Detection / Joomla! links / PHP settings / mod security

New mind map are currently in development:

  • Linux Compromised Server Checklist
  • Linux Server What to monitor

By clicking read more, You'll be able to go through the checklist as text, or download the mind map as a PDF (2MB)


Read more: Secure, Safe, Fast Linux Hosting v1.6.0

Donations

Thank You for supporting my work