The only language choice I have is en_US. How do I get the others?
Subject: How to copy mail filter rules between accounts
Hi,
as in subject. I have quite nice set of rules and I would like to share it with other users on my server. How to do that?
Is there a command line client where I could do admin "stuff"?
Kind regards,
Wojtek
I've installed Citadel server build #994 using the "Easy Install"
method on Ubuntu. As DKIM is built-in from build 1000, I'd like to make
use of this feature.
There is no need to do an export/import if you are just upgrading Citadel on the same machine. To upgrade a system that was built with Easy Install, you simply run Easy Install again.
Obviously you want to do a full backup before you upgrade any important software, but you're doing that already, right?
Subject: Re: how to add languages to webcit?
You do need to have all of the language packs installed in your operating system, not just for WebCit but also for the operating system itself.
On a Debian type of system the command is "dpkg-reconfigure locales". I don't know what it is on other systems.
Then restart your WebCit and the available languages should be activated.
In my instance of WebCit I have only en_US and en_GB. Other languages are not available. How to "enable" them?
Kind regards
Subject: Solved: Re: Handling spam messages
Hi,
solved.
In Administration -> Site-wide configuration -> SMTP there is a check box that makes Citadel mark SPAM instread rejecting.
Maybe someone will need this :)
Hi,
I face issues with SPAM messages. Integration with SpamAssassin is kind-of working. I have 2 issues:
1) Citadel is rejecting SPAM messages, so there is no option to check headers and configure filters;
2) Ham messages are not "enriched" with X-Spam headers. I don't know is it issue with Citadel or SA configuration.
I would be greatful for any suggestions. Where is configuration for spam handling?
I know that reject is correct behavior and I would like to get back to it as soon as I get confidence that I'm loosing anything important.
Have a great day,
Wojtek
Subject: Re: Solved: Re: Handling spam messages
But yes, you found the correct setting to configure it to flag instead of reject. Once you do that, of course, you'll need to set up a filter for *every* user to file spam in a spam folder, because it doesn't do that by default.
You should also be aware that if you have any RBLs configured (directly in Citadel, as opposed to putting them in your spamassassin rules) these will *always* reject instead of filter. As a result you can withstand a very high volume of spam bombing attempt from listed addresses on modest hardware.
Subject: Re: Solved: Re: Handling spam messages
Hi,
thanks for more insights. For now I'm learning, so I want to see how SpamAssassin works, so I want to see header and all that stuff. SA logs are bit difficult to read and understand. Once I get some experience I'm going to reject spam as you mentioned. I think this is the best behaviour.
Thanks again
It is in fact the site operator's choice whether to flag or reject spam. We reject spam by default because it is easier on system resources. Also if someone is trying to send you a message and it fails, they'll know right away because they'll get a bounce message instead of wondering whether the message is in your spam folder.
But yes, you found the correct setting to configure it to flag instead of reject. Once you do that, of course, you'll need to set up a filter for *every* user to file spam in a spam folder, because it doesn't do that by default.
You should also be aware that if you have any RBLs configured (directly in Citadel, as opposed to putting them in your spamassassin rules) these will *always* reject instead of filter. As a result you can withstand a very high volume of spam bombing attempt from listed addresses on modest hardware.
Seems i cant post in the lobby now, after that strange post from a bit ago with the odd subject line that looks sort of like an injection attack.. Did someone figure out a way to break a room, or am i broken? I tried posting 2x and both said it was posted but nothing is there after that weirdness.
Also, it may be unrelated but i had posted in woof zone, hit post, and it instantly took me to the lobby instead of staying in the woof zone. ( and my post in woof DID take.. i went back and it was there ok )
I'm looking into making a mobile app in the interests of replacing MightyNetworks.com which has an expansion package for online training. I was wondering if the database backend has a plugin system for adding similar expansion packs. If it doesn't, what would it take to add it? (I'm convinced that closed-source Mighty Networks software is overpriced for what it is and we can beat it.)
Hi,
I have an issue. Sometimes server just hangs. No errors in journalctl, systemctl shows that it is running, ps - no issues, no zombies. But I can't get or send email, webcit is not responding.
Everything gets back to normal when I reboot citadel service.
Server is running on RPi 3B+ with 256GB SSD drive connected via USB3 - SSD cable.
There is no "low power" messages, no cache read-write error. Nothing.
Has anyone idea what can be wrong? What can I do to troubleshoot that?
Kind regards,
Wojtek
I was wondering if the database backend has a plugin system for adding
similar expansion packs. If it doesn't, what would it take to add it?
I'm not sure I understand what you want to do. Are you looking to run Citadel Server with a database other than Berkeley DB? If so then yes, we have the framework in place to add more storage drivers. LMDB is what we had in mind for the future.
Or are you looking to have new types of applications running on top of Citadel?
If so, you might like to play around with the "views" framework that we use to determine what type of application runs inside each room (mailbox, forum, calendar, address book, wiki, etc). If you're serious about doing that it wouldn't be too much of an effort to get a pluggable type of thing going to add more -- sort of like people do now with NextCloud and similar platforms.
Hi there,
i got a fresh installation 1008 of Citadel. If i create a new User, the User cant edit his contact information. After pressing "Save" Button, nothing happend. Whats the Problem ?
Thanks for your help.
Goose
I was wondering if the database backend has a plugin system for adding
similar expansion packs. If it doesn't, what would it take to add it?
I'm not sure I understand what you want to do. Are you looking to run Citadel Server with a database other than Berkeley DB? If so then yes, we have the framework in place to add more storage drivers. LMDB is what we had in mind for the future.
Or are you looking to have new types of applications running on top of Citadel?
If so, you might like to play around with the "views" framework that we use to determine what type of application runs inside each room (mailbox, forum, calendar, address book, wiki, etc). If you're serious about doing that it wouldn't be too much of an effort to get a pluggable type of thing going to add more -- sort of like people do now with NextCloud and similar platforms.
Thanks! I was thinking of a training video type of app view where a user could add access to a floor by subscription, watch a video from an embedded link in a read-only wiki view, advance to the next room when done watching, take a multiple-choice quiz generated from ready-made questions in random order with the answers listed in random order as well, be disallowed access to any additional rooms on that floor until they pass the quiz, read a caption from another room as read-only wiki text, mail feedback in to the grader through a mailbox view, interact with other students via chatroom under supervision of their instructor with multiple sessions going concurrently and so on. Obviously, a video link will need a browser or custom app like I'm already making, but the views framework sounds like what I was thinking of.
Also, my question about the user metadata was: storing quiz data, subscriptions to multiple floors, chat logs and subscription tiers within the user account records in the database. If the database framework can handle it, making views for polls and other types of interactions might be more practical. If it's not possible, it's not a deal breaker. I wouldn't expect all of the views described, to work in WebCit nor WebCitNG to handle this directly either, unless the views framework is extensible.
Server is running on RPi 3B+ with 256GB SSD drive connected via USB3 - SSD cable.
I thought the RasPi 3 series could only handle USB 2.0 as a maximum. RasPi 4 added a different USB controller chip for USB 3.0, I think.
Also, my question about the user metadata was: storing quiz data, subscriptions to multiple floors, chat logs and subscription tiers within the user account records in the database. If the database framework can handle it, making views for polls and other types of interactions might be more practical. If it's not possible, it's not a deal breaker. I wouldn't expect all of the views described, to work in WebCit nor WebCitNG to handle this directly either, unless the views framework is extensible.
Right, so this isn't unreasonable, and there was a time when we had envisioned "any application type" running on top of Citadel, sort of like Lotus Notes.
Writing directly into the database is not how you'd approach that. Basically you'd combine three functional areas of the Citadel system to do new applications:
1. The fundamental one is of course a room's View, which tells the system what type of application is running in the room. There are a few which are variants or compatible with each other; for example you could view some rooms as a Forum, a Mailbox, or a Blog. The "native view" is stored in the system and tells us how it was created and will appear to new users; the "account local view" tells us how the user prefers to view it. For example, a user might change the view of a room from a Forum to a Blog, but they wouldn't change it to (for example) a calendar or wiki, because they have different metadata.
In fact, take a look at how we do Wiki rooms for a great example of how to "write an application" on top of Citadel!
2. Custom MIME types. Just about everything gets stored on top of the message base. Anything that needs an "index" is done using the EUID of individual items stored in the message base. That's how we look up individual items like calendar events and Wiki topics without having to slow-scan the entire room.
Look at how we store the outbound SMTP queue for a great example of how we do that.
3. Application hooks. This is the most difficult to implement because it requires extending Citadel Server, but maybe we can plug in an extension language if you want to do a lot of them. Basically we have all sorts of things that can trigger application hooks, like saving a message (both before-save and after-save hooks), user login and logout, etc. If you need back end application logic, this is the way to do it.
I have an issue. Sometimes server just hangs. No errors in journalctl, systemctl shows that it is running, ps - no issues, no zombies. But I can't get or send email, webcit is not responding.
Are you using the Docker container or the Easy Install deployment?
Hi,
Easy Install on Rasbian. I dig down into logs and find that Citadel hangs when SpamAssassin is response slowly. SpamD is working as I can connect via spamc, but it is really slow. When I restart spamD it is working without issues and fast as it should. But Citadel remain hanging. Then I have to kick Citadel service and everything get back on tracks. Currently CRON reboots spamD everyday at midnight, it is working, but I this is not a solution.
Citadel and spamD are running 2 different RPis.
Answering previous question: cable/adapter is USB3, RPi has only USB2, but I mention that as sometimes USB2.0<->SATA interface is causing transfer speed issues. I have 5 RPis in my "server room" and I had such problems in the past (mainly related to cache read/write). Switching to USB3 adapters solved problems with SSD drives.
Have an absolutely great day :)
I have an issue. Sometimes server just hangs. No errors in journalctl, systemctl shows that it is running, ps - no issues, no zombies. But I can't get or send email, webcit is not responding.
Are you using the Docker container or the Easy Install deployment?
Right, so this isn't unreasonable, and there was a time when we had envisioned "any application type" running on top of Citadel, sort of like Lotus Notes.
3. Application hooks. This is the most difficult to implement because it requires extending Citadel Server, but maybe we can plug in an extension language if you want to do a lot of them. Basically we have all sorts of things that can trigger application hooks, like saving a message (both before-save and after-save hooks), user login and logout, etc. If you need back end application logic, this is the way to do it.
I'll probably have to do this but I'll definitely be keeping in contact before pushing merge requests. My first modification will likely involve external POSIX filters to allow encryption and compression to be maintained as external to the Citadel framework. The most obvious usage would be using XZ compression and PGP encryption. I plan on keeping them external in case of license incompatibility of future add-on filters for stronger encryption and compression algorithms but we can discuss that later.
The basic idea will be to use streamed data filters piped end-to-end to send the data out and receive it back over the 'net. Since tarballs are always formed by piping Tar streams through filters, this shouldn't be too difficult for a POSIX based server. I assume there is a global hook that can be piped into and out of for such an application. I may outgrow my little Cubox i4Pro server before too long though. ;-)
Adding hook types is reasonable as they are generalized so we can use them for lots of different applications. It would probably also make sense to have them run either in an interpreted language or as a callout to a separate binary so that individual applications don't have to be directly compiled in to the server. Think of it in terms of a plugin pack that would both extend both the front and back end components of the system.
If you want to get into details, when you're ready, let's discuss it in the development room.
If you want to get into details, when you're ready, let's discuss it in the development room.
Ok. Sounds good. When I get that far, I will.