Nov 7, 2011

Linx version 2.4.797.1303

Please note that Linx version 2.4.797.1303 is available for download. See the release notes for a complete list of features/fixes. Notable changes include:
  • Process and service grid sorting on server website. If you are accessing the server website using IE8 and do not see the column headers for the process and service grids, please ensure that your browser is NOT displaying the page in compatibility mode.
  • Auto-refresh functionality on process and service grids on server website. The refresh interval can be adjusted by modifying the "AutoRefreshIntervalSeconds" value in the ConnectionConfig.xml file. The default value is 30 seconds. You will have to restart the service after modifying this value.
  • Dragged fields in Sql editor will now be inserted where dropped (not at end).
  • Update BarcodeReader component to scan faster and more accurately.
  • Numerous bug fixes.
As always, comments and suggestions are welcome.

Sep 19, 2011

Linx version 2.4.777.1263

Please note that Linx version 2.4.777.1263 is available for download. See the release notes for a complete list of features/fixes. Notable changes include:
  • Add compression on split and concat components.
  • Extend SMTP components with new properties.
  • Add Xfa form functionality to PDFReadFormFields component.
  • Add Xfa form functionality to PDFWriteFormFields component.
  • Modify SendMailSigned component to work on 64-bit systems.
I've also updated the roadmap to reflect the new functionality that we are busy implementing. As always, comments and suggestions are welcome.

Jun 21, 2011

Linx version 2.4.762.1232

Please note that Linx version 2.4.762.1232 is ready for download. Please see the release notes for a complete list of changes. Some of the new features / changes include:
  • Support for .NET 4. If you want to install this version, please ensure that you have .NET Framework 4 installed as well.
  • Add an export link to the Log tab on the server. Using this link, it is now possible to save all the the log entries on the server to a .csv file.
  • Display the web service URL for a process on the server. If you right-click on a process on the server, there is a "Display process URL" option that will display the web service address for the process. It will also prepopulate a list of all the required parameters necessary to execute the process.
Since there were numerous changes to the Linx installation to improve the future maintainability, as well as to fix some bugs, it is recommended that you do a clean installation (not an upgrade). If you want to perform an upgrade or manual installation, please contact me for more information.

The next piece of work will revolve around the architecture of Linx processes - see the roadmap for more details.

Jun 20, 2011

Unused Linx components

As part of our usage data analysis, we also went through an exercise to determine which Linx components do not appear in any production solutions. The following table lists the unused components:

Component Name
Formz.Linx.SignatureRectangle
Linx.AtalasoftBarcode.AtalasoftBarcodeReader
Linx.CATS.CATSAuditData
Linx.CATS.CATSAuditReader
Linx.CATS.CATSAuditWriter
Linx.CATS.CATSData
Linx.CATS.CATSReader
Linx.CATS.CATSUnpaidsData
Linx.CATS.CATSUnpaidsReader
Linx.CATS.CATSUnpaidsWriter
Linx.CATS.CATSWriter
Linx.FinancialServices.BondCalculator
Linx.FinancialServices.BondDirtyMarketValue
Linx.FinancialServices.BondRateConverter
Linx.LinxSilica.SilicaData
LinxCDV.LinxCDV
LinxEMX.EMXData
LinxEMX.EMXReader
LinxEMX.EMXWriter
LinxExcel.ExcelPrint
LinxFixNet.FixNetEndOfDay
LinxFixNet.FixNetSendMessage
LinxFixNet.FixNetSessionState
LinxFixNet.FixNetStartSession
LinxFixNet.FixNetStopSession
LinxFTP.FTPSFileUpload
LinxHiport.HiportParse
LinxInternet.Autodial
LinxInternet.AutodialHangup
LinxMQServer.MQServerReader
LinxMSMQ.MSMQReceive
LinxMSMQ.MSMQSend
LinxPDF.PDFJavaScriptRead
LinxPDF.PDFJavaScriptWrite
LinxPDF.PDFReadFormFields
LinxPDF.PDFWriteFormFields
LinxPowerpoint.Scripting
LinxRightFax.RightFaxPrinterSend
LinxStandard.SolutionStructure
LinxStrings.StringConverter
LinxSwift.SwiftBuild
LinxSwift.SwiftData
LinxSwift.SwiftParse
LinxTCP.TCPReadText
LinxTCP.TCPWriteText
LinxTextFormat.TextBuild
LinxTextFormat.TextData
LinxWebService.REST.CallRESTWebService
LinxWord.WordPrint
LinxWord.WordRead
LinxWord.WordWrite
LinxXml.XmlFormatter
LinxZetaFax.ZetaFax

We are going to use this list to determine the future development and maintenance of certain Linx components. The items that are highlighted in red will definitely be removed in future versions of Linx, while we are considering removing the items in yellow. If you are using any of these highlighted components (red or yellow), please let me know as soon as possible. As previously stated, all the production files that were used in the analysis is available from me, so if you have any questions or concerns about these statistics, you are welcome to contact me.

Jun 15, 2011

Linx usage data

We recently performed an in-depth analysis of all the Linx solutions that are currently running in a production environment to assist us in our planning for future versions of Linx.

Some interesting patterns emerged during this excercise, some of which are highlighted below. If there are additional statistics that you would like to see, please let me know.

Solution version

This chart displays the Linx version that was used to save the solution in the designer. Note that this version does not necessarily translate to the version of the Linx server that is used to execute this solution.


Component usage

This chart displays the top 10 most commonly used components across all solutions. All additional components are grouped under the “Other Components” entry.



Service usage

This chart displays the different services used. Note that it does not distinguish between active and stopped services.


Most commonly used component name

The following table lists the 10 most commonly used component instance names:

NameInstances
Declare837
ExceptionHandler667
Variables562
EH-1483
prc_CFErrorLog_insert482
LogActivityError460
ExceptionHandler1429
prc_WOHistory_insert373
Assign1328
InsertWOHistory_Failed326


Most components per process

The following table lists the 10 processes with the largest number of components per process:

SolutionProjectProcessComponents
NitroFaxProcessingV1.16NitroApp_NAS30_FormzGenAppDetail_NBB437
NitroFaxProcessingV1.16NitroApp_NAS30_FormzGenAppDetail_CM246
T1.3_GL_ProductsProcessingProducts_AccPac_IntegrationT1.3.3.4_Submit_GL_FC_ALL234
NitroFaxProcessingV1.16NitroPW_Formz_INCOMMING_Load230
Nimitz-FormzGenerationNimitz-FormzGenerationFormzGeneration - 2.ManualGenerateBIO215
Nimitz-FormzGenerationNimitz-FormzGenerationFormzGeneration - 1.GenerateBIO214
NitroFaxProcessingV1.16NitroApp_NAS30_MailSending159
NitroFaxProcessingV1.16NitroApp_NAS30_FormzGenAppDetailPerDocumentType155
ABSA_Capital_FX_Onboarding0.3_CASAClientForm0.7_CASA_Email149
iMALI_1.41.404_Escalations_CheckAndCreateForEscalations137

Most processes per solution

The following table lists the 10 solutions with the largest number of processes per solution:

SolutionProcesses
ValuationsDashboard191
PrimaryBanker167
NitroFaxProcessingV1.16143
LinxBusinessBankingV1.30130
iMALI_2.4128
5.03IntegrationDataExtract119
MultiManager-ElectronicSubmissions85
iMALI_1.485
FC_STP_T1_25984
iMALI_1.383

Most services per solution

The following table lists the 10 solutions with the largest number of services per solution:

SolutionServices
ValuationsDashboard39
LinxBusinessBankingV1.3026
NitroFaxProcessingV1.1622
iMALI_2.419
PrimaryBanker18
BankCodes11
iMALI_1.311
iMALI_1.411
iMALI_1.210
FC_STP_T1_25910

Jun 2, 2011

Linx 64-bit compatibility

We recently performed some tests to determine if there are any compatibility issues when running Linx in a true 64-bit environment. The results were very encouraging, with only a few components causing problems. You can see the full test report (and workarounds, where applicable) here.

The next step will be to determine the actual usage of these problematic (and other) components and then decide on a course of action to get it working in all environments.

May 16, 2011

Linx version 2.3.727.1121

Please note that Linx version 2.3.727.1121 is ready for download. Please see the release notes for a complete list of changes. Some of the new features / changes include:
  • HTTPS support for the Linx server. Linx now makes use of a self-signed certificate to encrypt data traffic to and from the server. Note that this feature changes the default address of the Linx server from "http://localhost:8022" to "https://localhost:8022". It is also possible to configure the server to make use of a signed certificate (if desired). For more information, please read the following help file.
  • Simplified user rights on the server. The existing user rights on the server have been consolidated into 3 new rights: ManageSolutions, ManageServices and RunProcesses. Note that existing rights will be converted automatically to these new rights when you do an upgrade. The following table shows a mapping from the old user rights to the new user rights:

    Old RightNew Right
    ProcessRunRunProcesses
    ProcessStart(None)
    ProcessStop(None)
    ServiceStartManageServices
    ServiceStopManageServices
    SolutionLoadManageSolutions
    SolutionUnloadManageSolutions

    * All users will be assigned the RunProcesses right when an upgrade is performed.

The next piece of development work (as per the roadmap) will be to convert Linx to run on .NET Framework 4. As always, comments and suggestions are welcome.

May 15, 2011

Visit to Johannesburg

Annu and I visited Johannesburg on Wed and Thu to see some of the Digiata users of Linx and Stadium. We received some great feedback. Here are the main trends for Linx from our visit and the poll we did earlier:

Likes
  • Easy to use
  • Can do anything
Dislikes
  • Sizing if UI windows
  • Building WO Model again and again and agai...
  • Debugging limitations especially when calling one process from another
Needs
  • Help for components
  • Debug through called processes
  • Higher level view of process interactions
  • Bulk upload component for quickly getting large volumes of data into databases
I have incorporated these and all the other issues we discussed into our roadmap and/or HotHouse. Some issues that were mentioned have already been fixed in newer versions of Linx e.g. the stability of the Linx Client.

Thanks to everybody that participated. If I missed any important points and you cannot find it on the roadmap or in HotHouse, please log it in HotHouse.

May 11, 2011

Upgrading from Linx version 2.2 to 2.3

The change from version 2.2 to 2.3 was mostly a re-branding exercise (Digiata to Twenty57). This entailed:
  • Renaming all namespaces in the Linx code base.
  • Renaming Linx files where applicable, e.g. "Digiata.Linx.EMX.dll" changed to "Twenty57.Linx.EMX.dll".
  • Changing the default installation directory from "C:\Program Files\Digiata Linx" to "C:\Program Files\Twenty57 Linx".

To migrate the Linx program files to the new version, it is highly recommended to uninstall the old version first and then install the new version. Note that it is possible to specify a custom directory during installation, so it is possible to install the new version to the same location where the old version was installed (if desired).

Linx solution files (.lso) that were created in the old version will open automatically in the new version. Please be aware that after saving a solution file in the new version, you won't be able to open it in the old version anymore.

Some additional notes regarding the upgrade:
  • There is a bug in the existing released version of Linx that will prevent you from converting solution files that contain the "DigiataReporting" component. This has been fixed and will form part of the next release. All other components are successfully converted.
  • Some old solution files may display the following error when you open them: "Could not load file or assembly 'EAGetMail, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e10a0812eb29cf94' or one of its dependencies". This error is not related to the changes made between 2.2 to 2.3.
    To solve this error, open the relevant .lso file in a text editor, e.g. Notepad and search for:
    EAGetMail.ServerAuthType, EAGetMail, Version=1.0.0.1
    Replace this text with (note that the version number has changed from 1.0.0.1 to 2.6.0.5):
    EAGetMail.ServerAuthType, EAGetMail, Version=2.6.0.5
    After saving the file, you should be able to open it up in Linx again.

May 10, 2011

What to expect in the next version of Linx

The following list highlights some of the features that you can expect in the upcoming release of Linx. More detailed information will be provided once the actual release is done, but this should help you to prepare your environment (if necessary) and plan ahead in the meantime:
  • The Linx client application will be removed. All management of the server will now be done through the web site.
  • The web service and web server will now run on HTTPS.
  • Overhaul of the user rights on the server. An upgrade path will be provided to migrate from the old rights to the new rights.
  • This will be the last version of Linx to run on .NET Framework 3.5. The next version will run on .NET Framework 4.
Please refer to the roadmap for more information.