Blog

Blesta 3.0: Developer Docs

June 8, 2012 | Posted by Cody


With a private alpha release due out soon, we’re gearing up to help developers take full advantage of the 3.0 platform. Our goal is to make it as easy as possible to build really advanced plugins, widgets, gateways, and modules. To facilitate that we’ve written some detailed interfaces and libraries, as well as put together a pretty in-depth developer manual. And while the v3 source is almost entirely open, I figured what the heck, how about some source code documentation? So I created Doctorate.

Doctorate is a simple plugin for minPHP that documents source code using Reflection. Being able to read the source documentation without actually having to open the source code is a huge advantage. But because the Blesta API is just a simple access wrapper for the Models it’s a huge time saver for us. It would take months to document every API request (there are hundreds and hundreds), but Doctorate does it automatically.

Here is a sneak peak of the source code documentation from Doctorate…

Doctorate - Source Code Documentor

Here is a sneak peak at the developer manual…

So when can you expect to get your hands on the developer manual and source documentation? If you’ve made it onto our developer list you can take advantage of these resources as soon as alpha is released. When 3.0 goes into beta we’ll make the documentation public.

Blesta 3.0: Currencies (video)

May 4, 2012 | Posted by Paul


I came into work this morning with literally no idea what the video was going to be about today. I have a list of topics, but nothing felt right and then I realized we haven’t really talked about currencies much. It’s part of a larger topic, Internationalization, and with what we’re doing with language support and the translator it only makes sense that we should discuss currencies.

Of course, a big part of currencies is multi-currency support and v2.5 has it, but it’s much improved in v3. In v2.5, multi-currency has to be explicitly enabled and everything revolves around the default currency. While v2.5 can accept payments in many currencies, clients are billed based on the exchange rate to the default currency. So, the biggest difference between v2.5 and v3 is that prices can be specified at the package level for each individual currency, effectively fixing prices. Only when a price is not available for the currency does the exchange rate come into play.

  1. Prices can be set for each currency at the package level, which overrides the exchange rate.
  2. Multi-currency doesn’t need to be enabled, just use it if you want to use it.
  3. Exchange rates can be fetched from Foxrate, Yahoo Finance, or Google Finance.
  4. Exchange rate updates can be disabled and exchange rates manually updated.
  5. New package period options Day, Week, and Year in addition to Monthly and One Time.
  6. Cancellation fees can be assessed and configured at the package level.

Interesting fact! With Day, Week, Month, and Year package period options now available, terms can range between 1 and 65535 (216 – 1) which equates to 65535 * 4 + 1, or 262,141 possible service terms available. So much for just monthly, quarterly, semi-annual, and annual huh? Do your own thing.

The video is below, as usual you can make the video full screen, and be sure to turn on your sound.

Blesta 3.0: The Translator (Update)

April 27, 2012 | Posted by Paul


In January we announced the availability of a language crowdsourcing project, the Blesta Translator. The goal of the project is to facilitate the translation of Blesta into many languages, and to ship these languages with Blesta, starting with version 3.

This week we made a few additional changes live, and they are –

  1. Added Nederlands, NL (nl_nl) to the list of available languages
  2. Added a machine translation (Google) for reference
  3. Added “In Order” and “For Confirmation” translation methods
  4. Added some context to language strings including terms, filename, and type

#2 Machine Translation

The machine translation is available for all translation methods, “Random”, “In Order”, and “For Confirmation”. By default it is not displayed, but will be shown when a link is clicked. The idea is that it may be useful to see the Google translation, but that it shouldn’t be relied on, or copied without forethought.

#3 Additional Translation Methods

The goal of the translator isn’t simply to get translations, but to get good translations.

When different people translate a term identically, it has a higher weight than terms that are only translated by one person. Such terms become “confirmed”, and are trusted to be more accurate. So, the “For Confirmation” translation method displays the best possible translations by other people. One of these translations can be accepted by clicking on it. Alternatively a different translation may be entered like normal.

The “In Order” translation method is pretty self-explanatory, terms are given in alphabetical order with the goal of completing a translation. This means that some terms may be skipped initially until the translation is completed as a whole. Once the translation is completed, terms that were intentionally skipped will be presented.

The end goal is to make several translations available. A version translated wholly by a specific person, a confirmed only translation that may be missing some terms (missing terms are shown in the default language), or a complete translation consisting of confirmed only or both confirmed and unconfirmed terms. The latter are the ones we will include with Blesta by default, but all will be available for direct download in the future.

Thanks for reading! If you know another language, please sign-up and contribute

Video next week? Probably.

Blesta 3.0: Invoice Customization (video)

April 6, 2012 | Posted by Paul


Cody posted an article last week on Software Licensing, which I found amazing. Be sure to check it out if you haven’t already.

This week I’ve got another video, and it’s all about options available for invoices. There are many improvements in v3 when it comes to invoices, so I thought you might like to see what we’ve got cookin.

  1. Two all newly designed invoice templates available.
  2. Invoice formats are now available. Add a prefix, suffix, and/or the year to invoice numbers.
  3. Set or change the next invoice number anytime.
  4. Have invoice numbers increment 1 at a time or in multiples, ie Invoice # 5, 7, 9.
  5. Pad invoices to a specific length, ie Invoice # 00001, or xxxx1.
  6. Add your logo, a background image, and company name and address to invoices.
  7. US Letter, and A4 paper sizes now supported.
  8. A PAID watermark can now be displayed on paid invoices.

Invoices are flexible yet simple, fully internationalized, clean, and they print beautifully. I’m really happy with the changes we’ve made to invoices since 2.x and I hope you are too!

The video is below, as usual you can make the video full screen, and be sure to turn on your sound.

Blesta 3.0: Staff Calendar (video)

March 10, 2012 | Posted by Paul


It’s been a while since I posted a video, I missed you. So, today — a new video, about the Staff Calendar. Staff Calendars feature the following:

  1. Mini dashboard calendar with badges that indicate the number of events for each day.
  2. Full size monthly, weekly, and daily calendar.
  3. Shared events, staff members can share events with everyone on their team, or keep them private.
  4. Multi-day, whole day, and time based events are supported.
  5. Intuitive drag-n-drop interface to create and edit events.

We hope you like the calendar, I know our team will be using it! Developer tidbit: Yes, you’ll be able to add events to the calendar from your custom plugin. I know people are going to ask so I’ll tell you.. recurring events are planned for a future release.

The video is below, as usual you can make the video full screen, and be sure to turn on your sound.