Some pre-sales questions

I have some questions before starting my 30 day trial.

  • What database backend is used by default?
  • Can DHTMLX Scheduler.NET use NoSQL databases like DocumentDB or MongoDB on Azure?
  • Can it use Azure SQL Database?
  • Is it simple to create a JSON API which provides a list of events? I need this to build iOS and Android apps which show events in an agenda view. I’m talking about something similar to the Google Calendar API.
  • I need to store 50,000 different calendars. Is this a problem?


dhtmlxScheduler for ASP.NET consists of two parts:

  • client-side library that displays calendar on the page, process client input and sends ajax updates to the backend (the library is also available separately as dhtmlxScheduler)
  • .NET class library that mirrors some client-side api allowing to do configuration of a calendar with a backend code, some helpers that maps ajax requests sent from the client into objects you can easily work with and helpers for serializing/deserializing event/object collection into scheduler-compatible format.

Database access is out of scope of a library, so it’s assumed that db handling should be done on the side of application - you connect to the db, read all needed records, map them to entities that are compatible to dhtmlxScheduler and feed them to the scheduler. And the same with saving changes - the library provide you with a new state of a data object and a type of operation made to it (insert/update/delete) and you need to apply that changes to the database.
So any database can be used, most of our samples use MSSQL + LinqToSql or EntityFramework

Yes, it should be fairly simple, this is how data is loaded in most of our samples.

It depends on how you’re going to use it in the app. There are certain limitations from the client-side performance perspective - there may be noticeable lags if you’re going to display many hundreds/thousands of events on a screen (i.e. located in one month/one week). The overall amount of events that you store in the database is rarely an issue. Usually you’ll be using dynamic loading and load only the data that is viewed by user … g_datasets and it can be done quite fast