Как получить Confluence для отображения результата {sql-запроса}, который содержит вики-разметку - PullRequest
1 голос
/ 08 февраля 2012

У меня есть следующее в Слиянии:

{panel}
Hello World 1
{panel}

{sql-query:datasource=DS|output=wiki|table=false|macros=true}
select '\{panel\}\\' from dual
{sql-query}

{sql-query:datasource=DS|output=wiki|table=false|macros=true}
select 'Hello World 2\\' from dual
{sql-query}

{sql-query:datasource=DS|output=wiki|table=false|macros=true}
select '\{panel\}' from dual
{sql-query}

Первая панель (Hello World 1) отображается правильно. Второй панели (Hello World 2) нет. Смотрите вывод ниже.

Confluence output

Как получить Confluence для оценки вики-разметки в данных, возвращаемых из SQL?

Я попытался заключить все в макрос запуска, например

{run:hideParameters=true|hideRun=true|autoRun=true}
...
{run}

но, похоже, это не имеет никакого эффекта.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

Немного потянув за волосы и частично благодаря информации, предоставленной в ответе @ Steffen, я нашел следующее решение:

{sql-query:datasource=DS|table=false|output=wiki}
select macroline from
(
    select 10 as seq, '{panel}' as macroline from dual
    union
    select 20 as seq, 'Hello World 2' as macroline from dual
    union
    select 30 as seq, '{panel}' as macroline from dual
)
order by seq
{sql-query}

Немного мучительно строить все это в одном запросе, но это дает желаемый результат.

1 голос
/ 08 февраля 2012

Боюсь, что это не поддерживается плагином Confluence SQL , как и предполагалось:

A Макрос Confluence является более или менее автономной единицей (это немного упрощено, но должно проиллюстрировать проблему под рукой).Вы правильно запрашиваете макрос {sql-query} для оценки других реализованных макросов с помощью параметра macros=true, который может работать только для макросов с одним тегом (например, Cheese Macro ) или завершите макросы 'двойного тега' (т. е. макросы, которые в свою очередь требуют встроенного содержимого, например Panel Macro , который вы пытаетесь вставить).

Подумайте об этом так:просим макрос {sql-query] визуализировать {panel}, в котором отсутствует обязательный закрывающий тег, поскольку все три макроса {sql-query] работают независимо и не взаимодействуют друг с другом для разрешения макросов.Как обычно, Confluence просто отображает тэг макроса в виде текста.

То, что вы хотите, может быть реализовано в принципе, но, вероятно, выходит за рамки возможностей использования, для которых {sql-query} был разработан в настоящее время.

...