Getting Technical

Over the last four years, Kohera has invested a considerable amount of time in developing a business data management tool we call SideOffice, now at major version 6. A deployment-ready version of Kohera's heavily-tested CourseAid system, in addition to those organisations on the Case Studies page, it has seen deployments into business environments for:

  • General administrative purposes
  • sending marketing SMS messages to customer mobiles
  • recruitment data management
  • high-volume takeaway order processing

SideOffice mainly serves as an excellent labour-saving platform on which to build custom database systems for medium-sized businesses, saving developer time. A few key technical and architectural points:

  • Our "Metadata Schematic Concept" approach used at the heart of the CourseAid Engine goes much further than a normal database user interface, in that every field in every table of the database is described within the database itself. Metadata records are comprehensive, instructing CourseAid which records a particular field should offer as values and what should link to that field. More essential data includes what help message should be displayed for a field, and what name should be shown next to it when a user is entering a record or in the column of a table. All of this can be configured within the system itself, and where metadata is missing the system assists the user or developer to assign it properly. Currently, the metadata types supported are:
    • sys: the system's ID for a record – assigned and not editable by the user
    • num: a numerical value
    • curr: a price (in Sterling, but could easily be extended to other currencies)
    • state: a colour symbol to indicate the condition of a record – red, blue, yellow, green)
    • truefalse: a positive or negative value
    • text: a normal text value displayed in a standard text box
    • bigtext: a larger text area for longer tracts of text
    • date: a date field in DD/MM/YYYY format
    • records: a searchable drop-down list of any other records elsewhere in the database or even in another remote database. This is a very powerful feature as it allows records to be linked together, abolishing the flat file mess that using Excel would create.
    • option: a choice of a number of pre-determined values
    • url: a link to a page on the internet, or in your own website
    • minitemplate: powerful customised link or text generator
    • intlink: a link within CourseAid, again, allowing records to be joined across the system
    • intlinkcheckbox: internal linking extended with a tick box: a number of records can be selected, maybe for deletion or to send a custom e-mail or text message.
    • email: a validated e-mail address which can also be clicked when displayed to open Outlook directly.
    • password a field which requires confirmation if it is changed, and which is hidden from view.
  • As the database is changed and improved, SideOffice automatically adjusts the table views and data entry forms around the site, with minimal intervention.
  • Unlike many web-based business systems, forms are generated and processed automatically based on the database structure. That can be changed as often as desired so the system can be deployed, put to use and still improved on an on-going basis.
  • Processes that would normally take a developer a lot of additional thought are simplified: he need only change the database schema and metadata and suddenly a list of Account Managers can be made available to select from when editing a client record, for example.

Featureset

  • Full authentication and access control and permissions so that users of various levels can have access to different areas of the site. A client or external login is possible – they see reduced datasets or only their own data. Secure token login (so-called "Two-Factor Authentication") is supported, just like a bank uses.
  • Dashboard view: different users or user groups and security levels can have dashboard views which show them records and record counts from around the system. They can request them from us and we create the display they find most useful.
  • Filtering of a table view, allowing for quick report generation by the user.
  • Reports are sets of saved Filters, for convenience and for sharing with other users
  • Comprehensive notes system: every field in the whole database can have dated notes made against it by users – this functions well as a message-sending system should users wish to discuss a particular record. New notes can be shown on dashboards.
  • Searching is possible across all records stored, even if the actual database structure changes frequently: no changes of code are necessary to achieve this.
  • System-wide SQL logging - every change to a record can be reverted and all user interactions with the system are monitored
  • E-mail archival functionality (with parsing of emails, handling the attachments, and ability of every user to see his/her emails) – currently many users painstakingly cut and paste e-mails into a CRM. This disposes of that requirement by allowing each user to "copy in" (CC) the CRM, so that the whole e-mail thread to that point is stored against the client. A user's “CourseAid” e-mail address uniquely identifies them to the system when they do this, so they can “BCC” CourseAid into a thread (or simply forward the message), so that the e-mail can be preserved.

  • File list functionality – we can use this to list the files created by a 3rd party system, so that a user can download them easily. The list can be filtered to include only files with a name containing a particular string.

  • Dynamic menus – we've added much more flexibility to the menu. It is possible to add and remove items from the menu directly through the front-end interface, whether these items are links to favourite pages, bookmarks to external pages and should be limited to only certain levels of user, etc. The button colour can also be specified.

  • Help and Feedback – there is now a help overlay, which displays on the right-hand side of the screen when opened. We are including helpful advice about how to use each individual page. At the bottom of this overlay is a Give us Feedback button. This allows a user to add a bug report or feature request into their own SideOffice, and we are notified immediately to check it out. In addition, there is much more information about the current state of the user and installation included with each Feedback message, so we can resolve problems more easily.

  • Settings functionality – we use this extensively now to store default settings used throughout CourseAid and it is a requirement of new features like result Paging mentioned above, where it is used for system preferences like “In the first instance, how many results would you like displayed per page?”. It has made our software development much quicker in some ways, and also means that we can give you direct control of these system parameters and any others we add in future. I'll head you off at the pass and say that, even though you probably don't want this extra control, we can operate it for you and make changes far more quickly than by delving into the code. It's likely that many improvements we'll write for you in the future will depend on this.

  • Duplicate a record – there are a variety of places in the CRM where a very similar record is required to the one being viewed. An example might be adding the same review or telephone Activity Note to several different Client records. That's now possible: simply view the record you would like to copy and click “Duplicate this record”. You will be taken to a new record created with the same data as the one you were previously viewing and can make your changes then save.

  • Ad Hoc Queries functionality – imagine being able to run far more complex queries than is possible with the Filters feature you already have, for example, counting Clients in groups (prospective/current, one/two/three/practitioners, etc.) We would design the queries for you and add them to a list where they could be run and modified easily. This is an excellent new feature in use by one company in particular to replace their outdated reporting platform.

  • Attractive, modern design, which is easy on the eye

  • Export to CSV for any view, allowing easy manipulation in a spreadsheet