Preheat a grill to medium-high heat.
Brush the tomatoes and eggplant with olive oil and sprinkle with salt and pepper. Grill the eggplant until golden brown and cooked through, about 4 minutes each side. Grill the tomatoes until charred all over, about 8 minutes. Remove the eggplant and tomatoes from the heat and cut into dice.
Heat 2 tablespoons of the canola oil in a large saute pan. Add the celery and onions and cook until soft, about 5 minutes. Add the eggplant and tomatoes and cook for 3 minutes. Add the olives, vinegar, raisins, capers, sugar, chile flakes, a big splash olive oil, salt and pepper. Bring to a simmer. Cook, uncovered, stirring occasionally, about 10 minutes. Remove the pan from the heat and stir in the basil and parsley and sprinkle with salt and pepper. Transfer the caponata to a bowl and keep at room temperature for at least 30 minutes before serving. The caponata can be made 1 day in advance, covered and refrigerated. Bring the caponata to room temperature before serving.
Meanwhile, grill the bread on both sides until slightly charred, about 30 seconds each side. Remove the bread from the grill and drizzle with olive oil and sprinkle with salt and pepper. Top each slice of bread with some of the caponata and sprinkle with the ricotta salata. Drizzle the top of each slice of bread with more olive oil and scatter basil on top.