2013-06-19 2 views
1

현재 자체 작성 문제 추적 시스템에서 Redmine으로 마이그레이션하는 중입니다. 가장 오래된 형식을 지원하기 위해 이전 시스템의 형식을 플러그인을 통해 텍스트 형식으로 추가했습니다. 우리는 오래된 시스템 1 : 1에서 새 시스템으로 데이터를 마이그레이션하는 레이크 작업을 작성했습니다 (일명 포맷을 섬유로 변경하지 않음).Redmine 문제는 게시물 처리로 필터링됩니다.

마이그레이션 한 후 문제를 살펴보면 플러그인이 제대로 작동하는 것 같습니다. HTML은 이전 시스템에서 본 것처럼 거의 정확하게 표시됩니다.

그러나 문제에 대한 링크로 해시 (#\d+) 이후의 숫자 서식 지정과 같이 특정 기능이 여전히 삽입되는 후 처리 단계가 있어야합니다. 우리는 텍스트 서식 지정 플러그인이 그렇게하지 않는다는 것을 알고 있습니다.

우리를 괴롭히는 이유는이 후 처리 단계가 특정 HTML 요소를 제거하는 것입니다. 예를 들어, 테이블은 완전히 사라집니다. 파서가 분명히 표를 출력했지만 <table>이나 <td><tr>도 Redmine이 출력하는 내용에서 찾을 수 없습니다.

우리는 ALLOWED_TAGS 기능으로 놀았지만 언급 된 HTML 태그를 허용해도 태그 제거가 변경되지 않습니다. 이것에 대한

3 질문 :

  • 이 어딘가에 구성 할 수 있습니까?
  • 이 후 처리 단계의 출처는 어디서 찾을 수 있습니까?
  • 어디서나 언급되는 설명서가 있습니까?

답변

0

좋아요, 알았어.

출력은 Redmine의 내부 구성 요소로 분석됩니다. 지금

text_formatting: 
    default: textile 

마지막 장소 :

RULES = [:textile, :block_markdown_rule, :inline_auto_link, :inline_auto_mailto] 
사실이이 settings.yml에 정의되어

: lib/wiki_formatting/textile/formatter.rb 서식 규칙으로 정의됩니다에 첫 번째 스탠드입니다. Redmine에 표시된 모든 텍스트를 감싸는 방법. 파일 : application_controller.rb 방법 def textilizable

라인 당신은 어떤 장소를 조정할 수 text = Redmine::WikiFormatting.to_html(Setting.text_formatting, text, :object => obj, :attribute => attr)

강제 서식을 제거합니다. Redmine "magic"을 완전히 없애고 싶다면 마지막으로 수정하십시오. 그렇지 않은 경우 - 규칙을 수정하십시오.

+0

글쎄, 플러그인은 다소 프라이빗이지만 일부 다른 태그 유형과 함께 위키 미디어 포맷의 일부만 사용하고 HTML을 출력하므로 특별한 것은 없습니다. – 0xCAFEBABE

+0

오해가 있었을 수 있습니다. 제가 언급 한 문제는 새로운 Redmine 시스템을 사용하여 절대로 저장되지 않았습니다. 방금 이전 시스템에서 변환 했으므로 이제는 새 시스템에서 포맷팅 권한을 얻으려고합니다. 그것은 우리가 테이블이 빠져있는 것을 볼 수있는 곳이고, 텍스트와 같은 # 123은 이슈에 대한 링크로 대체됩니다. 우리가 가정 한 것은 구성된 텍스트 포맷팅 플러그인이 문제를 해결하고 브라우저에 표시되기 전에 사후 처리입니다. – 0xCAFEBABE

+0

수정 된 장소의 예를 들어 편집 된 답변. – Noma4i