For the BBQ sauce: Whisk together all the ingredients in a bowl, add to a saucepan, and cook over low heat for 5 to 6 minutes, or until the flavors have blended. Reserve.
For the black bean compote: Heat the oil in a saucepan over medium-high heat until on the verge of smoking. Add the onions and cook, stirring frequently, until the onions are slightly translucent, about 5 minutes. Reduce the heat to medium, add the peppers, tomatoes, beans, salt and pepper, to taste, and cook for 9 to 10 minutes. Remove from the heat, add the vinegar, parsley, and cilantro, stir well. Keep warm.
For the salmon: Preheat a gas or charcoal grill to medium-high heat. Coat the grill plates with oil to prevent sticking.
Season the salmon fillets with salt and pepper and grill for 7 to 8 minutes on the first side. Carefully flip the fillets over and continuing cooking for 5 to 6 minutes. Once cooked, remove and glaze with the BBQ sauce.
To serve, spoon the black bean compote onto the center of a plate and top with the glazed salmon.