Quantcast
Channel: Discourse Meta - Latest topics
Viewing all 60707 articles
Browse latest View live

Support contextualisation of posts/topic replies when split out into a new topic

$
0
0

@barryvan wrote:

If you create a new topic by splitting out an "in-reply-to" post, the new topic shows the "in reply to" indicator at the top, and allows you to click on it. Unfortunately, though, clicking on it does nothing; a query is sent off to the server and an empty response comes back.

It'd be great to be able to contextualise topics which are created in this fashion; it's not always desirable to take the parent across into a new topic, as it may be broader in its scope than the reply.

Posts: 3

Participants: 3

Read full topic


Is it possible to give administrative permissions to a specific group within a single sub?

$
0
0

@Albert_Dao wrote:

For example, I'd like to create a sub called "cool dudes" and a group called "super bros". Within sub "cool dudes", all "super bros" have full admin powers, but nowhere else.

Can we do this? :smiley:

Posts: 2

Participants: 2

Read full topic

Request to join Swedish reviewers

$
0
0

@victoria wrote:

Hello!

I have been working on translating into Swedish for a while now and we've come a long way. There have previously been some discussions about key words like topic, and most of the reviewed strings contain older translations. Granted the reviewed strings are not very many, they are still visible on the forum. I would like to be granted reviewer status so I could update these.

Posts: 2

Participants: 2

Read full topic

S3 upload problems, pdf, docs uploading nerer ends, but can upload images

$
0
0

@flyabroad wrote:

When I try to upload other files, the 100%, Uploading... never ends.

This is the log:

Job exception: The request signature we calculated does not match the signature you provided. Check your key and signing method.

But I can upload image to S3.

My Police:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": "*"
    }
  ]
}

The forum site: http://bbs.fcgvisa.com/

Posts: 1

Participants: 1

Read full topic

How to place image between topic-footer-buttons and suggested-topics?

Notification email query

$
0
0

@jace1 wrote:

Hi guys,

We're on the one-time install package and having difficulty setting up notification email. Currently receiving the following error under 'Skipped' tab:

[Sender] 554 The domain is unverified and requires DNS configuration. Log in to your control panel to view required DNS records.

Is there a Laymans guide to setting the email SPF, DKIM and reverse PTR records set (for a non-tech guy!)

Appreciate any guidance.

Posts: 3

Participants: 2

Read full topic

'Approximately equals' HTML character bug

$
0
0

@glynhudson wrote:

Trying to use ≈ to donate the approximately equals sign results in the post preview pane rendering the symbol correctly but when posted HTML character is not correctly interpreted.

Tested on Opera and Chrome Version 52.0.2743.82 (64-bit)

See preview pane on the right is correct:

Posts: 1

Participants: 1

Read full topic

How to configure Gmail in discourse SMTP?

$
0
0

@atul_sharma wrote:

How to configure Gmail in discourse SMTP ?

I am using hostgator email services but they have authentication enabled, emails are not going..

Posts: 5

Participants: 2

Read full topic


Anyone used Email account from Hostgator?

$
0
0

@atul_sharma wrote:

I tried hostgator email services but not working..

Hostname for your Discourse? [discourse.example.com]:
Email address for admin account? [me@example.com]:
SMTP server address? [smtp.example.com]:
SMTP user name? [postmaster@discourse.example.com]:
SMTP port [587]:
SMTP password? []:

Posts: 1

Participants: 1

Read full topic

Accessing/editing HTML for GA

$
0
0

@Scott_Grigor wrote:

To set up Google analytics, I need to update an existing line of JS - ga('send , 'pageview');

Is there to access the HTML and be able to edit this line?

Posts: 2

Participants: 2

Read full topic

My images not showing on server

Tags Don't have canonical urls

$
0
0

@Vikas_Dangi wrote:

I have enabled tags in my forum and added some tags to my threads. Now when I checked the tags in google search they are showing like this example.com/tags/tag?page=1. I tired to check canonical url of tags but they don't have, that's why they are misunderstood by google bot. So discourse have canonical url for categories then why don't have for tags.

Sorry for my bad english

Posts: 4

Participants: 2

Read full topic

Topic progress indicator, one version for all viewport widths

$
0
0

@e_division wrote:

Hi! Noticed that the topic progress indicator got a big revamp on the new version of Discourse and was wondering if there was an easy way to revert to having the bottom widget version, only, for all viewport widths. We have a design problem where the right hand gutter was removed and would like to have the bottom widget still present on the desktop version but can't find a straightforward way to get it to show. Thanks for any help!

Posts: 7

Participants: 4

Read full topic

Zendesk integration discourse

$
0
0

@Savannah_Dowling wrote:

Hello,

I am looking into downloading Discourse for my company. I have a couple of questions about the zendesk plugin (I have seen the other discussions about this).

Is this plugin just discourse--> zendesk? Can customer service agents update the ticket/reply to the ticket on zendesk and have it generate a post on discourse (is that something i would have to create on zendesk?)? If no, are users expected to view the ticket on zendesk for the reply? Further, are all replies under a topic that has been sent to zendesk as a ticket generated into tickets? these might be very dumb questions, I apologize if they are.

I am not a developer, obviously, and not super tech savvy, but this is definitely something that we would want to have in our discourse community.

Posts: 1

Participants: 1

Read full topic

Apply "mailing list mode" per category

$
0
0

@rhyolight wrote:

I have multiple users who want to treat some categories within Discourse as "mailing lists" meaning they want emails for ALL activity within these categories. But they only want emails outside these categories under certain conditions ("Send me an email when someone quotes me, replies to my post, mentions my @username, or invites me to a topic").

Our forums have user sections and developer sections. We would use this so developers can always get emails notifications for "developer" categories, but are only bothered with "user" emails if they are specifically called out.

This is similar to a previous feature request I made, but coming at it from a different angle.

EDIT: I also want to note that I migrated several mailing lists from Mailman into one Discourse instance. I think this could be a common migration, so having this feature might bring new users, especially from OS communities who tend to have a handful of mailing lists they want to simplify.

Posts: 5

Participants: 3

Read full topic


Broken Image Links until Reupload

$
0
0

@joe.t wrote:

Some of our users are running into issues with broken image links when they are creating new posts (example). The problem seems to be resolved by re-uploading them. The user in this example has 8 image he is trying to upload with his post. When he re-uploaded them in 2 batches instead of 1, he didn't run into any issues.

first upload (broken image link):
<img src="/uploads/jibo/original/1X/8538aef6aa09344fb4310c702d84d3b976b68806.png" width="400" height="290">

second upload (working image link):
<img src="/uploads/jibo/original/1X/d5c46d6bef8735b26dae378de33e729df58d37ed.png" width="400" height="290">

Is this related to CDN issues other users were seeing with broken images? Or is it due to the number and size of images being uploaded?

Posts: 3

Participants: 2

Read full topic

User gets digest, but no other emails

$
0
0

@sjmscott wrote:

I have a user that receives digest emails, but he isn't getting emails for watched topics or when he is mentioned. My logs (discourse, mailgun) say they are going out.

He has checked "Send me email notifications even when I am active on the site"
He is a gmail user and he checked his junk mail folder. Nothing.
He is using the correct email address (again, he is getting digests)

Can anyone brainstorm a potential solution? I have verified all of this via a google hangout. No one else has reported a problem. Has anyone ever encountered this?

Posts: 3

Participants: 2

Read full topic

Sort User List By User Activity

E-mail Reject Attachment Template or add note to topic indicating [attachment rejected %reason_for_rejection]

$
0
0

@RChesley wrote:

First post so please help if this is the wrong place to create the topic.

I asked @codinghorror and @erlend_sh quite a few questions before I set up a first Discourse installation to support Mailing List Mode and E-mail-In and Reply By E-mail. Thank you!

I have E-mail-In and Reply by E-mail enabled and have been testing the Mailing List Mode. The tests show two cases where there is no rejection notice when an e-mail is sent to Discourse. The behavior is for the topic text to appear in the forum without the attachment and without any error or notification that part of the contents were dropped or a reply sent by e-mail to the sender.

I think most folks would expect either a reply rejection if the inbound message does not meet the discourse community settings concerning either or both file attachment size or file type/extension, or an appended error in the forum that shows the attachment was dropped and an explanation.

I started looking at the error responses under /admin/customize/email_templates and it gave me the idea that it might be possible to add another template and reject e-mails with Attachment size/extension issues.

:question: Is it possible to add a new template such as: E-mail Reject Attachment template?

:question: How hard would it be to enhance the current e-mail parsing to append an error message to the text that acknowledges a file attachment was rejected due to invalid file type or exceeded max message size?

If I need to sell this option, I think either solution would inform the user of the issue and acknowledge what happened rather than leave them wondering if they forgot to attach a file or conclude file attachments are not working.

Ideally, I would like the user's e-mail to generate the topic and include acknowledgement that the attachment was dropped with a specific reason, and to also have a notice sent back to indicate the attachment was dropped and include a link to the topic along with the indication of allowed file types and sizes in a template. Some users might resize the attachment(s) or edit to reference the attachment using a hyperlink.

Posts: 3

Participants: 2

Read full topic

Discourse SSO in Nginx

$
0
0

@Falco wrote:

If you are using Nginx (or the awesome OpenResty) to handle you user authentication, you can handle the Discourse SSO on the Nginx too!

This assumes you are using the ideas on this article to handle authentication:

https://www.stavros.io/posts/writing-an-nginx-authentication-module-in-lua/

The following code implements the Discourse SSO protocol in Lua, and even sets custom fields and the user birthday date for the cakeday plugin:

-- First we inline this PR https://github.com/openresty/lua-resty-string/pull/18
-- You can remove this after @agentzh merges this patch by @ddragosd


-- Adds HMAC support to Lua with multiple algorithms, via OpenSSL and FFI
--
-- Author: ddragosd@gmail.com
-- Date: 16/05/14
--

local ffi = require "ffi"
local ffi_new = ffi.new
local ffi_str = ffi.string
local C = ffi.C
local resty_string = require "resty.string"
local setmetatable = setmetatable
local error = error


local _M = { _VERSION = '0.09' }


local mt = { __index = _M }

--
-- EVP_MD is defined in openssl/evp.h
-- HMAC is defined in openssl/hmac.h
--
ffi.cdef[[
typedef struct env_md_st EVP_MD;
typedef struct env_md_ctx_st EVP_MD_CTX;
unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
            const unsigned char *d, size_t n, unsigned char *md,
            unsigned int *md_len);
const EVP_MD *EVP_sha1(void);
const EVP_MD *EVP_sha224(void);
const EVP_MD *EVP_sha256(void);
const EVP_MD *EVP_sha384(void);
const EVP_MD *EVP_sha512(void);
]]

-- table definind the available algorithms and the length of each digest
-- for more information @see: http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
local available_algorithms = {
    sha1   = { alg = C.EVP_sha1(),   length = 160/8  },
    sha224 = { alg = C.EVP_sha224(), length = 224/8  },
    sha256 = { alg = C.EVP_sha256(), length = 256/8  },
    sha384 = { alg = C.EVP_sha384(), length = 384/8  },
    sha512 = { alg = C.EVP_sha512(), length = 512/8  }
}

-- 64 is the max lenght and it covers up to sha512 algorithm
local digest_len = ffi_new("int[?]", 64)
local buf = ffi_new("char[?]", 64)


function _M.new(self)
    return setmetatable({}, mt)
end

local function getDigestAlgorithm(dtype)
    local md_name = available_algorithms[dtype]
    if ( md_name == nil ) then
        error("attempt to use unknown algorithm: '" .. dtype ..
                "'.\n Available algorithms are: sha1,sha224,sha256,sha384,sha512")
    end
    return md_name.alg, md_name.length
end

---
-- Returns the HMAC digest. The hashing algorithm is defined by the dtype parameter.
-- The optional raw flag, defaulted to false, is a boolean indicating whether the output should be a direct binary
-- equivalent of the HMAC or formatted as a hexadecimal string (the default)
--
-- @param self
-- @param dtype The hashing algorithm to use is specified by dtype
-- @param key The secret
-- @param msg The message to be signed
-- @param raw When true, it returns the binary format, else, the hex format is returned
--
function _M.digest(self, dtype, key, msg, raw)
    local evp_md, digest_length_int = getDigestAlgorithm(dtype)
    if key == nil or msg == nil then
        error("attempt to digest with a null key or message")
    end

    C.HMAC(evp_md, key, #key, msg, #msg, buf, digest_len)

if raw == true then
    return ffi_str(buf,digest_length_int)
end

return resty_string.to_hex(ffi_str(buf,digest_length_int))
end

-- End of HMAC-SHA256

-- Here we start the integration

-- We assume you already have global variables with your user identification!
-- Here the user_id if avaliable on the auth_user nginx global variable set by a access_by_lua directive
-- For a how to read https://www.stavros.io/posts/writing-an-nginx-authentication-module-in-lua/
-- We are going to get more user info on a public api and implement the Discourse SSO protocol

cjson = require "cjson"
base64 = require "base64"

secret = "discoursessopassword" -- This one must match your discourse config
local args = ngx.req.get_uri_args()

local payload_raw = args["sso"]
local payload_unescaped = ngx.unescape_uri(payload_raw)
payload_decoded = base64.decode(payload_unescaped)

if args["sig"] == _M.digest(nil, "sha256", secret, payload_unescaped) then
    -- Signature matches

    local auth = ngx.location.capture("/user_details_api_endpoint?username="..ngx.var.auth_user)
local user = cjson.decode(auth.body)

-- Example of the response from the api
--local user = cjson.decode("{\"start\": 1435952130436, \"elapsed\": 0, \"data\": [{\"user_id\":\"321654\",\"user_full_name\":\"RAFAEL DOS SANTOS SILVA\",\"user_position\":\"Senior Enginner\",\"birthday\":\"1987-07-13\",\"email\":\"rafael.silva@example.com\"}]}")

local user_id = user["data"][1]["user_id"]
local user_full_name = user["data"][1]["user_full_name"]
local email = user["data"][1]["email"]
local avatar = "https://example.com/avatar/"..user_id
local user_location = user["data"][1]["user_location"]
local user_position = user["data"][1]["user_position"]
local birthday = user["data"][1]["birthday"]


local response_payload = payload_decoded.."&username="..user_id.."&email="..email.."&external_id="..user_id.."&name="..user_full_name.."&custom.user_field_1="..user_location.."&custom.user_field_2="..user_position.."&custom.date_of_birth="..birthday
local response_payload_encoded = ngx.encode_base64(response_payload)
local response_payload_escaped = ngx.escape_uri(response_payload_encoded)
local response_signature = _M.digest(nil, "sha256", secret, response_payload_encoded)
ngx.redirect("https://forum.example.com/session/sso_login?sso="..response_payload_escaped.."&sig="..response_signature)
else
    -- Signature mismatch
    ngx.exit(403)
end

Then you create a location block like the following:

   location /sso-forum {
          access_by_lua_file       "lua/auth/access.lua"; # This file contains the code with authentication like on the stavros post and sets nginx.var.auth_user
          content_by_lua_file      "lua/discourse/sso.lua"; # This file contains the code on this post
    }

Hope it helps someone!

Posts: 1

Participants: 1

Read full topic

Viewing all 60707 articles
Browse latest View live




Latest Images