https://github.com/wiris/thoth
Thoth is the repository that contains the Product messages shown in some of our solutions such as the Microsoft add-in, Google Workspace, or Quizzes.
https://github.com/wiris/thoth
Last synced: 10 months ago
JSON representation
Thoth is the repository that contains the Product messages shown in some of our solutions such as the Microsoft add-in, Google Workspace, or Quizzes.
- Host: GitHub
- URL: https://github.com/wiris/thoth
- Owner: wiris
- Created: 2021-05-04T16:09:00.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-19T14:05:15.000Z (10 months ago)
- Last Synced: 2025-03-19T15:23:20.578Z (10 months ago)
- Homepage:
- Size: 474 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
Awesome Lists containing this project
README
# Thoth
__Thoth__ is a GitHub repository engineered as a `plain text files` provider, hence working as a service that allows your application to read plain text files' raw content (meaning they __can not__ contain any logic) just by accessing their URL in the platform.
This project follows [Herodotos version 211105.1](https://github.com/wiris/herodotos/releases/tag/211105.1). Use the [documentation entrypoint](docs/README.md) to find out about this project.
## Fancy notifications
The main use case for this repository is to allow any product to show content that is likely to be changed over time without the hassle of neither changing the code that consumes it, nor compiling/deploying it.
> Use case example:
>
> Marketing department needs to change a commercial message before seasonal sales. Instead of hardcoding those messages into your UI, compiling the project (if that's the case) and deploying it every time that message needs to be changed, you can simply add a message in Thoth and read it from your application on demand. To update that commercial message, just change the file notifications in Thoth and you are done.
The message needs to be in `notifications.json` file and to be like the next example, you can find more information on which options you can use [here](https://docs.google.com/document/d/1cD0_p7EVUUNZ9MV1OK_Clpz4MrSBAhgiUQ5KyxR8aFY/edit#heading=h.d9wiqduhppkm):
```json
{
"id": "BLACK_FRIDAY_2022",
"lang": "en",
"products": ["addin"],
"licenseStatuses": ["trial"],
// these are optional
"startDate": "",
"endDate": "",
"solutions": ["word"],
// this is optional, but if you want info in your notification, you need to write title
"info": {
"title": "BLACK WEEK MATHNESS",
// this is optional
"text": "Enjoy 30% OFF for MathType Office Tools.
Get 30% discount"
},
// this is optional, but if you want to put an image, you need to write the url, the altText and the target
"image": {
"url":"https://assets.officetools.wiris.kitchen/gifs/black-week-sales.gif",
"altText": "Take advantage of MathType's black week and get now a 30% off.",
"target": "https://store.wiris.com/en/individual/purchase/step1?code=BLACK22FAI&utm_source=Product&utm_medium=MathTypeMS365&utm_campaign=FancyNotification&utm_term=BlackFriday2022&utm_content=GETITNOW"
},
// This is mandatory, number of times you want to show the notification to the user
"visualizations": 3,
// This is mandatory, it needs to be a number (more priority, greater number).
"priority": 1,
// This is optional, the possibilities are "error", "success", "info" and "warning"
"alertType": ""
}
```
Notice that ID groups notifications for the same event but different targets (products, languages, etc).
Request to upload images to `https://assets.officetools.wiris.kitchen/` ([#devops-support](https://wiris.slack.com/archives/C011031UNQL)) if you don't have credentials. At least until there is another way to do it.
## Who's to Blame
This project is maintained by the engineering team, thus, in order to make use of it you __must__ contact the authors in the following channel:
- [#engineering](https://wiris.slack.com/archives/C010P3E9AHH)
Feel free to leave feedback, report bugs or just come to tell how cool this project is. Moreover, this [document](docs/ISSUE_REPORTING.md) provides insights on how to report an issue.