Announce: Concrete5 eCommerce Pay Methods

The last couple of days have been busy ones for adding functionality and developing new Payment Methods for the Concrete5 eCommerce add-on.


eWay (Australia) v 0.5 [Updated]

This release now supports the “shared” payment methods, using eWay hosted forms for collection of credit card details, removing the need for the site running eCommerce to collect credit cards or need an SSL certificate.

This release is now available on the Concrete5 marketplace for $15.00 USD. (Info Page)


ICEPAY (Netherlands) v 0.2 [NEW]

This is the initial release of a Payment Method for ICEPAY and is currently in testing by a client in the Netherlands and awaiting approval by the Concrete5 team. Planned price is $15.00 USD.

This module currently only supports the Advanced forms based integration method, redirecting the customer to the ICEPAY payment selection screen, supporting all available payments for the country, language, amount and currency requested.

Future plans include adding support for the Web Services integration to directly process all payments without leaving the eCommerce store-front.


SagePay (United Kingdom) v 0.1 [NEW]

After multiple requests for a payment method to support SagePay the initial version of this module has been released.

This module currently only supports the form integration method. Future plans include adding support for the web services integration methods allowing the processing of payments without leaving the eCommerce store-front.

This module is currently in testing and will soon be submitted to the Concrete5 marketplace for approval. If you are interested in beta-testing this module, please email software@jaredquinn.info. Planned price is $15.00, waived for first few beta testers.

Custom Engineered Hosting Platform

I started my IT career as a UNIX systems administrator, and during my career have managed large environments for some pretty impressive clients. Some of these environments were better engineered than others.

During the last few years web development has been the focus of my career, and I have found that while doing that the flexibility of most hosting providers stunts the developers ability to do anything outside of the usual. One such instance of this is recently a client required their web application to be able to occasionally run a stored procedure on a Microsoft SQL server sitting within the client’s network – finding a host that supported the PHP5 Microsoft SQL/Sybase extension shouldn’t have been a difficult task, but it has turned out to be.

The extensions were already available and working perfectly in my staging environment, it was a single package install under Debian. It has no impact on the rest of the server and works perfectly. I can understand large hosting environments being reluctant to make changes that may impact potentially hundreds of sites, or changes that have to be rolled out across a spectrum of servers making up the clustered environment – but in this instance, my client just wanted it working – preferably with their existing hosting arrangement.

I am pleased to announce that today I am commencing a service offering catering for organisations and sites who require customised, tailored and professionally tuned hosting environments. These environments can include redundant servers and specifically engineered server configurations, designed specifically for each individual requirement. The service offering is based around multiple virtual private servers across three countries and two continents to provide reliable, redundant options to this hosting.

Along with the specialised hosting options, I will be offering reliable basic hosting services for any requirement, especially Concrete5 CMS, WordPress and OpenCart – the three main platforms that I specialise my development work for.

I will be “eating my own dogfood” to put it the Google way, and as the current hosting for this site is due to expire over the next couple of months, it will be migrated to the new platform in the coming weeks, stay tuned for updates.

If you would like to discuss options for hosting your site, whatever size and with whatever environment you require, please get in touch – I’m not offering “hosting plans”, I’m offering a customised solution tailored to individual needs, each of which will be quoted individually. You can email hosting@jaredquinn.info for more information.

eWay Payment Plugin for Concrete5 eCommerce

Annoucing support for eWay® Payment processing support for the eCommerce extension to the Concrete5 CMS.

Version 0.2 supports the following features:

  • Live / Test transaction modes
  • All “Hosted” Payment methods:
    • Real Time
    • Real Time CVN
    • Geo-IP Anti-Fraud

Support for “Shared” payment processing facilities from eWay are in development and will be available shortly.

The eWay® payment processing module is available directly from the Concrete5 Marketplace for $15.00 USD.

Concrete to the rescue

I am currently building my second site using what I have found to be the single best free CMS product available – Concrete5.

To quote from the Concrete5 website:

CMS Made for Marketing – Built for Geeks.

This slogan rings so true – the first website I built in Concrete5 is maintained by someone with limited technical know-how, and management of their content has been a breeze.  The current website I’m building around Concrete5 is maintained by designers at a design agency – and they’re having absolutely no problem finding their way around the fantastically simple to use management interface.

The Content Manager

From the content manager’s point of view, Concrete5 is simple to use.  Almost all website maintenance is performed on what is essentially a live looking version of the site with the addition of a toolbar across the top section:

Once the “Edit Page” button is clicked the main content of the site remains, laid out the way it will be for the final view with a few subtle changes.

A context sensitive menu is activated and all editable blocks of the page are highlighted to allow addition of what is known as a “content block” to that specific area.

A wide collection of pre-defined blocks are included catering for Content (edited using a WYSIWG editor), Image, Menu/Navigation, Flash, Video with an extensive list.

Adding to this list is incredibly easy for any developer with a little knowledge of Object Oriented PHP development, but more on that in the next section.

The last feature worthy of note for content editors is the revision control facility provided by Concrete5, where all edits can be fully previewed and then saved, including a descriptive comment to be associated with that particular revision of the page.

A full dashboard is also available for more advanced management of the site, including statistics, full site structure (moving, adding and deleting pages), the media library along with user, plugin and theme management.

Concrete5 uses a consistent approach and very clean design across the management user interface making it an absolute pleasure to use.

The Web Developer

Concrete5 in my opinion has some of the cleanest PHP code I’ve seen in any open source project.  The entire thing is very well designed, uses Object Oriented PHP and is split up so that the core of the system is self contained and any additional plugins, themes and modules can all live outside of the core area.

The area most developers will initially start work with is the theme area.  The default themes are clean and designed for very easy extension.  They are simple but effective div based layouts and nice simple and easy to understand CSS code.

Adding a new “editable” area to a theme is as simple as a block of PHP within your HTML that looks like:

<div id=”sidebar”>
<?php
$as = new Area(‘Sidebar’);
$as->display($c);
?>
</div>

That simple block of code in one place only handles the rendering of the content on the end user site and the edit functionality on the administration side – making all theming as simple as possible.

Extending Concrete5

The simplest form of extending Concrete5 is with “Page Types”.  A Page type handles a particular format/layout of a page,  for instance the site I am currently working on has three layout types.  ”3-column”, “2-column” and “full” representing 1, 2 or 3 column layouts.  Each of these are defined within the dashboard and a single template PHP script for each is required to handle the actual layout.

More advanced extension is possible, with a huge gallery of available extensions already contributed by the community including a simple integrated e-Commerce solution.

On my previous project I developed a plug-in to handle automatic inclusion of Vimeo content along with a LightBox video plug-in used for the video content that was hosted in-house.

Conclusion

I suggest taking a look at http://www.concrete5.org and explore the screencasts and regular videos/tutorials and wealth of information available on the forums there.

I really hope you consider Concrete5 for your next project that requires a serious, yet simple and extendible Content Management System.

Note:  I am not involved in the core development of Concrete5, however I am available for consulting and development on any Concrete5 project.  Please contact me if you would like to discuss your requirements or receive a quote.

Freelance Tools – Paymo

Screenshot

Paymo.biz Dashboard

As a freelancer my time is regularly divided between multiple projects and I’m regularly working from multiple locations – client offices, on the road and in my home office.

Keeping track of my time and client related expenses has in the past been a time consuming task in itself.   My old system was notes on my phone which I would then convert to invoices at the end of each week.  It wasn’t terribly accurate and certainly not an adequate solution.

I had some simple requirements for the solution I would adopt:

  • it must all be in “the cloud” to account for the multiple locations.
  • it must be easy to use.

I decided to try the web-based “Paymo”  which I have now been successfully using for over two months and wanted to share it with my readers.

Paymo has an excellent user interface; simple, clearly laid out screens and logical organisation.

Paymo is designed to cater for multiple users each assigned projects and can enter their tasks against each project – I’m yet to explore this feature as I’ve had no requirement to invite other users to enter times or work on projects (most of my projects I work alone on and generally have goals and tasks determined already by a project manager, content producer or client) – however it’s a feature I’m glad is available, as there will be a need for it in the future.  The free version allows you two users, while a small fee for each user applies if you want more than two.

The “dashboard” screen offers an overview of the current and previous week and month; a graph of what projects your time has been spent on and a summary of recent activity.

The “timesheet” screen provides a day, week or month view of the work you’ve performed and a really simple way to add the time worked on each project – however I try to use the “timer” feature which pops up a separate browser window with project/task selection and a start/stop/pause button along with room for work descriptions.

Originally I started using paymo to track time only and then transfer those times to relevant time sheets or invoices, this has changed recently with more of the work I’m taking on invoiced directly to a client, so I’m using Paymo’s invoicing features, you get 3 free invoices a month with the unlimited invoice option available for US $9.99/mo (I will be upgrading to the unlimited invoice feature within the next few days when I need to process this week’s invoices).

The reporting facility is fantastic – I generally generate a summary invoice for each client and provide them the detailed report in PDF of the break down of that time along side it – something my clients really appreciate and since I’ve started doing that have not had to explain any times on any invoices.

Paymo handles an unlimited number of clients each with their own projects.  Each project is broken down in to task lists and then tasks.  Time is assigned per task and a task can be marked as billable or non-billable.   When adding additional users you can limit them to particular projects with a specific role.

Over the last few months Paymo has saved me in excess of 15 hours of organising, invoicing and general administration, giving me more time to focus on what is important – doing actual work for clients and therefore increasing my productivity and profit.

Paymo can be found at http://www.paymo.biz.

Note: I am in no way affiliated with Paymo however since using it I have become dependant on and a huge fan of their service.