Overview
The 16.3 release was released 2016-03-14. Some highlights of the release are:
- A new default theme Hosting Control Panel and Customer Panel now have a completely new theme. This new theme is structured to be much easier to extend in a future proof way and features a new responsive design.
- Support for PostgreSQL for system databases All of our applications can now use PostgreSQL as the database server for the system databases. We still support installing on and using MSSQL and future versions will also be possible to run on both types of database servers.
- A new installation system We developed a new web application used to manage the entire process of installing an Atomia environment.
- Many other improvements Managing the contents of your hosting packages is now possible from the Admin Panel instead of in the Provisioning Description configuration file. It is now possible to export and import products through the Admin Panel to make editing large numbers of products and prices much simpler. You can now configure the platform to have username and email be separate. A great new domain owner change feature is included out of the box.
Software versions
The 16.3 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: 16.3.5914.20649
- Admin Panel: 16.3.5917.26684
- Automation Server: 16.3.5914.20755
- Automation Server Client: 16.3.5914.20767
- Customer Panel: 16.3.5917.26648
- Atomia Billing: 16.3.5913.14855
- Hosting Control Panel: 16.3.5917.25292
- Atomia Identity: 16.3.5914.20953
- Public Order Page: 16.3.5914.21623
- Atomia Store: 16.3.5917.26081
- Cloud Hosting Pack: 16.3.5914.20544
- Atomia Domain Registration: 1.1.176
- Atomia DNS: 1.1.42
- Filesystem Agent: 16.3.1
- Apache Agent: 15.9.2
- DynDNS Agent: 15.3.2
- Awstats Agent: 1.1.30
Upgrade instructions
There are some details requiring extra attention in this upgrade. Firstly, in this release Atomia Billing is upgraded to use .NET 4.6.1 – requiring this to be taken into consideration during the upgrade. Secondly, we now default to snapshot isolation for new installations using MSSQL. With existing environments you will have to change this manually before or after the upgrade. Thirdly, the way that the web applications register is changed – this has the effect that you need to upgrade all web applications before Atomia Billing – otherwise their automatically added authentication users will be missing. We have also added support for editing the reverse DNS zones for VPSs, you will have to set the IP ranges of your network and add a shared DNS zone to make this feature work, check out the detailed instructions below.
The upgrade of Atomia Billing should be done like:
- Install .NET 4.6.1 from https://www.microsoft.com/en-us/download/details.aspx?id=49982
- Change the Billing API and Account API application pool to use .NET 4 and “Integrated” mode instead of “Classic”
- Install the new Billing API version (after all web applications are already upgraded)
The change to use snapshot isolation should be done like this on the MSSQL system database server (disconnect any user connected to the databases before executing the queries):
ALTER DATABASE AtomiaAccount SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE AtomiaAccount SET READ_COMMITTED_SNAPSHOT ON ALTER DATABASE AtomiaBilling SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE AtomiaBilling SET READ_COMMITTED_SNAPSHOT ON ALTER DATABASE AtomiaIdentity SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE AtomiaIdentity SET READ_COMMITTED_SNAPSHOT ON ALTER DATABASE AtomiaProvisioning2 SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE AtomiaProvisioning2 SET READ_COMMITTED_SNAPSHOT ON
Another caveat for this release is that the new theme, named NewDefault, is the new default one. This means that after upgrade you should verify that your configuration looks good (i.e. that your own theme is active, and all others inactive).
Configuration of reverse DNS zones for VPSs:
- Open your Resources.xml located at C:\Program Files (x86)\Atomia\AutomationServer\Common, locate the <property name=”IpRanges”>10.0.0.0/24;192.168.0.0/24</property> and change it to fit your network. Do not forget to create transformation files for a permanent installation.
- Connect to your Atomia DNS server and execute the following commands. Remeber to change the variables to fit your network.
domain="0.168.192.in-addr.arpa" nameserver1="ns1.demo.atomia.com" registry="registry.demo.atomia.com" nameserverlist="[ ns1.demo.atomia.com, ns2.demo.atomia.com ]" groupname="default" atomiadnsclient --method AddZone --arg "$domain" --arg 3600 --arg "$nameserver1" --arg "$registry" --arg 10800 --arg 3600 --arg 604800 --arg 86400 --arg "$nameserverlist" --arg "$groupname"
As always, some of the new features require configuration to use.
Changes
The list of changes since the last stable release (15.9, released at 2015-09-14) include:
New features
- Control Panels: Usage based prices support for product provider
- Control Panels: Added UseComissionAsDiscount switch to account options in customer card page that tells if commission should be used to discount invoices.
- Control Panels: Added Reseller Commission page to Admin Panel where admin can list and filter reseller commissions and mark them as paid out.
- Control Panels: Added Reseller Commission page to Customer Panel where reseller can list and filter their commission.
- Control Panels: Change of domain owner feature.
- Control Panels: Added support for having separate username and email when signing up.
- Control Panels: Display failed provisioning actions for subscriptions in admin panel support
- Control Panels: Domain restore from redemption period support
- Control Panels: Added support for package management
- Control Panels: Payment method condition for campaigns
- Control Panels: Added support for administration of Customer Messages to Admin Panel.
- Control Panels: Added Messenger sidebar widget to Hosting Control Panel to display customer messages.
- Control Panels: Modified Account Note editor on Customer Card (Admin Panel) to support new properties of Account Note: VisibleToCustomer and ExpirationDate. Using these, account note may be marked as visible to the customer and appear in the Messenger widget in Hosting Control Panel.
- Control Panels: New export/import products tool
- Control Panels: Added support for defining prices per reseller when adding and editing products
- Control Panels: Added support for removing prices for subresellers when editing items as administrator
- Control Panels: Gulp/browserify build task for BCP Scripts
- Control Panels: Added support for configuring list of invoice custom attributes which will be displayed in BCUP
- Automation Server: Added new action hook, OnBeforeCallServiceOperation, which allows certain actions to be taken before a service operation is executed.
- Atomia Billing: Usage based prices support for public billing service
- Atomia Billing: Support for domain owner change.
- Atomia Billing: Added support for uniform and configurable caches of different entities in Billing
- Atomia Billing: Added basic support for storing global configuration keys in the database
- Atomia Billing: Added support for notifying GUI applications to flush their item caches automatically when items and shops are changed or manually from Admin Panel
- Atomia Billing: Implementation of method for getting provisioning actions for subscriptions
- Atomia Billing: Domain restore from redemption period support
- Atomia Billing: Added new method SearchUsersWithDetails.
- Atomia Billing: Added support for package management in Billing
- Atomia Billing: Campaign payment method condition handler implementation
- Atomia Billing: Added support for Customer Messages which can be sent to all customers or to customers subscribed to selected products.
- Atomia Billing: Debt collection plugins support
- Atomia Billing: eCollect debt collection plugin implementation
- Atomia Billing: Added support for updating item prices for subresellers with API method UpdateItemWithResellerPrices
- Cloud Hosting Pack: Support for domain owner change
- Cloud Hosting Pack: DomainRegQueryService implementation
Fixes
- Control Panels: It is no longer possible to access cloud services when an account
- Control Panels: Don’t display landing page if the customers package has been terminated.
- Control Panels: Disable payments with Atomia Credits using the online payment link.
- Control Panels: Online payments didn’t work when using the the new default theme.
- Control Panels: Fixed bug with editing invoice where invoice lines are mixed and attributes and taxes doubled.
- Control Panels: Don’t reset the TOC checkbox when switching payment methods.
- Control Panels: Fixed broken image url when updating account settings in BCP.
- Control Panels: Fixed bug in the action trail tab on the customer card.
- Control Panels: Create new CsDatabase for each PostgreSQL database.
- Control Panels: Renewal period remove action turns off recurring for the subscriptions that are using it
- Control Panels: Fix the username prefix on Add and Edit SSH views with multipackage enabled.
- Control Panels: Add username length validation to SSH adding.
- Control Panels: Fix bug that could add SSH account to wrong package in multipackage mode.
- Control Panels: Adjusted preview calculations of OpenStack volumes
- Control Panels: Fixed a bug where values from atomiaConfigurationStore.overrides were not loaded correctly in customer panel.
- Control Panels: Correctly summarize OpenStack volume price preview when using a
- Control Panels: Fixed listing of items to show items without prices for selected reseller too
- Control Panels: Bandwidth data from ceilometer is given in b/s format therefore
- Control Panels: Fixed the issue of campaigns that are set for new orders being shown on invoice previews for manual renewals.
- Control Panels: Fixed error placement override generation to skip it for forms which don’t have existing error placement.
- Control Panels: Fixed reseller configuration page to update default invoice reference number format for reseller.
- Automation Server: Set value_hash and last_changed_time in the UpdateServiceProperty method.
- Atomia Billing: Modified Adyen payment plugin to retry with latest recurring contract retrieved from Adyen, instead of LATEST.
- Atomia Billing: Fixed PayPal payment plugin to support TLS 1.2
- Atomia Billing: Fixed errors in VAT report
- Atomia Billing: Proforma invoices are now excluded from Invoice Summary report.
- Atomia Billing: Prepaid credit invoice are now excluded from Unpaid Invoices report
- Atomia Billing: Renewal period remove action turns off recurring for the subscriptions that are using it
- Atomia Billing: Fixed bug with calculating hash for PayEx redirect Initialize8 and Complete requests.
- Atomia Billing: Fixed bug which prevented adding usage based items
- Atomia Billing: UsageData for volumes and snapshots are now calculated correctly
- Atomia Billing: Critical issue where UsageDataEventHandler would cause an endless
- Atomia Billing: Correctly log usage data for network, it is reported from
- Atomia Billing: Fixed wrong subscription delivery date on renewal, upgrade and extend subscription actions
- Atomia Billing: Fixed OrderPreCalculate event handler to add invoice sending fee only to new orders.
- Cloud Hosting Pack: OpenStack: Behavior for attaching volumes to instances changed to
- Cloud Hosting Pack: Deleting of floating ip now works in OpenStack Liberty
- Cloud Hosting Pack: Updated some OpenStack api calls that has changed with Liberty
- Cloud Hosting Pack: Skip detaching of OpenStack volume if no attachment exists
- Cloud Hosting Pack: Starting and stopping virtual machines actions fixed
- Public Order Page: Updated Order Service references with fixes for Reseller currency data
Improvements
- Control Panels: Make it possible to specify parent theme using the parentTheme configuration attribute.
- Control Panels: Make NewDefault the new default theme for HCP and BCP.
- Control Panels: Show a campaign code field in BCP if we have an active campaigns.
- Control Panels: Added support for administration of external users.
- Control Panels: Updated My/MS-SQL controllers to resemble Postgre controller JSON response
- Control Panels: Allow managing of certificates not tied to a current website.
- Control Panels: Add support for TLSA DNS records.
- Control Panels: Added support for OpenSRS TLD requirements out of the box.
- Control Panels: Changed statistics for network traffic to be displayed in
- Control Panels: Added initialization of subscriptions count per tab of My Subscriptions page.
- Control Panels: Improved BCUP’s Payment page to better point out order/payment failure.
- Control Panels: Added FinnishOcr invoice number format to the list of supported formats.
- Automation Server: Enabled ALLOW_SNAPSHOT_ISOLATION and READ_COMMITTED_SNAPSHOT in new installations.
- Atomia Billing: Improved support for reseller commission.
- Atomia Billing: Enabled ALLOW_SNAPSHOT_ISOLATION and READ_COMMITTED_SNAPSHOT in new installations.
- Atomia Billing: Added possibility to apply campaign logic for post paid invoices.
- Atomia Billing: Added an order discount feature.
- Atomia Billing: Added the CRD-PREPAID product.
- Atomia Billing: Enabled prepaid credits as a payment method for the default reseller on new installations.
- Atomia Billing: Prevent invoice fee from invoice/orders that only contains prepaid credits.
- Atomia Billing: New accounts will now automatically pay renewal invoices with credits if the accounts has any.
- Atomia Billing: Duplicate payments are treated as overpayments and added to prepaid credit
- Atomia Billing: Added VisibleToCustomer and ExpirationDate options to Account Note which allow account notes to be visible to customers until expiration date.
- Atomia Billing: Modified provisioning plugin to update domain contact attached to the subscription only if some field is changed
- Atomia Billing: Modified GetItems API method to list items without defined prices for selected reseller too
- Atomia Billing: Removed logic for automatic creation of prices for subresellers when item is created because this is now possible in Admin Panel
- Atomia Billing: Improved exception handling and replaced break with
- Cloud Hosting Pack: Downgrade websites to DNS only instead of parking by default.
- Atomia Identity: Enabled ALLOW_SNAPSHOT_ISOLATION and READ_COMMITTED_SNAPSHOT in new installations.
- Public Order Page: Added support for OpenSRS TLD requirements out of the box.
API Changes
The full list of changes to the APIs since the last release is:
Billing API
-
New event handlers
- OnBeforeMessageCreated
- OnAfterMessageCreated
- OnBeforeMessageUpdated
- OnAfterMessageUpdated
-
New methods
- AddPackageConfiguration
- AddProvisioningPackage
- AddProvisioningService
- CountSubscriptionsByTypesAndStatuses
- CreateMessage
- DeletePackageConfiguration
- DeleteProvisioningPackage
- DeleteProvisioningService
- FlushItemsCache
- GetItemsCacheFlushTime
- GetMessageById
- GetPackageConfiguration
- GetPriceListOwners
- GetProvisioningActionsForSubscriptions
- GetProvisioningPackage
- GetProvisioningService
- GetResellerCommissionSummary
- GetSubscriptionsForRenewalPeriod
- IsAnyCampaignWithCodeActive
- ListMessages
- ListMessagesByCustomer
- ListPackageConfigurations
- ListProvisioningPackages
- ListProvisioningServices
- UpdateItemWithResellerPrices
- UpdateMessage
- UpdatePackageConfiguration
- UpdateProvisioningPackage
- UpdateProvisioningService
- UpdateResellerCommissionStatus
- UpdateSetting
Account API
-
New methods
- SearchUsersWithDetails