saleslogix - Empath-e
Transcription
saleslogix - Empath-e
SALESLOGIX ® TECHNICAL EVALUATION VERSION 7.X.X Author: Mike Spragg (mike.spragg@empath-e.com) http://www.empath-e.com info@empath-e.com Contents Technical Evaluation Version 7.x.x ____________________________________________ 1 Introduction _______________________________________________________________ 2 Overview of System _________________________________________________________ 3 Database Server _________________________________________________________ 3 SalesLogix Server (OLE DB Provider) (Data Access Layer) ____________________ 3 SalesLogix Administrator (Presentation Layer)_______________________________ 4 SalesLogix Client (Presentation Layer) ______________________________________ 4 SalesLogix Web Server ___________________________________________________ 5 SalesLogix Synchronisation Server__________________________________________ 6 SalesLogix Remote Office Server ___________________________________________ 6 SalesLogix Remote Office Client____________________________________________ 6 SalesLogix Synchronisation Client __________________________________________ 7 Component Architecture _____________________________________________________ 8 Programming Languages__________________________________________________ 9 Programming Interfaces __________________________________________________ 9 Workgroup Administrator _______________________________________________ 10 Database Manager ___________________________________________________ 10 Calculated Fields ____________________________________________________ 11 Picklists and Lookups_________________________________________________ 11 Database Joins ______________________________________________________ 12 Query Builder _______________________________________________________ 12 SalesLogix Architect ___________________________________________________ 13 VBA Scripting ______________________________________________________ 15 Active Forms and Script (new in v6) _____________________________________ 16 Development & Production Systems _____________________________________ 17 Bundle Manager _____________________________________________________ 18 Projects ____________________________________________________________ 19 Data Imports and Exports ________________________________________________ 20 Alternative Methods __________________________________________________ 22 SalesLogix Database Profiler _____________________________________________ 23 .NET Customisation ____________________________________________________ 24 System Administration & Skill Requirements ___________________________________ 25 Firm Wide Set-up__________________________________________________________ 27 Main Office ________________________________________________________ 27 Remote Offices ______________________________________________________ 28 Developing External Applications ____________________________________________ 29 Gaining a connection _________________________________________________ 29 Adding a form to the project____________________________________________ 30 Adding to Microsoft Word _____________________________________________ 31 Running the application _______________________________________________ 31 Appendix A - Compatibility Checklist__________________________________________ 32 © empath-e Limited Last Modified: June 2007 Page: 1 INTRODUCTION The purpose of this document is to provide an overview of the SalesLogix system in response to your Request for Proposal. This guide seeks to inform the intended audience with regard to the components used within the SalesLogix system and their interaction within your organisation. It also introduces many of the changes made in Version 6.x to support n-tier operation and the architecture improvements to allow SalesLogix to become more accessible to other business applications such as Microsoft Visual Basic, VB.NET, Microsoft Outlook, and Microsoft Word etc. With SalesLogix Version 5.x the application was tied to its own database provider (Borland Database Engine) and scripting language (Cypress Enable). This prevented it from being accessed outside of its own environment – unless you used the SLAPI access methods which were cumbersome to support. Now, with SalesLogix v7.x all database access is routed through the standards based ADO/OLE DB provider. This server based component exists, not only for SalesLogix, but for any application that wishes to make use of it – providing security and, importantly, logging control for remote users and sites. It also maintains the connection status and licensing control. Version 7 is the first release whereby all legacy forms and scripts have been removed – and have been replaced with Active Forms and Scripts. Additionally, this is the first release to provide .NET forms – which can be bundled and streamed out to each client. Further Reading It is also recommended that you review the following documents, supplied on CD, for further information and illustration of the enclosed: SalesLogix v7.0 Launch Bulletin SalesLogix Architecture White Paper SalesLogix Data Sync White Paper SalesLogix OLE DB Provider © empath-e Limited Last Modified: June 2007 Document PDF PDF PowerPoint Page: 2 OVERVIEW OF SYSTEM The SalesLogix system is comprised of the following applications: Application Purpose & Description Database Server (Data Layer) This is the primary, or master, database and stores the master copy of the SalesLogix database. As you can see this may be hosted on various platforms depending on size of installation and scalability requirements. Microsoft SQL Server 2000 or 2005 Microsoft MSDE v2.x Oracle 9i / 10g The use of MSDE is for test/training systems only and should not be used in production – as it is limited to 5 concurrent connections. SalesLogix Server (OLE DB Provider) The SalesLogix OLE DB Provider (technically, a service provider) extends the functionality (Data Access Layer) Operates by default on TCP/IP port 1706. of the SQL Server OLE DB (Data) Provider by adding three services which are not natively supported. These services are internal to the SalesLogix OLE DB Provider and used automatically via the standard ADO interface – no additional or proprietary SalesLogix ADO methods are required. The SalesLogix OLE DB Provider automatically: Performs data logging, creates transaction exchange files (TEFs) for synchronisation of data to remote users. Enforces column and row level data security on all queries passed to the database. Manages user connections to the database and enforces licensing The SalesLogix OLE DB Provider is not limited to SalesLogix Clients. Visual Basic, Application Service Provider (ASP) pages, Crystal Reports, or any other application that uses a standard OLE DB connection may access SalesLogix data as a client. The interface is standard Microsoft ADO, requiring no proprietary API calls to access the data. © empath-e Limited Last Modified: June 2007 Page: 3 SalesLogix Administrator (Presentation Layer) Admin Architect Bundler This core application is used to configure and maintain the SalesLogix system. Composed of three applications, the Administrator will use these to maintain users, picklists, customisations, licenses and security etc. The overall Administrator may nominate other administrators with restricted functions if required. The Architect and Bundler are used for customising the SalesLogix system and provide a mechanism of moving customisations between development and production servers and/or vendor and client. The v7 Administrator program was completely re-written for v6 and is now easier to use with less options to configure. SalesLogix Client (Presentation Layer) This is the application used by all workgroup clients to access the full range of SalesLogix services. These clients interact directly with the Database Server over the LAN/WAN. With v6 the application has changed to support a new mail-merge engine which is common to both the LAN and Web versions. Additionally, over 15 functional areas were addressed within this release. See the Launch Bulletin for further details. In version 7 the application controls were adapted to enables a Windows XP theme to be used. This presents a cleaner and more updated look and feel to the product. © empath-e Limited Last Modified: June 2007 Page: 4 SalesLogix Web Server Servers Web Host Web Manager Web Reporting Clients WebClient WebViewer LeadCapture Web Phone/Wireless The Web Host contains the functionality of the Web components and provides the interface between SalesLogix and Microsoft Internet Information Server™ (IIS). Your implementation may require one or more Web Hosts and virtual servers. Each Web Host is a separate, physical machine. At a minimum, you must designate one primary Web Host. Depending on the size of your implementation, you may also need to install one or more secondary Web Hosts. Virtual servers enable you to scale your implementation without additional physical machines. The Web Reporting engine uses Crystal Enterprise XI R2 from Business Objects The various web clients (WebClient, WebViewer etc) denote the functionality of the client. For v6 the following improvements were addressed: Navigation system was re-written resulting in faster performance and less toolbar “clutter”. New, cascading menus now contain group functionality. New grid control for expanded detail views. The interface was altered to match a Windows XP look and feel. The web clients now support Outlook and MS Word integration, via ActiveX components, that operate in exactly the same manner as the LAN Client. Dynamic groups may now be created. Web reporting uses same components as WAN version. Reports are now identical between versions of the client. © empath-e Limited Last Modified: June 2007 Page: 5 SalesLogix Synchronisation Server The sync server processes transactions made by each user, office or web client and sends them to the relevant other sub-office. This sub-office also has a SQL system that supports that office. Regular iterations of the sync server and sync client ensure that each remote office and remote user is up-to-date providing a loosely coupled synchronisation system. The Sync Server communicates via the Network, FTP or secure VPN connections. In version 7 the ability to synchronise via HTTP was added, this enables sync to operate without the need for opening nonstandard ports across firewalls. Remote Office Components SalesLogix Remote Office Server Set up in the same way as a SalesLogix Database Server this serves the need of the local office users. This server need only run a database server in relation to the number of users. You can freely match MS SQL Server, MSDE or Oracle as Remote Office Servers. SalesLogix Remote Office Client This is the same client as used in the master office, simply directed to the remote office server. © empath-e Limited Last Modified: June 2007 Page: 6 Remote User Components SalesLogix Remote User Server For a disconnected user, such as a salesperson or anyone wishing to use the system totally disconnected, they will have a local sub-set of the master system on their portable. A database server such as Microsoft SQL Server Personal Edition or MSDE serves this function. SalesLogix Remote User This is the same client as used in the master office, simply directed to the remote user server. SalesLogix Synchronisation Client The Synchronisation Client communicates with the Synchronisation Server to exchange transactions – sending changes made by the local client to be applied at the master server and applying changes to their database as made by the other SalesLogix users. Sophisticated algorithms are used to ensure only transactions that directly affect their data set are sent to that user to minimise synchronisation times. Inbuilt rules are used to avoid potential data change conflicts. © empath-e Limited Last Modified: June 2007 Page: 7 COMPONENT ARCHITECTURE DB DB Security Sync Logging BDE (SLAPI) SalesLogix OLE DB Provider IIS SDK ISAPI (Web DLL) A DO (SLAPI) rd 3 Party Windows Clients SQL or Oracle OLE DB Provider IIS S DK Browser ISAPI 3rd Party Business Rules Security Sync Logging SalesLogix v5.x and Earlier Windows Browser Figu Business Rules SalesLogix v6.2 As you can see – with the introduction of version 6 it is now feasible to write applications using standard industry tools such as Visual Basic, Visual Basic.Net, C# etc. using the standard OLEDB provider as the access method to data – along with inherent support for security and database logging for remote users. Please refer to Appendix A for details on supported systems and minimum client specifications. © empath-e Limited Last Modified: June 2007 Page: (Web DLL) 8 Programming Languages SalesLogix is primarily written in Borland Delphi. Access to the database is driven by the standard ADO methods using the “OLE DB Adapter for SalesLogix” – this provides a database vendor neutral access mechanism and enables SalesLogix to make ANSI-92 compliant calls to the driver and this will then translate according to the database in use. The use of OLEDB extends to the reporting infrastructure – using Crystal Reports XI R2 from Business Objects. The web components utilised for presentation and integration are VBScript, ActiveX, DHTML and JavaScript dependent upon requirements. Access to the SalesLogix system from a web client is via a SalesLogix DLL integrated with IIS via the ISAPI layer and ADO for database access. The web components rely directly upon the configuration of the system. For example, adding a table for the SalesLogix LAN clients means that it is immediately available for building into web views and queries. As the database is open technology there is nothing to prevent the developer writing, for example, an ASP based application to query and display SalesLogix data. empath-e has an in-house application that does this for Intranet display of information pertinent to our customer base. This functionality can be extended for web portals or digital dashboard type scenarios. Now, with the release of v6 the update method is supported allowing full read/write access to the data. The Mail Merge engine communicates with the SalesLogix database via ADO and is integrated into Windows as a DCOM object and calls upon Word using DCOM. This single instance engine replaces all previous methods for fax/email & word document production. Programming Interfaces SalesLogix can be customised quickly and easily using the Architect program included with the system. This enables “screen paint” type controls to adjust the user interface to suit the requirements of the Administrator or development staff. Using the Admin program you can also adjust the database schema to quickly include, or drop, additional tables and columns to support your business requirements. Now, with the introduction of Microsoft VBScript directly within the Architect and a single IDE for Active Forms you no longer have to write “mini-scripts”. Each object supports events and code behind those events – making development faster and easier to understand. For legacy products, access is provided by VBA to include other application DLL’s for extensibility beyond SalesLogix. You can also control other applications (for example, MS Word, MS Outlook), including SalesLogix, by the use of COM Automation. SalesLogix exposes many functions for use by other applications as required. Refer to the Development Reference Guide for more details. © empath-e Limited Last Modified: June 2007 Page: 9 Workgroup Administrator Database Manager Same Database Manager in Administrator and Architect! Add a description to any table! Right-click to change hidden fields and indexes easily. Easily specify how this table is to be synchronized to and from remotes. Now text fields can contain up to 4,000 characters! As you can see, from here you can control the database schema without having to resort to the underlying database tools such as MS Enterprise Manager, Oracle ISQL, Query Analyser etc. Columns can be added, deleted or renamed to suit your business terminology. New tables can be added to enable data to be populated based upon views created in the Architect. © empath-e Limited Last Modified: June 2007 Page: 10 Calculated Fields Based upon rules you define you can create calculated fields that are resolved during run-time: - Picklists and Lookups You can also aid data entry by pre-defining how picklists should work and what data items can be queried quickly. © empath-e Limited Last Modified: June 2007 Page: 11 Database Joins When tables are added a link is made with a parent table on a 1:1 or 1:M basis. You can decide what should happen when data is deleted – keep the data and denormalise the data or delete the record to prevent orphaned records. The joins are also used when building the view for Query Builder (the ability to query any object in the database from the SalesLogix client) In this instance if a company is deleted then all contacts for the company are deleted. When displaying data from company and contact join the data based on the AccountID using an inner join. Query Builder The Query Builder, built directly into SalesLogix & Web Client, enables the user to query data using any condition they need. This then builds a dynamic group based on those conditions. © empath-e Limited Last Modified: June 2007 Page: 12 SalesLogix Architect (Legacy Views) The Architect program is used to build customisation objects [known as “plugins”] within SalesLogix. Using an intuitive forms based design the developer can quickly modify views enabling the user interface to reflect business requirements rather than “out of the box” views. Linked to this, via the VBA Scripting engine and the Admin Database Manager, complete process models can be achieved. Here we can see the full list of plugins available. By highlighting the required plugin you can simply open the plugin for editing. Once a view has been opened the developer simply uses drag and drop to place or arrange objects on the view. © empath-e Limited Last Modified: June 2007 Page: 13 Using the palette control the developer can utilise the supplied SalesLogix functions and controls: - Additionally, each object has a set of properties and can, depending on user reaction, cause events to occur: The combination of properties and events enables the developer to create user interactions that closely follow the processes and business requirements. Due to the nature of business – these controls and events can be quickly and easily changed as requirements change within the business. © empath-e Limited Last Modified: June 2007 Page: 14 VBA Scripting (Legacy) One of the most powerful functions within SalesLogix is the use of VBA. As previously mentioned by business processes will guide user interaction. By tightly integrating VBA to the view and data objects within SalesLogix it is clear that functionality is limited only by the developer’s imagination and ingenuity. For example, each object can be assigned a default condition and a set of parameters but what if you want data to be altered based upon a set of conditions? This is where VBA is used to ensure changes happen only when you want them to happen. Using the Architect you draw the views you need and then bind VBA to the object to ensure your business rules occur. In this example we will populate the history table based upon an input form: - However, we want to check the form for errors before allowing the user to post the history item. A small piece of VBA does the checking for us. In this case – if the user has requested to insert a file, but the file name is blank, then the request is denied. © empath-e Limited Last Modified: June 2007 Page: 15 Active Forms and Script (new in v6) The Architect has been revamped to include new functionality for Active Forms – as opposed to Legacy Views (pre v5.x). However, both can co-exist within the system and be used interchangeably. Programmer can “include” code that is shared – no more duplicate code Forms use standardised controls. Custom controls may be added by the developer True Microsoft VBscript! For developers who aren’t experienced with VBscript, there are several reference books and web sites. Code editor will color-code parts of the script to visually assist the developer. Tooltips and Code Completion give the developer automatic assistance while they are typing. Overall, Architect will be comfortable to anyone who has used Visual Basic. Script Editor and VBscript Customisation code can now be written in Microsoft VBscript. The new script editor provides a richer environment including colour-coding, tooltips, and other features similar to Visual Basic. The new editor supports the following: Code completion. Code completion occurs when a control name and period are typed (“dot notation”). The applicable properties and functions appear in a list. ToolTips. Function parameters display as a ToolTip after the function is typed. Include Scripts. Global functions can be used across multiple scripts with the new “include scripts” option. Find and Replace. Find and Replace capabilities allow you to search for specific words throughout the current script or all scripts in the database. Backward Compatible. Existing Cypress Enable scripts continue to operate without modification and are now called “Legacy Scripts.” © empath-e Limited Last Modified: June 2007 Page: 16 Development & Production Systems An exceptionally useful feature of SalesLogix is the use of releasable plugins. This virtually eliminates the need for a development system (aside from the obvious reasons) as you can develop on the live system. This is achieved by the use of secured plugins. Each plugin has two, or more, releases – one for the Administrator and the other for each user or team it has been released to. It is therefore feasible to have a live system whereby the logged in user is using one view whilst you develop a new or enhanced replacement view. Once the changes are finished you can release a plugin to a test or prototyping team. If the feedback is positive the plugin can be released system-wide. In version 6.x this functionality is extended by the use of version controlled plugins. Rather than overwriting plugins, each plugin is kept but de-released as a new one replaces it. This ensures a developer can go back and re-release a plugin if necessary without resorting to a backup. Developer View Determine who to release the view to. The next time the user logs in (or presses CTRL+F5) then their view will be refreshed. This principle applies to all plugins; including views, scripts, groups, reports etc. © empath-e Limited Last Modified: June 2007 Page: 17 Bundle Manager SalesLogix is supplied with an application known as the Bundle Manager. This tool enables complete projects of customisation to be delivered, typically via email, to the system. For example, empath-e can be contracted to provide new functionality. We would make these changes locally on our systems in Winchester. After testing, these are then sent to the Administrator and loaded via the Admin program. These changes are then sent, via the Synchronisation Server to the remote users and the remote offices during the next synchronisation cycle. Each office and user is then kept instep with the master system. The LAN based clients receive the changes when they next login to SalesLogix (or press CTRL+F5 “Refresh”). © empath-e Limited Last Modified: June 2007 Page: 18 Projects With version 7.x the project area was extended to incorporate all plugins and actions – these are the components used within a bundle “wrapped” together to form a complete project – making it easier to create bundles and transport programming objects between systems. See all your plugins for this project at a glance Open plugins from here with a double-click! Build a Bundle directly from a Project – all the plugins are added to the Bundle Easily release all plugins in the Project to a Team or Everyone New plugins are added to the Project when you save. You can add existing plugins from the “+” button or from inside Plugin Manager. When installing a Bundle through Administrator, there is an “Add Project” checkbox that is set by default. This will install a Project that matches the Bundle. Simply launch Architect and open the Project to see all plugins installed by the Bundle. You can even open Plugin Manager and filter by Project to easily see details about plugins added by the Bundle. © empath-e Limited Last Modified: June 2007 Page: 19 Data Imports and Exports Imports to the system are achieved via the supplied Import Wizard tool. This has been re-designed for version 7 and provides better functionality as well as access to scripting for more complex import maps. The tool enables the Administrator to define an import source (which can be from file based structures such as ASCII CSV or OLEDB/ODBC sources) and then use a simple drag & drop interface to determine the destination. Obviously, great care must be taken during this stage, as the Administrator will need an understanding of the database schema in order to avoid data collisions. A fully documented database schema is provided with SalesLogix along with ERD’s in Visio if required. Once the tables have been defined for importing the next step is to map the import tables with the SalesLogix tables. Again, a simple drag and drop interface is used. It is possible to assign record import conditions for example – only import records where TYPE = ‘Condition1’ and, if condition fails, then a default condition can be used. © empath-e Limited Last Modified: June 2007 Page: 20 Once the table map has been completed SalesLogix will now guide you through each of the defined tables and enable you to drag and drop fields into the relevant SalesLogix columns. Again, conditional or translation methods may be used on each field. © empath-e Limited Last Modified: June 2007 Page: 21 When you have completed the mapping phase, the last phase is to map your input file users (if applicable) to SalesLogix users. As you can see, it is not necessary for the names to be defined exactly the same way as they are in SalesLogix (as they are resolved to ID’s ultimately anyway). Once this stage has been completed you are now ready to import into the database. Alternative Methods The import wizard is very convenient for single, simple, imports. However, if you wish you may also use VBA/VBscript to import directly into the database or other tools such as Scribe Migrate / Integrate or Microsoft DTS for example. Additionally, a product due to be launched is the Application Integration Server (AIS) – this enables “hub-and-spoke” type integration with 1:M application. Exporting is currently limited to CSV, Text or dBase IV. However, the use of VBA/VBscript can extend the export options to virtually any other format, for example XML or PDF/MS Word (via Crystal Reports export functionality) © empath-e Limited Last Modified: June 2007 Page: 22 SalesLogix Database Profiler The profiler enables the system administrator to analyse queries that are being sent through the provider, both generic and after it has been transformed by adding the security layer. It also provides timing details to analyse slow queries. A new feature also enables queries to be optimised – replacing any “tokenised” query with specific query hints to provide SQL Server the necessary information to make long/standard queries more efficient if possible. © empath-e Limited Last Modified: June 2007 Page: 23 .NET Customisation New to Version 7 is the ability to extend SalesLogix functionality with .NET forms as required. These are embedded into the SalesLogix client and can be delivered via the standard bundle mechanism. © empath-e Limited Last Modified: June 2007 Page: 24 SYSTEM ADMINISTRATION & SKILL REQUIREMENTS The SalesLogix Planning Guide (as supplied) defines the need for the following people for an installation of SalesLogix: Implementation Manager (System Administrator) Information Systems (IS) Administrator - [IP Networking, Hardware] Database Manager (DBA) – [Microsoft SQL Server 2005/2000 or Oracle] Web Master – [Internet Information Server, Jscript, DHTML, HTML] Customisations Manager (Developer) – [VBA/OLEDB/ADO/VBscript] You will also need the following people: Business Sponsor Project Sponsor Training staff These people are required in complex, large installations of SalesLogix and, normally, can be shared functions across the same personnel. For example, your Customisations Manager may also be your System Administrator. In essence, you are required to have the relevant personnel available to enable the system rollout to be made on time and with minimal issues. It is important for example, therefore, that the Web Master be in touch with the IS Manager to ensure relevant hardware and resources are available during system installation. The cornerstone of the implementation phase is the IS Manager – he or she will need to co-ordinate with the SalesLogix Pilot and Review team to ensure that the resources are available when required. Additionally, empath-e will need access to the IS Manager and/or their staff to ensure that they have the correct information about network protocols, servers etc. when performing the initial installation. © empath-e Limited Last Modified: June 2007 Page: 25 Post installation is where the review and business sponsors are required to ensure the continued and ongoing development of SalesLogix within your organisation. This will involve liaison with the Administrator, DBA and SalesLogix Developers to ensure new processes are implemented as and when required. Customisation would, normally, be passed to the DBA for implementing on the database, then the developer and then web development team. Typically, on a day-to-day basis the only requirements are simple picklist changes, report running & to ensure the database is performing optimally (indexes, backups etc) This assumes that you wish to actually develop the software yourself – it is normal for empath-e to handle the complete life cycle of customisation during the first year of commission. We will update your system and web servers on your behalf (via remote access and control) ensuring a smooth roll out plan is achievable with minimum effort from yourselves. We would expect an on-site Administrator for SalesLogix (backed by an internal review team) in order to co-ordinate these changes. After this period you are welcome to attend advanced development training courses to ensure that your firm becomes self-sufficient in development, if required. © empath-e Limited Last Modified: June 2007 Page: 26 FIRM WIDE SET-UP Using the various components of SalesLogix it is possible to cater for many different installation scenarios. For example, web-based deployment for limited bandwidth or multiple geographically dispersed locations. LAN based for power users or Terminal Server delivery for low-bandwidth users who require the functionality of the fullclient. Additionally, you can deploy multiple database servers into major offices and use replication to deliver and apply updates. Main Office 3rd Party App e.g. Word / Outlook SalesLogix OLE DB Server SalesLogix Workgroup Client SalesLogix WebServer MS IIS SalesLogix Workgroup Client Citrix / MS Terminal Server SalesLogix Remote User SalesLogix Sync Server RAS / VPN / FTP DB Subset SalesLogix Remote Office Link (See next page) © empath-e Limited Last Modified: June 2007 SalesLogix Terminal Server Client SalesLogix Web Client SalesLogix Quick Virtual Office Users (Terminal Server Clients) SalesLogix Web Client Page: 27 Remote Offices SalesLogix Remote Office Server SQL Server 2000 SalesLogix Workgroup Client SalesLogix Sync Server Transactions SalesLogix Workgroup Client To Main Office RAS / VPN / FTP As you can see – you can split and combine components to suit the needs of the user and office. Terminal Server eases the rollout significantly – but brings increased cost. Using Web Servers also ensures an easy rollout but each client has restrictions due to web-based technologies. © empath-e Limited Last Modified: June 2007 Page: 28 DEVELOPING EXTERNAL APPLICATIONS Given the new data access model it is relatively easy to create your own application to access the SalesLogix system. Shown below is an application that is launched from within Microsoft Word in order to pull name and address details from SalesLogix – given a few parameters: Gaining a connection In order to open a connection to the database you would use the OLE DB Provider (provided with SalesLogix) and use the following connection string: Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sConn As String sConn = "Provider=SLXNetwork.1;" & _ "User ID=Admin;" & _ "Password="""";" & _ "Data Source=<database_name>;" & _ "Extended Properties=""" & _ "SLX Server=<server>;" & _ "ADDRESS=localhost;" & _ "Type=ODBC;" & _ "PORT=1706;" & _ "RWPass=Password1"<password>""‘ Used if read/write required Set cn = New ADODB.Connection cn.Open sConn ‘ open connection using OLEDB Driver Set rs = cn.Execute("<my sql statement>") ‘ SQL statement X = rs.Fields("<myfield>") ‘ row return value rs.Close cn.Close Set rs = Nothing The items in “< >” require completing at runtime. That’s it ! Provided the correct OLE DB provider is used (SLXOLEDB.1) everything else is handled, including logging. In order to simplify life we have created a Class DLL called SLX6.DLL that handles the above, therefore it has its own methods and properties – and avoids the need for replicated code. © empath-e Limited Last Modified: June 2007 Page: 29 Adding a form to the project In this example we open Outlook and invoke the VBA editor: A new form is added, and code behind the “Find Now” button does the physical search of the database: Private Sub cmdSLXFind_Click() with found results ' Logs onto DB and populates grid Dim SQL As String Dim ar() As Variant Set x = New SLX6 ‘ Uses the SLX6.DLL Class to physically connect x.LogOnDbSilent SQL = "SELECT contactid, lastname, account, firstname, initials, address1, address2, city, state, postalcode, prefix, addressid " & _ "FROM contact c, address a where c.addressid = a.addressid and lastname like '%" & txtLastName.Text & "%' order by lastname, account" ar = x.MainDatabase.Recordset(SQL).GetRows ‘ Get RecordSet FillGrid grdMain, ar, "", False ‘ populate grid control with array x.LogOffDb End Sub © empath-e Limited Last Modified: June 2007 Page: 30 Adding to Microsoft Word A new button is added to the standard toolbar to invoke the form. The form/code is then saved as a document template (.dot) and saved into C:\Program Files\Microsoft Office\Office\Startup where it will start with Word each time. Running the application From within Word the user simply types part of a name to find SLXFind is pressed Mike Abbott Abbott Ltd. The Towers Northern Way Basingstoke Hampshire RG23 1BD The form invokes, queries the database and returns the relevant rows. The user simply double-clicks the required item and the results are sent to Word as a fully formed address. Similarly, controls, code and forms are added for the Update option. Obviously, in this example a lot of code has been omitted for clarity. © empath-e Limited Last Modified: June 2007 Page: 31 APPENDIX A - COMPATIBILITY CHECKLIST SalesLogix v7.0 SalesLogix Client Requirements 512+ MB RAM recommended 1Ghz+ Processor recommended 200+ MB of free disk space for application files Sales Remote Client requires 56K modem for synchronization; DSL, Broadband, or network connection recommended Sales Remote Client requires minimum additional 250+ MB free disk space for database and sync files (depends on subscription rules and account ownership which increase size of database) Remote Clients require additional 250Mb+ for local database, sync files etc. Hardware Operating System Local Database For Sales Remote Client Only Word Processor For Sales Client Mail Merge E-mail Microsoft Windows 2003 Server Microsoft Windows 2000 Professional SP4 Microsoft Windows XP Professional SP1/2 And MDAC 2.8 (included) MSDE 2000 SP3/SP4 (SP4 included) Or Microsoft SQL Server 2000 Personal Edition Or Microsoft SQL Server 2000 Microsoft Word 2003, Word 2002 or Microsoft Word 2000 SR-1a or higher Microsoft Outlook 2003 SP1 or higher Microsoft Outlook 2000 SR-1a* or higher Or Microsoft Outlook XP* Or SalesLogix Mail Client (included)** * Workgroup or Corporate mode, not Internet-only mode. Reporting Browser Sync to Personal Information Managers using Intellisync for SalesLogix (included) Sync to Handheld Devices ** SalesLogix Mail Client supports Internet mail, Lotus Notes R5 in "Office Mode", and GroupWise 5.5 and 6.0. Crystal Reports Professional XI R2 Microsoft Internet Explorer 6.0 Or Microsoft Internet Explorer 7.0 Microsoft Outlook 2003 SP1 or higher Microsoft Outlook 2000 SR-1a Microsoft Outlook XP Novell GroupWise 5.5* Lotus Notes R5 in Office Mode Lotus Notes 4.6 in Office Mode * Export from SalesLogix to GroupWise Only Once you have synchronized from SalesLogix to any of the PIMs above, you can now sync to any device supported by those PIMs including Palm OS, RIM Blackberry, Pocket PC, and other compatible devices. For example, you can synchronize between SalesLogix and Outlook and between Outlook and Palm (SLX <-> Outlook <--> Palm). Contact your PIM or device manufacturer for the appropriate sync software. Using Intellisync for SalesLogix and the retail version of Puma Intellisync v4.0 or v5.0 (not included), you may synchronize directly to the following devices: Palm Powered Handheld Synchronization Pocket PC Synchronization © empath-e Limited Last Modified: June 2007 Page: 32 SalesLogix v7.0 Administrative Workstation Requirements (may reside on SalesLogix Server) Hardware Operating System Word Processor For Mail Merge template management Reporting Browser 512+ MB RAM recommended 500+ MB of free disk space for application files Microsoft Windows 2003 Server Microsoft Windows 2000 Professional SP4 Microsoft Windows XP Professional SP1/2 And MDAC 2.8 (included) Microsoft Word 2003, Word 2002 or Microsoft Word 2000 SR-1a or higher Crystal Reports Professional XI R2 Microsoft Internet Explorer 6.0 Or Microsoft Internet Explorer 7.0 SalesLogix v7.0 Host Database Server Hardware Operating System Relational Database Management System Compatible E-Mail Servers 1GB+ RAM recommended 1+ GHz recommended 2+ GB free disk space for database + free space for RDBMS files Dedicated high-speed network connection to the Database Server if SalesLogix Server is installed on separate machine. Microsoft Windows 2003 Server Microsoft Windows 2000 Professional SP4 Microsoft Windows XP Professional SP1/2 And MDAC 2.8 (included) Microsoft SQL Server 2005 (SP1) Microsoft SQL Server 2000 Service Pack 4 Or Oracle 10g with ISO 8859-1 character set Or Oracle 9i (9.2.0.2) with ISO 8859-1 character set Microsoft Exchange 5.5/2000/2002/2003 Server Lotus Notes R5 in "Office Mode" GroupWise 5.5 POP3/SMTP IMAP/SMTP SalesLogix v7.0 Synchronization Server Requirements (may reside on SalesLogix Server) 512+ MB RAM recommended 500+ MB of free disk space for application files 2+ GB free disk space for sync traffic Microsoft Windows 2003 Server Microsoft Windows 2000 Professional SP4 Microsoft Windows XP Professional SP1/2 And MDAC 2.8 (included) Hardware Operating System SalesLogix v7.0 Remote Office Server Requirements Hardware Operating System Relational Database Management System 1Gb+ RAM recommended 500+ MB of free disk space for application files 2+ GB free disk space for sync traffic Microsoft Windows 2003 Server Microsoft Windows 2000 Professional SP4 Microsoft Windows XP Professional SP1/2 And MDAC 2.8 (included) Microsoft SQL Server 2005 (SP1) Microsoft SQL Server 2000 Service Pack 4 Or Oracle 10g with ISO 8859-1 character set Or Oracle 9i (9.2.0.2) with ISO 8859-1 character set SalesLogix v7.0 Web Host Requirements Hardware Operating System and Web Server 1GB+ RAM recommended 1.5+ GHz recommended 250+ MB of free disk space for application files and web pages Microsoft Windows 2003 Server (IIS v6) Microsoft Windows 2000 Server SP4 (IIS v5) SalesLogix v7.0 Web Reporting Requirements 1GB+ RAM recommended 1+ GHz recommended 800+ MB of free disk space for application files and web pages Hardware © empath-e Limited Last Modified: June 2007 Page: 33 Microsoft Windows 2003 Server (IIS v6) Microsoft Windows 2000 Server SP4 (IIS v5) Crystal Reports Server XI R2 Operating System Reporting SalesLogix v7.0 Sales Web Clients and Support WebTicket Requirements Browser Word Processor For Sales Web Client Mail Merge E-Mail For Sales Web Client Outlook integration Microsoft Internet Explorer 6.0 Or Microsoft Internet Explorer 7.0 Microsoft Word 2003, Word 2002 or Microsoft Word 2000 SR-1a or higher Microsoft Outlook 2003 SP1 or higher Microsoft Outlook 2000 SR-1a* or higher Discontinued in SalesLogix v6.x/7.x Microsoft Microsoft Microsoft Microsoft Operating Systems Windows Windows Windows Windows NT v4.0 95, 98, 98SE XP Home Edition* ME* *Not qualified as these Operating Systems are intended for home, not corporate use. Microsoft SQL Server 7.0 Microsoft SQL Server 6.5 and earlier InterBase Internet Explorer 5.5 Internet Explorer 5.01 and earlier Microsoft Windows XP Professional with IIS or Personal Web Server Microsoft Windows 2000 Professional with IIS or Personal Web Server Microsoft Windows NT 4.0 Workstation with Personal Web Server Microsoft Word 97* SalesLogix Word processor Databases Browsers Web Servers Word Processors * Not compatible with Mail Merge features. Microsoft Outlook 98* Microsoft Outlook 97* E-mail Clients *Not compatible with Advanced Outlook Integration features. Crystal Reports 8.5 and earlier (existing Crystal Reports must be upgraded) IQ Objects SLX Report Writer Reporting © empath-e Limited Last Modified: June 2007 Page: 34