The aims of bapha.be are to:
- facilitate tourism and culture, by presenting all happenings;
- offer all collected information about events in different machine-readable formats so, that the information can be consumed easily and re-published automatically;
- stimulate the concurrence, by simplifying the comparison of events, independently of the organizers’ budget for promotions;
- encourage the use and develop open source software for managing and saving time;
The happenings of events are simultaneously in the interest of the organizers, the participants, and the local government. The happenings stimulate the economy (tourism) and the culture. Bapha.be offers an internet platform, which can be rented by public administration. By renting the services of bapha.be the public administration engages to collect and publish information about events. This is a service for the citizens.
To achieve its aims bapha.be does not collect data from the visitors, neither does it depend on advertisers and their interests.
Why bapha.BE? The Cyrillic Варна (Varna ⇔ Town in Bulgaria) spelled in capitals is BAPHA, and BAPHA written in small letters is bapha. The interjection “.be/бе/ве” was at the same time free, at good price and could be obtained without formalities.
For contacts: +359 988 362949 (mob), +49 911 13137989 (fixed), +49 176 9262 6190 (mob), e-mail firstname.lastname@example.org, Dilyan Palauzov.
This text amends The User Guide and describes the services of bapha.be.
Purpose: Collecting and distributing information about Events
The information about the events is entered by the subscribers.
For each subscriber a separate subdomain is created, e.g. village.bapha.be. The subscribers can provide in addition their own domain or subdomain, where the same services will be offered. When the subscribers provide (sub)domain, then the visitors will not be redirected to village.bapha.be. When providing their own domain, the subscribers create in DNS either A and AAAA or CNAME records in the subdomain and SRV records in the domain, as asked by bapha.be. The subscribers have to make changes in DNS within two working days when asked by bapha.be.
Search Engines Optimizations
Every time an event is changed, the search engines Bing and Google are signaled, so that they can refresh their view on the world. The amount of signals that can be sent per day, is limited by Bing (Microsoft) and Google. Bapha.be has no influence on when the search engines will update their information, after a signal is sent. Bapha.be maintains a list with all files with events for the domain at address https://domain/sitemap.xml. This file is periodically read by search engines. The (sub)domain is also registered in the search engine Yandex.
For each event or task added to a calendar an email can be generated. The email can be sent to a mailing list. When a new event is created, all mailing list subscribers will get a notification. Bapha.be offers mailing lists at https://l.bapha.be. Emails are not sent on event modification or deletion. Emails are not sent for Private or Confidential events.
Telegram is an instant messenger. Events and tasks from Bapha.be can be posted automatically to Telegram channels. This is achieved by a concept called “Telegram bot”. The bot must have administrative rights to post messages to the channels. The customer is supposed to add to its Telegram channel the bot, generated by Bapha.be, as a channel administrator with the “Can post messages” privilege. The bot does not touch messages, which it has not posted itself.
Events and tasks have a property called Classification. The value of the property can be one of Public, Private or Confidential. If the classification is set to private or confidential, Bapha.be does not post to Telegram. When the classification is changed from public to private, the message is deleted from the Telegram channels. Events and tasks with public classification are mirrored to Telegram channels. Deleting a task or event from a calendar does not remove it from the Telegram channels.
When the customer deletes a message, posted by Bapha.be’s bot, from a channel, the bot detects this and never tries to update/create the message again, when the event or task is changed on the servers.
A Telegram message can be either up to 4096 characters text, or a picture with a caption. The caption of a picture can be up to 1024 characters long. These constraints are imposed by Telegram. The text below describes how Bapha.be deals with these limitations.
For each event and task Bapha.be generates text, containing the start, end/due, summary, description, location. The generated text never exceeds 4096 characters. If the event has an attached image, the image is PNG, JPEG, or GIF, and the generated text is less than 1025 characters, Bapha.be posts an image with a caption to the Telegram channel. If the image is not an URI-link to a file in internet, but is part of the uploaded event-file, the formats WEBP and AVIF are also considered. Otherwise it posts a text message to Telegram.
When the text of an event/task is changed, Bapha.be updates the original Telegram post accordingly. If the new Telegram message is supposed to be an image with caption, and the old message is only text, or vice versa, Bapha.be deletes the old message from the channel and posts a new message. This modifies the original chronological order of messages. If Bapha.be cannot delete the old message from all channels, it does not post a new message. Bapha.be cannot delete the old message, if it was posted more than 48 hours ago, because Telegram wants to have it this way.
Example: A new event with attached PNG image is created. Its description is 5000 characters. Its classification is private. In this example Bapha.be is configured to post messages to two channels. Since the classification is private, no message is posted to Telegram.
The event is edited and the classification is changed to public. For the event text is generated. The description is skipped completely from that text, as adding it would exceed the 4096 characters limitation. In turn the generated text for the event is, in this example, 300 characters for the srart, end, location, categories. Bapha.be posts the message with image to both channels.
The event is edited again and the description is shortened to be 1500 characters long. Now the generated text for this event is 1800 characters. Bapha.be tries to delete the image-message. If the original message is older than 2 days, it cannot be deleted, and Bapha.be does nothing. When the administrator rights of the bot are cut on one of the channels, the bot deletes the message from the other channel and does not post a new message. Otherwise Bapha.be deletes the old message and posts a new text-only message on both channels.
You can give it a try: all new events and tasks from aaa.bapha.be are mirrored to the Telegram channel aaa_bapha_be.
The future client (subscriber) has the possibility with username email@example.com and password abc to try at aaa.bapha.be all offered functions. Data can be changed either after installing software, see Changes on the Calendars, or over www.bapha.be/agendav and www.bapha.be/caldavzap.
Bapha.be offers one username, which has full access: can create, modify and delete calendars and events within the calendars.
Showing events on public Screens
For each served domain, bapha.be offers a function to show the events on public screens, for example on places with a lot of tourists, railway stations, airports, waiting rooms. The events are shown on a website with address https://domain/t , and the content changes automatically. Displayed are only events, whose end is in the future. See the guide and the examples aaa.bapha.be/t, bapha.be/t .
The customers update the browser yearly, loading https://domain/t .
The service can only be rented. The first two months are free of charge. In the free and paid subscription the offered service and quality are the same. The rent is calculated monthly and in advance of the beginning of the month. For example: The registration is performed on 7 March. Before 9 May the rent for the time until 8 June must be paid. In case the payment is postponed by a week, the access for performing modifications is blocked. By transferring the rent, the customer accepts the conditions. There are no contractual penalties or interest rates for any party of the contract.
The price is calculated based on the Gross domestic product per capita and the population of the served municipality, where the service is offered, based on the official statistics for the second-last year. (Prices for 2022 are based on the data for 2020.)
Monthly rent = GDP for the state % population of the state × population of the municipality × 10-8 × 9 × (1 + VAT) rounded to an integer.
For example: According to the Central Statistics Office of Ireland the Gross Domestic Product for 2020 is €377 000 millions, the population in 2020 is estimated 4 977 400 (Table PEA15 (Annual Population Change) on PxStat), the VAT is 23%. In the 2016 census the population of Limerick City and County was 194 899 (no newer data exist). The monthly fee for Limerick City and County for 2022 is 377 000 % 4.9774 × 194 899 × 0.00000009 × (1 + 0.23) = 1634 Euro. This corresponds to 838 Euro per 100 000 capita.
The rent is transferred on account IBAN DE57 5003 3300 9100 3948 39.
Announcing events outside the served area is allowed, as long as the whole presentation of several such events is not used to serve population, which population was not considered in the price building.
Changes to the price-building formula are announced three months in advance.
Bapha.be can request for each user name the purchase of additional hardware for increasing the security, e.g. for the use of one-time passwords.
This contract can be terminated by any side with a notice of three working days. After the termination, overpaid rent is returned by bank transfer. In case nothing else is negotiated, a new event is created, stating that the information will not be updated anymore, possibly containing references to other sources of information. The existing events are displayed for two months, after the contract is terminated. When a contract is terminated and then renewed, two free months are not offered again.
Changes on the Calendars
Changes on the calendars can be made with software, speaking the CalDAV protocol: Gnome Evolution, Microsoft Outlook (Windows) with CalDAV Synchronizer, Mozilla Thunderbird, DAVx⁵, the integrated calendar in Windows or Mac, or using the websites www.bapha.be/agendav and www.bapha.be/caldavzap. The latter webpages do not support all properties of events (color, attached picture, internet address of the event). For access a username with password are provided. They work in the same way, as user firstname.lastname@example.org with password abc for aaa.bapha.be, but for a different domain. The text below extends the Users’ Guide and describes the initial setup.
Text with prefixes https://, http://, mailto:, sip:, tel:, and xmpp: in the description of the events is converted to hyperlinks on the offered website. E.g. in “☎ Contact” at www.bapha.be the entered text is tel:+4917692656190 , mailto:email@example.com . After clicking on a tel:-hyperlink from a phone, the device offers immediately to dial the number. Other software, downloading the data in machine readable format, might handle the prefixes as normal text.
In order to move an event to a different calendar, first the event must be moved to a local calendar (not on the server), and from there moved to the new calendar.
- Creating, renaming, recoloring can be performed from https://firstname.lastname@example.org/. The changes on the properties Name, Description, Color, and Order are mirrored on the offered website. The Components determine what kinds of objects the calendar can contain: VEVENT (Events), VTODO (Tasks, Open calls), VJOURNAL (Notes). The parameters Timezone and Public are ignored. Scheduling determines, whether on creating events with attendees, the attendees get email invitations.
Evolution is the ideal program under Linux. Select File → New → Collection Account. As email address enter the username, press “Look up” → “Next”. Leave only Collection→CalDAV and CardDAV selected, remove Mail Receive and Mail Send, select Next → Finish.
To edit the events open the Calendar window (View → Window → Calendar). To manage the calendars on the server, select Edit → Accounts → (name of the account) → Calendars → (name of a calendar) → Browse. Some calendar names cannot be set initially. After the calendar is created, the name can be changed.
- The integrated in Windows calendar can be used to change the events, but its features are limited. When following the setup described for users enter on the first step a wrong password, which will be sent to the servers of Apple. After the username/server is changed, provide the correct username/password.
Thunderbird is also very good, but it cannot create calendars or change the calendar (description, color, name) properties. Thunderbird is good to create and edit events in existing calendars. Works under Linux, Mac OS X, Windows.
After installing the plugins TbSync and DAV-4-TbSync/Provider for CalDAV and CardDAV, select Edit (press Alt if the menu is not visible) → Synchronization Settings (TbSync) → (bottom left) Account actions → Add new account → CalDAV и CardDAV → Automatic configuration. Enter username, as server give k.bapha.be and provide a name for the registration. Next → Finish → Enable and synchronize this account. Select each calendar individually → Synchronize now. From the “Events and Tasks“ menu select “Calendar” to enter new events.
- DAVx⁵ (Android) cannot work with attached files (pictures) or internet addresses of events. It can be used to create calendars and edit events, when the events have no URL or attachments.
On Apple devices select Settings → Accounts → Add → Other → Calendar (CalDAV). As server enter k.bapha.be with the corresponding user name.
On https://domain are shown only calendars with at least one event.
Guide to show events on public Screens
The choice of calendars and language at https://domain/ specifies which calendars will be shown at https://domain/t and on which language will the start and end times be displayed.
Other, or more languages for displaying the start and end times, can be set by appending after domain/t the parameter ?l= . After it the comma-separated list of ISO 639-1 language codes follows. E.g. to spell the times first in German, then in English, visit https://domain/t?l=de,en .
By default all events are shown, which have not finished yet and will start within the next two years. To show the events only for the next X days, provide parameter ?d=X . For instance, to show the events only for today (0 days), which have not finished yet, visit https://domain/t?d=0, or to display the events for the next ten days, where the start and end are spelled in German, visit https://domain/t?l=de&d=10 .
Each fifteen minutes, the finished events are hidden and data from the servers is refreshed. The servers update the data within a minute after each change. So a new event will be shown in at most 16 minutes.
When the internet connection is interrupted, the old data is displayed. When the internet connection is re-established, data is refreshed on the next fifteen minutes cycle.
Besides events https://domain/t/ extracts from the calendars “notes” and “tasks” (see explanation CalDAV), and shows them (as on bapha.be/t/?d=0). This way information for the public screens can be entered, which is not an event, like weather forecast, advertisement. The subscribers of bapha.be over the CalDAV protocol will also receive the notes and tasks. When notes are displayed, the start time is not displayed. If a task has start and end time, it is displayed as an event. If the task has no start time, only the final time is displayed, if it is in the future. Notes and tasks are not submitted for indexing by search engines.
In the bottom left corner, the date and time can be displayed, provided sufficient space is available, when parameter h is supplied . The month name is spelled in the first selected language.
To provide the color of the text, use the parameter color with a value of CSS3 color. To set the background color use parameter bgcolor . If the latter parameters are not supplied, the default browser colors will be used. For example aaa.bapha.be/t?bgcolor=%23000&h&color=yellow shows yellow text on black background with clock.
Provided sufficient space, at the bottom of the browser an URL address is shown, where all events can be seen (https://domain), the amount of messages to slide, the number of the current message, and the name of the calendar, if more than one calendars are selected. The internet address can be replaced with a different text using the parameter s .
For each event, note, or task the first attached file is displayed, if it is a picture. The servers do not resize the images.
The files with events, which can be uploaded to the bapha.be servers, is limited to 300kb. This means that either the pictures must be uploaded somewhere in internet and the attachment can point to that location, or the picture itself can be up to 200kb and is attached to the event.
Every person reads with a different speed. To determine the speed for changing the information, it is assumed that one sign is read for 60ms. With parameter ms this coefficient can be changed.
After the size of the font is changed, so that it looks good, the webpage must be reloaded.
The events are shown chronologically to the start of the event. Notes and tasks take part in the chronological sort, if they have start time. Otherwise they are randomly distributed.
If calendars for different languages are maintained, the different languages can be shown on different screens.
Example: To display dark-red text on yellow background the events from the site bapha.be for the next 14 days, including the unfinished events from today, to display at the bottom “Globus” instead of the website address, with clock, giving in average 50ms per sign to read, visit http://bapha.be/t/?d=10&h&bgcolor=gold&color=darkred&s=Globus&ms=50 .
Displaying subdomain.bapha.be/t on start of a Raspberry Pi computer
The offered variant here with Raspberry Pi is not the only technical possibility to show the internet page on a screen. Raspberry Pi are low priced mini computers, which can be configured on boot to automatically load a web page. They can be connected to internet with cable or WiFi, and with a monitor using HDMI cable. They load the operating system from a micro SD card.
Bapha.be offers, without additional payment, a file (image), which shall be written (burned) to a micro SD card, so that after the Raspberry Pi loads from it, the computer will display the webpage sumdomain.bapha.be/t, where future events will be shown. Supported is only model Raspberry Pi 3B+. The image is received as a zip file and must be first extracted. Burning the image on the SD card is not just copying the file. The webpage of Raspberry Pi provides directions on how to burn images on SD cards for Windows, Mac OS, and Linux.
On system start, it loads the webpage sumdomain.bapha.be/t. To see the graphical user interface of the operating system, insert a keyboard and press Alt+F4. On the upper left corner there is a file URL.txt . Whatever address is contained on the first line of the file, this address is loaded, when the system boots. The program behind the “♫ Kiosk” sign does the same, what happens when the computer boots: opens on a full screen the site from the file URL.txt . The picture with the globus on the taskbar, opens normally the webpage subdomain.bapha.be and allows to select only some of all the calendars, which will be displayed on the screen.
To jump in the Raspberry menu, press the Super/Windows key + TAB. Update yearly only the software for opening web pages Firefox, after choosing the Raspberry → Setting → “Add/Remove Software” → Options → “Refresh lists with packages” and Options → “Check for updates”. The latter two actions must be performed in this order. When the system updates the software, it will ask for a password for the user pi . The password is raspberry . The system is delivered with QWERTY keyboard layout. The warranty is void, when the processor speed is increased (overclocking).
If the customer changes the configuration and makes the system unusable, bapha.be sends a new image, which the customer burns on the sd cards. After the delivery bapha.be does not connect to the systems.