Detailed API logging

For those customers who make heavy use of the API, we’ve just released some updates to the enhanced audit trail feature which will make keeping track of API usage a lot easier. 

These can help with things like

  • Seeing trends in the volume of usage over time
  • Identifying any performance bottlenecks
  • Checking that any caching layer you have is operating correctly

In short, to keep things running smoothly, troubleshoot easily and control costs when there are complex sets of interacting software systems, many API requests per second and/or large volumes of data being transferred.

First, here’s a quick recap on the existing benefits of enabling Enhanced Audit Logging (£15/month).

  • Extended retention periods (upgradable to any length of time required)
  • The ability to create views and charts from the log data, so you can report on it in the same way as any other data in agileBase

For API calls, the data logged includes

  • Date and time of the request
  • IP address of the external client making the request
  • The API view the request was made against
  • Any data filters and row limit applied to the request

What’s new?

Additionally, the following new data fields will now be logged:

  • Count – if a number of similar requests are made in quick succession to the same API view, they will be merged into one log line. The count field will then show the number of requests this line refers to
  • Processing time – the total time in ms (thousandths of a second) taken to serve the request. If count is greater than one, this will be the total time for all the requests the log line pertains to
  • Of which Q time – to achieve a fair level of load balancing, agileBase operates a separate API request queue for each customer. If a request arrives and the system is still busy processing a previous request, the new one gets held in a queue. This field shows how much of the total processing time (ms) was spent waiting for previous requests to complete
  • Rows – the total number of database rows returned by the request(s)
  • Bytes – the total size of the response(s) for each request i.e. the amount of data returned

These can all be used in charts and reporting. Please note if you want to find average processing time, queuing time, rows or bytes per request for a log line, you need to divide by count.

Hopefully this data will prove useful to customers, particularly those interacting with many third party systems or sending large volumes of data to external systems via the API, perhaps for transaction processing.

Please let us know if you’d like to see any further metrics.

Global editing privileges

It’s a little bit surprising to see but at halfway through the year, development of the agileBase platform is going roughly according to plan, as set out in the 2020 roadmap last December.

We’ve been concentrating on building in capabilities to let businesses “scale up without screwing up” – in practical terms, things like administrator controls, efficiency, data privacy and security. Some of these things have been going on behind the scenes but many we can showcase and introduce as platform features.

One of those we can introduce today – granular global editing privileges.

Global editing is a powerful feature that allows users to quickly update many records at once – it works a bit like “find and replace” in a text editor.

This is obviously a feature that benefits from restricting the number of people who can use it. If you’re a food manufacturer for example, you may want to be able to bulk replace one ingredient with another in all recipes, but you may not want everyone to be able to use this capability!

Until now, global edit rights could be assigned by giving someone MANAGE privileges on a table. This privilege level comes with many additional capabilities though – anyone with those privileges can manage the structure of the table, adding and removing fields.

Global editing rights can now be assigned on their own. There is a new checkbox in the role properties page, ‘allow global editing’. Adding a user to this role will allow them to perform global edits on any table they have EDIT privileges on.

This should be useful to many people, particularly those using multi-tenanted products built with agileBase, who can’t be assigned manage privileges. 

People with manage privileges on table can still globally edit the data, whether or not they’re in a role with ‘allow global edit’ ticked.

June 2020 agileBase updates

This month’s updates cover a range of areas, including documentation, API improvements and user interface improvements. 

In the background we’re also working on some major developments to help administrators. All of these improvements aligning with our vision of supporting ambitious organisations across all the phases of their growth. A sneak peek of some of that work is at the end of the page.

New Documentation

With the help of our partners at Little House Consulting, the agileBase documentation has had a comprehensive overhaul. We’ve updated the technology behind it (we now use the Hugo framework with Algolia search), structured and greatly expanded the content to cover every aspect of setting up and developing with ‘no-code’ in agileBase.

There’s still work to do – the introductory sections are in progress and links to relevant documentation pages are being added to the administration user interface for example, but it’s now in a state where it should be useful, so please take a look by going to

https://docs.agilebase.co.uk and clicking the ‘Docs’ link in the top navigation.

Please let us know any early feedback or areas to improve on.

Product Help

As an application builder, you can also add your own custom help for users at many levels throughout an application – field, block of fields, table, tile and view for example.

That help is being displayed in more places. For example, help is displayed as a tooltip when hovering over a form tab. Tooltips also appear for tiles when on the homepage. More updates are planned, so watch this space.

Receiving files via the API

Interactions amongst the many software applications and platforms a business may have, is increasingly important in today’s world. No app is an island!

One of agileBase’s main strengths is it’s comprehensive API which can be used to transfer data in and out of agileBase. Third party integration tools like www.zapier.com help make the process really easy to set up.

Now, as well as accepting data from third parties, agileBase can accept document files. (For example, contract documents generated by a third party system can now be sent to agileBase for storage).

Until now, that has required posting data as multi-part/form data (see documentation). 

Now however, an additional option is available – simply supply the URL of a file as the value of a file field parameter when sending data and agileBase will download that file, saving it into the system.

This method is Zapier-compatible, 

Thanks to Britannia Windows for requesting this.

Please let us know if you’d like a hand trying this out and we can walk you through the setup.

Inline uploading of documents in a tab

Until now when there was a document field included in an inline editing view under a tab, you could only download documents. Now you can upload them there too. An example could be attaching evidence to a milestone in a project.

Thanks to Foodcase for suggesting this.

Personal Charts

The ability to create charts of data is a popular feature, allowing users to interrogate data and share reports.

Until now, only people with manage privileges (a “manager”) have been able to create charts, but everyone who has permission to view the underlying data has been able to see those charts.

We’re now changing it so that any user can create a chart, but it will be only visible to them. However a manager will be able to view all charts, whoever created them, and can “promote” them so that they are visible to all others. To promote a chart, they need only edit it and remove [username] from the end of the chart title.

Coming up…

If you’d like to be an early beta tester of this functionality, please let me know.

Thanks for reading and we look forward to introducing some more exciting updates in the near future.

agileBase release

Calendar searching

The highlight feature of this May 2020 release of agileBase is calendar/timeline searching. 

Typing into the new search box at the top of the calendar will reduce the entries on screen down to those that match. This has a couple of specific uses –

1 – you can now view data by two different facets. For example, imagine you have a number of calendar views set up for each type of event – one view for board meetings, another for general meetings (zoom calls), one for customer calls, another for pre-arranged demos etc. These will be displayed in different colours on screen.

You may want to see just events which you (or another specific person) are attending – typing a name into the search box will narrow down the results.

2 – when showing a grid (timeline view) with swim lanes for event classes (perhaps a set of milestones with a lane for each task, like a GANTT view). In this case the search can be used to reduce results down to which task/milestone you’re interested in.

Thanks goes to Beacon Foods for initially requesting this.

As the first ‘minimal’ release of a new feature, we’re keen for everyone to try it out and give us feedback. Later releases may introduce new capabilities.

Other user interface improvements

Another calendar update is that you can now toggle the display of Saturday and Sunday in the calendar, to allow more space for the rest of the week. To hide weekends, click on the active calendar button at the top of the screen (e.g. ‘year’, ‘month’, ‘week’) and to toggle them back on, just click again.

Searching standard views has also been tweaked – previously, double clicking in a filter box to select the current text was difficult due to scrolling issues. These have now been resolved. Thanks to the West of England Combined Authority for reporting this.

Calculations

Calculations are now no longer converted into lowercase – that means you can enter text in any case into a calculation definition and it will be retained as typed. So there’s no need to sprinkle so many ‘initicap(text)’ and ‘upper(text)’ functions throughout them.

Data security corner – extra login information

Finally, continuing the focus on improving security for users and companies, there’s a tweak to the way login information is logged this month that administrators should be aware of.

In addition to logging the IP address, internet provider and country of each login, the nearest city will also be included. This extra information may be useful to administrators e.g. when investigating any suspicious logins.

Please bear in mind that for many reasons, ‘the accuracy of IP geolocation information can vary wildly across service providers’. Particularly when organisations are increasingly using Virtual Private Networks (VPNs) to improve their employees’ data security, the results may not represent their real locations. However, even then the functionality can be useful to look at how many people are using recommended VPNs and proxy services.

As the format of location data is changing, the system’s new location detection may be triggered the first time someone logs in after this release, resulting in them getting a Two Factor Authentication prompt. People who don’t have 2FA enabled will get an email notifying them of a login from a new location.

May update for API developers

The main feature of this week’s platform update will help a select, but growing and important group of people; developers who build software that interfaces with agileBase via the API and who utilise a test server.

A test server (or virtual private server) is often used in this scenario, to test your API calls against as a way to reduce the chance of any bugs affecting live data. 

For example, if you have an API call which creates new contacts in your CRM system and it gets stuck in a loop, creating thousands of duplicate contacts, you’d want that bug to be found when running on a test system rather than on the live one.

Up until now there was one issue that was slowing adoption of this service down, random object IDs. 

When you use an API, you reference the agileBase object (e.g. a table, field or view) by its internal name. When an object is created, it is assigned an internal ID made up of random characters. The problem is that if you add an object to the test system, run some tests, then add it to the live system, the live one will have a different internal ID. Hence any API calls referencing it need to be updated, introducing possibilities for errors that can’t be checked without actually going live.

But not any more – internal IDs are now completely deterministic. An object created in one instance will have exactly the same ID as one of the same type with the same name in another.

Thanks to One Team Logic for bringing this feature idea to our attention.

If you’re interested in accessing your own test instance, please let us know, we’ll be happy to discuss your requirements.

Data security updates

For a long time we’ve been championing Two Factor Authentication (2FA) as a breakthrough improvement to account security and we regularly like to release updates that encourage adoption and enhance security – most recently requiring 2FA to be enabled before someone can export any data to spreadsheet.

Thanks to all users who’ve jumped onto the 2FA train – some accounts now have over 90% adoption rates.

This release continues that work. Any user who doesn’t yet have 2FA enabled will get a reminder email once a month, informing them of the benefits of doing so.

Please keep the ideas coming, we look forward to hearing from you.

A low-code / no-code introduction

Next week (on Tuesday 14th April at 11am) we’re pleased to be hosting a free online training event to help people learn how to develop apps in our low-code / no-code platform agileBase.

If interested, you can sign up here: https://www.eventbrite.co.uk/e/agilebase-intro-training-registration-101725178748

But what exactly is low-code / no-code? It’s becoming a common phrase in application development circles, so let’s step back and give a quick roundup of the main talking points and resources relevant to business decision makers.

Traditionally, software is created by developers – that means programmers, also called coders. For larger systems other roles also play a part such as the ‘system architect’ as well as specialists in say databases or user interfaces. Other parts of a team such as domain expert and project manager may also be present, but here we’re only considering the technical roles.

A no-code platform is software that allows people without these skills to create working software by abstracting away and automating the heavy lifting (low-code still requires some technical skills – see below).

It’s worth saying that although platforms are becoming very advanced (certainly ours is!) so no coding skills are necessary, there are still some skills or traits that do help – particularly creativity along with a willingness to think through the detail. We find accountants are often a good fit! It can also be a great career progression for people who do like to think through things in detail but haven’t had any formal programmer training.

We’ll now go through some of the main benefits and potential pitfalls, explain some common terms you may come across then explain where we fit in the ecosystem as a vendor.

If you’d like more detail, we’ll go through some real customer examples and see the technology in action during the session.

Benefits

For the details, a good starting point is always Wikipedia: https://en.wikipedia.org/wiki/Low-code_development_platform

Some key quotes are

‘A common benefit is that a wider range of people can contribute to the application’s development—not only those with formal programming skills. LCDPs can also lower the initial cost of setup, training, deployment and maintenance.’

‘Low-code development’s market growth can be attributed to its flexibility and ease.’

Other resources say

‘In a survey of Quick Base users, 68% said the main reason they create no-code apps is because they fit their organization’s needs better than other solutions, and 61% said it was so they can make changes more quickly to apps as their workloads and requirements change.’

That certainly rings true.

In our personal experience here at agileBase, we’ve found there is an emotional as well as a practical result. Customers who develop apps themselves feel more ownership of their systems, so find the ‘development’ experience enjoyable. Applications are friendly and easy to use and staff find that their input quickly results in improvements resulting in greater trust in the process.

That’s as opposed to the traditional outsourced model of bespoke software development, which can have a reputation for being slow, frustrating and in quite a large number of cases, just unsuccessful full stop.

Risks

There are criticisms of this model. Again Wikipedia lists the most common: 

‘Some IT professionals question whether low-code development platforms are suitable for large-scale and mission-critical enterprise applications. Others have questioned whether these platforms actually make development cheaper or easier. Additionally, some CIOs have expressed concern that adopting low-code development platforms internally could lead to an increase in unsupported applications built by shadow IT.’

Of course we try to tackle all of these objections. It’s not the subject of this article, but our Platform Vision for 2020 addresses many.

Some common terms

When reading about low-code / no-code, you may come across some terms commonly used.

  • Low-code / no-code’. Firstly, this term itself. What’s the difference between no code and low code? Some applications describe themselves as low code environments, others as no code.
    It is just what it sounds like – low code environments still require or allow a small amount of programming whereas with no-code platforms, everything is done with the graphical drag-and-drop interface.
    No code is becoming more common and if you’ve decided to buy a tool, it’s worth researching the pros and cons of each but at the conceptual level, we don’t think it’s a particularly important distinction.
  • Citizen developer’. This term refers to an employee or member of the public who is not a coder, but who through the use of a low-code / no-code platform, is empowered to develop applications.
  • Shadow IT’. The idea of a shadow government is a conspiracy theory that actual power lies not with elected representatives but with another group acting behind the scenes, sacrificing democracy.
    Shadow IT is not a conspiracy! But it does represent the belief that if the central IT department doesn’t control software development, consistency, security and governability are sacrificed.

The shadow IT concern is legitimate and this is an area of much discussion. However it’s not necessarily a win-lose situation for either side. Hopefully all stakeholders can come to a shared understanding of how to manage low-code / no-code development in a way that benefits all, raising IT’s role to governance, strategy and process management.

The software itself should address these concerns head on. For example, roles and privileges can determine exactly who can do what. Reporting and automated alerts can highlight which people are using the system how and when.

agileBase as a low-code / no-code platform


There are an increasing number of tools and platforms in the market, a web search will bring up handfuls. 

What sets us apart as a vendor?

Our strength is in building web based ‘back offices’ for businesses. Other tools focus on consumer-facing or native mobile applications.

Our USP is, simply put, we can scale with the growth of an organisation. We sometimes say “from startup to scale-up without screwing up”. 

Many tools are aimed at one size of company or another. There are those for startups and one-man bands to quickly build tools to suit their specific needs. Then at the other end of the scale, those for large businesses which are often more complex to comprehend.

agileBase is fast, friendly and flexible when getting started at a small scale, but as our platform is based on a powerful enterprise-class database and other open source software, we can scale to support high-throughput scenarios and many users.

Built in security features such as mandated 2FA and fine-grained control over data exports support large scale use.

The powerful API allows close connections with third party software such as finance or ERP systems, with agileBase acting as the engine to power all the data.

Other elements of our business such as our pricing policy also support this.
We’d love to welcome you to the event or just hear from you.

Updates

In these unprecedented times, work continues here at agileBase (from our homes). 

Whilst it’s not on the top of most people’s agenda, we do have a new release going out so I thought we should let you know the details so they aren’t a surprise. In brief…

Emailing documents

There’s a new feature to allow easy emailing of documents uploaded to agileBase to co-workers or outside people (e.g. customers) who don’t have a login.

Next to a document, click the email button. You can then click ‘add recipient’ to choose a recipient, or manually enter an address. The system will let you choose from contacts it finds in your database.

Logging changes to locked fields 

When unlocking a field to change the value, the system prompts you to enter a comment. It now automatically pre-populates the prompt with the value you’re changing from, to make it easier to see what the change was. You can add your own comment too.

Intelligent colours for charts

Do you notice anything strange about this graph? Experience any cognitive dissonance?

From now on, agileBase will colour breakdown charts based on the categories. Words like red/amber/green, hot/cold, done/in progress/overdue will be coloured appropriately. Other words will continue to be assigned random colours. If you have any words that you’d like special colours for, please let us know.

Bugfixes

We’ve tweaked lots of other things too small to notice every day but which should make the system run more smoothly.

That’s all for now. We wish all the best to all our customers, stay safe.

Covid-19 and agileBase

A quick post to outline some actions we’ve taken so far and answer some questions.

Free additional users to enable home working

Where you can work remotely, we want to help.

That’s why for as long as the UK schools remain closed, agileBase will give you additional licenses at no extra cost. Helping your team stay safe, and your business stay productive.
For example, senior management may like to have logins in order to be able to step in to help other staff.

We are waiving any fees for additional users for as long as the schools stay shut, for a reasonable number of users at our discretion.

We’ll notify you when things change and give the option of retaining these licences at the prevailing rate or cancelling without cost.

Your system administrator can add users. Automated price increase notifications may still be sent out but we will follow up to cancel them.

We are also delaying any upcoming price review changes – all customers please see the email to your accounts dept.

Our cloud software keeps everything secure, even from home

Two Factor Authentication (2FA) helps to keep your company’s data more secure, to stop outsiders stealing it, editing or even deleting it.

When someone logs in from a new device or location, our Two Factor Authentication (2FA) system prompts them for a code sent to or generated by their phone, to prove their identity.

Also our Content Security Policy (CSP) is a security mechanism that, when someone’s logged in, prevents unwanted code from running.

Only specific places, like our own server and a couple of whitelisted services we use, like Google to display maps, can serve code to the browser.

Vital peace of mind when people are working remotely.

Concerned about agileBase’s business continuity? Don’t worry, we’re good

We’re experts in remote working, having always split our time between our Bristol office and our desks at home. So, we’re taking easily to the current change in circumstances, and this won’t impact our ability to support you.

What’s more we’re a multi-disciplinary team. If Coronavirus means any of us is temporarily out of action, the team will fill in and the show will go on.

We need you to tell us how we can help

Like most people right now, we find ourselves looking around and asking who and how we can help.

We can only begin to understand the challenges many of you are facing. That means we need you to tell us if this crisis shows you things which you feel we should be addressing.

For example, if anyone feels the need, we will be happy to run you through our own home-working processes, tools and systems to see if any are relevant.

Finally, we just want to say thank you.

We know you’ll be as worried as we are about the health of our loved ones, and the livelihoods of all around us. And yet many of you are working round the clock to help others, like those in the public sector and food manufacturing. For that we are all thankful.

If there is anything we can do to help, just ask.

Data security – requiring 2FA for exporting

As well as the headline feature, one other notable feature has made the cut for today’s release.

In line with our continuing rollout and promotion of two factor authentication, it’s now required for all users who want to export any data to spreadsheet. As a sensitive feature in terms of data security and privacy, exporting to spreadsheet fits well with the requirement for the logged in user to have two factor authentication enabled.

Remember, setting up 2FA is a simple process.

We welcome all feedback and ideas for this release – please let us know your thoughts!

First major feature of 2020

We know that many customers are looking forward to the contents of this update. We’re now starting to make good on the promises of the 2020 roadmap and can release one of the headline features – inline editing.

As this is a major feature, it’ll be introduced with a ‘beta’ label for keen early adopters to test and provide feedback on. By default it will be turned off, but can be enabled by an administrator on a view by view basis.

Inline editing

The goal of this feature is to allow rapid and efficient editing of data when in the list view so there’s no need to drill down into a record to edit and back to the list again after each.

Some examples of where this might be useful would be when working through a list of milestones to update statuses, or when in a list of stock items to update quantities.

How does this work: In a list view, the rows can be made editable by your system administrator. (If you do want to drill down into a particular record, that’s still possible).

In inline editing mode, the list view changes from something like this:

into this editable version:

Within a view, certain fields will be editable, but others will be read-only. Fields that can be editable are all those which are from the view’s parent table, except for

  • Large text fields – we want the UI to remain compact and it’s not usually required to edit large amounts of text in inline editing scenarios
  • Tags fields – at least not in this first beta version – this may come in a future release

Of course, calculations aren’t editable either.

To edit a field click in an editable (white) field to edit the data.
Navigate to other rows with the up or down arrow keys, and across to other fields in a row with the tab key.

Clicking a non-editable field will take you to the full editing form for a record. (Alternatively, just click at the space at the beginning or end of a row).

Hovering over a text field will display the full contents. In the more condensed inline editing mode, only the start of longer content may be initially visible.

Enabling inline editing

In order to retain control, an administrator must set a view to be inline editable. There are three settings you can select

  • Disallow: the view can’t be inline edited
  • Allow but turn off by default
  • On by default

As an admin, go to the manage tab for a view and under ‘advanced options’, select one of the above.

When inline editing is allowed (either off or on by default), a switch appears at the bottom of the view with which the user can change modes.

We hope you enjoy this feature and find it useful. As a beta release, feedback is especially welcome.