Discourse + Plone Integrations

Are there any plugins for Plone or Discourse that does the following?

1. Publish weekly content updates from Plone to Discourse

I've read a series of posts, which includes Ideas for Google Summer Of Code 2017 and more

If there aren't any plugins for this, we can pull it off two ways:

  • Build a plugin, which uses content rules or celery to send weekly emails to Discourse. Development efforts = build an addon for Plone and enable email to the server feature on Discourse.
  • Build addons for both Discourse and Plone, which uses content rules or celery to send weekly data to Discourse via incoming webhooks.
  • Integration: use MailChimp to send automated Weekly RSS emails to Discourse. Development efforts: enable email to the server feature on Discourse.

2. SSO or OAuth login between Plone and Discourse

I've read a series of posts, which include Single-Sign-On & Current Plone affair?, Plone 5 SSO with AD and so forth. Therefore, I'm aware of saml2 and other plugins, but as mentioned in the previous post, the setup isn't easy and the UI isn't user friendly.

Is there any update on this topic, especially to allow SSO between Plone and Discourse?

3. Get statistical data from Discourse, which can use in Plone as a Moasic tile or portlet item

Discourse has an API, which we can use if a plugin doesn't exist.

4. Include Discourse search results in Plone search results

Castle CMS can do this out of the box, at least for public content through its web crawler and search engine feature. In fact, I've been struggling with the decision of switching over to Castle, which I think @tkimnguyen is aware of. Castle has tonnes of features, which I want to utilize in the majority of the Plone projects I'm working on, especially Jamaican Developers Community website. I think the direction that Castle aiming aligns with my vision for Jamaican Developers Community website, but I'm unaware of Castle's roadmap and afraid of losing features and updates of current and feature releases of Plone. Castle is running on Plone 5.0.8.

The other option is to build out the features of Castle in Plone, which I think @tkimnguyen is also interested in. However, it will take a while, and I don't know the level of support we would get to cutting those features over to Plone.

5. Perform basic management task from Plone.

Example:

  • Topic management (pin, upvote, etc)
  • User management (block, active, invite, etc)

In wrapping up, is there any addon that provides any other of the mentioned features and integrations with Discourse?

So what's the objective of all these features?

  1. Provide an interconnected service using various services and applications to reduce the need of having multiple accounts and multiple websites that aren't referred to each other.
  2. Better content quality and SEO standing via self referencable cross-platform content
  3. Reduce the disconnect between applications and services companies have, which in turn help their customers to be aware of related content and services.
  4. Applications, documentation, help and support websites are streamlined as one service and content management system

Example, Jamaican Developers Community website is a full automated marketing tool for tech-related events, jobs, news initiatives and other resources that automatically curates, aggregates and distributes content from other websites and itself to multiple social media pages and newsletters. As a result, when someone searches for a topic, it should show all the related content from the various websites, which includes our own sites.

I will create another post with all the addons I've been developing and want to develop for Plone or Castle CMS. I promise not to make it as long as this post.

I also think the objectives below is a great opportunity for Plone.org, the community forum and Plone.com to work in unison...

Could collective.ifttt help with this?

Fulvio and I tried to use Discourse's inbound email to create new topics from Stack Overflow but were unable to get it to work.

Doesn't using OAuth for Plone and Discourse do the equivalent? We use it for plone.org and one of the authentication options for this forum.

I can count on, uh, no fingers the number of times people have asked for this feature :slight_smile: I've shown this feature many times and people think it's cool, but they never actually have a need for this. Congratulations for being the first! :slight_smile:

The code is there... steal it.

This seems unnecessarily complex. If you have SSO or common OAuth logins, why not use each tool's UI?

Recently we build an SSO integration for Volto and Discourse. So SSO is possible but it is far from trivial. I guess we could ask our client if they would be willing to open source this. Though, you are looking for a classic Plone integration, right?

Yes, but collective.ifttt is triggered per content action instead of scheduling the curation of all related content that should be sent out. Think of it as a newsletter but instead, it is sent to discourse. Use some form of scheduling (celery + redis) to utilize the power of the Collection content type to get all related content is what I'm gearing towards. Using Collection as the content driver, it allows multiple use cases.

At the moment, I'm using Mail chimp with Discourse inbound email for new topics... However, I'm running my own Mail Server using Mailu docker image and Discourse server. I'm using Mailu to create unlimited email boxes and email aliases. In addition, each member of JaD gets an email alias, e.g. oshane@jamaicans.dev, to anonymized their personal email address, while still providing a public email address to be contacted through.

I want to eventually stop using MailChimp and use something like Products.EasyNewsletter, but to update that plugin, it is not worth it. Plus, MailChimp is great and it is geared towards newsletter....

Reference

Mailu is a simple yet full-featured mail server as a set of Docker images. It is free software (both as in free beer and as in free speech), open to suggestions and external contributions. The project aims at providing people with an easy setup, easily maintained and full-featured mail server while not shipping proprietary software nor unrelated features often found in popular groupware.

Main features include:

  • Standard email server , IMAP and IMAP+, SMTP and Submission
  • Advanced email features , aliases, domain aliases, custom routing
  • Web access , multiple Webmails and administration interface
  • User features , aliases, auto-reply, auto-forward, fetched accounts
  • Admin features , global admins, announcements, per-domain delegation, quotas
  • Security , enforced TLS, Letsencrypt!, outgoing DKIM, anti-virus scanner
  • Antispam , auto-learn, greylisting, DMARC and SPF
  • Freedom , all FOSS components, no tracker included

Yes and no. OAuth provides the utilization of logging into a web application using another service (web app) account, but it doesn't provides shared session accross multiple web application. SSO for instnace.... when you sign into any Google app you are signed into all of Google apps, Youtube, etc because the session is shared accross multiple service.

In short, you can use:

  • OAuth to sign into a single webiste
  • OAuth with SSO to sign into all website that uses the SSO session managment

My aim is to have a centralized authority for SSO for Jamaican based applications, whereby, someone can log into any Jamaican based website, which uses OAuth and SSO to skip the user registration and validation process since all the user information, especially their government ID, will be in a central location, which the web application can request permission to access to help the web application to easily validating users to actually having a validation process. Of course, this will help the user to quick do their business on the website then exit or go to another website.

The level of orchestration and security for this has to be very high... It's a very interesting solution to tackle on and testing ithe approach using Plone and discourse.

The thing is, Castle has soo many features that should have been in Plone, even if it is just an addon. The Castle's mosaic far surpasses Plone's mosaic. I remember when you demoed it during one of the training, I fell in love. I'm not easily impressed and Castle took the cake. The simplicity, cleanness and intuitiveness with all the Google My Business, S3 buckets, security, UI design and notification searches are breathtaking for an out-of-the-box application. Design and content creation aspect is like Elementor on Plone without any the sluggishness and security risks.

However, the technical debt of decoupling Castle to make its features to Plone is something I can't afford due to commitments to my workplace... Switching over seems like the best option, but I tend to prefer to stick with vanilla or classic versions of CMS and frameworks to ensure that I can get latest features and security patches without having to wait on the wrapper to upgrade.

Due to this preference of sticking with vanilla software, I've not used Volto on any projects, but I've been keeping an eye on it. Volto uses react, I prefer vanilla/classic js. JavaScript has reached the point where it doesn't need any libraries or framework to build intuitive, interactive and responsive applications. So, for me, I might stick with classic Plone for Plone 6. However, I am interested in trying Volto, especially if we could use it for authorizing OAuth and SSO sessions. I really like the direction and I commend you for taking on such a task.

Well, I agree... I tend to like when i have a centralized control panrel for all services that use.

Note, I'm the Docker Community Leader for Jamaica, so at times, I do presentation with local and overseas companies. I had demo how I was using the Docker, Robot Framework, Plone, Discourse, Slack, Gitlab, Telegram,and other services to leveraging the resources I have to maximize on outreach and conversions.... all of which is control by a self-manage and automated instance of Plone, in others AI + Plone.
Of course, after the presentation, everyone was impressed especially the overseas companies, in the sense that Jamaicans are maximizing on tools they are using... However, I was told there tool many overkills...
The point of all of that is I do a lot of overkills. I prefer a one-stop-shop for everything.

Thought I’d put in a plug for a solution I’m using for my family’s email server. It was really painless to set up and the configuration walk-through is really good, including the DKIM anti-spam email setup.

The one caveat, which has nothing to do with Mail in a Box: if you use Cloudflare as a domain name registrar (which I’d recommend because it is inexpensive and probably more trustworthy than, say, GoDaddy), the DKIM setup will not work with Cloudflare because its DNS, ironically, is not flexible enough for you to set the correct values.

True, so maybe you should schedule a job that looks at the newsfeeds

This is an old refrain (of which I’m guilty too). The open source response is: do it, or get someone else to do it for you :slight_smile:

Same with Mailu. They actually generate the docker-compose file for u so all u need is to run docker-compose up. Of course, one should edit .env file. It takes 20mins to everything, which includes DKIM anti-spam email.

I think I might just seek some funding and pay someone to do it... but I'm really impressed with Castle CMS and Volto.

Plone Foundation Code of Conduct