Subject: Re: Citadel Protocol binding for Dart Native?
If I have to recode the bindings in Dart, I will do so. I'm fluent
enough in C that I can translate the existing code easily. It's not a
hard requirement that I use the C code via FFI.
In case you haven't reached it yet, the protocol specification is at https://www.citadel.org/protocol.html so you don't need to reverse engineer what's already there. If you're going to do a new implementation you might not want to bother wrapping every command like the existing implementation did. It's enough to have something like CtdlIPCGenericCommand() and run everything through that.
Hi,
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.
I don't see any specific upgrade instructions, but I do see instructions for migrating from one server to another here: https://www.citadel.org/how_do_i_move_citadel_to_another_host.html
Can I just follow these steps from that page?
- Shut down Citadel
- Export database
- Remove Citadel - specific to upgrading on same server
- Run easy install again with latest version
- Import exported database
- Start up citadel
- Test and Tune
cheers!
Subject: Room "Alternative public emailaddresses pointing to this room"not work
Hi,
I have an issue with room configuration.
I've created a room. In Advanced => Edit or delete .... => Mailing list service I defined alternative email address for this room.
Now, when I send email to the address room_roomname@mydomain.com it works without issues.
But when I try to use email configured as alternative I get message that receipient is unknows. It doesn't matter do I send email from my Citadel or from GMail. It just doesn't work.
What did I missed?
Kind regards,
Wojtek
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: how to add languages to webcit?
I have a fair number of users in DE and FR who would like the interface
to be in their native language.
We already have translations in both of those languages. Are they not appearing on your system?
It's possible that there is a build issue and/or something happened to prevent that from working. We have translations in many languages.
Hi,
In my instance of WebCit I have only en_US and en_GB. Other languages are not available. How to "enable" them?
Kind regards
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.