Dear Sir/Madam,
We are happy to announce that new milestone versions of Cyclos and the Cyclos mobile app have been released. Cyclos 4.11 can be downloaded from our license server, and the mobile app (version 2.5) has been published at the google play store and Iphone app store.
This newsletter contains a summary of all the new features and improvements that were added since the last newsletter.
Performance improvements
In this version we optimized the performance for large queries and concurrent actions. For the performance tests we used a Cyclos database with 5 million users and over 20 million transactions. We have tested both with physical servers and with (Amazon) cloud services.
We tested various server topologies, from a single setup (Cyclos application and database on the same server) to a multiple server topology with a clustered Web servers for Cyclos.
With the latest optimizations Cyclos scales very well, meaning that when the system grows additional servers can be added. On a multi clustered environment in the Amazon cloud we reached a throughput of 1300 user-to-user transactions per second (TPS). This means 4.68 million transactions in one hour, a transaction throughput that would suite even larger banks.
Logging to external database
Currently the Cyclos log files are stored to a local file system. It is now also possible to write all the log files to an external (Postgres) database. This will allow admins to perform queries on the log files, and improves the way the logs can be analyzed.
Document / file storage in multiple S3 directories
The Cyclos system administrator can define define directories in which files can be stored per file type (custom field/image, custom field/file, individual document). The files can be stored in a local directory or Amazon S3 directory (bucket).
Because each file, image, or document type can be stored in different directories/buckets it is possible to apply specific rules and permissions. An example is an image field that is used to upload scans of passports. This sensitive data could be stored in a dedicated secure directory, and if needed it is possible to allow access for specific third parties (e.g. government audit institutions could have view access to a specific directory/bucket).
Individual access control
The individual access control feature was a requirement to comply with the European GDPR regulation. This feature will allow a user to choose what departments in the organisation can access or use his/her private data (e.g. phone, email, address). The system admin can create departments and bind them to admin groups. The admin also defines what user data is considered private. Usually this will be email, addresses, phones, and the admin can define what custom fields are considered to be private data. The access control is applied per user, on top of the the existing permissions.
Purge (completely remove) private data
This feature was also a GDPR requirement. Currently when a user is removed it will get the removed status. When a user has the removed status he/she won't be visible in any way to other users, and no operation related to this user is possible. It is as if the user was removed from the system, but the user data is kept and is accessible for admins (with the permissions). The reason that the user data is kept is because this is often required for financial institutions. However, when needed it is now also possible to 'purge' users, what means that all private data is completely erased. A system admin can define what private data (e.g. addresses, custom fields, built-in fields, record types) is erased on purging.
New bulk action type: change status
It is now possible to run a status change on a selection of users. So, for example, if you want to erase multiple users completely from the system, you can run a bulk action 'change status - purge'.
Email templates
There are many notifications that Cyclos can send via email. For example a registration confirmation email, an email when receiving a payment, or an advertisement match. It is possible to add layout markup (html) to the notification texts, but for many users this was cumbersome (as it needs to be done for each notification). To make this easier we added email templates (in the content section - static files). With an email template you can define a general layout for all notifications. It has an rich text editor and you can include variables. The template feature has a preview so that you can directly see how the message will look.
Payment authorization for operators
From now on payments prepared by an operator can be authorized by the member or other operators (that belong to different operator group). Just like the existing payment authorizations it is possible to set a maximum amount per day, under which no authorization is required. This feature is useful for business where a central bookkeeper or 4 eyes need to authorize a payment before it can be processed.
Notifications for operators
It is now possible to enable specific notifications for operators. For example a payment sent to an operator can generate a notification only to this operator, and optionally also to the member of the operator.
Batch payments for users
With batch payments members can perform payments to multiple users in one batch. This can be done by importing a file with the destination users and the amounts to be paid (and optionally description and other fields).
The batch payment feature has a preview that will show detailed data about the batch to be performed (how many users, possible failed users, amount per user, total amount). There is also a history that will show this data per batch.
Redeem voucher operation by SMS
A merchant can now redeem a voucher simply by sending an SMS with the voucher code.
Refund option for bought vouchers
In Cyclos it is possible to buy vouchers. The customer will receive a digital voucher in Cyclos (with QR code) which can be printed, or it can be shown in the mobile app to the merchant that can redeem (cash-in) the voucher. When a voucher is bought with Cyclos units the amount that will be used to pay the merchant (on redeem) is reserved in a system account.
Now it is possible to refund a voucher when the user does not want to use it. When the refund button is selected (by broker or admin) the voucher will be canceled and the user that bought the voucher will gets his/her units back. It is possible to add a fee to the refund payment. So the user can be charged a fee for the refund.
Confirmation password on payments imports
There is now an option to request confirmation password when a user or admin imports and processes payments at the payment imports and batch payments features.
New script type: Load custom field values
This script type makes it possible to load custom values when a customer opens a single or multi (drop down) field to select a value.
New extension point: Import
With the import extension it is possible to add rules when reading an imported file. This can be used for direct debit transactions for example. All users can have a profile field value if they allow direct debit. When importing the file, for each user performing a transaction the script can check the value of that profile field, before allowing the transaction to be performed.
Improved record layout
The system and user records are very handy if you want to store and retrieve custom data in a structured way. Often record data is more viewed than edited. If this is the case then you can enable the 'view/edit' mode per record type. It works in a similar way as viewing and editing a user profile. By default you enter in the view mode, which has a more clean layout that is easier to read.
It is now also possible to display the record fields in two or three columns, and you can group record fields in sections with titles. These options will be useful for record types that contain many fields (e.g. credit analysis forms). For complex forms that need explanation it is possible to add 'information texts' that will show up at the top of the record in a read only text box, or at the top of a record section. This way the user that fills in the form does not need to look up the information in the manual or another information source.
Custom operations improvements
The custom operations feature is a powerful tool that allows adding your own custom functions in Cyclos. Currently a custom operation can be placed in the user or admin menu (Cyclos Web), and at the homepage of the mobile app. We added the option to place custom operations directly in a Cyclos entity (details page) such as user profile, advertisement, transfer (in payment details) and contact. The custom operation has access to the context of the entity from which it is launched. All custom operation features are available for both Web and Mobile app.
Option to disconnect user search from quick search
Many customers do not want their clients to be able to search for other users, and therefore have turned off the User search feature. This does mean that the quick user search will be disabled as well, (the quick user search is available in pages such as make payment and add contact).
Now it is possible to hide the user search, but still show the quick user search option. When the main user search feature is disabled the quick user search will only return users when there are complete word matches. This will limit the possibility of abuse (e.g guessing & retrieving users for commercial purposes).
Updated documentation
We have updated much of the Cyclos documentation.
The Cyclos wiki has many instruction pages about specific features and the Cyclos reference guide has various new scripting examples (section 4).
Other improvements
- New dashboard icons
- Notification setting for generated payments
- Improved payment requests (change expired status by admin/broker)
- Operators can now have their own cards
- Additional voucher expiration notification options
- Support filter account history / transactions directly by transfer types in web services
- Split the channels for tickets and easy invoice
- Allow tickets to have a fixed payer
- Extra variables in voucher notifications
- Setting in the main channel configuration to hide identification methods for payment
- New 'User status' filter in balances overview
- Allow maximum currency decimals of 9 instead of 6
- Custom fields for Contacts and Additional contacts
- Improvements REST API
Mobile app
The new mobile app has many new features and improvements. Here a quick overview:
From now on users can register, confirm their registration, change profile, add pictures, forgot & reset password all with the mobile app. No web access is needed anymore for mobile app only users.
Fingerprint authentication
Login or pay using the fingerprint scanner of the mobile phone.
Show QR scan icon on login page (for quick payment)t
The mobile app has now a scan icon directly at the login page. The icon will only show if the user can make payments by scanning a QR code. Clicking on the icon will open the camera of the phone. After the code has been scanned the payment information will show up. The user can now confirm the payment by typing in the password and clicking at the confirm button. The QR code can either be generated at a mobile app (of the user requesting the payment) or confirming a payment requested at a website (e.g. online shop or quick invoice). Information about QR code payments can be found at:
this page
Market place
The mobile app has now a marketplace page that shows the advertisements (simple and webshop ads). The marketplace has a keyword search and you can browse by categories. Users can add (webshop) advertisements to their shopping cart and check-out to pay.
When webshop advertisements are enabled the users will see an additional 'my purchases' icon at the home page. This page will show all ongoing purchases with their status, as well as a purchase history.
Custom mobile operations
New custom operations that have their own launch icon in the home page and it is possible to place a custom operation in other pages like user profile or advertisement. It is possible create new mobile functions without the need to change the mobile code. All the code resides in Cyclos meaning that the operation will be available directly to all users (no need to republish the mobile app).
Payment requests
The payment requests functions are now also available in the mobile (send, accept, cancel, deny, and view payment request details). Just as in the Web, from the payment request details there is a link to goes to the related payment.
Printer support
Support for printing receipts has been added to version 2.4. We currently support the POS printer IMP006. It is a thermal POS printer that can connect to Android and iOS.
File and image upload
The file and image upload feature that has been available in the Cyclos Web interface for a while is now also available for the mobile app. When a custom field of image or file type is configured (e.g. as a profile or payment field) the user will see a link with the label 'file' or 'image'
When clicking on this link the Cyclos app will open the mobile phone file browser so that the user select an image or file to be uploaded.
In a future version we will also add the option to open the camera when image upload is selected.
Buy voucher
The previous mobile version had the option to view a 'My vouchers' list and show the details of a voucher. The business owner can redeem a voucher from the mobile app by scanning the QR code of the voucher with the mobile phone camera (directly from the Cyclos app). Now it is also possible buy vouchers from the mobile app.
Image gallery
The image gallery is shown when multiple images are available on the mobile phone, for example when a user has uploaded multiple profile pictures. In the image gallery users can swipe through the available images and click on an image to see it full screen.
Other improvements
- New layout for actions buttons
- Put button 'Go to user' in simple ad view
- Register new user as broker / admin
For more information about Cyclos and the Social Trade Organisation, please visit:
www.cyclos.org
www.socialtrade.org