Overview
The 14.6 release was released 2014-06-16. The largest changes and focus areas were:
- Working better out of the box You are now able to configure things like mail templates, workflow settings and scheduled tasks from the Admin Panel. In addition the products have more defaults, and the Generic Workflow is enabled by default.
- Simplified troubleshooting and management We added a customer specific view of the Action Trail as part of the customer card in the Admin Panel, and simplified commonly used tasks such as retrying provisioning for a subscription.
- GUI improvements We improved the usability of the Admin Panel with a significant number of small fixes and improvements.
- Quality and stability We continued to focus a large percentage of our resources on fixing problems and other general quality improvements.
Software versions
The 14.6 release consists of the software versions listed below. Please note that you should always use the latest version available at the stable package repository, to make sure you get the latest security and stability updates.
- Action Trail: 14.6.5276.22674
- Admin Panel: 14.6.5277.15793
- Automation Server: 14.6.5277.15892
- Automation Server Client: 14.6.5277.15938
- Customer Panel: 14.6.5277.26863
- Atomia Billing: 14.6.5280.19821
- Hosting Control Panel: 14.6.5277.26619
- Atomia Identity: 14.6.5277.17349
- Public Order Page: 14.6.5277.17423
- Cloud Hosting Pack: 14.6.5280.17913
- Atomia Domain Registration: 1.1.146
- Atomia DNS: 1.1.28
- Filesystem Agent: 14.4.2
- Apache Agent: 0.2.99
- DynDNS Agent: 14.1.0
- Awstats Agent: 1.1.30
Changes
The list of changes since the last stable release (14.1, released at 2014-01-27) include:
New features
- Admin Panel: Added pages for configuring the Generic Workflow.
- Admin Panel: Added template administration pages.
- Admin Panel: Added plugin settings page: enable/disable all plugins and configure Generic Workflow plugins.
- Admin Panel: Added scheduled tasks settings page.
- Atomia Billing: Added support for per-reseller account number series.
- Atomia Billing: Added template documentation.
- Atomia Billing: Added type column for templates.
- Atomia Billing: Added template preview method.
- Atomia Billing: Added plugin methods: ListPlugins, GetPluginById, GetPluginByConfigurationId, GetPluginConfigurationSchema, UpdatePluginConfigurationValueById, EnablePlugin, DisablePlugin.
- Atomia Billing: Added JSON schemas for Generic Workflow plugin configurations and validated default configurations.
- Atomia Billing: Added method for searching templates.
- Atomia Billing: Added method for deleting scheduled tasks.
- Atomia Billing: Added methods UpdateScheduledTask and UpdateScheduledTasks.
- Atomia Billing: Added search method for scheduled tasks.
- Atomia Billing: Generic Workflow is the default work-flow on first install.
- Atomia Billing: Added cron style support for the scheduled tasks.
- Automation Server: Added ResellerSpecificArbitraryPolicy resource assignment policy plugin.
- Automation Server: Made package id visible in ProvisioningService API class.
- Automation Server: Made it possible to select a package for root services by specifying ProvisioningService.packageId
- Automation Server: Made DeletePackageExtension accessible through PackageOperations.
- Automation Server: Made IsPossibleToChangePackage accessible through PackageOperations.
- Hosting Control Panel: Added support for multiple hosting packages per account.
- Public Order Page: Added support for buying the WordPress package.
Fixes
- Admin Panel: Include CSV print report functionality in installed files.
- Admin Panel: Fixed & and that were not converted in CSV print reports.
- Admin Panel: Reset session on security token exception.
- Admin Panel: Upload payment files with the selected reseller account.
- Admin Panel: Fixed bug that prevented subresellers from adding customers.
- Admin Panel: Made default payment method mandatory on the customer card.
- Admin Panel: Make campaign editor decimal parsing locale sensitive
- Admin Panel: Fixed page reload error on entering invalid date in Add payments form.
- Admin Panel: Fixed bug in authorization constans for Plugins/Read.
- Admin Panel: Fixed pagination bug in the Datatables code.
- Admin Panel: Updated Atomia.Common.dll for atomiaConfigurationStore.overrides parsing fix.
- Admin Panel: Updated validation plugin for product category based validation changes.
- Admin Panel: Fixed help text in Add new invoice.
- Admin Panel: Fixed initialization of selected products in edit invoice and order.
- Admin Panel: Fixed Edit order and Edit invoice page reload after failed server-side validation.
- Admin Panel: Fixed username validation blocking new order for existing customer.
- Admin Panel: Added validation fields that were missing in Add/Edit user forms.
- Admin Panel: Disabled password strength meter for password placeholder in Edit user forms.
- Admin Panel: Fixed validation for username and password in Add/Edit user forms.
- Admin Panel: Fixed JavaScript validation triggering correctly for pre-filled values in edit forms for order and invoice.
- Admin Panel: Fixed hiding extra settings in Add customer form.
- Admin Panel: Added missing fields for company name and email for billing and shipping addresses in Add customer form.
- Admin Panel: Fixed username and password validation in Add/Edit customer forms.
- Admin Panel: Added configurable customer validation to Add/Edit customer forms.
- Admin Panel: Non-blocking username check in Add/Edit order.
- Admin Panel: Moving cursor on failed username validation in Add/Edit order
- Admin Panel: Allow payment of invoices with status new.
- Admin Panel: Prevent adding of empty custom attributes on credit invoices.
- Admin Panel: Don’t display VAT ID on credit invoice add/edit if empty.
- Admin Panel: Prevent editing of closed and credited invoices.
- Admin Panel: Fixed sorting for subscriptions in customer card.
- Admin Panel: Fixed sorting List of invoices on Amount
- Admin Panel: Remove possibility of adding payment in currency that does not match currency on invoice.
- Admin Panel: Fixed unmatched payments were automatically added to Add payment form on empty Paid field.
- Admin Panel: Fixed sorting of List of payments columns.
- Admin Panel: Show latest note on customer card overview independent of notes tab sorting and filtering.
- Atomia Billing: Set {CreatedBy,}AccountId on credited invoices based on invoice details.
- Atomia Billing: Fixed campaign code could be marked as used to early.
- Atomia Billing: Fixed bug in UpdateDateObject custom attribute code.
- Atomia Billing: Don’t exclude renewal subscriptions if maxItemsCount is zero.
- Atomia Billing: Fixed automatic unsuspension of paid proforma invoice.
- Atomia Billing: Added ShouldCreateInvoice method to AccountsHelper which takes subscription as argument and changed InvoiceEventHandler to use this.
- Atomia Billing: Prevent renewal invoices from being created if the amount is zero or less.
- Atomia Billing: Add some default payment methods for the default reseller if missing.
- Atomia Billing: Handle duplicates of custom attributes of subscriptions more gracefully.
- Atomia Billing: Fixed bug in ProvisionSubscriptions when ResetContext has been called.
- Atomia Billing: Initialize a transaction for each provision subscription attempt.
- Atomia Billing: Fixed two issues in UsageReportHelper where it would fail when ParentAccountID was empty
- Atomia Billing: OrderedItemsCountConditionHandler was linked against invalid NHibernate version, refactored to use the OrderRepository instead.
- Atomia Billing: Fixed bug in ListDomainOnlyInvoices that was causing the function to return invoices without any invoice lines
- Atomia Billing: Fixed bug in ListDomainOnlyInvoices that was causing the item repository to throw exception due to missing LanguageId filter
- Atomia Billing: Added tests for the above function/issues
- Atomia Billing: Fixed bug in ListUnpaidInvoices which would cause the function to return an empty list if any subscription for the customer had null invoice_id
- Atomia Billing: Added renewal test for subscriptions that has an item with a renewal item set.
- Atomia Billing: Removed min date limit from subscription renewal task.
- Atomia Billing: Added unit test for renewals with recurring payments.
- Atomia Billing: Fixed bug in subscription renewals when paid with credits and added test.
- Atomia Billing: Added clean up code for the SubscriptionRenewalUnitTest and fixed a bug.
- Atomia Billing: Fixed GetSubscriptionForTerminationNoticePeriod to work if ParentAccountId is empty or null which is the case for root reseller.
- Atomia Billing: Fixed bug in the MonthlyInvoicesAndMonthlyInvoicesForAll unit test.
- Atomia Billing: Prevent invoices from being credited more than once.
- Atomia Billing: Fixed bug that causes infinite loop when adding users to subresellers.
- Atomia Billing: Only return latest renewed subscriptions from SearchSubscriptions
- Atomia Billing: Added documentation for the monthly invoicing per customer option.
- Atomia Billing: Added quantity column to Invoice and Order templates.
- Atomia Billing: Take DomainRegDefaultNameserver custom attribute into account when registering a domain name.
- Atomia Billing: Copy reseller attribute ResellerRootDomain to customer.
- Atomia Billing: Added payment configuration examples to documentation.
- Atomia Billing: Set correct username for account details email.
- Atomia Billing: Fix so matching of payments works for invoices with status new.
- Atomia Billing: Set invoice line discount to price if discount is greater than the price.
- Atomia Billing: Fixed Adyen payment plugin to use LATEST as recurring details reference instead of stored value which can be outdated/disabled on Adyen side.
- Atomia Billing: Added descriptions for templates and fixed broken templates.
- Atomia Billing: Prevent subscriptions with state Extended and Renewed from renewal.
- Atomia Billing: Fixed bug in GetItemByArticleNumber by refreshing the data object.
- Atomia Billing: Fixed incorrect invoice reminder documentation.
- Atomia Billing: Make NoInvoice custom attribute only apply to upgrade/downgrade/renewal if the new item also has this property
- Atomia Billing: Don’t flush for each payment in CreatePayment.
- Atomia Billing: When sending credited invoices keep status as Credited instead of changing to Sent.
- Atomia Billing: Allowed subscription states in DowngradeInvoiceSubscriptionsCustomAction changed to Ok, Suspended and Renewal instead of only Ok.
- Atomia Billing: Credit invoice date is no longer updated when the credit invoice is sent
- Atomia Billing: Allow owner authorization of plugin configurations that do not have a specific reseller.
- Atomia Billing: API change: PaymentMethodEnum is now removed and all usage of it is changed to string.
- Atomia Billing: Actions in TransferInNotificationScheduledEventHandler no longer require sending notification.
- Automation Server: Add ResellerRootPath attribute to root reseller on first installation
- Automation Server: Only sync expiresAfter properties for Ok services.
- Automation Server: Made NativeAPI not fail when adding service on resources.
- Cloud Hosting Pack: Fixed SiteCommand of BaseKit module to update SiteRef property once the site is created.
- Cloud Hosting Pack: Added support for db table prefix in Installatron.
- Cloud Hosting Pack: Fixed CsExternalDomainRelatedSubscription SubscriptionPlan propagating to BaseKitPackage on update.
- Cloud Hosting Pack: Fix GenerateTablePrefix in installatron module
- Cloud Hosting Pack: Don’t override default behaviour in OnBeforeChangePackage hook.
- Customer Panel: Updated HostingProducts plugin to fix domain search prices for resellers with same currency.
- Customer Panel: Don’t filter upgradeable extra services if allowmultiple is set in product config.
- Customer Panel: Disable prepaid credits buy button if it is not possible to buy prepaid credits.
- Customer Panel: Reset session on security token exception.
- Customer Panel: Removed unnecessary call to DomainSearchHelper.LoadProductsIntoSession.
- Customer Panel: Changed SaveCCInfo text for the en/us translation.
- Customer Panel: Only display the check transfer status link on domain transfer orders.
- Customer Panel: Fixed typo in close account dialog.
- Customer Panel: Fixed payment of invoice looks like it succeeds when no payment plugin is set.
- Customer Panel: Filter out Pay With Invoice as alternative for paying existing invoices.
- Customer Panel: Fixed hidden validation error for missing email in Order form when not using Billing Address.
- Customer Panel: Fixed wrong cart recalculation URL in Order form.
- Customer Panel: Use AtomiaCommon helper for phone reformatting.
- Customer Panel: Fixed pagination bug in the Datatables code.
- Customer Panel: Fix so reload isn’t needed when changing language.
- Customer Panel: Fixed redirecting to correct reseller domain for payment confirmation.
- Hosting Control Panel: Javascript minifier can’t find files.
- Hosting Control Panel: Fully internationalize domain manager renewal cart.
- Hosting Control Panel: Fixed problem with IDN sub domains and issues when using an existing database.
- Hosting Control Panel: Name Installatron app classes the way FilterAvailablePackage expects.
- Hosting Control Panel: Reset session on security token exception.
- Hosting Control Panel: Set content-type to text/plain in Exchange/Add controller.
- Hosting Control Panel: Fixed incorrect logic in SimpleServiceList/{Add,Edit}Child.aspx.
- Hosting Control Panel: Use regex to replace child index in SimpleServiceList.
- Hosting Control Panel: Decode IDN domains in OneClickInstaller success dialog.
- Hosting Control Panel: Display error message on MySQL provisioning failures.
- Hosting Control Panel: Fix invalid html on email index page.
- Hosting Control Panel: Included missing installatron icons on installation.
- Hosting Control Panel: Set UseInstalltron to true in default configuration.
- Hosting Control Panel: Added missing configuration option for MyLittleAdmin to database plugin. Default to false since this is rarely used.
- Public Order Page: Updated HostingProducts plugin and related calls to fix intermittent domain search and pricing errors.
- Public Order Page: Do not remove whitespace from zip codes, other than trimming before and after.
- Public Order Page: Fixed form labels referencing the correct input field ids.
- Public Order Page: Fixed order page not redirecting to WorldPay correctly.
- Public Order Page: Fixed missing credit card form for CCPayment payment method.
- Public Order Page: Fixed orders were not getting billing address filled in if hidden.
Improvements
- Admin Panel: Added date filter to the action trail tab on the customer card.
- Admin Panel: Added human-friendly names for payment methods in Add customer.
- Admin Panel: Refactored FormatPhoneNumber to use AtomiaCommon instead.
- Admin Panel: Added password requirements as help tip in Add/Edit user forms.
- Admin Panel: Hide optional address fields in Add/Edit user forms.
- Admin Panel: Removed confusing address update actions from Add/Edit user forms.
- Admin Panel: Clarified email usage help text in order forms.
- Admin Panel: Added “Repeat password” field for Add customer form.
- Admin Panel: Updated validation plugin and JavaScript.
- Admin Panel: Add configurable validation to Add/Edit invoice
- Admin Panel: Add configurable validation to Add/Edit order
- Admin Panel: Added missing fields on items add/edit page.
- Admin Panel: Possible to use free text on items and changed edit logic for invoices.
- Admin Panel: Added “Retry provisioning now” button for subscriptions.
- Admin Panel: Added ActionTrail to customer card and error search for subscription errors.
- Admin Panel: Customer card now remembers active tab on page reload.
- Admin Panel: Added missing Send action to individual credited invoice actions menu in List of invoices.
- Admin Panel: Added discount renewal option to campaigns.
- Atomia Billing: Added more tests to InvoiceHelper
- Atomia Billing: Added test data for counters
- Atomia Billing: Added tests for UsageLogHelper
- Atomia Billing: Added tests for UsageReportHelper
- Atomia Billing: Added unit tests for the Custom Actions in Generic Workflow.
- Atomia Billing: Added default reseller configuration for master account.^
- Atomia Billing: Allow specifying allowed/disallowed subscription states for ActionHandlers comma-separated in Parameters.AllowedSubscriptionStates and Parameters.DisallowedSubscriptionStates
- Atomia Billing: Refactored FormatPhoneNumber to use AtomiaCommon instead.
- Atomia Billing: Added possibility to set monthly invoicing per customer.
- Atomia Billing: Added ApplicationInstaller functionality.
- Atomia Billing: Adyen payment plugin: RefundHandlerPlugin implementation.
- Atomia Billing: Make TerminateInvoiceSubscriptionsCustomAction terminate future (possibly paid) subscriptions when subscription has Renewed state.
- Atomia Billing: Added new exception logging method and made Generic Workflow use it.
- Atomia Billing: Added new logging category called Generic Workflow.
- Atomia Billing: Added possibility to issue autocredit invoices even when user is canceling subscriptions on expiration date.
- Atomia Billing: Added support for SEPA DirectDebit for Adyen payment plugin.
- Cloud Hosting Pack: Added ApplicationInstallerPackage in the default provisioning description.
- Cloud Hosting Pack: Changed maildir path for info email account from i/somedomain.com/info to
- Cloud Hosting Pack: Apache module: ApacheProxy service support added.
- Cloud Hosting Pack: Option to remove all unsupported services/extensions on package change.
- Cloud Hosting Pack: GetFileContents and SetFileContents now encode/decode raw data as base64. Added new operations for using with base64 encoded input and output.
- Customer Panel: Updated validation for Order form.
- Customer Panel: Made VAT number an explicit field in Order form.
- Customer Panel: Updated validation for Account settings.
- Customer Panel: Updated validation in Add/Edit user forms.
- Customer Panel: Added password requirements as help tip in Add/Edit user forms.
- Customer Panel: Hide optional address fields in Add/Edit user forms.
- Customer Panel: Removed confusing address update actions from Add/Edit user forms.
- Customer Panel: Updated validation in My profile form.
- Customer Panel: Updated jQuery Validation Plugin (jquery.validate.js) to version 1.8.1
- Customer Panel: Users with different username and email can now be handled in My profile.
- Customer Panel: Updated front-end validation to use methods from standard AtomiaValidation.js
- Customer Panel: Added more comprehensive validation to whois contact when buying extra domain.
- Customer Panel: Paypal payment confirm page – it is possible now to skip this page and auto confirm.
- Hosting Control Panel: Added support for flat list of services in Generic Plugin.
- Hosting Control Panel: Plugin options are now available in ViewData.
- Hosting Control Panel: Theme without Site.Master should use Site.Master from default theme.
- Hosting Control Panel: CSS can now be reused from global theme, and extended with style-custom.css.
- Hosting Control Panel: Include an empty global javascript file to be used for global custom javascript-changes.
- Hosting Control Panel: Change default Postfix maildir path from f/somedomain.com/foo to 42/101042/somedomain.com/foo.
- Hosting Control Panel: Generic plugin: Implemented GetParents method. Added possibility to search for child services by using service path.
- Hosting Control Panel: Updated password strength checker plugin not to allow username as a part of the password
- Public Order Page: Refactored FormatPhoneNumber to use AtomiaCommon instead.
- Public Order Page: Use standard configurable validation from Atomia.Web.Plugin Validation (front-end and back-end).
- Public Order Page: Updated jQuery Validation Plugin (jquery.validate.js) to version 1.8.1
- Public Order Page: Changed default required field message from “Mandatory” to “This field cannot be empty”
- Public Order Page: Made VAT number an explicit visible field to fill in instead of a hidden automatically handled field.
- Public Order Page: Use first name and last name for whois form (same as other addresses) and combine later.
- Public Order Page: Made Billing fax field not hidden.
- Public Order Page: Standardized whois form field names, ids and order.
API Changes
The full list of changes to the APIs since the last release is:
Billing API
-
New methods
- SearchTemplates
- PreviewTemplate
- GetAllPaymentMethods
- ListPlugins
- GetPluginById
- GetPluginByConfigurationId
- GetPluginConfigurationSchema
- UpdatePluginConfigurationValueById
- EnablePlugin
- DisablePlugin
- SearchScheduledTasks
- UpdateScheduledTask
- UpdateScheduledTasks
- DeleteScheduledTask
-
Changed methods
- CreateSchedule now returns a ScheduledTask instead of nothing.
- GetCountries now returns a list of countries with the Account API datatype, instead of an equivalent Billing type. This means that the namespace changed to http://schemas.datacontract.org/2004/07/Atomia.Account.Lib.BusinessObjects and that you have to update any namespace aware clients that use this method.
Core API
-
Changed data types
- ProvisioningService got a new property called packageId that can be used to select which package to place a root service in.