SoftPerfect Bandwidth Manager

Feature Request: Custom Schedules or Web API

Started by Gergo Giczy

Gergo Giczy

Feature Request: Custom Schedules or Web API   20 February 2018, 18:17

Dear Developers!

I use your great product at different companies since 2004 and like it so much, but now I ran into a problem which I can not solve by the current features of BM.

I need to enable/disable specific rules at different times by minute-level resolution, multiple schedules by hour, day, week, 2-weeks and month.

The best solution would be to use the built-in scheduler to create templates where I could define the needed occurrences of from-to date/time, including explicit start-end timestamps as well as recurring start-end times by hourly/daily/weekly/monthly base.
It would be also helpful to define
- disabled-to-enable
- enabled-to-disable
by schedule modes defining in the specific bandwidth rule.

I know this is not a trivial development but I'm sure it adds value to your product to be more profitable for your other customers too.

Another solution path (at least for me) to have a simple web-based or other API to make possible the rules can be enabled/disabled programmatically from a third-party controller from where I can run the needed schedule myself e.g. by HTTP requests.

The background that we are a school with 2-week recurring timetable for the affected machines, so we need different active rule sets at the 45-minutes teaching-time and the 10-minutes gaps between as well as the holiday times. Our Internet-connection has fairly low bandwidth, and so we hope to solve our administrative vs educational traffic to be kept balanced by scheduling the rules of your product on our main router.

Many thanks for your attention and keep up this good work in the future.

Gergo GICZY
Technical High School of Ujpest, Budapest, Hungary/EU
SoftPerfect Support forum - Andrew avatar image

Re: Feature Request: Custom Schedules or Web API   22 February 2018, 12:06

You are right: it's not a trivial addition. While it may be useful for some users, we prefer to keep the product as simple as possible, leaving customisation to the users.

For complex usage scenarios, rules and quotas can be modified by an external program or script. We use a standard SQLite 3 database that can be read and written from many programming languages and environments. You can find it via the path shown under the Storage tab in menu File - Settings:

SoftPerfect support forum

You can read this database with any SQLite management tool like SQLiteSpy. Rules are stored in the RULE table, and just about any setting can be manipulated with SQL.

We have also just published a new build of BM that automatically checks if the database was changed and reloads it when necessary. So if you install the latest build, you can do something like this:
BEGIN TRANSACTION;
UPDATE RULE SET ENABLED = 1;
UPDATE RULE SET ENABLED = 0 WHERE NAME = 'Test';
COMMIT;
This will enable all rules except for any rule(s) named Test. Please make sure to place multiple commands in a transaction as the database will be reloaded upon commit.
Gergo Giczy

Re: Feature Request: Custom Schedules or Web API   22 February 2018, 18:16

Wow, thank you so much for this hint, Andrew!

I will definitely check out this possibility and write an app with a short code to read the actually necessary schedule and apply it into your database.

Reply to this topic

Sometimes you can find a solution faster if you try the forum search, have a look at the knowledge base, or check the software user manual to see if your question has already been answered.

Our forum rules are simple:

  • Be polite.
  • Do not spam.
  • Write in English. If possible, check your spelling and grammar.

Author:

Email:

Subject

A brief and informative title for your message, approximately 4–8 words:

     

Spam prevention: please enter the following code in the input field below.

 **    **  **     **  ********   **    **  ********  
  **  **   **     **  **     **  ***   **  **     ** 
   ****    **     **  **     **  ****  **  **     ** 
    **     **     **  ********   ** ** **  **     ** 
    **      **   **   **         **  ****  **     ** 
    **       ** **    **         **   ***  **     ** 
    **        ***     **         **    **  ********  

Message: